一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于H.264视频码流辅助增强信息的数字版权保护方法与流程

2023-01-02 15:53:14 来源:中国专利 TAG:

一种基于h.264视频码流辅助增强信息的数字版权保护方法
技术领域
1.本发明属于视频数字水印编/解码技术和数字版权保护技术领域,具体涉及一种基于h.264视频码流辅助增强信息的数字版权保护方法。


背景技术:

2.流媒体是采用流式传输方式播放的媒体格式,直播、短视频、在线视频等常用视频码流进行播放。在视频码流的知识产权保护中,防篡改、来源认证、播放授权是该领域需要解决的三个核心技术问题。现有的技术方法,多是对视频码流数据进行各类复杂的变换运算,并配合密码学的技术手段来解决上述问题。然而现有的技术方法存在以下几个缺陷:一是用户对画面的质量要求越来越高,对视频进行上述处理往往会造成视频和图像失真;二是对视频码流数据进行各类复杂的变换运算,会影响视频码流的处理效率,降低视频播放流畅度影响播放体验。
3.h.264是应用广泛的视频码流标准,其中的sei(supplemental enhancement information,补充增强信息)数据结构,提供了向视频码流中加入自定义信息的方法,sei对格式兼容性较强,在sei中嵌入数字水印具有抵抗帧删除攻击、抵抗空间同步失真、光度失真等优势,可以用于对视频码流的数字版权保护。


技术实现要素:

