用于对多媒体内容进行加密/解密以允许随机存取的方法和设备与流程

文档序号:18212336发布日期:2019-07-19 22:24阅读:341来源:国知局
技术简介:
本专利针对传统多媒体加密技术无法实现随机存取的问题,提出将媒体数据加密与元数据分离的解决方案。通过保留未加密元数据定位加密媒体数据位置,实现解密时的精准访问。该方法在保证数据安全性的同时,支持高效随机存取,解决了加密内容访问效率与安全性难以兼顾的技术矛盾。
关键词:多媒体加密解密,随机存取技术

本案是分案申请。本分案的母案是申请日为2006年7月12日、申请号为200680032332.1、发明名称为“用于对多媒体内容进行加密/解密以允许随机存取的方法和设备”的发明专利申请案。

本发明的实施例大体上涉及多媒体文件的加密和解密,且更特定来说涉及用于对多媒体内容进行加密/解密以允许随机存取的方法和设备。



背景技术:

随着采用3g和其它蜂窝式网络,新的基于ip分组数据的服务正在出现。运营商正在试图开发的最具挑战的服务领域之一涉及向大量市场分布视频内容。高质量视频是数据最密集类型的内容。同时,消费者关于当前家庭观看选择的体验向运营商和内容提供商呈现出目标市场,所述运营商和内容提供商掌握关于用户体验应当如何的已确定的想法。消费者期望和移动性的组合向网络运营商和内容提供商呈现了基本的挑战。概括来说,具有吸引力的商业模型、网络控制与管理、存取控制、装置能力以及引人注目的用户体验组合起来而呈现出相互依赖的挑战的联合体,所述挑战在无线产业中还未完全解决。

已经出现的一个挑战是需要提供对将分布的内容的保护。举例来说,分布的内容通常需要受到保护以防止未经授权的复制。此外,内容提供商还希望直接或间接地控制内容的分布。因此,内容提供商通常要求服务提供商所使用的任何内容分布系统均具有提供数字版权管理(drm)的能力,drm是指提供对在任何安装有此类措施的电子装置关于可如何使用分布的材料的控制的几种技术布置中的任一种。所有内容分布系统用来支持drm以便保护内容提供商的知识产权的关键基础组件是在传输/接收期间对媒体的加密/解密的特征。另外,常需要以加密形式将媒体存储在分布中心处的服务器上或回放装置上。此外,加密常需要支持“特技”特征,例如在快进和倒带回放期间观看内容的能力。希望媒体加密解决方案应提供对视频编码接口形成最小挑战的加密。



技术实现要素:

本文描述的实施例提供用于仅对任何编解码器输送流的视频数据进行加密并保持元内容完整的方法和设备。因此,任何错误、数据的字节扩展或收缩将被最小化而仅影响多媒体的回放的一小部分。

在一个实施例中,本文描述一种用于对多媒体文件进行加密的方法,所述方法包含:解析所述多媒体文件以识别媒体数据部分;对所述媒体数据部分进行加密;以及将所述经加密媒体数据部分与未加密非媒体数据部分进行组合。本文还提供一种用于播放多媒体文件的方法,其用于:解析所述多媒体文件以识别未加密的元数据部分;使用所述未加密的元数据部分来定位所述媒体文件中的关注位置,所述关注位置具有相关联的经加密媒体数据部分;以及对所述相关联的经加密媒体数据部分进行解密。

在另一实施例中,本文描述一种经配置以实施用于对多媒体文件进行加密的方法的处理器,所述方法包含:解析所述多媒体文件以识别媒体数据部分;对所述媒体数据部分进行加密;以及将所述经加密媒体数据部分与未加密非媒体数据部分进行组合。在此另一实施例中,本文还提供一种经配置以实施用于播放多媒体文件的方法的处理器,所述方法包含:解析所述多媒体文件以识别未加密的元数据部分;使用所述未加密的元数据部分来定位所述媒体文件中的关注位置,所述关注位置具有相关联的经加密媒体数据部分;以及对所述相关联的经加密媒体数据部分进行解密。

