CN108769700A - 减小h.264帧间漂移失真的鲁棒性视频隐写方法 - Google Patents

减小h.264帧间漂移失真的鲁棒性视频隐写方法 Download PDF

Info

Publication number
CN108769700A
CN108769700A CN201810549353.5A CN201810549353A CN108769700A CN 108769700 A CN108769700 A CN 108769700A CN 201810549353 A CN201810549353 A CN 201810549353A CN 108769700 A CN108769700 A CN 108769700A
Authority
CN
China
Prior art keywords
embedded
dct
formula
coefficient
matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810549353.5A
Other languages
English (en)
Inventor
王林
段宁璐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Technology
Original Assignee
Xian University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian University of Technology filed Critical Xian University of Technology
Priority to CN201810549353.5A priority Critical patent/CN108769700A/zh
Publication of CN108769700A publication Critical patent/CN108769700A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了减小H.264帧间漂移失真的鲁棒性视频隐写方法,按照以下步骤实施:步骤1,对帧间漂移失真进行分析,得出漂移失真产生的原因,再对造成的漂移失真按大小进行分类,根据嵌入漂移失真的大小选出DCT亮度系数的嵌入位置;步骤2,对待嵌入的信息序列进行卷积编码,其中每一个输入码元对应两个输出码元,步骤3,将输出序列嵌入到DCT系数中,嵌入完成后,对H.264/AVC视频流进行熵编码形成载密视频序列;步骤4,对H.264/AVC视频流进行熵解码,提取原始DCT系数,获取输出序列,对输出序列进行译码,输出待嵌入的信息序列,完成待嵌入的信息序列的提取。本发明提高数据嵌入容量、视频质量及鲁棒性。

Description

