视频水印检测的制作方法

文档序号:7951267阅读:747来源:国知局
专利名称:视频水印检测的制作方法
技术领域
本发明涉及对视频内容加水印,更具体地,涉及在数字电影应用 中嵌入并检测水印。
背景技术
视频包含空间和时间轴。可以在空间域或在变换域中表示图像 (以及类似的视频帧)。在空间域(也称为'基带'域)中,将图像表示 为像素值的栅格。可以根据空间域图像的数学变换来计算像素化(即, 离散)的图像的变换域表示。通常,该变换优选是可逆的,或者是至少没有明显信息丢失的可逆的。存在多个变换域,最熟悉的是FFT(快 速傅立叶变换)、用于JPEG压缩算法中的DCT (离散余弦变换)和 用于JPEG2000压縮算法中的DWT (离散小波变换)。在变换域中表 示内容的一个优点在于,通常可以使该表示比类似感知质量的基带表 示更加紧凑。存在将水印嵌入基带以及变换域中的加水印方法。视频或视频图像使其自身应用各种加水印方式。可以基于选择用 于加水印的视频的空间结构、时间结构、还是整体三维结构将这些视 频水印方式分为三类。空间视频加水印算法通过使用现有图像加水印算法的逐帧标记, 将对静态图像加水印扩展至对视频加水印。在现有技术中,逐帧水印 是在特定间隔上在每帧内进行重复,其中该间隔是任意的,并且可以 是多达整个视频的若干帧。在检测器侧,有利地,功率信噪比(PSNR) 在多个连续帧上重复相同的水印。然而,如果每个帧具有相同的水印 图案,则必须保持特别关注,以避免可能的帧冲突攻击。另一方面, 如果每帧改变水印,则难以检测,同时导致颤动(flicker)的伪像, 并仍易于受到视频稳定区域中的冲突攻击。作为改进,没有必要每帧加水印。在现有技术中,仅对自动选择 的"关键帧"(以及该关键帧周围的若干帧)加水印。关键帧是在两个 边界镜头帧之间发现的稳态帧,并且甚至在帧率改变之后再次是可靠 的。仅对关键帧加水印不但减小了对保真度限制的压力,而且还可以 导致更多的安全性和更小的计算强度。尽管空间域水印可以从对于几何变换是稳健的静态图像水印技 术(例如使用几何不变水印、或者以平铺图案复制水印、或者使用傅 立叶域中的模板)中受益,但是由于在投射电影的便携式摄像机捕获 的过程中出现的屏幕弯曲和几何变换而难以倒转。此外,这两种方式 并不能抵御信号处理攻击,例如,可能容易地删除傅立叶域中的模板。 因此,如果使用原始内容进行登记,可以更容易和安全地检测到空间 域水印。在现有技术中,使用半自动登记方法,该方法将原始帧中的 特征点与所提取的帧中的特征点相匹配。针对平面屏幕上的投射,必须匹配最少四个参考点以倒转该变换。操作者从预先计算的特征点集 中手动选择至少四个特征点。可以完全自动地进行两级登记首先在 时间域中,然后在空间域中。通过水印检测器访问帧签名的数据库(也 称为指纹、软散列或消息摘要),以将所提取的关键帧与相应的原始帧 相匹配。然后将后者用于测试帧的自动空间登记。然而,应当注意,选择关键帧的计算需要即将到来的帧,这在针 对实时应用嵌入水印时并不可用。可选方法将会是保持帧处理和回放 之间的恒定时间延迟。现有技术的时间水印方案仅通过改变每帧中的整体亮度,使用时 间轴插入水印。这使水印对于几何失真有着固有的稳健性,并在便携 式摄像机攻击之后简化水印。可以使用本领域已知的其他方法来提高 水印对时间低通滤波的稳健性(典型地在对摄像后的视频去颤动时应 用)。然而,水印对于时间去同步来说是脆弱的(尤其在帧编辑之后)。 然而,也可以通过匹配去同步和原始视频之间的关键帧来恢复同步。两种先前的方式(空间或时间水印)使用三个可用维中的一个或 两个来加水印。视频中的三个可用维中的一个或两个中的水印结构的 缺乏导致了对可用于水印的空间的不最适宜的使用。Bloom等在美国6专利号6,885,757"用于提供非对称水印载体的方法和设备"中描述的方法完全利用了视频的结构。在它们的扩谱方法中,该技术是明显稳 健并安全的,但是检测器必须在检测前使测试视频与原始视频同步。发明内容本发明的一方面涉及在连续帧或单个帧内伪随机地插入特定系数 属性值之间的基于限制的关系。该关系对水印信息进行编码。'系数'被表示为数据元素集合,该数据元素集合包含视频、图像 或音频数据。术语"内容"将被用作表示数据元素的任意集合的通用术 语。如果内容在基带域中,则系数将表示"基带系数"。如果内容在变 换域中,则系数将表示为"变换系数"。例如,如果在空间域中表示图 像或视频的每个帧,则像素是图像系数。如果在变换域中表示图像帧, 贝lj变换后图像的值是图像系数。本发明尤其涉及针对数字电影应用中的JPEG200图像的DWT。通 过对图像像素连续应用垂直和水平的低通和高通滤波器,来计算像素 化图像的DWT,其中所产生的值被称为'小波系数'。小波是仅持续一 个或若干周期的振荡波形。在每次迭代时,对前次迭代的仅低通滤波 后的小波系数取十分之一,然后通过低通垂直滤波器和高通垂直滤波 器,并使该过程的结果通过低通水平和高通水平滤波器。所产生的系 数集合被组合于四个'子带,中,即LL、 LH、 HL和HH子带。换言之,LL、 LH、 HL和HH系数是产生于分别连续应用于低通垂 直/低通水平滤波器、低通垂直-高通水平滤波器、高通垂直/低通水平 滤波器、高通垂直/高通水平滤波器的图像的系数。图像可以具有多个通道(或分量),所述多个通道与不同的自然颜 色相对应。如果图像处于灰度级,则仅具有表示亮度分量的一个通道。 通常,该图像是彩色的,在这种情况下,典型使用三个通道来表示不 同的颜色分量(尽管有时可以使用不同个数的通道)。这三个通道可以 分别表示红、绿和蓝分量,在这种情况下,图像在RGB彩色空间中表 示,然而,可以使用许多其他颜色空间。如果图像具有多个通道,则 通常单独在每个彩色通道上计算DWT 。每次迭代与系数的特定'层'或'级'相对应。系数的第一层与 图像的最高分辨力级相对应,而最后一层与最低分辨率级相对应。图l是5级小波变换的一个分量的视频表示。单元105-120是视频帧。单元 125指示最低分辨率的LL子带系数。单元125a以(f,c,l,b,x,y)示出了系 数,其中帧f二0,通道p0,子带b^0,分辨率级1=0,以及位置x和y二O。为了最佳的使用视频的3D结构,本发明使用了时间和空间轴。因 为在投影和捕获之后空间登记难以实现电影,所以本发明使用了非常 低的空间频率或低空间频率的整体属性,它们对空间登记的几何失真 不太敏感。时间频率更容易被恢复,这是因为攻击期间产生的大多数 变换是时间线性的。在本发明中,直接对视频的低分辨率小波系数加水印。因为帧中 像素数目比最低分辨率小波系数的数目大1000倍的数量级,所以操作 次数可能在本发明中少得多。描述了这样一种用于对视频图像加水印的方法和系统,其中包括 通过强化具有视频量的所选系数集合的属性值之间的关系来产生水印 并将所生成的水印嵌入视频图像。从而将水印适应性地嵌入视频量。 也描述了这样一种用于对视频图像加水印的方法和系统,包括选择系 数集合并强化具有视频量的所选系数集合的属性值之间的关系。也描 述了这样一种用于对视频图像加水印的方法和系统,包括通过强化具 有视频量的所选系数集合的属性值之间的关系生成有效载荷、选择系 数集合、修改系数并嵌入所述水印。修改后的系数替换了所选系数集合o描述了用于检测视频图像中的水印的方法和系统,包括准备信号、 提取和计算属性值、检测比特值和对有效载荷进行解码,其中有效载 荷是通过强化视频量中的属性值之间的关系来产生并嵌入的。也描述 了这样一种用于检测视频图像中的水印的方法和系统,包括准备信号 并对有效载荷进行解码,其中有效载荷是通过强化视频量中的属性值 之间的关系所产生和嵌入的比特序列。也描述了这样一种用于检测视 频量中的水印的方法和系统,包括准备信号、提取并计算属性值和检 测比特值。尽管可以以硬件、固件、FPGA、 ASIC等来实现本发明,但是本 发明最佳是以位于计算机或处理设备中的软件实现,其中设备可以是 服务器、移动设备或任何等价物。所述方法最佳通过对步骤进行编程 并将程序存储在计算机可读介质上实现/执行。在实时处理所需速度需 要针对一个或多个步骤序列的硬件的情况下,可以容易地实现这里所 描述的针对过程和方法的全部或任何部分的硬件解决方案,而不会损 失一般性。然后,可以将硬件解决方案嵌入计算机或处理设备,例如但不限于服务器或移动设备。在针对数字电影应用的JPEG2000图像实 时加水印的实施方式的示例中,数字电影服务器或投影仪中的 JPEG2000解码器将每帧的最低分辨率级的系数传递给水印嵌入模块。 嵌入模块修改所接收的系数,并将其返回解码器用于进一步解码。实 时执行对系数饿传递、加水印和返回。


