专利名称:媒体播放器的制作方法
在便携式存储介质等上为内容主题提供版权以在移动设备上播放引起这样的问题感兴趣的人可以对内容进行非法复制,在没有得到版权所有者的同意或者没有支付费用的情况下进行分发。
已知可以将编码的音频和视频数据流送到移动(stream)设备上,以解码并在移动设备上播放。Sprint PCS Vision多媒体服务(SprintPCS Vision Multimedia Services)提供这样的服务。然而,如此提供具有版权的内容使得其易被感兴趣的第三方截获,即使使用GPRS和3G数据服务来传送。这样提供的内容也会被具有适当的技术能力的人录制成可以用于未授权地复制该内容的格式。
常规地,利用加密保护具有版权的内容。这样,只有具有正确的加密密钥的接收者可以解密内容,随后对其解码以正确播放。使用相对短的密钥可以获得较弱的保护。更强的保护需要使用更长的加密密钥。然而,解密对接收方造成了处理负担。在使用移动设备的情况下,解密会导致消耗大量的电量,因此缩短了电池放电到不足以使移动设备开机的级别的时间。为了解密同样多的内容数据,更强的加密需要更多的处理,因此恶化了问题。内容的加密不能防止具有适当技术能力和解密密钥的人将解密的内容录制成可用于未经授权地复制内容的格式。
因此,发明人看到,需要对内容提供保护,其对用于解密和播放内容的设备造成较小的负担。发明人还认识到,需要保护内容不被感兴趣的人对其进行未授权的复制。
根据本发明,提供一种用于解码内容数据的媒体播放器,该媒体播放器设置为使用额外数据的位置信息来标识形成内容数据一部分的多个内容块的每一个中的额外内容项,从所述位置去除所确定的额外数据,并在去除所述额外数据后解码所述内容数据。
这可以使得内容的播放仅限于经授权可播放该内容的媒体播放器。此外,授权可以针对特定内容项或者是对内容通用的。其他的有益方面将通过下面描述的实施例得到理解。
优选地,额外数据的位置信息通过与内容数据源独立的通道获得。这样可以进行控制,通过该控制,媒体播放器可以播放内容,因为额外数据的位置信息和内容数据分开。此外,播放内容的能力可以限于由为内容进行支付或者获得播放内容的许可的用户持有的媒体播放器。
此外,优选地,额外数据的每次出现都是数字指纹。这样,额外数据可以是在内容数据中非常难以识别甚至不能识别的,然而其可以由具有额外数据的位置信息的媒体播放器验证为额外数据。
有益地,媒体播放器用于确定形成授权码的一部分的数据是否包括对应所述数字指纹的数据,并且只响应于肯定确定来解码所述内容数据。这样可以对内容数据提供进一步的保护,因为只有在指纹的位置和指纹已知时,媒体播放器才会播放内容。这还有以下的另外益处,可以对不同的数字指纹使用单个额外数据位置模式。具体而言,内容可以被一个或多个具有额外数据的位置信息和指纹的媒体播放器播放,而禁止一个或多个具有额外数据的位置信息但不知道指纹的媒体播放器播放。授权码可以是媒体码。媒体码可以另外包括使得播放限于特定移动设备的信息,如其IMEI号码。
如果每个数字指纹包括对于数字指纹的每次出现都相同的数据序列,指纹的位置可以由媒体播放器基于解锁码或者其他方式验证,其他方式对于内容中存在各种不同指纹的对应系统包括较少的数据。
优选地,媒体播放器被设置为用于确定形成授权码或者所述授权码的一部分的数据是否包括对应所述媒体播放器的序列号的数据,并且只响应于肯定确定来解码所述内容数据。这使得可使用特定媒体播放器特有的授权码。因此,购买或者获得在其设备上播放内容的许可的用户获得的授权码不可以被其他媒体播放器使用,由此将内容播放限于单个媒体播放器。
有益地,媒体播放器用于从所述授权码获得所述额外数据位置信息。这使得媒体播放器从单个授权码获得其播放内容所需的所有或大部分信息,这对内容提供了实质性的保护,同时使得可通过相对简单的授权过程对媒体播放器播放内容进行授权。
媒体播放器可用于使用预编程信息来确定所述额外数据所在的内容块,并使用额外数据的位置信息来确定额外数据在这些内容块中的位置。这样可以进行有效的内容保护,同时在被授权时,用媒体播放器的相对简单的功能正确播放内容。实现这个所需的数据量可以相当小,使得授权在有限的通道上进行,如SMS。
以下将结合附图以举例的方式描述本发明的具体实施例,其中
图1是用来理解本发明的音视频内容提供装置的示意图;图2和3是说明图1的装置的操作步骤的流程图;图4是说明用于根据本发明在移动电话上播放转换的音视频内容的装置的示意图;图5示出了MMC卡和图4的移动电话的结合;图6和图7示出用于理解本发明的MMC硬件的替代实施例;图8是说明图4的移动电话和图6和图7的MMC卡之间的安全验证的流程图;图9示出了存储在MMC卡上的内容,其有利于理解本发明;图10A、10B、10C和10D示出了存储在图9的MMC卡上的内容块、其创建及其在根据本发明的媒体播放器中的应用;图11是根据本发明与媒体播放器一起操作的广播服务器组件的示意图;以及图12是根据本发明的操作的媒体播放器的组件的示意图;图13是终端通过该系统可以根据本发明获得内容的系统组件的示意图,并且包括根据发明的组件。
所有附图中,对类似的元件重新使用参考标号。
首先参考图1,其为内容提取转换装置10的图解。其中包括两个可选音视频内容源8和9。第一内容源8使用存储在DVD(数字视频或数字万能光盘)15上的电影数据。自动提取配置模块16检验DVD15上存储的元数据以确定DVD上存储的内容数据的配置。这包括应用tcprobe和分析从DVD15返回的信息。下文对此有更详细的描述。
结果是存储在提取配置存储区17的数据,其代表提取配置。存储在存储区17的提取配置数据由DVD解密和提取模块18使用以从DVD15提取电影数据(即内容数据)。结果是写入到中间格式电影数据区域14的中间格式的内容数据。中间格式电影数据区域14中的数据是一种预先确定的格式,并适于转换为一种可在移动电话(未示出)上复制的格式。优选地,中间格式是AVI。这种格式有高解析度的优势,且相对容易处理和转换成3GPP及其它数种适用于移动设备的格式。
第二音视频内容源9从电影数据存储区域12接受数据,其表示为AVI(音视频交替)或其它格式的电影数据。如此提供的电影被格式转换模块13转换格式后,再写入到中间格式电影数据区域14。
因此,音视频源8和9的任意一个都可用于为中间格式电影数据区域14提供电影数据。
移动格式转换模块19转换存储在提取电影数据区域14中的电影数据,并为移动格式电影数据区域20提供电影,该电影为适用于移动电话使用的格式。移动格式转换模块19使用数字版权管理(DRM)处理模块21,此DRM模块21可对得到的电影数据的访问和分发进行某种控制。由移动格式转换模块19所实行的转换使用编解码器(CODEC)22,优选地,此编解码器22是为此用途而定制的设计。很重要的是,由移动格式转换模块19所实行的转换使用存储在产品配置数据区域23中的信息。通过基于目标设备的配置的具体信息(因此该信息也是专用于目标设备的)来控制移动格式转换模块19,装置10可用来为潜在的任何大量目标移动设备提供电影数据。
下面参考图2详细描述由音视频源12所进行的提取过程。
在图2中,提取配置从步骤S1开始。其使用图1示出的自动提取配置16。提取配置开始于对DVD源15的分析。范例分析的结果,即对于查询的响应,如下所示(dvd_reader.c)mpeg2 pal 169 only letterboxed UO 720×576 video(dvd_reader.c)ac3 en drc 48kHz 6Ch(dvd_reader.c)ac3 de drc 48kHz 6Ch(dvd_reader.c)ac3 en drc 48kHz 2Ch
(dvd_reader.c)subtitle 00=<en>
(dvd_reader.c)subtitle 01=<de>
(dvd_reader.c)subtitle 02=<sv>
(dvd_reader.c)subtitle 03=<no>
(dvd_reader.c)subtitle 04=<da>
(dvd_reader.c)subtitle 05=<fi>
(dvd_reader.c)subtitle 06=<is>
(dvd_reader.c)subtitle 07=<en>
(dvd_reader.c)subtitle 08=<de>summary for/media/dvdrecorder/,(*)=not default,0=not detectedimport frame size-g720×576[720×576]aspect ratio16∶9(*)frame rate-f 25.000[25.000]frc=3audio track-a0
-e 48000,16,2[48000,16,2]-n0x2000
audio track-a1
-e 48000,16,2[48000,16,2]-n0x2000
audio track-a2
-e 48000,16,2[48000,16,2]-n0x2000
[tcprobe]V185950 frames,7438 sec@25.000FFfps[tcprobe]A116.22 MB@128 kbps[tcprobe]CD650MB|V533.8 MB@602.0 kbps[tcprobe]CD700MB| V583.8 MB@658.4 kbps[tcprobe]CD1300MB| V1183.8 MB@1335.1 kbps[tcprobe]CD1400MB| V1283.8 MB@1447.9 kbps这些信息是由作为代码转换程序的一部分的tcprobe返回的。S1中的部分提取配置过程包括确定目标设备的配置,其由存储在产品配置数据区域23中的信息所表示。因此,理解存储在其中的这些信息是有帮助的。
产品配置数据区域23中存储的信息数据确定目标设备显示的纵横比。大部分情况下纵横比为4∶3,但这个比例可能随设备不同而变化。某些设备会使用16∶9(宽屏幕)的纵横比,虽然实际使用中纵横比的值和传统电视的纵横比可能会不同。产品配置数据还确定所需的音频语言。它还确定了是否需要字幕。如果需要,产品的信息配置将确定所需字幕的语言。产品配置数据包括音视频轨道的比特率。比特率可能取决于目标设备的容量、目标设备上安装的特定媒体播放器或其它任何因素。产品配置数据还可以指明最大容量大小,例如指明一个MMC卡的可用存储空间。产品配置信息还包括电影数据即将存储的格式的指示。例如,存储格式可能为3GPP或MPEG-4,或其它任何合适的格式。
产品配置数据区域23中的信息还包括目标设备的类型。例如,它可能是即将复制电影的目标移动电话的型号。在某些情况下,相同的型号的两个不同的移动电话,可能在硬/软件的配置上有所不同。当可能存在不同配置时,并且这种情况可能关系到由装置10所进行的处理,那么产品配置数据区域23中所存储的信息优选地也包括硬/软件配置与标准配置的区别的详细资料,或仅指定具体配置。
自动提取配置模块16由tcprobe返回的信息(具体的是之前复制数据的第一行)确定DVD15只包含MPEG 2 PAL格式的宽屏(即16∶9纵横比)视频。模块16还分别通过第二和第四行确定有三条音轨。第一和第二条音轨各有6个声道和48kHz的采样率。第一和第二音轨由其标识”en”和”de”,分别确定为英语和德语。第三条音轨是英语,并且是48kHz采样率的立体声(双声道)信号。此模块还确定DVD15有8个使用不同语言的字幕轨道。模块16还确定了帧率、总帧数和电影长度。模块16使用返回信息的最后四行来确定从DVD16提取内容的比特率变化。
自动提取配置模块16的功能还包括获得解密密钥,在允许将DVD中的音视频内容进行复制时,这些密钥是必需的。
由自动提取配置模块16所确定的信息构成DVD15的配置。
基于产品配置数据区域23中的信息和DVD配置信息,自动提取配置模块16决定需要用到哪个音轨、哪个视频通道(如果有多于一个视频通道的话)以及哪个字幕轨道。通常,由该过程确定的字幕轨道,是与在产品配置数据区域23中确定的字幕语言相同的字幕列表中的第一个。同样的,由该过程确定的音轨,是与在产品配置数据区域23中确定的音轨为同一种语言的音轨,其也是最适合目标设备使用的。通常情况下,DolbyTMPro LogicTM音频通道是不合适的,因为大多数目标设备不会有能处理这种音频信号的配备。立体声音轨通常是最合适的音频轨道,尽管对于只有单声道的目标设备来说,单声道音轨才是最合适的。通常,由该过程选择的视频通道是主通道,即电影本身,而不是任何“附加部分”,比如预告片和幕后记录片或通常包含在DVD内的此类内容。对由该过程确定的音轨与通道进行确认的数据保存在提取配置数据区域17中。
在步骤S2中,存储在DVD15中的数据以流的方式读出。在图1中,这由DVD数据区域15的电影和DVD解密和提取模块18之间的箭头来表示。在该时刻,读出的只有内容,因为DVD解密和提取模块18不直接使用配置信息或元数据。同样,读出的只是相关内容。提取配置数据区域17确定相关视频通道、相关音频通道和任何相关字幕通道,而相关内容是由存储在提取配置数据区域17中的信息向DVD解密和提取模块18标示的。在步骤S3中,DVD解密和提取模块18对DVD数据流的相关部分进行解密。该解密使用代码转换程序和由自动提取配置模块16提取的密钥。解密是即时进行的,即从DVD 15中读出内容时的持续过程。数据在解密的同时被转换成中间格式,即AVI格式。在步骤S5中,电影数据作为单独或一系列中间格式的文件,写入提取电影数据缓冲器14。
在步骤S6中,进行提取后处理。这包括将出现在提取电影数据缓冲器14中的内容文件或多个文件分割或合并成组成部分。是否会有任何分割或合并及其程度,取决于在产品配置数据区域23中存储的目标设备配置信息。大多数情况下,这个步骤会包括将提取内容整齐地分割成多个卷。在许多情况下,由于移动电话的限制,以多卷的形式来提供电影内容是较好的。将DVD电影内容分割成对应于原始DVD15中的章节的多卷是一个相当直观的过程。步骤S6以后,电影数据的提取就结束了。
结果是存储在提取电影数据缓冲器14中的电影数据,该数据被编码成中间格式(如AVI格式),只包含一个音轨,其语言与存储在产品配置数据区域23内的产品配置信息所确定的语言相同,并且可选地包含一个所需语言的字幕轨道。通常提取出的电影数据被分成数个卷,虽然视乎目标设备的配置来讲,这点可能是不必要的。
除了使用DVD数据源15外,也可以使用其它电影数据存储区域12。这样,将格式转换到中间格式(如AVI)的工作将由格式转换模块13完成。只要采用DVD源15,那么第二内容源9就可被略去。如果包括其它电影数据存储区域12,那么格式转换模块13的形式为适合其它电影数据存储区域12所提供的特定内容的类型。存储在其它电影数据存储区域12中的每一种数据类型可能都需要一个单独的格式转换模块13。
图3所示过程开始于提取过程的结束。在步骤S1,读出提取文件。这是一个即时过程,用提取电影数据缓冲器14和移动格式转换模块19之间的箭头连接来表示。在步骤S2中,移动格式转换模块19将包含电影数据的内容进行解码。此步骤使用代码转换程序。在步骤S3中,解码后的内容再被编码成所需的移动格式,该格式由存储在产品配置数据区域23中的产品配置信息所确定。编码由编解码器22完成。编码工作将以这样一种方式进行,即使得音视频内容拥有最合适的比特率。移动格式转换模块19决定最合适的比特率。具体来说,移动格式转换模块19使用以下信息来决定最合适的比特率,即,视频数据中的视频帧数、音轨长度,以及存储在产品配置数据区域23中的最大容量信息。通常,在最大容量能容纳整个内容的情况下能够使用的最大比特率,就是最适合的音视频比特率。
通常,为音视频所选的比特率能够为音视频提供相当的质量,虽然,在考虑最大容量的情况下,如果移动格式电影数据给人更佳的播放感受,音频和视频比特率可以存在一些差异。例如,某个质量等级的音频和视频内容的数据大小超过最大容量的大小,但当质量等级下降时其数据大小又远远小于容量,这时移动格式转换模块19可以决定为视频内容采用更高比特率,而为音频内容采用较低比特率,以充分利用可用容量大小。
如果对于存储在产品配置数据区域23中的信息的检查发现,目标设备并没有为播放时采用与DVD源15相同的帧率而优化,那么这种情况由移动格式转换模块19处理。具体地说,移动格式转换模块19可能修改内容数据的帧率,以使其针对目标移动设备进行优化。通常,这会使得帧率降低,由于移动电话屏幕大小有限,其降低帧率的影响不会像全屏显示那样明显。如果源帧率不是最佳帧率的整数倍,那么当移动电话播放时,移动格式转换模块19可能使用帧交替以对生成的电影内容实现平滑效果。
因此,步骤S3中使用存储在产品配置数据区域23中的信息来控制移动格式转换模块19,以使用编解码器22将数据以合适的比特率,编码成合适的数据格式。
产品配置数据区域23可以根据目标设备进行更新,这在特殊的格式转换过程中是受关注的。这种情况下,产品配置数据区域23一次只存储一个目标设备的数据,并且此数据将随需要更改。或者,产品配置数据区域23还可以为多个目标设备的每一个设备存储一组数据,并且在一定时刻根据某个感兴趣的特定目标设备来选择一组数据。两种情况下,都可以很容易地控制装置10以执行格式转换过程,该过程针对多个目标设备配置中的每一个进行了优化。
在步骤S4中加入数字版权管理内容。这通过移动格式转换模块19使用DRM处理模块21来实现。步骤S4所实现的步骤取决于存储于产品配置数据区域23中的信息所确定的目标格式。加入的DRM内容的形式可能具体取决于编解码器22的形式。编解码器22的形式进而影响媒体播放器中编解码器的形式。具体而言,当编解码器22是自定义编解码器时,使用自定义的DRM形式。这里,可以选择DRM的形式来为自定义媒体播放器提供最佳操作。如果一个现有编解码器,如Real MediaTM,用于编解码器22,就将使用合适的DRM形式。
如果媒体播放器和目标设备允许,DRM内容就可以如下地施加内容复制和分发限制。一个选择是,将内容查看限制于特定的目标设备或用户,如由IMEI或IMSI号或其它任何唯一或准唯一的序列号进行确定。这种情况下,产品配置数据区域23需包括此序列号,以便于移动格式转换模块19能与DRM处理模块21及产品配置数据区域23共同操作,在电影数据中包括合适的DRM内容。另外一个选择是,允许在某个时间和/或日期前可观看电影。因此,所产生的电影将有一个“保存期”,并且在DRM内容指定的日期和/或时间之后将不能观看此电影。第三个选择是允许以预定的次数(N次)观看电影内容。一旦电影被观看N次后,目标设备内的媒体播放器将不会允许内容被再次使用,从而使其无效。或者,可以安排媒体播放器在电影数据被第N次观看后,清除MMC卡或删除或破坏电影数据。可选地或另外地,DRM内容可以防止未经授权的内容被复制或转发。因此,可以说DRM内容防止或者阻止非指定的对移动设备上的内容使用以及对内容的复制。
优选地,DRM内容被加密并被包含在生成的电影数据的头部(header),虽然DRM内容可以任何恰当的方式包含在电影数据中。明显的,如果目标设备需要使用标准DRM过程,DRM处理模块21中由移动格式转换模块19包括在电影数据中的DRM内容,将遵循相关标准。
步骤S4中,DRM处理模块21还模糊(obfuscate)内容。如果编解码器22是工业标准编解码器,这就非常重要,因为否则的话可能会使用播放器呈现其专用内容以外的内容。内容模糊是由一个命令行模糊工具完成的,其如下构成了DRM处理模块21的一部分。
内容模糊是在帧内完成的。这有助于限制执行去模糊(de-obfuscation)操作时的CPU总负荷。使用的具体模糊方法取决于内容的格式。例如,Real MediaTM格式内容和MP3格式内容要使用不同模糊方法。
只有内容数据被模糊,内容头部不被模糊。可选地,只有部分内容数据帧被模糊。在被模糊的内容数据帧中,一部分被完全模糊,一部分被部分模糊。例如,关键帧可能被完全模糊,并且其它所有帧中只有一部分(例如前10个字节)被模糊。模糊包括进行运算,如位移、对某些字节依据它们在流中的位置做加法或减法,等等。该运算是基于对内容块头部中的时间戳进行恰当的计算所得出的结果。在每一次运算中,位置是通过对内容帧中字节数取模得到的。具体使用的模糊技术并不重要。
选择这样的模糊处理技术,在移动设备上的媒体播放器播放时要求相对小的、优选的是最小的CPU负荷。
数据内容中的第一个块用模糊标识符进行扩展。该标识符位于内容块中合适的位置上,并调整内容头部以使其能反映出包含模糊标识符的内容块长度。模糊标识符有助于合适的媒体播放器确定DRM处理模块21使用什么模糊方法,这样允许其执行对应的去模糊方法。加入模糊标识符之后,可能需要修正受影响的索引条目以使搜索能够正确执行。
所使用的模糊方法随内容块而不同。例如,受影响的字节数会不同。附加内容也可能不同,例如,在一块内容中使用一个附加内容,而在另外一块中使用两个附加内容。模糊规则可在内容编码时设置。用于特定内容块的模糊方法可以随机选取。
在步骤S5中,目标内容作为文件写入移动格式电影数据区域20。例如,该文件可以是服务器的内存区域,或内容文件可被直接写入到MMC卡或任何便携传输介质。步骤S5中写入的文件包括正确格式的内容,并包括嵌入电影内容中的或单独文件的DRM内容。步骤S5完成后,转换完成,结果是存储在移动格式电影数据区域20中的构成原存储在DVD数据区域15中的电影的数据,但该数据编码成适于目标移动设备使用的合适的格式,并有适当的音视频内容比特率。而且,该电影包含合适的DRM内容、为适合目标设备的格式而分的多卷、一个音频轨道,以及可选的单个字幕轨道。
当DVD15中的视频内容与目标设备的显示设备有不同的纵横比时,优选地对DVD上的视频信号进行修改,以使其与目标设备的纵横比相对应。这可以由DVD加密和提取模块18完成。然而,优选地,对DVD15中的视频信号进行修改以使其对应目标设备的纵横比可由移动格式转换模块19完成。修改可能包括,当需要较窄图像时,对图像左右两边做简单的裁剪,或当需要更宽画面时对图像上下边做裁剪。修改也可以包括在宽度或高度上做有限的图像拉伸,或用其作为替代。这种情况下,首选地应让显示的中间区域比显示的边缘区域有更多图像线性。这样,对图像边缘要比中间部分做更大程度的压缩或拉伸。这样,可根据实际情况,对DVD加密和提取模块18或移动格式转换模块19进行预编程,或其它任何合适的方式,是其根据源纵横比和目标设备纵横比的查询表,以决定需要何种裁剪和/或拉伸,以及需要何种相应的修改。
在上面描述的一个实施例中,写入到移动格式电影数据区域20的数据仅与内容相关。在有利的实施例中,写入到移动格式电影数据区域20的数据还包括一个或多个媒体播放器。这样做的优点有以下几个原因。第一,这减少了需要被移动格式转换模块19考虑的因素数量。目标设备配置信息不需要包括确定移动设备内的媒体播放器的信息,因为媒体播放器信息已在电影内容数据中包含。第二,这样可以允许电影内容数据在移动设备内没有合适的媒体播放器,或根本没有媒体播放器的情况下被使用。
媒体播放器可以嵌入到,或可选地包含在,电影内容数据中。将媒体播放器嵌入内容数据更易于对电影内容做控制,并使电影内容数据很难被非授权人分拆。通常一个媒体播放器需耗用不到1M的存储空间。
在一个实例中,电影内容数据中包含一个自定义的媒体播放器。当数据被写入到MMC卡后,移动设备从MMC卡中提取媒体播放器的相关数据,然后运行媒体播放器以处理电影内容数据。
在另一实例中,与电影内容数据和载入程序一起存储的,还有数种不同的媒体播放器。移动设备被控制在最开始运行载入程序。该程序检测移动设备的相关配置,并以此确定使用哪种媒体播放器播放电影内容数据。这样,有可能将一张MMC卡应用在更多目标设备配置上,尤其是当MMC卡是从商店货架零售购买的情况下,这显然是有益的。
如果媒体播放器不是自定义播放器,优选地安排载入程序控制移动设备,以检测其是否已包含合适的媒体播放器。如果检测到合适的媒体播放器,其将被使用,而不是从MMC卡向移动设备安装媒体播放器。这是有益的,因为其减少了可能存在的安装和卸载错误,从而改善了移动设备的可靠性。
可以通过单独的可配置的媒体播放器软件应用程序来提供多媒体播放器,而不是包含多个不同的媒体播放器。这种情况下,载入程序可以决定需要何种媒体播放器,并操作媒体播放器软件中的合适的软件模块。不适用于移动设备配置的软件模块或功能不被使用。这样,多媒体播放器由一个单独的软件应用程序构成,其为一些媒体播放器功能重用模块或功能。当使用单个媒体播放器软件应用程序时,载入程序自己可以成为媒体播放器软件应用程序的一部分。
任何写入到移动格式电影数据区域20的媒体播放器都可以呈现内容,所以其包括合适的去模糊功能。
存储在移动格式电影数据区域20中的电影内容数据和任何媒体播放器,都可以以任何合适方式与目标移动设备通信。可以设想,至少在下面的几年里,大多数MMC卡或其它可传输媒体都可用于存储和传输电影内容。然而,随着移动数据传输变得更快速和更便宜,可以期待的是,电影内容将可通过空中传播,例如使用WAP或3G数据传输。传输还可以这样实现,即使用短距离连接如电缆,或使用IrDA和蓝牙等无线技术,或使用类似MMC卡的可传输存储介质,来从一台连接到因特网并已从网站上下载了电影内容的PC进行传输。
移动设备示意图在图4中示出。移动电话40包括所有语音通信所需的传统部件,为清楚起见这里未示出。电话40包括电影解码模块41,其与编解码器42双向通信。移动电影数据区域43中存储电影,移动电影数据区域43可能为任何合适的形式。移动电影数据区域43可以是MMC卡、通过外置驱动器连接的存储空间、内置RAM或其它内存,或可能采取的任何合适形式。DRM验证模块44被连接以从移动电影数据区域43接收数据。DRM验证模块44根据使用DRM数据所做出的决定、和时间/日期或输入的合适序列号,以控制电影解码模块41去允许或不允许对移动电影数据区域43中的电影数据进行解码。当DRM验证模块44允许对移动电影数据区域43中的电影数据进行解码时,而且由用户输入来控制这样做时,电影解码模块41使用编解码器42对数据进行解码,并将解码后的数据提供给缓冲器45。电影从缓冲器45中被显示模块47显示在显示器46上。该显示模块对电影解码模块41提供控制数据以允许以适当的速率解码。
如果移动电影数据区域43中存有载入程序的话,可安排移动电话40从中安装。然后载入程序会使得移动电话40确定其配置并选择媒体播放器,该媒体播放器是软件应用程序,并也存储在移动电影数据区域43中。然后该媒体播放器被用于播放电影内容数据。如果移动电话40中已经安装了合适的媒体播放器,那么就将使用此媒体播放器,而不从移动电影数据区域43中安装媒体播放器。然而,使用存储在移动电影数据区域43中的专用媒体播放器(虽然在使用便携存储设备,如MMC卡的情况下其不是专用的)是有益的,因为这允许对内容数据的安全的有效控制,并能允许现有或预装媒体播放器的其它并非必需的功能。
MMC卡和移动设备的组合在图5中示出。这里,移动设备40如图所示包括CPU51,其通过显示驱动(未示出)向显示器46提供视频信号,并通过音频设备驱动(未示出)向音频输出设备(即耳机插孔或扬声器)提供信号。CPU51通过总线连接到ROM53、RAM54、MMC连接器和接口55。MMC卡56通过MMC连接器和接口55连接到移动设备40。
MMC卡在其内置的非易失存储器内存有电影内容数据57、三个不同的媒体播放器58和载入程序59。当需要从MMC卡播放内容时,移动设备载入载入程序59,其通过确定移动设备40的配置参数并将其与媒体播放器的参数相对比,确定媒体播放器58中的哪个最为合适。然后根据该确定来选择该媒体播放器并将其载入到移动设备40中,并运行(即处理媒体播放器程序)以从内容数据57中复制内容。按照常规,对媒体播放器58的操作包括在RAM54中存入媒体播放器程序、使用CPU51从MMC卡56中提取相关数据以进行解码并呈现所得内容。媒体播放器58从第一数据内容块中移除模糊标识符、调整头部、使用去模糊方法对内容数据进行正确解码。图5为示意图,并且省略了与本发明不相关的细节。
媒体播放器58或每个媒体播放器都被安排以检测主机移动设备40的显示器46的属性。具体而言,媒体播放器根据高宽的象素数以检测显示器的尺寸和方向。该播放器被安排以最适合移动设备40的方向来控制视频内容在显示器46上的重现。如果显示器46宽大于高,那么视频内容以常规方向重现,即不修改其方向。然而,如果确定显示器46高大于宽,该媒体播放器就将视频内容旋转90度来重现。这样,媒体播放器确保了不论屏幕尺寸如何,视频内容始终以横向形式(宽大于高)重现。这就更有效利用了显示器46的显示区域。
当视频内容被媒体播放器在显示器46上旋转时,媒体播放器40将导致键盘(未示出)上的数字键或其它输入设备的功能与视频内容没有被媒体播放器旋转时的功能有所不同。因为在能够以想要的方向浏览视频之前需要将移动设备40旋转到一侧,所以不论移动设备40的方向如何,在不同方向时提供不同的键功能将给用户提供相同的操控体验。这样,对操控方式的修改使得使用键盘或其它输入设备对媒体播放器进行控制变得对用户更加方便和直观。特别重要的控制是音量增/减、播放、暂停、前进或后退等等。
当移动设备40不是高规格设备时,即,其有相对低的内容处理能力和/或低解析度的显示器,媒体播放器被安排从MMC卡而不是从其它内容源来访问内容。这允许专用媒体播放器对要播放的MMC卡上的内容进行优化,这样,可提供比MMC卡的可用存储空间或其它技术限制所允许的更加丰富的内容播放。这个特征并不影响媒体播放器使用移动设备40内现有的标准编解码器42。事实上,媒体播放器可以使用标准或其它第三方编解码器,也可使用专用编解码器。
当运行于更高规格的移动设备40时,使用不同的媒体播放器58。这里,由载入程序59选择的媒体播放器是可以对非最优内容进行缩放以取得最佳效果的。
或者,MMC卡56上提供一个可调整功能的媒体播放器58。这样的媒体播放器无需载入程序。当运行于移动设备40时,该媒体播放器58检测移动设备40的相关特性,并启用媒体播放器58的合适的部件和功能,并防止启用其它部件和功能。
媒体播放器58包括搜索功能。用户可使用搜索功能在内容的章节中跳转。为实现该功能,MMC卡中除媒体文件外,还写入定位文件。定位文件的扩展名为”.pm”。每个章节都在该文件中有对应的一行。每行都包括一个部分名字,如“电影开始”、“追车场景”等等。每行还包括一个值,其和与每个章节开始时所对应的时间戳相关。时间戳与部分名字用一个“#”号分开。当在移动设备40的键盘上进行键输入指示需扫描到下一章节时,当前播放内容的时间戳被用来确定定位文件里对应下一章节的是哪一行。这包括确定比当前时间戳更大的最小时间戳所在的行。然后这一行的时间戳被发送给媒体播放器58。然后媒体播放器58从该时间戳开始播放内容。因为这个过程的实现非常快,所以通常比用户进行第二此键输入需要耗用更少的时间。这样,就可以连续地跳过章节。扫描章节也可以通过时间逆序进行。
在内容数据的不同位置上都有数字指纹。指纹可以有例如5个字节的长度。相同的指纹每隔一段间隔被放置于整个内容数据中。如果使用了模糊技术,出现的每一个指纹也被模糊。指纹无法从内容中识别,所以指纹的位置不能通过检查数据确定。这样,不能在对内容进行解码时首先移除指纹的媒体播放器将不能获得正确数据,播放将会失败。
这样,媒体播放器58需要知道指纹是什么及其位置。这使内容播放只能在获得服务器80的授权后才能执行。在授权过程中,服务器80通知媒体播放器80指纹是什么及其在内容数据中的位置。如果不知道指纹在哪里,媒体播放器58无法从内容中移除指纹。而且,媒体播放器58在播放内容之前需确保当前在内容中的指纹与预期相同。指纹包含在内容数据的第一个分组中,所以可被马上验证。
使用数字指纹可实现一些有益的特征。
例如,MMC卡可与一个已为媒体播放器58的播放解锁的媒体项目(如电影或电视节目)共同销售。其它媒体项目也在MMC卡中提供,但在播放之前需要解锁。在媒体播放器58的菜单中,另外的媒体项目显示为锁定的。当这些媒体项目中的一个被选中时,媒体播放器58会为该媒体项目显示媒体代码,并提供输入窗口以输入解锁码。
为解锁媒体项目以播放,设备40的用户向服务器80发送SMS,其包含由媒体播放器58显示的媒体码。媒体码长度为11个字节(即11个文字数字符号)。该媒体码由包含媒体标识码的模糊处理过的信息和媒体播放器58的序列号组成,媒体标识码用于确认相应的媒体项目。通过SMS接到媒体码后,服务器80验证该码。验证包括检查存在的媒体播放器的序列号和存在的媒体项目。一旦验证完成,并且已知该媒体项目待支付后,服务器80就获得合适的解锁码,对其进行模糊处理并将模糊处理后的解锁码发给设备40。解锁码包含媒体播放器58的序列号和包含在内容数据中的数字指纹。支付可通过WAP即按SMS进行,其将设备40的WAP浏览器联向诸如Bango或mwallet等支付系统。当服务器80从支付系统接收到支付确认后,解锁码就从服务器80发往设备40。或者,服务器80可发送包含解锁码的反向支付SMS,该解锁码由用户的移动电话服务提供商进行收费。或者,这可以通过让用户使用http连接选择“购买”选项自动完成。
接到SMS后,用户在媒体播放器58提供的输入窗口中输入接收到的模糊处理过的解锁码。然后媒体播放器58对解锁码进行去模糊处理,并检查形成解锁码的一部分的序列号是否与媒体播放器58的序列号匹配。如果不匹配,则显示合适的信息,因为用户可能输入了错误的解锁码。如果匹配,媒体播放器向MMC卡写入包含数字指纹的解锁码,以解锁媒体项目。然后,为播放该媒体项目,用户通过媒体播放器58提供的菜单访问该媒体项目。然后媒体播放器58从MMC卡中访问解锁码,如果解锁码中的指纹与内容数据中的指纹相同,就可播放该媒体项目。
如果解锁码中的指纹与当前内容中的指纹不匹配,媒体播放器58将从MMC卡中删除该媒体项目的所有解锁码,并返回到菜单。这使得即使输入了错误的解锁码到MMC卡的情况下,例如输入了错误的媒体项目的解锁码,仍然允许媒体播放器58进行操作,以及输入正确解锁码的可能性。
可选的额外特征是使用某设备的IMEI将MMC卡与其绑定。当媒体播放器58第一次在设备上安装并尚未注册时,媒体播放器58已经知道了内容的序列号和媒体标识码,但并不知道数字指纹。在内容能够被播放之前需要指纹。媒体播放器58向服务器80初始化http连接。然后媒体播放器58通过向服务器80提交媒体播放器58的序列号和设备40的IMEI号码来注册。服务器80基于接收到的信息查找内容标识符,并存储接收到的信息。然后服务器80发送包含IMEI的加密信息、媒体播放器58的序列号、指纹和确认内容中指纹位置的信息。媒体播放器58在MMC卡中存储加密信息。然后媒体播放器58就可以播放该内容。如果MMC卡被移向另一个设备40,该另外一个设备肯定有不同的IMEI,该内容将不能被媒体播放器58播放。具体而言,当选择了该媒体项目准备播放时,媒体播放器58将检查MMC卡中的序列号、媒体标识码和加密信息中的IMEI。如果加密信息中存储的IMEI与设备40的IMEI不匹配,媒体播放器58将不播放内容。为了能在不同的设备40上播放内容,该内容首先必须在原设备上解除注册。该内容可按照以上描述的方式在新的设备40上注册。MMC卡上另外的媒体项目可通过上述方式进行购买。而且,不同的媒体项目可以有效地注册到不同设备上,只要每个媒体项目都只注册到一个单独的设备40上。
如果存储在MMC卡中的内容允许被用户自由复制,这种技术可用于跟踪副本。这里不需要解除注册。MMC卡可连续在不同的设备40上注册。而且,可能存在未知数量的副本。当MMC卡装入到一个未为内容注册的设备时,媒体播放器58联系服务器80以注册该内容。注册之后,服务器80向设备40发送加密信息以使其可播放内容。通过监控注册过程,服务器80能确定到底产生了多少份副本。服务器80还能通过内容注册所经过的网关IP地址确定副本大致的地理分布。
MMC卡56的硬件可以是标准的,例如当前公开可用的任何MMC卡形式。典型的MMC卡硬件设计包括闪存存储设备和位于非常薄的PCB(印刷电路板)上的存储/接口控制器,其外是薄塑料外壳。PCB的下层通常是外壳的底部。有数种不同尺寸的MMC卡。
根据本发明的某些方面,MMC卡的硬件是非传统的,其包括另外的安全功能。在这种情况下,专用媒体播放器58被用于对安全的MMC卡上的内容进行解锁和读取。
这种新式MMC卡的第一个实例将参照图6进行描述。这里,MMC卡56包括外壳60,其中提供了连接管脚61。连接管脚形成到外部设备(如移动设备40)的主机通信接口的一部分。MMC卡56还包括非易失存储器62,其连接到存储与接口控制器63,存储与接口控制器63控制对存储器62的访问和对管脚61的接口。这样所描述的MMC卡是传统的MMC卡。MMC卡56还包括非传统的安全装置64。安全装置64放置于存储和接口控制器63与连接管脚61之间。这样,存储和接口控制器63与连接管脚61中的数据(DAT)、命令(CMD)和时钟(CLK)不直接连接,因为在这些部件间至少有一些连接要通过安全装置64。连接管脚61中的VCC、VSS1和VSS2被同时并行连接到安全装置64和内存和接口控制器63。安全装置64可用微控制器、ASIC(特定用途集成电路)或FPGA(现场可编程门阵列器件)来实现。MMC卡56的组件安装于PCB(印刷电路板)上,PCB是外壳60的一部分。这样,MMC卡56可以和传统MMC卡有相同的尺寸和外部连接器。
安全装置64用于截取在主机设备(即移动设备40)和存储和接口控制器63之间传送的数据和命令。截取的数据被处理,通过安全装置64后是已修改或未修改,或可选地,其被安全装置64自身产生的数据所替代。
任何响应中通过的具体数据或命令都可以将安全装置64切换到激活模式,在这种模式下,安全装置64伪装为存储和接口控制器63与主机接口61的其中一个,对其中的另外一个进行读取或写入。在激活模式下,安全装置64还独立地(即无外部控制地)查询存储和接口控制器63,为随后的主机请求准备数据,或为随后的请求向非易失性存储器62写入数据。
提供激活模式使得通过MMC卡56和媒体播放器58之间的协作实现了复制保护。
不论是在读或写模式下,安全装置64并不限制对于未被保护内容所在的非易失性存储器62的访问。这使得包含了安全装置64的MMC卡56能够以常规方式使用,即不使用安全装置所提供的安全功能。安全装置64只能被已授权的实体所使用,例如已被授权可将有版权的内容(即电影)放入MMC卡56的实体。
MMC卡56和媒体播放器58具有相同的序列号。在配置中,还为媒体播放器58提供向散列方程(hash function)应用序列号的结果(下文中称为序列号的散列值)。存储和接口控制器63有安全装置64控制,在编程时间(即,在出售之前被编程时)存储序列化数据的序列号、与配置的安全码和序列号的散列值。
现在参考图8描述媒体播放器58对MMC卡56的验证和MMC卡56对媒体播放器58的验证。
当包含内容、一个或多个媒体播放器58和可选的已经装入的载入程序59的MMC卡56被连接到移动设备40时,媒体播放器将在菜单中可见,并如同移动设备40中存在的任何其它软件应用程序一样可被激活。当媒体播放器58首次启动时,第一个安全验证被实现,其中进行下列事件。首先,最合适的媒体播放器58被载入到移动设备58。然后,媒体播放器58在步骤S8.1中向安全装置64发送序列号的散列值。然后,安全装置64在步骤S8.2中将该散列值与其内部存储的序列号的散列值进行对比。如果步骤S8.3中的比较结果匹配,就初步假定媒体播放器58与MMC卡56相匹配,然后安全装置64在步骤S8.4中对MMC卡56解锁。然后,安全装置64在步骤S8.5中向媒体播放器58发送预先配置的验证码。或者,如果比较结果不匹配,安全装置64在步骤S8.6中不响应。当媒体播放器58接收到验证码,就在步骤S8.7中对验证码进行32位CRC(循环冗余码校验)运算。基于此运算结果,媒体播放器58在步骤S8.8中确定MMC卡56是否与媒体播放器58相关,如果是,就在步骤S8.9中解锁媒体播放器,如果否,就在步骤S8.10中中断并显示错误信息。在这个阶段,如果在非易失存储器62中存在未被保护区域,媒体播放器就可以从中读取数据。
安全检查的第二阶段是在播放内容时执行的。在MMC卡56上的媒体控制已被解锁并且数据成为可读的之后,数据从非易失性存储器62中被读出到媒体播放器58中。同时,在步骤S8.11中数据流设置成1kB的帧,即从帧的开始到结束共有1000字节。媒体播放器在步骤S8.12中计算安全码(如下文更详细的描述)并将其发往安全装置64,在步骤S8.13中将对其进行解码。基于解码结果,安全装置64将在步骤S8.14中确定安全码是否有效。如果无效,安全装置64就在步骤S8.15中重置超时计数器,以免发生超时并锁定内容。如果有效,存储和接口控制器63就在步骤S8.16中将随后的数据帧视为已被验证过可以访问。如果在帧结束之前还没有收到有效的安全码,后面的帧将以随机数据填充,而不是内容数据。
媒体播放器58为每个帧重新计算一次正确的安全码,但为每个帧产生20个安全码,其中19个是错误的。在步骤S8.17中,媒体播放器58向MMC卡56发送所有安全码,在这个例子中,为每一个帧的数据发送20个安全码。其中19个是有意弄错的,只有1个是正确的。MMC卡56中的安全装置64将把其自身运算结果与媒体播放器58发送来的安全码进行对比。只要每个帧中收到一个正确安全码,安全装置64就允许播放器发送内容数据。如果在一段预定的时间里(使用计时器),安全装置64检测到没有接收到有效安全码,或者收到的安全码太少(不论是正确的还是错误的),安全装置64会禁止对非易失性存储器62中的数据进行访问。然后,在内容播放能够继续之前,安全装置64需被媒体播放器58再次解锁。如果在一段预定或可配置的时间里,安全装置64没有被访问,那么它也将锁定MMC卡56。
安全码的运算基于如下数据CRC-解码后的验证码(校验和部分)的最后4个字节字节数-目前为止从MMC卡56中读出的字节总数随机数-一个介于0和每帧安全更新次数的一半(在这里,每帧更新20次,而10是20的一半)之间的数字媒体播放器58执行的运算为((CRC<<Mod32(字节数))异或(字节数))*随机数这意味着验证码的校验和部分(CRC)被所读字节数模32向左移位。结果与所读字节数进行异或。异或运算包括将两个数中的比特应用到各个异或门。所得结果乘以随机数Random。
MMC卡56中的安全装置64执行的运算为((CRC<<Mod32(字节数))Xor字节数))*模帧大小(帧数目)本例中,模帧大小(帧数目)是帧数目模1000,因为帧大小是可变的,即,1000,例如,5032变成0032。
这样的结果是MMC卡56中的安全装置64对于媒体播放器58的连续验证。这防止了这样的情况,即可能使用假的媒体播放器以可用的形式提取内容数据;相反,只能由正确的媒体播放器58提取MMC卡56中的数据,其为使用而呈现内容但不允许内容被用作提供未授权副本。媒体播放器58发送许多错误码这一实事,使得通过检查从媒体播放器58向MMC卡56发送的代码来确定需要什么运算以确定正确代码变得困难或不可能,这就提高了安全性,因为使用假的媒体播放器从MMC卡中提取数据的困难大大增加了。
使用这些特征,安全装置64可用于确定是否外置设备,其包含运行媒体播放器58的移动设备40,可从非易失性存储器62中提取数据,并从而允许或拒绝对内容数据的访问。
可选的MMC卡70在图7中示出。这里,存储和接口控制器63被省略。作为替代,复合的存储和接口控制器和安全装置71连接具有连接管脚61非易失性存储器62。这提供了存储和接口控制器63与安全装置64在一起的相同功能,但还有一些附加功能,如下文叙述。该实体的优势在于可包含在比图6中的MMC卡56更小的外壳中。既然它有更少的硬件,就可更便宜地进行生产。而且,复合的存储和接口控制器和安全装置71不需要支持与MMC卡控制器相同类型的非易失性存储器,所以提供了部件灵活性。
复合的存储和接口控制器和安全装置71模拟标准MMC卡控制器的主机接口,从而为主机设备,如移动设备40,提供完整的连接性。它还支持另外的主机接口命令以支持某些具体主机的安全配置和安全验证。复合的存储和接口控制器和安全装置71对写入到非易失性存储器62的所有数据进行加密,并对读出非易失性存储器62的所有数据进行解密。这样,被移动设备40访问的数据并非从非易失性存储器62直接读出,相反,数据在复合的存储和接口控制器和安全装置71中被解密、处理并缓存。
主机所访问的部分数据是处理的结果,例如安全装置64为随后的主机请求所编译的信息,或状态输入,如安全状态数据,其被媒体播放器58用来重新验证安全或向用户通知问题性质。
复合的存储和接口控制器和安全装置71可用ASIC或FPGA等微控制器实现。
使用图5和图6中的MMC卡,DRM信息存储在非易失性存储器62的区域内的DRM文件中,该区域在MMC卡配置过程中已被定义为安全区域。媒体播放器58可读取但不能影响DRM文件,除非出现时间特定的DRM问题。安全装置64或71被用来计算内容播放的次数。如果内容只播放了一部分,就计为对内容的一次播放。内容被播放的次数被安全装置64或71记录在DRM文件中。媒体播放器58能读取但不能影响该信息。DRM文件指明了内容数据可被播放的最大次数。
DRM数据还包含内容的过期日期或有效日期。当媒体播放器58第一次启动,它与安全装置64或71协作,将移动设备40内置时钟(未示出)的当前时间和日期写入到DRM文件中。如果请求播放内容,安全装置64和71确定内容能够播放的最近的时间和日期已经过期(即当前时间和日期晚于第一次记录的时间/日期加有效期),安全装置64或71与媒体播放器58之间的安全验证失败,那么合适的信息将会通过显示器46传达给用户。在内容数据能够被播放的最大次数达到限制时,也会发生相同的情况。安全装置64还向DRM文件中写入确定内容已经过期的数据。
如果内容已过期一次后,或者移动设备40的时间/日期被改为内容过期之前的值,那么安全装置64或71能够通过DRM文件中确定内容之前已过期的数据检测出该情况。在这种情况下,在内容被锁定并需要DRM解锁之前,还可以允许内容被播放预定的次数,如5次。这通过在线验证实现。如果媒体播放器58首次启动时移动设备内的时钟配置错误,这个功能就可缓解用户的影响。
在线验证过程从媒体播放器58连接DRM服务器开始,如图5中所示出的80,该DRM服务器例如属于被授权可对MMC卡上的内容进行呈现的实体。DRM服务器80知道所有发行的MMC卡56的配置。连接可通过WAP或SMS或其它任何合适方式进行。如果DRM服务器上的DRM信息可用,DRM服务器通过媒体播放器58向安全装置64或71发送代码,这使得代码被验证并因此解锁内容以播放。这包括更新DRM文件。已锁定的内容可通过对更多的内容访问进行支付以再次解锁,支付方式可通过不同途径(web,wap(如Bango)和SMS)。
如果MMC卡56和71上的内容被锁定,媒体播放器58将不会播放该内容数据。这种情况下,移动设备40的用户可以为内容解锁以获得更多的播放,例如通过另外的支付。支付可以以任何合适方式进行,例如使用WAP,其是基于网页的支付服务,或通过利用电话与运营商协商。当支付完成,DRM服务器80更新该信息。当用户随后启动媒体播放器58并试图访问已锁定的内容,媒体播放器58以任何合适的方式联系DRM服务器80,服务器80向移动设备40发送解锁码,媒体播放器58将该解锁码传递给安全装置64或71。然后安全装置64或71验证该解锁码,并更新DRM文件以解锁内容。这可能包括使用数字指纹,如上文所述。
如果使用了类似图6和图7中的MMC卡60和70的MMC卡56,可以通过恰当的MMC硬件设计实现某些高级保护。绕过此类保护将需要对媒体播放器58进行反向工程。
一般来说,直到特定的数据从MMC卡56上的其它特定扇区被读写,MMC卡56的某些扇区才会包含正确的数据(因此不是正确的“下一扇区”数据)。一些媒体播放器58的系统文件和部分内容将位于这些扇区内。这种复制保护的实现包括使用自定义的MMC卡硬件、MMC构建工具功能(特殊格式化等)和媒体播放器58(其必须读写正确的安全扇区)的支持。
媒体播放器58在其启动时及启动后以固定的时间间隔向MMC卡56的一些未使用扇区写入特定数据。这些扇区未被使用是因为MMC卡56(由引导区所指定)的文件系统格式中不包含这些扇区。写入这些扇区的数据由MMC卡56处理,其结果体现在许多文件扇区。结果是该扇区中的正确数据。
具体而言,MMC卡56上的特定数据区域包含的数据,是对写入到MMC卡56上其它区域的数据进行运算后的结果。例如,这可以是向另外的更小的块进行10次写入所进行的复合散列方程。例如,MMC卡56上从15360到15871的字节由散列码进行运算,该散列码是以从字节15360到15871处经过10次以上连续的正确写入所写入的数据生成的。该运算将得到的内容存放在字节12800到13311处。这个块是媒体播放器58即将读取的文件的一个扇区。重要的,文件中的下一个扇区将引用该扇区。媒体播放器58被这样安排,即如果该扇区被媒体播放器58访问时不包含正确数据,那么媒体播放器将关闭(甚至可能崩溃)。
某些此类写入将在可读区域中生成垃圾内容,而某些写入则生成媒体播放器58即将使用的真正内容。由于媒体播放器58写入许多次,其中大多数都是伪造信息,所以对过程进行解码耗费时间,并很好地防止了复制。因此,这可以显著地阻挠反向工程技术。
一个例子如下。设备上的三个扇区,其中每个有512字节,是标注为MMC卡上文件的一部分的目标扇区。这些目标扇区包含对源扇区内数据进行运算的结果。使用了9个源扇区,每个有512字节。
因此,为每个目标扇区要处理三个源扇区。运算的一个例子如下第一个目标扇区包含第一目标扇区包括所有下列字节源(无符号运算)扇区1(第一个字节到最后一个字节)+源扇区2(第一个字节到最后一个字节)异或源扇区3(最后一个字节到第一个字节)。
源扇区1位于块12034,源扇区2在块12044,源扇区3在块12054,源扇区4在块12035,源扇区5在块12045,源扇区6在块12055,源扇区7在块12036,源扇区8在块12046,源扇区9在块12056。
目标扇区1与源扇区1、2和3关联,并位于扇区8000。目标扇区2与源扇区4、5和6关联,并位于扇区8001。目标扇区3与源扇区7、8和9关联,并位于扇区8002。
为媒体播放器58所用的资源文件分布在目标扇区1、2和3上,内容分布在目标扇区5、6、7、8和9。只读取这些文件而不向源扇区中写入正确的信息将导致文件损坏。
虽然我们说移动设备40是移动电话,但它也可以用个人数字助理(PDA)替代,其可能具备或不具备双向语音通信能力。本发明主要涉及在主要设计为用于其它功能的设备上提供音视频内容。但是,本发明也涉及专用的媒体播放器。
同样的,虽然本发明的某些方面是针对MMC56描述的,但这不是必需的。除了MMC之外,还可以使用包括非易失性存储器和内置存储器控制器的其它类型的介质,其中,对存储在存储器上的数据的访问通过接口实现。例如,可以使用具有USB或者蓝牙TM或者其它接口的存储器设备。存储器设备的外壳可以是任何适当的形状。
下面参考图9、10A、10B、10C和10D对使用数字指纹和模糊来保护存储在MMC上的内容的替代方案进行描述。
图9示出了存储在MMC上的数据分组的序列1200。序列1200中首先是第一到第Z个头部,其中示出了第一头部1201、第二头部1202和第Z个头部1203。紧跟第Z个头部1203的是第一内容块1204,其是顺序的Z个内容块中的第一个内容块。图中示出了第一内容块1204、第二内容块1205、第X个内容块1206、第Y个内容块1207、第Z个内容块1208。每个头和各个内容块具有一对一的关系,而且顺序相同,也就是说,第S个头部和第S个内容块相关。
第Z个内容块1208之后是索引区域,其中包括第一到第J个索引头部和第一到第J个索引条目。第一索引头部1209之后是第一索引条目1210,第一索引条目1210之后是第二索引头部1211,等等。因此,索引头部之后紧跟着与之相关的索引条目。最后一个数据是第J个索引条目1212。通常,J是远小于Z的数。
内容块1204-1208中的每一个和音频或者视频内容相关。每个内容块包括时间戳,这样媒体播放器可以将音频内容与对应的视频内容关联。内容块1204-1208的头部包括确定内容块与哪个流相关的信息。大多数情况下,只有一个音频流和一个视频流,尽管情况可能有所不同。
在这个例子中,内容块由工具RealProducer生成,所以头部1201-1203和内容块1204-1208中的数据是Real格式。内容可由Real编解码器解码。Real是RealNetworks公司的注册商标。使用Real格式时,与视频流相关的内容块1204-1208中的每一个内容块都包含与整个视频帧相关的数据。这样,每个内容块都包含与帧相关的所有信息,并只与一个帧相关。关键帧会周期性提供,并且在连续的关键帧细节中的每个非关键帧都与之前和之后的帧不同。在RealProducer中,连续的关键帧之间的间隔是可以配置的参数。内容块的大小是可变的。当两个连续的帧有许多差别时,第二个帧的内容块包含大量相关数据。当差别很小时,第二个帧通常包含较少数据。当连续的帧没有差别时,第二个内容块可能只包含几个字节的数据。内容头部1201-1203中的每个头部都包含确定相关内容块1204-1208是否包含关键帧的数据的信息。
无论机器还是操作人员都不可能通过检查内容块1204-1208中的数据确定内容块边界的位置。然而,内容头部1201-1203中的每个内容头部都包含指明相关内容块1204-1208的字节长度的数据。这样,可通过在前一个内容块的开始地址处添加前一个内容块的长度和一个另外的字节,以确定内容块1204-1208的开始地址。在前一个块的开始地址处添加该块的长度,将可得出该块最后字节的地址,这样就可通过向该地址添加另外的字节来找到下一个内容块的开始地址。
这样,如果内容块1204-1208中有任何位或字节被添加或移除,下面所有内容块的实际开始地址都将与头部1201-1203所计算的地址不匹配。这样,送入Real解码器的数据将不能被正确解码,并且媒体播放器将可能停止工作,并需要关闭并重新打开才能再次操作。
本发明有益地利用这一点。具体而言,可为内容块1204-1208中的某些内容块的每一个内容块提供一个或多个额外的数据项目。额外的数据项目优选地为数字指纹。如图示出,为第二、第X和第Y个内容块1205、1206、1207提供了数字指纹。
让播放内容的媒体播放器知道额外的数据项目在哪里显然是重要的。否则,送往媒体播放器内的解码器的数据可能会是不正确的格式,并因此不会被正确解码,并可能导致媒体播放器崩溃。
有许多种方式可以将内容数据中的额外数据项目的位置通知媒体播放器。发明人已经发现,特别的良好解决方案,是使用预先定义的方案,在将数据录制到MMC之前就确定额外的数据项目的位置,并按照该方案的详细资料对媒体播放器进行编程。
在某些实施例中,额外的数据项目包括在第二数据块1202中,并在之后每隔一定间隔(就播放或呈现时间而言)出现。例如,额外的数据项目可包括具有紧跟预定的额外的数据项目的间隔整数倍的时间戳的第一个内容块中,例如20秒的额外数据项目间隔。根据此技术,额外的数据项目包括在呈现时间为20秒后的第一个内容块中、包括在呈现时间为40秒后的第一个内容块中、包括在呈现时间为60秒后的第一个内容块中,等等。
额外的数据在内容块1205-1207里的位置也是很重要的。在某些实施例中,额外的数据项目被包括在其出现的内容块1205-1207中的每一个内容块中的相同位置。例如,额外的数据可能包括在内容块1205-1207中从字节56开始的位置。内容块中字节57开始直到数字指纹结束的的位置被保留。如果内容块包括56个或更少的内容块,那么额外的数据项目就被包括在该内容块的结尾,在所有内容数据之后。这样,如果内容块包括20个字节,那么额外的数据从第21个字节开始。
有许多种方式可以将内容数据中的额外数据项目的位置通知媒体播放器。发明人已经发现,特别的良好解决方案是使用预定的方案,在流送数据之前就确定额外的数据项目的位置,并按照该方案的详细资料对媒体播放器进行编程。
例如,媒体播放器被编程处理的可能有20种不同的方法。每种方法由不同的数字指纹方法标识符来识别。这可以形成媒体码的一部分,并包括在内容中合适的位置,和模糊标识符相似,或者以任何适当的方式向媒体播放器识别。第一种方法涉及在20秒的整数倍后第一个内容块的第56个字节包括数字指纹,这如上所述。第二种方法涉及在紧跟着30秒的整数倍的第一个内容块的第32个字节包括数字指纹。第三种方法涉及在30秒的整数倍后六个内容块后的内容块的第32个字节包括数字指纹。第四方法涉及在60秒的整数倍后的每个内容块的第32个字节包括数字指纹,并在30秒的整数倍后的每个内容块的第11个字节包括数字指纹,除非在该内容块的第32个字节已包括数字指纹,也就是说,数字指纹连续出现时,其位置在第11个字节和第32个字节之间交替。在另一个方法中,包括指纹的内容块是变化的。例如,数字指纹可以相对于紧跟40秒的整数倍的内容块,位于40秒的整数倍后3个内容块,以重复的序列位于40秒的整数倍后7个内容块和2个内容块。数字指纹的位置变化越多,所提供的保护越大。
额外数据项目的长度并不重要,尽管为了避免过多地增加所得的数据大小,优选地额外数据项目不应过长。
因为在解码之前要移除额外数据项目,所以额外数据项目的形式(即内容)并不重要。然而,发明人倾向于额外数据项目的形式为数字指纹。优选地,数字指纹的每次出现是相同的,即,有相同的数据序列。例如,数字指纹的长度可以为5字节。即便第三方确定了构成数字指纹的数据,相同数据的数据串会出现在内容数据中的很多位置,因此,仅仅该信息本身并不足以使得数字指纹可以被移除。
图10A中示出了一个内容块,例如第X个内容块1206。内容块1206包括m个字节的数据。在图10B中,示出了增加了数字指纹1301的内容块1206,标号为1304。数字指纹1301将m个数据字节分为两个部分1302、1303。第一部分1302包括数据字节0到n,第二部分1303包括数据字节n+1到m。包括数字指纹的内容块的长度等于m+k字节,其中k是数字指纹的大小。使用上面的例子,n是56,k是5。
为了对防止未授权的播放和/或复制提供额外的保护,在内容块存储在MMC上之前,对全部或部分内容块进行模糊。在内容块包括额外数据项目的情况下,如数字指纹1301,该额外数据项目和形成原始内容块的数据一同被模糊。简单地,模糊包括改变数据,这样所得的模糊数据和原始数据不同,在没有去模糊的情况下,不能被正确解码。通常模糊不改变数据量,所以内容块的大小在模糊之前和之后一样。前面参考图3讨论了模糊。图10C在1305示出了包括数字指纹1301的内容块1304。模糊的内容块1305包括k+m个字节,这和增加数字指纹后的内容块1304一样。
如图10D所示,第一内容块1204用模糊标识符1306延长。模糊标识符1306位于第一内容块1204中的适当位置,对应的内容头部1201被调整以反应包括模糊标识符1306的内容块的长度。模糊标识符1306标识DRM处理模块21使用什么模糊方法来模糊数据。这使得适当的媒体播放器可执行相应的去模糊方法。在增加模糊标识符1306之后,可能需要校正所影响的索引条目,使得检索能够正确进行。第一内容块1204没有被模糊,因为否则的话模糊标识符1306将会被模糊。
如果对全部内容仅使用一种模糊方法,那么媒体播放器58知道使用了什么样的模糊,因此可以从第一内容块1204省略模糊标识符1306。
因为包括数字指纹的内容块1203-1208包括比由其对应的头部1201-1203所指示的更多的数据,所以索引条目1210、1212是不正确的。具体而言,由形成索引条目1210、1212的一部分的数据所指向的物理地址应该指向关键帧的开始的地址。然而,如果在关键帧之前的一个或多个内容块中包括数字指纹,包括关键帧数据的内容块的起始的实际地址将会比由对应的索引项目1210、1212所指示的地址高。因此,对索引项目1210、1212中的数据进行修改以反映数据应该对应的内容块的实际起始地址。因此,当媒体播放器58使用索引项目1210、1212的数据来访问内容时,内容被解码并且正确播放。
在模糊部分或全部的内容块1205-1208、在第一内容块1204中提供适当的模糊标识符1306、修改索引条目1210、1212中的数据之后,所得的数据存储在MMC卡56上。
当MMC卡56被插入到移动设备40中时,移动设备40载入媒体播放器58。当用户通过媒体播放器58的菜单选择内容项进行播放时,媒体播放器58开始读取头部和与内容相关的内容块。媒体播放器58中的DRM验证模块44知道模糊标识符1306在第一内容块1204中的位置并且提取它。然后,媒体播放器58的DRM验证模块44使用模糊标识符1306来确定去模糊内容数据57需要什么模糊方法。DRM验证模块44还确定是否存在播放内容块数据57所需的媒体码。在授权过程中,服务器80向媒体播放器58提供媒体码。媒体码还识别数字指纹1301,并使得媒体播放器58确定数字指纹在内容块1205-1208中的哪一个及何处。这可以适当的方式进行。例如,媒体码可以包括数字指纹位置代码,其识别用于去除数字指纹的出现的预定方法。然后,媒体播放器58准备好播放内容。然而,优选地,只有在包括在内容块中的数字指纹和包括在媒体码中的数字指纹相同时,媒体播放器58才播放内容。这对用户被授权使用媒体播放器58播放内容提供进一步的检查。数字指纹包括在第二内容块1205,因此,在播放内容开始后,可以直接进行验证。
如果不知道指纹在哪里,就不能由媒体播放器58将其从内容中去除。同时,在媒体播放器58播放内容之前,其保证内容中出现的数字指纹和预期的一样。
在播放内容时,DRM验证模块44对被模糊的内容块进行去模糊。例如,对于图10C中的内容块1305,DRM验证模块44执行在DRM处理模块21进行的模糊的逆过程,由此获得加入指纹的内容块1304。在播放内容时,DRM验证模块44还从包括指纹的内容块中将其去除。
例如,对于图10B中的内容块1304,DRM验证模块44去除数字指纹1301,由此获得图10A所示的内容块1206。只有在去模糊并且去除数字指纹后,内容块才被输入媒体播放器58的编解码器42。没有做到这两步中的任何一步都会导致错误的数据被输入到编解码器42,这可能会导致媒体播放器58崩溃。最好的情况下,内容不能以可用的形式播放。
如果非媒体播放器58的媒体播放器试图播放内容,该尝试将失败。为了构造能够提取可用内容的媒体提取器,媒体提取器需要确切地知道要使用什么模糊方法,并且知道额外数据项目在内容块中的确切位置及其大小。因此,该技术为防止内容被未授权使用提供了严格的保护。即便使用相对简单的模糊方法并包括相对较少的数字指纹,从技术上来讲,所提供的保护使得从加密的DVD提取内容依然比从MMC卡56获得内容更加直观。因为媒体播放器58知道使用的是何种去模糊方法,并且知道需要从哪个位置去除数字指纹,所以媒体播放器58可以正确地播放内容。然而,媒体播放器不是媒体提取器,所以不能用来以未保护的形式提取内容以做未授权之用。
使用数字指纹和模糊可以有用地保护所传输的内容和存储在载体上的内容。下面参考图12和13描述广播电视和无线电系统。参看图11,广播服务器100包括输入101,其接收频道输入和到因特网102的输入/输出。如移动终端40的移动终端103通过移动网络(未示出)连接到因特网102,因此可以和广播服务器100通信。简而言之,一旦移动终端103的用户订阅广播范围,他们就可以向他们发送数据流,通过数据流他们使用移动终端103可以收看电视频道或者收听收音机。
广播服务器100包括WAP注册模块104,通过该模块移动终端103的用户可以通过到因特网102的WAP连接在广播服务器100进行注册。移动终端103可以通过例如它的IMEI号码进行标识。注册模块和注册数据库105进行双向通信,注册数据库105维护注册用户的详细信息,并且允许管理员监控注册用户,并在需要时对他们解除注册。注册之后,用户可以使用计费模块106和因特网102之间的WAP连接订阅服务。计费模块106和计费数据库107进行双向通信,计费数据库107监控订阅信息,并允许管理员查看各个订阅并提供订阅统计。订阅数据库107和注册数据库105彼此进行双向通信,因此注册信息可以传递给计费模块106,订阅和计费信息可以传递给注册数据库105和注册模块104。
频道配置数据库108维护广播服务器100和多个移动终端之间的频道配置参数,图中仅示出了其中之一103。频道配置从配置数据库传递道频道配置器109,频道配置器109有到因特网102的http连接。频道配置数据库108包括频道的设置数据。频道配置数据库108使用基于网页的管理工具进行更新,以增加、修改和删除频道,以符合到来的流,这由手动配置过程设定。
频道配置数据库108中包括的数据包括每个频道的完整URL。
频道配置器109读取频道配置数据库108,准备特定用户可用(即他们订阅的)的所有频道的XML列表,并将该XML列表发送到移动终端上的媒体播放器58。媒体播放器上的菜单选项“刷新频道”可用来启动该过程。然后,媒体播放器为用户创建新的频道列表。
频道输入处接收到的数据由包括流转换器110、流缓冲器111、内容编码器112、DRM编码器113和内容服务器114的一系列组件处理。在本例中,流送的内容是RealTM格式的,因此,内容编码器112是RealProducerTM,而且内容服务器114是RealServerTM,尽管可以使用任何其他合适的格式作为替代。在输入101处,对每个到来的频道输入有一个流转换器110和流缓冲器111。流转换器110、内容编码器112和DRM编码器113接收来自频道配置数据库的频道配置信息。DRM编码器113还接收来自计费数据库107的订阅信息。
内容服务器114向因特网102提供流送频道,移动终端103可以经由因特网102通过向内容服务器114提供流请求而访问流送频道。
使用广播服务器100,移动终端103的用户可以注册和订阅服务。当订阅时,移动终端104的用户可以通过因特网102(例如使用GPRS)从内容服务器114选择频道,然后内容服务器114向移动终端流送频道。使用30kbps的比特率可以获得质量尚可的单音频视频。如果广播服务器100被设定为在频道输入101接收广播电视,因此,可以为用户在移动终端103上提供广播电视,并且可以通过用户界面的适当工具改变频道。这通过将GPRS用作载体实现,并消除了移动终端必须具备如DVB-T或DVB-H接收器的广播电视接收硬件的需要。类似地,使用30kbps的比特率可以获得非常质量非常好的立体声视频。30kbps是使用GPRS的最大可用带宽。3G可以提供50-50kbps的可用带宽。可以使用不同的比特率为每个内容源设置多频道,一个比特率用于GPRS、另一个用于3G。也可以设置成对不同订阅费率不同。
这还允许用户通过广播服务器100在移动终端103上接收广播收音机服务,而不需要移动终端103具有FM或其他收音机接收硬件。考虑到GRRS的最大比特率为128kbps以及不理想频道条件的可能,比特率选择为提供在服务可靠性和内容播放质量间的折中。显而易见的是,对于特定比特率,更好的编码提供更好的内容质量,尽管所选择的编码技术不应对移动终端103造成不必要的编码负担,因这可能会增加电池充电的频率。
DRM编码器113向由内容编码器112提供的内容中增加数字版权管理信息,使得只有有效的订阅者可以正确解码从内容服务器114流送而来的内容。具体而言,DRM编码器113以近似规则的间隔向内容流增加数字指纹。只有有效的订阅者才能去除数字指纹。不能去除数字指纹将导致不能正确的解码内容流。因此,包括数字指纹防止有效订阅者之外的用户收看广播电视频道或收听广播收音机频道。此外,可对不同的内容流应用不同的数字指纹,由此施加到某些频道的限制可能不应用到其他频道。
包括和安装在移动终端103上的软件媒体播放器120的细节由图12示出。请参看图12,媒体播放器120包括到因特网的连接,该连接通过和移动网络运营商的移动电话网络(未示出)的GPRS连接,移动终端103的用户使用该GPRS具有订阅或其他合同。媒体播放器120还包括通信接口121,通信接口121将接受到的流输入到DRM解码器122。自定义的编解码器123和RealTM或者MP4编解码器124都由DRM解码器122提供输入。在给定时刻使用编解码器123和124中的哪个取决于广播服务器对该频道使用的编码。RealTM和MP4编解码器可以处理音频流(用于收音机频道)和视频流(用于电视频道)。编解码器123、124中的每一个都具有连接到显示引擎和用户界面125的输出。频道更新模块126通过因特网102连接到广播服务器100,并且从那里获得关于可用频道的信息。该频道信息存储在信道存储127中。响应于来自显示引擎和用户界面125的频道选择信号,频道存储127向显示引擎和用户界面125提供频道规范信息。该频道规范信息从显示引擎和用户界面125传递到通信接口121,通信接口121使用信道规范信息来保证其在任何给定时刻接受到正确的内容流。
计费验证模块128可通过因特网102连接到计费模块106和广播服务器100的WAP注册模块104。这些模块协作来注册并使移动终端103订阅一个或多个服务。计费验证模块使用移动终端103的IMEI(由形成移动终端一部分的IMEI存储129提供),以标识移动终端。一旦建立一个订阅,从计费模块106向计费验证模块128发送访问码。然后该访问码被储存在计费/DRM配置存储130中。访问码包括数字指纹,并且识别指纹在内容流中的位置。访问码可以与多个频道相关。DRM解码器122用来从计费/DRM存储130接受DRM信息。DRM解码器122可以使用该信息来从内容流中去除数字指纹,这使得内容流可以被自定义编解码器123或者Real/MP4编解码器正确解码。
通信接口121还用于从计费/DRM配置存储130接受信息。这使得媒体播放器120可以在广播服务器100处注册并进行订阅。媒体播放器120包括用于注册电视和/或收音机服务菜单选项,通过选择该菜单项目,媒体播放器开始WAP会话并连接到广播服务器的注册模块104。订阅和计费也通过WAP进行。一旦完成注册和任何订阅和/或计费,WAP会话结束,媒体播放器120返回,以允许选择其他功能。计费以每个频道每个时间单元为基础进行,并基于订阅的基础。订阅有持续时间或结束日期,而且可以和信号频道或者频道分组相关。
参看图13,用于为用户提供内容的系统140包括图12和13的广播服务器、因特网102和移动终端。系统还包括支付服务器141,其连接到因特网102。在本例中,支付服务器141是外置于广播服务器100的。支付服务器141可以由和操作广播服务器100的实体不同的实体操作。例如,支付服务器141可以由移动电话运营商操作。内容服务器142也连接到因特网102,其可以由广播服务器100的运营商或者一个不同的运营商操作。内容服务器142和支付服务器141可以由同一个运营商操作。将移动终端103连接到因特网102的GPRS网络在图中的143示出。
现在详细描述在图12和13的系统中使用数字指纹和模糊。当通过GPRS或其他载体流送内容时,数据内容块在不同的频道上传送到对应的头部。为此目的可以采用任何合适的频道。
如同参考图9所描述的那样,头部和内容块具有相同的内容,尽管头部和内容块不象所示的那样是顺序的。每个头部和内容块具有一对一的关系,并且序列相同。没有出现索引头部或者头部条目。因为传输可以是连续的过程,所以没有与内容块相关的物理起始地址,也没有第一头部或者内容块。
内容块1204-1208的每个与音频或者视频内容相关。视频内容块形成与音频内容块不同的流。每个内容块包括呈现时间戳,因此媒体播放器可以将音频内容与对应的视频内容相关。内容块1204-1208的头部包括识别该内容块与哪个流相关的信息。大多数情况下,只有一个音频流与一个视频流,尽管这可能视情况而不同。
在本例中,内容块由RealProducer工具产生,因此头部1201-1203和内容块1204-1208与Real格式兼容。内容可由Real编解码器解码。Real是RealNetworks公司的商标。使用Real,每个与视频流相关的内容块1204-1208包括和整个视频帧相关的数据。因此,每个内容块包括和帧相关的所有信息,并且只和一个帧相关。周期性地提供关键帧,连续的关键帧之间的每个非关键帧提供前一个帧和该帧间的详细区别。连续的关键帧间的间隔是可在RealProducer中设定的参数。内容块的大小是可变的。在两个连续帧间存在很多区别时,用于第二帧的内容块包括相对大量的数据。区别较小时,第二内容帧通常包括较少的数据。连续帧间没有区别时,第二内容帧可以只包括几个比特的数据。每个头部1201-1203包括识别对应内容块1204-1208是否包括关键帧数据的信息。
在媒体头部定义到内容块的起始的偏移,该头部被首先发送。内容块头部具有恒定长度,其定义内容块数据的可变长度。内容块是临界的。因为媒体播放器从主头部知道到第一块的偏移,然后知道到后面块的偏移,所以媒体播放器可以确定流中内容块的起始。内容的结束在流终止或者当索引区域的标识符读取为下一内容块头部的起始时被标识。
机器或者人工操作者不能通过检查内容块1204-1208的数据确定内容块之间的边界在何处。然而,每个内容块头部1201-1203包括以字节指示的对应内容块1204-1208的长度的数据。因此,内容块1204-1208的起始地址可以通过累加前一内容块的起始地址和前一内容块的长度再加一个字节得到。块的起始地址加上前一块的长度得到该块的最终地址,因此,下一内容块的起始地址通过在该地址加一个额外的字节得到。
因此,如果在内容块1204-1208中的任何一个上增加或者减去任何比特或者字节,所有随后的内容块的实际起始地址将和从头部1201-1203计算所得的地址不匹配。这种情况下,输入到Real解码器的数据不能被正确解码,媒体播放器可能停止工作,并且需要关闭然后重新启动以使其可以工作。
本发明有益地利用这一点。具体而言,对内容块1204-1208中的某些内容块提供一个或多个额外的数据项目。优选地,该额外的数据项目是数字指纹。在本例中,第二、第X和第Y内容块1205、1206、1207具有数字指纹。
让播放内容的媒体播放器知道额外的数据项目在哪里显然是重要的。否则,送往媒体播放器内的解码器的数据可能会是不正确的格式,并因此不会被正确解码,并可能导致媒体播放器崩溃。
在某些实施例中,额外的数据项目以一定的时间间隔包括在流中(就播放或呈现时间而言)出现。例如,额外的数据项目可包括具有紧跟预定的额外的数据项目的间隔整数倍的时间戳的第一个内容块中,例如20秒的额外数据项目间隔。根据此技术,额外的数据项目包括在呈现时间为20秒后的第一个内容块中、包括在呈现时间为40秒后的第一个内容块中、包括在呈现时间为60秒后的第一个内容块中,等等。尽管流可以是连续的,呈现时间戳最终循环回到零。然而,确定给定时间戳是否是额外的数据项目间隔的整数倍后的第一个时间戳是直观的问题。
额外的数据在内容块1205-1207里的位置也是很重要的。在某些实施例中,额外的数据项目被包括在其出现的内容块1205-1207中的每一个内容块中的相同位置。例如,额外的数据可能包括在内容块1205-1207中从字节56开始的位置。内容块中字节57开始直到数字指纹结束的位置被保留。如果内容块包括56个或更少的内容块,那么额外的数据项目就被包括在该内容块的结尾,在所有内容数据之后。这样,如果内容块包括20个字节,那么额外的数据从第21个字节开始。有许多种方式可以将内容数据中的额外数据项目的位置通知媒体播放器。发明人已经发现,特别的良好解决方案是使用预定的方案,在流送数据之前就确定额外的数据项目的位置,并按照该方案的详细资料对媒体播放器进行编程。
例如,媒体播放器被编程处理的可能有20种不同的方法。每种方法由不同的数字指纹方法标识符来识别。这可以形成媒体码的一部分,或者以任何适当的方式向媒体播放器识别。第一种方法涉及在20秒的整数倍后第一个内容块的第56个字节包括数字指纹,这如上所述。第二种方法涉及在紧跟着30秒的整数倍的第一个内容块的第32个字节包括数字指纹。第三种方法涉及在30秒的整数倍后六个内容块后的内容块的第32个字节包括数字指纹。第四方法涉及在60秒的整数倍后的每个内容块的第32个字节包括数字指纹,并在30秒的整数倍后的每个内容块的第11个字节包括数字指纹,除非在该内容块的第32个字节已包括数字指纹,也就是说,数字指纹连续出现时,其位置在第11个字节和第32个字节之间交替。在另一个方法中,包括指纹的内容块是变化的。例如,数字指纹可以相对于紧跟40秒的整数倍的内容块,位于40秒的整数倍后3个内容块,以重复的序列位于40秒的整数倍后7个内容块和2个内容块。数字指纹的位置变化越多,所提供的保护越大。
额外数据项目的长度并不重要,尽管为了避免过多地增加所得的数据大小,优选地额外数据项目不应过长。
因为在解码之前要移除额外数据项目,所以额外数据项目的形式(即内容)并不重要。然而,发明人倾向于额外数据项目的形式为数字指纹。优选地,数字指纹的每次出现是相同的,即,有相同的数据序列。例如,数字指纹的长度可以为5字节。即便第三方确定了构成数字指纹的数据,相同数据的数据串会出现在内容数据中的很多位置,因此,仅仅该信息本身并不足以使得数字指纹可以被移除。
如图10A所示,未修改的内容块1206包括m个字节的数据。在图10B中,示出了增加了数字指纹1301的内容块1206,标号为1304。数字指纹1301将m个数据字节分为两个部分1302、1303。第一部分1302包括数据字节0到n,第二部分1303包括数据字节n+1到m。包括数字指纹的内容块的长度等于m+k字节,其中k是数字指纹的大小。使用上面的例子,n是56,k是5。
为了对防止未授权的播放和/或复制提供额外的保护,在内容块存储在MMC上之前,对全部或部分内容块进行模糊。在内容块包括额外数据项目的情况下,如数字指纹1301,该额外数据项目和形成原始内容块的数据一同被模糊。简单地,模糊包括改变数据,这样所得的模糊数据和原始数据不同,在没有去模糊的情况下,不能被正确解码。通常模糊不改变数据量,所以内容块的大小在模糊之前和之后一样。前面参考图3讨论了模糊。图10C在1305示出了包括数字指纹1301的内容块1304。模糊的内容块1305包括k+m个字节,这和增加数字指纹后的内容块1304一样。
如果对全部内容仅使用一种模糊方法,那么媒体播放器58不用被通知就知道使用了什么样的模糊。
如果所有内容块的模糊方法不同,那么需要通知媒体播放器58对内容块使用了什么模糊方法。这种情况下,可以任何适当的方式从广播服务器100获得模糊标识符。模糊标识符标识DRM编码器113使用什么模糊方法来模糊数据。这使得媒体播放器可以执行相应的去模糊方法。
包括数字指纹的内容块1203-1208包括比它们相应的头部1201-1203所指示的更多的数据。
在对内容块1205-1208的一些或者全部进行模糊后,所得的数据被流送到移动设备103。
当用户操作他们的移动设备103上的媒体播放器以接收流送的电视或者收音机频道时,移动设备和广播服务器100通信,并且安排适当的流被传送到移动设备。头部和任何模糊标识符被单独接收。然后媒体播放器开始读取头部和与内容相关的内容块。媒体播放器中的DRM解码模块112使用任何模糊标识符来确定对内容块数据57进行去模糊需要何种方法。DRM解码模块112还确定是否存在需要呈现流送内容的媒体码,其已经在授权过程中获得。媒体码标识数字指纹1301,并且使得媒体播放器58可以确定在内容块1205-1208中的哪个中出现了数字指纹及其出现的位置。这可以任何适当的方式进行。例如,媒体码可以包括数字指纹的位置码,位置码标识可用于去除数字指纹出现的预定方法。
然后,媒体播放器58准备好播放内容。然而,只有在包括在内容块中的数字指纹和包括在媒体码中的数字指纹相同时,媒体播放器58才播放内容。这对用户被授权使用媒体播放器58播放内容提供进一步的检查。
如果不知道指纹在哪里,就不能由媒体播放器58将其从内容中去除。同时,在媒体播放器58播放内容之前,其保证内容中出现的数字指纹和预期的一样。
在播放内容时,DRM解码模块122对被模糊的内容块进行去模糊。例如,对于图10C中的内容块1305,DRM验证模块44执行在DRM处理模块21进行的模糊的逆过程,由此获得加入指纹的内容块1304。在播放内容时,DRM处理模块21还从包括指纹的内容块中将其去除。例如,对于图10B中的内容块1304,DRM处理模块21去除数字指纹1301,由此获得图10A所示的内容块1206。只有在去模糊并且去除数字指纹后,内容块才被输入编解码器124或者媒体播放器的编解码器123。没有做到这两步中的任何一步都会导致错误的数据被输入到编解码器,这可能会导致媒体播放器崩溃。最好的情况下,内容不能以可用的形式播放。
如果使用任何其他媒体播放器试图播放内容,该尝试将失败。为了构造能够提取可用内容的媒体提取器,媒体提取器需要确切地知道要使用什么模糊方法,并且知道额外数据项目在内容块中的确切位置及其大小。因此,该技术为防止内容被未授权使用提供了严格的保护。即便使用相对简单的模糊方法并包括相对较少的数字指纹,从技术上来讲,所提供的保护也是相对强大的。因为媒体播放器知道使用的是何种去模糊方法,并且知道需要从哪个位置去除数字指纹,所以媒体播放器可以正确地播放内容。然而,媒体播放器不是媒体提取器,所以不能用来以未保护的形式提取内容以做未授权之用。
获得内容将音频或者视频流送到连接到因特网的计算机的技术已公知一段时间,计算机被用来复制内容以使用户收看/收听。现在公知的是,可以应点播将音频片断或者视频片断流送到移动终端,并使用终端上的软件媒体播放器来播放内容。例如由三星制造的MM-A700移动电话已知具备该功能。流送的视频内容由Sprint PCS版本多媒体服务提供。其还向移动电话和其他手持便携式设备提供MP3和类似的播放器,其从预先载入到终端或者连接到终端的可拆卸存储设备上的压缩数据产生音乐和其他音频内容。
将内容流送到移动使得用户有更多机会接触到他们可能此感兴趣的新的音乐和其他内容。
根据本发明的另一方面,提供了向终端提供内容项的方法,该方法包括将内容流送到终端,在终端处,检测指示用户想要内容项的用户输入,内容项至少是下列之一
a)形成流送的内容的一部分,并且b)和形成流送的内容的一部分的内容相关响应于用户输入,从终端向服务器发送请求;响应于接收到请求,识别所请求的内容项,确定用户是否有权使用此内容项,并且向终端提供内容获得手段;以及响应于接收到内容获得手段,控制终端使用内容获得手段来获得内容项。
根据本发明的另一方面,提供了一种系统,包括服务器、终端和将内容流送到终端的装置,终端用于响应指示用户想要内容项的用户输入,内容项至少是下列之一a)形成流送的内容的一部分,并且b)和形成流送的内容的一部分的内容相关向服务器发送请求;服务器响应于接收到请求,识别所请求的内容项,确定用户是否有权使用此内容项,并且向终端提供内容获得手段;以及终端用于使用内容获得手段来获得内容项。
根据本发明的另一方面,提供了一种终端,包括接收流送内容的装置,响应于指示用户想要内容项的用户输入向服务器发送请求的装置,内容项至少是下列之一a)形成流送的内容的一部分,和b)和形成流送的内容的一部分的内容相关,响应于接收到内容获得手段,控制终端使用内容获得手段来获得内容项的装置。
根据本发明的另一方面,提供了操作终端的一种方法,该方法包括接收流送的数据,响应于指示用户想要内容项的用户输入向服务器发送请求,内容项至少是下列之一a)形成流送的内容的一部分,和b)和形成流送的内容的一部分的内容相关;以及响应于接收到内容获得手段,控制终端使用内容获得手段来获得内容项的装置。
本发明的这些方面允许用户在他们的被触发的终端上在接收流送内容时获得内容。这可以使得获取用户所感兴趣的内容(例如购买的)的过程对用户来说很直观,特别是不需要确定所流送的是什么内容并且然后独立地从其他源获得内容的情况下。该过程从技术上来讲也可以很直观,使得通常彼此不相关并且不是设计用于互操作的系统组件合作,以为用户提供内容。
现在通过举例参考附图描述本发明的这些和其他方面的实施例,其中图11是根据本发明与媒体播放器一起操作的广播服务器组件的示意图;以及图12是根据本发明的一些方面操作的媒体播放器的组件示意图。
图13是终端通过该系统可以根据本发明获得内容的系统组件的示意图,并且包括根据发明的组件;以及图14是说明图3的系统根据本发明的各个发明操作以向终端提供内容的操作流程图。
现在参考图11和12描述广播电视和无线电系统。参看图11,广播服务器100包括输入101,其接收频道输入,和到因特网102的输入/输出。移动终端103通过移动网络(未示出)连接到因特网102,因此可以和广播服务器100通信。简而言之,一旦移动终端103的用户订阅广播范围,他们就可以请求向他们流送,通过数据流他们使用移动终端103可以收看电视频道或者收听收音机。
广播服务器100包括WAP注册模块104,通过该模块移动终端103的用户可以通过到因特网102的WAP连接在广播服务器100进行注册。移动终端103可以通过例如它的IMEI号码进行标识。注册模块和注册数据库105进行双向通信,注册数据库105维护注册用户的详细信息,并且允许管理员监控注册用户,并在需要时对他们解除注册。注册之后,用户可以使用计费模块106和因特网102之间的WAP连接订阅服务。计费模块106和计费数据库107进行双向通信,计费数据库107监控订阅信息,并允许管理员查看各个订阅并提供订阅统计。订阅数据库107和注册数据库105彼此进行双向通信,因此注册信息可以传递给计费模块106,订阅和计费信息可以传递给注册数据库105和注册模块104。
频道配置数据库108维护广播服务器100和多个移动终端之间的频道配置参数,图中仅示出了其中之一103。频道配置从配置数据库传递道频道配置器109,频道配置器109有到因特网102的http连接。频道配置数据库108包括频道的配置数据。频道配置数据库108使用基于网页的管理工具进行更新,以增加、修改和删除频道,以符合到来的流,这由手动配置过程设定。
频道配置数据库108中包括的数据构成每个频道的完整URL。
频道配置器109读取频道配置数据库108,准备特定用户可用(即他们订阅的)的所有频道的XML列表,并将该XML列表发送到移动终端上的媒体播放器。媒体播放器上的菜单选项“刷新频道”可用来启动该过程。然后,媒体播放器为用户创建新的频道列表。
频道输入处接收到的数据由包括流转换器110、流缓冲器111、内容编码器112、DRM编码器113和内容服务器114的一系列组件处理。在本例中,流送的内容是RealTM格式的,因此,内容编码器112是RealProducerTM,而且内容服务器114是RealServerTM,尽管可以使用任何其他合适的格式作为替代。在输入101处,对每个到来的频道输入有一个流转换器110和流缓冲器111。流转换器110、内容编码器112和DRM编码器113接收来自频道配置数据库的频道配置信息。DRM编码器113还接收来自计费数据库107的订阅信息。
内容服务器114向因特网102提供流送频道,移动终端103可以经由因特网102通过向内容服务器114提供流请求而访问流送频道。
使用广播服务器100,移动终端103的用户可以注册和订阅服务。当订阅时,移动终端104的用户可以通过因特网102(例如使用GPRS)从内容服务器114选择频道,然后内容服务器114向移动终端流送频道。使用30kbps的比特率可以获得质量尚可的单音频视频。如果广播服务器100被设定为在频道输入101接收广播电视,因此,可以为用户在移动终端103上提供广播电视,并且可以通过用户界面的适当工具改变频道。这通过将GPRS用作载体实现,并消除了移动终端必须具备如DVB-T或DVB-H接收器的广播电视接收硬件的需要。类似地,使用30kbps的比特率可以获得非常质量非常好的立体声视频。30kbps是使用GPRS的最大可用带宽。3G可以提供50-50kbps的可用带宽。可以使用不同的比特率为每个内容源设置多频道,一个比特率用于GPRS、另一个用于3G。也可以设置成对不同订阅费率不同。
这允许用户通过广播服务器100在移动终端103上接收广播收音机服务,而不需要移动终端103具有FM或其他收音机接收硬件。考虑到GRRS的最大比特率为128kbps以及不理想频道条件的可能,比特率选择为提供在服务可靠性和内容播放质量间的折中。显而易见的是,对于特定比特率,更好的编码提供更好的内容质量,尽管所选择的编码技术不应对移动终端103造成不必要的编码负担,因为这可能会增加电池充电的频率。
DRM编码器113向由内容编码器112提供的内容中增加数字版权管理信息,使得只有有效的订阅者可以正确解码从内容服务器114流送而来的内容。具体而言,DRM编码器113以近似规则的间隔向内容流增加数字指纹。只有有效的订阅者才能去除数字指纹。不能去除数字指纹将导致不能正确的解码内容流。因此,包括数字指纹防止有效订阅者之外的用户收看广播电视频道或收听广播收音机频道。此外,可对不同的内容流应用不同的数字指纹,由此施加到某些频道的限制可能不应用到其他频道。
包括和安装在移动终端103上的软件媒体播放器120的细节由图12示出。请参看图12,媒体播放器120包括到因特网的连接,该连接通过和移动网络运营商的移动电话网络(未示出)的GPRS连接,移动终端103的用户使用该GPRS具有订阅或其他合同。媒体播放器120还包括通信接口121,通信接口121将接受到的流输入到DRM解码器122。自定义的编解码器123和RealTM或者MP4编解码器124都由DRM解码器122提供输入。在给定时刻使用编解码器123和124中的哪个取决于广播服务器对该频道使用的编码。RealTM和MP4编解码器可以处理音频流(用于收音机频道)和视频流(用于电视频道)。编解码器123、124中的每一个都具有连接到显示引擎和用户界面125的输出。频道更新模块126通过因特网102连接到广播服务器100,并且从那里获得关于可用频道的信息。该频道信息存储在信道存储127中。响应于来自显示引擎和用户界面125的频道选择信号,频道存储127向显示引擎和用户界面125提供频道规范信息。该频道规范信息从显示引擎和用户界面125传递到通信接口121,通信接口121使用信道规范信息来保证其在任何给定时刻接受到正确的内容流。
计费验证模块128可通过因特网102连接到计费模块106和广播服务器100的WAP注册模块104。这些模块协作来注册移动终端103并使其订阅一个或多个服务。计费验证模块使用移动终端103的IMEI(由形成移动终端一部分的IMEI存储129提供),以标识移动终端。一旦建立一个订阅,从计费模块106向计费验证模块128发送访问码。然后该访问码被储存在计费/DRM配置存储130中。访问码包括数字指纹,并且识别指纹在内容流中的位置。访问码可以与一个信道相关,也可以和多个频道相关。DRM解码器122用来从计费/DRM存储130接受DRM信息。DRM解码器122可以使用该信息来从内容流中去除数字指纹,这使得内容流可以被自定义编解码器123或者Real/MP4编解码器正确解码。
通信接口121还用于从计费/DRM配置存储130接受信息。这使得媒体播放器120可以在广播服务器100处注册并进行订阅。媒体播放器120包括用于注册电视和/或收音机服务的菜单选项,通过选择该菜单项目,媒体播放器开始WAP会话并连接到广播服务器的注册模块104。订阅和计费也通过WAP进行。一旦完成注册和任何订阅和/或计费,WAP会话结束,媒体播放器120返回,以允许选择其他功能。计费以每个频道每个时间单元为基础进行,并基于订阅的基础。订阅有持续时间或结束日期,而且可以和信号频道或者频道分组相关。
参看图13,用于为用户提供内容的系统140包括图11和12的广播服务器100、因特网102和移动终端。系统还包括支付服务器141,其连接到因特网102。在本例中,支付服务器141是外置于广播服务器100的。支付服务器141可以由和操作广播服务器100的实体不同的实体操作。例如,支付服务器141可以由移动电话运营商操作。内容服务器142也连接到因特网102,其可以由广播服务器100的运营商或者一个不同的运营商操作。内容服务器142和支付服务器141可以由同一个运营商操作。将移动终端103连接到因特网102的GPRS网络在图中的143示出。
下面参考图13描述系统140的组件的操作。操作开始于步骤S1,移动终端103从广播服务器100接收音频流。这里,用户可以收听收音机电台,其内容在因特网102上通过GPRS流送到移动终端103。收音机频道通常包括若干音乐轨道,或者连续播放的“歌曲”,偶尔间隔有谈话、广告对话和/或广告。在步骤S2,用户表示他希望购买当前收音机电台播放的轨道。这可以任何方便的方式进行。为了最便利于用户,位于移动终端103上的媒体播放器120在播放收音机电台时,用于提供软键或者其他方便的键作为“购买轨道”选项选择器。因此,在用户通过移动终端103收听收音机电台的任何时候,用户都可以快速且直接的方式表示要求购买一个轨道。为了降低用户偶然地选择轨道的可能性,在进行购买之前,媒体播放器120被配置为要求用户确认要购买一个轨道,例如通过选择由媒体播放器120指定为确认键的一个不同的键。要求按下确认键,以及确认键的标识,在移动终端103的显示屏上指示。
由用户在步骤S2进行的对轨道的请求使得媒体播放器120在步骤S3通过GPRS网络143和因特网向广播服务器发送http请求。步骤S3的http请求可选地包括时间戳或者其他指示用户在步骤S2请求轨道的时间的绝对时间的数据,或者流送内容中的其他数据,该数据可被广播服务器用于标识用户在步骤S2请求轨道的时间。然而,如果假定步骤S2和步骤S3的接收http请求的广播之间没有显著延迟,那么就不需包括时间戳或者其他时间数据。
接收到http请求后,广播服务器100,具体而言是其中的内容服务器114在步骤S4标识现在收音机频道上所播放的轨道是被流送到移动终端的轨道。如果http请求包括时间戳或者其他时间数据,那么步骤S4包括确定用户在步骤S2请求轨道的时间所播放的轨道的标识。在广播服务器100自身产生收音机电台的情况下,那么,轨道的标识对广播服务器100是已知的。如果广播服务器100流送的收音机电台是从外部源接收的,那么,该步骤包括,例如,访问由收音机电台操作的网站以确定当前轨道的标识。
在步骤S4之后,广播服务器100在步骤S5标识所请求的轨道的产品代码。这可以任何适当的方式进行,例如,使用查询表。产品代码唯一地标识所请求的轨道。产品代码可以为任何适当的形式,而且可以来自任何适当的源。产品代码可以来自内容服务器114。步骤S5之后,广播服务器在步骤S6创建支付URL(统一源定位器)。支付URL指示移动终端103为了获得得到内容的许可需要访问的资源。然后,在步骤S7,支付URL和产品代码被发送到移动终端,作为对在S3步骤所发送的http请求的响应。在步骤S8它们由移动终端103接收。
在步骤S9,移动终端103试图访问在步骤S8所接收的资源。URL和存储在支付服务器141的网页或者WAP页相关。试图访问资源包括在步骤S10,移动终端103在因特网102上发送http请求到支付服务器141。作为响应,支付服务器141在步骤S11准备网页或者WAP页,并在步骤S12发送响应的数据到移动终端103。网页和WAP页包括数据条目域,在步骤S13,在该域中,受媒体播放器120控制的移动电话103自动插入产品代码,并且在步骤S14将适当的数据发送给支付服务器141。因此,在步骤S15,支付服务器141接收到产品代码。支付服务器141从在步骤S10和S14接收的数据知道移动终端103的标识。
然后,支付服务器141在步骤S16处理支付。这可以任何适当的方式进行。例如,支付服务器141可以与移动终端103的用户使用信用卡或者其他支付卡注册的服务相关。这种情况下,支付的处理仅仅涉及支付服务器从支付卡中扣除适当的金额。或者,用户拥有预付金额,这种情况下,支付服务器141可以仅仅从用户的预付金额中减去适当的金额。或者,支付服务器141可以由用户的移动网络运营商操作,这种情况下,可以向用户的移动电话帐单中加入适当的金额。
应该理解,支付不一定是必须的,例如,所要求轨道的版权拥有这不需要支付用户许可,或者用户拥有配额,例如,每个月三个免费轨道,或者用户当月还有一条或者多条免费轨道。
不论是否需要用户支付,处理支付在步骤S15的结果是支付失败,或者支付成功,如果支付失败,用户没有得到请求轨道的访问权,如果支付成功,移动终端103的用户被认为有权使用该轨道。步骤S17和用户有权使用轨道的情况相关。
在步骤S17完成的支付引起两个动作。首先,在步骤S18向广播服务器100发送令牌。然后,广播服务器100确认令牌指示移动终端103的用户有权使用该轨道。令牌包括移动终端103的标识符和/或交易标识符,因此,广播服务器100可以区分不同的轨道请求。响应于该确认,广播服务器100在步骤S20向支付服务器141发送确认。响应于在支付服务器141接收到确认,广播服务器100结束其对该过程的参与。另一个由步骤S17完成的支付引起的动作是,从支付服务器141向移动终端103发送内容获得URL,这在图中由步骤S21指示。
内容获得URL包括到由广播服务器100维护的网页或者WAP页的链接。移动终端103接收到该URL后,媒体播放器120使得移动终端103的浏览器被导向至URL的资源地址。这在图中由S23表示。同时,在确认步骤S19之后,广播服务器100在步骤S24准备XML数据,当将XML数据提供给移动终端103时,其使得移动终端从内容服务器142获得内容。响应于移动终端对在内容获得URL的网页的访问,广播服务器100在步骤S25向移动终端103发送XML数据。
从广播服务器100接收到XML数据,移动终端103由媒体播放器120控制,自动遵守XML数据中的指令。这包括在步骤S26控制移动终端103,以内容服务器可以例如从广播服务器在步骤S7发送并且包括在步骤S24所准备的XML数据中的产品代码和识别内容的方式和数据联系内容服务器142,并验证移动终端103有权使用所请求的内容。因此,获得内容的移动终端103的步骤S26和提供内容的内容服务器142的步骤S27合作。在由内容服务器142向移动终端103提供内容后,这两个部件都结束对过程的参与。
一些移动终端不同使用XML数据从内容服务器142获得内容。这种情况下,需要使用不同的技术作为替代。
除了允许用户在步骤S2请求当前轨道外,媒体播放器120可以允许用户请求之前的轨道,或者其他可标识的轨道。这涉及在用户界面上提供由媒体播放器120提供的另外输入,该输入时请求当前轨道的选择的从属选项。这种情况下,广播服务器100具有适当的功能。
提供音视频内容本发明另外的方面涉及提供用于在移动设备上复制的音视频内容的装置,涉及提供用于在移动设备上复制的音视频内容的方法,涉及存储在便携式介质数据或者现有的至少临时位于存储器中的数据,并涉及操作移动设备的方法。
为移动电话(也称为蜂窝电话)提供具有很多象素的彩色显示屏是趋势。随着时间推移,这些显示屏的质量和分辨率增加。此外,半导体技术使得可为移动电话提供相当大量的内存。之前已知将MP3播放器等结合到移动电话中,提供改进的显示屏和增加内存量使得移动电话可用作有限制的数字电视接收机。还提议在多媒体卡(MMC)上提供音视频内容,以在移动电话上显示。诺基亚TM7610是具备这种功能的移动电话之一。该电话可以处理3GPP和RealMedia音视频格式。
目前,在移动设备上提供音视频内容是实验性的和耗费时间的过程。本发明的目的在于提供用于在移动设备上播放的音视频内容的装置和方法,其便捷且可以利用目标移动设备的全部能力。
根据本发明的另一方面,提供用于在移动电话上提供用于播放的音视频内容的装置,该装置包括音视频内容提供结构;用于向存储区域写入数据的装置,该数据包括音视频内容;两个和多个不同的媒体播放器;以及载入程序,载入程序是这样的,当将其载入移动设备时,其使得移动设备的配置参数被确定,使得基于所检测的配置参数确定一个媒体播放器,并且控制移动设备使用所选择的媒体播放器。
这样,可以将例如MMC卡用于更大数目的目标设备配置。这是有益的,特别是在例如MMC卡是从商店等处零售的情况下。
载入程序可以用于控制移动设备去检测其是否已经包括适当的媒体播放器,如果检测到适当的媒体播放器,不是从存储器区域向移动设备安装媒体播放器,而是对该检测到的媒体播放器进行控制。
这是有益的,因为可以降低出现安装和卸载错误的可能性,由此提供移动设备的可靠性。
可以通过单独的可配置的媒体播放器软件应用程序来提供两个和多个媒体播放器。这种情况下,载入程序可以决定需要何种媒体播放器,并操作媒体播放器软件中的合适的软件模块。因此,多个媒体播放器由一个单独的软件应用程序构成,其为一些媒体播放器功能重用模块或功能。
当通过单独的可配置的媒体播放器软件应用程序来提供两个和多个媒体播放器,载入程序可以成为媒体播放器软件应用程序的一部分。
根据本发明的另一方面,提供存储在便携式介质上的数据或者至少暂时位于存储器中的数据,该数据包括音视频内容;两个和多个不同的媒体播放器;以及载入程序,
载入程序是这样的,当将其载入移动设备时,其使得移动设备的配置参数被确定,使得基于所检测的配置参数确定一个媒体播放器,并且控制移动设备使用所选择的媒体播放器。
根据本发明的另一方面,提供用于在移动电话上提供用于播放的音视频内容的方法,该方法包括向存储区域写入数据,该数据包括音视频内容;两个和多个不同的媒体播放器;以及载入程序,载入程序是这样的,当将其载入移动设备时,其使得移动设备的配置参数被确定,使得基于所检测的配置参数确定一个媒体播放器,并且控制移动设备使用所选择的媒体播放器。
根据本发明的另一方面,提供操作移动电话的方法,该方法包括在内置和/或外置存储器上存储音视频内容数据和两个或多个不同的媒体播放器;确定移动设备的配置参数;基于所检测到的配置参数选择一个媒体播放器,以及使用所选择的媒体播放器来使用音视频内容数据。
“移动设备”一词应该被理解为包括移动(蜂窝)电话和具有双向语音通信功能的个人数字助理、以及其他移动设备,包括专用媒体播放器等。
现在参考附图距离描述本发明其他方面的实施例,其中图1是实现本发明的音视频内容提供装置的示意图;图2和3是说明图1的装置的操作步骤的流程图;图4是说明用于在移动电话上播放转换的音视频内容的装置的示意图;以及图15是根据本发明操作的互联计算机系统的示意图。
首先参考图1,其为内容提取转换装置10的图解。其中包括两个可选音视频内容源8和9。第一内容源8使用存储在DVD(数字视频或数字万能光盘)15上的电影数据。自动提取配置模块16检验DVD15上存储的元数据以确定DVD上存储的内容数据的配置。这包括应用tcprobe和分析从DVD15返回的信息。下文对此有更详细的描述。结果是存储在提取配置存储区17的数据,其代表提取配置。存储在存储区17的提取配置数据由DVD解密和提取模块18使用以从DVD15提取电影数据(即内容数据)。结果是写入到中间格式电影数据区域14的中间格式的内容数据。中间格式电影数据区域14中的数据是一种预先确定的格式,并适于转换为一种可在移动电话(未示出)上复制的格式。优选地,中间格式是AVI。这种格式有高解析度的优势,且相对容易处理和转换成3GPP及其它数种适用于移动设备的格式。
第二音视频内容源9从电影数据存储区域12接受数据,其表示为AVI(音视频交替)或其它格式的电影数据。如此提供的电影被格式转换模块13转换格式后,再写入到中间格式电影数据区域14。
因此,音视频源8和9的任意一个都可用于为中间格式电影数据区域14提供电影数据。
移动格式转换模块19转换存储在提取电影数据区域14中的电影数据,并为移动格式电影数据区域20提供电影,该电影为适用于移动电话使用的格式。移动格式转换模块19使用数字版权管理(DRM)处理模块21,此DRM模块21可对得到的电影数据的访问和分发进行某种控制。由移动格式转换模块19所实行的转换使用编解码器22,优选地,此编解码器22是为此用途而定制的设计。很重要的是,由移动格式转换模块19所实行的转换使用存储在产品配置数据区域23中的信息。通过基于目标设备的配置的具体信息(因此该信息也是专用于目标设备的)来控制移动格式转换模块19,装置10可用来为潜在的任何大量目标移动设备提供电影数据。
下面参考图2详细描述由音视频源12所进行的提取过程。
在图2中,提取配置从步骤S1开始。其使用图1示出的自动提取配置16。提取配置开始于对DVD源15的分析。范例分析的结果,即对于查询的响应,如下所示(dvd_reader.c)mpeg2 pal169 only letterboxed UO 720×576 video(dvd_reader.c)ac3 en drc 48kHz 6Ch
(dvd_reader.c)ac3 de drc 48kHz 6Ch(dvd_reader.c)ac3 en drc 48kHz 2Ch(dvd_reader.c)subtitle 00=<en>
(dvd_reader.c)subtitle 01=<de>
(dvd_reader.c)subtitle 02=<sv>
(dvd_reader.c)subtitle 03=<no>
(dvd_reader.c)subtitle 04=<da>
(dvd_reader.c)subtitle 05=<fi>
(dvd_reader.c)subtitle 06=<is>
(dvd_reader.c)subtitle 07=<en>
(dvd_reader.c)subtitle 08=<de>summary for/media/dvdrecorder/,(*)=not default,0=not detectedimport frame size-g 720×576[720×576]aspect ratio16∶9(*)frame rate-f 25.000[25.000]frc=3audio track-a0
-e 48000,16,2[48000,16,2]-n 0x2000
audio track-a1
-e 48000,16,2[48000,16,2]-n 0x2000
audio track-a2
-e 48000,16,2[48000,16,2]-n 0x2000
[tcprobe]V185950 frames,7438 sec@25.000fps[tcprobe]A116.22 MB@128 kbps[tcprobe]CD650MB| V533.8 MB@602.0 kbps[tcprobe]CD700MB| V583.8 MB@658.4 kbps[tcprobe]CD1300MB|V1183.8 MB@1335.1 kbps[tcprobe]CD1400MB|V1283.8 MB@1447.9 kbps这些信息是由作为代码转换程序的一部分的tcprobe返回的。S1中的部分提取配置过程包括确定目标设备的配置,其由存储在产品配置数据区域23中的信息所表示。因此,理解存储在其中的这些信息是有帮助的。
产品配置数据区域23中存储的信息数据确定目标设备显示的纵横比。大部分情况下纵横比为4∶3,但这个比例可能随设备不同而变化。某些设备会使用16∶9(宽屏幕)的纵横比,虽然实际使用中纵横比的值和传统电视的纵横比可能会不同。产品配置数据还确定所需的音频语言。它还确定了是否需要字幕。如果需要,产品的信息配置将确定所需字幕的语言。产品配置数据包括音视频轨道的比特率。比特率可能取决于目标设备的容量、目标设备上安装的特定媒体播放器或其它任何因素。产品配置数据还可以指明最大容量大小,例如指明一个MMC卡的可用存储空间。产品配置信息还包括电影数据即将存储的格式的指示。例如,存储格式可能为3GPP或MPEG-4,或其它任何合适的格式。
产品配置数据区域23中的信息还包括目标设备的类型。例如,它可能是即将复制电影的目标移动电话的型号。在某些情况下,相同的型号的两个不同的移动电话,可能在硬/软件的配置上有所不同。当可能存在不同配置时,并且这种情况可能关系到由装置10所进行的处理,那么产品配置数据区域23中所存储的信息优选地也包括硬/软件配置与标准配置的区别的详细资料,或仅指定具体配置。
自动提取配置模块16由tcprobe返回的信息(具体的是前面复制数据的第一行)确定DVD15只包含MPEG 2PAL格式的宽屏(即16∶9纵横比)视频。模块16还分别通过第二和第四行确定有三条音轨。第一和第二条音轨各有6个声道和48kHz的采样率。第一和第二音轨由其标识”en”和”de”,分别确定为英语和德语。第三条音轨是英语,并且是48kHz采样率的立体声(双声道)信号。此模块还确定DVD 15有8个使用不同语言的字幕轨道。模块16还确定了帧率、总帧数和电影长度。模块16使用返回信息的最后四行来确定从DVD16提取内容的比特率变化。
自动提取配置模块16的功能还包括获得解密密钥,在允许将DVD中的音视频内容进行复制时,这些密钥是必需的。
由自动提取配置模块16所确定的信息构成DVD15的配置。
基于产品配置数据区域23中的信息和DVD配置信息,自动提取配置模块16决定需要用到哪个音轨、哪个视频通道(如果有多于一个视频通道的话)以及哪个字幕轨道。通常,由该过程确定的字幕轨道,是与在产品配置数据区域23中确定的字幕语言相同的字幕列表中的第一个。同样的,由该过程确定的音轨,是与在产品配置数据区域23中确定的音轨为同一种语言的音轨,其也是最适合目标设备使用的。通常情况下,DolbyTMPro LogicTM音频通道是不合适的,因为大多数目标设备不会有能处理这种音频信号的配备。立体声音轨通常是最合适的音频轨道,尽管对于只有单声道的目标设备来说,单声道音轨才是最合适的。通常,由该过程选择的视频通道是主通道,即电影本身,而不是任何“附加部分”,比如预告片和幕后记录片或通常包含在DVD内的此类内容。对由该过程确定的音轨与通道进行确认的数据保存在提取配置数据区域17中。
在步骤S2中,存储在DVD15中的数据以流的方式读出。在图1中,这由DVD数据区域15的电影和DVD解密和提取模块18之间的箭头来表示。在该时刻,读出的只有内容,因为DVD解密和提取模块18不直接使用配置信息或元数据。同样,读出的只是相关内容。提取配置数据区域17确定相关视频通道、相关音频通道和任何相关字幕通道,而相关内容是由存储在提取配置数据区域17中的信息向DVD解密和提取模块18标示的。在步骤S3中,DVD解密和提取模块18对DVD数据流的相关部分进行解密。该解密使用代码转换程序和由自动提取配置模块16提取的密钥。解密是即时进行的,即从DVD15中读出内容时的持续过程。数据在解密的同时被转换成中间格式,即AVI格式。在步骤S5中,电影数据作为单独或一系列中间格式的文件,写入提取电影数据缓冲器14。
在步骤S6中,进行提取后处理。这包括将出现在提取电影数据缓冲器14中的内容文件或多个文件分割或合并成组成部分。是否会有任何分割或合并及其程度,取决于在产品配置数据区域23中存储的目标设备配置信息。大多数情况下,这个步骤会包括将提取内容整齐地分割成多个卷。在许多情况下,由于移动电话的限制,以多卷的形式来提供电影内容是较好的。将DVD电影内容分割成对应于原始DVD15中的章节的多卷是一个相当直观的过程。步骤S6以后,电影数据的提取就结束了。
结果是存储在提取电影数据缓冲器14中的电影数据,该数据被编码成中间格式(如AVI格式),只包含一个音轨,其语言与存储在产品配置数据区域23内的产品配置信息所确定的语言相同,并且可选地包含一个所需语言的字幕轨道。通常提取出的电影数据被分成数个卷,虽然视乎目标设备的配置来讲,这点可能是不必要的。
除了DVD数据源15外,也可以使用其它电影数据存储区域12。这样,将格式转换到中间格式(如AVI)的工作将由格式转换模块13完成。只要采用DVD源15,那么第二内容源9就可被略去。如果包括其它电影数据存储区域12,那么格式转换模块13的形式为适合其它电影数据存储区域12所提供的特定内容的类型。存储在其它电影数据存储区域12中的每一种数据类型可能都需要一个单独的格式转换模块13。
图3所示过程开始于提取过程的结束。在步骤S1,读出提取文件。这是一个即时过程,用提取电影数据缓冲器14和移动格式转换模块19之间的箭头连接来表示。在步骤S2中,移动格式转换模块19将包含电影数据的内容进行解码。此步骤使用代码转换程序。在步骤S3中,解码后的内容再被编码成所需的移动格式,该格式由存储在产品配置数据区域23中的产品配置信息所确定。编码由编解码器22完成。编码工作将以这样一种方式进行,即使得音视频内容拥有最合适的比特率。移动格式转换模块19决定最合适的比特率。具体来说,移动格式转换模块19使用以下信息来决定最合适的比特率,即,视频数据中的视频帧数、音轨长度,以及存储在产品配置数据区域23中的最大容量信息。通常,在最大卷容量能容纳整个内容的情况下能够使用的最大比特率,就是最适合的音视频比特率。
通常,为音视频所选的比特率能够为音视频提供相当的质量,虽然,在考虑最大容量的情况下,如果移动格式电影数据给人更佳的播放感受,音频和视频比特率可以存在一些差异。例如,某个质量等级的音频和视频内容的数据大小超过最大容量的大小,但当质量等级下降时其数据大小又远远小于容量,这时移动格式转换模块19可以决定为视频内容采用更高比特率,而为音频内容采用较低比特率,以充分利用可用容量大小。
如果对于存储在产品配置数据区域23中的信息的检查发现,目标设备并没有为播放时采用与DVD源15相同的帧率而优化,那么这种情况由移动格式转换模块19处理。具体地说,移动格式转换模块19可能修改内容数据的帧率,以使其为目标移动设备优化。通常,这会使得帧率降低,由于移动电话屏幕大小有限,其降低帧率的影响不会像全屏显示那样明显。如果源帧率不是最佳帧率的整数倍,那么当移动电话播放时,移动格式转换模块19可能使用帧交替以对生成的电影内容实现平滑效果。
因此,步骤S3中使用存储在产品配置数据区域23中的信息来控制移动格式转换模块19,以使用编解码器22将数据以合适的比特率,编码成合适的数据格式。
产品配置数据区域23可以根据目标设备进行更新,这在特殊的格式转换过程中是受关注的。这种情况下,产品配置数据区域23一次只存储一个目标设备的数据,并且此数据将随需要更改。或者,产品配置数据区域23还可以为多个目标设备的每一个设备存储一组数据,并且在一定时刻根据某个感兴趣的特定目标设备来选择一组数据。两种情况下,都可以很容易地控制装置10以执行格式转换过程,该过程针对多个目标设备配置中的每一个进行了优化。
在步骤S4中加入数字版权管理内容。这通过移动格式转换模块19使用DRM处理模块21来实现。步骤S4所实现的步骤取决于存储于产品配置数据区域23中的信息所确定的目标格式。加入的DRM内容的形式可能具体取决于编解码器22的形式。编解码器22的形式进而影响媒体播放器中编解码器的形式。具体而言,当编解码器22是自定义编解码器时,使用自定义的DRM形式。这里,可以选择DRM的形式来为自定义媒体播放器提供最佳操作。如果一个现有编解码器,如Real MediaTM,用于编解码器22,就将使用合适的DRM形式。
如果媒体播放器和目标设备允许,DRM内容就可以如下地施加内容复制和分发限制。一个选择是,将内容查看限制于特定的目标设备或用户,如由IMEI或IMSI号或其它任何唯一或准唯一的序列号进行确定。这种情况下,产品配置数据区域23需包括此序列号,以便于移动格式转换模块19能与DRM处理模块21及产品配置数据区域23共同操作,在电影数据中包括合适的DRM内容。另外一个选择是,允许在某个时间和/或日期前可观看电影。因此,所产生的电影将有一个“保存期”,并且在DRM内容指定的日期和/或时间之后将不能观看此电影。第三个选择是允许以预定的次数(N次)观看电影内容。一旦电影被观看N次后,目标设备内的媒体播放器将不会允许内容被再次使用,从而使其无效。或者,可以安排媒体播放器在电影数据被第N次观看后,清除MMC卡或删除或破坏电影数据。可选地或另外地,DRM内容可以防止未经授权的内容被复制或转发。因此,可以说DRM内容防止或者阻止非指定的对移动设备上的内容使用以及对内容的复制。
优选地,DRM内容被加密并被包含在生成的电影数据的头部,虽然DRM内容可以任何恰当的方式包含在电影数据中。明显的,如果目标设备需要使用标准DRM过程,DRM处理模块21中由移动格式转换模块19包括在电影数据中的DRM内容,将遵循相关标准。
在步骤S5,目标内容作为文件写入移动格式电影数据区域20。该文件可以是例如计算机服务器的内寸区域,或者该内容文件可以直接写入到MMC卡或其他便携式可移动介质。步骤S5中写入的文件包括正确格式的内容,并包括嵌入电影内容中的或单独文件的DRM内容。步骤S5完成后,转换完成,结果是存储在移动格式电影数据区域20中的构成原存储在DVD数据区域15中的电影的数据,但该数据编码成适于目标移动设备使用的合适的格式,并有适当的音视频内容比特率。而且,该电影包含合适的DRM内容、为适合目标设备的格式而分的多卷、一个音频轨道,以及可选的单个字幕轨道。
当DVD15中的视频内容与目标设备的显示设备有不同的纵横比时,优选地对DVD上的视频信号进行修改,以使其与目标设备的纵横比相对应。这可以由DVD加密和提取模块18完成。然而,优选地,对DVD15中的视频信号进行修改以使其对应目标设备的纵横比可由移动格式转换模块19完成。修改可能包括,当需要较窄图像时,对图像左右两边做简单的裁剪,或当需要更宽画面时对图像上下边做裁剪。修改也可以包括在宽度或高度上做有限的图像拉伸,或用其作为替代。这种情况下,首选地应让显示的中间区域比显示的边缘区域有更多图像线性。这样,对图像边缘要比中间部分做更大程度的压缩或拉伸。这样,可根据实际情况,对DVD加密和提取模块18或移动格式转换模块19进行预编程,或其它任何合适的方式,是其根据源纵横比和目标设备纵横比的查询表,以决定需要何种裁剪和/或拉伸,以及需要何种相应的修改。
根据本发明,写入到移动格式电影数据区域20的数据仅与内容相关。在有利的实施例中,写入到移动格式电影数据区域20的数据还包括一个或多个媒体播放器。这样做的优点有以下几个原因。第一,这减少了需要被移动格式转换模块19考虑的因素数量。目标设备配置信息不需要包括确定移动设备内的媒体播放器的信息,因为媒体播放器信息已在电影内容数据中包含。第二,这样可以允许电影内容数据在移动设备内没有合适的媒体播放器,或根本没有媒体播放器的情况下被使用。
媒体播放器可以嵌入到,或可选地包含在,电影内容数据中。将媒体播放器嵌入内容数据更易于对电影内容做控制,并使电影内容数据很难被非授权人分拆。通常一个媒体播放器需耗用不到1M的存储空间。
在一个实施例中,与电影内容数据和载入程序一起存储的,还有数种不同的媒体播放器。程序检测移动设备的相关配置,并以此确定使用哪种媒体播放器播放电影内容数据。这样,有可能将一张MMC卡应用在更多目标设备配置上,尤其是当MMC卡是从商店货架零售购买的情况下,这显然是有益的。
优选地,安排载入程序控制移动设备,以检测其是否已包含合适的媒体播放器。如果检测到合适的媒体播放器,其将被使用,而不是从MMC卡向移动设备安装媒体播放器。这是有益的,因为其减少了可能存在的安装和卸载错误,从而改善了移动设备的可靠性。
在第二个实施例中,可以通过单独的可配置的媒体播放器软件应用程序来提供多媒体播放器,而不是包含多个不同的媒体播放器。这种情况下,载入程序可以决定需要何种媒体播放器,并操作媒体播放器软件中的合适的软件模块。不适用于移动设备配置的软件模块或功能不被使用。这样,多个媒体播放器由一个单独的软件应用程序构成,其为一些媒体播放器功能重用模块或功能。当使用单个媒体播放器软件应用程序时,载入程序自己可以成为媒体播放器软件应用程序的一部分。
存储在移动格式电影数据区域20中的电影内容数据和任何媒体播放器,都可以以任何合适方式与目标移动设备通信。可以设想,至少在下面的几年里,大多数MMC卡或其它可传输媒体都可用于存储和传输电影内容。然而,随着移动数据传输变得更快速和更便宜,可以期待的是,电影内容将可通过空中传播,例如使用WAP或3G数据传输。传输还可以这样实现,即使用短距离连接如电缆,或使用IrDA和蓝牙等无线技术,或使用类似MMC卡的可传输存储介质,来从一台连接到因特网并已从网站上下载了电影内容的PC进行传输。
移动设备示意图在图4中示出。移动电话40包括所有语音通信所需的传统部件,为清楚起见这里未示出。电话40包括电影解码模块41,其与编解码器42双向通信。移动电影数据区域43中存储电影,移动电影数据区域43可能为任何合适的形式。移动电影数据区域43可以是MMC卡、通过外置驱动器连接的存储空间、内置RAM或其它内存,或可能采取的任何合适形式。DRM验证模块44被连接以从移动电影数据区域43接收数据。DRM验证模块44根据使用DRM数据所做出的决定、和时间/日期或输入的合适序列号,以控制电影解码模块41去允许或不允许对移动电影数据区域43中的电影数据进行解码。当DRM验证模块44允许对移动电影数据区域43中的电影数据进行解码时,而且由用户输入来控制这样做时,电影解码模块41使用编解码器42对数据进行解码,并将解码后的数据提供给缓冲器45。电影从缓冲器45中被显示模块47显示在显示器46上。该显示模块对电影解码模块41提供控制数据以允许以适当的速率解码。
如果移动电影数据区域43中存有载入程序的话,可安排移动电话40从中安装。然后载入程序会使得移动电话40确定其配置并选择媒体播放器,相应地,其也存储在移动电影数据区域43中。然后该媒体播放器被用于播放电影内容数据。如果移动电话40中已经安装了合适的媒体播放器,那么就将使用此媒体播放器,而不从移动电影数据区域43中安装媒体播放器。
尽管我们说移动设备是移动(蜂窝)电话,但其也可以是个人数字助理(PDA),该PDA可能具有或者不具有双向语音通信功能。本发明主要涉及在设计用于其他目的的设备上提供音视频内容。然而,本发明也涉及专用的媒体播放器。
在DVD上的电影要在可转移介质上提供以供通用种类的目标移动设备使用,或者甚至在电影要在同样模型编号的多个小数目的目标设备上提供时,可以有益的利用如图5所示的系统。在图5中,示出了第一到第三服务器30、31、32。第一服务器30指定为管理节点,包括到第二和第三服务器31、32的连接,第二和第三服务器31、32构成子节点。服务器30-32中的每一个包括至少第一和第二DVD驱动33。在本例中,DVD需要手动地插入DVD驱动并从中去除,尽管需要的情况下可以使用机器人或者其他自动化工具作为替代进行该任务。
每个服务器30-32从DVD驱动33中的DVD并行地提取并转换电影。可以从单个驱动中顺序地提取电影,即,一个接一个地提取。
假定DVD驱动33具有足够的速度,服务器30-32具有足够的处理速度,对一张DVD的DVD提取和处理过程可以在十分钟内完成。因此,要在所得的电影中包括移动设备的序列号或者类似信息,以使该电影只能在该目标设备上播放,则对每个特定目标设备需要实现一次转换过程。应该理解,只需要进行一次提取过程,因为提取后的电影存储在提取电影数据缓冲器内。
电影要被同一类的多个目标设备使用的情况下,提取和转换过程只需进行一次。一旦电影以移动格式存储在移动格式电影数据区域20中,其就可以根据需要多次复制到MMC卡或者其他可拆卸介质设备。这可以任何适当的方式进行,例如使用内置或外置MMC驱动。
用于管理系统安装特定加工的配置位于普通文件中,例如,位于/etc/子目录中。电影产品的配置位于使用自定义的Postgres或者Oracle数据库的数据库表中,尽管根据规模和性能要求,可以使用任何其他合适的数据库作为替代。运行在子节点服务器31、32上的管理系统和第一服务器30上的管理系统通信。管理节点30负责任务分配。每个转换过程需要管理系统的一个实例。
存储内容本发明还涉及包括安全装置的便携式数据存储介质。
为移动电话(也称为蜂窝电话)提供具有很多象素的彩色显示屏是趋势。随着时间推移,这些显示屏的质量和分辨率增加。此外,半导体技术使得可为移动电话提供相当大量的内存。之前已知将MP3播放器等结合到移动电话中,提供改进的显示屏和增加内存量使得移动电话可用作有限制的数字电视接收机。还提议在多媒体卡(MMC)上提供音视频内容,以在移动电话上显示。诺基亚TM7610是具备这种功能的移动电话之一。该电话可以处理3GPP和RealMedia音视频格式。
在MMC卡上提供版权作品以向公众出售潜在地提供了内容被非法复制和分发的机会。本发明致力于提供一种如MMC卡的存储装置,在该装置上,内容不能被轻易地访问以使得其被复制,但使得其可被播放使用。
根据本发明的另一方面,提供便携式数据存储介质,包括非易失性存储器,其具有存储于其中的包括形成媒体播放器的计算机可读指令;接口,包括用于连接到外置设备的终端;控制器,用于从非易失性存储器中读取数据并将数据馈入接口;以及安全装置,其中,当媒体播放器在外置设备上运行时,用户和安全装置交互,使得安全装置可以确定媒体播放器是否有权从非易失性存储器访问内容数据,安全装置响应地允许或者不允许内容数据。
控制器的数据终端可以提供安全装置连接到接口。
或者,安全装置可以集成到控制器内部。这种情况下,控制器和安全装置可以用于解密从非易失性存储器读出的内容数据。
有益地,控制器还用于从接口向非易失性存储器写入数据。这种情况下,如果控制器和安全装置可以用于解密从非易失性存储器读出的内容数据,其也可用于加密从接口写入到非易失性存储器的数据。
现在参考附图距离描述本发明其他方面的实施例,其中图1是实现本发明的音视频内容提供装置的示意图;图2和3是说明图1的装置的操作步骤的流程图;图4是说明用于在移动电话上播放转换的音视频内容的装置的示意图;图5示出了MMC卡和图4的移动电话的结合;图6和图7根据本发明示出了的MMC硬件的替代实施例;图8是说明图4的移动电话和图6和图7的MMC卡之间的安全验证的流程图;以及图15是根据本发明操作的互联计算机系统的示意图。
所有附图中,对类似的元件重复使用参考标号。
首先参考图1,其为内容提取转换装置10的图解。其中包括两个可选音视频内容源8和9。第一内容源8使用存储在DVD(数字视频或数字万能光盘)15上的电影数据。自动提取配置模块16检验DVD15上存储的元数据以确定DVD上存储的内容数据的配置。这包括应用tcprobe和分析从DVD15返回的信息。下文对此有更详细的描述。结果是存储在提取配置存储区17的数据,其代表提取配置。存储在存储区17的提取配置数据由DVD解密和提取模块18使用以从DVD15提取电影数据(即内容数据)。结果是写入到中间格式电影数据区域14的中间格式的内容数据。中间格式电影数据区域14中的数据是一种预先确定的格式,并适于转换为一种可在移动电话(未示出)上复制的格式。优选地,中间格式是AVI。这种格式有高解析度的优势,且相对容易处理和转换成3GPP及其它数种适用于移动设备的格式。
第二音视频内容源9从电影数据存储区域12接受数据,其表示为AVI(音视频交替)或其它格式的电影数据。如此提供的电影被格式转换模块13转换格式后,再写入到中间格式电影数据区域14。
因此,音视频源8和9的任意一个都可用于为中间格式电影数据区域14提供电影数据。
移动格式转换模块19转换存储在提取电影数据区域14中的电影数据,并为移动格式电影数据区域20提供电影,该电影为适用于移动电话使用的格式。移动格式转换模块19使用数字版权管理(DRM)处理模块21,此DRM模块21可对得到的电影数据的访问和分发进行某种控制。由移动格式转换模块19所实行的转换使用编解码器22,优选地,此编解码器22是为此用途而定制的设计。很重要的是,由移动格式转换模块19所实行的转换使用存储在产品配置数据区域23中的信息。通过基于目标设备的配置的具体信息(因此该信息也是专用于目标设备的)来控制移动格式转换模块19,装置10可用来为潜在的任何大量目标移动设备提供电影数据。
下面参考图2详细描述由音视频源12所进行的提取过程。
在图2中,提取配置从步骤S1开始。其使用图1示出的自动提取配置16。提取配置开始于对DVD源15的分析。范例分析的结果,即对于查询的响应,如下所示(dvd_reader.c)mpeg2 pal 16∶9 only letterboxed UO 720×576 video(dvd_reader.c)ac3 en drc 48kHz 6Ch(dvd_reader.c)ac3 de drc 48kHz 6Ch(dvd_reader.c)ac3 en drc 48kHz 2Ch(dvd_reader.c)subtitle 00=<en>
(dvd_reader.c)subtitle 01=<de>
(dvd_reader.c)subtitle 02=<sv>
(dvd_reader.c)subtitle 03=<no>
(dvd_reader.c)subtitle 04=<da>
(dvd_reader.c)subtitle 05=<fi>
(dvd_reader.c)subtitle 06=<is>
(dvd_reader.c)subtitle 07=<en>
(dvd_reader.c)subtitle 08=<de>summary for/media/dvdrecorder/,(*)=not default,0=not detectedimport frame size-g 720×576[720×576]aspect ratio16∶9(*)frame rate-f 25.000[25.000] frc=3audio track-a0
-e 48000,16,2[48000,16,2]-n 0x2000
audio track-a1
-e 48000,16,2[48000,16,2]-n 0x2000
audio track-a2
-e 48000,16,2[48000,16,2]-n 0x2000
[tcprobe]V185950 frames,7438 sec@25.000fps[tcprobe]A116.22 MB@128 kbps[tcprobe]CD650MB| V533.8 MB@602.0 kbps[tcprobe]CD700MB| V583.8 MB@658.4 kbps[tcprobe]CD1300MB|V1183.8 MB@1335.1 kbps[tcprobe]CD1400MB| V1283.8 MB@1447.9 kbps这些信息是由作为代码转换程序的一部分的tcprobe返回的。S1中的部分提取配置过程包括确定目标设备的配置,其由存储在产品配置数据区域23中的信息所表示。因此,理解存储在其中的这些信息是有帮助的。
产品配置数据区域23中存储的信息数据确定目标设备显示的纵横比。大部分情况下纵横比为4∶3,但这个比例可能随设备不同而变化。某些设备会使用16∶9(宽屏幕)的纵横比,虽然实际使用中纵横比的值和传统电视的纵横比可能会不同。产品配置数据还确定所需的音频语言。它还确定了是否需要字幕。如果需要,产品的信息配置将确定所需字幕的语言。产品配置数据包括音视频轨道的比特率。比特率可能取决于目标设备的容量、目标设备上安装的特定媒体播放器或其它任何因素。产品配置数据还可以指明最大容量大小,例如指明一个MMC卡的可用存储空间。产品配置信息还包括电影数据即将存储的格式的指示。例如,存储格式可能为3GPP或MPEG-4,或其它任何合适的格式。
产品配置数据区域23中的信息还包括目标设备的类型。例如,它可能是即将复制电影的目标移动电话的型号。在某些情况下,相同的型号的两个不同的移动电话,可能在硬/软件的配置上有所不同。当可能存在不同配置时,并且这种情况可能关系到由装置10所进行的处理,那么产品配置数据区域23中所存储的信息优选地也包括硬/软件配置与标准配置的区别的详细资料,或仅指定具体配置。
自动提取配置模块16由tcprobe返回的信息(具体的是前面复制数据的第一行)确定DVD15只包含MPEG 2 PAL格式的宽屏(即16∶9纵横比)视频。模块16还分别通过第二和第四行确定有三条音轨。第一和第二条音轨各有6个声道和48kHz的采样率。第一和第二音轨由其标识”en”和”de”,分别确定为英语和德语。第三条音轨是英语,并且是48kHz采样率的立体声(双声道)信号。此模块还确定DVD15有8个使用不同语言的字幕轨道。模块16还确定了帧率、总帧数和电影长度。模块16使用返回信息的最后四行来确定从DVD16提取内容的比特率变化。
自动提取配置模块16的功能还包括获得解密密钥,在允许将DVD中的音视频内容进行复制时,这些密钥是必需的。
由自动提取配置模块16所确定的信息构成DVD15的配置。
基于产品配置数据区域23中的信息和DVD配置信息,自动提取配置模块16决定需要用到哪个音轨、哪个视频通道(如果有多于一个视频通道的话)以及哪个字幕轨道。通常,由该过程确定的字幕轨道,是与在产品配置数据区域23中确定的字幕语言相同的字幕列表中的第一个。同样的,由该过程确定的音轨,是与在产品配置数据区域23中确定的音轨为同一种语言的音轨,其也是最适合目标设备使用的。通常情况下,DolbyTMPro LogicTM音频通道是不合适的,因为大多数目标设备不会有能处理这种音频信号的配备。立体声音轨通常是最合适的音频轨道,尽管对于只有单声道的目标设备来说,单声道音轨才是最合适的。通常,由该过程选择的视频通道是主通道,即电影本身,而不是任何“附加部分”,比如预告片和幕后记录片或通常包含在DVD内的此类内容。对由该过程确定的音轨与通道进行确认的数据保存在提取配置数据区域17中。
在步骤S2中,存储在DVD15中的数据以流的方式读出。在图1中,这由DVD数据区域15的电影和DVD解密和提取模块18之间的箭头来表示。在该时刻,读出的只有内容,因为DVD解密和提取模块18不直接使用配置信息或元数据。同样,读出的只是相关内容。提取配置数据区域17确定相关视频通道、相关音频通道和任何相关字幕通道,而相关内容是由存储在提取配置数据区域17中的信息向DVD解密和提取模块18标示的。在步骤S3中,DVD解密和提取模块18对DVD数据流的相关部分进行解密。该解密使用代码转换程序和由自动提取配置模块16提取的密钥。解密是即时进行的,即从DVD15中读出内容时的持续过程。数据在解密的同时被转换成中间格式,即AVI格式。在步骤S5中,电影数据作为单独或一系列中间格式的文件,写入提取电影数据缓冲器14。
在步骤S6中,进行提取后处理。这包括将出现在提取电影数据缓冲器14中的内容文件或多个文件分割或合并成组成部分。是否会有任何分割或合并及其程度,取决于在产品配置数据区域23中存储的目标设备配置信息。大多数情况下,这个步骤会包括将提取内容整齐地分割成多个卷。在许多情况下,由于移动电话的限制,以多卷的形式来提供电影内容是较好的。将DVD电影内容分割成对应于原始DVD15中的章节的多卷是一个相当直观的过程。步骤S6以后,电影数据的提取就结束了。
结果是存储在提取电影数据缓冲器14中的电影数据,该数据被编码成中间格式(如AVI格式),只包含一个音轨,其语言与存储在产品配置数据区域23内的产品配置信息所确定的语言相同,并且可选地包含一个所需语言的字幕轨道。通常提取出的电影数据被分成数个卷,虽然视乎目标设备的配置来讲,这点可能是不必要的。
除了DVD数据源15外,也可以使用其它电影数据存储区域12。这样,将格式转换到中间格式(如AVI)的工作将由格式转换模块13完成。只要采用DVD源15,那么第二内容源9就可被略去。如果包括其它电影数据存储区域12,那么格式转换模块13的形式为适合其它电影数据存储区域12所提供的特定内容的类型。存储在其它电影数据存储区域12中的每一种数据类型可能都需要一个单独的格式转换模块13。
图3所示过程开始于提取过程的结束。在步骤S1,读出提取文件。这是一个即时过程,用提取电影数据缓冲器14和移动格式转换模块19之间的箭头连接来表示。在步骤S2中,移动格式转换模块19将包含电影数据的内容进行解码。此步骤使用代码转换程序。在步骤S3中,解码后的内容再被编码成所需的移动格式,该格式由存储在产品配置数据区域23中的产品配置信息所确定。编码由编解码器22完成。编码工作将以这样一种方式进行,即使得音视频内容拥有最合适的比特率。移动格式转换模块19决定最合适的比特率。具体来说,移动格式转换模块19使用以下信息来决定最合适的比特率,即,视频数据中的视频帧数、音轨长度,以及存储在产品配置数据区域23中的最大容量信息。通常,在最大卷容量能容纳整个内容的情况下能够使用的最大比特率,就是最适合的音视频比特率。
通常,为音视频所选的比特率能够为音视频提供相当的质量,虽然,在考虑最大容量的情况下,如果移动格式电影数据给人更佳的播放感受,音频和视频比特率可以存在一些差异。例如,某个质量等级的音频和视频内容的数据大小超过最大容量的大小,但当质量等级下降时其数据大小又远远小于容量,这时移动格式转换模块19可以决定为视频内容采用更高比特率,而为音频内容采用较低比特率,以充分利用可用容量大小。
如果对于存储在产品配置数据区域23中的信息的检查发现,目标设备并没有为播放时采用与DVD源15相同的帧率而优化,那么这种情况由移动格式转换模块19处理。具体地说,移动格式转换模块19可能修改内容数据的帧率,以使其为目标移动设备优化。通常,这会使得帧率降低,由于移动电话屏幕大小有限,其降低帧率的影响不会像全屏显示那样明显。如果源帧率不是最佳帧率的整数倍,那么当移动电话播放时,移动格式转换模块19可能使用帧交替以对生成的电影内容实现平滑效果。
因此,步骤S3中使用存储在产品配置数据区域23中的信息来控制移动格式转换模块19,以使用编解码器22将数据以合适的比特率,编码成合适的数据格式。
产品配置数据区域23可以根据目标设备进行更新,这在特殊的格式转换过程中是受关注的。这种情况下,产品配置数据区域23一次只存储一个目标设备的数据,并且此数据将随需要更改。或者,产品配置数据区域23还可以为多个目标设备的每一个设备存储一组数据,并且在一定时刻根据某个感兴趣的特定目标设备来选择一组数据。两种情况下,都可以很容易地控制装置10以执行格式转换过程,该过程针对多个目标设备配置中的每一个进行了优化。
在步骤S4中加入数字版权管理内容。这通过移动格式转换模块19使用DRM处理模块21来实现。步骤S4所实现的步骤取决于存储于产品配置数据区域23中的信息所确定的目标格式。加入的DRM内容的形式可能具体取决于编解码器22的形式。编解码器22的形式进而影响媒体播放器中编解码器的形式。具体而言,当编解码器22是自定义编解码器时,使用自定义的DRM形式。这里,可以选择DRM的形式来为自定义媒体播放器提供最佳操作。如果一个现有编解码器,如Real MediaTM,用于编解码器22,就将使用合适的DRM形式。
如果媒体播放器和目标设备允许,DRM内容就可以如下地施加内容复制和分发限制。一个选择是,将内容查看限制于特定的目标设备或用户,如由IMEI或IMSI号或其它任何唯一或准唯一的序列号进行确定。这种情况下,产品配置数据区域23需包括此序列号,以便于移动格式转换模块19能与DRM处理模块21及产品配置数据区域23共同操作,在电影数据中包括合适的DRM内容。另外一个选择是,允许在某个时间和/或日期前可观看电影。因此,所产生的电影将有一个“保存期”,并且在DRM内容指定的日期和/或时间之后将不能观看此电影。第三个选择是允许以预定的次数(N次)观看电影内容。一旦电影被观看N次后,目标设备内的媒体播放器将不会允许内容被再次使用,从而使其无效。或者,可以安排媒体播放器在电影数据被第N次观看后,清除MMC卡或删除或破坏电影数据。可选地或另外地,DRM内容可以防止未经授权的内容被复制或转发。因此,可以说DRM内容防止或者阻止非指定的对移动设备上的内容使用以及对内容的复制。
优选地,DRM内容被加密并被包含在生成的电影数据的头部,虽然DRM内容可以任何恰当的方式包含在电影数据中。明显的,如果目标设备需要使用标准DRM过程,DRM处理模块21中由移动格式转换模块19包括在电影数据中的DRM内容,将遵循相关标准。
在步骤S5,目标内容作为文件写入移动格式电影数据区域20。该文件可以是例如计算机服务器的内寸区域,或者该内容文件可以直接写入到MMC卡或其他便携式可移动介质。步骤S5中写入的文件包括正确格式的内容,并包括嵌入电影内容中的或单独文件的DRM内容。步骤S5完成后,转换完成,结果是存储在移动格式电影数据区域20中的构成原存储在DVD数据区域15中的电影的数据,但该数据编码成适于目标移动设备使用的合适的格式,并有适当的音视频内容比特率。而且,该电影包含合适的DRM内容、为适合目标设备的格式而分的多卷、一个音频轨道,以及可选的单个字幕轨道。
当DVD15中的视频内容与目标设备的显示设备有不同的纵横比时,优选地对DVD上的视频信号进行修改,以使其与目标设备的纵横比相对应。这可以由DVD加密和提取模块18完成。然而,优选地,对DVD15中的视频信号进行修改以使其对应目标设备的纵横比可由移动格式转换模块19完成。修改可能包括,当需要较窄图像时,对图像左右两边做简单的裁剪,或当需要更宽画面时对图像上下边做裁剪。修改也可以包括在宽度或高度上做有限的图像拉伸,或用其作为替代。这种情况下,首选地应让显示的中间区域比显示的边缘区域有更多图像线性。这样,对图像边缘要比中间部分做更大程度的压缩或拉伸。这样,可根据实际情况,对DVD加密和提取模块18或移动格式转换模块19进行预编程,或其它任何合适的方式,是其根据源纵横比和目标设备纵横比的查询表,以决定需要何种裁剪和/或拉伸,以及需要何种相应的修改。
写入到移动格式电影数据区域20的数据仅与内容相关。在有利的实施例中,写入到移动格式电影数据区域20的数据还包括一个或多个媒体播放器。这样做的优点有以下几个原因。第一,这减少了需要被移动格式转换模块19考虑的因素数量。目标设备配置信息不需要包括确定移动设备内的媒体播放器的信息,因为媒体播放器信息已在电影内容数据中包含。第二,这样可以允许电影内容数据在移动设备内没有合适的媒体播放器,或根本没有媒体播放器的情况下被使用。
媒体播放器可以嵌入到,或可选地包含在,电影内容数据中。将媒体播放器嵌入内容数据更易于对电影内容做控制,并使电影内容数据很难被非授权人分拆。通常一个媒体播放器需耗用不到1M的存储空间。
在一个实例中,电影内容数据中包含一个自定义的媒体播放器。当数据被写入到MMC卡后,移动设备从MMC卡中提取媒体播放器的相关数据,然后媒体播放器运行以处理电影内容数据。
在另一实例中,与电影内容数据和载入程序一起存储的,还有数种不同的媒体播放器。移动设备被控制在最开始运行载入程序。该程序检测移动设备的相关配置,并以此确定使用哪种媒体播放器播放电影内容数据。这样,有可能将一张MMC卡应用在更多目标设备配置上,尤其是当MMC卡是从商店货架零售购买的情况下,这显然是有益的。
可以通过单独的可配置的媒体播放器软件应用程序来提供多媒体播放器,而不是包含多个不同的媒体播放器。这种情况下,载入程序可以决定需要何种媒体播放器,并操作媒体播放器软件中的合适的软件模块。不适用于移动设备配置的软件模块或功能不被使用。这样,多个媒体播放器由一个单独的软件应用程序构成,其为一些媒体播放器功能重用模块或功能。当使用单个媒体播放器软件应用程序时,载入程序自己可以成为媒体播放器软件应用程序的一部分。
存储在移动格式电影数据区域20中的电影内容数据和任何媒体播放器,都可以传送到MMC卡上或者其他用于存储和转移电影内容的可转移介质上的目标移动设备。
移动设备示意图在图4中示出。移动电话40包括所有语音通信所需的传统部件,为清楚起见这里未示出。电话40包括电影解码模块41,其与编解码器42双向通信。移动电影数据区域43中存储电影,移动电影数据区域43可能为任何合适的形式。移动电影数据区域43可以是MMC卡、通过外置驱动器连接的存储空间、内置RAM或其它内存,或可能采取的任何合适形式。DRM验证模块44被连接以从移动电影数据区域43接收数据。DRM验证模块44根据使用DRM数据所做出的决定、和时间/日期或输入的合适序列号,以控制电影解码模块41去允许或不允许对移动电影数据区域43中的电影数据进行解码。当DRM验证模块44允许对移动电影数据区域43中的电影数据进行解码时,而且由用户输入来控制这样做时,电影解码模块41使用编解码器42对数据进行解码,并将解码后的数据提供给缓冲器45。电影从缓冲器45中被显示模块47显示在显示器46上。该显示模块对电影解码模块41提供控制数据以允许以适当的速率解码。
如果移动电影数据区域43中存有载入程序的话,可安排移动电话40从中安装。然后载入程序会使得移动电话40确定其配置并选择媒体播放器,该媒体播放器是软件应用程序,并也存储在移动电影数据区域43中。使用存储在移动电影数据区域43中的专用媒体播放器是有益的,因为这允许对内容数据的安全的有效控制,并能允许现有或预装媒体播放器的其它并非必需的功能。
MMC卡和移动设备的组合在图5中示出。这里,移动设备40如图所示包括CPU51,其通过显示驱动(未示出)向显示器46提供视频信号,并通过音频设备驱动(未示出)向音频输出设备(即耳机插孔或扬声器)提供信号。CPU51通过总线连接到ROM53、RAM54、MMC连接器和接口55。MMC卡56通过MMC连接器和接口55连接到移动设备40。
MMC卡在其内置的非易失存储器内存有电影内容数据57、三个不同的媒体播放器58和载入程序59。当需要从MMC卡播放内容时,移动设备载入载入程序59,其通过确定移动设备40的配置参数并将其与媒体播放器的参数相对比,确定媒体播放器58中的哪个最为合适。然后根据该确定来选择该媒体播放器并将其载入到移动设备40中,并运行(即处理媒体播放器程序)以从内容数据57中复制内容。按照常规,对媒体播放器58的操作包括在RAM54中存入媒体播放器程序、使用CPU51从MMC卡56中提取相关数据以进行解码并呈现所得内容。媒体播放器58从第一数据内容块中移除模糊标识符、调整头部、使用去模糊方法对内容数据进行正确解码。图5为示意图,并且省略了与本发明不相关的细节。
媒体播放器58或每个媒体播放器都被安排以检测主机移动设备40的显示器46的属性。具体而言,媒体播放器根据高宽的象素数以检测显示器的尺寸和方向。该播放器被安排以最适合移动设备40的方向来控制视频内容在显示器46上的重现。如果显示器46宽大于高,那么视频内容以常规方向重现,即不修改其方向。然而,如果确定显示器46高大于宽,该媒体播放器就将视频内容旋转90度来重现。这样,媒体播放器确保了不论屏幕尺寸如何,视频内容始终以横向形式(宽大于高)重现。这就更有效利用了显示器46的显示区域。
当视频内容被媒体播放器在显示器46上旋转时,媒体播放器40将导致键盘(未示出)上的数字键或其它输入设备的功能与视频内容没有被媒体播放器旋转时的功能有所不同。因为在能够以想要的方向浏览视频之前需要将移动设备40旋转到一侧,所以不论移动设备40的方向如何,在不同方向时提供不同的键功能将给用户提供相同的操控体验。这样,对操控方式的修改使得使用键盘或其它输入设备对媒体播放器进行控制变得对用户更加方便和直观。特别重要的控制是音量增/减、播放、暂停、前进或后退等等。
当移动设备40不是高规格设备时,即,其有相对低的内容处理能力和/或低解析度的显示器,媒体播放器被安排从MMC卡而不是从其它内容源来访问内容。这允许专用媒体播放器对要重现的MMC卡上的内容进行优化,这样,可提供比MMC卡的可用存储空间或其它技术限制所允许的更加丰富的内容重现。这个特征并不影响媒体播放器使用移动设备40内现有的标准编解码器42。事实上,媒体播放器可以使用标准或其它第三方编解码器,也可使用专用编解码器。
当运行于更高规格的移动设备40时,使用不同的媒体播放器58。这里,由载入程序59选择的媒体播放器是可以对非最优内容进行缩放以取得最佳效果的。
或者,MMC卡56上提供一个可调整功能的媒体播放器58。这样的媒体播放器无需载入程序。当运行于移动设备40时,该媒体播放器58检测移动设备40的相关特性,并启用媒体播放器58的合适的部件和功能,并防止启用其它部件和功能。
典型的MMC卡硬件设计包括闪存存储设备和位于非常薄的PCB(印刷电路板)上的存储/接口控制器,其外是薄的塑料外壳。PCB的下边通常形成外壳的底部。有数种不同尺寸的MMC卡。
根据本发明,MMC卡的硬件是非传统的,其包括另外的安全功能。专用媒体播放器58被用于对安全的MMC卡上的内容进行解锁和读取。
这种新式MMC卡的第一个实例将参照图6进行描述。这里,MMC卡56包括外壳60,其中提供了连接管脚61。连接管脚形成到外部设备(如移动设备40)的主机通信接口的一部分。MMC卡56还包括非易失存储器62,其连接到存储与接口控制器63,存储与接口控制器63控制对存储器62的访问和对管脚61的接口。这样所描述的MMC卡是传统的MMC卡。MMC卡56还包括非传统的安全装置64。安全装置64放置于存储和接口控制器63与连接管脚61之间。这样,存储和接口控制器63与连接管脚61中的数据(DAT)、命令(CMD)和时钟(CLK)不直接连接,因为在这些部件间至少有一些连接要通过安全装置64。连接管脚61中的VCC、VSS1和VSS2被同时并行连接到安全装置64和内存和接口控制器63。安全装置64可用微控制器、ASIC(特定用途集成电路)或FPGA(现场可编程门阵列器件) 来实现。MMC卡56的组件安装于PCB(印刷电路板)上,PCB是外壳60的一部分。这样,MMC卡56可以和传统MMC卡有相同的尺寸和外部连接器。
安全装置64用于截取在主机设备(即移动设备40)和存储和接口控制器63之间传送的数据和命令。截取的数据被处理,通过安全装置64后是已修改或未修改,或可选地,其被安全装置64自身产生的数据所替代。
任何响应中通过的具体数据或命令都可以将安全装置64切换到激活模式,在这种模式下,安全装置64伪装为存储和接口控制器63与主机接口61的其中一个,对其中的另外一个进行读取或写入。在激活模式下,安全装置64还独立地(即无外部控制地)查询存储和接口控制器63,为随后的主机请求准备数据,或为随后的请求向非易失性存储器62写入数据。
提供激活模式使得通过MMC卡56和媒体播放器58之间的协作实现了复制保护。
不论是在读或写模式下,安全装置64并不限制对于未被保护内容所在的非易失性存储器62的访问。这使得包含了安全装置64的MMC卡56能够以常规方式使用,即不使用安全装置所提供的安全功能。安全装置64只能被已授权的实体所使用,例如已被授权可将有版权的内容(即电影)放入MMC卡56的实体。
MMC卡56和媒体播放器58具有相同的序列号。在配置中,还为媒体播放器58提供向散列方程应用序列号的结果(下文中称为序列号的散列值)。存储和接口控制器63有安全装置64控制,在编程时间(即,在出售之前被编程时)存储序列化数据的序列号、与配置的安全码和序列号的散列值。
现在参考图8描述媒体播放器58对MMC卡56的验证和MMC卡56对媒体播放器58的验证。
当包含内容、一个或多个媒体播放器58和可选的已经装入的载入程序59的MMC卡56被连接到移动设备40时,媒体播放器将在菜单中可见,并如同移动设备40中出现的任何其它软件应用程序一样可被激活。当媒体播放器58首次启动时,第一个安全验证被实现,其中进行下列事件。首先,最合适的媒体播放器58被载入到移动设备58。然后,媒体播放器58在步骤S8.1中向安全装置64发送序列号的散列值。然后,安全装置64在步骤S8.2中将该散列值与其内部存储的序列号的散列值进行对比。如果步骤S8.3中的比较结果匹配,就初始假定媒体播放器58与MMC卡56相匹配,然后安全装置64在步骤S8.4中对MMC卡56解锁。然后,安全装置64在步骤S8.5中向媒体播放器58发送预先配置的验证码。或者,如果比较结果不匹配,安全装置64在步骤S8.6中不响应。当媒体播放器58接收到验证码,就在步骤S8.7中对验证码进行32位CRC(循环冗余码校验)运算。基于此运算结果,媒体播放器58在步骤S8.8中确定MMC卡56是否与媒体播放器58相关,如果是,就在步骤S8.9中解锁媒体播放器,如果否,就在步骤S8.10中中断并显示错误信息。在这个阶段,如果在非易失存储器62中存在未被保护区域,媒体播放器就可以从中读取数据。
安全检查的第二阶段是在播放内容时执行的。在MMC卡56上的媒体控制已被解锁并且数据成为可读的之后,数据从非易失性存储器62中被读出到媒体播放器58中。同时,在步骤S8.11中数据流设置成1kB的帧,即从帧的开始到结束共有1000字节。媒体播放器在步骤S8.12中计算安全码(如下文更详细的描述)并将其发往安全装置64,在步骤S8.13中将对其进行解码。基于解码结果,安全装置64将在步骤S8.14中确定安全码是否有效。如果无效,安全装置64就在步骤S8.15中重置超时计数器,以免发生超时并锁定内容。如果有效,存储和接口控制器63就在步骤S8.16中将随后的数据帧视为已被验证过可以访问。如果在帧结束之前还没有收到有效的安全码,后面的帧将以随机数据填充,而不是内容数据。
媒体播放器58为每个帧重新计算一次正确的安全码,但为每个帧产生20个安全码,其中19个是错误的。在步骤S8.17中,媒体播放器58向MMC卡56发送所有安全码,在这个例子中,为每一个帧的数据发送20个安全码。其中19个是有意弄错的,只有1个是正确的。MMC卡56中的安全装置64将把其自身运算结果与媒体播放器58发送来的安全码进行对比。只要每个帧中收到一个正确安全码,安全装置64就允许播放器发送内容数据。如果在一段预定的时间里(使用计时器),安全装置64检测到没有接收到有效安全码,或者收到的安全码太少(不论是正确的还是错误的),安全装置64会禁止对非易失性存储器62中的数据进行访问。然后,在内容播放能够继续之前,安全装置64需被媒体播放器58再次解锁。如果在一段预定或可配置的时间里,安全装置64没有被访问,那么它也将锁定MMC卡56。
安全码的运算基于如下数据CRC-解码后的验证码(校验和部分)的最后4个字节字节数-目前为止从MMC卡56中读出的字节总数随机数-一个介于0和每帧安全更新次数的一半(在这里,每帧更新20次,而10是20的一半)之间的数字媒体播放器58执行的运算为((CRC<<Mod32(字节数))异或(字节数))*随机数这意味着验证码的校验和部分(CRC)被所读字节数模32向左移位。结果与所读字节数进行异或。异或运算包括将两个数中的比特应用到各个异或门。所得结果乘以随机数。
MMC卡56中的安全装置64执行的运算为((CRC<<Mod32(字节数))异或字节数))*模帧大小(帧数目)本例中,模帧大小(帧数目)是帧数目模1000,因为帧大小是可变的,即,1000,例如,5032变成0032。
这样的结果是MMC卡56中的安全装置64对于媒体播放器58的连续验证。这防止了这样的情况,即可能使用假的媒体播放器以可用的形式提取内容数据;相反,只能由正确的媒体播放器58提取MMC卡56中的数据,其为使用而呈现内容但不允许内容被用作提供未授权副本。媒体播放器58发送许多错误码这一实事,使得通过检查从媒体播放器58向MMC卡56发送的代码来确定需要什么运算以确定正确代码变得困难或不可能,这就提高了安全性,因为使用假的媒体播放器从MMC卡中提取数据的困难大大增加了。
使用这些特征,安全装置64可用于确定是否外置设备,其包含运行媒体播放器58的移动设备40,可从非易失性存储器62中提取数据,并从而允许或拒绝对内容数据的访问。
可选的MMC卡70在图7中示出。这里,存储和接口控制器63被省略。作为替代,存储和接口控制器和安全复合装置71连接具有连接管脚61非易失性存储器62。这提供了存储和接口控制器63与安全装置64在一起的相同功能,但还有一些附加功能,如下文叙述。该实体的优势在于可包含在比图6中的MMC卡56更小的外壳中。既然它有更少的硬件,就可更便宜地进行生产。而且,存储和接口控制器和安全复合装置71不需要支持与MMC卡控制器相同类型的非易失性存储器,所以提供了部件灵活性。
存储和接口控制器和安全复合装置71模拟标准MMC卡控制器的主机接口,从而为主机设备,如移动设备40,提供完整的连接性。它还支持另外的主机接口命令以支持某些具体主机的安全设置和安全验证。存储和接口控制器和安全复合装置71对写入到非易失性存储器62的所有数据进行加密,并对读出非易失性存储器62的所有数据进行解密。这样,被移动设备40访问的数据并非从非易失性存储器62直接读出,相反,数据在存储和接口控制器和安全复合装置71中被解密、处理并缓存。
主机所访问的部分数据是处理的结果,例如安全装置64为随后的主机请求所编译的信息,或状态输入,如安全状态数据,其被媒体播放器58用来重新验证安全或向用户通知问题性质。
存储和接口控制器和安全复合装置71可用ASIC或FPGA等微控制器实现。
使用图5和图6中的MMC卡,DRM信息存储在非易失性存储器62的区域内的DRM文件中,该区域在MMC卡设置过程中已被定义为安全区域。媒体播放器58可读取但不能影响DRM文件,除非出现时间特定的DRM问题。安全装置64或71被用来计算内容播放的次数。如果内容只播放了一部分,就计为对内容的一次播放。内容被播放的次数被安全装置64或71记录在DRM文件中。媒体播放器58能读取但不能影响该信息。DRM文件指明了内容数据可被播放的最大次数。
DRM数据还包含内容的过期日期或有效日期。当媒体播放器58第一次启动,它与安全装置64或71协作,将移动设备40内置时钟(未示出)的当前时间和日期写入到DRM文件中。如果请求播放内容,安全装置64和71确定内容能够播放的最近的时间和日期已经过期(即当前时间和日期晚于第一次记录的时间/日期加有效期),安全装置64或71与媒体播放器58之间的安全验证失败,那么合适的信息将会通过显示器46传达给用户。在内容数据能够被播放的最大次数达到限制时,也会发生相同的情况。安全装置64还向DRM文件中写入确定内容已经过期的数据。
如果内容已过期一次后,或者移动设备40的时间/日期被改为内容过期之前的值,那么安全装置64或71能够通过DRM文件中确定内容之前已过期的数据检测出该情况。在这种情况下,在内容被锁定并需要DRM解锁之前,还可以允许内容被播放预定的次数,如5次。这通过在线验证实现。如果媒体播放器58首次启动时移动设备内的时钟设置错误,这个功能就可缓解用户的影响。
在线验证过程从媒体播放器58连接DRM服务器开始,如图5中所示出的80,该DRM服务器例如属于被授权可对MMC卡上的内容进行呈现的实体。DRM服务器80知道所有发行的MMC卡56的设置。连接可通过WAP或SMS或其它任何合适方式进行。如果DRM服务器上的DRM信息可用,DRM服务器通过媒体播放器58向安全装置64或71发送代码,这使得代码被验证并因此解锁内容以播放。这包括更新DRM文件。已锁定的内容可通过对更多的内容访问进行支付以再次解锁,支付方式可通过不同途径(web,wap(如Bango)和SMS)。
如果MMC卡56和71上的内容被锁定,媒体播放器58将不会播放该内容数据。这种情况下,移动设备40的用户可以为内容解锁以获得更多的播放,例如通过另外的支付。支付可以以任何合适方式进行,例如使用WAP,其是基于网页的支付服务,或通过利用电话与运营商协商。当支付完成,DRM服务器80更新该信息。当用户随后启动媒体播放器58并试图访问已锁定的内容,媒体播放器58以任何合适的方式联系DRM服务器80,服务器80向移动设备40发送解锁码,媒体播放器58将该解锁码传递给安全装置64或71。然后安全装置64或71验证该解锁码,并更新DRM文件以解锁内容。
尽管我们说移动设备是移动(蜂窝)电话,但其也可以是个人数字助理(PDA),该PDA可能具有或者不具有双向语音通信功能。本发明主要涉及在设计用于其他目的的设备上提供音视频内容。然而,本发明也涉及专用的媒体播放器。
同样的,虽然本发明的某些方面是针对MMC56描述的,但这不是必需的。除了MMC之外,还可以使用包括非易失性存储器和内置存储器控制器的其它类型的介质,其中,对存储在存储器上的数据的访问通过接口实现。例如,可以使用具有USB或者蓝牙TM或者其它接口的存储器设备。存储器设备的外壳可以是任何适当的形状。
在DVD上的电影要在可转移介质上提供以供通用种类的目标移动设备使用,或者甚至在电影要在同样模型编号的多个小数目的目标设备上提供时,可以有益的利用如图9所示的系统。在图9中,示出了第一到第三服务器30、31、32。第一服务器30指定为管理节点,包括到第二和第三服务器31、32的连接,第二和第三服务器31、32构成子节点。服务器30-32中的每一个包括至少第一和第二DVD驱动33。在本例中,DVD需要手动地插入DVD驱动并从中去除,尽管需要的情况下可以使用机器人或者其他自动化工具作为替代进行该任务。
每个服务器30-32从DVD驱动33中的DVD并行地提取并转换电影。可以从单个驱动中顺序地提取电影,即,一个接一个地提取。
假定DVD驱动33具有足够的速度,服务器30-32具有足够的处理速度,对一张DVD的DVD提取和处理过程可以在十分钟内完成。因此,要在所得的电影中包括移动设备的序列号或者类似信息,以使该电影只能在该目标设备上播放,则对每个特定目标设备需要实现一次转换过程。应该理解,只需要进行一次提取过程,因为提取后的电影存储在提取电影数据缓冲器内。
电影要被同一类的多个目标设备使用的情况下,提取和转换过程只需进行一次。一旦电影以移动格式存储在移动格式电影数据区域20中,其就可以根据需要多次复制到MMC卡或者其他可拆卸介质设备。这可以任何适当的方式进行,例如使用内置或外置MMC驱动。
用于管理系统安装特定加工的设置位于普通文件中,例如,位于/etc/子目录中。电影产品的设置位于使用自定义的Postgres或者Oracle数据库的数据库表中,尽管根据规模和性能要求,可以使用任何其他合适的数据库作为替代。运行在子节点服务器31、32上的管理系统和第一服务器30上的管理系统通信。管理节点30负责任务分配。每个转换过程需要管理系统的一个实例。
权利要求
1.一种用于解码内容数据的媒体播放器,该媒体播放器设置为使用额外数据的位置信息来标识形成所述内容数据一部分的多个内容块的每一个中的额外数据项的位置,从所述确定的位置去除所述额外数据,并在去除所述额外数据后解码所述内容数据。
2.如权利要求1所述的媒体播放器,其中所述额外数据的位置信息通过与所述内容数据源分开的通道获得。
3.如权利要求1或2所述的媒体播放器,其中所述额外数据的每次出现都是数字指纹。
4.如权利要求3所述的媒体播放器,其中所述媒体播放器用于确定形成授权码的一部分的数据是否包括对应所述数字指纹的数据,并且只响应于肯定确定来解码所述内容数据。
5.如权利要求4所述的媒体播放器,其中每个所述数字指纹包括对所述数字指纹的每次出现来说相同的数据序列。
6.如前述任何一项权利要求所述的媒体播放器,其中所述媒体播放器用于确定形成授权码或者所述授权码的一部分的数据是否包括对应所述媒体播放器的序列号的数据,并且只响应于肯定确定来解码所述内容数据。
7.如权利要求4-6中的任何一项所述的媒体播放器,其中所述媒体播放器用于从所述授权码导出所述额外数据的位置信息。
8.如前述任何一项权利要求所述的媒体播放器,其中所述媒体播放器用于使用预编程信息来标识所述额外数据所在的内容块,并使用所述额外数据的位置信息来确定所述额外数据在这些内容块中的位置。
9.一种向终端提供内容项的方法,该方法包括将内容流送到终端,在所述终端处,检测指示用户想要内容项的用户输入,所述内容项至少是下列之一a)形成所述流送的内容的一部分,以及b)和形成所述流送的内容的一部分的内容相关响应于所述用户输入,从所述终端向服务器发送请求;响应于接收到所述请求,识别所请求的所述内容项,确定用户是否有权使用此内容项,并且向所述终端提供内容获得手段;以及响应于在所述终端接收到所述内容获得手段,控制所述终端使用所述内容获得手段来获得所述内容项。
10.如权利要求9所述的方法,其中所述请求包括指示做出所述用户输入的时间的数据。
11.如权利要求9或10所述的方法,其中所述内容获得手段包括产品代码。
12.如权利要求9-11中的任何一项所述的方法,其中所述内容获得手段包括支付资源定位器,所述终端可以通过该支付资源定位器得到获得所述内容项的许可。
13.如权利要求12所述的方法,包括自动将所述终端浏览器指向所述支付资源定位器。
14.如权利要求9-13中的任何一项所述的方法,其中提供内容获得手段的所述步骤包括,响应于在所述服务器访问所述支付资源定位器,发送例如XML数据的数据。
15.如权利要求15所述的方法,其中控制所述终端使用所述内容获得手段的所述步骤包括,自动遵循形成所述数据一部分的指令。
16.一种系统,包括服务器、终端和将内容流送到所述终端的装置,所述终端用于响应指示用户想要内容项的用户输入,所述内容项至少是下列之一a)形成所述流送的内容的一部分,以及b)和形成所述流送的内容的一部分的内容相关向所述服务器发送请求;所述服务器响应于接收到所述请求,识别所请求的所述内容项,确定所述用户是否有权使用此内容项,并且向所述终端提供内容获得手段;以及所述终端用于使用所述内容获得手段来获得所述内容项。
17.如权利要求16所述的系统,其中所述终端用于在所述请求中包括指示做出所述用户输入的时间的数据。
18.如权利要求16或17所述的系统,其中所述内容获得手段包括产品代码。
19.如权利要求16-18中的任何一项所述的系统,其中所述内容获得手段包括支付资源定位器,所述终端可以通过该支付资源定位器得到获得所述内容项的许可。
20.如权利要求19所述的系统,其中所述终端用于自动将所述终端上包括的浏览器指向所述支付资源定位器。
21.如权利要求16-20中的任何一项所述的系统,其中所述服务器用于响应于所述支付资源定位器被访问,发送例如XML数据的数据到所述终端。
22.如权利要求21所述的系统,其中所述终端设置为自动遵循形成所述数据一部分的指令。
23.一种终端,包括接收流送内容的装置,响应于指示用户想要内容项的用户输入,向服务器发送请求的装置,所述内容项至少是下列之一a)形成所述流送的内容的一部分,和b)和形成所述流送的内容的一部分的内容相关;响应于接收内容获得手段,使用所述内容获得手段来获得所述流内容项的装置。
24.如权利要求23所述的终端,其中所述终端用于在所述请求中包括指示做出所述用户输入的时间的数据。
25.如权利要求23或24所述的终端,其中所述内容获得手段包括支付资源定位器,所述终端设置为接收到所述支付资源定位器后,自动将所述终端上包括的浏览器指向所述支付资源定位器。
26.如权利要求23-25中的任何一项所述的终端,其中所述终端响应于接收到如XML数据的数据,自动遵循形成所述数据一部分的指令。
27.一种操作终端的方法,该方法包括接收流送的数据,响应于指示用户想要内容项的用户输入向服务器发送请求,内容项至少是下列之一a)形成所述流送的内容的一部分,和b)和形成所述流送的内容的一部分的内容相关;以及响应于接收内容获得手段,使用所述内容获得手段来获得所述内容项。
28.如权利要求27所述的方法,包括在所述请求中包括指示做出所述用户输入的时间的数据。
29.如权利要求27或28所述的方法,其中所述内容获得手段包括支付资源定位器,所述终端接收到所述支付资源定位器后自动将所述终端上包括的浏览器指向所述支付资源定位器。
30.如权利要求27-29中的任何一项所述的方法,包括,响应于接收例如XML数据的数据,自动遵循形成所述数据一部分的指令。
31.一种包括指令的计算机程序,当用终端上的处理装置执行该计算机程序时,其使得所述终端执行根据权利要求27-30的任何一项所述的方法。
32.一种计算机程序产品,包括存储根据权利要求31所述的计算机程序的计算机可读介质。
33.一种用于提供在移动设备上再现的音视频内容的装置,该装置包括音视频内容提供结构;该装置设置为向存储区域写入数据,该数据包括音视频内容;两个或多个媒体播放器;以及载入程序,所述载入程序设定为,当将其载入移动设备时,其使得所述移动设备的配置参数被确定,使得基于所检测的配置参数而使一个媒体播放器被选择,并且控制所述移动设备使用所述选择的媒体播放器。
34.如权利要求33所述的装置,其中所述载入程序配置为控制所述移动设备去检测其是否已经包括适当的媒体播放器,如果检测到适当的媒体播放器,不是从所述存储器区域向所述移动设备安装媒体播放器,而是控制使用该检测到的媒体播放器。
35.如权利要求33或34所述的装置,所述两个或多个媒体播放器通过单独的可配置的媒体播放器软件应用程序来提供。
36.如权利要求35所述的装置,其中所述载入程序用于确定需要什么媒体播放器,并操作形成所述媒体播放器软件的一部分的适当软件模块。
37.如权利要求35或36所述的装置,其中所述载入程序形成所述媒体播放器软件应用程序的一部分。
38.存储在便携式介质上的数据或者至少暂时位于存储器中的数据,该数据包括音视频内容;两个或多个媒体播放器;以及载入程序,所述载入程序设定为,当将其载入移动设备时,其使得所述移动设备的配置参数被确定,使得基于所检测的配置参数而使一个媒体播放器被选择,并且控制所述移动设备使用所述选择的媒体播放器。
39.如权利要求38所述的数据,其中所述载入程序配置为控制所述移动设备去检测其是否已经包括适当的媒体播放器,如果检测到适当的媒体播放器,不是从所述数据向所述移动设备安装媒体播放器,而是控制使用该检测到的媒体播放器。
40.如权利要求38或39所述的数据,其中所述两个或多个媒体播放器通过单独的可配置的媒体播放器软件应用程序来提供。
41.如权利要求40所述的数据,其中所述载入程序用于确定需要什么媒体播放器,并操作形成所述媒体播放器软件的一部分的适当软件模块。
42.如权利要求40或41所述的数据,其中所述载入程序形成所述媒体播放器软件应用程序的一部分。
43.一种用于提供在移动设备上再现的音视频内容的方法,该方法包括向存储区域写入数据,该数据包括音视频内容;两个和多个媒体播放器;以及载入程序,所述载入程序设定为,使得移动设备确定所述移动设备的配置参数,基于所检测的配置参数选择一个媒体播放器,并且控制所述移动设备使用所述选择的媒体播放器。
44.如权利要求43所述的方法,其中所述载入程序用于控制移动设备以检测其是否已经包括适当的媒体播放器,如果检测到适当的媒体播放器,不是从所述存储区域向所述移动设备安装媒体播放器,而是控制使用该检测到的媒体播放器。
45.如权利要求43或44所述的方法,其中所述两个或多个媒体播放器通过单独的可配置的媒体播放器软件应用程序来提供。
46.如权利要求45所述的方法,其中所述载入程序用于确定需要什么媒体播放器,并操作形成所述媒体播放器软件的一部分的适当软件模块。
47.如权利要求45或46所述的方法,其中所述载入程序形成所述媒体播放器软件应用程序的一部分。
48.一种操作移动设备的方法,该方法包括在内置和/或外置存储器上存储音视频内容数据和两个或多个媒体播放器;确定所述移动设备的配置参数;基于所检测到的配置参数选择一个媒体播放器,以及使用所述选择的媒体播放器来播放所述音视频内容数据。
49.如权利要求48所述的方法,载入程序控制所述移动设备以检测其是否已经包括适当的媒体播放器,如果检测到适当的媒体播放器,不是从所述存储区域向所述移动设备安装媒体播放器,而是控制使用该检测到的媒体播放器。
50.如权利要求48或49所述的方法,其中所述两个或多个媒体播放器通过单独的可配置的媒体播放器软件应用程序来提供。
51.如权利要求50所述的方法,其中所述载入程序确定需要什么媒体播放器,并操作形成所述媒体播放器软件的一部分的适当软件模块。
52.如权利要求50或51所述的方法,其中所述载入程序形成所述媒体播放器软件应用程序的一部分。
53.一种便携式数据存储介质,包括非易失性存储器,其中存储有包括形成媒体播放器的计算机可读指令的数据;接口,包括用于连接到外置设备的终端;控制器,用于从所述非易失性存储器中读取数据并将数据馈入所述接口;以及安全装置,其中,当所述媒体播放器在外置设备上运行时,其用于和所述安全装置交互,使得所述安全装置可以确定所述媒体播放器是否有权访问所述非易失性存储器中的内容数据,所述安全装置相应地允许或者禁止访问所述内容数据。
54.如权利要求53所述的便携式数据存储介质,其中所述控制器的数据终端通过所述安全装置连接到所述接口。
55.如权利要求53所述的便携式数据存储介质,其中所述安全装置与所述控制器集成。
56.如权利要求55所述的便携式数据存储介质,其中所述控制器和安全装置用于解密从所述非易失性存储器读出的内容数据。
57.如权利要求53-56中的任何一项所述的便携式数据存储介质,其中所述控制器还用于将所述数据从所述接口写入到所述非易失性存储器。
58.如权利要求53-57中的任何一项所述的便携式数据存储介质,其中所述媒体播放器在外置设备上运行时,其用于检测所述外置设备的配置参数,并根据所述检测到的配置参数控制所述媒体播放器的功能。
59.如权利要求53-58中的任何一项所述的便携式数据存储介质,其中所述媒体播放器在外置设备上运行时,其用于确定所述设备的显示特性,并根据所述检测到的显示特性选择视频内容再现的方向。
60.如权利要求61所述的便携式数据存储介质,还包括取决于所选择方向的所述外置设备的一个或多个键的控制功能。
61.如权利要求53-60中的任何一项所述的便携式数据存储介质,其中所述媒体播放器用于通过对从所述数据存储介质接收到的验证码进行运算来验证所述数据存储介质。
62.如权利要求53-61中的任何一项所述的便携式数据存储介质,其中所述安全装置用于通过接收代码并且确定在每个预定时间间隔或者数据单元中至少一次接收到有效的代码来确定所述外置设备是否有权访问内容数据。
63.如权利要求53-62中的任何一项所述的便携式数据存储介质,其中所述安全装置用于在所述非易失存储器中保存权利管理数据,该权利管理数据代表所述内容数据的播放允许状态。
64.如权利要求62所述的便携式数据存储介质,其中所述安全装置用于使用标识所述内容数据被播放的机会次数的数据来更新所述权利管理数据。
65.如权利要求62或63所述的便携式数据存储介质,其中所述安全装置用于存储代表所述内容数据第一次被播放的时间和/或日期的权利管理数据。
66.如权利要求53-65中的任何一项所述的便携式数据存储介质,其中所述安全装置响应于预定时间序列或者预定命令而进入激活模式。
67.如权利要求53-66中的任何一项所述的便携式数据存储介质,其中所述安全装置用于根据确定所述外部设备是否有权限,来允许或拒绝对内容数据的访问,所述内容数据存储于所述非易失性存储器的指定保护区域,并且不拒绝对所述非易失性存储器的未保护区域中的内容数据的访问。
68.如权利要求53-67中的任何一项所述的便携式数据存储介质,其中所述安全装置用于在确定所述内容数据的有效期已到期,或者已达到内容数据播放的机会次数的预定限制时锁定所述内容数据,由此防止访问所述内容数据。
69.如权利要求65-68中的任何一项所述的便携式数据存储介质,其中所述安全装置用于在确定所述内容数据的所述有效期已到期时,使用指示内容数据有效期到期的数据更新所述权利管理数据。
70.如权利要求68或69所述的便携式数据存储介质,其中所述安全装置响应于接收解锁码解锁所述内容数据以随后播放。
71.如权利要求17和18所述的便携式数据存储介质,其中所述安全装置响应于接收所述解锁码,适当地更新所述权利管理数据。
72.如权利要求53-71中的任何一项所述的便携式数据存储介质,其中所述安全装置响应于访问被锁定的内容数据的请求,通过所述外置设备的通信信道访问远程服务器,并在接收到解锁码后解锁所述内容数据以随后播放。
73.如权利要求53-74中的任何一项所述的便携式数据存储介质,其中所述非易失性存储器在其中存储有包括形成两个或多个媒体播放器和载入程序的计算机可读指令的数据,所述载入程序在外置设备上运行时,其用于确定所述设备的配置参数,基于所述检测的配置参数选择所述媒体播放器中的一个,并控制所述移动设备来运行所述选择的媒体播放器。
全文摘要
介质上的内容被传输例如流送,其带有对未授权播放或复制的保护。在内容块内提供视频内容数据,其每个和视频帧相关,并且具有相应的头部。一些内容块在包括内容块的数据中插入数字指纹。因此,内容块中的数据量由于额外的数字指纹而增加。相应头部中标识内容块长度的信息没有改变。在增加数字指纹后,一些或者全部内容块被模糊。在媒体播放器中进行去模糊,然后在所得的内容被解码前去除数字指纹。在收听流送到移动终端的音乐时,用户可以购买当前播放的轨道。自动提取配置模块检查DVD上存储的元数据以确定其上存储的内容数据的配置。DVD解密和提取模块(18)使用来自存储器区域(17)的提取配置数据以从DVD提取电影数据,该电影数据以AVI数据写入中间格式电影数据区域。移动格式转换模块(19)转换存储在提取电影数据区域(14)的电影数据,并在移动格式电影数区域(20)以移动电话可用格式提供电影。数据还包括两个或多个媒体播放器和载入程序。移动电话被控制以开始运行载入程序。该程序检测移动设备的相关配置并确定使用哪个媒体播放器来播放电影内容数据。便携式数据存储介质(60)包括非易失性存储器(62)、用于连接外置设备的接口(61)。其还包括从非易失性存储器读取数据的控制器(63)。安全装置(64)连接在控制器和存储器之间。
文档编号G06T1/00GK101073263SQ200580027553
公开日2007年11月14日 申请日期2005年6月14日 优先权日2004年6月14日
发明者杰里米·梅奥·博斯韦尔, 乔纳森·马克·肯德里克, 蒂莫西·约翰·雷维尔 申请人:Rok产品有限公司