视频水印,作为保护知识产权的重要手段,早已被大众习惯且接受。但是这种方法仍然存在着多方面的不足。对于观众来说,盖在画面一角的logo多少会影响到他们的观赏体验。对于视频所有者来说,这种直接显示在画面上的水印也很容易被定位和攻击。一些厂家为了应对这些攻击,将水印时不时地从随机的方向插入到画面里,从而增加delogo的难度,但这就更进一步降低了观众的观看体验。针对这些问题,隐形水印这门技术被提出并逐渐发展了起来。接下来,本文将分上下篇为读者介绍几种主要的隐形水印技术。
水印都能藏在哪些地方
把水印加到封装结构里
首先,我们用一个最简单的例子来引入一类完全不会修改画面内容的隐形水印,也即封装结构层的水印。这个例子叫图种。一部分读者也许听说过这种东西。在国内版权意识逐渐普及的时期,网络上公开可下载的无授权资源逐渐被封禁,图种开始作为资源传播的手段小范围流行起来。它看上去就是一张普通的jpeg图片,但是下载下来后,zip解压软件居然能对它进行解压,之后就能得到隐藏在图片背后的其他数据。其原理,就是利用了文件的封装结构来隐藏数据。 说得详细一点,jpeg格式的文件,是以一串固定数据(0xFFD9)结尾的[1],而zip格式的文件,也有其固定的起始码(0x04034B50)[2]。通过将一个jpeg文件和一个zip文件直接拼接,就可以产生图种。大部分图片浏览器和解压软件都有对数据首尾位置不正常的情况做兼容,所以它们可以正常处理这类文件。