在结合附图阅读时,从以下详细描述中最佳地理解本发明。附图 包括以下描述的图示,其中附图中类似的数字表示类似的元件-图1是5级小波变换的一个分量中的视频表示。图2是描述了水印的有效载荷生成步骤的流程图。图3是描述了水印的系数选择步骤的流程图。图4是描述了水印的系数修改步骤的流程图。图5示出了全分辨率的视频帧和根据分辨率级5的系数重构的视 频帧。图6是在D电影服务器(媒体块)中加水印的框图。图7是描述了视频水印检测的流程图。图8是描述了针对视频水印检测的信号准备的流程图。图9示出了互相关函数。图10是描述了在视频水印检测过程中的比特值检测的流程图。 图11示出了累积信号。
具体实施方式
多个应用需要实时的水印嵌入,如用于机顶盒和用于数字电影服 务器(或称为媒体块)或投影仪的基于会话的水印嵌入。尽管相当明 显,但值得一提的是,该呈现器难以应用加水印方法,即在给定时间 使用在时间上之后到来的帧。优选地,应当避免(例如水印位置或强 度的)离线预先计算。存在多种原因,但是有两个最重要的原因潜 在的安全性泄露(如果攻击者知道嵌入算法的全部细节,则通常当前 的生成水印算法不太安全)和不实用性。在大多数应用中,数字加水印内容的单元通常在嵌入与检测之间 受到一些修改。这些修改被称为(攻击,,因为它们通常使水印退化并使检测更加困难。如果期望在应用期间自然发生攻击,则认为该攻击 是'无意'的。无意攻击的示例可以是(1)经修剪、缩放、JPEG 压缩、滤波等的水印图像,(2)转换至用于在电视显示器上查看的NTSC/PAL SECAM、 MPEG或DIVX压縮、再采样等的加水印后的视 频。另一方面,如果以删除水印或减少检测的目的故意进行攻击(即, 水印仍在内容中,但不能通过检测器检索到),则该攻击是'有意'的, 并且执行该攻击的一方是'盗版者'。有意的攻击通常有着将使水印不可读的机会最大化、而将对内容的可感知的毁坏最小化的目标攻击的示例可以是使得难以与检测器同步的作用于内容的行删除/添加和/ 或局部旋转/縮放的小的不可感知的组合(大多数水印检测器对于去同 步是敏感的)。在因特网上存在用于上述攻击目的的工具,例如,在所谓'摄像机攻击'的情况下(即在影院中播放期间由人执行 的非法捕获电影),即使该方执行了非法动作,也认为该攻击是(无意' 的。确实,并不以去除水印为意图来进行电影捕获。但是,在捕获之 后,该人可以在所捕获的视频上运行另外的过程,以确保在内容中不 再能够检测到水印。于是认为这些后来的攻击是有意的。例如,针对数字电影的基于会话的水印必须经受住以下攻击调整大小、邮箱存储(letterboxing)、孔径控制、低通滤波和反混叠、障 碍滤波、数字视频噪声降低滤波、帧交换、压缩、缩放、修剪、重写、 噪声和其他变换的添加。摄像机攻击包括顺序的以下攻击摄像机捕获、去交织、修剪、 去颤动和压縮。很显然,摄像机捕获引入了显著的空间失真。本发明 关注摄像机攻击,因为通常认识到经受住摄像机攻击的水印将经受住 大多数其他无意攻击,例如屏幕复制、电视电影等。然而,水印经受 住其他攻击也很重要。通常对视频帧进行交织,以在NTSC或PALSECAM兼容系统上播放。去交织并不会真正影响检测性能,而是由盗版者使用的提高所捕获的视频质量的标准过程。以大约4: 3的纵横比完全捕获纵横比2.39的视频;粗略地修剪视频的顶部和底部区域。所捕获的视频典型显示了干扰颤动,这是由于时域中的混叠效应。颤 动与可以滤出的亮度的快速偏差相对应。盗版者通常使用去颤动滤波 器来去除这种颤动效应。即使并不是以擦除水印的意图来使用去颤动 滤波器,但是去颤动滤波器会对水印的时间结构有非常大的毁坏性, 因而去颤动滤波器对每一帧进行了强低通滤波。最后,压縮所捕获的电影以符合可用分发带宽/媒体/格式,例如,DIVX或其他有损耗的视 频格式。例如,在P2P网络上找到的电影通常具有允许在700兆字节 的CD上存储总共100分钟的电影的文件大小。这与大约934kbps的 总比特速率相对应,或者如果为音轨保留128kbps,则与大约800kbps 的总比特速率相对应。该攻击序列与最严重的过程相对应,这些过程将会在可以在对等(P2P)网络上找到的盗版视频的存在时期内出现。也明确或隐含地 包括上述水印必须经受住的攻击中的大多数。除了摄像机攻击之外, 本发明的加水印方法和设备也经受住了帧编辑(去除和/或添加)攻击。 如果检测器不需要(需要)访问原始内容,则水印检测系统被称 为'盲'(或非盲)的。也存在所谓半盲系统,需要仅对从原始内容导 出的数据进行访问。诸如针对数字电影的基于会话的水印的辩论跟踪(forensic tracking)之类的一些应用并不明确需要盲水印解决方案, 因为典型地将离线进行检测,因而可以对原始数据进行访问。本发明 使用盲检测器,但插入了同步比特,以使检测器处的内容同步。半盲 检测器也可以用于本发明。如果使用了半盲检测器,则最终会使用从 原始内容导出的数据来执行同步。在这种情况下,同步比特并不必要,可以减小水印大小(也称为水印片)。在针对数字电影应用的特定示例中,需要在内容中1嵌入35比 特的最小有效载荷。该有效载荷应包含16比特的时间戳。如果每15分钟(每小时四个)、每天24小时且366天/年产生时间戳,并且每年 重复该时间戳,则需要35,136个时间戳,这可以用16比特表示。其 他19比特可以用于表示总共524,000个可能位置/序列号的位置或序 列号。此外,需要可以从五分钟的段中检测到所有35个比特。换言之, 应需要不超过5分钟的视频来提取辩论标记。在一个实施例中,本发 明使用了64比特的水印,并且每3:03分钟重复水印片。以每秒24帧 嵌入3:03分钟视频的视频水印片(每帧一个嵌入比特)具有4392比 特(183秒*24帧每秒=4392帧=每帧一比特的4392比特)。本发明的视频加水印方法基于修改内容的不同属性之间的关系。 特别地,为了对信息的比特进行编码,选择图像/视频的特定系数,分 配给不同集合,并以最小限度的方式进行处理,以便引入不同集合的 属性值之间的关系。系数的集合具有不同的属性值,这通常在视频的 不同时间空间区域中变化,或者在对内容进行处理之后被修改。通常, 本发明使用以单调方式变化的属性值,攻击对于该属性值具有可预测 的影响,因为在这种情况下比较容易确保稳健的关系。将会把这种属 性表示为'不变量'。尽管本发明使用不变属性可以最好地实现,但是 本发明并不限于此,并可以使用不是不变量的属性来实现本发明。例如,认为帧的平均亮度值是随时间'不变'的通常它以缓慢单调的 方式变化(除边界镜头之外);此外,诸如对比度增强之类的攻击通常 将会遵守每帧亮度值的相对排序。典型地,视频内容以多个单独的分量(或通道)表示,如RGB (广泛用于计算机图形和彩色电视机中的红/绿/蓝)、YIQ、 YUV和 YCrCb (用于广播和电视)。YCrCb包括两个主要分量亮度(Y)和 色度(CrCb或也被称为UV)。视频内容的亮度量或Y分量指示其亮 度。色度(或彩度)描述了视频内容的彩色部分,包括色彩和饱和度 信息。色彩指示图像的彩色色调。饱和度描述了无论输入参数如何改变而输出彩色恒定的条件。YCrCb的色度分量包括彩色中的红色(Cr) 分量和蓝色(Cb)分量。本发明将视频内容认为是具有W^H+N大小 的系数的多个3D量(其中,W、 H分别是基带域或变换域中帧的宽 度、高度,N是视频的帧数)。每个3D量(volume)与视频内容的一 个分量表示相对应。通过强化一个或多个量中所选系数集的特定属性 值之间的基于限制的关系来插入水印信息。然而,由于人眼对于整体 强度(亮度)改变远不及对于色彩(色度)改变敏感,所以优选将水 印嵌入表示视频内容的亮度分量的3D视频量中。亮度的另一优点在 于其对于视频的变换更加不变。尽管3D视频量可以表示任何分量, 但以下除非特别指出,3D视频量均表示亮度分量。在本发明中,系数集可以包含从内容中的任意位置取得的任意多 个系数(从1至 *1^1^)。每个系数具有值。因此,可以根据系数集 计算不同饿属性值,以下给出一些示例。为了插入水印信息,可以通 过改变多个系数集中的系数值来强化多个关系。以非限制的方式来将 关系理解为必须满足一个或多个系数集的一个或多个属性值的一个条 件或条件集。可以为每个系数集定义各种类型的属性。优选在基带域(如明度、 对比度、亮度、边沿、颜色直方图)或在变换域(频带中的能量)中 计算属性。可以同等地在基带和变换域中计算一些属性值,如在亮度 的情况下。嵌入信息比特的一种适合的方式是选择两个系数集,并强化其属 性值之间的预定关系。例如,该关系可以是第一系数集中的一个属 性值大于第二系数集中的相应属性值。然而,应注意,在嵌入比特信 息的方式中存在多种变化。将多于一个的信息比特嵌入两个所选系数 集的一种方式是强化两个系数集中一个属性的值之间的关系。也可以通过使用一个系数集、并强化该系数集的属性值的关系来 嵌入信息比特。例如,可以将属性值设置为大于特定值,该特定值可 以是预定的或根据内容适应性计算的。也可以使用一个系数集,通过 定义四个专用间隔、并强化属性值位于特定间隔的条件,来嵌入多于 两个的信息比特。嵌入多于一个比特的其他方式包括使用多于一个属性值,并强化针对每个属性值的关系。通常,可以使基本方案对于要强化的任意多个系数集、任意多个 属性值和任意多个关系是通用的。尽管这对于嵌入更多信息量是有利 的,但是必须使用诸如线性编程之类的特定技术,以便确保以最小感 知改变同时强化各种关系。如上所述,如果使用了不变的属性值,则 比较容易强化关系。3D视频量中的许多属性(和系数集)以时间空间方式和/或在内 容处理之前/后相对不变。不变属性的示例包括,连续帧或相同帧的不同子带中的系数(例如,小波系数),连续帧中的平均亮度 连续帧中的平均纹理*连续帧中的平均边沿测量 连续帧中的平均颜色或亮度直方图分布*特定频率范围内的能量 由所提取的特征点所定义的区域中的上述不变属性中的任何一个加水印算法通常使用仅对于嵌入器和检测器是已知的秘密'密 钥'进行操作。使用秘密密钥带来了与在加密系统中类似的优点例 如,通常已知加水印系统的细节而不会损害系统的安全性,因而可以 针对对等查阅和可能的改进而公开算法。此外,在密钥中保存加水印 系统的秘密,即仅在密钥已知的情况下才能对水印进行加密和/或检 测。密钥由于其紧凑的大小(典型为128比特)而更加容易被隐藏并 传输。使用对称密钥来使算法的特定方面伪随机化。典型地,在已经 针对误差修正和检测对有效载荷进行编码之后,使用密钥来加密该有效载荷(例如,使用诸如DES之类的标准加密算法),并扩展密钥以 适合内容。针对本发明的方法,也可以使用密钥来设置关系,将在两 个不同系数集的属性值之间插入该密钥。因此,可以将这些关系认为 是'预定'的,因为针对给定的秘密密钥,这些关系是固定的。如果 存在多于一个预定关系来嵌入水印,则也可以使用密钥,针对给定的 信息比特和给定的系数集来随机选择精确的关系。所选系数集通常与 <区域,相对应,其中,将区域理解为位于相 同内容区域中的系数集。尽管系数区域可以与内容的时间空间区域相 对应(如在基带系数和小波系数的情况下),但是不必是这种情况。例 如,内容的3D傅立叶变换系数既不与空间区域对应也不与时间区域 对应,而是将与类似频率的区域相对应。例如,系数集可以与可由一帧的特定空间区域内的所有系数构成 的区域相对应。为了对信息比特进行编码,选择来自两个连续帧的两 个区域,修改它们相应的系数值以强化这两个区域的特定属性之间的 关系。应注意,如将在以下进一步解释的,如果已经存在所期望的关 系,则不必修改系数值。针对另一示例,使用小波变换,存在与针对每帧的每个分辨率等 级上的每个位置和每个分量(通道)的四个子带相对应的四个小波系数(LL、 LH、 HL和HH)。系数集可以仅在四个子带之一中包含一个 系数。假设C1、 C2、 C3、 C4是位于相同位置、通道和分辨率等级上 的四个系数,但分别在四个子带中。嵌入水印的一种方法是强化C2 和C3之间的关系,C2和C3分别与HL和LH子带中的系数相对应。 关系的示例是C2大于C3。嵌入水印的另一方法是强化真正Cl-C2和 连续帧中相应系数之间的关系。该原理的变体是通过仅针对一种类型 的系数插入关系,其中该系数大于预先计算的值。例如,针对特定分 辨率等级上帧中的所有位置,可以强化系数LL的值大于预先计算的 值的限制。在上述示例值,属性值是小波系数本身的值。能够在检测侧识别与在加水印侧相同或几乎相同的系数集是非 常重要的。否则,将会选择错误的系数,并且所测量的属性值将会是 错误的。如果在检测前适度地处理内容,则识别正确的系数通常不成 问题,在这种情况下,并不改变系数的位置(无论在空间还是变换域)。 然而,如果该处理改变了内容的几何或时间结构(如在摄像机攻击期 间通常的情况)。则系数可能改变位置。如果在内容的空间结构中有改变,则可以使用非盲或半盲方案, 以使内容再同步。在现有技术中有不同的方法用于该目的。如果必须 进行盲检测(即,不访问从原始内容中导出的任何数据),则可以将具15有可预测值的同步比特插入内容,这将由检测器使用以使内容再同步。 将在以下进一步描述这种方案。为了确保在内容的几何结构中的改变的稳健性,可以使用现有技 术中已知的同步/登记方法,该方法通过将修改内容中的位置与原始内 容中的相应位置匹配来恢复修改内容。例如,在原始内容的情况下、 或从中导出的一些数据(例如,原始内容的縮略图或一些特征信息) 可用的情况下,在内容的旋转、縮放和/或修剪之后出现内容的几何结 构中的改变。在盲检测的情况下, 一种可能性是使用非常低的空间频率。针对 视频帧或图像, 一个区域的系数可以与整个视频帧、帧的一半或四分 之一相对应。在这种情况下,将正确地选择大多数系数(如果该区域 与整个视频帧相对应,则选择所有系数),即使将一些系数分配给错误 的集合,检测也通常是稳健的。对于几何结构的改变固有稳健的另一方式是使用实际仅包含一 个系数的区域,并强化一帧中的一个系数与下一帧中相应位置处的一 个系数之间的关系。如果针对两帧中的所有系数强化相同的关系,则 可以容易地看出该检测对于几何失真的固有稳健性。确保对于几何结 构的改变的稳健性的相关方式是创建不同子带中给定位置处的不同小 波系数之间的关系。例如,在小波变换中,存在与针对每个分辨率等级上、每个位置和分量(通道)的四个子带(LL、 LH、 HL和HH) 相对应的四个系数。可以在特定分辨率等级上强化帧中所有位置上的 两个系数之间的相同关系,以嵌入用于加强水印稳健性的水印比特。 在检测侧,嵌入将该关系视为比特指示符的次数。确保对于几何结构的改变的稳健性的另一方式是使用对于几何 结构中的改变而不变的特征点。这里,不变表示在使用特定算法提取 视频或图像的特征点时,在原始和修改内容上找到相同点。现有技术 中已知针对该目的的不同方法。可以使用这些特征点来为基带和/或变 换域中系数的区域划界。例如,三个相邻的特征点为内部区域划界, 该内部区域与系数集相对应。此外,可以使用相邻特征点来定义子区 域,每个子区域与系数集相对应。、对于几何结构中的改变固有稳健的另一方式是强化一帧中所有 系数的全局属性的值和第二帧中所有系数的相同全局属性的值之间的 关系。假设这种全局属性对于几何结构的改变是不变的。这种全局属 性的示例是一个图像帧的平均亮度值。以下是通过强化视频的连续帧中属性值之间的限制来嵌入比特 的非限制性示例算法-针对作为视频的帧序列Fl、 F2、 ...Fn中的JPEG2000压缩图像 的每帧a) 选择包括分辨率等级L上的N个系数的区域。该系数可以属 于一个或多个子带,如LL、 LH、 HL和HH。该区域可以是任意但固 定形状(例如矩形)的或如上所述,在面对几何攻击时,可以使用例 如针对区域的附加稳定性的特征点,依据原始图像内容而发生改变。b) 确定该区域的相关全局属性。全局属性可以是该区域的平均亮 度值、平均纹理特征测量、平均边沿测量、或者平均直方图分布。P 是这种全局属性的值。为了嵌入比特序列(bl,b2, ... bm}:a) 如果bi(l5iSn)是0,则以最小限度方式(仅在必要时)修 改F2*i和F2*i+1 ,从而P(F2*i+1) > P(F2*0。b) 或者如果bi(l5iSn)是1,则以最小限度方式(仅在必要时) 修改F2*i和F2*i+1 ,从而P(F2*i+1) < P(F2*i)。可以扩展该算法,以通过插入两帧的多个属性值之间的关系,在 每帧嵌入多个比特。 针对水印检测a) 使时域中所捕获的视频同步。这可以使用同步比特、非盲或 半盲方案来实现。b) 选择包括等级L上的N个系数的区域。与嵌入类似,该区域 可以具有固定形状。c) 计算该区域的相关全局属性。P'是该区域的全局属性值。d) 如果P,(F^+,)〉P,(F^),则检测到比特Oe) 如果P,(F2,0〈P,(F^),则检测到比特l17、、将本发明的加水印分为三个步骤有效载荷产生、系数选择和系 数修改。以下将这三个步骤描述为本发明的示例性实施例。应注意, 针对这些步骤中的每个可以有很大变化,该步骤和描述并不意在限制。现在参照图2,图2是描述了加水印的有效载荷产生步骤的流程图,在步骤205中获取或接收秘密密钥。在步骤210获取或接收包括 时间戳的信息和标识了设备的位置或序列号的号码。在步骤215产生 有效载荷。数字电影应用的有效载荷是最小35比特,在本发明的优选 实施例中是64比特。然后在步骤220,例如使用BCH编码,针对误 差修正和检测对有效载荷进行编码。在步骤225中可选地重复编码后 的有效载荷。可选地,在步骤230,基于密钥产生同步比特。在使用 盲检测时产生和使用该同步比特。也可以在使用半盲和非盲检测方案 时产生和使用该同步比特。在步骤240,将序列插入有效载荷,然后 在步骤245对整个有效载荷进行加密。有效载荷产生包括解译要嵌入比特序列的具体信息,也将其称为 "有效载荷"。然后,要嵌入的有效载荷通过依据可用空间添加误差修 正和检测能力、同步序列、加密和潜在重复来进行扩展。针对有效载 荷产生的操作的示例性序列是1. 将要嵌入的"信息"解译为"原始有效载荷"。将信息(时间 戳、投影仪ID等)变换为有效载荷。以上给出了针对数字电影应用 创建35比特有效载荷的示例。在本发明的示例性实施例中,有效载荷 具有64比特。根据原始有效载荷计算"编码后的有效载荷",编码后 的有效载荷包括误差修正和检测能力。可以使用各种误差检测编码/ 方法/方案。例如,BCH编码。BCH编码(64,127)可以修正所接收 比特流中的多达10个误差(即,大约7.87%的误差修正率)。然而, 如果重复多次编码后的有效载荷,则由于冗余而可以修正更多误差。 在本发明的示例性实施例中,127比特重复编码有效载荷重复了 12次, 可以修正嵌入每帧中的各个比特中的高达30%的误差。2. 依据可用空间,复制编码后的有效载荷以获得"复制编码有效 载荷"。在本发明中,针对总共127 (BCH编码)的每个编码比特复 制12次,127*12=1524比特。3. 使用密钥,对复制编码有效载荷进行加密;以获得"加密有效 载荷";加密有效载荷典型具有与复制编码有效载荷相同的大小。4. (可选地,在加密之前),产生同步比特,并在不同位置插入 重复编码有效载荷;所产生的序列是视频水印有效载荷。例如,计算 具有2868个比特的固定同步序列。将该序列分为一个996比特的全局 同步单元(作为水印片的报头)和12个156比特的本地同步单元(用 于每个有效载荷的报头)。在本例中,将大量比特用作同步比特。尽管 如果要在检测器处使用非盲方法(其中,使用原始内容以使测试内容 在时间上同步)则可以显著减小同步比特量,但是同步比特对于本地 调整登记仍非常有用。换言之,同步比特占用了否则可用于信息的附 加冗余的空间,从而增强对于各个比特误差的稳健性。然而,同步比 特增加了所提取信息的精度和质量,这导致了较少的各个比特误差。 因此,将所插入的同步比特个数设为导致了 127个编码比特中最小误 差数的最佳折衷。5. 通过依次连接以下比特来组装水印片 *全局同步(966比特)同步单元,,第一 127个比特的加密有效载荷,然后第一本地同步单元(156比特)*第二 127个比特的加密有效载荷,然后第二本地同步单元(156比特)*最后127个比特的有效载荷,最后的本地同步单元(156比特) 典型地,水印片(例如,4392比特)比原始有效载荷(例如,64比特)大若干数量级。这允许在噪声通道上传输时出现的误差中进行恢复。现在参照图3,图3示出了用于加水印的系数的选择,在步骤305 获取或接收密钥。在步骤310获取(加密、同步、复制和编码后的) 有效载荷。然后在步骤315,基于密钥将系数分为不相交的集合。在 步骤320,基于有效载荷比特和密钥来确定属性值之间的限制。系数的选择可以出现于基带或变换域中。选择变换域中的系数,并分为两个不相交集合C1和C2。使用密钥来使系数选择随机化。识 别用于两个集合中每个的属性值P(C1)和P(C2),使得通常对于Cl和C2是不变的。例如,可以识别各种这样的属性,例如,平均值(例如亮度)、最大值和熵。要插入的密钥和比特用于建立Cl和C2的属性值之间的关系,例 如P(C1)>P(C2)。这被称为限制确定。为了附加的稳健性,可以使用 正值'r,,从而P(Cl)>P(C2)+r。该关系可以已经就绪,在这种情况下, 不需要修改系数。在最坏的情况下,例如如果P(C2)已经大于P(Cl)+t (t是预定值或根据感知模型确定的值),则P(C2)可能明显大于P(Cl), 在这种情况下,不值得改变系数,因而会引入感知破坏。但是在大多 数情况下P(C1)将会是P,l=P(Cl)+pl , P(C2)将会是P,2=P(C2)-p2 (pl 和p2是正值),从而P,l〉P,2+r。现在参照图4,图4是描述了加水印的系数修改步骤的流程图, 在步骤405,接收或获取系数的不相交集合。在步骤410测量针对不 相交系数集合的属性值。在步骤415测试属性值,以确定属性值之间 的距离,这是稳健性的测量值。如果属性值在阈值距离t内,则该过 程因为不必修改系数而进行至步骤420。如果属性值大于阈值距离r, 则在步骤425执行另一测试,以确定属性值是否在所允许的特定最大 距离内,以便执行系数修改。如果属性值在最大距离内,则在步骤435 修改系数以满足限制关系。如果属性值不在最大距离内,则步骤430 不会如指定来修改系数。本发明的加水印方法"适于"原始内容,因为对于内容的修改是 最小的,同时确保了将正确地检测到比特值。扩谱加水印方法也适于 原始内容,但是方式不同。扩谱加水印方法考虑原始内容调制改变, 从而不会导致感知破坏。这与本发明的方法在概念上是不同的,它可 以决定在内容的特定区域内根本不插入任何改变,不是因为这种修改 将会是可感知的,而是因为所期望的关系已经存在、或者因为不能在 没有使内容明显恶化的情况下设置所期望的关系。而如下所示,本发 明的方法可以适合于二者,以确保将对比特进行正确解码并将感知破 坏最小化。由于本发明的方法引入了最小量的失真,以确保稳健地嵌入了比 特,并在失真过于严重的情况下停止,因而针对相同的失真和比特率, 将会导致比扩谱方法更加稳健。在基带域中,本发明的一个实施例将每帧中的像素分为上部和下 部。上/下部的亮度依据要嵌入的比特而增大或减小。在空间域中将每 帧从中点分为四个矩形。将帧分为四个矩形允许每帧存储多达四个比 特。该方法包括 将像素值分为帧的上部和帧的下部,以形成两个系数集Cl和C2。 测量亮度,即P(C1)是Cl中所有系数的平均,以及P(C2)是 C2中所有系数的平均。M又在需要时修改像素值,并以最小限度方式设置限制,例如, P(Cl)>P(C2)+r,其中r通常是正值。在本发明的该实施例中,水印嵌入模块仅访问图像的小波变换的 最低分辨率系数。针对具有像素大小2048 (宽度)*856 (高度)像素 的视频帧,在分辨率等级5上每个子带存在64*28=1728个系数(即, LL、 LH、 HL禾PHH)或者1728*4=6912个系数。仅将这些系数或这 些系数的子集用于视频水印嵌入。以下使用在帧内选择的系数集合来 描述两种非限制性方法。在第一方法中,仅将LL系数(也称为近似系数)用于视频水印 嵌入。将LL系数矩阵(64*28)从中点分为四片/部分。CK C2、 C3 和C4每个是32*14。依据要嵌入的比特和密钥,通过增加/减小每部 分的系数,在四个部分LLa (左上部分)、LLb (右上)、LLc (右下) 和LLd (左下)中的每个的系数之间创建特定关系。四个矩形片/部分 中的每个针对三个彩色通道中每个可以具有286至1728个系数。为了 使区域LLa至LLd之间的转换处的水印平滑(并限制其可见性),可 以保留转换区域无水印或以较小强度加水印。限制的示例可以是P(C1)+P(C2)> P(C3)+P(C4)。尽管应注意, 针对诸如平均亮度的线性属性,该等式可以写为P(C1并C2一P(C3并 C4),其中仅存在两个区域而不是四个区域,但是通常对于诸如所有系数的最大值之类的非线性属性来说并不是这样的。依据要嵌入的比特和所使用的密钥,存在多个不同的可能限制。将系数分为四片的一个优点在于,除了允许引入限制之外,还可以允许使用非常低的空间频率。如以上所述,这些频率对于几何攻击是稳健的,同时允许存储比仅考虑帧的全局属性的方法更多的比特。 第二方法中的系数LH和HL用于视频水印嵌入。存在多种方式来处理这些系数,以插入限制。通过以最低等级的分辨率将限制插入系数LH和HL之间来嵌入比特。例如,系数可以使得对于所有x、 y, 在帧f中,系数LH(x,y,f)〉HL(x,y,f)。由于这种限制通常太强而不能实 际应用于实践中,可以处理系数,使得全局应用该关系。例如,可以 是<formula>formula see original document page 22</formula>或者S腿(x,y) (LH(x,y,f) >HL(x,y,f))应注意,第二关系不是线性的,并允许更加精细的粒度、但是更 加复杂的限制插入。这允许将改变分发给系数,从而区域对于没有改 变太多的改变(如果有的话)更加敏感。应注意,在该方法中,作为修改像素值的替代,修改相对少量的 系数(64x28 LL个系数)以改变帧的亮度。这对于水印嵌入非常有利, 尤其在具有有限计算资源并需要成本有效和实时加水印功能的应用 中。可以依据系数集来预想更多的方法,即可以仅使用一帧中的系 数、或者来自连续帧的系数、所测量的属性、强化关系类型等。通常, 在通常在修改内容之后保持属性值的排序的情况下,大多数可工作的 方法将使用具有几乎不变的属性的系数集合。针对系数修改,在一个实施例中的本发明使用两个系数集 Cl-(cll,..,clN)和C2={c21,..,c2N},并修改它们的值。系数cij的值在 修改前后分别表示为v(cij)和v'(cij)。如上所述,多于两个系数集可以用于更加复杂的关系。也可以仅 使用一个系数集。在不丧失通用性的情况下,可以期望设置关系P(Cl)>P(C2)+r,其中r是调整关系稳健性的任何值。如果例如函数p最大,则为了将改变最小化,仅按照以下方式处理最强系数C1和C2: 如果 <formula>formula see original document page 23</formula>, 否则<formula>formula see original document page 23</formula> 如果 <formula>formula see original document page 23</formula>, 否则 <formula>formula see original document page 23</formula>以上的功能P是强非线性的,即属性并不根据系数值而平滑改变。 该方法是有利的,因为允许通过仅修改每个集合一个系数(尽管改变 可能很强)嵌入比特。该《最大'方法(使其更加稳健)的扩展不仅改变了最大值,而 且改变了N个最强值(N典型明显小于系数集的大小),以将在对内 容进行处理之后对关系正确解码的机会最大化。应理解,对于该技术 可以有多种其他变化。另一方面,如果函数P是系数的线性属性(例如,平均),则可 以在每个集合中的所有系数上任意分发改变。例如,假设为了设置该 关系,期望改变系数的平均值,使得<formula>formula see original document page 23</formula>然后,如果在每个系数上同等地分发改变(针对属于C1的系数为正、属于C2的系数为负),则导致<formula>formula see original document page 23</formula>对于c2j也类似。如果已经保持了关系,KlJ(r+avg{v(c21),..,v(c2N)}-avg{V(cll),..,v(clN)})<0,在这种情况下,不需要修改系数。如上所述,可以扩展基本方法,以通过使用不同属性以包括更多 关系。例如, 一起考虑'最大'和'平均'方法,以在两个集合之间 具有关系的四个组合,其允许对两个比特进行编码。然后,可以强化 以下关系Max(Cl)>max(C2)且avg(Cl)<avg(C2)此外如上所述,仅必须使用一个系数集,在这种情况下,针对固 定或预定值来设置关系。例如,可以强化关系,从而Cl的最大或平 均高于特定值。在另一情况下,可以使用密钥来伪随机地进行选择, 以依据该密钥强化'最大'或'平均'关系,这显著提高了算法的安 全性。上述方式可以结合掩蔽(感知)模型,该模型允许将水印强度分 发至每个图像区域中,导致对水印产生最小的感知影响。这种模型也 确定了是否可以进行处理,以没有感知破坏地强化关系。以下描述了 在数字电影投影仪中实时加水印的上下文中并入针对视频内容的掩蔽 模型的非限制性方式。存在两种主要的图像掩蔽效果纹理掩蔽和亮度掩蔽。此外,视 频受益于第三掩蔽效果..时间掩蔽。在诸如数字电影的一些应用中,具有有限计算资源,但需要实时加水印,期望仅采用最低分辨率等级的LL、 LH、 HL和HH子带系数, 例如,分辨率等级5。后三种类型的系数是纹理的可能指示,而LL 是亮度指示。然而,相应的分辨率很低,并在该分辨率上纹理掩蔽效 果并不显著。为了证明这点,将完全分辨率饿视频帧与根据分辨率等 级5重构的相同视频帧进行比较。见图5。看上去,大多数纹理在该 分辨率上丧失。因此,针对等级5的LH、 HL和HH子带系数是纹理 的不良指示,将不会被用于测量纹理掩蔽。然而,因为通常将会将运动应用于相当大的视频区域(因而具有 低的频率),所以仍以相当好的精度来估计时间掩蔽。可以通过从当前 帧中减去先前帧的系数来测量时间掩蔽。C(f,c,l,b,x,y)表示帧f、通道 (即彩色分量)c、分辨率等级l、子带b (针对系数LL、 LH、 HL和 HH, bi至3)、位置x、 y的系数。因此,两个连续帧上相同类型的 系数之间的绝对差之和是时间改变的有效测量T(f,c,l,b,x,y)=avg(c=1....3)sum(b=0..3)(abs(C(f,c,l,b,x,y)-C(f-l,c,l,b,x,y))对于给定的帧f,分辨率等级1=5,针对所有位置(x, y)和彩色 通道中的每个(典型有三个彩色通道/分量)测量T(f,c,l,b,x,y)。如果 存在多个通道,则有利地,可以取所有通道上的平均值T(f,c,l,b,x,y)。然后,针对每个位置(x, y),将T(f,c,l,b,x,y)的值与阈值t进行比较, 仅在该值大于t时修改该位置的系数。实验中,t的良好值是30。如果改变了系数,则如本领域已知的,可以根据亮度来做出改变量。图6是在D电影服务器(媒体块)中加水印的框图。媒体块600 具有可以实现为硬件、软件、固件等的模块,以执行包括至少水印产 生和水印嵌入的加水印。模块605执行包括有效载荷产生的水印产生。 然后将编码后的水印610转发给水印嵌入模块615,水印嵌入模块615 从J2K解码器625接收图像系数,然后选择并修改小波系数620,最 后将修改后的系数返回J2K解码器625。如上所述,水印产生模块产生有效载荷,该有效载荷是直接嵌入 的比特序列。水印嵌入模块将有效载荷作为输入,从J2K解码器接收 图像的小波系数,选择并修改系数,并最终将修改后的系数返回J2K 解码器。J2K解码器继续对J2K图像进行解码,并输出相应的解压缩 图像。作为可选设计,可以将水印产生模块和/或水印嵌入模块集成至 J2K解码器。可以定期(例如,每5分钟)调用水印产生模块,以更新有效载 荷中的时间戳。因此,可以"离线"调用,S卩,可以提前在D电影服 务器中产生水印有效载荷。在任何情况下,其计算需求相当低。然而, 必须实时执行水印嵌入,其性能很关键。可以以考虑了原始内容的方式,利用各种等级的复杂度进行视频 水印嵌入。更高的复杂度可以表示针对给定保真度等级的附加稳健性、 或者针对相同稳健性等级的更高保真度。然而,根据计算量而带来附 加成本。在估计视频水印嵌入的多个所需操作之前,应注意将以下基本计算步骤看作一个操作 系数的比特偏移 两个系数的相加或相减 两个整数的相乘 ,两个系数的比较 访问査找表中的值在以下示例中,C(f,c,l,b,x,y)和C'(f,c,l,b,x,y)分别是针对帧f的彩 色通道c的小波变换等级1上的频带b (0: LL, 1: LH, 2:HL, 3:HH)的在 位置x (宽度)、y (高度)上的原始系数和加水印后的系数。此外, 假设N是需要被修改的最低分辨率等级上的系数个数。为了简单,以下假设在视频水印嵌入期间增加系数值。然而,应 注意在等式中可以将加法等同地替换为减法。如果将每个系数改变相同的量,则因而每个系数仅存在一个操作C(f,c,l,,b,x,y)= C(f,c,l,b,x,y) + a 其中,值"是恒定数字。会需要一个附加比较操作来检查修改后系数 的溢出。因此,总计算需求将会是2申N。然而,以上并不是有效的方法。事实上,如果常数值o过大,则 水印将成为可见的。因此,值a必须是保守的,即必须足够低以使得 水印决不会导致可见伪像,但是另一方面,如果视频水印过于保守, 则可能无法经受住严重的攻击。LL子带系数与本地亮度相对应,而 LH、 HL和HH系数与图像变化或"能量"相对应。公知人眼对于明 亮区域中的亮度(较强的LL系数)改变不太敏感。还对于取决于变 化的强变化区域内的改变不太敏感,这取决于系数LH、 HL和HH。 然而,应当仔细考虑LH和HL系数可以与感知上明显的改变(如边 沿)相对应,这必须小心处理。然而,有利地,与系数(至少对于系数LL和HH)成正比地做出 修改。可以通过复制原始系数、所复制系数的比特偏移、并加或减比 特偏移后的系数,来进行简单的正比修改,例如C'(f,c,l,b,x,y)= C(f,c,l,b,x,y) + bitshift(C,n)n的典型值是7或8。对于n=7或8,将系数修改原始幅度的1/128 或1/256。例如,针对具有1至255范围上的平均亮度128的图像, 系数修改的作用将会是亮度改变1。典型地,这种改变并不创建可见 伪像。每个系数存在两个操作。使用可能的溢出检查,总计算需求将会 是"N,其中N是所处理系数的个数。也应注意,可以利用最小改变"来确保针对具有非常低亮度的帧,足够强地嵌入水印。在这种情况下,每个系数存在三个操作C'(f,c,l,b,x,y)= C(f,c,l,b,x,y) + max(bitshift (C,n),")。另外,可以使用以下感知特征,针对系数做出适应性改变- 时间上下文。时间掩蔽与时间活动性相关,这通过使用先前、 当前和后续帧中的系数来做出最佳估计。本发明使用先前和当前帧的 系数来测量时间活动性。高时间活动性允许较强的水印。针对时间建 模的所估计的计算复杂度大约为四。*纹理上下文。针对每个系数C(f,c,b,U,y),可以使用其他子带 中的另外K个相应的系数来对纹理和平坦度建模,所估计的复杂度是 4f个操作。亮度上下文。可以使用查找表,根据亮度来确定系数C(f,c,b,l,x,y)的权重。所估计的操作是B,其中B是表示亮度值的比特个数。可以对所有感知特征进行加权和均衡,以确定系数的修改 C(f,,c,b,l,x,y),- C(f,c,b,l,x,y)*(l+W)其中,W是组合了所有感知特征的权重。水印嵌入复杂度的粗略估计,其中,为了方便,根据上述操作数来估计复杂度。应注意,操作数可以根据定义操作的精确方式、所实现的加水印和掩蔽过程等而发生改变。然而,可以确定,给定了需要由本发明的方法所访问的相对少量的(图像大小的1/1000数量级)系数和每个系数相对少量的操作,本发明的方法是稳健的并且在计算上 是灵活的。现在参照图7,水印检测通常包括四个步骤视频准备705,属性 值的提取和计算710,比特值的检测715,和嵌入(水印)信息的解码 720。在725执行测试,以确定是否对水印信息成功解码。如果对水印 信息成功解码,则完成该过程。如果没有对水印信息成功解码,则可 以重复上述过程。视频准备本身包括视频内容的縮放或重新采样,视频内容的同步和滤波,如果在嵌入和检测时帧速率的不同的,则必须进行变换后(变 形)的视频的重新采样。通常是这种情况,因为用于嵌入的帧速率是24,同时在检测处可以是例如25 (PALSECAM)或29.97 (NTSC)。 使用线性内插执行重新采样。输出是重新采样后的视频。 典型地,使用高通时间滤波器对重新采样后的视频进行滤波, 以减少由于覆盖内容(cover content)所导致的噪声,并强化水印。输 出是滤波后的视频。 可以使用如上所述的各种方法,进行与原始内容的滤波后视频 的同步,或者如果同步比特嵌入了视频内容,则通过与同步比特的互 相关来进行与原始内容的滤波后视频的同步。典型地,如果使用了非 常低的空间频率,则仅必须进行时间登记。使用全局同步单元(可选 地,与本地同步单元组装在一起)来确定水印序列的起点。在滤波后 的视频和已知同步比特之间执行互相关。典型地,在针对视频的相应 偏移的互相关函数中存在强峰值。现在参照图8,在805,本地同步过 程获取下一本地同步序列/单元。在810获取与下一水印片相对应的视 频部分。在815,将视频部分和本地同步序列/单元互相关。在820定 位互相关的属性值Pl的峰值,在825定位属性值P2的峰值。在830 做出测试,以确定属性值P1是否大于属性值P2加预定值,或者属性 值P1是否小于属性值P2加预定值。如果测试结果为负,则在835拒 绝视频部分。如果测试结果为正,则在840保持视频部分。在845执 行另一测试,以确定是否到达了视频结尾。如果到达了视频结尾,则 完成本地同步过程。如果没有到达视频结尾,则重复本地同步过程。 图9示出了具有两个峰值的互相关函数(实际是幅度的低通滤波版 本),这两个峰值指示了两个连续水印片的起点。 一旦定位了水印片的 起点,则位于每个有效载荷开始处的本地同步单元用于以有规律的间 隔轻微重新排列视频。接下来,12个本地同步单元中的每个与滤波后 视频在期望位置附近的小窗中进行互相关。如果找到了相对强的相关 峰值(由最高峰和第二高峰之差所测得),则为下一步骤保留相邻滤波 后的视频,否则丢弃该滤波后的视频。较强的相关峰是滤波后视频更 加精确同步的指示符。该步骤的输出是同步后的视频。视频准备的三个步骤的输出将在以下表示为^处理后的视频'。 处理后的视频是数据集,该数据集根据所接收到的视频计算得到,以28有利于属性值的提取/计算,这是水印检测的下一步骤。在先前所描述的水印嵌入的一个实施例中,针对每帧计算四个象限中每个的平均亮度。属性值形成了矢量辦"_教*4 (mw^erOamwx 4)。针对使用LL子带加水印的小波水印嵌入,可以从小波或所接收 视频的基带表示中提取属性值。针对这两种情况,获得了大小为^"数 "的处理后的视频。在以上两种方案中,将帧从中点分为四个部分/ 片。尽管可以将该中点自动设为帧的中点(如在原始视频中),但自然 地,在摄像机所捕获的视频中具有一些偏移。使用LH和HL子带来提取和计算针对小波水印嵌入的属性值的 工作略有不同。修改LH系数以可以精确确定的频率来创建色条(色 条是基带视频中等间隔的水平线),至少在任何攻击之前在加水印的视 频中。当使用先前所述的掩蔽模型调整水印能量时,色条并不可见。 因此,可以通过测量该频率中的能量来计算变换后的视频(例如,使 用傅立叶变换)。然而,在视频的摄像机攻击和后续的修剪期间,可以 移动相关频率,其能量在相邻频率上扩散。因此,在相关频率附近的 5*5窗中收集所有帧的能量信号。利用同步比特序列,针对互相关峰 值测试这25个信号中的每个,将具有最高峰值的信号输出作为属性 值。在水印检测阶段,与如何嵌入水印相对应地计算属性值。可以通 过强化以下各项之间和/或之中的关系来嵌入水印 连续帧的属性值; 帧的区域的一个属性值和预定值; 帧的一个区域和相同帧的另一区域的属性值; 帧的一个区域和连续帧的相应区域的属性值。由于属性值也可以是系数值本身,所以可以通过强化以下各项之 间和/或之中的关系来嵌入水印 视频量中的一个系数值和预定值; 帧的一个子带中的一个系数值和连续帧的相应位置和子带上的 其他系数值; 帧的一个子带中的一个系数值和在相同帧的另一子带上的另一系数值;可以在基带和/或变换域帧计算属性值。与水印嵌入相类似,根据 多个属性值之间和/或之中的多个关系来检测多个比特。可以根据顺序来互换水印检测的第一步骤和第二步骤。为了方 便,有利地(如果可以),首先计算属性值,这是因为其导致了数据压 縮(即,将每帧的整个图像数据减小为每帧若干值),这可以适于更加 易于从中读取水印的形式。然而,因为视频的严重失真、尤其是几何 失真,所以不可以总是首先执行属性值的计算。第三步骤接收属性值作为输入,并针对127个编码后比特中的每 个输出最可能的比特值。属性值可以与编码后的127个比特中每个的 多个插入相对应。在根据本发明原理的示例中,其中在12个不同的位 置插入每个比特,可以有多达12个插入,但是如果由于坏本地同步而 丢弃了特定有效载荷单元,则会有少于12个插入。现在参照图10,在1005,针对下一编码后的比特获取不相交的 系数集。在IOIO,针对不相交系数集来计算相关属性值。在1015,根 据所计算的属性值确定最可能的比特值。在1020执行测试,以确定是 否存在任何更多的编码后比特。如果存在任何更多的编码后比特,则 重复上述过程。在图11中描述了示例性累积信号。已经扩展、加密并在内容中的多个位置上插入了编码后的有效载 荷的每个比特。针对每个扩展后的比特,如上所述,典型地通过设置 两个系数集的属性值之间的限制(例如,P(C1)>P(C2))来完成插入。 假设存在N个扩展后的比特,因而有N个这样的插入后的限制,贝lj: Bit=l若针对每个i, P(Cli)〉P(C2i),其中l5i£N Bit = 0若针对每个i, P(Cli)<P(C2i),其中15i5N通常,由于在建立关系的过程中的通道噪声或初始不可能性,所 有关系将不必与所插入的比特一致。解决该问题的最简单的方式是采 用"多数投票"。即,为了选择观察其系数间相应关系的比特,最通常 的Bit=l若P(Cli)〈P(C2i)(l5ilN)的情况数量大于N/2 Bit = 0其他该方式并不会有助于解决N是偶数、且bit=l和bit=0的关系数 量相等的情况。此外,该方式并不会完全利用P(C1)、 P(C2)的信息、 以及可能增加正确确定该关系的可能性的其他信息。更加改进的方式包括给定属性值P(Cli)和P(C2i)的观测,估计所插入的比特值为l、 另一个为o的概率。使用概率性方式来组合分别估计的概率,然后基 于选择了最可能比特的最大似然(ML)准则做出决策。其他准则也是 可以的,如Neyman-Pearson规贝U 。使用在其中选择了最可能比特的ML规则,该决策仅基于属性值。 然后,ML规则陈述了若Prob(Bit=l; P(C11),P(C21)"."P(C1N),P(C2N))> Prob(Bit=0; P(Cll), (C21),…,P(C1N),P(C2N)),则bit = 1使用贝叶斯规则,假设每个比特值是等可能的,则可以将上式重 写为Prob (P(C11),P(C21),…,P(C1N),P(C2N); bit=l)〉 Prob((Cll), P(C21),…,P(ClN),P(C2N);bit喝在比特在内容中的不同伪随机位置上扩展时,可以假设属性值相 对独立。艮P,针对i=l,..,N Prob(P(Cli),P(C2i);bit=l)/Prob(P(Cli),P(C2i);bit=0)>l ,采用以下算法Sum I=1 ,.. ,N (log(Prob(P(C 1 i),P(C2i);bit= 1)- log(Prob(P(C 1 i),P(C2i);bit=0》) >0为了实现该等式,需要导出等式Prob (P(Cli,P(C2i);bit-l)和Prob (P(Cli,P(C2i);bit=l)。这些等式将取决于通道的属性。 一般的技术包括 收集足够的数据来估计该函数。可以使用一些先验知识、或者针对概 率模型的假设(例如系数或噪声遵守高斯分布)。考虑非常特定的情况,其中概率算法与P(Cli)与P(C2i)之差成正 比,针对比特1和比特0对称Log (al* Prob(P(Cli),P(C2i);bit=l》=a2 * (P(Cli)-P(C2i))Log (al* Prob(P(Cli),P(C2i);bit,) = - a2 * (P(Cli)-P(C2i))P(Cli)-P(C2i)) ) >0或者SumI=l,,.,N P(Cli)> SumI=l,..,N P(C2i)针对与简单相关相对应的该特定情况导出的规则,这与扩谱系统中所使用的相类似。然而,该规则由于通常概率将不会以对数方式改 变为该差而不是最佳的。这是本发明的方法可以被视为比基于扩谱的 方法更加通用、更加有效的原因之一。事实上,由于插入限制的特定方式,即取决于原始内容值,证实 概率通常不是单调递增函数。为了证明这一点,执行以下仿真,其中 基于接收信号的观测来比较本发明的基于关系的方式和经典扩谱方式 的比特值估计。产生了原始内容高斯噪声X。将二进制水印W添加至该信号,在 [-I,+ l]中取其值。首先按照以下方式,根据基于限制的概念来添加在二进制水印若X〉al, Y=X 若X<a2, Y=X 否则Yl=X+r*W选择值al=0.5, a2=-0.5, r=0.3。这导致了-15dB的PSNR。 然后,以如下方式将扩谱水印添加至产生的信号 Y2=X+a*W调整参数、'以导致-15dB的相同PSNR。将相同的噪声矢量N添加至两个信号Yl和Y2,以获得2个接收 信号R1=Y1+N和R2=Y2+N。噪声相对于原始内容也具有-10dB的 PSNR。针对两个接收内容R1和R2,假设估计了接收信号值,所嵌 入比特的概率是'l'。在图12中所示的图中绘出了该结果。该差是显 著的如所期望,针对扩谱嵌入,比特为1的估计概率随着接收信号 值线性增加。然而,对于本发明的基于关系的方式,所估计的概率具 有通过最小值然后最大值的非常特定的形状。该形状可以解释如下 当覆盖内容具有高或低值时,很可能不使用它用于嵌入,因而所接收信号与该比特不相关是有逻辑性的
该估计在-0.5和+0.5上最可靠,这是嵌入水印的最小/最大值。 因此,可以推导出,概率的正确估计对于使本发明的方法适当起 作用具有显著的重要性。
在最后的步骤, 一旦估计了编码后有效载荷的127个比特值,便 可以使用BCH解码器对64比特有效载荷进行解码。使用这种代码, 可以从所估计的编码有效载荷值检测出多达IO个误差。如上所述,该 有效载荷包含针对辩论跟踪的各种信息,如数字电影应用中的位置/ 投影仪标识符和时间戳。该信息从解码有效载荷中提取,并允许广泛 使用诸如辩论跟踪到所发生的潜在欺骗。
在最后的步骤中失败的情况下(即,对没有有效的水印信息进行 解码),则可以针对每个步骤,以不同的策略重复上述四个步骤(例如, 在第一步骤中针对视频的最佳同步和登记),直至成功地对水印信息进 行了解码,或达到了这种试验的最大次数。
应当理解,本发明可以例如在服务器或移动设备内,以各种硬件 (例如,ASIC芯片)、软件、固件、专用处理器的各种形式或其组合 来实现。优选地,本发明实现为硬件和软件的组合。此外,优选地, 软件实现为在程序存储设备上切实具体化的应用程序。应用程序可以 上载至包括任何适合结构的机器、并由该机器执行。优选地,在具有 诸如一个或多个中央处理单元(CPU)、随机访问存储器(RAM)和 输入/输出(I/O)接口之类的计算机平台上实现该机器。计算机平台 也包括操作系统和微指令代码。这里所描述的各种过程和功能可以是 由操作系统执行的微指令代码的一部分或应用程序的一部分(或其组 合)。此外,可以将各种其他外设与诸如附加数据存储设备和打印设备 之类的计算机平台连接。
还应理解,由于附图中描述的组成系统组件和方法步骤中的一些 优选以软件实现,所以系统组件之间的实际连接(或处理步骤)可以 依据对本发明进行编程的方式而不同。这里给出示教,相关领域技术 人员将能够预期本发明的这些和类似实现或配置。
权利要求
1、一种用于检测视频图像中的水印的方法,所述方法包括准备信号;提取并计算属性值;检测比特值;以及对有效载荷进行解码,其中所述有效载荷包括通过强化视频量内所述属性值之间的关系而产生并嵌入的比特序列。
2、 如权利要求1所述的方法,其中根据所估计的编码有效载荷 对所述有效载荷进行解码。
3、 如权利要求1所述的方法,其中根据所述视频量的空间域和 变换域之一计算所述属性值。
4、 如权利要求1所述的方法,其中至少一个预定值和所述属性 值之一用于检测所述有效载荷的一个比特。
5、 如权利要求1所述的方法,其中使用所述属性值的至少两个 来检测所述有效载荷的一个比特。
6、 如权利要求1所述的方法,其中根据所述属性值之间或之中 的至少一个关系来检测所述有效载荷的至少一个比特。
7、 如权利要求1所述的方法,还包括根据所述视频量的第一帧 的第一区域计算第一属性值。
8、 如权利要求7所述的方法,还包括根据所述视频量的第二帧 的第一区域计算第二属性值。
9、 如权利要求7所述的方法,还包括根据所述视频量的所述第 一帧的第二区域计算第二属性值。
10、 如权利要求8所述的方法,其中所述第二帧是所述第一帧的 连续帧,并以相同方式分别根据所述第一和所述第二帧计算所述第一 属性值和所述第二属性值。
11、 如权利要求9所述的方法,其中根据所述第一帧的顶部区域 计算所述第一属性值,以及根据所述第一帧的底部区域计算所述第二属性值。
12、 如权利要求8所述的方法,其中根据所述第一帧的顶部区域 计算所述第一属性值,以及根据所述第二帧的顶部区域计算所述第二 属性值。
13、 如权利要求9所述的方法,其中将所述视频量的所述第一帧 从所述第一帧的中点分为四个片。
14、 如权利要求13所述的方法,其中根据所述四个片的第一片计算所述第一属性值,以及根据所述四个片的第二片计算所述第二属 性值。
15、 如权利要求8所述的方法,其中将所述视频量的所述第一帧 从所述第一帧的中点分为四个片,以及将所述视频量的所述第二帧从 所述第二帧的中点相应分为四个片。
16、 如权利要求15所述的方法,其中根据所述第一帧的所述四 个片之一计算所述第一属性值,以及根据所述第二帧的所述四个片中 相应一个计算所述第二属性值。
17、 如权利要求l所述的方法,其中所述提取步骤和所述准备步 骤的顺序能够互换。
18、 如权利要求l所述的方法,其中重复所述步骤。
19、 一种用于检测视频图像中的水印的系统,包括 装置,用于准备信号;装置,用于提取并计算属性值; 装置,用于检测比特值;以及装置,用于对有效载荷进行解码,其中所述有效载荷包括通过强 化视频量内所述属性值之间的关系而产生并嵌入的比特序列。
20、 如权利要求19所述的系统,其中根据所估计的编码有效载 荷对所述有效载荷进行解码。
21、 如权利要求19所述的系统,其中根据所述视频量的空间域 和变换域之一计算所述属性值。
22、 如权利要求19所述的系统,其中至少一个预定值和所述属 性值之一用于检测所述有效载荷的 一个比特。
23、 如权利要求19所述的系统,其中使用所述属性值的至少两 个来检测所述有效载荷的一个比特。
24、 如权利要求19所述的系统,其中根据所述属性值之间或之中的至少一个关系来检测所述有效载荷的至少一个比特。
25、 如权利要求19所述的系统,还包括装置,用于根据所述视频量的第一帧的第一区域计算第一属性值。
26、 如权利要求25所述的系统,还包括装置,用于根据所述视频量的第二帧的第一区域计算第二属性值。
27、 如权利要求25所述的系统,还包括装置,用于根据所述 视频量的所述第一帧的第二区域计算第二属性值。
28、 如权利要求26所述的系统,其中所述第二帧是所述第一帧 的连续帧,并以相同方式分别根据所述第一和所述第二帧计算所述第 一属性值和所述第二属性值。
29、 如权利要求27所述的系统,其中根据所述第一帧的顶部区 域计算所述第一属性值,以及根据所述第一帧的底部区域计算所述第 二属性值。
30、 如权利要求26所述的系统,根据所述第一帧的顶部区域计 算所述第一属性值,以及根据所述第二帧的顶部区域计算所述第二属 性值。
31、 如权利要求27所述的系统,其中将所述视频量的所述第一 帧从所述第一帧的中点分为四个片。
32、 如权利要求31所述的系统,其中根据所述四个片的第一片 计算所述第一属性值,以及根据所述四个片的第二片计算所述第二属 性值。
33、 如权利要求26所述的系统,其中将所述视频量的所述第一 帧从所述第一帧的中点分为四个片,以及将所述视频量的所述第二帧 从所述第二帧的中点相应分为四个片。
34、 如权利要求33所述的系统,其中根据所述第一帧的所述四 个片之一计算所述第一属性值,以及根据所述第二帧的所述四个片中 相应一个计算所述第二属性值。
全文摘要
描述了用于检测视频图像中的水印的方法和系统,包括准备信号;提取并计算属性值;检测比特值;以及对有效载荷进行解码,其中所述有效载荷包括通过强化视频量内所述属性值之间的关系而产生并嵌入的比特序列。
文档编号H04N7/26GK101258753SQ200580051520
公开日2008年9月3日 申请日期2005年9月9日 优先权日2005年9月9日
发明者贾斯廷·皮卡尔, 键 赵 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1