无帧内误差漂移的h.264/avc压缩域鲁棒视频水印嵌入及提取方法

文档序号:8266687阅读:362来源:国知局
无帧内误差漂移的h.264/avc压缩域鲁棒视频水印嵌入及提取方法
【技术领域】
[0001] 本发明涉及一种视频水印技术,尤其是涉及一种无帧内误差漂移的H. 264/AVC压 缩域鲁棒视频水印嵌入及提取方法。
【背景技术】
[0002] 随着网络和多媒体技术的飞速发展,视频的传输和处理等操作变得越来越容易。 如何保护视频所有者的合法权益,成为一个亟待解决的问题。视频水印技术是解决这一问 题的有效手段。视频数据量庞大,通常是以压缩的形式进行存储和传输的,而传统视频水 印算法需要完全解码出原始视频才能进行水印的嵌入和检测,不适用于压缩视频。在压缩 域中嵌入水印主要有两类方法,第一类是联合编码的压缩域水印方法,这类方法可以在闭 环回路加入水印,不会造成误差漂移,视频质量好,但是当这类方法应用于压缩视频流时, 需要完全解码出原始视频再联合编码嵌入水印,复杂度极高;第二类是基于视频流的压缩 域水印方法,这类方法避免了复杂的编码过程,计算复杂度低,但是只能在开环回路嵌入水 印,含水印的重建值会对后续块的重建产生预测误差,造成误差漂移。依据对误差漂移的处 理方式将这类方法分为3类型,第1类型是不考虑误差漂移问题,直接嵌入水印,实时性好, 但是由于没有考虑误差漂移问题,因此视频质量难以得到保证;第2类型是对误差漂移进 行补偿,增加了计算复杂度,该类已有的方法鲁棒性能差且大部分是可检测而不可读方案, 不适用于一些需要提取水印的应用场合;第3类型是巧妙限制或者避免误差漂移,实时性 强且视频质量好,但是已有的水印方法鲁棒性欠佳。

【发明内容】

