基于脆弱水印的错误检测技术在H.264中的应用
发布时间:2008/5/26 0:00:00 访问次数:630
    
    
    来源:电子设计应用 作者:成都理工大学信息工程学院 李汶隆 杨浩钦 李录明
    
    摘 要:针对h.264编码比特流,本文提出了一种在压缩比特流中使用脆弱水印技术来检测传输中错误宏块的检测方案。在编码端的dct非零系数的最低有效位(lsb)以数字水印的形式嵌入特定的信息,然后在解码端提取这些信息来判断所接收的比特流是否出错。
    
    关键词:错误检测;脆弱水印;最低有效位;比特流
    
    引言
    
    在压缩视频流中,每个比特都是非常重要的,在传输过程中发生的错误会严重影响解码后的视频效果。所以,在所接收的视频流中进行错误检测在实际工作中是非常重要的。只有***在所接收的比特流中检测到误码,才能采用相应的策略对它进行错误恢复和错误隐藏,因此,选择一种行之有效的误码检测方法是致关重要的。
    
    数字水印技术在近年来发展很快,已发展出用于数据监控的脆弱水印,以检验数据的完整性。本文提出了一种基于脆弱水印的错误检测方法。
    
    错误检测方案
    
    为了克服传统检测方法的不足,本文采用在编码端嵌入水印信息的办法,并使水印信息和视频数据之间建立某些强制关系。如果在解码时发现这些约定关系不被满足,则可判断接收到的数据遭到篡改,即发生传输错误。本文根据h.264的协议语句设计水印信息,并把水印信息嵌入到非零dct系数中。
    
    检测原理
    
    在h.264视频压缩标准中,一个宏块的压缩数据可以分为两个部分。第一部分包括图像头、宏块类型、帧内预测模式以及运动矢量等;第二部分包括块编码模式(cbp,coded block pattern)和该块的所有dct系数。如果第一部分数据发生错误,将对解码端的图像解码过程造成非常严重的影响,甚至不能解码。但值得庆幸的是,第一部分的数据与cbp数据在码流中的比特数非常少,所以其发生错误的概率与dct系数相比非常小。数字水印检测技术正是针对每个dct变换块进行一些特殊处理,使编码后的码流数据携带一些特定的特征,即水印。而码流中的这些特征对信道的干扰非常敏感,在信号传输过程中,即使遇到轻微的信道干扰,这些特征也会丢失。解码端通过检测解码数据是否存在水印,就能达到错误检测的目的。
    
    
    
    图1 嵌入水印流程图
    
    水印设计和嵌入位置
    
    在编码端,首先对每个dct块内的非零系数的最低有效位进行判别,dct块经过字变换(zia-zia)扫描之后,如果非零系数在偶数位置,则将最低有效位置0,即lsb=0;如果非零系数在奇数位置,则将最低有效位置1,即lsb=1。因为dct系数中直流分量携带的信息量很大,如果对直流分量进行处理,将会导致图像的psnr值急剧下降,严重影响解码后的图像效果,所以,本文只对交流系数进行处理。在解码端,对这些位置的交流系数进行检查。在奇数位置,如果dct系数为偶数,则说明该编码块出错;在偶数位置,如果dct系数为奇数,则说明该编码块出错。其方法如下:
    
    非零dct交流系数在偶数位置时:
    
    非零dct交流系数在奇数位置时:
    
    ac为dct变换后的交流系数,acw为加载脆弱数字水印后的dct交流系数,为符号函数。本方案采用在最低有效位嵌入水印模式,因此不需要额外的比特进行编码。图1即为帧内宏块嵌入水印模式的流程图。
    
    由于h.264标准采用了帧内和帧间预测来参与对某一宏块的编解码。为了保证编解码端参与预测的数据一致性(因为解码端不可能使用未嵌入水印的原始数据参与预测),避免数据失配造成图像质量恶化,水印嵌入操作必须放到运动补偿循环内,即量化之后、熵编码之前进行,如图2所示。
    
    
