一种基于H264编码标准的通用视频加密方法及系统.pdf

上传人:111****112 文档编号:1520205 上传时间:2018-06-20 格式:PDF 页数:15 大小:951.15KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510050727.5

申请日:

2015.01.30

公开号:

CN104639943A

公开日:

2015.05.20

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04N 19/46申请日:20150130|||公开

IPC分类号:

H04N19/46(2014.01)I; H04N21/4405(2011.01)I; H04N21/4408(2011.01)I

主分类号:

H04N19/46

申请人:

中国科学院信息工程研究所; 江苏物联网研究发展中心

发明人:

刘庆超; 芦翔; 潘磊; 汪明伟; 吕世超; 周新运; 孙利民

地址:

100093北京市海淀区闵庄路甲89号

优先权:

专利代理机构:

北京轻创知识产权代理有限公司11212

代理人:

杨立

PDF下载: PDF下载
内容摘要

本发明涉及一种基于H.264编码标准的通用视频加密方法及系统,包括以下步骤:解析视频,识别出视频中的NAL单元;将识别出NAL单元中的参数集和辅助增强信息直接在网络中进行明文传输;解析视频片,识别出视频片的首部、数据部分以及视频片中第一个宏块的位置,将视频片的首部和视频片内第一个宏块前的信息作为保留信息,不予加密,将视频片中除保留信息之外的信息进行加密;对视频片中的经过加密得到的密文进行加壳,将经过加壳的密文、视频片的首部和视频片内第一个宏块之前的信息进行组合,得到经过加密的视频片,将经过加密的视频片在网络中进行传输。本发明能够在不改变视频整体结构下保护视频内容的安全,通用性好、健壮性高、成本低。

权利要求书

权利要求书1.  一种基于H.264编码标准的通用视频加密方法,其特征在于,包括 以下步骤: 步骤1:解析基于H.264编码标准的视频,识别出视频中的NAL单元, 所述NAL单元包括参数集、辅助增强信息以及视频片;将识别出NAL单元中 的参数集和辅助增强信息直接在网络中进行明文传输; 步骤2:解析视频片,识别出视频片的首部、数据部分以及视频片中第 一个宏块的位置,将视频片的首部和视频片内第一个宏块前的信息作为保留 信息,不予加密,将视频片中除保留信息之外的信息进行加密; 步骤3:对视频片中的经过加密得到的密文进行加壳,将经过加壳的密 文、视频片的首部和视频片内第一个宏块之前的信息进行组合,得到经过加 密的视频片,将经过加密的视频片在网络中进行传输。 2.  根据权利要求1所述的基于H.264编码标准的通用视频加密方法, 其特征在于,所述步骤1中NAL单元中的参数集包括序列参数集SPS和图像 参数集PPS;视频片包括I片、B片、P片、SI片以及SP片。 3.  根据权利要求1所述的基于H.264编码标准的通用视频加密方法, 其特征在于,所述步骤2中视频片内第一个宏块之前的保留信息包括 first_mb_in_slice字段、slice_type字段、pic_parameter_set_id字段和 rame_num字段。 4.  根据权利要求1所述的基于H.264编码标准的通用视频加密方法, 其特征在于,所述步骤2中加密为流密码加密或分组加密,所述流密码加密 包括采用RC4加密算法,分组加密方法包括DES加密算法、3DES加密算法、 AES加密算法、SM1加密算法和SM4加密算法。 5.  根据权利要求1所述的基于H.264编码标准的通用视频加密方法, 其特征在于,所述步骤3中,当检测到加密的密文中出现起止码时,将最后 一个字节前插入起止码标记,在解码时,检测到起止码标记时,将起止码标 记抛弃。 6.  一种基于H.264编码标准的通用视频加密系统,其特征在于,包括 解析模块(1)、加密模块(2)和组合模块(3); 所述解析模块(1),用于解析基于H.264编码标准的视频,识别出视 频中的NAL单元,所述NAL单元包括参数集、辅助增强信息以及视频片;将 识别出NAL单元中的参数集和辅助增强信息直接在网络中进行明文传输; 所述加密模块(2),用于解析视频片,识别出视频片的首部、数据部 分以及视频片中第一个宏块的位置,将视频片的首部和视频片内第一个宏块 前的信息作为保留信息,不予加密,将视频片中除保留信息之外的信息进行 加密; 所述组合模块(3),用于对视频片中的经过加密得到的密文进行加壳, 将经过加壳的密文、视频片的首部和视频片内第一个宏块之前的信息进行组 合,得到经过加密的视频片,将经过加密的视频片在网络中进行传输。 7.  根据权利要求6所述的基于H.264编码标准的通用视频加密系统, 其特征在于,所述解析模块(1)中NAL单元中的参数集包括序列参数集SPS 和图像参数集PPS;视频片包括I片、B片、P片、SI片以及SP片。 8.  根据权利要求6所述的基于H.264编码标准的通用视频加密系统, 其特征在于,所述加密模块(2)中视频片内第一个宏块之前的保留信息包 括first_mb_in_slice字段、slice_type字段、pic_parameter_set_id字 段和rame_num字段。 9.  根据权利要求6所述的基于H.264编码标准的通用视频加密系统, 其特征在于,所述加密模块(2)中加密为流密码加密或分组加密,所述流 密码加密包括采用RC4加密算法,分组加密方法包括DES加密算法、3DES 加密算法、AES加密算法、SM1加密算法和SM4加密算法。 10.  根据权利要求6所述的基于H.264编码标准的通用视频加密系统, 其特征在于,所述组合模块(3)中,当检测到加密的密文中出现起止码时, 将最后一个字节前插入起止码标记,在解码时,检测到起止码标记时,将起 止码标记抛弃。

