微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 基于水印技术的MPEG-4形状错误隐藏

基于水印技术的MPEG-4形状错误隐藏

时间:09-27 来源:互联网 点击:
1 引言

随着网络和多媒体技术的迅速发展,人们对视频应用提出了新的要求,基于内容的交互编码标准MPEG-4就是适应这一要求而提出来的。MPEG-4视频编码标准面向内容编码,视频数据以基于内容的方式进行压缩、传输、编辑、检索,与以往视频编码标准的主要区别在于对象的概念,输入的视频不再足象素,而是视频对象,以视频对象作为操作的单位实现传统编码的所有功能。视频对象按照时空关系组成的场景,但是场景的前景对象和背景对象得以独立编码,如图1有两种基本的基于视频对象的视频场景的组成方法,每个场景可以由直接从视频序列中分隔的视频对象组成((a)分隔场景),也可以是现有的视频对象进行组合((b)组成场景)。另外也有可能场景是由上述的两种方法结合组成。

MPEG-4视频序列根据视频对象进行解释和处理,这些视频对象是由运动信息,纹理信息和形状信息定义的。MPEG-4视频包通常是基于数据分隔模式编码的,形状信息和运动信息是独立于纹理信息的,是分别传输的。如果纹理信息发生了丢失,利用正确解码的形状信息和运动信息可以进行纹理错误隐藏。而如果形状和运动信息都丢失了,则丢弃整个视频包。


图 1 分隔、组成场景的组成方式


形状信息用Alpha掩模平面来表示,用二值定义(1表示不透明,0表示透明),或用灰度级定义(象素的透明程度介于0~255之间,1表示不透明,0表示透明)。一般都是使用二值掩模平面,视频对象的每个象素位置被定义为完全透明或完全不透明。二值的形状信息对于网络上发生的错误很敏感,并且会很容易发生错误扩散,将会影响连续帧的视频对象解码,现有的纹理和运动信息错误隐藏技术都是在正确获得形状信息的基础上得到的,这说明形状错误隐藏是很必要的。

2 形状错误隐藏技术回顾

MPEG-4编码标准提出了例如插入同步码,数据分割,可逆变长编码等错误隐藏技术。但是这些技术对于现在的通信是不能满足要求的。随着错误隐藏技术的发展,并且形状错误隐藏渐渐引起了很多专家的关注,一些关于形状的错误隐藏技术也相继的被提出。在文中提出了近年来的一些形状错误隐藏技术。

提出的这些技术不外乎是根据图像的自然属性进行错误隐藏的,分空间域的错误隐藏和时间域的错误隐藏,空间域的主要是针对I帧的视频对象形状信息,而时间域的主要是针对P帧和B帧的视频对象的形状信息。时间域的错误隐藏技术也都是基于I帧的形状信息正确解码,所以空间错误隐藏更具有意义。文献提出的方法是利用了自适应马尔可夫域的最大后验估计(MAP)模型对图像进行预先的估计,马尔可夫是为了二值形状信息设计的,参数是根据相邻块的信息自适应确定的。据试验表明此方法能够很精确地恢复形状丢失的形状信息,与中值滤波的方法比较,本文提出的方法能够多恢复20%的丢失信息,获得更好的客观质量。比自适应马尔可夫方法更简单的曲线插值方法,利用Hermite曲线和贝叶斯曲线的特性根据图像的空间连续性来对边界错误块进行错误隐藏。则是利用时间和运动信息进行错误隐藏的。

这些方法都是在解码端对错误块进行修复,并且也取得了很好的效果,但是这些方法针对的错误率是有一定限制的,一旦出现了很严重的错误,很大的丢包率则很难精确地恢复出正确的信息。不仅如此如果丢失的是细节部分利用曲线的特性并不能很精确地恢复信息,这些都对视频对象的解码很不利,并且如果是I帧的形状信息没有恢复,则之后的利用时间域错误隐藏技术也得不到理想的效果。

3 本文的算法

针对此问题本文提出了一个新颖的基于数据隐藏的方法。此方法是收到数字水印技术的启发。数字水印是信息隐藏技术的一种,广泛地用于图像、视频、音频等版权问题,具有透明性、鲁棒性和可证明性,因此数字水印技术也越来越多地运用到内容认证等其他领域。本文就是利用数字水印的特性与形状的错误隐藏技术进行结合,这也是本文的主要创新点。本文主要是针对分隔场景视频的I帧的形状错误隐藏,提出的主要思想是根据的形状信息产生待嵌入的水印信息,而人们关注较少的背景对象则作为嵌入的宿主。

数字水印按照嵌入的过程分为时域/空域水印和频域/变换域水印,一般情况下频域水印比时域水印有更强的鲁棒性与透明性。本文则分别利用这两种不同的实现方法来进行。下面对这两种方法分别进行说明。

3.1 利用频域水印嵌入方法

本文提出的频域的方法是在DCT变换域中的,具体的实施方法如下:

(1)首先将二值掩模图像进行采样,缩小到原图像的1/4。根据数字水印技术原理,嵌入的信息量越大则透明性越差。这样做的目的是为了不会太大的影响宿主图像的客观质量。

(2)其次是选择宿主图像,本文是选择背景对象作为宿主,一般视频的背景对象可以转换成RGB三个分量,据研究绿色分量对有损压缩具有很强的顽健性。为了完整地嵌入二值掩模还要对分隔场景的背景对象进行插值,就是利用最简单的水平插值的方法,利用每一行的与零象素相邻的两个非零值的平均值对零值象素位进行填充。填充好的背景图像作为最后的宿主图像。  

(3)在上两步的基础上本文选择将水印信息嵌入到宿主图像的频域信息中,将背景图像分隔成2×2的图像块,对每个块进行DCT变换,将水印嵌入到DCT系数的中频系数中,直接用水印的值代替所选择的中频系数。

(4)最后就是水印的提取,二值掩模图像的恢复了。提取则是嵌入的逆过程,直接对接收到的背景图像分割成2×2的图像块,对每个块进行DCT变换,直接提取所选择的中频系数即可,对提取出来的二值图像放大到原来的4倍,这样即得到了恢复的二值掩模图像。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top