在又一实施例中,一种上面存储有指令的计算机可读媒体,所述存储的指令在由处理器执行时致使所述处理器执行用于对多媒体文件进行加密的方法,所述方法包含:解析所述多媒体文件以识别媒体数据部分;对所述媒体数据部分进行加密;以及将所述经加密媒体数据部分与未加密非媒体数据部分进行组合。在此另一实施例中,本文还提供一种上面存储有指令的计算机可读媒体,所述存储的指令在由处理器执行时致使所述处理器执行用于播放多媒体文件的方法,所述方法包含:解析所述多媒体文件以识别未加密的元数据部分;使用所述未加密的元数据部分来定位所述媒体文件中的关注位置,所述关注位置具有相关联的经加密媒体数据部分;以及对所述相关联的经加密媒体数据部分进行解密。

在又一实施例中,本文描述一种用于对多媒体文件进行加密的设备,所述设备包含:用于解析所述多媒体文件以识别媒体数据部分的装置;用于对所述媒体数据部分进行加密的装置;以及用于将所述经加密媒体数据部分与未加密非媒体数据部分进行组合的装置。在此另一实施例中,本文还描述一种用于播放多媒体文件的设备,其具有:用于解析所述多媒体文件以识别未加密的元数据部分的装置;用于使用所述未加密的元数据部分来定位所述媒体文件中的关注位置的装置,所述关注位置具有相关联的经加密媒体数据部分;以及用于对所述相关联的经加密媒体数据部分进行解密的装置。

所属领域的技术人员从以下具体实施方式中将明白其它目的、特征和优点。然而应了解,在指示示范性实施例时,是以说明而不是限制方式来给出具体实施方式和特定实例。在不脱离本发明精神的情况下可做出在以下描述范围内的许多改变和修改,且所述描述应理解为包含所有此类修改。

附图说明

通过参看附图可较容易地理解本发明,其中:

图1是说明由标准编解码器定义的示范性视频位流的组织的图;

图2是说明成为块和块偏移量的视频和音频样本的实例组织的图;

图3是具有经配置以仅对多媒体内容的媒体部分进行加密的加密引擎的服务器的框图;

图4是具有用于对多媒体内容的经加密媒体部分进行解密和回放的播放器的客户端的框图;

图5是加密引擎的操作的流程图;以及

图6是可用于实施本文描述的特征的接入点和接入终端的框图。

在全部几张视图中,相同标号指代相同部分。

具体实施方式

本文描述的实施例提供一种用于对任何编解码器输送流数据的仅“内容”部分进行加密并保持元内容(用于定位和回放内容)完整的方法。举例来说,在一个实施例中,仅对视频内容部分进行加密。因此,任何错误或数据的字节扩展/收缩的影响应被最小化,且进而影响多媒体的回放的一小部分。

以下描述假定用于存储多媒体内容的编解码器遵循由运动图像专家组(mpeg)发布的mpeg4标准,mpeg是国际标准化组织/国际电子技术协会联合技术委员会1(iso/iecjtc1)的工作组。iso/eec标准表示为mpeg-x(例如,mpeg-1、mpeg-2和mpeg-4),且在iso/iec14496-2中描述mpeg-4标准。

mpeg4文件由分级原子组成,包含元数据和媒体原子。每个原子本身可包含其它原子。元数据和媒体数据原子可存在于文件中的任何地方。一般来说,元数据原子(moov)不是主要的,且在文件中可位于媒体数据原子之前或之后。元数据通常构成一个mpeg4文件的少于5-10%。

每个原子本身具有指派给其的类型和大小字段,从中可产生文件内容的图。这允许多媒体播放器的解析器从一个原子快速跳到另一原子。每个基本流(例如音频流或视频流)将具有其自身的mdat(媒体数据)原子。在mdat原子中,以作为相关样本的集合的块的形式组织媒体数据。举例来说,视频数据块可包含视频序列的前三个视频帧(例如,帧1、2和3),而音频数据帧在其中可能具有一个或一个以上音频样本。这些媒体数据块散布在整个文件中。

元数据原子含有关于文件中的媒体、帧和其偏移量的信息。具体来说,在moov原子内存在stbl或样本表原子。此stbl原子进一步包含以下表原子:

stts:将时间映射到样本数。

stsz:指定样本大小。

stsc:将样本映射到块(基本上指示哪个样本出现在哪个块中)。