减小H.264帧间漂移失真的鲁棒性视频隐写方法
技术领域
本发明属于信息隐藏技术领域,具体涉及一种减小H.264帧间漂移失真的鲁棒性视频隐写方法。
背景技术
随着当今科技的不断发展,网络资源的传输将我们连接成一个整体。在所有的传输资源中,以视频为媒介的资源已经成为生活中的重要一部分。在传输过程中产生了各种信息安全问题,斯诺登的“棱镜门”信息窃密事件、58同城全国简历泄露事件、印度麦当劳220W用户收据遭泄露等等,造成了严重的国家、企业、个人经济损失。
基于此越来越多的人关注自身的信息安全问题。视频隐写技术因此被提出,视频隐写是指将待通信的秘密信息通过某种方法隐藏在载体视频中,同时不影响载体特征的视觉效果和使用功能,从而达到隐秘通信以及隐藏了秘密信息这一行为本身的目的。
视频信息隐写主要关注三点:利用载体的自身数据特征寻找合适的嵌入位置将信息隐藏到载体中,同时不影响载体的视觉感知特性;不影响数据载体主观视觉特征和统计特征的情况下,最大程度所能嵌入信息数据的隐藏容量;将载密信息在低错误率的的情况下恢复的能力。
现有的研究成果都是根据信息嵌入操作在编码过程中的位置的基础上提出来的,主要分为以下三类:
(1)在未经压缩的原始码流域中嵌入,是指对原始图像的的像素值进行修改从而嵌入秘密信息,然后再经过压缩传输。嵌入操作可以直接应用在原始像素域或某些变换域中。该算法优点是实现水印方法多,算法简单成熟。缺点是:经过视频压缩编码处理后,会造成部分水印信息的丢失,给水印的提取和检测带来不便,增加比特率,降低视频质量。
(2)编码后的压缩域嵌入,是指在编码以后压缩之前在一些中间变量如编解码过程中会产生的运动矢量、DCT系数、预测模式等等,嵌入时把这些变量作为嵌入点进行嵌入,这类算法是视频隐写中研究最多的一类算法。其关键就是如何控制秘密信息的嵌入,使其满足视觉不可见性的同时又具有较强的鲁棒性和较低的算法复杂度。最终将视频的隐写算法融于视频编码***中达到***整体优化。该隐写算法的优点是水印仅嵌入DCT系数中,不会增加数据比特率。缺点是存在误差累积,嵌入的数据量低。
(3)压缩视频的码流域中嵌入,是一种后置式嵌入,是指将秘密信息嵌入在已经编码压缩后的视频码流中。该算法优点是不需要完全解码和再编码过程,避免了由于视频编码过程中嵌入的信息而导致视频质量下降的问题,提高了信息嵌入能力和提取效率。缺点是视频***对压缩码率的约束以及有效的嵌入空间选择非常有限将大大降低嵌入容量。其次,算法可能出现的连续失真漂移会降低视频质量,影响视频隐写的不可见性。
发明内容
本发明的目的是提供一种减小H.264帧间漂移失真的鲁棒性视频隐写方法,解决了现有技术中由于数据嵌入导致的视频质量下降,数据嵌入容量不足以及传输过程中不安全性的问题。
本发明所采用的技术方案是,减小H.264帧间漂移失真的鲁棒性视频隐写方法,具体按照以下步骤实施:
步骤1,对帧间漂移失真进行分析,得出漂移失真产生的原因,再对造成的漂移失真按大小进行分类,根据嵌入漂移失真的大小选出DCT亮度系数的嵌入位置;
步骤2,对待嵌入的信息序列M=(m1m2...mn)进行卷积编码后的输出序列为M′=(m′1m′2...m′2n),其中每一个输入码元对应两个输出码元,则待嵌入的信息序列输出序列M′的表示如下:
C=M·G (3)
式(3)中,G为生成矩阵;
步骤3,将步骤2的输出序列M′嵌入到步骤1的DCT系数中,嵌入完成后,对H.264/AVC视频流进行熵编码形成载密视频序列;
步骤4,对经步骤3处理后的H.264/AVC视频流进行熵解码,提取原始DCT系数C,获取卷积编码后的输出序列M′,对输出序列M′进行译码,输出待嵌入的信息序列M,完成待嵌入的信息序列M的提取。
本发明的特点还在于,
H.264/AVC视频流由I帧,B帧和P帧图像组成,P帧图像至少包含一个P片,P片由若干个P宏块和若干个I宏块组成。
步骤1的具体过程如下:
通过式(1)对帧间漂移失真进行分析,得出漂移失真产生的原因:
式(1)中,De(n)为第n个视频帧量化DCT系数内隐藏信息产生的嵌入失真,p为第n个视频帧内隐藏信息的概率,α与视频内容有关的一个常量,为拥有嵌入数据的残差重建值,为不包含嵌入数据的残差重建值;
通过式(2)对造成的漂移失真按大小进行分类,形成DCT系数矩阵C,其中C=C1UC2UC3,再根据嵌入漂移失真的大小选出DCT亮度系数的嵌入位置:
式(2)中,C1,C2,C3为4×4宏块中的16个系数分类的集合,ρij为修改P帧4×4DCT系数所产生的独立失真,r″ij为携带有隐私信息的重建残差块的误差值,r′ij为未携带隐私信息的重建残差块的误差值,Qstep为量化步长,α为与视频内容有关的一个常量,i、j为DCT系数的位置,z′ij为位置为i、j处的系数值。
步骤3的具体过程如下:
步骤3.1,在嵌入端,对载体H.264/AVC视频流以片为单位进行处理,对H.264/AVC视频流进行熵解码,获取DCT系数矩阵C,以“Z”形进行扫描,获取16个由0和1组成的二进制序列,进一步获取DCT系数矩阵;
步骤3.2,判断当前片是否为P片,若当前片为P片,则选取其中的亮度宏块,在当前宏块的4×4DCT系数矩阵中选择待嵌入的隐私数据的嵌入位置;
步骤3.3,对经步骤3.2选择的嵌入位置进行H.264/AVC视频流的信息嵌入操作;
步骤3.1具体按照以下步骤实施:
步骤3.1.1,根据Coeff_token和NC查表,得到非零系数数目TotalCoeffs和拖尾系数数目TrailingOnes;
步骤3.1.2,由步骤3.1.1的拖尾系数数目得到拖尾系数个数,输入拖尾系数对应的符号编码码流,得到输出的拖尾系数值;
步骤3.1.3,根据输入码流查表得到前缀LevelPrefix,后缀长度SuffixLength,根据前缀和后缀得到LevelCode,表示为公式(7),若LevelCode为偶数则level为公式(8),若LevelCode为奇数则level为公式(9),再由设定的阈值确定是否更新Suffixlegth;
LevelCode=(levelprefix<<suffixlength)+levelsuffix (7)
level=(level+2)/2 (8)
level=(-level-1)/2 (9);
步骤3.1.4,根据TotalCoeffs和输入码流查表得到TotalZeros,初始化i=TotalCoeffs-1,zeroleft=TotalZeros,解析非零系数前零的数目;解码完毕,将剩下的元素用0补齐,反序排列得到DCT系数矩阵C;
步骤3.2的具体按照以下步骤实施:
步骤3.2.1,对原始的P帧亮度宏块的DCT系数矩阵进行DCT变换后,得到原始未量化的DCT系数矩阵Y:
式(10)中,R为经过DCT变换的残差矩阵,Ci为DCT变换矩阵;
再对原始未量化的DCT系数矩阵Y进行重缩放以及重量化,得到量化后的DCT系数矩阵Z:
Z=round[Yg×PFg/Qstep] (11)
式(11)中,Qstep为量化步长,PF为量化矩阵;
步骤3.2.2,对经步骤3.2.1处理的量化后的DCT系数矩阵Z进行熵编码;在编码的反馈阶段经过可逆量化ICT,获得没有嵌入数据的亮度系数矩阵再获得亮度块的DCT残差系数矩阵
式(13)中,Ci为DCT变换矩阵;
步骤3.2.3,若完成数据嵌入以后,由式(14)得到对应的4×4量化DCT亮度系数矩阵Z′:
Z′=Z+Δ (14)
式(14)中,Δ=(δij)4×4为嵌入隐私数据后的DCT系数矩阵Z′与量化后的DCT系数矩阵Z之间所对应的误差矩阵;
步骤3.2.4,通过式(14)得到带有嵌入数据的4×4亮度DCT系数矩阵
通过式(15)得到带有嵌入数据的4×4亮度DCT系数矩阵对应的误差矩阵
步骤3.2.5,计算由步骤3.2.4得到的带有嵌入数据的4×4DCT系数矩阵对应的残差矩阵和没有嵌入数据的重建残差块之间像素的亮度误差E:
步骤3.2.6,不考虑对DCT系数的取整运算,使用均方误差MSE公式(2)计算出由于修改P帧4×4DCT系数矩阵所产生的独立失真ρij
式(2)中,通过公式(2)对4×4DCT亮度系数矩阵所造成的独立嵌入失真进行分类:
得出个体失真ρij总和等于整体失真
步骤3.3具体按照以下步骤实施:
步骤3.3.1,在当前帧中将步骤2处理的待嵌入的信息序列输出序列M′嵌入到步骤3.2选取的嵌入位置中,预先定义的映射规则S为:
步骤3.3.2,在未经过处理的DCT系数矩阵中,若存在非零系数,在非零系数上不进行数据嵌入操作,对非零系数进行修改消除二义性后,完成数据嵌入:
式(21)中,C′为修改后的DCT系数;
步骤3.3.3,在待嵌入的隐私数据嵌入过程中,记录下当前嵌入的信息比特数量sum;
若sum<2n,其中2n为总共嵌入的信息比特数量,将H.264/AVC视频流中的下一个待处理的片作为当前片,若该当前片为I片,则不做任何处理,直接编码;若该当前片为P片,则返回步骤3.3.1继续执行,直到所有的待嵌入的隐私数据比特嵌入完成。
步骤4具体按照以下步骤实施:
步骤4.1,在解码端对H.264/AVC视频流进行熵解码,获取当前片P帧亮度块的预测信息,量化从接收端获取的修改以后的DCT系数C′,提取原始DCT亮度系数C:
式(22)中,C′为从接收端获取的修改以后的DCT系数;
步骤4.2,根据步骤4.1处理后的从接收端获取的修改以后的系数C′提取出输出序列M′,若M'<sum,则将下一个片作为当前片继续处理恢复输出序列:
步骤4.3,使用维特比译码对步骤4.2处理的输出序列M′进行译码,输出待嵌入的信息序列M。
本发明的有益效果是,
(1)本发明一种减小H.264帧间漂移失真的鲁棒性视频隐写方法,减小了由于数据嵌入导致的帧间漂移失真,提高视频质量;
(2)本发明一种减小H.264帧间漂移失真的鲁棒性视频隐写方法,通过对信息嵌入的改进,能够在不影响视觉质量的前提下每比特位嵌入2比特数据,提高数据嵌入容量;
(3)本发明一种减小H.264帧间漂移失真的鲁棒性视频隐写方法,秘密信息输入时通过对其进行卷积编码,提高了视频信息在传输过程中的抗攻击能力,提高了视频鲁棒性。
附图说明
图1是本发明减小H.264帧间漂移失真的鲁棒性视频隐写方法的信息嵌入操作流程图;
图2是本发明减小H.264帧间漂移失真的鲁棒性视频隐写方法的DCT亮度系数选择分布图;
图3是本发明减小H.264帧间漂移失真的鲁棒性视频隐写方法的C1、C2、C3集合整体失真的对比图;
图4是本发明减小H.264帧间漂移失真的鲁棒性视频隐写方法的卷积编码示意图;
图5是本发明减小H.264帧间漂移失真的鲁棒性视频隐写方法的原始图像与载密图像的对比图;
图6本发明减小H.264帧间漂移失真的鲁棒性视频隐写方法的信息提取流程图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
H.264/AVC视频主要由I帧,B帧和P帧图像组成,由于考虑帧间漂移失真,所以选择的嵌入帧为P帧。P帧图像至少包含一个P片,P片由若干个P宏块和若干个I宏块组成。P宏块的编码模式分为SKIP,Inter_16×16,Inter_16×8,Inter_8×16,以及P8×8五类。当P宏块采用Inter_16×16编码模式进行编码时,P宏块被划分为1个16×16运动子块;当P宏块采用Inter_16×8编码模式进行编码时,P宏块被划分为2个16×8运动子块;当P宏块采用Inter_8×16编码模式进行编码时,P宏块被划分为2个8×16运动子块;当P宏块采用P8×8编码模式进行编码时,P宏块被划分为4个8×8运动子块。8×8的子块具有Inter_8×8,Inter_4×8,Inter_8×4,Inter_4×4四种编码模式。当8×8子块采用Inter_8×8编码模式进行编码时,8×8子块被划分为1个8×8的运动子块;当8×8子块采用Inter_8×4编码模式进行编码时,8×8子块被划分为2个8×4的运动子块;当8×8子块采用Inter_4×8编码模式进行编码时,8×8子块被划分为2个4×8的运动子块;当8×8子块采用Inter_4×4编码模式进行编码时,8×8子块被划分为4个4×4的运动子块。每个4×4亮度块变换量化以后得到一个4×4的DCT(Discrete Cosine Transform)系数矩阵,DCT[i][j],0≤i≤3,0≤j≤3,DCT[0][0]为最低频系数,DCT[3][3]为最高频系数。DCT系数矩阵沿其左上角到右下角对角线系数的频率由低到高。最终P宏块的编码模式形成4×4的矩阵表示。
本发明减小H.264帧间漂移失真的鲁棒性视频隐写方法,具体按照以下步骤实施:
步骤1,通过对帧间漂移失真的分析,得出漂移失真产生的原因,再对造成的漂移失真按大小进行分类,根据嵌入漂移失真的大小选出DCT系数的嵌入位置;
通过公式(1)对帧间漂移失真进行分析,得出漂移失真产生的原因:
式(1)中,De(n)为第n个视频帧量化DCT系数内隐藏信息产生的嵌入失真,p为第n个视频帧内隐藏信息的概率,α与视频内容有关的一个常量。为拥有嵌入数据的残差重建值,为不包含嵌入数据的残差重建值;
由式(1)可以看出嵌入失真是由上一个视频帧嵌入造成的失真α·De(n-1)和当前视频帧嵌入的失真相加得出的,由式(1)可以得出产生失真漂移的原因如下:
(1)在每一个帧内嵌入数据造成的帧内失真漂移会增大整体的嵌入失真。
(2)随着帧数量的增加,每个帧产生的嵌入失真会逐步累积,影响下一个帧数据的嵌入,产生帧间失真漂移;
以上两个假设表明帧间漂移失真产生的原因;
通过式(2)得知,不同的嵌入位置产生的漂移失真大小不同,对造成的漂移失真按大小进行分类,记为C,C=C1UC2UC3其中C1,C2,C3代表了4×4宏块中的16个系数分类的集合;
则根据嵌入产生的独立失真的大小选择合适的DCT系数位置作为嵌入位置,式(2)如下:
式(2)中,ρij为修改P帧4×4DCT系数所产生的独立失真,r″ij为携带有隐私信息的重建残差块的误差值,r′ij为未携带隐私信息的重建残差块的误差值,Qstep为量化步长,α为与视频内容有关的一个常量,i、j为DCT系数的位置,z′ij为位置为i、j处的系数值;
步骤2,对待嵌入的信息序列M=(m1m2...mn)进行卷积编码后的输出序列为M′=(m′1m′2...m′2n),其中每一个输入码元对应两个输出码元,则输出序列M′的表示如下:
M′=M·G (3)
式(3)中,G为生成矩阵;
步骤3,将步骤2的输出序列M′嵌入到步骤1的DCT系数中,嵌入完成后,对H.264/AVC视频流进行熵编码形成载密视频序列;
步骤3.1,在嵌入端,对载体H.264/AVC视频流以片为单位进行处理,对H.264/AVC视频流进行熵解码,获取DCT系数矩阵C,以Z字形进行扫描,获取16个由0和1组成的二进制序列,进一步获取DCT系数矩阵;
步骤3.1.1,根据Coeff_token和NC查表,得到非零系数数目TotalCoeffs和拖尾系数数目TrailingOnes;
步骤3.1.2,由步骤3.1.1的拖尾系数数目得到拖尾系数个数,输入拖尾系数对应的符号编码码流,得到输出的拖尾系数值;
步骤3.1.3,后缀长度SuffixLength,根据输入码流查表得到前缀LevelPrefix,根据前缀和后缀得到LevelCode,表示为公式(7),若LevelCode为偶数则level为公式(8),若LevelCode为奇数则level为公式(9),由设定的阈值确定是否更新Suffixlegth;
LevelCode=(levelprefix<<suffixlength)+levelsuffix (7)
level=(level+2)/2 (8)
level=(-level-1)/2 (9);
步骤3.1.4,根据TotalCoeffs和输入码流查表得到TotalZeros,初始化i=TotalCoeffs-1,zeroleft=TotalZeros,解析非零系数前零的数目;解码完毕,将剩下的元素用0补齐,反序排列就可以得到DCT系数矩阵;
步骤3.2,判断当前片是否为P片,若当前片为P片,选取其中的亮度宏块,在当前宏块的4×4DCT系数矩阵中选择待嵌入的隐私数据的嵌入位置;
步骤3.2.1,对原始的P帧亮度宏块的DCT系数矩阵进行DCT变换后,得到原始未量化的DCT系数矩阵Y:
式(10)中,Y为原始未量化的DCT系数矩阵,R为经过DCT变换的残差矩阵,Ci为DCT变换矩阵;
再对原始未量化的DCT系数矩阵Y进行重缩放以及重量化,得到量化后的DCT系数矩阵Z,其表达式为:
Z=round[Y·×PF·/Qstep] (11)
式(11)中,Z为量化后的DCT系数矩阵,Qstep为量化步长,PF为量化矩阵,.×,./为矩阵的异或运算;
步骤3.2.2,对步骤3.2.1中量化后的DCT系数矩阵Z进行熵编码,在编码的反馈阶段经过可逆量化ICT,获得没有嵌入数据的DCT系数矩阵再获得没有嵌入数据的重建残差块
步骤3.2.3,若完成数据嵌入以后,由式(14)得到对应的4×4DCT系数矩阵Z′:
Z′=Z+Δ (14)
式(14)中,Δ=(δij)4×4为嵌入隐私数据后的DCT系数矩阵Z′与量化后的DCT系数矩阵Z之间所对应的误差矩阵;
步骤3.2.4,通过式(14)计算得到带有嵌入数据的4×4DCT系数矩阵
通过式(15)计算得到带有嵌入数据的4×4DCT系数矩阵对应的残差矩阵
步骤3.2.5,计算由步骤3.2.4得到的带有嵌入数据的4×4DCT系数矩阵对应的残差矩阵和没有嵌入数据的重建残差块之间像素的亮度误差E:
步骤3.2.6,不考虑对DCT系数的取整运算,使用均方误差MSE计算出由于修改P帧4×4DCT系数矩阵所产生的独立失真ρij,即式(2);
式(2)中,由于因此,能够对4×4DCT系数矩阵所造成的独立嵌入失真进行分类:
式(18)中,C1、C2、C3代表了4×4宏块的16个DCT系数分类的集合;
由于4×4宏块的变换是线性的,因此能够得出独立失真ρij总和等于整体失真
由上可知,当数据嵌入产生的漂移失真是可以进行分类的,由大到小的DCT亮度系数集合为C1,C2,C3,所以在每次嵌入数据时,首先选择所有P帧亮度块的C1集合进行嵌入,当C1集合中的DCT系数容量不足时,再依次考虑C2,C3集合中的DCT系数进行嵌入,采用这样的嵌入策略可以减小漂移失真的产生,提高视频质量;
为验证上述结论,在metlab2014a中根据H.264/AVC标准编解码软件JM8.5进行测试。测试视频Foreman为100个帧,编码帧率为30fps,量化参数QP为28,文件编码的GOP结构为IPPP;从每个GOP的第一个p帧开始依次向后面连续的P帧嵌入,在每个P帧的DCT亮度系数嵌入消息位。在数据嵌入区,属于C1,C2和C3的DCT亮度系数分别为2810,12230和14646,分别在属于C1,C2和C3的DCT亮度系数中嵌入2000个消息位,产生三个载体视频,并产生如图3所示的整体失真,可以看出将数据嵌入到C1中的系数可以引入最小失真;
步骤3.3,H.264/AVC视频流的信息嵌入操作;
步骤3.3.1,在当前帧中将步骤3.3中的输出序列M′嵌入到步骤3.2中选取的嵌入位置中,预先定义的嵌入映射规则S为:
式(20)中,m′1,m′2为卷积编码后的输出序列;
步骤3.3.2,在未经过处理的DCT系数矩阵中,若存在非零系数,在非零系数上不进行数据嵌入操作,对非零系数进行修改消除二义性后,完成数据嵌入:
式(21)中,C′为修改后的DCT系数;
步骤3.3.3,在待嵌入的隐私数据嵌入过程中,记录下当前嵌入的信息比特数量sum;
若sum<2n,其中2n为总共嵌入的信息比特数量,将H.264/AVC视频流中的下一个待处理的片作为当前片,若该当前片为I片,则不做任何处理,直接编码;若该当前片为P片,则返回步骤3.3继续执行,直到所有的秘密信息比特嵌入完成;
本发明根据H.264/AVC标准编解码软件JM18.5进行测试,每个测试视频编码为300个帧,编码帧率为30fps,量化参数QP为28,文件编码时的GOP结构为IPPPPPPPPP;每个视频序列只有第一帧编码为I帧,其余均为P帧编码,在测试中,采用3段标准视频测试序列,分别为:foreman,mobile,akiyo。
表1为不同QP下PSNR的对比,反映了嵌入数据以后衡量视频质量的客观标准;不同的QP值所对应的嵌入容量和PSNR。从表1中可以得出:QP越小,PSNR越高视频的视觉质量就越好,漂移失真就越小;运动越剧烈图像越复杂的视频图像,PSNR相对较低,视频质量有所下降;
表1
表2为不同QP下嵌入容量的对比,可以得出:嵌入容量取决于视频内容和QP的值,QP相同的情况下,视频图像中的物体运动越剧烈环境越复杂,非零量化DCT系数越多,嵌入容量越小;随着QP的增加,此时会产生更多量化的零DCT系数,本文的嵌入位置就是在零量化DCT系数上,所以嵌入容量也随之增加,两者呈正比关系;
表2
如图5所示,列出三个测试视频第20帧的图像,从主观质量方面反映出本发明在提高嵌入容量的前提下,不会影响视频的视觉质量,从以下图像的对比可以看出本发明算法维持了视觉质量前后的清晰度,人眼无法察觉的视频质量的变化。
步骤4,对H.264/AVC视频流进行熵解码,提取原始DCT系数C,获取卷积编码后的输出序列M′,对输出序列M′进行译码,输出待嵌入的信息序列M,完成待嵌入的信息序列M的提取;
步骤4.1,在解码端对H.264/AVC视频流进行熵解码,获取当前片P帧亮度块的预测信息,量化从接收端获取的修改以后的DCT系数C′,提取原始DCT系数C:
式(22)中,C′为从接收端获取的修改以后的DCT系数;
步骤4.2,根据从接收端获取的修改以后的系数C′提取出获取卷积编码后的输出序列M′,若sum>2n,则将下一个片作为当前片继续处理恢复输出序列:
步骤4.3,使用维特比译码对获取卷积编码后的输出序列M′=(m′1m′2...m′2n)进行译码,输出待嵌入的信息序列M=(m1m2...mn)。
表3为不同丢包率下鲁棒性的对比,提出的在不同丢包率的条件下,未作任何处理,分别加入BCH编码和本发明所使用卷积码的条件下展示的视频序列存活率,可以看出随着丢包率的增加存活率在减小,相比于BCH编码本发明引入的卷积码几乎可以完整地恢复原始视频信息,虽然会存在小部分误差,但是恢复的视频在人眼可接受范围内,不会影响视频视觉质量。结合本发明中的嵌入算法,便可以实现一个漂移失真小,嵌入容量大,鲁棒性强的视频隐写算法;
表3
本发明减小帧间漂移失真的鲁棒性视频隐写算法,通过对嵌入位置系数的优化选择,减小帧间漂移失真,提高视频质量;通过对秘密信息进行卷积编码来提高视频数据在传输过程中的抵抗被动攻击的能力;通过对嵌入算法的改进,在不影响视频质量的前提下,提高嵌入容量。

