一种mp4格式多媒体数据内容加密方法

文档序号:84804阅读:1047来源:国知局
专利名称:一种mp4格式多媒体数据内容加密方法
技术领域
本发明涉及多媒体数据加密方法。
背景技术
随着网络技术、信息安全、电子商务以及软件技术的进步,出现了一门专门研究内容保护的技术-数字版权管理(DRM),它主要通过对音视频数据的加密处理,达到对内容的可控使用。
对音视频内容的加密,一般采用两种加密方式第一种是流密码的方式,如目前广电系统的CA以及针对家电终端内容保护的DTCP、HTCP、UCPS等,这种方式加密算法简单,运算速度快,但是安全性不高,一般适用于数据吞吐量比较大的场合;另外一种是块密码的方式,如DES、3DES、IDEA、AES以及中国的SMS4等算法,它的运算比较复杂,对资源的耗费比较大,安全性比较高,其安全性在于对密钥的传送。在目前的DRM系统中,一般都采用第二种加密方式。
在DRM技术中,一般对多媒体内容的加密采用以下几种方式(1)对需保护文件全部进行加密。这种方式不管保护的内容是什么格式,将其全部当作需要加密的数据进行分块加密处理。但是经过这种方式处理的流媒体文件,由于将流媒体的信息也一起处理了,不能使用流媒体承载协议,也不能被相应的播放器识别,因此在使用前必须先将整个文件解密,不能一边解密一边使用。而且,将整个文件解密也增大了对内容失控的风险。对于大的流媒体文件,整个文件的解密也需要很大的缓存空间,间接增加了成本。
(2)对MP4文件的媒体数据容器(mdat)内容进行加密处理这种加密方式首先对MP4文件进行分析,找出相应的媒体数据容器单元(mdat box),并对媒体数据容器内容进行加密处理。由于在加密的过程中没有对媒体数据容器内容的类型进行区分,将音频、视频以及其它的数据一起进行了处理。而流媒体服务器是按照音频、视频分开进行打包传送的,所以从网络流媒体服务器端获取的数据,播放器无法实现正确音频和视频的解密,所以无法实现网络在线播放,通用性不强。
(3)按照RTP负载进行加密处理,音频是多帧组合成一个包,对于直接对文件的播放形式而言,如果播放的时候没有正确解密,播放器将无法正确识别音频帧,将导致严重的数据错误。这种方式不能对下载播放的节目进行保护,而这对流媒体可能是最大的需求。
在数字媒体信源编码方面,目前比较流行的是基于MPEG2、MPEG1、MPEG4、H.264、AVS公开的标准。此外微软和Real公司的信源编码标准在网络上也得到了广泛的使用,但是由于这些标准的私有性,在广电、IPTV等领域没有得到使用,同时在终端方面支持也不多。