stco:提供文件内的块偏移量。

stsd:含有配置信息(vol标头等)的样本描述表。

这些原子共同提供对适当帧或音频样本进行解析以将其再现以用于回放的主要元数据,如下文进一步描述。

许多多媒体播放器是基于文件的,使得其将文件名或含有多媒体文件的缓冲器作为输入。播放器执行对文件元数据的扫描以向内部表载入帧偏移量和定时信息。将原始帧馈送到编解码器(例如,mpeg-4编解码器)进行解码,且接着通过播放器在显示器上再现。内部表用于执行例如在快进或倒带期间“快速”搜寻到文件中的适当位置、或从文件中的任一点“随机存取”回放的功能。这些特征统称为“特技播放”特征。

为了保持内部表紧凑,使用多种技术。用于压缩位置和大小信息的一种技术依赖于即使来自各个轨道的数据是交错的,也常常连续存储来自同一轨道的若干样本的观测。这种从特定轨道运行邻接样本被称为块。强制性“stsc”原子内的样本到块表提供从样本数目到块索引的映射。每个块的(绝对)位置记录在强制性“stco”原子内作为块偏移量(使用32或64个位),所述块偏移量是从块驻留的文件的开始处测得的。每个样本的长度(以字节计)也记录在强制性“stsz”原子内的样本大小表中。因此,通过使用:

1.来自轨道的数据参考,

2.样本到块的映射,

3.块偏移量,以及

4.同一块中之前样本的大小,

可能找到:

1.含有样本的数据文件,其可能为从mp4文件本身通过url参考的文件,

2.所述文件内的块(及其偏移量),

3.块内样本的偏移量(根据同一块中之前样本的大小),以及

4.样本本身的大小。

图2说明与此过程相关的简单实例。应注意,视频帧和音频帧(样本)大小也是已知的,任何视频或音频样本的边界可容易地计算为绝对偏移量。在此播放器中,预先构造的表框架不允许加密文件馈送到播放器。播放器输入具有文件名(char*)或缓冲器的形式,其假定整个文件以未加密的格式驻留在缓冲器中。这些接口都不允许播放器以“串流”方式对文件进行解密(即,在播放文件的同时执行解密)。

在一个实施例中,如果加密/解密系统经修改以使得加密发生在文件中的帧或片段级处,那么可添加串流功能性,从而不加密地保留元数据以支持特技播放。此“智能加密”方法允许加密系统(例如,服务器)在对实际内容进行加密并不加密地保留主要元数据和标头数据的同时知道媒体格式。类似地,在解密系统(例如,客户端)处,可利用元数据来执行例如特技播放的特征,而不会在其未加密时进行进一步处理,且仅必须对流或文件的内容部分进行解密。

应注意到,尽管本文可能根据媒体部分与非媒体(例如,元数据)部分分离并随后进行加密来具体描述加密方案的每个部分,但在一个实施例中,加密系统将解析媒体文件/流,且在解析媒体文件/流的同时,仅对媒体数据部分进行加密并保持元数据不变。因此,在一个实施例中,媒体部分不必与元数据分离、加密并随后与元数据一起放回(即,多路复用)。在另一实施例中,媒体部分可经分离以用于处理,且需要多路复用。在任一情形中,对于加密系统外部的系统和过程,两个实施例同样适用于所述方案的解密部分。

图3说明具有包含解析器308的加密引擎302的服务器300,解析器308将来自多媒体源332的传入数据(可能来自流或文件)解析为媒体和非媒体部分。在解析器308解析传入数据的同时,加密处理器306接着使用来自drm服务器322的信息仅对媒体部分进行加密。组合器304将把非媒体部分(未加密)与加密的媒体部分进行组合,并将其发送到后处理器352以用于传输到客户端400,如图4所示。

智能加密将要求加密引擎302知道系统所支持的各种媒体格式,使得其将仅对帧数据进行加密,从而不加密地保留标头。举例来说,在图1说明的mpeg4的情况下,系统将仅对vop数据进行解密,并不加密地保留gov和vop标头。此外,假定视频位流是标准mp4文件,其中stbl元数据原子是强制性的,那么加密引擎将不必解析帧或音频样本开始代码以到达媒体数据。作为替代,加密引擎将使用stbl元数据原子中的信息解析到文件中的适当位置,以到达帧或音频样本数据。

