Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CONTINUOUS VECTOR GRAPH DESCRIPTION-BASED DIGITAL WATERMARKING SYSTEM AND IMPLEMENTATION METHOD
Document Type and Number:
WIPO Patent Application WO/2013/149579
Kind Code:
A1
Abstract:
Disclosed are a continuous vector graphic description-based digital watermarking system and an implementation method. The digital watermarking system comprises a digital watermark generation end and a digital watermark verification end. The digital watermark generation end comprises a digital watermark generation end communication module, a queue module of a vector graph set to be processed, a watermark value code stream generation module, a watermark value code stream sequence module, a digital watermark adding module, a queue module of a vector graph set to be sent, a watermark data memory at the generation end and a time sequence data generation module; and the digital watermark verification end comprises a digital watermark verification end communication module, a queue module of a received vector graph set, a digital watermark information extraction module, an extracted code stream storage module, a digital watermark verification module and a watermark data memory at the verification end. The present invention has the characteristics that a digital watermark can be embedded into a very simple vector graph and can be verified, the embedded data amount is large, the implementation is simple, and various digital watermarks can be implemented.

Inventors:
WANG TAO (CN)
Application Number:
PCT/CN2013/073646
Publication Date:
October 10, 2013
Filing Date:
April 02, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
WANG TAO (CN)
International Classes:
G06T1/00
Foreign References:
CN102663668A2012-09-12
CN101841700A2010-09-22
CN101854546A2010-10-06
US20090136082A12009-05-28
Attorney, Agent or Firm:
GUANGZHOU HUAXUE INTELLECTUAL PROPERTY AGENCY CO., LTD (CN)
广州市华学知识产权代理有限公司 (CN)
Download PDF:
Claims:
权 利 要 求 书

1、 一种基于连续矢量图形描述动画的数字水印系统, 其特征在于, 包括用于向连续矢量 图中添加数字水印数据信息的数字水印生成端 WGT及用于检测连续矢量图中添加的数字水 印数据信息并验证其正确性的数字水印验证端 WVT; 其中, 数字水印生成端 WGT包括数字 水印生成端通信模块 CM-G、待处理矢量图形集队列模块 PVL、水印值码流生成模块 CG、水 印值码流序列模块 WGCL、 数字水印添加模块 WG、 待发送矢量图形集队列模块 SVL、 生成 端的水印数据存储器 DG以及时序数据生成模块 T;数字水印验证端 WVT包括数字水印验证 端通信模块 CM-V、 接收矢量图形集队列模块 RVL、 数字水印信息提取模块 WR、 提取码流 存储模块 WRCL、 数字水印验证模块 WV以及验证端的水印数据存储器 DV;

所述数字水印添加模块 WG分别与待处理矢量图形集队列模块 PVL、水印值码流序列模 块 WGCL、 待发送矢量图形集队列模块 SVL、 生成端的水印数据存储器 DG以及时序数据生 成模块 T连接,数字水印生成端通信模块 CM-G与待发送矢量图形集队列模块 SVL连接,水 印值码流生成模块 CG分别与生成端的水印数据存储器 DG、 水印值码流序列模块 WGCL连 接;

所述数字水印验证端通信模块 CM-V、 接收矢量图形集队列模块 RVL、 数字水印信息提 取模块 WR、提取码流存储模块 WRCL以及数字水印验证模块 WV依次连接, 所述验证端的 水印数据存储器 DV分别与数字水印信息提取模块 WR、 数字水印验证模块 WV连接; 所述数字水印生成端通信模块 CM-G, 用于对添加了数字水印的连续矢量图形描述动画 集进行发送;

所述待处理矢量图形集队列模块 PVL, 用于记录要添加数字水印的原连续矢量图形描述 动画集;

所述水印值码流生成模块 CG,用于按照生成端的水印数据存储器 DG中记录的水印数据 信息和水印值码流生成规则来生成水印值码流, 并存储到水印值码流序列模块 WGCL中; 所述水印值码流序列模块 WGCL, 用于存储、 记录生成的水印值码流, 以便将特定的水 印值添加到特定的连续矢量图形描述动画集中;

所述数字水印添加模块 WG, 用于按添加数字水印的编码规则, 依次修改连续矢量图形 描述动画集中一个或多个图形元素的一个或多个属性值;

所述待发送矢量图形集队列模块 SVL, 用于临时保存已添加了数字水印的连续矢量图形 描述动画集数据序列, 准备发送;

所述生成端的水印数据存储器 DG, 用于存放: (1 ) 从水印数据生成水印码流的算法及 相关计算参数; (2) 码流嵌入数据包规则及计算参数; (3 ) 嵌入范围; (4) 水印数据; (5 ) 嵌入算法及计算参数; (6) 对比矢量图形数据包的选择方式或计算方式; 所述时序数据生成模块 τ, 用于生成时戳或时序序号, 以便将时序信息添加到连续矢量 图形描述动画集数据序列的数字水印中去, 标明矢量图形集的先后顺序关系, 防止重放攻击 或篡改;

所述数字水印验证端通信模块 CM-V, 用于接收连续的矢量图形数据包;

所述接收矢量图形集队列模块 RVL, 用于存储所接收的连续的矢量图形数据包序列; 所述数字水印信息提取模块 WR, 用于从接收的连续矢量图形描述动画数据包序列的图 形元素和属性中提取数字水印信息;

所述提取码流存储模块 WRCL, 用于存储提取出的数字水印码流数据序列;

所述数字水印验证模块 WV, 用于对提取的码流进行分析, 验证所接收的连续的矢量图 形数据包中所提取、 分析出来的数字水印中数据信息是否与验证端的水印数据存储器 DV中 的水印所嵌入并最终要验证的数据信息中的数据信息一致, 并输出验证结果;

所述验证端的水印数据存储器 DV,存放内容与生成端的水印数据存储器 DG存放内容一 致。

2、根据权利要求 1所述的基于连续矢量图形描述动画的数字水印系统, 其特征在于, 所 述数字水印生成端 WGT还包括与待发送矢量图形集队列模块 SVL连接的带水印的连续矢量 图形描述动画文件输出模块 0, 用于将已添加了数字水印的连续矢量图形描述动画集数据存 储到一个存储文件中。

3、一种基于权利要求 1所述基于连续矢量图形描述动画的数字水印系统的基于连续矢量 图形描述动画的数字水印实现方法, 其特征在于, 包括以下步骤:

51、 数字水印生成端与数字水印验证端知识交换: 在一次通信前, 确定嵌入范围、 码流 嵌入数据包规则及嵌入算法, 并在数字水印生成端和数字水印验证端之间进行协商、 交换和 共享;

52、 在数字水印生成端, 准备连续矢量图形描述动画集数据包序列;

53、 在数字水印生成端, 确定传输的水印数据, 并根据它来按由生成端和验证端商定的 参数和商定的算法生成水印码流;

54、 在数字水印生成端, 在矢量图形数据包中按码流嵌入数据包规则嵌入数字水印码流 数据: 对连续矢量图形描述动画数据包序列中当前要嵌入水印的矢量图形数据包, 按照码流 嵌入数据包规则, 在数字水印码流选择码流中的片段或片段的组合, 再按照嵌入范围与嵌入 算法, 修改该数据包中一个或多个图形元素的一个或多个属性, 将数字水印码流数据或数据 片段嵌入; 哪些码流数据嵌入哪些矢量图形数据包、 嵌入哪些属性、 修改属性的方式, 均由 生成端和验证端商定的参数和商定的算法计算来确定, 所述属性包括图形属性和矢量包发送 时间属性; 55、 在数字水印生成端, 在每个矢量图形数据包的发送时序数据所标示时刻, 发送带有 数字水印部分或全部信息的矢量图形数据包;

56、 在数字水印验证端, 接收带有数字水印部分或全部信息的连续矢量图形描述动画数 据包;

57、 在数字水印验证端, 提取连续矢量图形描述动画数据包中属性上的变化值, 计算嵌 入的码流数据: 根据当前接收到的矢量图形数据包, 跟之前收到的矢量图形数据包或之前收 到的多个矢量图形数据包的统计值对比, 提取连续矢量图形描述动画数据包中属性上的变化 值, 计算数字水印码流数据;

58、 在数字水印验证端, 通过汇总收到的数字水印嵌入码流, 提取水印数据;

59、 在数字水印验证端, 验证计算出来的水印数据, 从而验证所接收的连续矢量图形描 述动画数据包序列是否携带了数字水印生成端嵌入数字水印。

4、 根据权利要求 3所述的实现方法, 其特征在于: 所述 S2中的连续矢量图形描述动画 集数据包序列包括一系列单个的矢量图形数据包; 每个矢量图形数据包包括以下数据:

( 1 )、 矢量图形数据包的描述数据;

(2)、 矢量图形数据包的发送时序数据;

( 3 )、 矢量图形数据包的矢量图形内容。

5、 根据权利要求 3所述的实现方法, 其特征在于: 所述 S3、 S4中, 将时间信息、 校验 信息加入码流生成算法中、 嵌入位置确定中和嵌入内容中。

6、 根据权利要求 3所述的实现方法, 其特征在于: 所述 S3、 S4中, 在生成并添加数字 水印时, 使用参数来控制生成的水印码流数据和在连续矢量图形描述动画数据包中的嵌入, 通过参数的变化来使数字水印及其嵌入发生可控变化; 所述 S7、 S8中, 在验证数字水印时, 通过参数来正确提取和验证数字水印数据。

7、 根据权利要求 3所述的实现方法, 其特征在于: 所述 S3中, 所生成的数字水印码流 分散嵌入矢量图形数据包序列中的不同矢量图形数据包中, 或者组合几个水印码流或将全部 码流嵌入一个矢量图形数据包中。

8、 根据权利要求 3所述的实现方法, 其特征在于: 所述 S4中, 在连续矢量图形描述动 画数据包序列中嵌入数字水印码流的方式有两种:

( 1 )、 在将矢量图形数据包序列中的所有单个矢量图形数据包中均加入数字水印码流数 据后, 再依次一个个发送矢量图形数据包, 或将所有数据包放入一个文件;