Claims (8)

1.减小H.264帧间漂移失真的鲁棒性视频隐写方法,其特征在于,具体按照以下步骤实施:
步骤1,对帧间漂移失真进行分析,得出漂移失真产生的原因,再对造成的漂移失真按大小进行分类,根据嵌入漂移失真的大小选出DCT亮度系数的嵌入位置;
步骤2,对待嵌入的信息序列M=(m1m2...mn)进行卷积编码后的输出序列为M′=(m′1m′2...m′2n),其中每一个输入码元对应两个输出码元,则待嵌入的信息序列输出序列M′的表示如下:
C=M·G (3)
式(3)中,G为生成矩阵;
步骤3,将步骤2的输出序列M′嵌入到步骤1的DCT系数中,嵌入完成后,对H.264/AVC视频流进行熵编码形成载密视频序列;
步骤4,对经步骤3处理后的H.264/AVC视频流进行熵解码,提取原始DCT系数C,获取卷积编码后的输出序列M′,对输出序列M′进行译码,输出待嵌入的信息序列M,完成待嵌入的信息序列M的提取。
2.根据权利要求1所述的减小H.264帧间漂移失真的鲁棒性视频隐写方法,其特征在于,所述H.264/AVC视频流由I帧,B帧和P帧图像组成,所述P帧图像至少包含一个P片,所述P片由若干个P宏块和若干个I宏块组成。
3.根据权利要求2所述的减小H.264帧间漂移失真的鲁棒性视频隐写方法,其特征在于,步骤1的具体过程如下:
通过式(1)对帧间漂移失真进行分析,得出漂移失真产生的原因:
式(1)中,De(n)为第n个视频帧量化DCT系数内隐藏信息产生的嵌入失真,p为第n个视频帧内隐藏信息的概率,α与视频内容有关的一个常量,为拥有嵌入数据的残差重建值,为不包含嵌入数据的残差重建值;
通过式(2)对造成的漂移失真按大小进行分类,形成DCT系数矩阵C,其中C=C1∪C2∪C3,再根据嵌入漂移失真的大小选出DCT亮度系数的嵌入位置:
式(2)中,C1,C2,C3为4×4宏块中的16个系数分类的集合,ρij为修改P帧4×4DCT系数所产生的独立失真,r″ij为携带有隐私信息的重建残差块的误差值,r′ij为未携带隐私信息的重建残差块的误差值,Qstep为量化步长,α为与视频内容有关的一个常量,i、j为DCT系数的位置,z′ij为位置为i、j处的系数值。
4.根据权利要求3所述的减小H.264帧间漂移失真的鲁棒性视频隐写方法,其特征在于,步骤3的具体过程如下:
步骤3.1,在嵌入端,对载体H.264/AVC视频流以片为单位进行处理,对H.264/AVC视频流进行熵解码,获取DCT系数矩阵C,以“Z”形进行扫描,获取16个由0和1组成的二进制序列,进一步获取DCT系数矩阵;
步骤3.2,判断当前片是否为P片,若当前片为P片,则选取其中的亮度宏块,在当前宏块的4×4DCT系数矩阵中选择待嵌入的隐私数据的嵌入位置;
步骤3.3,对经步骤3.2选择的嵌入位置进行H.264/AVC视频流的信息嵌入操作。
5.根据权利要求4所述的减小H.264帧间漂移失真的鲁棒性视频隐写方法,其特征在于,步骤3.1具体按照以下步骤实施:
步骤3.1.1,根据Coeff_token和NC查表,得到非零系数数目TotalCoeffs和拖尾系数数目TrailingOnes;
步骤3.1.2,由步骤3.1.1的拖尾系数数目得到拖尾系数个数,输入拖尾系数对应的符号编码码流,得到输出的拖尾系数值;
步骤3.1.3,根据输入码流查表得到前缀LevelPrefix,后缀长度SuffixLength,根据前缀和后缀得到LevelCode,表示为公式(7),若LevelCode为偶数则level为公式(8),若LevelCode为奇数则level为公式(9),再由设定的阈值确定是否更新Suffixlegth;
LevelCode=(levelprefix<<suffixlength)+levelsuffix (7)
level=(level+2)/2 (8)
level=(-level-1)/2 (9);
步骤3.1.4,根据TotalCoeffs和输入码流查表得到TotalZeros,初始化i=TotalCoeffs-1,zeroleft=TotalZeros,解析非零系数前零的数目;解码完毕,将剩下的元素用0补齐,反序排列得到DCT系数矩阵C。
6.根据权利要求4所述的减小H.264帧间漂移失真的鲁棒性视频隐写方法,其特征在于,步骤3.2的具体按照以下步骤实施:
步骤3.2.1,对原始的P帧亮度宏块的DCT系数矩阵进行DCT变换后,得到原始未量化的DCT系数矩阵Y:
式(10)中,R为经过DCT变换的残差矩阵,Ci为DCT变换矩阵;
再对原始未量化的DCT系数矩阵Y进行重缩放以及重量化,得到量化后的DCT系数矩阵Z:
Z=round[Yg×PFg/Qstep] (11)
式(11)中,Qstep为量化步长,PF为量化矩阵;
步骤3.2.2,对经步骤3.2.1处理的量化后的DCT系数矩阵Z进行熵编码;在编码的反馈阶段经过可逆量化ICT,获得没有嵌入数据的亮度系数矩阵再获得亮度块的DCT残差系数矩阵
式(13)中,Ci为DCT变换矩阵;
步骤3.2.3,若完成数据嵌入以后,由式(14)得到对应的4×4量化DCT亮度系数矩阵Z′:
Z′=Z+Δ (14)
式(14)中,Δ=(δij)4×4为嵌入隐私数据后的DCT系数矩阵Z′与量化后的DCT系数矩阵Z之间所对应的误差矩阵;
步骤3.2.4,通过式(14)得到带有嵌入数据的4×4亮度DCT系数矩阵
通过式(15)得到带有嵌入数据的4×4亮度DCT系数矩阵对应的误差矩阵
步骤3.2.5,计算由步骤3.2.4得到的带有嵌入数据的4×4DCT系数矩阵对应的残差矩阵和没有嵌入数据的重建残差块之间像素的亮度误差E:
步骤3.2.6,不考虑对DCT系数的取整运算,使用均方误差MSE公式(2)计算出由于修改P帧4×4DCT系数矩阵所产生的独立失真ρij
式(2)中,通过公式(2)对4×4DCT亮度系数矩阵所造成的独立嵌入失真进行分类:
得出个体失真ρij总和等于整体失真
7.根据权利要求6所述的减小H.264帧间漂移失真的鲁棒性视频隐写方法,其特征在于,步骤3.3具体按照以下步骤实施:
步骤3.3.1,在当前帧中将步骤2处理的待嵌入的信息序列输出序列M′嵌入到步骤3.2选取的嵌入位置中,预先定义的映射规则S为:
步骤3.3.2,在未经过处理的DCT系数矩阵中,若存在非零系数,在非零系数上不进行数据嵌入操作,对非零系数进行修改消除二义性后,完成数据嵌入:
式(21)中,C′为修改后的DCT系数;
步骤3.3.3,在待嵌入的隐私数据嵌入过程中,记录下当前嵌入的信息比特数量sum;
若sum<2n,其中2n为总共嵌入的信息比特数量,将H.264/AVC视频流中的下一个待处理的片作为当前片,若该当前片为I片,则不做任何处理,直接编码;若该当前片为P片,则返回步骤3.3.1继续执行,直到所有的待嵌入的隐私数据比特嵌入完成。
8.根据权利要求4所述的减小H.264帧间漂移失真的鲁棒性视频隐写方法,其特征在于,步骤4具体按照以下步骤实施:
步骤4.1,在解码端对H.264/AVC视频流进行熵解码,获取当前片P帧亮度块的预测信息,量化从接收端获取的修改以后的DCT系数C′,提取原始DCT亮度系数C:
式(22)中,C′为从接收端获取的修改以后的DCT系数;
步骤4.2,根据步骤4.1处理后的从接收端获取的修改以后的系数C′提取出输出序列M′,若M'<sum,则将下一个片作为当前片继续处理恢复输出序列:
步骤4.3,使用维特比译码对步骤4.2处理的输出序列M′进行译码,输出待嵌入的信息序列M。
CN201810549353.5A 2018-05-31 2018-05-31 减小h.264帧间漂移失真的鲁棒性视频隐写方法 Pending CN108769700A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810549353.5A CN108769700A (zh) 2018-05-31 2018-05-31 减小h.264帧间漂移失真的鲁棒性视频隐写方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810549353.5A CN108769700A (zh) 2018-05-31 2018-05-31 减小h.264帧间漂移失真的鲁棒性视频隐写方法