图4说明客户端400,其接收来自服务器300的多媒体文件,并对所接收文件的相关部分进行解密以用于再现和回放。播放器450将能够构造没有任何解密的内部表,因为文件的标头信息全部不加密。播放器450将包含解密引擎402,且解密引擎402中的解析器414将在向mp4编解码器发送帧之前将文件的加密部分连同用于解密的密钥一起传递到解密单元416。具体来说,解析器414提取加密帧的数据,并将其发送到解密单元416。未由服务器300加密的非媒体部分将直接发送到组合器418以用于与经解密媒体部分进行组合。包含音频解码器408和视频解码器412的解码器404将对经编码音频位流(cab)和经编码视频位流(cvb)进行解码以用于分别在音频输出装置406和显示器410上再现。应注意,播放器450可能比图4所说明具有更多的组件。

在以上实施例中,文件对于播放器450来说看起来像是普通的mpeg4文件,因为标头未经加密。内部表的产生将不需要进行任何解密,因此解密将仅在正在向编解码器馈送帧时发生。当然,加密/解密引擎均必须知道文件格式以辨识标头。因此,系统必须支持的每种额外的媒体格式将需要改变。此外,在加密引擎上将存在额外的处理负载来以帧等级启用加密——解析stbl原子、寻找媒体数据等。

图5说明加密/解密过程500的操作的示范性实施例的流程图,其中在方框502中,加密引擎302的解析器308确定正从文件或流接收的数据是否属于媒体部分或非媒体部分。如果是,那么操作继续方框504,其中加密单元306对媒体部分进行加密。否则,操作进行到方框508,其中不对数据的非媒体部分加密(即,不加密地保留)。在方框506中,将媒体与非媒体部分进行组合并读出到文件的存储位置(例如服务器300上的存储单元),或流出到客户端400。如果全部文件或流未经处理,那么操作返回到方框502。否则,将数据传输到客户端400。

一旦数据已在文件中或作为流的一部分传输到客户端400,那么在回放期间,在方框512中,客户端400可读取元数据部分,且在方框514中,确定是否找到回放位置。如果是,那么操作继续方框516,其中读取并解密媒体部分。接着将经解密部分提供到解码器404用于回放,如上文所述。

图6展示可分别用于发射和接收使用本文所述方法和设备加密的数据的接入点604x和接入终端602x的框图。如本文所述,“接入终端”指向用户提供语音和/或数据连接性的装置。接入终端可连接到例如膝上型计算机或桌面计算机等计算装置,或者其可为例如个人数字助理等自主式装置。接入终端也可称为订户单元、移动台、移动装置、远程站、远程终端、用户终端、用户代理或用户设备。接入终端可为订户站、无线装置、蜂窝式电话、pcs电话、无绳电话、会话起始协议(sip)电话、无线本地回路(wll)站、个人数字助理(pda)、具有无线连接能力的手持装置,或其它连接到无线调制解调器的处理装置。此外,本文使用的“接入点”指接入网络中通过一个或一个以上扇区经由空中接口与接入终端通信的装置。接入点通过将所接收的空中接口帧转换为ip分组而充当接入终端与接入网络的其余部分之间的路由器,所述接入网络可包含ip网络。接入点还协调对空中接口的属性的管理。

对于反向链路,在接入终端602x处,发射(tx)数据处理器614接收来自数据缓冲器612的业务数据,基于选定的编码和调制方案处理(例如,编码、交错和符号映射)每个数据分组,并提供数据符号。数据符号是用于数据的调制符号,且导频符号是用于导频的调制符号(其为先验已知的)。调制器616接收数据符号、导频符号以及可能的用于反向链路的信令,执行(例如,ofdm)调制和/或系统指定的其它处理,并提供输出码片流。发射器单元(tmtr)618处理(例如,转换为模拟、滤波、放大和上变频)输出码片流并产生经调制的信号,所述信号从天线620发射。