&nb
    
    
    来源:电子设计应用 作者:成都理工大学信息工程学院 李汶隆 杨浩钦 李录明
    
    摘 要:针对h.264编码比特流,本文提出了一种在压缩比特流中使用脆弱水印技术来检测传输中错误宏块的检测方案。在编码端的dct非零系数的最低有效位(lsb)以数字水印的形式嵌入特定的信息,然后在解码端提取这些信息来判断所接收的比特流是否出错。
    
    关键词:错误检测;脆弱水印;最低有效位;比特流
    
    引言
    
    在压缩视频流中,每个比特都是非常重要的,在传输过程中发生的错误会严重影响解码后的视频效果。所以,在所接收的视频流中进行错误检测在实际工作中是非常重要的。只有***在所接收的比特流中检测到误码,才能采用相应的策略对它进行错误恢复和错误隐藏,因此,选择一种行之有效的误码检测方法是致关重要的。
    
    数字水印技术在近年来发展很快,已发展出用于数据监控的脆弱水印,以检验数据的完整性。本文提出了一种基于脆弱水印的错误检测方法。
    
    错误检测方案
    
    为了克服传统检测方法的不足,本文采用在编码端嵌入水印信息的办法,并使水印信息和视频数据之间建立某些强制关系。如果在解码时发现这些约定关系不被满足,则可判断接收到的数据遭到篡改,即发生传输错误。本文根据h.264的协议语句设计水印信息,并把水印信息嵌入到非零dct系数中。
    
    检测原理
    
    在h.264视频压缩标准中,一个宏块的压缩数据可以分为两个部分。第一部分包括图像头、宏块类型、帧内预测模式以及运动矢量等;第二部分包括块编码模式(cbp,coded block pattern)和该块的所有dct系数。如果第一部分数据发生错误,将对解码端的图像解码过程造成非常严重的影响,甚至不能解码。但值得庆幸的是,第一部分的数据与cbp数据在码流中的比特数非常少,所以其发生错误的概率与dct系数相比非常小。数字水印检测技术正是针对每个dct变换块进行一些特殊处理,使编码后的码流数据携带一些特定的特征,即水印。而码流中的这些特征对信道的干扰非常敏感,在信号传输过程中,即使遇到轻微的信道干扰,这些特征也会丢失。解码端通过检测解码数据是否存在水印,就能达到错误检测的目的。
    
    
    
    图1 嵌入水印流程图
    
    水印设计和嵌入位置
    
    在编码端,首先对每个dct块内的非零系数的最低有效位进行判别,dct块经过字变换(zia-zia)扫描之后,如果非零系数在偶数位置,则将最低有效位置0,即lsb=0;如果非零系数在奇数位置,则将最低有效位置1,即lsb=1。因为dct系数中直流分量携带的信息量很大,如果对直流分量进行处理,将会导致图像的psnr值急剧下降,严重影响解码后的图像效果,所以,本文只对交流系数进行处理。在解码端,对这些位置的交流系数进行检查。在奇数位置,如果dct系数为偶数,则说明该编码块出错;在偶数位置,如果dct系数为奇数,则说明该编码块出错。其方法如下:
    
    非零dct交流系数在偶数位置时:
    
    非零dct交流系数在奇数位置时:
    
    ac为dct变换后的交流系数,acw为加载脆弱数字水印后的dct交流系数,为符号函数。本方案采用在最低有效位嵌入水印模式,因此不需要额外的比特进行编码。图1即为帧内宏块嵌入水印模式的流程图。
    
    由于h.264标准采用了帧内和帧间预测来参与对某一宏块的编解码。为了保证编解码端参与预测的数据一致性(因为解码端不可能使用未嵌入水印的原始数据参与预测),避免数据失配造成图像质量恶化,水印嵌入操作必须放到运动补偿循环内,即量化之后、熵编码之前进行,如图2所示。
    
    
&nb
上一篇:旋转变压器在转子位置测量中的应用