Publications (1)

Publication Number Publication Date
CN108769700A true CN108769700A (zh) 2018-11-06

Family

ID=64001243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810549353.5A Pending CN108769700A (zh) 2018-05-31 2018-05-31 减小h.264帧间漂移失真的鲁棒性视频隐写方法

Country Status (1)

Country Link
CN (1) CN108769700A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109862395A (zh) * 2019-03-29 2019-06-07 中国人民解放军战略支援部队信息工程大学 一种视频流隐藏信息检测方法和装置
CN110062242A (zh) * 2019-03-04 2019-07-26 中山大学 一种基于ued的h.264视频隐写算法
CN111263165A (zh) * 2019-12-27 2020-06-09 郑州师范学院 一种hevc视频隐写信息的嵌入方法及提取方法
CN112565779A (zh) * 2020-12-12 2021-03-26 四川大学 一种基于失真漂移的视频隐写方法
CN115565114A (zh) * 2022-11-17 2023-01-03 中央广播电视总台 视频画面漂移识别方法、装置及计算机设备、存储介质
CN116320471A (zh) * 2023-05-18 2023-06-23 中南大学 视频信息隐藏方法、***、设备及视频隐藏信息提取方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152578A (zh) * 2013-03-25 2013-06-12 中国传媒大学 基于混合编解码的h.264视频水印嵌入及提取方法
CN106101714A (zh) * 2016-07-14 2016-11-09 中国科学院信息工程研究所 一种与压缩编码过程紧耦合的h.264视频信息隐藏方法
CN107172434A (zh) * 2017-06-27 2017-09-15 郑州师范学院 一种对h.265视频进行内置式隐写的方法
CN107948655A (zh) * 2017-11-22 2018-04-20 中山大学 一种基于cabac的h.264/avc加密视频隐写方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152578A (zh) * 2013-03-25 2013-06-12 中国传媒大学 基于混合编解码的h.264视频水印嵌入及提取方法
CN106101714A (zh) * 2016-07-14 2016-11-09 中国科学院信息工程研究所 一种与压缩编码过程紧耦合的h.264视频信息隐藏方法
CN107172434A (zh) * 2017-06-27 2017-09-15 郑州师范学院 一种对h.265视频进行内置式隐写的方法
CN107948655A (zh) * 2017-11-22 2018-04-20 中山大学 一种基于cabac的h.264/avc加密视频隐写方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YUANZHIYAO 等: "Inter-frame distortion drift analysis for reversible data hiding in encrypted H.264/AVC video bitstreams", 《SIGNAL PROCESSING 》 *
王林等: "减小H.264帧间漂移失真的鲁棒性视频隐写算法", 《计算机***应用》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110062242A (zh) * 2019-03-04 2019-07-26 中山大学 一种基于ued的h.264视频隐写算法
CN110062242B (zh) * 2019-03-04 2021-05-04 中山大学 一种基于ued的h.264视频隐写算法
CN109862395A (zh) * 2019-03-29 2019-06-07 中国人民解放军战略支援部队信息工程大学 一种视频流隐藏信息检测方法和装置
CN109862395B (zh) * 2019-03-29 2021-05-04 中国人民解放军战略支援部队信息工程大学 一种视频流隐藏信息检测方法和装置
CN111263165A (zh) * 2019-12-27 2020-06-09 郑州师范学院 一种hevc视频隐写信息的嵌入方法及提取方法
CN111263165B (zh) * 2019-12-27 2022-07-01 郑州师范学院 一种hevc视频隐写信息的嵌入方法及提取方法
CN112565779A (zh) * 2020-12-12 2021-03-26 四川大学 一种基于失真漂移的视频隐写方法
CN112565779B (zh) * 2020-12-12 2021-10-29 四川大学 一种基于失真漂移的视频隐写方法
CN115565114A (zh) * 2022-11-17 2023-01-03 中央广播电视总台 视频画面漂移识别方法、装置及计算机设备、存储介质
CN115565114B (zh) * 2022-11-17 2023-03-21 中央广播电视总台 视频画面漂移识别方法、装置及计算机设备、存储介质
CN116320471A (zh) * 2023-05-18 2023-06-23 中南大学 视频信息隐藏方法、***、设备及视频隐藏信息提取方法
CN116320471B (zh) * 2023-05-18 2023-08-22 中南大学 视频信息隐藏方法、***、设备及视频隐藏信息提取方法