发明内容本发明要解决的技术问题是提供一种MP4格式多媒体数据内容加密方法,能应用于各种传输协议。
本发明为解决上述技术问题所采用的技术方案是一种基于帧的MP4格式多媒体数据内容加密方法,包括以下步骤a、对MP4文件进行分析,解析元数据容器单元;b、在元数据容器单元中查找媒体类型为视频或音频的帧信息;c、根据所述帧信息查找到该帧在媒体数据容器中的地址;d、读取根据所述地址在媒体数据容器查找到帧数据;e、加密除帧头以外的帧数据。
进一步的,所述步骤b包括以下步骤b1、在元数据容器单元中收寻mvhd单元;h2、在mvhd单元中收寻trad单元;b3、判断trad单元中hdlr是否声明为视频或音频;若否进入步骤b2;若是进入b4;b4、读取该trad单元对应的采样块信息。
更进一步的是,所述采样块信息包括有,块数量、块对应的采样块数量、采样块的偏移地址和大小。
更进一步的是,所述步骤b,还包括查找媒体类型为RTP负载的帧信息。
对音视频帧进行加密也可以达到对MP4文件加密保护的功能,并且这种方式的使用范围更广,可以同时适用于本地播放和网络实时播放,而RTP加密的方式只能用于网络实时播放,无法满足本地播放的要求。
本发明的有益效果是可以同时针对音频、视频、RTP包等进行处理,有效地实现对mp4文件格式的DRM保护,也可以保证流媒体服务器和播放器可以正确识别该mp4文件。适用于采用MP4格式的MPEG4、H.264、AVS以及MOV文件的处理。采用该方法的DRM系统,可以脱离流媒体的承载协议而成为一个独立的系统,实现在多媒体服务、音视频发布、监控、IPTV、网络媒体内容提供、广电网络内容保护等多种场合。
下面结合附图和具体例子对本发明作进一步详细的描述。
图1基于帧的DRM加密的的流程。
具体实施方式本发明根据多媒体数据到解码器时,一定会将原始数据还原到帧的原理,提出了一种基于帧的MP4格式多媒体数据内容加密方法。
在MP4文件中,元数据是一组描述数据本身基本特征和属性的数据。元数据MP4文件的元数据容器单元(moov box)中。元数据容器单元包含有每个块(chunk)和每个采样块(sample)的偏移地址、大小等,播放器通过元数据容器单元识别出文件的类型,并进行播放操作。
在mp4文件中,帧是采样块的一种,采样块除了帧以外,还可能是流化的基本单元、其它说明信息基本单元等。多个采样块则组成一个块。
MP4文件格式使用的是国际标准IS014496-12多媒体文件格式。目前,采用MP4文件格式的多媒体除了MPEG-4编码外,还包括H.264、AVS等,苹果公司的MOV文件也与MP4文件格式基本相似。MP4文件的基本单位为单元(box),在文件层次中主要包括6个单元,各单元的内容见下表
在一个mp4文件中,ftyp单元和moov单元是必须的,其余单元是可选的。但是实际上,mdat单元包含的是实际的音视频数据的内容,也是mp4文件的必须部分,只是mdat单元可以以单独的文件存在,不需要必须和其它的单元放在一个文件中。
在不完整的mp4文件中,很多连ftyp单元也不存在,就只有moov和mdat单元。moov单元存放的是关于媒体信息的说明以及对mdat单元中数据的索引。通过moov单元中的内容可以对应查找到mdat单元中具体的音视频数据。moov单元的结构如下表所示
moov单元是由不同的轨(track)单元组成的。在一个mp4文件中,至少包括5种轨,分别是vide、soun、hint、sdsm、odsm,轨的数量至少在6个以上。其中,vide trak表明该视频轨,soun trak表示为音频轨,而hint trak则表示为RTP负载数据轨。
stbl轨中数据的位置信息和时间信息的重要对象,它在文件中的路径为moov/trak/mdia/minf/stbl,其中stts为采样块的解码时间对象,ctts为采样块的合成时间对象,stss为采样块的同步对象(DRM可以不作分析),在其中给出可以随机访问的样本号。Stsd为采样块的描述对象,分为四种类型视频帧、音频帧、索引和其它mpeg4流,除了索引类型外,其它的三种样本描述中都包含mpeg4的基本内码流描述符。Stsz描述采样块的大小。Stsc描述了采样块和块之间的关系,stso对象描述了块在文件中的相对位置关系。即根据轨中的说明,可以在madt单元中找到对应的采样块。如,视频轨对应的采样块为视频帧;音频轨对应的采样块为音频帧;RTP负载数据轨对应的为RTP负载包。
通过对以上的分析可以知道,我们如果按照视频轨的说明对应的采样块进行加密处理,则可以实现对视频帧的处理,按照音频轨的说明对应的采样块进行加密处理,则可以实现对音频帧的处理,按照RTP负载数据轨的说明对应的采样块进行处理,则可以对RTP负载包进行加密处理。
如图1所示,描述的是MP4基于帧的DRM加密的的流程。
1、程序在文件层次上对MP4文件进行分析。找出moov单元。
2、然后在moov单元下一层次收寻mvhd单元。
3、找出mvhd单元后,在mvhd单元里寻找trak单元。
4、对trak单元包含的所有单元进行解析,利用路径trak/mdia/hdlr/handler_type来判断该轨是否为视频轨或者音频轨。如果不是的话,在mvhd单元里继续寻找下一个trak单元继续进行以上判断过程。如果是,进入步骤5。
5、读取该轨对应的块的数量,该块的数量相关信息在路径trak/mdia/minf/stbl/stco/entry_count中得到。
6、随后读取第一个块对应的采样块的数量,该采样块的数量相关信息在路径trak/mdia/minf/stbl/stsc/samples_per_chunk中得到;以及该采样块的偏移地址、该采样块的偏移地址的相关信息在路径trak/mdia/minf/stbl/stco/chunk_offset中得到。
7、读取采样块的大小,该采样块的大小信息在路径trak/mdia/minf/stbl/stsz/sample_size中得到。
8、根据这些值读取在madt单元中的帧数据,然后将帧头以外的数据进行加密。判断当前块是否处理完成,若否进入步骤9;若是,进入步骤10。
9、计算下一个采样块的偏移地址,即上一个采样块的偏移地址加其采样块的大小,回到步骤7继续进行加密处理。
10、继续进行下一个块的处理。处理的过程与上一个块处理过程相同,直至所有块处理完毕。
以上方法除适用于mp4格式音频和视频帧的加密处理。还可以进行基于RTP负载进行数据内容的加密处理,具体只需要在步骤4种查询RTP负载数据轨即可。
本方法已经经过试验验证,它的优点是不仅适用于实时点播、组播类型的流媒体的处理,也同时适用于下载模式的多媒体的处理,与流媒体承载协议无关,支持各种下载、传输方式,通用性非常强,应用范围非常广泛。将本方案的思想进行扩展,可以使用于对各种多媒体的内容保护处理。
权利要求
1.一种MP4格式多媒体数据内容加密方法,其特征在于,包括以下步骤a、对MP4文件进行分析,解析元数据容器单元;b、在元数据容器单元中查找媒体类型为视频或音频的帧信息;c、根据所述帧信息查找到该帧在媒体数据容器中的地址;d、读取根据所述地址在媒体数据容器查找到帧数据;e、加密除帧头以外的帧数据。
2.如权利要求
1所述一种MP4格式多媒体数据内容加密方法,其特征在于,所述步骤b包括以下步骤b1、在元数据容器单元中收寻mvhd单元;b2、在mvhd单元中收寻trad单元;b3、判断trad单元中hdlr是否声明为视频或音频;若否进入步骤b2;若是进入步骤b4;b4、读取该trad单元对应的采样块信息。
3.如权利要求
2所述一种MP4格式多媒体数据内容加密方法,其特征在于,所述采样块信息包括有,块数量、采样块类型、块对应的采样块数量、采样块的偏移地址和大小。
4.如权利要求
1所述一种MP4格式多媒体数据内容加密方法,其特征在于,所述步骤b,还包括查找媒体类型为RTP负载的帧信息。
专利摘要
本发明涉及多媒体数据加密方法。本发明提供一种基于帧的MP4格式多媒体数据内容加密方法,可以应用于各种传输协议。所采用的技术方案是,一种MP4格式多媒体数据内容加密方法,包括以下步骤a.对MP4文件进行分析,解析元数据容器单元;b.在元数据容器单元中查找媒体类型为视频或音频的帧信息;c.根据所述帧信息查找到该帧在媒体数据容器中的地址;d.读取根据所述地址在媒体数据容器查找到帧数据;e.加密除帧头以外的帧数据。采用本发明所述基于音视频帧的MP4格式多媒体数据的加密方法,有效地实现对MP4文件格式的DRM保护,也可以保证流媒体服务器和播放器可以正确识别该MP4文件。
文档编号H04N7/26GK1997146SQ200610022555
公开日2007年7月11日 申请日期2006年12月20日
发明者刘贤洪, 任飞, 张新法, 胡敏 申请人:四川长虹电器股份有限公司导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1