[0003] 本发明所要解决的技术问题是提供一种无帧内误差漂移的H. 264/AVC压缩域鲁 棒视频水印嵌入及提取方法,其在保证视频质量的前提下,能够有效地降低计算复杂度,且 提尚鲁棒性。
[0004] 本发明解决上述技术问题所采用的技术方案为:一种无帧内误差漂移的H. 264/ AVC压缩域鲁棒视频水印嵌入方法,其特征在于包括以下步骤:
[0005] ①-1、在水印嵌入端,将符合H. 264/AVC标准的待处理视频流定义为目标视频流, 记为 Test. 264 ;
[0006] ①-2、对待嵌入的水印信息用密钥1?^1置乱加密后得到加密水印信息,记为M,M =Im1, m2,…,Iv1, mj,其中,η表示M的总比特数,mp m2、mn_JP m n对应表示M中的第1个 比特、第2个比特、第n-1个比特和第η个比特;
[0007] ①-3、以帧为单位解析目标视频流Test. 264,将目标视频流Test. 264中当前待解 析的帧定义为当前帧;
[0008] ①-4、如果当前帧为I帧,则令Sw表示当前帧中已嵌入的水印的总比特数,然后执 行步骤①-5,其中,S w的初始值为0 ;如果当前帧为P帧或B帧,则对当前帧不进行水印嵌 入操作,然后执行步骤①-10;
[0009] ①-5、以片为单位解析当前帧,将当前帧中当前待解析的片定义为当前片;
[0010] ①-6、依序解析当前片中的每个以帧内预测模式编码的宏块,将当前片中当前解 析出的以帧内预测模式编码的宏块定义为当前宏块;
[0011] ①-7、如果当前宏块采用的预测编码模式为Intra_16X 16,则对当前宏块不进行 水印嵌入操作,然后执行步骤①-8 ;
[0012] 如果当前宏块采用的预测编码模式为Intra_4X4,则解析出当前宏块中的每个 4X4子块的残差系数矩阵,将当前宏块中的第k个4X4子块的残差系数矩阵中下标为 (i,j)处的残差系数记为<(/../_),并统计当前宏块中的每个4X4子块的残差系数矩阵中 的非零残差系数的个数,将当前宏块中的第k个4X 4子块的残差系数矩阵中的非零残差系 数的个数记为MVZf,且将当前宏块在当前帧中的序号记为MB_AddreSS,其中,k的初始值 为1,1彡k彡16,1彡i彡4, 1彡j彡4 ;然后执行以下步骤:
[0013] ①_7a、将当前宏块中当前正在处理的第k个4X4子块定义为当前子块;
[0014] ①_7b、判断iWZf是否小于当前帧的嵌入阈值T或者5"是否大于或等于100,如 果是,则对当前子块不进行水印嵌入操作,然后对当前子块的残差系数矩阵重新进行熵编 码,再执行步骤①-7c;
[0015] 否则,将当前子块所在的8X8子块在当前宏块中的序号记为比,将当前子块在 其所在的8X8子块中的序号记为b 4;然后将MB_Address、b 8和b 4作为当前子块的水印边 信息,并根据MB_Address、b8、b4和密钥key 2,从两个不会造成帧内误差漂移的4X4水印 模板1和W 2中动态选择一个水印模板作为最终的嵌入水印模板,将最终的嵌入水印模板 记为W,
【主权项】
1. 一种无帧内误差漂移的H. 264/AVC压缩域鲁棒视频水印嵌入方法,其特征在于包括 以下步骤: ①-1、在水印嵌入端,将符合H. 264/AVC标准的待处理视频流定义为目标视频流,记为Test. 264 ; ①-2、对待嵌入的水印信息用密钥1?^1置乱加密后得到加密水印信息,记为M,M= {nii,m2,…,iVi,mn},其中,n表示M的总比特数,m2、iVi和mW应表示M中的第1个比 特、第2个比特、第n-1个比特和第n个比特; ①-3、以帧为单位解析目标视频流Test. 264,将目标视频流Test. 264中当前待解析的 帧定义为当前帧; ①-4、如果当前帧为I帧,则令Sw表示当前帧中已嵌入的水印的总比特数,然后执行步 骤①-5,其中,Sw的初始值为0 ;如果当前帧为P帧或B帧,则对当前帧不进行水印嵌入操 作,然后执行步骤①-10; ①-5、以片为单位解析当前帧,将当前帧中当前待解析的片定义为当前片; ①-6、依序解析当前片中的每个以帧内预测模式编码的宏块,将当前片中当前解析出 的以帧内预测模式编码的宏块定义为当前宏块; ①-7、如果当前宏块采用的预测编码模式为Intra_16X16,则对当前宏块不进行水印 嵌入操作,然后执行步骤①-8 ; 如果当前宏块采用的预测编码模式为Intra_4X4,则解析出当前宏块中的每个4X4 子块的残差系数矩阵,将当前宏块中的第k个4X4子块的残差系数矩阵中下标为(i,j) 处的残差系数记为<(>,./),并统计当前宏块中的每个4X4子块的残差系数矩阵中的非零 残差系数的个数,将当前宏块中的第k个4X4子块的残差系数矩阵中的非零残差系数的 个数记为7WZ〗,且将当前宏块在当前帧中的序号记为MB_AddreSS,其中,k的初始值为1, 1彡k彡16,1彡i彡4, 1彡j彡4 ;然后执行以下步骤: ①_7a、将当前宏块中当前正在处理的第k个4X4子块定义为当前子块; ①-7b、判断MVZf是否小于当前帧的嵌入阈值T或者5"是否大于或等于100,如果是, 则对当前子块不进行水印嵌入操作,然后对当前子块的残差系数矩阵重新进行熵编码,再 执行步骤①-7c; 否则,将当前子块所在的8X8子块在当前宏块中的序号记为匕,将当前子块在其所 在的8X8子块中的序号记为b4;然后将MB_AddreSS、b8和b4作为当前子块的水印边信 息,并根据MB_Address、b8、b4和密钥key2,从两个不会造成帧内误差漂移的4X4水印模 板1和W2中动态选择一个水印模板作为最终的嵌入水印模板,将最终的嵌入水印模板记 为W,
其中,f()为选择函数;接着假设M中 当前待嵌入当前子块中的比特为第P个比特,则将M中的第p个比特mp嵌入当前子块 中,将当前子块嵌入水印后的残差系数矩阵中下标为(i,j)处的残差系数记为<" (/_,./), <".(/,./) = <(/,./)+ZVW(/,./),其中,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1