(2)、 在一个矢量图形数据包中嵌入数字水印码流数据后发送, 随后再进行后续一个矢 量图形数据包的数字水印嵌入并发送。

9、 根据权利要求 3所述的实现方法, 其特征在于: 所述 S4中, 在连续矢量图形描述动 画数据包序列中的一个或多个矢量图形元素的一个或多个图形属性中嵌入一组或多组数字水 印数据, 或者在连续矢量图形描述动画数据包序列中各单个矢量图形数据包的发送时间上嵌 入数字水印数据。

Description:
说 明 书 一种基于连续矢量图形描述的数字水印系统及 实现方法 技术领域

本发明属于一种应用于在计算机信息安全、 网络通信鉴别与认证、 数字版权保护和管理 的实现数字水印的系统和方法, 特别是涉及一种在连续矢量图形描述动画中实 现数字水印的 系统和方法。 背景技术

数字水印(Digital Watermarking)技术是将一些标识信息 (即数字水印)直接嵌入数字载体 当中 (包括多媒体、 文档、 软件等)或是数据的间接表示 (修改特定区域的结构), 且不影响原载 体的使用价值, 也不容易被探知和再次修改, 但可以被水印生产方 (或与生产方合作的其它 方) 识别和辨认。 通过这些隐藏在载体中的信息, 可以达到确认内容创建者、 购买者、 传送 隐秘信息或者判断载体是否被篡改等目的。 数字水印是信息隐藏技术的一个重要研究方向 。 数字水印是实现来源鉴别和版权保护的有效办 法, 是信息隐藏技术研究领域的重要分支。

在一个完整的数字水印系统中: 有一个或以上的数字水印生成端, 负责在原数据 (也称 载体数据) 中秘密地或公开地添加数据水印数据; 有一个或以上的数字水印验证端, 在接收 了含有数字水印数据的载体数据后, 将数字水印数据从载体数据中提取 /分离出来, 并对数字 水印数据正确性、 合法性和来源进行鉴别, 实现数字水印的作用。

数字水印技术基本上具有下面几个方面的特点 :

1、 安全性: 数字水印的信息应是安全的, 难以篡改和伪造, 同时, 应当有较低的误检测 率, 当原内容发生变化时, 数字水印应当发生变化, 从而可以检测原始数据的变更。

2、 水印可见性 /隐蔽性: 根据应用需要, 数字水印可以是可见的、 明显的, 也可以是不 可知觉的。 对不可见水印, 应不影响被保护数据的正常使用; 不会严重影响载体的质量和使 用。

3、 鲁棒性 (也称健壮性): 是指在经历无意或有意的信号处理过程后, 数字水印仍能保 持信息完整性并能被准确鉴别。 但鲁棒性不是数字水印的必须要求。

4、 水印容量: 是指载体在不发生形变的前提下可嵌入的水印 信息量。

目前的数字水印主要是添加在点阵图像中 (如添加到图片、 视频中的数字水印和数字印 章)。 近年来对矢量图中添加数字水印也逐渐进行了 研究。

矢量图 (vector graphics)是指以特定图形类型(如点、 线、 圆、 圆锥体等)及绘图参数(如 坐标、 线宽、 色彩值等) 描述一个图形或图形图像区域的可视特性的图 形数据形式, 或多个 单一矢量图形组成的复合矢量图形一如矢量字 形。例如, 一个二维环形, 只需要描述其圆心、 外环半径、 内环半径、 颜色、 边缘线型、 线宽及边缘颜色, 就可以将其绘制出来; 一个三维 球体, 只需要描述其球心坐标、 球半径、 球颜色、 球面反光度 /透明度。

一个矢量图中会包含多个图形元素 (primitive), 图形元素即是点、 线、 圆、 圆锥体等二维 或三维的、 具有单一绘图规则或算法的绘图单元。 多个图形元素共同组成复合图形。 例如, 一个中国国旗的矢量图, 就由一个红底矩形和 5个不同位置和大小的黄色正五角星形组成。

矢量图形 (包括矢量字形) 目前广泛应用在工程制图、 三维立体模型和相关的数字媒体 艺术作品、 网络矢量图 (如 SVG格式的网络矢量图)、 地理信息系统 /空间信息系统、 数字地 图, 未来还将在计算机远程屏幕输出和展现方面有 进一步应用。

随着矢量图形在计算机和通信领域的广泛应用 , 在矢量图形中加入数字水印就有了需求 和技术实现方案。 但由于描述矢量图形所需的数据量极小, 这个优点反而带来的两个缺点: 难以在极少量的矢量图形数据中添加数字水印 而不被发现 (数字水印的隐蔽性是其常用特 点); 无法提供足够的数据冗余量来保护数字水印数 据不会被篡改和伪造。

因此, 近年来出现的给矢量图形添加数字水印的技术 方案, 都是基于较大的矢量图形数 据量才能实现数字水印的嵌入 (如现有矢量图水印方案都是针对矢量地图、 矢量工程图等有 大量矢量图形元素的矢量图)。

目前的文献和专利中, 都没有很好的解决在极少量的矢量图形数据中 添加数字水印而不 被发现的这个技术问题:

韩国论文:但好像只是 geometry (它是 transform节点下定义形状的,并不是定义变动的 ), 详细看了, 跟帧和动画的状态无关。

几个三维 MESH的水印

以下这几个合并

中国专利(申请号 CN200910238178.9)公开了一种基于运动矢量的视频 印嵌入和提取 方法, 水印嵌入步骤为: 步骤 a, 在编码时, 获取编码端视频帧的第 i个运动矢量 (Xi, Yi); 步骤 b, 根据所述编码端运动矢量 (Xi, Yi)横坐标 Xi与纵坐标 Yi的小数部分的组合关系, 获 取所述编码端运动矢量 (Xi, Yi)的特征向量 (Vli, V2i) ; 步骤 c, 按照修改规则调整所述编码 端运动矢量 (Xi, Yi)的横坐标 Xi或纵坐标 Yi,使得所述编码端运动矢量的特征向量 (Vli, V2i) 的横坐标 Vli、 纵坐标 V2i与将要嵌入的两位水印 Wk, Wk+1相同; 水印提取步骤为: 步骤 d, 在解码时, 获取解码端视频帧的第 i个运动矢量 (Xi, Yi); 步骤 e, 根据所述解码端运动矢 量 (Xi, Yi)横坐标 Xi与纵坐标 Yi的小数部分的组合关系, 获取所述解码端运动矢量 (Xi, Yi) 的特征向量 (Vli, V2i) ; 步骤 f, 提取运动矢量 (Xi, Yi)中的水印信息, 两位水印 Wk, Wk+1 分别为解码端运动矢量 (Xi, Yi)的特征向量 (Vli, V2i)的横坐标 Vli, 纵坐标 V2i。 所公开的 方法, 是以特定的运行矢量 (原文中的 "第 i个运动矢量") 作为嵌入水印数据的对象, 且水 印数据的嵌入并没有与连续矢量图的时序相关 , 嵌入时没有将嵌入的水印数据编制成码流并 嵌入到连续多个矢量图形数据中。

中国专利 (申请号 CN201110056650.4)公开一种信息安全技术领域的基 H.264标准运 动矢量的脆弱性水印嵌入和提取方法, 在 I帧前一个 P帧的运动矢量中选择性地嵌入水印信 息, 水印容量大并且保真度高; 水印信息包含帧号和时间戳, 并使用对称密码算法加密, 使 其具有抗攻击性并可在一定精度上定位视频的 篡改, 且对视频编码比特率影响很小。 但其不 足之处包括: 应用范围限定于对基于 H.264的视频数据中实现脆弱性水印嵌入和提取 法, 且仅能实现脆弱性水印; 该发明是在视频编码中的附加信息嵌入水印, 保护的视频帧而不是 矢量图形数据; 其水印机制不是针对连续矢量图形描述动画中 嵌入连续码流、 由完整的码流 来传输数字水印的。

类似的还有中国专利(申请号为 CN201010170465.3的一种基于 H.264运动矢量的视频水 印嵌入提取方法、 申请号为 CN201010207724.5的基于 MPEG-2标准的实时数字视频水印方 法以及申请号为 CN201010207727.9的基于 H.264标准的实时数字视频水印方法), 都是基于 特定视频压縮标准的数字水印实现方法, 也均为在视频标准中视频编码中的附加信息中 嵌入 数字水印数据。 发明内容

本发明的首要目的在于克服现有技术在矢量图 形添加数字水印方面的缺点和不足, 提出 了一种基于连续矢量图形描述动画的数字水印 系统, 该方法通过在连续矢量图形描述动画中 进行矢量图形参数的连续变化来嵌入编码码流 , 通过嵌入连续矢量图中的连续码流数据来携 带数字水印信息(数字水印数据分布在码流中 各单个编码值之中), 实现了在极少量的矢量图 形数据中添加数字水印, 是对传统矢量图形数字水印方案与相关系统的 革新, 是对计算机图 形图像技术、 信息安全技术、 矢量图形数字版权保护在理论和应用方面的创 新。

本发明的另一目的是提供一种基于连续矢量图 形描述动画的数字水印实现方法, 实现了 在极少量的矢量图形数据中添加数字水印。

本发明通过下述技术方案实现上述首要目的: 一种基于连续矢量图形描述动画的数字水 印系统, 其特征在于, 包括用于向连续矢量图中添加数字水印数据信 息的数字水印生成端 WGT 及用于检测连续矢量图中添加的数字水印数据 信息并验证其正确性的数字水印验证端 WVT; 其中, 数字水印生成端 WGT包括数字水印生成端通信模块 CM-G、 待处理矢量图形 集队列模块 PVL、 水印值码流生成模块 CG、 水印值码流序列模块 WGCL、 数字水印添加模 块 WG、 待发送矢量图形集队列模块 SVL、 生成端的水印数据存储器 DG以及时序数据生成 模块 T; 数字水印验证端 WVT包括数字水印验证端通信模块 CM-V、接收矢量图形集队列模 块 RVL、 数字水印信息提取模块 WR、 提取码流存储模块 WRCL、 数字水印验证模块 WV以 及验证端的水印数据存储器 DV;