在接入点604x处,由天线652接收由接入终端602x和与接入点604x通信的其它终端发射的经调制信号。接收器单元(rcvr)654处理(例如,调节和数字化)从天线652接收的信号并提供接收的样本。解调器(demod)656处理(例如,解调和检测)接收的样本并提供检测到的数据符号,所述数据符号是由终端发射到接入点604x的数据符号的噪声估计。接收(rx)数据处理器658处理(例如,符号解映射、解交错和解码)用于每个终端的检测到的数据符号并提供用于所述终端的经解码数据。

对于前向链路,在接入点604x处,由tx数据处理器660处理业务数据以产生数据符号。调制器662接收数据符号、导频符号和用于前向链路的信令,执行(例如,ofdm)调制和/或其它相关处理,并提供输出码片流,所述输出码片流由发射器单元664进一步调节并从天线652发射。前向链路信令可包含在到达接入点604x的反向链路上发射的由控制器670针对所有终端产生的功率控制命令。在接入终端602x处,由天线620接收由接入点604x发射的经调制信号,由接收器单元622调节并数字化,且由解调器624处理以获得检测到的数据符号。rx数据处理器1026处理检测到的数据符号,并提供经解码数据以用于终端和前向链路信令。控制器630接收功率控制命令,并控制到达接入点604x的反向链路上的数据传输和发射功率。控制器630和670分别引导接入终端602x和接入点604x的操作。存储器单元632和673分别存储由控制器630和670使用的程序码和数据。

所揭示的实施例可应用于以下技术中的任一者或组合:码分多址(cdma)系统、多载波cdma(mc-cdma)、宽带cdma(w-cdma)、高速下行链路分组接入(hsdpa)、时分多址(tdma)系统、频分多址(fdma)系统以及正交频分多址(ofdma)系统。

结合本文中所揭示的实施例而描述的方法或算法的步骤可直接在硬件中实施,在由处理器执行的软件模块中实施,或在上述两者的组合中实施。软件模块可驻留在ram存储器、快闪存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移除盘、cd-rom或此项技术中已知的任一其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息,并将信息写入到存储媒体。在替代方案中,存储媒体可以与处理器成一体。处理器和存储媒体可驻留在asic中。asic可驻留在用户终端中。在替代方案中,处理器和存储媒体可作为离散组件驻留在用户终端中。

应注意,本文中描述的方法可在所属领域的技术人员已知的多种硬件、处理器和系统上实施。举例来说,对客户端如本文所述进行操作的一般要求是客户端具有用以显示内容和信息的显示器、用以控制客户端操作的处理器以及用于存储与客户端操作有关的数据和程序的存储器。在一个实施例中,客户端是蜂窝式电话。在另一实施例中,客户端是具有通信能力的手持计算机。在又一实施例中,客户端是具有通信能力的个人计算机。另外,例如gps接收器等硬件可在必要时被并入客户端中以实施本文描述的各种实施例。结合本文中所揭示的实施例而描述的各种说明性逻辑、逻辑块、模块和电路可用以下装置来实施或执行:通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文所述的功能的任一组合。通用处理器可以是微处理器,但在替代方案中,处理器可以是任一常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如dsp与微处理器的组合、多个微处理器、结合dsp核心的一个或一个以上微处理器或任何其它此类配置。

结合本文所揭示的实施例而描述的各种说明性逻辑、逻辑块、模块和电路可用以下装置来实施或执行:通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文所述的功能的任一组合。通用处理器可以是微处理器,但在替代方案中,处理器可以是任一常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如dsp与微处理器的组合、多个微处理器、结合dsp核心的一个或一个以上微处理器或任何其它此类配置。

上述实施例是示范性实施例。所属领域的技术人员现可在不脱离本文揭示的发明性概念的情况下大量利用上述实施例并脱离上述实施例。所属领域的技术人员可容易明白对这些实施例的各种修改,且在不脱离本文所述新颖方面的精神或范围的情况下,本文界定的一般原理可应用于其它实施例,例如用于即时消息传递服务或任何一般的无线数据通信应用。因此,不希望本发明的范围限于本文所示的实施例,而是希望其符合与本文揭示的原理和新颖特征一致的最广范围。本文专门使用词语“示范性”来表示“用作实例、例子或说明”。本文描述为“示范性”的任何实施例不一定解释为与其它实施例相比是优选或有利的。

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