说明书

说明书一种基于H.264编码标准的通用视频加密方法及系统
技术领域
本发明涉及视频加密方法,尤其是涉及一种基于H.264编码标准的通用 视频加密方法及系统。
背景技术
随着视频编码技术和网络技术的快速发展,视频会议、数字电视、视频 聊天、在线影视等已经逐渐成为人们日常生活中的一部分。视频会议以其快 速实时的特点得到广泛应用,然而,这些视频服务在开放网络环境中很容易 遭受人为的攻击,如数据拦截、信息窃取、数据篡改和数据添删等。目前, 多采用认证技术、权限划分或者建立安全通道的方式防止非法用户访问存储 器中的视频。这些方式都存在一定的缺陷,安全流程过于严格会降低用于体 验,并且难以维护,如果过于简洁,则容易出现安全漏洞。
解决上述问题的一种方法是对视频内容本身进行加密。当前,视频内容 的安全得到学界的广泛重视,很多加密方法被不断提出,但研究多致力于算 法本身,面向应用需求的很少。根据加密的数据类型和所占的比例,可以将 加密算法大致分为完全加密、部分加密、置乱加密、选择性加密及基于熵编 码加密等。全加密方式是将每一帧内内容不加区分,将参数和数据主体全部 加密,其它方式会选择一部分参数或者视频块进行加密。然而这些方式在应 用上都存在以下问题:
1)、与编码相结合的加密的研究还不完善。一些加密方法会显著地改变 信源结构和句法,对后续编码影响很大,这会降低网络资源利用率和网络服 务质量。另一些方法在安全性、压缩比和加密复杂度等方面互为矛盾,难以 实现商业应用。
2)、与编码相结合的加密的通用性不好。当前应用较多的编码标准都针 对不同的应用场景提供基本档、主要档和扩展档等多种方案。不同档级间采 取的编码策略存在一定的差异,设置的参数如取样频率、图像尺寸、编码比 特率等也都存在差异。这需要摄像设备生产者必须先根据编码和硬件设备的 特点进行修改和优化,因此基于编码的加密需要根据不同的设备设计不同的 方案,通用性不够。
3)、与编码相结合的加密的成本较高。为了提高编码速度,大部分摄像 设备都使用硬件方式对视频编码,也即在视频处理器上集成DSP处理器等专 门负责视频编码。如果采用与编码相结合的方式对视频加密,就必然要调整 与视频编码相关的硬件模块的结构,这会大大提高编码的成本。
发明内容
本发明所要解决的技术问题是提供一种在不改变视频整体结构下保护 视频内容的安全,通用性好、健壮性高、成本低的基于H.264编码标准的通 用视频加密方法及系统。
本发明解决上述技术问题的技术方案如下:一种基于H.264编码标准的 通用视频加密方法,包括以下步骤:
步骤1:解析基于H.264编码标准的视频,识别出视频中的NAL单元, 所述NAL单元包括参数集、辅助增强信息以及视频片;将识别出NAL单元中 的参数集和辅助增强信息直接在网络中进行明文传输;
步骤2:解析视频片,识别出视频片的首部、数据部分以及视频片中第 一个宏块的位置,将视频片的首部和视频片内第一个宏块前的信息作为保留 信息,不予加密,将视频片中除保留信息之外的信息进行加密;
步骤3:对视频片中的经过加密得到的密文进行加壳,将经过加壳的密 文、视频片的首部和视频片内第一个宏块之前的信息进行组合,得到经过加 密的视频片,将经过加密的视频片在网络中进行传输。
本发明的有益效果是:本发明按照H.264视频编码标准编码之后,保留 视频的参数和其它重要信息,仅对数据主体进行加密。具体而言,就是保留 视频中的参数集SPS(序列参数集)、PPS(图像参数集)、SEI(辅助增强信 息)等,仅仅对I帧、P帧和B帧等部分进行加密。而对于加密的帧,仍然 保留片头中几个比较重要的字段,其它部分全部加密。加密后的视频可以获 得高强度的安全保护,但仍可以与普通视频一样在网络中传输,可以按普通 方法保存和管理密文数据,因此这是一种通用性更好、健壮性更高、成本更 低的视频流加密方法。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述步骤1中NAL单元中的参数集包括序列参数集SPS和图像 参数集PPS;视频片包括I片、B片、P片、SI片以及SP片。
进一步,所述步骤2中视频片内第一个宏块之前的保留信息包括 first_mb_in_slice字段、slice_type字段、pic_parameter_set_id字段和 rame_num字段。
进一步,所述步骤2中加密为流密码加密或分组加密,所述流密码加密 包括采用RC4加密算法,分组加密方法包括DES加密算法、3DES加密算法、 AES加密算法、SM1加密算法和SM4加密算法。
进一步,所述步骤3中,当检测到加密的密文中出现起止码时,将最后 一个字节前插入起止码标记,在解码时,检测到起止码标记时,将起止码标 记抛弃。
进一步,一种基于H.264编码标准的通用视频加密系统,包括解析模块、 加密模块和组合模块;
所述解析模块,用于解析基于H.264编码标准的视频,识别出视频中的 NAL单元,所述NAL单元包括参数集、辅助增强信息以及视频片;将识别出 NAL单元中的参数集和辅助增强信息直接在网络中进行明文传输;
所述加密模块,用于解析视频片,识别出视频片的首部、数据部分以及 视频片中第一个宏块的位置,将视频片的首部和视频片内第一个宏块前的信 息作为保留信息,不予加密,将视频片中除保留信息之外的信息进行加密;
所述组合模块,用于对视频片中的经过加密得到的密文进行加壳,将经 过加壳的密文、视频片的首部和视频片内第一个宏块之前的信息进行组合, 得到经过加密的视频片,将经过加密的视频片在网络中进行传输。
进一步,所述解析模块中NAL单元中的参数集包括序列参数集SPS和图 像参数集PPS;视频片包括I片、B片、P片、SI片以及SP片。
进一步,所述加密模块中视频片内第一个宏块之前的保留信息包括 first_mb_in_slice字段、slice_type字段、pic_parameter_set_id字段和 rame_num字段。
进一步,所述加密模块中加密为流密码加密或分组加密,所述流密码加 密包括采用RC4加密算法,分组加密方法包括DES加密算法、3DES加密算法、 AES加密算法、SM1加密算法和SM4加密算法。
进一步,所述组合模块中,当检测到加密的密文中出现起止码时,将最 后一个字节前插入起止码标记,在解码时,检测到起止码标记时,将起止码 标记抛弃。
附图说明
图1为现有H.264编码视频的结构;
图2为现有I片、P片以及B片的显示顺序;
图3为现有视频传输序列的示意图;
图4为本发明方法步骤流程图;
图5为本发明系统结构图。
附图中,各标号所代表的部件列表如下:
1、解析模块,2、加密模块,3、组合模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本 发明,并非用于限定本发明的范围。
实施例1
如图4所示,一种基于H.264编码标准的通用视频加密方法,包括以下 步骤:
步骤1:解析基于H.264编码标准的视频,识别出视频中的NAL单元, 所述NAL单元包括参数集、辅助增强信息以及视频片;将识别出NAL单元中 的参数集和辅助增强信息直接在网络中进行明文传输;
步骤2:解析视频片,识别出视频片的首部、数据部分以及视频片中第 一个宏块的位置,将视频片的首部和视频片内第一个宏块前的信息作为保留 信息,不予加密,将视频片中除保留信息之外的信息进行加密;
步骤3:对视频片中的经过加密得到的密文进行加壳,将经过加壳的密 文、视频片的首部和视频片内第一个宏块之前的信息进行组合,得到经过加 密的视频片,将经过加密的视频片在网络中进行传输。
所述步骤1中NAL单元中的参数集包括序列参数集SPS和图像参数集 PPS;视频片包括I片、B片、P片、SI片以及SP片。
所述步骤2中视频片内第一个宏块之前的保留信息包括 first_mb_in_slice字段、slice_type字段、pic_parameter_set_id字段和 rame_num字段。
所述步骤2中加密为流密码加密或分组加密,所述流密码加密包括采用 RC4加密算法,分组加密方法包括DES加密算法、3DES加密算法、AES加密 算法、SM1加密算法和SM4加密算法。
所述步骤3中,当检测到加密的密文中出现起止码时,将最后一个字节 前插入起止码标记,在解码时,检测到起止码标记时,将起止码标记抛弃。
如图5所示,一种基于H.264编码标准的通用视频加密系统,包括解析 模块1、加密模块2和组合模块3;
所述解析模块1,用于解析基于H.264编码标准的视频,识别出视频中 的NAL单元,所述NAL单元包括参数集、辅助增强信息以及视频片;将识别 出NAL单元中的参数集和辅助增强信息直接在网络中进行明文传输;
所述加密模块2,用于解析视频片,识别出视频片的首部、数据部分以 及视频片中第一个宏块的位置,将视频片的首部和视频片内第一个宏块前的 信息作为保留信息,不予加密,将视频片中除保留信息之外的信息进行加密;
所述组合模块3,用于对视频片中的经过加密得到的密文进行加壳,将 经过加壳的密文、视频片的首部和视频片内第一个宏块之前的信息进行组 合,得到经过加密的视频片,将经过加密的视频片在网络中进行传输。
所述解析模块1中NAL单元中的参数集包括序列参数集SPS和图像参数 集PPS;视频片包括I片、B片、P片、SI片以及SP片。
所述加密模块2中视频片内第一个宏块之前的保留信息包括 first_mb_in_slice字段、slice_type字段、pic_parameter_set_id字段和 rame_num字段。
所述加密模块2中加密为流密码加密或分组加密,所述流密码加密包括 采用RC4加密算法,分组加密方法包括DES加密算法、3DES加密算法、AES 加密算法、SM1加密算法和SM4加密算法。
所述组合模块3中,当检测到加密的密文中出现起止码时,将最后一个 字节前插入起止码标记,在解码时,检测到起止码标记时,将起止码标记抛 弃。
H.264编码是由ISO/IEC与ITU-T组成的联合视频组制定的视频压缩编 码标准,2003年正式公布,目前得到非常广泛的应用。
H.264编码视频的结构:视频是由图像的时间序列组成的,通常也称为 视频图像、图像序列、视频序列等等,每一幅这样的图像称为一帧。帧率就 是时间序列的播放速度,通常帧率为每秒25~30帧。
视频是一种分级的结构,早期的视频编码标准中,视频是一种类似于 TCP/IP协议的分层结构,每一层都有一个头部(也包含必要的尾部),每 层的数据部分包含该层的数据。而该层的数据部分又是高层的若干个数据单 元,这些单元又都有自己的头部和数据部分。这种结构在各种网络协议中应 用非常广泛,但每一层的头部和它的数据部分形成管理与被管理的强依赖关 系,一旦头部丢失,数据部分的信息几乎不可能再被正确解码出来。在网络 中通常会采取重传策略而抛弃有错误的数据包。由于视频帧一般都比网络的 最大传输单元大,不可能将整个层的句法元素全部放入同一个分组中,如果 头部所在的分组丢失,该层其他分组即使能被正确接收也无法组合成一个完 整的帧,因而无法解码,造成资源浪费。
H.264编码标准在广泛吸收各类编码标准的优点的基础上,设计了五个 层次的结构,分别为序列、图像、片、宏块、子宏块五个基本的层次。各个 层次的相互关系,如图1所示。
在H.264编码标准中,首先是引入了两种参数集——序列参数集(SPS) 和图像参数集(PPS),这两种参数是将原本属于序列和图像头部的部分句 法元素分离出来形成的,其它的部分则放入片层。参数集是一个独立的数据 单位,不依赖于参数集外的其他句法元素。序列参数集SPS包含的是针对一 连续编码视频序列的参数,如编号标识、帧数、参考帧的数目、解码图像尺 寸和帧场编码模式选择标识等。图像参数集PPS对应的是一个序列中某一图 像或者几幅图像的参数标识、熵编码模式选择标识、片组数目、初始量化参 数和去方块滤波系数调整标识等等。
一般情况下,一个序列参数集SPS可以映射到多个图像参数集。图1描 述了序列参数集SPS与图像参数集PPS外各种句法元素的关系。图中的连线 代表下一层在编解码时需要参考上一层的信息。参数集只是在片层句法元素 需要的时候被引用,而并不对应一个特定的图像或序列,同一个图像参数集 也可以被多个图像引用,只有编码器认为需要更新参数集的内容时,才会发 送出新的参数。在H.264标准中,各类参数集与片、图像之间的映射关系比 较灵活,一个完整的帧可以由一个片或者多个片组成,而每个片可以根据需 要灵活选择需要引用的参数。
在这种参数集独立的机制下,参数集可以被多次重发,而且H.264编码 或解码过程中需要保证片层中的某个句法元素要引用某个参数集时,那个参 数集已经到达解码器,也就是参数集在时间上必须首先被传送,如果得不到 需要的参数,句法的解析将会完全错误,一般的解码器会将其抛弃,直到接 收到下一个序列参数集SPS和图像参数集PPS之后才正常解码。因此H.264 标准建议将参数集与参数集外部的句法元素处于不同信道中。传输参数集 时,使用更安全但成本更昂贵的通道来,而传输普通数据时,使用成本低但 不够可靠的信道。
如图1所示,为码流结构是一种简化的基本模型,这里所有的片只有一 种类型,一个或者多个片组成一副图像,该模型已经能正常工作,但是不够 完善。通常,片的类型可能只有两种,也可能是多种,这取决于编码采用的 档级。为了适应复杂的场合,除了片和参数集外还需要其他的数据单位来提 供额外的信息,因此还要做进一步的扩展。
H.264编码为了提高压缩的效率和传输的可靠性,将视频分成三种不同 的档次。基本档次,主要用于视频会话相关的应用中,如远程视频会议、可 视电话、远程医疗、远程教学、实时监控等对实时性要求比较高的场景中。 主要档次,主要用于消费电子产品中,如数字电视、视频存储等场景中。而 扩展档次主要用于网络的视频流,如视频点播等。
针对上述三种档次,每一种都必须满足一组特定的编码功能,并支持一 类特定的应用。采用基本档次时,只有I片和P片两种类型的片,能够支持 帧内和帧间编码,支持基于上下文的自适应变长编码(CAVLC)的熵编码。 使用主要档次时,除了满足基本档次的要求,还支持隔行视频,采用B片的 帧间编码和采用加权预测的帧内编码,支持利用基于上下文的自适应的算术 编码(CABAC),因此,有I片、P片和B片的三种片类型。而扩展档次除了 I片、P片和B片外,为了支持码流之间的有效切换,还有SP片和SI片两 种片。
如图2所示,一种包含I帧、P帧和B帧三种类型的视频结构。一个视 频图像可编码成一个或更多个片,编码片一般有三种不同类型,I片、P片、 B片。图中箭头的尾部是首部的参考图像,I片,即帧内(Intra)片,利用 从当前片中已解码的像素作为参考进行帧内预测,而不取其它片中的已解码 像素作为参考进行帧内预测。P片利用前面已编码的I片作为参考图象进行 帧内预测。B片则利用前后两个P片为参考进行预测。由于I片不以其它图 像为参考,一般数据量比较大,而P片要小很多,B片更小,这样可以进一 步压缩视频大小。
为了顺应视频流的带宽自适应性和抗误码性能的要求,在H.264编码标 准的扩展档中又定义了两种新的帧类型:SP片和SI片。SP帧编码的基本原 理同P片类似,仍是基于帧间预测的运动补偿预测编码,两者之间的差异在 于SP片能够参照不同参考帧重构出相同的图像帧。充分利用这一特性,SP 片可取代了I片,广泛应用于流间切换(bitstream switching)、拼接 (splicing)、随机接入(random access)、快进快退(fast forward,fast  backward)以及错误恢复(error recovery)等应用中,同时大大降低了码 率的开销。与SP片相对应,SI片则是基于帧内预测编码技术,其重构图像 和对SP片的重构图像完全相同。SP片的编码效率尽管略低于P片,但却远 远高于I片,大大改善H.264编码视频的网络亲和性,支持灵活的流媒体服 务应用,具有很强的抗误码性能,适应在噪声干扰大、丢包率高的无线信道 中传输。
片的内部结构分为片首(slice_header)和片数据(slice_data)两个 主要的部分。片首记录了片中第一个宏块的地址、片的类型、图像参数集的 索引号以及解码的顺序等等。加密时需要将其保留。
片的数据部分主要由若干个宏块组成,一个宏块由一个16×16亮度像 素和附加的一个8×8Cb和一个8×8Cr彩色像素块组成。每个图象中,若干 宏块被排列成片的形式。宏块也有I、P和B三种类型,其中I片只包含I 宏块,P片可包含P宏块和I宏块,而B片可包含B宏块和I宏块。
I宏块利用从当前片中已解码的像素作为参考进行帧内预测,而不能取 其它片中的已解码像素作为参考进行帧内预测。P宏块利用前面已编码图象 作为参考图象进行帧内预测,一个帧内编码的宏块可进一步作宏块的分割, 如16×16、16×8、8×16或8×8亮度像素块(以及附带的彩色像素)等等。
与以前的标准相比,如H.263编码和MPEG-4编码等相比,H.264的编解 码器的功能模块并没有太大变化,主要的不同在于各个功能模块的实现细 节,这些细节主要体现在宏块里。此外,H.264编码为满足各种多媒体应用, 提供了许多优化视频编解码的机制,因此不同的宏块结构差别较大。但是宏 块不对视频传输和管理带来直接影响,可以全部加密。
通过上面的分析,可以看到,序列参数集SPS和图像参数集PPS主要记 录了视频序列的全局参数、如图像尺寸、视频格式,以及编码的档级等等, 主要功能是为了外部操作可以正确的识别一个完整的视频序列,因此是不可 以加密的,否则将导致网络传输、存储和解析等均无法进行。由于不含实际 的视频内容,不加密参数不会带来安全问题。
而对于辅助增强信息(SEI)等数据单位,主要提供额外的数据或同步 信息,可以适当提高同步性能或定义图像的复杂特征,但不包含视频内容本 身,在解码过程中不是必需的,因此不必加密。
因此,本发明所述视频加密方法包括如下步骤:
第一步、解析基于H.264编码的视频,以识别出H.264编码视频内的NAL 单元,所述识别出编码视频的NAL单元包括参数集、辅助增强信息SEI以及 视频片;将识别出NAL单元中的参数集以及辅助增强信息SEI直接明文传输;
识别NAL单元中的参数集包括序列参数集SPS、图像参数集PPS;视频 片包括I片、B片、P片、SI片以及SP片。
第二步、解析视频片,识别视频片的首部、数据部分以及视频片中第一 个宏块的位置,将视频片的首部以及片数据内第一个宏块之前的信息保留, 对片内的其余信息进行加密;
片数据内第一个宏块之前的保留信息包括first_mb_in_slice字段, slice_type字段,pic_parameter_set_id字段以及frame_num字段。
对片内信息加密的方法可以采用常用的数据加密方法,流密码加密或者 分组加密方法,所述流密码加密方法包括RC4,分组加密方法包括DES、3DES、 AES、SM1或SM4。当采用分组加密时,若末尾视频不足一个分组时,需要进 行填充再进行加密。分组加密填充的方法可以采用本技术领域常用的方法, 此处不再赘述。
由于I片、P片和B片,以及扩展档级中的SI片和SP片,是视频内容 的主体,需要对其加密。但仍然要将片的首部(slice_head)全部保留。由 于片内第一个宏块之前的字段仍然对视频编码解码有重要作用,如果加密会 导致视频解密时出现错误,因此对于片数据部分,要第一个宏块之前的信息 全部保留,特别是如下四个字段:first_mb_in_slice,slice_type, pic_parameter_set_id,frame_num。first_mb_in_slice,两个字节,表示 片中宏块的地址,片通过该句法元素来标定它自己的地址。slice_type,两 个字节,指明片的类型,解码器通过该字节判断当前片的类型。 pic_parameter_set_id,两个字节,图像参数集的索引号。frame_num,两 个字节,指明了各图像的解码顺序。
第三步、对NAL单元中的密文进行加壳,以使得加密后的密文中不出现 起止码。
H.264编码视频在每个NAL单元前添加0x000001作为新的NAL单元的起 止码。在这样的机制下,解码器将检测到0x000001作为新的NAL单元已经 开始,而对NAL单元内的视频片数据进行加密后,很可能在密文中出现了起 止码。本发明实施例中,检测到密文中的起止码时,将最后一个字节前插入 0x03,在解码时,检测到0x000003序列时,将0x03抛弃。此外,还需对编 码中出现的0x000000、0x000002和0x000003进行加壳保护,具体过程与 0x000001的情况类似,此处不再赘述。
本发明对H.264编码视频的加密方法主要特点是通用性较好,可以适用 于各类场景的加密,主要体现在以下几个方面:可以适用于各类档级编码后 的加密,可以适用于各类根据设备需要进行编码优化后的加密,密文可以通 过常规的RTP/RTSP协议传输,可以按照管理明文视频的方法进行存储和转 发,也可以使用常见的解码器解码,但是不会泄露视频内容。具体地:
1)、为了适应不同用途,H.264编码标准设计了基本档次、主要档次和 扩展档次三种档次的编码,一共有5种类型的片,不同的片的编码方式、预 测方式都有很大的不同,一般的加密方法是针对不同片的特点分别设计加密 方法。这些差异主要体现在片的内部结构里,本发明实施例中,不考虑片的 内部细节,而将其全部加密,因此可以对各种视频片加密。
为了提高压缩编码的效率,提高视频图像的质量,提高错误恢复功能以 及提高网络友好性等,H.264编码视频采用了许多先进的技术,但性能的提 高是以增加计算复杂度为代价,特别是在量化、运动估计运动补偿、帧内STAD 计算、帧间SAD计算等方面涉及到大量的数据搬移和计算,因此,在硬件资 源有限的嵌入式环境下实时处理视频,一般要先优化编码。通常的加密方案 必须针对具体的设备做优化情况做调整。由于这些差异也体现在片的内部结 构里,由于本发明实施例中,不考虑片的内部细节,可以用一种方式对各种 设备产生的视频进行加密。
2)、本发明的视频加密策略是一种通用性较好的方法,主要体现在可 以使用通用的视频传输协议,如RTP/RTSP协议来传输加密后的视频。原因 如下:H.264编码视频序列包括一系列的NAL单元,由于NAL单元的长度不 是固定的,例如图像参数集PPS只有8个字节,而包含I片的NAL单元大小 则高达几千个字节,RTP在传输视频时,会根据NAL的大小,将视频帧组合 成一个包,或者拆分成多个包。
按照H.264视频编码标准编码后,视频的NAL单元的首部有一个重要的 标志字段nal_unit_type,取值范围为0-31。其中1-23主要用于解码器区 分NAL的类型,而24-31等数值在编码时未使用。例如7表示序列参数集SPS, 8表示图像参数集PPS等。但是保留了一些标志位,如0以及24-31之间的 标志位,RTP在对视频帧进行组包或者拆分成多个包时,需要使用 nal_unit_type的几个未使用的数值来来标示处理的类型,例如24表示单一 事件的组合包,26表示多个时间的组合包,28表示分片等。由于本发明实 施例中,将nal_unit_type保留,而将片内部的数据部分进行加密,因此采 用本发明的加密不会对RTP传输带来影响。由于nal_unit_type在NAL的首 部字段中,本发明中,将NAL的首部以及NAL数据部分的first_mb_in_slice, slice_type,pic_parameter_set_id,frame_num四个字段保留,因此,加 密后的视频不影响视频的传输。
具体而言,H.264编码视频以NAL为单元,各个单元紧密排列,处理器 通过标识符来识别不同的单元,常见的视频序列包括多种类型的数据,如参 数集PS、图像定界符PD,编码片,数据分割,序列结束符和填充数据等。 典型的视频传输序列如图3所示。每个单元都按独立的NAL单元传送。
H.264编码标准并未定义NAL单元的传输方式,实际中根据不同的传输 环境确定其传输方式。如在包传输网络中,每个NAL单元以独立的包传输, 在解码之前进行重新排序。
为了区分包中的数据类型,RTP使用H.264编码中的nal_unit_type的 保留位来表示NAL的状态。nal_unit_type标志位的具体含义如下表所示。