所述数字水印添加模块 WG分别与待处理矢量图形集队列模块 PVL、水印值码流序列模 块 WGCL、 待发送矢量图形集队列模块 SVL、 生成端的水印数据存储器 DG以及时序数据生 成模块 T连接,数字水印生成端通信模块 CM-G与待发送矢量图形集队列模块 SVL连接,水 印值码流生成模块 CG分别与生成端的水印数据存储器 DG、 水印值码流序列模块 WGCL连 接;

所述数字水印验证端通信模块 CM-V、 接收矢量图形集队列模块 RVL、 数字水印信息提 取模块 WR、提取码流存储模块 WRCL以及数字水印验证模块 WV依次连接, 所述验证端的 水印数据存储器 DV分别与数字水印信息提取模块 WR、 数字水印验证模块 WV连接; 所述数字水印生成端通信模块 CM-G, 用于对添加了数字水印的连续矢量图形描述动 画 集进行发送;

所述待处理矢量图形集队列模块 PVL, 用于记录要添加数字水印的原连续矢量图形描 述 动画集;

所述水印值码流生成模块 CG,用于按照生成端的水印数据存储器 DG中记录的水印数据 信息和水印值码流生成规则来生成水印值码流 , 并存储到水印值码流序列模块 WGCL中; 所述水印值码流序列模块 WGCL, 用于存储、 记录生成的水印值码流, 以便将特定的水 印值添加到特定的连续矢量图形描述动画集中 ;

所述数字水印添加模块 WG, 用于按添加数字水印的编码规则, 依次修改连续矢量图形 描述动画集中一个或多个图形元素的一个或多 个属性值;

所述待发送矢量图形集队列模块 SVL, 用于临时保存已添加了数字水印的连续矢量图 形 描述动画集数据序列, 准备发送;

所述生成端的水印数据存储器 DG, 用于存放: (1 ) 从水印数据生成水印码流的算法及 相关计算参数; (2) 码流嵌入数据包规则及计算参数; (3 ) 嵌入范围; (4) 水印数据; (5 ) 嵌入算法及计算参数; (6) 对比矢量图形数据包的选择方式或计算方式;

所述时序数据生成模块 T, 用于生成时戳或时序序号, 以便将时序信息添加到连续矢量 图形描述动画集数据序列的数字水印中去, 标明矢量图形集的先后顺序关系, 防止重放攻击 或篡改;

所述数字水印验证端通信模块 CM-V, 用于接收连续的矢量图形数据包;

所述接收矢量图形集队列模块 RVL, 用于存储所接收的连续的矢量图形数据包序列 ; 所述数字水印信息提取模块 WR, 用于从接收的连续矢量图形描述动画数据包序 列的图 形元素和属性中提取数字水印信息;

所述提取码流存储模块 WRCL, 用于存储提取出的数字水印码流数据序列;

所述数字水印验证模块 WV, 用于对提取的码流进行分析, 验证所接收的连续的矢量图 形数据包中所提取、 分析出来的数字水印中数据信息是否与验证端 的水印数据存储器 DV中 的水印所嵌入并最终要验证的数据信息中的数 据信息一致, 并输出验证结果;

所述验证端的水印数据存储器 DV,存放内容与生成端的水印数据存储器 DG存放内容一 致。

优选地, 所述数字水印生成端 WGT还包括与待发送矢量图形集队列模块 SVL连接的带 水印的连续矢量图形描述动画文件输出模块 0, 用于将已添加了数字水印的连续矢量图形描 述动画集数据存储到一个存储文件中。 本发明通过下述技术方案实现上述另一目的: 一种基于连续矢量图形描述动画的数字水 印实现方法, 包括以下步骤:

51、 数字水印生成端与数字水印验证端知识交换: 在一次通信前, 确定嵌入范围、 码流 嵌入数据包规则及嵌入算法, 并在数字水印生成端和数字水印验证端之间进 行协商、 交换和 共享;

52、 在数字水印生成端, 准备连续矢量图形描述动画集数据包序列;

53、 在数字水印生成端, 确定传输的水印数据, 并根据它来按由生成端和验证端商定的 参数和商定的算法生成水印码流;

54、 在数字水印生成端, 在矢量图形数据包中按码流嵌入数据包规则嵌 入数字水印码流 数据: 对连续矢量图形描述动画数据包序列中当前要 嵌入水印的矢量图形数据包, 按照码流 嵌入数据包规则, 在数字水印码流选择码流中的片段或片段的组 合, 再按照嵌入范围与嵌入 算法, 修改该数据包中一个或多个图形元素的一个或 多个属性, 将数字水印码流数据或数据 片段嵌入; 哪些码流数据嵌入哪些矢量图形数据包、 嵌入哪些属性 (包括图形属性和矢量包 发送时间属性)、修改属性的方式,均由生成 端和验证端商定的参数和商定的算法计算来确 定。

55、 在数字水印生成端, 在每个矢量图形数据包的发送时序数据所标示 时刻, 发送带有 数字水印部分或全部信息的矢量图形数据包;

56、 在数字水印验证端, 接收带有数字水印部分或全部信息的连续矢量 图形描述动画数 据包;

57、 在数字水印验证端, 提取连续矢量图形描述动画数据包中属性上的 变化值, 计算嵌 入的码流数据: 根据当前接收到的矢量图形数据包, 跟之前收到的矢量图形数据包或之前收 到的多个矢量图形数据包的统计值对比, 提取连续矢量图形描述动画数据包中属性上的 变化 值, 计算数字水印码流数据;

58、 在数字水印验证端, 通过汇总收到的数字水印嵌入码流, 提取水印数据;

59、 在数字水印验证端, 验证计算出来的水印数据, 从而验证所接收的连续矢量图形描 述动画数据包序列是否携带了数字水印生成端 嵌入数字水印。

优选地,所述 S2中的连续矢量图形描述动画集数据包序列包 一系列单个的矢量图形数 据包; 每个矢量图形数据包包括以下数据:

( 1 )、 矢量图形数据包的描述数据;

(2)、 矢量图形数据包的发送时序数据;

( 3 )、 矢量图形数据包的矢量图形内容。

优选地, 所述 S3、 S4中, 可将时间信息、 校验信息加入码流生成算法中、 嵌入位置确定 中和嵌入内容中, 以实现数字水印防攻击和保护。

优选地, 所述 S3、 S4中, 在生成并添加数字水印时, 使用参数来控制生成的水印码流数 据和在连续矢量图形描述动画数据包中的嵌入 , 通过参数的变化来使数字水印及其嵌入发生 可控变化; 所述 S7、 S8中, 在验证数字水印时, 通过参数来正确提取和验证数字水印数据。

优选地,所述 S3中,所生成的数字水印码流分散嵌入矢量图 数据包序列中的不同矢量 图形数据包中, 或者组合几个水印码流或将全部码流嵌入一个 矢量图形数据包中。

优选地,所述 S4中,在连续矢量图形描述动画数据包序列中 入数字水印码流的方式有 两种:

( 1 )、 在将矢量图形数据包序列中的所有单个矢量图 形数据包中均加入数字水印码流数 据后, 再依次一个个发送矢量图形数据包, 或将所有数据包放入一个文件;

(2)、 在一个矢量图形数据包中嵌入数字水印码流数 据后发送, 随后再进行后续一个矢 量图形数据包的数字水印嵌入并发送。

优选地,所述 S4中,在连续矢量图形描述动画数据包序列中 一个或多个矢量图形元素 的一个或多个图形属性中嵌入一组或多组数字 水印数据, 或者在连续矢量图形描述动画数据 包序列中各单个矢量图形数据包的发送时间上 嵌入数字水印数据。 本发明的作用原理是: 本发明认为, 在单张的矢量图形下嵌入数字水印, 如果所包含的 矢量图形数目少、 总数据量小, 难以嵌入数字水印; 通过坐标修改来嵌入的数字水印容易导 致原矢量图形失真。 而在连续矢量图的情况下, 可以利用连续矢量图中特定或全部矢量图形 在某个或多个图形属性 (颜色、 坐标、 改变时间等) 上的同步或异步变化, 来嵌入数字水印 数据。 通过连续矢量图形描述动画中属性的变化值来 嵌入水印、 通过变化值来验证水印, 是 本发明的原理核心。

本发明认为, 基于传统的、 单张的矢量图形的数字水印实现方法, 难以嵌入大量的水印 数据, 使用受到较大限制, 而基于连续矢量图形描述动画的数字水印实现 方法, 是一种更有 优势的方式, 可以适应极少的矢量图形数据的应用情形, 从而使数字水印技术可以在矢量图 形领域得到进一步应用。

本发明与现有技术相比, 具有如下优点和有益效果:

第一、 可在极简的矢量图中嵌入并验证数字水印: 这是目前的矢量图形数字水印方法所 无法实现的。 本发明所公开的系统和方法, 对即使只有一个矢量图形元素 (例如一个圆或一 个像素点) 的矢量图, 也可以通过对其颜色进行的连续细微改变 (如红色、 蓝色或绿色色彩 值上按编码分别进行相应的加 1、减 1 )来在数字水印生成端嵌入数字水印、在数字 印验证 端验证数字水印。

第二、 嵌入数据量大。 对一个图形元素, 可以分别在颜色、 坐标等属性以及这些属性的 改变时间上嵌入数据。 而图形元素越多, 则嵌入的数据量就成倍的增加。 嵌入的数据量丰富, 使得实现多种数字水印成为可能。

第三、 可以实现多种类型的数字水印: 由于可以利用连续矢量图中特定或全部矢量图 形 在某个或多个图形属性 (颜色、 坐标、 改变时间等) 上的同步或异步变化来嵌入数字水印数 据, 因此可以实现可见水印、 不可见水印、 脆弱性水印、 健壮性水印等各种类型的数字水印。 其中: 可见水印可以通过对可见属性(如颜色、 坐标)随着时间序列进行大比例修改来实现; 不可见水印可以通过随着时间序列对不可见属 性的修改或对可见属性的细微修改来实现; 脆 弱性水印可以通过在矢量图形中所有图形元素 的嵌入同一保密数据或互相印证的保密数据来 实现(这样,攻击者无论修改哪个属性的哪次 取值都会被发现,从而达到脆弱性水印的效果 ); 健壮性水印可以通过在矢量图形中多个图形元 素的嵌入冗余的或互相印证的保密数据来实现 (这样, 攻击者改了一处, 仍然可以从其它图形元素的变化中提取出原来 的水印信息, 从而 达到健壮性水印的效果)。 其它类型或需求的数字水印, 也可以得到实现。