4.本发明的目的在与针对上述技术问题提出一种基于h.264视频码流辅助增强信息的数字版权保护方法,借助嵌入在sei辅助增强信息数据结构中的水印数据,实现视频码流防篡改、来源认证和授权播放。该方法不修改视频帧数据内容,所以不会影响画面质量;认证数据只需要校验一次,防篡改校验可以抽样进行,授权播放采用对部分视频加密处理方式,根据处理效率设置为可选功能。降低了视频数字版权保护对视频播放效率的影响。
5.本发明具体包括如下步骤:步骤1、在视频分发端,提取待分发视频码流的关键帧i帧信息生成防篡改参数:在视频分发端,从待分发视频码流中提取出关键帧i帧,利用国密sm3算法生成i帧数据的消息摘要h,作为视频防篡改参数。
6.步骤2、将防篡改参数h、认证参数v、加密参数e(可选)组成数字水印信息:(1)防篡改参数为步骤1中生成i帧数据的国密sm3算法消息摘要h;(2)利用视频分发端国密sm2算法私钥ks对该视频文件名进行签名,生成签名认证参数v。
7.(3)在视频分发端,为该视频文件生成一个128位随机数r,后面利用该随机数r对视频相应部分加密,加密算法采用国密sm4算法,利用接收端国密sm2算法公钥pr对r加密生成加密参数e。国密sm4算法是对称加密算法,加密和解密是同一个算法,加密和解密密钥也相同。
8.将防篡改参数、认证参数组合生成数字水印w,即w=h v。或将防篡改参数、认证参
数、加密参数组合生成数字水印w,即w=h v e。
9.步骤3、将数字水印嵌入到h.264码流的sei结构中,生成带数字水印的视频码流:在i帧之前插入sei(supplemental enhancement information,辅助增强信息)帧,自定义数据为步骤2生成的无加密参数或有加密参数数字水印。
10.步骤4、在视频接收端,从带水印的码流中提取数字水印信息:在接收端,对接收到的带水印的码流数据,从中定位sei帧,取出sei数据结构中的水印信息。
11.步骤5、从数字水印信息中分离出分割获取的防篡改参数h’、 分割获取的认证参数v’、 分割获取的加密参数e’(可选):当不设置加密参数时,数据水印信息w分割为分割获取的防篡改参数h’、分割获取的认证参数v’。
12.当设置加密参数时,数据水印信息w分割为分割获取的防篡改参数h’、 分割获取的认证参数v’、 分割获取的加密参数e’。
13.步骤6、在视频接收端,对接收到的视频码流进行校验、认证处理和解密处理(可选):(1)防篡改校验:利用国密sm3算法对接收到的sei帧之后的i帧数据进行消息摘要计算,记此时消息摘要计算结果为h*,如果h*与步骤5分割获取的防篡改参数h’一致,即h*= h’,则防篡改校验成功,表示收到的视频码流中的i帧数据与分发端分发的视频码流中的i帧相同,即视频码流在传输过程中未被篡改。
14.(2)认证校验:使用在线获取、或者存储在接收端安全存储区内的分发端国密sm2算法公钥ps,对分割获取的认证参数v’进行计算,如果计算结果为该视频文件名,则认证校验成功,表示收到的视频码流确实为分发端数字签名的视频码流。
15.(3)解密处理(可选):当设置加密参数时,对步骤5分割获取的加密参数e’,利用接收端的私钥进行处理,得到r’= sm2
kr
(e’),若传输无误,则r’=r,即为对部分视频进行解密处理的密钥,解密算法为国密sm4算法。利用国密sm4解密密钥和解密算法即可对视频中的加密数据进行解密。
16.本发明针对常用的h.264实时码流标准,基于sei辅助增强信息数据结构的数字水印添加及提取方法,借助嵌入在sei中的水印数据实现视频码流防篡改、来源认证,无需修改视频帧数据内容,所以不会影响画面质量;并通过国密算法保证视频码流的防篡改和来源认证,认证数据只需要校验一次,防篡改校验可以抽样进行,降低了视频数字版权保护对视频播放效率的影响。
附图说明
17.图1为本发明基于h.264视频码流辅助增强信息的数字版权保护流程图;图2为本发明h.264码流基础数据块结构图;图3为本发明分发端生成的数字水印信息组成结构图;图4为本发明sei自定义数据封装格式结构图;
图5为本发明接收端将数字水印分割为三部分的结构图。
具体实施方式
18.下面根据附图举例对本发明做进一步解释:如图1所示,一种基于h.264视频码流辅助增强信息的数字版权保护方法,具体包括如下步骤:步骤1、在分发端,提取待分发视频码流的i帧信息生成防篡改参数:视频中每帧代表一幅静止的图像,为了提高码流传输效率,实际应用时会采取各种算法压缩帧数据容量。常见的ipb压缩方式中,i帧是关键帧,采用帧内压缩,解码时只需要本帧数据即可完成,而p向前搜索帧和b双向搜索帧,都是基于i帧来压缩数据。p帧没有完整画面数据,只有与前一帧的画面差别的数据。b帧是双向差别帧,记录的是本帧与前后帧的差别数据。所以i帧数据是否被篡改对视频的完整性具有决定意义。
19.h.264码流,是由一个个独立的数据块nalu组成,如图2所示为h.264码流基础数据块,一个原始的h.264 nalu 单元常由 [startcode] [nalu header] [nalu payload] 三部分组成。视频解码器在解码时,首先遍历码流中的start code(00 00 00 01或者00 00 01),找到start code后紧跟着的解析nalu单元,解析时从前往后遍历,直至找到下一个start code,并开始下一帧nalu单元的解析。
[0020]
25/65为i帧的起始标志,在视频分发端,从待分发视频码流中根据i帧起始标志提取出i帧,对该i帧数据利用国密sm3算法进行消息摘要计算,得到消息摘要值h,作为视频防篡改参数,即h=sm3(i_frame_data_send),根据sm3算法规范,生成的h为256位。
[0021]
步骤2、将防篡改参数、认证参数、加密参数组成数字水印信息:(1)防篡改参数为步骤1中生成i帧数据的国密sm3算法消息摘要h;(2)在视频分发端,利用视频分发端的私钥ks,按照国密sm2算法,对该视频文件名video_file_name进行签名计算,生成签名认证参数v,即v=sm2
ks
(video_file_name),根据sm2算法规范,生成的v为512位。
[0022]
(3)在视频分发端,为该视频文件生成一个128位随机数r,后面利用该随机数r对视频相应部分加密,加密算法采用国密sm4算法。利用接收端的公钥pr,按照国密sm2算法对随机数r进行加密计算,生成加密参数e,即e=sm2
pr
(r)。根据sm2算法规范,生成的加密参数e为512位。国密sm4算法是对称加密算法,加密和解密是同一个算法,加密和解密密钥也相同。
[0023]
将防篡改参数、认证参数、加密参数组合生成数字水印w,即w=h v e,如图3所示,数字水印长度为1280(即256 512 512)位。
[0024]
步骤3、将数字水印嵌入到h.264码流的sei结构中,生成带数字水印的视频码流:如图4所示,sei字段自定义封装包格式为:start code:每个nalu单元的起始码,为00 00 00 01或者00 00 01。
[0025]
nri:高四位的第一位为禁止位0,决定该nalu单元是否有效;高四位中间两位表示该nalu单元的重要程度,解码时根据该数值决定该nalu单元解析或丢弃。高四位的最后一位与低四位组成nalu单元识别码,06表示该单元为sei字段。
[0026]
payload type:05表示该sei字段的编码格式符合h.264标准格式。
[0027]
uuid:用户自定义的识别码,16字节长度,只要不与start code冲突即可。
[0028]
自定义数据长度:用两个字节表示封装自定义数据的长度,解码时依据该数值做校验。
[0029]
自定义数据:用户自己封装的数据,在该实例中为160字节的篡改参数、认证参数、加密参数数据。
[0030]
结尾对齐码:80表示sei字段的结束对齐。
[0031]
在i帧之前插入如图4所示的sei(supplemental enhancement information,辅助增强信息)帧,插入自定义数据为步骤2生成的(即1280位)数字水印信息。
[0032]
步骤4、在接收端,从带水印的码流中提取数字水印信息:在接收端,对接收到的带水印的码流数据,从中定位sei帧,读取带数字水印的h.264视频码流,扫描视频码流,寻找每一帧中标识符为(00)00 00 01 06的字段,即为辅助增强信息字段。从sei帧中取出160字节自定义的数字水印信息数据w’。
[0033]
步骤5、从数字水印信息中分离出分割获取的防篡改参数h’、 分割获取的认证参数v’、 分割获取的加密参数e’:如图5所示,数据水印信息w’长度为160字节,即1280位,取出后从前往后,依次分割为长度分别为256、512、512位的三部分,这三部分即为分割获取的防篡改参数h’、分割获取的认证参数v’、分割获取的加密参数e’。
[0034]
步骤6、在视频接收端,对接收到的视频码流进行校验和认证处理:(1)防篡改校验:利用国密sm3算法对接收到的sei帧之后的i帧数据进行消息摘要计算,记消息摘要计算结果为h*,即h*=sm3(i_frame_data_receive),如果h*与步骤5分割获取的防篡改参数h’一致,即h*= h’,则防篡改校验成功,由于国密sm3算法具有雪崩效应,1位数据的改动就将造成计算出的结果有非常大的差异。计算结果一致,表示收到的视频码流中的i帧数据与分发端分发的视频码流中的i帧相同,由于i帧在视频流中的关键作用,表明视频码流在传输过程中未被篡改。
[0035]
(2)认证校验:使用在线获取、或者存储在接收端安全存储区内的分发端国密sm2算法公钥ps,对分割获取的认证参数v’进行签名校验计算,即计算sm2
ps
(v’),如果该计算结果为该视频文件名video_file_name,由于对视频文件名video_file_name的签名使用的是分发端国密sm2算法的私钥,只有分发端拥有使用该密钥的权限,认证校验成功,表示收到的视频码流确实为分发端数字签名的视频码流。
[0036]
(3)解密处理:使用防篡改校验和认证校验,保证了视频码流在传输中未被篡改,视频码流确实来源于分发端,而不是其他人伪造的。
[0037]
如果需要进一步控制授权浏览的范围,可以通过对视频码流的部分数据进行加密的方式实现。加解密处理功能在图1中以虚线表示,这部分功能是可选功能,可以忽略,忽略该功能时将加解密参数填充为全“0”即可。
[0038]
分发端在分发视频码流时,对选取的部分视频数据利用国密sm4算法进行加密,同时将加密密钥传输到接收端,该密钥在传输过程中使用接收端的公钥进行加密,只能用接
收端的私钥进行解密,由于该私钥只有接收端拥有使用权限,只有接收端可以解密获取视频加密用的sm4算法密钥,sm4算法为对称加密算法,加密密钥也即是解密密钥,可以用该密钥对已加密的部分视频进行解密得到原视频数据。对步骤5分割获取的加密参数e’,接收端利用自己的私钥kr,按照sm2算法进行解密处理,得到r’= sm2
kr
(e’),若传输无误,则r’=r,即解密得到对部分视频进行解密处理的密钥,利用国密sm4解密密钥和解密算法即可对视频中的加密数据进行解密。
[0039]
为进一步提高本发明中数字版权保护的计算效率,可以对以下几点进行优化处理:(1)对i帧进行抽样选取,如对i帧进行n间隔采样处理,这样数字版权保护中的防篡改处理工作量变为原来的1/n。
[0040]
(2)对认证校验的简化,由于对一个视频码流文件的签名分发方只有一个,在计算一次sm2
ps
(v)并通过校验之后,记录下认证参数v。后续从sei中提取并分割获取的认证参数v’,只要简单比对v=v’,即可判定为相同的签名方,不必再计算sm2
ps
(v’)。
[0041]
(3)对视频码流的授权管理,为该方法中的可选功能,采用对视频结构数据进行加密的方式实现,只对其中部分视频结构数据进行加密处理,以减少加密运算的工作量。能根据接收端的计算能力,调整配置视频结构中要加密处理的子块数量及具体是哪几个子块。对加密密钥通过sm2算法进行解密处理计算一次后,在密钥变换之前不必每次计算,只要从sei中提取分割获取的加密参数e’=e,则加解密密钥就没变。本发明支持间隔一段时间更新视频加密密钥,通过适当降低更新频率,可以减少密钥获取的计算量,从而提高运算效率。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献