RTP协议解析到一个NAL单元(nal_unit)时,先解析nal_unit_type, 然后分三种情况处理:
i)、单一NAL单元模式
即一个RTP包仅由一个完整的NAL单元组成,这种情况下RTP NAL头类 型字段和原始的H.264编码视频的NAL单元头类型字段是一样的。
ii)、组合封包模式
即可能是由多个NAL单元组成一个RTP包,分别有4种组合方式:STAP-A, STAP-B,MTAP16,MTAP24。那么这里的类型值分别是24,25,26以及27。
iii)、分片封包模式
用于把一个NALU单元封装成多个RTP包,存在两种类型FU-A和FU-B 类型值分别是28和29
由此可见,视频传输时主要使用片级的nal_unit_type来区分各类片的 类型,而对片内的数据部分不做区分,因此采用本方案加密后的视频可以使 用常见的视频传输协议如RTP进行传输。
3)、对存储在本地的视频文件,需要对视频做基本的解析,以便于管 理。H.264的解码以NAL单元为单位进行,在进行NAL单元解析之前,首先 通过RTP协议解析,或者通过起始码检测,从传输码流中获取NAL单元数据。 如果要对NAL单元进行解码,其输入是NAL单元,输出结果是经过解码的当 前图像(CurrPic)的样点值,由于此时视频内容是加密,将只会看到浑浊 的画面,而无法看到有价值的内容。
本发明按照H.264视频编码标准编码之后,保留视频的参数和其它重要 信息,仅对数据主体进行加密。具体而言,就是保留视频中的参数集SPS(序 列参数集)、PPS(图像参数集)、SEI(辅助增强信息)等,仅仅对I帧、 P帧和B帧等部分进行加密。而对于加密的帧,仍然保留片头中几个比较重 要的字段,其它部分全部加密。加密后的视频可以获得高强度的安全保护, 但仍可以与普通视频一样在网络中传输,可以按普通方法保存和管理密文数 据,因此这是一种通用性更好、健壮性更高、成本更低的视频流加密方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明 的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发 明的保护范围之内。

一种基于H264编码标准的通用视频加密方法及系统.pdf_第1页
第1页 / 共15页
一种基于H264编码标准的通用视频加密方法及系统.pdf_第2页
第2页 / 共15页
一种基于H264编码标准的通用视频加密方法及系统.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《一种基于H264编码标准的通用视频加密方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种基于H264编码标准的通用视频加密方法及系统.pdf(15页珍藏版)》请在专利查询网上搜索。

本发明涉及一种基于H.264编码标准的通用视频加密方法及系统,包括以下步骤:解析视频,识别出视频中的NAL单元;将识别出NAL单元中的参数集和辅助增强信息直接在网络中进行明文传输;解析视频片,识别出视频片的首部、数据部分以及视频片中第一个宏块的位置,将视频片的首部和视频片内第一个宏块前的信息作为保留信息,不予加密,将视频片中除保留信息之外的信息进行加密;对视频片中的经过加密得到的密文进行加壳,将经。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1