第四、 实现简易性: 本发明公开的基于连续矢量图形描述动画的数 字水印实现方法及系 统, 其原理十分简单, 是利用时间序列下对属性值变化序列的修改和 提取来完成数字水印的 嵌入和验证, 无论用软件还是硬件来实现都是十分简单的。

第五、 在计算机和通信领域的广泛适用性: 由于本发明所提出的方案, 可以在计算机软 件、 硬件中实现, 因此可以在计算机、 网络通信和无线通信、 数字电视、 移动计算、 云计算、 分布式计算等领域进行实现和使用。

第六、 安全性: 本方法可以通过嵌入保密信息来实现防篡改功 能、 通过嵌入时刻信息和 时序信息来实现防重防攻击, 因此具有较高的安全性。 又由于本发明嵌入数据量大, 可以在 多个矢量图形元素的属性嵌入冗余的数据 (一个数据的多个副本或多个不同形式的校验 值), 形成互相验证、 互相保护的体系, 增强保护性。

第七、 兼容性: 如果修改的是矢量图中多个矢量图形元素的多 个坐标值, 且不进行连续 矢量属性的改变, 则本发明所公开的数字水印方法就是现有的静 态矢量地图、 矢量工程图的 数字水印算法。 附图说明

图 1是本发明一种基于连续矢量图形描述动画的 字水印系统的结构方框图;

图 2是本发明一种基于连续矢量图形描述动画的 字水印实现方法的流程图;

图 3 是本发明一种基于连续矢量图形描述动画的数 字水印实现方法中数字水印生成端处 理过程的框架结构图;

图 4是本发明一种基于连续矢量图形描述动画的 字水印实现方法中数字水印验证端处 理过程的框架结构图。 具体实施方式

下面结合实施例及附图, 对本发明作进一步地详细说明, 但本发明的实施方式不限于此。 本发明实现了基于连续矢量图形描述动画的数 字水印系统, 如图 1所示, 包括用于向连 续矢量图中添加数字水印数据信息的数字水印 生成端 WGT及用于检测连续矢量图中添加的 数字水印数据信息并验证其正确性的数字水印 验证端 WVT; 其中, 数字水印生成端 WGT包 括数字水印生成端通信模块 CM-G、 待处理矢量图形集队列模块 PVL、 水印值码流生成模块 CG、水印值码流序列模块 WGCL、数字水印添加模块 WG、待发送矢量图形集队列模块 SVL、 生成端的水印数据存储器 DG以及时序数据生成模块 T;数字水印验证端 WVT包括数字水印 验证端通信模块 CM-V、 接收矢量图形集队列模块 RVL、 数字水印信息提取模块 WR、 提取 码流存储模块 WRCL、 数字水印验证模块 WV以及验证端的水印数据存储器 DV。

所述数字水印生成端通信模块 CM-G, 用于对添加了数字水印的连续矢量图形描述动 画 集进行发送; 所述待处理矢量图形集队列模块 PVL, 用于记录要添加数字水印的原连续矢量 图形描述动画集;所述水印值码流生成模块 CG,用于按照生成端的水印数据存储器 DG中记 录的水印数据信息和水印值码流生成规则来生 成水印值码流, 并存储到水印值码流序列模块 WGCL中;所述水印值码流序列模块 WGCL,用于存储、记录生成的水印值码流 (code stream), 以便将特定的水印值添加到对应的连续矢量图 形描述动画集中。

所述数字水印添加模块 WG, 用于按添加数字水印的编码 (encode)规则, 依次修改连续矢 量图形描述动画集中一个或多个图形元素的一 个或多个属性值。 所述待发送矢量图形集队列 模块 SVL,用于临时保存已添加了数字水印的连续矢 量图形描述动画集数据序列,准备发送。 所述生成端的水印数据存储器 DG, 用于存放: (1 ) 从水印数据生成水印码流的算法及 相关计算参数; (2) 码流嵌入数据包规则及计算参数; (3 ) 嵌入范围; (4) 水印数据; (5 ) 嵌入算法及计算参数; (6) 对比矢量图形数据包的选择方式或计算方式。

所述时序数据生成模块 T,用于生成时戳 (time stamp,是用于标明时刻和时序关系的一种 数据)或时序序号, 以便按照本发明数字水印实现方法中数字水印 算法添加到连续矢量图形描 述动画集数据序列的数字水印中去, 标明矢量图形集的先后顺序关系, 防止重放攻击或篡改。

所述数字水印验证端通信模块 CM-V, 用于接收数字水印生成端通信模块 CM-G发送的 连续的矢量图形数据包; 所述接收矢量图形集队列模块 RVL, 用于存储所接收的连续的矢量 图形数据包序列; 所述数字水印信息提取模块 WR, 用于以商定的形式从接收的连续矢量图 形描述动画数据包序列中商定的图形元素和属 性中提取数字水印信息; 所述提取码流存储模 块 WRCL, 用于存储提取出的数字水印码流数据序列; 所述数字水印验证模块 WV, 用于对 提取的码流进行分析, 验证所接收的连续的矢量图形数据包中所提取 、 分析出来的数字水印 中数据信息是否与验证端的水印数据存储器 DV中的 "水印所嵌入并最终要验证的数据信息 中的数据信息"一致, 并输出验证结果。 所述验证端的水印数据存储器 DV, 存放内容与生 成端的水印数据存储器 DG模块所存放内容一致。

在本实施例中,数字水印生成端还包括带水印 的连续矢量图形描述动画文件输出模块 0, 用于将已添加了数字水印的连续矢量图形描述 动画集数据存储到一个存储文件中, 以便以后 再进行播放和验证。 带水印的连续矢量图形描述动画文件输出模块 0为可选部件, 适合于生 成带水印的矢量图形作品的应用场景 (例如带水印的二维 /三维动画源文件等)。

上述数字水印生成端和数字水印验证端均可以 作为一个独立系统, 也可以作为其它系统 的组成部分而存在; 无论哪种, 均不应破坏对本发明的保护。

上述各模块的处理功能, 可以用软件、 硬件、 固件、 可编程芯片等方式实现, 如果用固 件中的微程序来实现, 则另外需要一个模块或部件来执行这些微程序 (如下面实施例中所说 的 "DSP芯片")。

由于是利用连续矢量图形描述动画来传输数字 水印, 因此本方案无法用在静态的矢量图 形内容 (包括无法用到以打印、 喷涂等形式对矢量图形进行物理处理后获得的 产物) 上进行 数字水印嵌入和验证。 下面以下述实施例, 详细说明应用上述系统实现的具体过程, 流程如图 2所示:

(在下面的实施例描述中, 未加水印的矢量图形数据包内容用 V表示, 而已加水印的用 v' 表示) 实施例 1

本实施例描述本发明最简单的实施方式, 即矢量图中只有一个圆的情况下的实施方式, 包括以下步骤:

51、 数字水印生成端与数字水印验证端知识交换: 在一次通信前, 确定嵌入范围与嵌入 规则、 嵌入算法等数字水印, 并在数字水印的生成端和数字水印的验证端之 间进行协商、 交 换和共享信息。

52、 在数字水印生成端, 准备连续矢量图形描述动画集数据序列 (即未加水印的序列); 连续矢量图形描述动画集数据包序列包括一系 列单个的矢量图形数据包。 每个矢量图形 数据包应包括以下数据:

( 1 )、 矢量图形数据包的描述数据: 如序列号、 来源等;

(2)、 本矢量图形数据包的发送时序数据: 这个数据表明本矢量图形数据包的发送时间 或时序 (在第几位发送);

(3 )、 本矢量图形数据包的矢量图形内容: 这是一个列表数据, 包括本矢量图形数据包 中的一个或多个图形元素的相关参数, 包括: 矢量图形类型、 矢量图形参数。

数字水印嵌入主要是在 (2) "发送时序数据"及 (3 ) 中 "矢量图形参数"中进行修改来 实现嵌入。 在实施中, 并不要求在发送第一个矢量图形数据包之前, 就将所有要发送的矢量 图形数据包都准备好或生成好; 矢量图形数据包可以是不断出现、 不断添加水印、 不断发送 的。

在本实施例中, 从数字水印的生成端要传输的、 原始的连续矢量图数据包序列为 V= {vi,v 2 ,..., Vl }, 其中 i£N, N为自然数集合。

本实施例中, 对所有

Vi= {

package—info ={序号 =i, 来源 = "xxx", ...}

ti=2012-12-12 19:21 :54 000+25 *i;

//表示从 2012-12-12 19:21 :54秒开始, 每隔 25毫秒发送一个矢量图形数 据包

=圆{圆心 =(200+i,100);半径 =100; 颜色 =RGB(182,38,231); ...} 从上述内容可知,连续矢量图形描述动画数据 包序列的播放内容是一个不断向右移动的、 颜色为 RGB(182,38,231)的圆形。

53、 如图 3所示, 在数字水印生成端, 确定传输的水印数据, 并根据水印数据生成水印 码流; 在步骤 S3中, 从水印数据生成水印码流的算法为: 按"水印数据各分量值 -临时参数值 = 水印码流分量", 并在每个码流分量后加一个校验值进入码流( 校验值为每个码流分量值的平 方); 相应的, 从水印码流计算水印数据的算法为: 在计算中的码流中取第 1、 3、 5、 7个码 流, 对这 4个码流按以下算法计算: 水印码流分量 +临时参数值 =原水印数据分量。 本实施例 中, 在数字水印的生成端要嵌入连续矢量图形描述 动画中传输的数据为 m=(3,4,l,3), 计算水 印码流的过程中有使用临时参数,临时参数值 k e y sessi n =2,所获得的最终码流为 ( Cl , c 2 , c 3 , c 4 ,c 5 , c 6 , c 7 , c 8 )= (-1,1, -2,4, 1,1,-1,1)。

水印数据是指要从生成端通过数字水印传输到 验证端的完整的信息或数据。 水印码流是 指: 将原来要进行嵌入的、 完整的水印数据, 按一定算法转换生成的码流 (code stream), 这个 码流是分散在连续矢量图形描述动画中各个帧 中, 是对连续矢量图形描述动画数据包中属性 的修改值或变化值, 是水印数据的载体。 如果嵌入的水印数据比较简单, 则可以不编制水印 码流而直接嵌入该水印数据。

例如: 要传输的是水印数据是 29, 在嵌入和传输水印的过程中, 不是直接传输 29, 而是 传输 29的二进制数 (29 十进制 =11101 二进制) 在连续矢量图形描述动画序列对某个图形元素 原来 没有改变的颜色值进行微小修改, 使其连续两个帧中的颜色变化值为 (11101 ), 如可以将原 来颜色为 RGB (232, 122, 49) 的图形颜色中绿色 (G)连续改变成 (122, 123, 124, 125, 125, 126), 这个连续序列中变化值就嵌入了 11101的码流。

在生成码流的算法中, 可以加入时间信息、 校验信息, 从而提高数字水印的安全性、 可 靠性。

从水印数据生成水印码流的过程中, 可以使用计算参数来使计算结果出现可控变化 (类 似加密过程中的密钥)。相关计算参数应只在 数字水印生成端和验证端之间共知, 不应有第三 方得知。 若采用这种方式, 则相应的计算参数也需要在通信前在生成端和 验证端之间进行交 换和共享。

生成码流的作用是: (1 ) 将水印数据切割为许多分量, 分散到多个矢量图形数据包的多 个图形元素的属性修改中, 减少对原矢量图形的属性的改变, 以便嵌入不可见水印; (2) 将 码流的不同部分分别嵌入矢量图形数据包中的 不同地方, 可以互相验证、 互相保护, 提高本 发明的水印数据安全性。

所生成的数字水印码流,可以分散嵌入矢量图 形数据包序列中的不同矢量图形数据包中, 也可以组合几个或将全部码流嵌入一个矢量图 形数据包中。这由 S1中的码流嵌入数据包方案 来决定。

由于码流中的各个片段, 可以分别或组合放到一个或多个矢量图形数据 包中, 那么只要 通过连续矢量图形描述动画数据包 (例如 5个数据包) 收集到了所有码流片段, 就可以完成 从这 5个数据包中获得完整码流并提取水印数据。 最极端情况, 只需要两个连续矢量图形描 述动画数据包, 就可以完整实现数字水印的嵌入和验证 (但两个数据包, 也是可能的最少数

54、 在数字水印生成端, 在矢量图形数据包中按码流嵌入数据包规则嵌 入数字水印码流 数据;

在步骤 S4中, 码流嵌入数据包规则为: 每 9个矢量图形数据包为一组 (第一组为 Vl ,v 2

V3, V4,V 5 , V 6 , W, V 8 ,V 9 ), 上述 8个码流 (包括检验值) 分别依次嵌入 8个矢量图形数据包中; 嵌入算法为对相应的属性做加法; 嵌入范围是: 嵌入所有矢量图形数据包中所有矢量图形元 素的颜色属性中的红色分量。

对本实施例中的矢量图形数据包, 按照所述码流嵌入数据包规则在连续 9个矢量图形数 据包中修改属性, 使连续两个矢量图形数据包的特定属性 (圆的颜色的红色分量) 之间的变 化值符合最终码流 (c c 2 , c 3 , c 4 ,c 5 , c 6 , c 7 , c 8 )= (-1,1, -2,4, 1,1, -1,1)的变化序列。 最终经过修改的 特定属性(圆的颜色的红色分量)取值变化序 列为: ( Vl ' ,ν 2 ' ,ν 3 ' ,ν 4 ' ,ν 5 ' ,ν 6 ' ,ν 7 ' ,ν 8 ' , ν 9 ' ); 圆 ι.颜色.红色 =(182, 181, 182, 180,184, 186, 186, 185, 186), 后一取值对比前一取值的 变化值为(0,-1,1,-2,4, 1,1, -1,1)。

在嵌入水印的实现中, 可以在嵌入位置、 嵌入内容上加入时间信息、 校验信息, 从而提 高数字水印的安全性、 可靠性。

这里, 在连续矢量图形描述动画数据包序列中嵌入数 字水印码流的方式有两种:

(1)、 等全部数据包嵌入后水印码流后, 成队依次发送: 可将矢量图形数据包序列中的 所有单个矢量图形数据包中均加入数字水印码 流数据后, 再依次一个个发送矢量图形数据包

(或将所有数据包放入一个文件)。

(2)、 一个数据包嵌入后水印码流后, 立刻单个发送: 可在一个矢量图形数据包中嵌入 数字水印码流数据后发送, 随后再进行后续一个矢量图形数据包的数字水 印嵌入。

55、 在数字水印生成端, 发送带有数字水印的矢量图形数据包: 在数字水印的生成端, 在时刻 v q ' .t q 发送 Vq ' 到数字水印的验证端。 贝 lj( Vl ' ,ν 2 ' ,ν 3 ' ,ν 4 ' ,ν 5 ' ,ν 6 ' ,ν 7 ' ,ν 8 ' , ν 9 ' ,…, ν 200 ' Μ衣次在起始时间后的 25, 50,...,5000毫秒时刻被发送出去。发送矢量图 形数据 包时按顺序和发送时间发送。

56、 如图 4所示, 在数字水印验证端, 接收带有数字水印的矢量图形数据包: 在数字水 印的验证端, 收到 P' = ίνι' ,ν 2 ' ,ν 3 ' ,ν 4 ' ,ν 5 ' ,ν 6 ' ,ν 7 ' ,ν 8 ' ,ν 9 ' ,…, ν 200 ' }。

57、 在数字水印验证端, 提取连续矢量图形描述动画数据包中属性上的 变化值, 计算嵌 入的码流数据。

在本实施例中, 根据嵌入范围与嵌入规则 "所有矢量图形数据包中所有矢量图形元素的 颜色属性中的红色分量",并根据对比矢量图 数据包选择或生成方式为 "每个矢量图形数据 包与之前一个矢量图形数据包进行对比 (即计算 Vq ' 与 Vq 在嵌入范围与嵌入规则属性上 的差异) ", 从连续的 v q+1 ' - v q ' = A v q ' 算出 A v q ' 及圆 1颜色属性的变化值 A v q ' . e ql .颜色 的变化值依次为 (0,-1,1, -2,4, 1,1, -1,1)。 因此嵌入的水印码流为 (-1,1, -2,4, 1,1, -1,1)。

这里, 变化值的提取, 可以在当前收到的矢量图形数据包与它之前紧 邻的 (即 Vq和 Vq-i 之间) 进行对比来提取, 也可以在当前收到的矢量图形数据包与之前收 到的某个矢量图形数 据包或多个矢量图形数据包的统计值进行对比 来提取。

矢量图形属性的变化值在数字水印数据嵌入与 验证中的核心作用, 体现了: 本发明是根 据每个矢量图形数据包上的属性值与之前的矢 量图形数据包上参数的变化值来嵌入数字水印 数据。 这是本发明的核心特征。

58、 在数字水印验证端, 通过汇总收到的数字水印嵌入码流, 提取水印数据。

在本实施例中, 根据从水印码流计算水印数据的算法"通过获 的 ( Cl , c 2 , c 3 , c 4 ,c 5 , c 6 , c 7 , c 8 )= (-1,1, -2,4, 1,1, -1,1), 算出有意义的水印码流为 c= (-l,-2, 1,-1)。 再根据从水印码流计算 水印数据的算法, 并根据临时参数值为 2, 提取出原水印数据为 m=(3,4,l,3)。

59、 在数字水印验证端, 进行数字水印验证: 在实施例中, 从接收的连续矢量图形描述 动画数据包中计算出来的 m=(3,4,l,3), 根据发送端和验证端之间约定的 "嵌入并验证的水印 数据" m=(3,4,l,3), 可以确认在连续矢量图形描述动画中传输过来 的数据 m (以及所有矢量 图形) 是来自数字水印的生成端 (进行数据来源和通信对象的鉴别和认证)。

说明: 这里, m=(3,4,l,3)可以替换成公司的名称、 商标注册号等证明信息, 从而实施数 字水印和数字版权保护; 由于临时参数是保密的, 攻击者即使知道水印嵌入算法, 也无法篡 改上述矢量图形内容中的水印嵌入属性 (一旦篡改上述矢量图形的颜色并影响了水印 , 则篡 改就会被发觉); 本实施例实现的是脆弱性水印, 并且没有加入时序数据(所以本实施例无法 防止重放攻击); 在单独一个图形元素上进行数字水印嵌入和验 证, 是现有方法无法完成的功 能。

步骤 S3、 S4中, 在嵌入码流的生成中、在将水印码流嵌入连续 矢量图形描述动画数据包 的属性中, 将时间信息、 校验信息加入码流生成算法中、 嵌入位置确定中和嵌入内容中, 从 而提高数字水印的安全性、 可靠性。

在本实施例中, 需要数字水印生成端与数字水印验证端双方共 享的信息包括:

1、 要嵌入并验证的水印数据 m= (3,4,l,3);

2、 在 S3中, 从水印数据生成水印码流的算法和从水印码流 计算水印数据的算法;

3、 在 S4中使用的码流嵌入数据包规则、 嵌入范围与嵌入规则;

4、 嵌入算法为对相应的属性做加法; 5、 对比矢量图形数据包选择或生成方式。

上述通信双方共享的信息中, 第 1、 2项要嵌入并验证的水印数据、 从水印数据生成水印 码流的算法和从水印码流计算水印数据的算法 水印数据) 这些数据需严格保密, 不应泄露给 第三方; 第 3、 4、 5项必要时可公开 (当然为了保密和安全, 不公开更好)。

本实施例中, 每收到连续 9个矢量图形数据包, 就可以完成一轮数字水印的验证。 实施例 2

本实施例描述以时间间隔作为嵌入水印数据的 方式, 且相关的处理功能用固件芯片形式 实现。 固件芯片 EPROM采用 INTEL 82802AA芯片; 相关的指令执行机构为 DSP芯片 (采 用得州仪器 (Ή) 公司的 C5402 DSP芯片)。

51、 数字水印生成端与数字水印验证端知识交换;

52、 在数字水印生成端, 准备连续矢量图形描述动画集数据序列 (即未加水印的序列): 在本实施例中, 从数字水印的生成端要传输的、 原始的连续矢量图数据包序列为 V=

{vi,v 2 ,..., Vl } (i E N, N为自然数集合)。

本实施例中, 对所有

Vi= {

package_info={序号 =i, 来源 = "xxx", ...}

ti=2012-12-12 19:21 :54 000+25 *i;

//表示从 2012-12-12 19:21 :54秒开始, 每隔 25毫秒发送一个矢量图形数 据包

¾1=环 {圆心 =(200,100) ;外圆半径 =100+i; 内 圆半径 =80+i; 颜色 =RGB(182,38,231); ...}

¾=矩形{四边坐标(上下左右)=(200,300,0,200 ) ;颜色=1^8(0,0,0); ...}

从上述内容可知, 连续矢量图形描述动画数据包序列的播放内容 是一个不断扩大的环形 和一个不动的矩形。

53、 在数字水印生成端, 确定传输的水印数据, 并根据它来编制成水印码流: 本实施例中, 在数字水印生成端要嵌入连续矢量图形描述动 画中传输的数据为 (90,72,79,78, 71,71,85,79), 所使用的、 计算水印码流的临时参数值为 66, 按生成码流算法, 所获得的最终码流为 (c c 2 , c 3 , c 4 ,c 5 , c 6 , c 7 , c 8 )= (24,6, 13,12, 5,5, 19,13)。

54、 在数字水印生成端, 在矢量图形数据包中按规则嵌入数字水印码流 数据: 对本实施例中的矢量图形数据包, 按照码流嵌入数据包规则在分别相隔 (24,6, 13,12, 5,5, 19,13)的矢量图形数据包 (即在第 25、 31、 44、 56、 61、 66、 85、 98个矢量图形数据包上修 改属性), 并按嵌入范围和嵌入规则修改属性值。 最终经过修改的特定属性取值变化序列为:

25 ' , ν 3 ι' , ν 44 ' , ν 56 ' ,ν 6 ι' , ν 66 ' , ν 85 ' , ν 98 ' ). .=( 2012-12-12 19:21:54 000+25 *i+25*c n ), 与其它的矢量图形数据包不同。

且 (ν 25 ' , ν 3 ι' , ν 44 ' ,ν 56 ' ,ν 61 ' ,ν 66 ' ,ν 85 ' , ν 98 ' ).e .颜色.红色 =原红色分量 ±1。 对其它 i不属于 25、 31、 44、 56、 61、 66、 85、 98的取值, 则 v q ' = v q (即不做修改)。

55、 在数字水印生成端, 发送带有数字水印的矢量图形数据包: 在数字水印生成端, 在 时刻 v q ' .t q 发送 Vq ' 到数字水印验证端, 则 ( Vl ' , ν 2 ' , ν 3 ' , ν 4 ' ,ν 5 ' , ν 6 ' , ν 7 ' , ν 8 ' , ν 9 ' , ···, ν 200 ' Μ衣次在设定的时刻被发送出去。

56、 在数字水印验证端, 接收带有数字水印的矢量图形数据包: 在数字水印验证端, 收 至 IJV' = {νι' , ν 2 ' , ν 3 ' , ν 4 ' ,ν 5 ' , ν 6 ' , ν 7 ' , ν 8 ' , ν 9 ' , ···, ν 20 ο' }°

57、 在数字水印验证端, 提取连续矢量图形描述动画数据包中属性上的 变化值, 计算嵌 入的码流数据:

在本实施例中, 对比矢量图形数据包选择或生成方式为 "每个矢量图形数据包与之前一 个矢量图形数据包进行对比", 根据嵌入范围与嵌入规则 "所选定的矢量图形数据包中所有矢 量图形元素的颜色属性中的红色分量发生修改 "和 "发送时间与预期时间有差距", 从连续的 v q+ !' - v q ' =A Vq ' 判断颜色属性的变化值, 检索出第 25、 31、 44、 56、 61、 66、 85、 98个 矢量图形数据包应被嵌入数字水印, 并根据码流嵌入数据包规则为 "每相隔 .,c ^的数 据包中,修改矢量图中所有图形元素指定属性 的属性值",计算出原来的码流为 (24,6, 13,12,5,5, 19,13)。

58、 在数字水印验证端, 通过汇总收到的数字水印嵌入码流, 提取水印数据:

在本实施例中, 根据从水印数据生成水印码流的算法, 通过获得的 ( Cl , c 2 , c 3 , c 4 ,c 5 , c 6 , c 7 , c 8 )= (24,6, 13,12,5,5, 19,13),。再根据从水印码流计算水印数据的算 法", 并根据临时参数值为 66, 算出原水印数据为 m=(90,72,79,78, 71,71,85,79)。

59、 在数字水印验证端, 进行数字水印验证: 在实施例中, 从接收的连续矢量图形描述 动画数据包中计算出来的 (90,72,79,78, 71,71,85,79), 根据数字水印发送端和数字水印验证端 之间约定的嵌入并验证的水印数据 m= (90,72,79,78, 71,71,85,79), 可以确认在连续矢量图形 描述动画中传输过来的水印数据 m (以及所有矢量图形) 是来自数字水印生成端 (进行数据 来源和通信对象的鉴别和认证)。

补充说明: 本实施例中传输的 "ZHONGGUO"字符串, 完全可以代之以任何一个公司 的名称, 从而在矢量播放内容中嵌入原始来源信息, 从而实现数字版权保护。 在本实施例中, 需要数字水印生成端和数字水印验证端双方共 享的信息包括:

1、 要嵌入并验证的水印数据: 本实施例中为 (90,72,79,78, 71,71,85,79), 转换成 ASCII码 为 "ZHONGGUO"。

2、 在 S3中, 从水印数据生成水印码流的算法为: 按 "水印数据各分量值 -临时参数值 = 水印码流分量"; 相应的, 从水印码流计算水印数据的算法为: 按 "水印码流分量 +临时参数 值=原水印数据分量"。 本实施例中, 计算水印码流的过程中有使用临时参数, 临时参数值为 66。

3、 在 S4 使用的码流嵌入数据包规则: 设水印码流结果为 {cl,c2,..., cn }, 则在每相隔 {cl,c2,..., Cn }的数据包中, 修改矢量图中所有图形元素指定属性的属性值 (只要出现修改即 可)。

4、 在 S4要使用的嵌入范围与嵌入规则: 嵌入所选定的矢量图形数据包中所有矢量图形 元素的颜色属性中的红色分量, 该数据包的该红色分量发生修改; 同时, 修改该矢量图形数 据包的发送时间数据。

5、 嵌入算法为: 对颜色, 对相应的颜色分量做加法或减法; 对发送时间, 相应的矢量图 形数据包的"发送时序数据 "增加 c n *25毫秒(即控制出现相应的延迟),这里 c n 为码流分量。

6、对比矢量图形数据包选择或生成方式为: 每个矢量图形数据包与之前一个矢量图形数 据包进行对比 (即计算 v q ' 与 Vq 在嵌入范围与嵌入规则属性上的差异)。

本实施例中, 要收集到第 98个矢量图形数据包后, 才能完成数字水印的验证。 实施例 3

本实施例中, 在连续两个矢量图形数据包之间实现数字水印 嵌入。 由于本发明所提出的 数字水印嵌入方法是要基于矢量图形数据包之 间属性上的修改和比较来实现, 因此, 两个矢 量图形数据包是本发明实现数字水印的最低数 量要求。

51、 数字水印生成端与数字水印验证端知识交换;

52、 在数字水印生成端, 准备连续矢量图形描述动画集数据序列 (即未加水印的序列): 在本实施例中, 从数字水印生成端要传输的、 原始的连续矢量图数据包序列为 V=

{vi,v 2 ,..., Vl }, i≡N, N为自然数集合。

本实施例中, 仅对第 1、 第 2个矢量图形数据包进行水印嵌入和验证演示

Vi= {

package_info={序号 =i, 来源 = "xxx", ...}

ti=2012-12-12 19:21 :54 000 +25*i;

//表示从 2012-12-12 19:21 :54秒开始, 每隔 25毫秒发送一个矢量图形数 据包

ei_i= =圆{圆心 =(200,100+i);半径 =100; 颜色 = =RGB(182,38,231); ...} ei- 2 = =圆{圆心 =(260+i,100);半径 =45; 颜色 = =RGB(182,38,231); ...} ei_3= =圆{圆心 =(100+2*i,120+0.6*i) ;半径 =23; 颜色 = =RGB(182,38,231); ...} ei_4= =圆{圆心 =(300,340-i);半径 =91; 颜色 = =RGB(182,38,231); ...} ei- 5 = =圆{圆心 =(220,60);半径 =66; 颜色 = =RGB(182,38,231); ...} 从上述内容可知, 本实施例中连续矢量图形描述动画数据包序列 的播放内容是一系列移 动的、 不同大小的圆形 (但其颜色值一样)。

53、 在数字水印生成端, 确定传输的水印数据, 并根据它来生成水印码流:

本实施例中, 按水印数据生成水印码流的算法, 在数字水印生成端要嵌入的水印数据及 最终码流均为(3,9,2,1,5)。

54、 在数字水印生成端, 在矢量图形数据包中按规则嵌入数字水印码流 数据:

对本实施例中的矢量图形数据包, 按照码流嵌入数据包规则在第 2个矢量图形数据包嵌 入水印(一次性将码流各分量全部嵌入一个矢 量图形数据包中), 并按嵌入范围和嵌入算法修 改属性值。 最终经过修改的 v 2 数据包为:

ν 2 ' = {

package_info={序号 =2, 来源 ="xxx", ...}

ti=2012-12-12 19:21 :54 025; 〃表示从 2012-12-12 19:21 :54 025毫秒发送 圆心 =(200,100+2) ;半径 =100; 颜色 =RGB(185,38,231); ...}

6 1-2 =圆{圆心 =(260+2,100) ;半径 =45; 颜色 =RGB(182,47,231); ...}

61 -3 =圆{圆心 =(100+2*2,120+0.6*2);半径 =23;颜色 =RGB(182,38,233); ...} 61—4=圆{圆心 =(300,340-2) ;半径 =91; 颜色 =RGB(183,38,231); ...}

6 1-5 =圆{圆心 =(220,60) ;半径 =66; 颜色 =RGB( 182,43,231); ...} 而其它的 v q ' = v q (即不做改变)

55、 在数字水印生成端, 发送带有数字水印的矢量图形数据包: 在数字水印生成端, 在 时刻 v q ' . t q 发送 Vq ' 到数字水印验证端。 则 ( Vl ' , ν 2 ' , ν 3 ' , ν 4 ' ,ν 5 ' , ν 6 ' , ν 7 ' , ν 8 ' , ν 9 ' , ···, ν 200 ' Μ衣次在设定的时刻被发送出去。

56、 在数字水印验证端, 接收带有数字水印的矢量图形数据包: 在数字水印验证端, 收 至 IJ V' = {νι ' , ν 2 ' , ν 3 ' , ν 4 ' ,ν 5 ' , ν 6 ' , ν 7 ' , ν 8 ' , ν 9 ' , ···, V200 ' } °

57、 在数字水印验证端, 提取连续矢量图形描述动画数据包中属性上的 变化值, 计算嵌 入的码流数据: 在本实施例中, 对比矢量图形数据包选择或生成方式为 "每个矢量图形数据 包与之前一个矢量图形数据包进行对比", 根据嵌入范围与嵌入规则 "所选定的矢量图形数据 包中所有矢量图形元素的颜色属性中的红色分 量发生修改"和"发送时间与预期时间有差距", 从连续的 ν 2 ' - Vl ' = Δ ν 2 ' 判断颜色属性的变化值, 检索出:

Δ ν2 , = {

A ew.颜色.红色 =3;

Δ ei _ 2 .颜色.绿色 =9;

ei _ 3 .颜色.蓝色 =2;

A ei _ 4 .颜色.红色 =1;

Δ ei _ 5 .颜色.绿色 =5; 并根据嵌入范围、 嵌入规则和嵌入算法, 可计算、 提取出原来的码流为 m=(3,9,2,l,5)。

58、 在数字水印验证端, 通过汇总收到的数字水印嵌入码流, 提取水印数据: 在本实施 例中, 根据从水印码流计算水印数据的算法, 可知原水印数据为 m=(3,9,2,l,5)。

59、 在数字水印验证端, 进行数字水印验证: 在实施例中, 从接收的连续矢量图形描述 动画数据包中计算出来的 m=(3,9,2,l, 5), 根据数字水印发送端和数字水印验证端之间约 定的 嵌入并验证的水印数据 m=(3,9,2,l,5), 可以确认在连续矢量图形描述动画中传输过来 的水印 数据 m (以及所有矢量图形) 是来自数字水印生成端 (进行数据来源和通信对象的鉴别和认 证)。

这里, 通过在数字水印中添加冗余数据、 时序数据, 可以判断接收到的矢量图形包有无 被篡改、 重复发送。

在本实施例中, 需要双方共享的信息包括:

1、 要嵌入并验证的水印数据 m=C3,9,2,l,5)。

2、在 S3中,从水印数据生成水印码流的算法为:按" 水印数据各分量值 =水印码流分量"; 相应的, 从水印码流计算水印数据的算法为: 按 "水印码流分量原水印数据分量"。 也即, 水 印码流即原水印数据, 不做任何转换和处理。

3、 在 S4使用的码流嵌入数据包规则: 按嵌入的水印码流各分量值, 对第二个矢量图形 数据包, 依次修改按顺序排列的各图形元素指定属性的 属性值。

4、 在 S4要使用的嵌入范围与嵌入规则: 修改指定数据包中指定矢量图形元素的颜色值 的分量, 在第 i个图形元素上, 修改第 (i mod 3 ) +1个颜色分量 (红绿蓝分别第 1、 2、 3个分

5、 嵌入算法为: 对相应的属性做加法。 6、对比矢量图形数据包选择或生成方式为: 每个矢量图形数据包与之前一个矢量图形数 据包进行对比 (即计算 Vq ' 与 Vq 在嵌入范围属性上的差异)。 实施例 4

本实施例中, 实现脆弱性水印: 所有序列中某些图形的某些属性变化值 /变化次数的总和 是一定值, 而这个值就是要传的水印数据。

51、 数字水印生成端与数字水印验证端知识交换;

52、 在数字水印生成端, 准备连续矢量图形描述动画集数据序列 (即未加水印的序列): 在本实施例中, 从数字水印生成端要传输的、 原始的连续矢量图数据包序列为 V=

{vi,v 2 ,..., Vl }, i≡N, N为自然数集合。

本实施例中, 对所有

Vi= {

package_info={序号 =i, 来源 = "xxx", ... }

ti=2012-12-12 19:21 :54 000+25 *i;

//表示从 2012-12-12 19:21 :54秒开始, 每隔 25毫秒发送一个矢量图形数 据包

¾1=环 {圆心 =(200,100) ;外圆半径 =100+i; 内 圆半径 =80+i; 颜色 =RGB(182,38,231); ... } 从上述内容可知,连续矢量图形描述动画数据 包序列的播放内容是一个不断扩大的环形。 要注意的是, 每一帧中, 原来就要求的属性改变有 2次。

53、 在数字水印生成端, 确定传输的水印数据, 并根据它来生成水印码流:

本实施例中, 在数字水印生成端要嵌入连续矢量图形描述动 画中传输的数据为 6, 所使 用的、 计算水印码流的临时参数值为 3, 且按生成码流算法, 统计在第 1到第 3个矢量图形 数据包中原来就应发生属性改变为 9。 最终生成的码流 (即 0\1 串) 中, 出现 1 的次数应为 3+4=7, 设随意生成的码流为 (0, 3, 4)。

54、 在数字水印生成端, 在矢量图形数据包中按规则嵌入数字水印码流 数据: 对本实施例中的矢量图形数据包, 按照码流嵌入数据包规则、 嵌入范围和嵌入算法修改 属性值, 在 v2、 v3中按 (3, 4) 的数量来修改属性 (包括原来就要变化的属性) (这里修改 颜色值):

Vl = {

package_info={序号 =1, 来源 ="xxx", ... } ti=2012-12-1219:21:54000;

d_i=环 { 圆心 =(200,100) 外 圆 半径 =101; 内 圆 半径 =81; 颜色 =RGB(182,38,231); ...} v 2 = {

package_info={序号 =2, 来源 'χχχ :

ti=2012-12-1219:21:54025;

e 2 _i=环 { 圆心 =(200,101) 外 圆 半径 =102; 内 圆 半径 =83; 颜色 =RGB(182,38,231); ...}

V 3 = {

package_info={序号 =3, 来源 'χχχ :

ti=2012-12-1219:21:54050;

e 3 _i=环 { 圆心 =(201,101) 外 圆 半径 =103; 内 圆 半径 =83; 颜色 =RGB(183,38,231); ...} 添加的属性变化值, 在上面用下划线标示。

对第 3个矢量图形数据包之后的, 也可以按固定长度或不固定长度来设计属性值 , 使之 满足属性变化数量的条件。

55、 在数字水印生成端, 发送带有数字水印的矢量图形数据包: 在数字水印生成端, 在 时刻 v q ' .t q 发送 Vq ' 到数字水印验证端。 则 ( Vl ' , ν 2 ' , ν 3 ' , ν 4 ' ,ν 5 ' , ν 6 ' , ν 7 ' , ν 8 ' , ν 9 ' , ···, ν 200 ' Μ衣次在设定的时刻被发送出去。

56、 在数字水印验证端, 接收带有数字水印的矢量图形数据包: 在数字水印验证端, 收 至 IJV' = {νι' , ν 2 ' , ν 3 ' , ν 4 ' ,ν 5 ' , ν 6 ' , ν 7 ' , ν 8 ' , ν 9 ' , ···, ν 20 ο' }°

57、 在数字水印验证端, 提取连续矢量图形描述动画数据包中属性上的 变化值, 计算嵌 入的码流数据: 在本实施例中, 对比矢量图形数据包选择或生成方式为 "每个矢量图形数据 包与之前一个矢量图形数据包进行对比", 根据嵌入范围与嵌入规则、根据共享的临时参 数值 =3, 从收到的 Vl ' ,ν 2 ' ,ν 3 ' 中统计属性变化值为 (0, 3, 4), 共检测出 7次属性变化。

58、 在数字水印验证端, 通过汇总收到的数字水印嵌入码流, 提取水印数据: 在本实施 例中, 根据从水印码流计算水印数据的算法, 码流中数字总和为 7, 而临时参数值为 3, 因此 要传输的水印数据为 7-3=4。

59、 在数字水印验证端, 进行数字水印验证: 在实施例中, 从接收的连续矢量图形描述 动画数据包中计算出来的 4, 与根据数字水印发送端和数字水印验证端之间 约定的嵌入并验 证的水印数据 m= 4—致, 可以确认在连续矢量图形描述动画中传输过来 的水印数据 m (以 及所有矢量图形) 是来自数字水印生成端 (进行数据来源和通信对象的鉴别和认证)。

补充说明:

( 1 )无论原连续矢量图形描述动画数据包序列中 图形属性有没有变化, 都不影响本实 施例中水印添加算法的实现。

(2)添加了这种水印的连续矢量图形描述动画数 据包序列不能被篡改(无论是帧还是属 性值), 一旦丢帧或被修改任何属性, 算出的水印数据就无法对上。

在本实施例中, 需要双方共享的信息包括:

1、 要嵌入并验证的水印数据: 本实施例中为 4。

2、 在 S3中, 从水印数据生成水印码流的算法为: 先统计连续第 1到 n个 (本实施例中 n取临时参数值, 但也可以另行设定) 矢量图形数据包中矢量图形的属性变化次数总 和 (设 为 C), 生成一任意数字串 (数字串长度为 n-1 ) 且数字串中数字总和 =水印数据值 +临时参数 值, 则水印码流分量=此任意数字串; 相应的, 从水印码流计算水印数据的算法为: 码流 =原 水印数据 +临时参数值"。 本实施例中, 计算水印码流的过程中有使用临时参数, 临时参数值 为 3。

3、 在 S4使用的码流嵌入数据包规则: 第 1-N中任意矢量图形数据包中, 如果生成的数 字串为 ( Cl , c 2 , ..., c n ),则每个 cn表示这个矢量图形数据包相比起前一矢量图 数据包在属性上 要出现的变化次数 (包括原来就要出现的属性修改)。

4、 在 S4要使用的嵌入范围与嵌入规则: 任意矢量图形数据包中任意图形元素的任意矢 量图形属性 (除了发送时间数据、 原来也要发生变化的属性)。

5、嵌入算法为:对相应的属性作任意修改, 改次数即为该矢量图形数据包上的码流值。

6、对比矢量图形数据包选择或生成方式为 每个矢量图形数据包与之前一个矢量图形数 据包进行对比 (即计算 v q ' 与 Vq 在嵌入属性上的差异)。 实施例 5

本实施例中, 针对指令帧式的矢量动画描述方式, 实现数字水印。 该种动画描述方式, 在 VRML和 MPEG-4 BIFS中得到使用(例如 VRML中的 TRANFORM节点中的 translation rotation^ addChidren, RemoveChildren等指令, MPEG-4 BIFS中的形式类似)。

另外一种定义矢量动画的方式, 是利用变动帧。 所谓变动帧, 即后面的矢量图帧, 只描 述发生变化的矢量图形元素及其参数 (在 MPEG4-BIFS里用 BIFS-ANIM相关指令来描述变 动帧动画, 需要用 AnimationFrames、 AnimationMask ElementaryMask等定义变动的元素禾口 属性)。

实际上, 变动帧与指令帧是可以互相转换的 (除了添加、 删除等)。 因此, 本实施例可应 用于指令帧式和变动帧式两种矢量图形描述方 式。

本实施例的过程如下:

51、 数字水印生成端与数字水印验证端知识交换;

52、 在数字水印生成端, 准备连续矢量图形描述动画集数据序列 (即未加水印的序列): 在本实施例中, 连续矢量图数据包序列的内容是一系列的矢量 图修改指令 (如移动、 縮 放、 等等), 定义为 V= { Vl ,v 2 ,. . ., Vl }, i e N, N为自然数集合。

本实施例中, 对

Vl = {

package_info={序号 =1, 来源 ="xxx", ... }

ti=2012-12-12 19:21 :54 000+25 *i;

//表示从 2012-12-12 19:21 :54秒开始, 每隔 25毫秒发送一个矢量图形数 据包

d_i=环 { 圆心 =(200,100) ;夕卜 圆 半径 =101; 内 圆 半径 =81; 颜色 =RGB(182,38,231); ... }

对所有 i>l,

Vi= {

package_info={序号 =i, 来源 = "xxx", ... }

ti=2012-12-12 19:21 :54 000+25 *i;

//表示从 2012-12-12 19:21 :54秒开始, 每隔 25毫秒发送一个矢量图形数 据包

modify(ei_i i color, old_param=RGB(182+(i-l)* 12, 38, 231), new_param= RGB(182+i* 12,38,231)} 〃表示修改 的 "颜色 " 属性, 从之前的颜色 RGB(182+(i-2)* 12, 38, 231)修改为 RGB(182+(i-l)* 12,38,231) (即每一帧的颜色红 色分量依次为 182、 194、 206...; 这样, 多个修改指令连续播放后, 就形成了变色的动 画效果。 从上述内容可知, 这一动画的播放内容是一个不断变色的环形。

展开, 得: v 2 =

package_info={序号 =2, 来源 ="xxx", ... }

ti=2012-12-12 19:21 :54 025;

modify(ei_i, color, new_param= RGB(194,38,231)}

V 3 =

package_info={序号 =3, 来源 ="xxx", ... }

ti=2012-12-12 19:21 :54 050;

modify(ei_i, color, new_param= RGB(206,38,231)}

V 4 =

package_info={序号 =2, 来源 ="xxx", ... }

ti=2012-12-12 19:21 :54 025;

modify(ei_i, color, new_param= RGB(218,38,231)}

V 5 =

package_info={序号 =3, 来源 ="xxx", ... }

ti=2012-12-12 19:21 :54 050;

modify(ei_i, color, new_param= RGB(230,38,231)} 这里, v 2 、 ...v 5 的 modify指令的新颜色值分别是 194、 206、 218、 230...。

为和下面的嵌入水印的效果对比, 嵌入水印的方案是 "图中颜色值的奇偶性与前一帧进 行异或", 实现水印的嵌入和检测。 则对这里 Vl 、 v 2 、 ...v 5 , 计算得到的奇偶性为:

(奇, 奇, 奇, 奇, 奇)

取奇为 1, 偶为 0, 前一帧与后一帧的奇偶值进行异或, 则结果为 (0, 0, 0, 0)

S3、 在数字水印生成端, 确定传输的水印数据, 并根据它来生成水印码流:

本实施例中, 在数字水印生成端要嵌入连续矢量图形描述动 画中传输的数据为 数字 6, 所使用的、 计算水印码流的临时参数值为 3

码流计算算法为: 取水印数据加参数值的结果再取二进制数据, 所得二进制序列即为码 流。 且按生成码流算法为 "嵌入码流为嵌入数据的二进制值", 则本实施例中嵌入的码流为二 进制串 1001。 S4、 在数字水印生成端, 在矢量图形数据包中按规则嵌入数字水印码流 数据: 对本实施例中的矢量图形数据包, 按照码流嵌入数据包规则、 嵌入范围和嵌入算法修改 属性值。

水印嵌入和检测规则为: 在指令中修改变动的颜色值参数, 使结果图中颜色值的奇偶性 (即所有对颜色值中 RGB中各分量的总和的奇偶性)与前一帧进行异 或, 形成 " 1001 "的序 列, 同时保持对指令的修改与原图尽可能一致。

Vl'= {

package_info={序号 =1, 来源 ="xxx", ... }

ti=2012-12-12 19:21 :54 000;

ei_i=环 { 圆心 =(200,100) ;外 圆 半径 =101 ; 内 圆 半径 =81; 颜色 =RGB(182,38,231); ... } v 2 '= {

package_info={序号 =2, 来源 ="xxx", ... }

ti=2012-12-12 19:21 :54 025;

modify(ei_i, color new_param= RGB(193,38,231)} vv= {

package— info={序号 =3, 来源 ="xxx", ... }

ti=2012-12-12 19:21 :54 050;

modify(ei_i, color, new_param= RGB(207,38,231)} v 4 '= {

package_info={序号 =2, 来源 ="xxx", ... }

ti=2012-12-12 19:21 :54 025;

modify(ei_i, color, new_param= RGB(217,38,231)} v 5 '= {

package— info={序号 =3, 来源 ="xxx,,, ... }

ti=2012-12-12 19:21 :54 050; modify(ei_i, color, new_param= RGB(230,38,231)} 这里, v 2 '、 ...v 5 '的 modify指令的新颜色值分别是 193、 207、 217、 230...。 对 ν^、 ν 2 '、 ...ν 5 '计算 得到的奇偶性为:

(奇, 偶, 偶,偶, 奇)

取奇为 1、 偶为 0, 前一帧与后一帧的奇偶值进行异或, 则结果为 (1, 0, 0, 1) 上述嵌入规则 ("在指令中修改变动的颜色值参数, 使结果图中颜色值的奇偶性与前一帧 进行异或, 形成 " 1001" 的序列, 同时保持对指令的修改与原图尽可能一致"), 可以在任何 一个矢量动画中实现。

55、 在数字水印生成端, 发送带有数字水印的矢量图形数据包: 在数字水印生成端, 在 时刻 v q ' .t q 发送 Vq ' 到数字水印验证端。 则 ( Vl ' , ν 2 ' , ν 3 ' , ν 4 ' ,ν 5 ' , ν 6 ' , ν 7 ' , ν 8 ' , ν 9 ' , ···, ν 200 ' Μ衣次在设定的时刻被发送出去。

56、 在数字水印验证端, 接收带有数字水印的矢量图形数据包: 在数字水印验证端, 收 至 IJV' = {νι' , ν 2 ' , ν 3 ' , ν 4 ' ,ν 5 ' , ν 6 ' , ν 7 ' , ν 8 ' , ν 9 ' , ···, V200' }°

57、 在数字水印验证端, 提取连续矢量图形描述动画数据包中属性上的 变化值, 计算嵌 入的码流数据: 在本实施例中, 对比矢量图形数据包选择或生成方式为 "每个矢量图形数据 包与之前一个矢量图形数据包进行对比",根 嵌入范围与嵌入规则,获得嵌入的码流为 1001 即十进制的 9。

58、 在数字水印验证端, 通过汇总收到的数字水印嵌入码流, 提取水印数据: 在本实施 例中, 根据从水印码流计算水印数据的算法, 码流中数字内容为 9, 而临时参数值为 3, 因此 要传输的水印数据为 9-3=6。

59、 在数字水印验证端, 进行数字水印验证: 在实施例中, 从接收的连续矢量图形描述 动画数据包中计算出来的 6, 与根据数字水印发送端和数字水印验证端之间 约定的嵌入并验 证的水印数据 m= 6—致, 可以确认在连续矢量图形描述动画中传输过来 的水印数据 m (以 及所有矢量图形) 是来自数字水印生成端 (进行数据来源和通信对象的鉴别和认证)。 对上述实现算法, 不仅仅限于颜色值总和, 还可以扩展到所有参数值的总和、 或多个矢 量图形元素上特定颜色分量的总和。 上述实施例为本发明较佳的实施方式, 但本发明的实施方式并不受上述实施例的限制 , 其他的任何未背离本发明的精神实质与原理下 所作的改变、 修饰、 替代、 组合、 简化, 均应 为等效的置换方式, 都包含在本发明的保护范围之内。