Similar Documents

Publication Publication Date Title
CN108769700A (zh) 减小h.264帧间漂移失真的鲁棒性视频隐写方法
CN106101729B (zh) Hevc视频编码中的逻辑帧内模式命名
CN104918056B (zh) 对帧内预测模式进行解码的方法
CN103414892B (zh) 一种大容量抗压缩的图像信息隐藏方法
CN107040787B (zh) 一种基于视觉感知的3d-hevc帧间信息隐藏方法
CN102223540B (zh) 一种面向h.264/avc视频的信息隐藏方法
Liu et al. A robust and improved visual quality data hiding method for HEVC
CN101841700B (zh) 一种面向h.264压缩比特流的视频水印方法
CN104581176B (zh) 无帧内误差漂移的h.264/avc压缩域鲁棒视频水印嵌入及提取方法
CN104994382B (zh) 一种感知率失真的优化方法
CN108366259A (zh) 一种高保真的h.264/avc视频三系数可逆隐写方法
CN106101714B (zh) 一种与压缩编码过程紧耦合的h.264视频信息隐藏方法
CN108965887B (zh) 一种基于块间去耦合的视频信息隐藏方法和装置
CN104065976B (zh) 一种基于视频的图像压缩及保密传输方法
CN109819260A (zh) 基于多嵌入域融合的视频隐写方法和装置
CN107710763A (zh) 用于对数字图像进行编码的方法、解码方法、装置和相关计算机程序
CN104159117A (zh) 一种hevc视频的信息隐藏方法
Tian et al. A semi-fragile video watermarking algorithm based on chromatic residual DCT
CN105681803B (zh) 一种大容量的hevc视频信息隐藏方法
Ma et al. A CNN-based image compression scheme compatible with JPEG-2000
Cappellari et al. Resolution scalable image coding with reversible cellular automata
Dong et al. Adaptive HEVC steganography based on steganographic compression efficiency degradation model
Ma et al. A cross channel context model for latents in deep image compression
CN109427032A (zh) 一种基于压缩域的可伸缩视频水印嵌入及提取方法
Tang et al. Reversible data hiding based on a modified difference expansion for H. 264/AVC video streams

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181106