专利名称:以符号的冗余编码携带隐藏信息的文本数字水印技术的利记博彩app
技术领域:
本发明属于通信与信息工程领域,具体涉及到数据的隐藏通信、数据的编码与解码、数字水印技术。
背景技术:
数字水印技术是信息隐藏技术领域的一个重要组成部分,它将具有特定意义的信息(数字水印信息),利用数字嵌入方法隐藏在各种数字图像、声音、视频、文本数字产品中。这些带有数字水印信息的电子产品一方面可以不易被感知地正常使用,另一方面,通过特定的技术手段可以检测出嵌入在这些数字产品的数字水印信息。数字水印技术广泛应用在数字产品的版权保护、内容验证与防伪、防止非法拷贝、操作跟踪、秘密数据通信等众多流域。按照数字水印载体的不同,数字水印可分为图像数字水印、声音数字水印、视频数字水印和文本数字水印等主要的几个种类。
如综述文章“文本数字水印”(中文信息学报,第15卷,第5期,作者黄华、齐春、李俊、朱伟芳)所述,现有的文本数字水印技术集中在利用文本文件的格式信息来保存数字水印信息。例如对文本的字间距、行间距、符号的特征(包括大小、颜色、字体等)进行编码来嵌入水印信息,水印信息作为格式编码存入特定的格式文本文件中。这种思路的缺陷在于不能在基于GB18030、UCS等标准编码的纯文本文件(如HTML网页)中保存水印信息,其次,以这种方式加载数字水印信息必然对原文件的格式带来变化,水印信息会给用户带来视觉上或多或少的误差。
如文章“二值文本数字水印技术的研究与仿真”(系统仿真学报,VOL.16 No.3,2004.3,作者王慧琴、李人厚)所述,另一种主要的现有文本数字水印技术的思路是将文本文件转换为图像文件,按照图像数字水印技术提供的方法进行水印信息加载。该方法的缺点是不能用大多数的文字处理软件进行带有水印信息的图像电子文件的显示和处理。
如文章“Techniques for data Hiding”(IBM Systems Journal,1996,35(3&4),Bender W,et al.)所述,另外一种现有的文本数字水印技术,通过对文本中的特定词组进行同义词替代,对同义的不同词汇进行编码,用于加载水印信息。这种技术的缺点是难以为所有的词汇找到恰当的同义词,造成文本可嵌入水印信息的容量相当有限,毕竟不是每一个词汇都有与之对应的同义词。
专利申请号为00805218.2,专利名称为“元信息的不可见的编码”(申请人皇家菲利普电子有限公司,发明人K.埃亨,进入中国日期2001.09.18)提供了另一种文本数字水印技术。该技术对不可见符号(如空格、回车、制表符号等)出现的顺序进行编码,然后将这些不可见的符号嵌入到文本文件中用于表示数字水印信息。这种方法对可见的符号不会带来视觉误差,但由于引入了冗余的不可见符号,对原文件的结构和格式带来了影响。对于文字符号很紧凑的电子文件,可加载的水印信息容量很小。同时,由于水印信息集中在不可见符号上,文本文件中大量的可见符号没有加载水印信息,水印信息分布不均匀,所以,用这种方式加载的水印极易被攻击者去除。
发明内容
本发明的目的是提供一种以文本为载体的隐藏数据通信方法,以及与该方法相关的文本数字水印嵌入、显示、打印、提取技术。用于解决现有文本数字水印技术中出现的诸如不能在纯文本文件中保存水印信息、水印信息给用户引起视觉上的误差、文件携带水印信息容量小、容易被攻击等问题。
本发明的基本原理在于对符号的数字编码进行冗余扩展,将传统方法使用的语义上一个字符对应一个数字编码的方法扩展到语义上的一个字符对应多个数字编码。然后,对这些冗余的数字编码根据其状态的不同再次进行二次数字编码,用于存储隐藏信息。同时,利用字符对应的冗余编码及二次编码的映射关系进行隐藏信息的解码,从而提供了一种以文本电子文件为载体的隐藏数据通信方法。本发明的文本数字水印技术,以上述隐藏数据通信方法为基础。针对电子文件文本数字水印设计,本发明提供了语义上的一个字符的多个冗余编码对应一种字模的字体文件编码映射规则,用于冗余编码文件的显示,从而避免隐藏水印信息在视觉上可能引起的问题。与此同时,针对印刷品文件文本数字水印设计的需求,本发明提供了一个字符的多个冗余编码对应多种字模的字体文件编码映射规则,每一个冗余编码对应一种不同的字模,使得文本文件字体的信息对应于隐藏信息,从而提供了一种在印刷品文件中存储文本数字水印的方法。除此之外,将文本文件内容的摘要信息作为文本数字水印信息,将文本文件自身作为载体,结合现有文本内容验证技术与本发明的文本数字水印技术,可得到一种新的文件内容验证方法。
本发明包括如下紧密相关的内容(1)将符号编码成数字代码的方法(等价体现为符号数字映射表的产生方法);(2)利用文本电子文件作为载体进行隐藏通信的方法;(3)两种字体文件设计方法;(4)一种电子文件文本数字水印设计方法;(5)一种印刷品文件文本数字水印设计方法。
本发明将符号编码成数字代码的方法本发明称的符号是语义上无歧义的任何符号,包括任何图形字符、控制字符等。本发明的编码方法也不限于一个符号,也可以是一个符号串(为了描述方便,以下均以一个符号为例子,但对符号串的编码可采用与单个符号同样的编码方法)。本发明将符号编码成数字代码的方法可以用一个符号数字映射表来等价地体现,可以认为一种符号编码成数字代码的方法确定了一个符号数字映射表,一个符号数字映射表也确定了一种符号编码成数字代码的方法。
产生本发明的符号数字映射表的最基本的规则(简称基本规则)是(1)至少包括一个符号集合和两种数字代码集合(分别称为信留码集合和隐藏码集合,其中的元素称为信留码和隐藏码)。
(2)在一个符号数字映射表(一个完整的编码体系)中,至少存在一个符号,与信留码和隐藏码分别形成一对多的映射关系,即一个符号分别对应多个不同的信留码和多个不同的隐藏码。
(3)在满足特征(2)描述的所有符号中,至少存在着一个这样的符号在与该符号对应的多个信留码和多个隐藏码中,至少存在一个信留码子集(包括全集或真子集,以下术语“子集”有相同含义)和一个隐藏码子集,使得这两个子集之间的元素形成一一映射的关系,即在这两个元素个数相等的子集中,不同的信留码对应不同的隐藏码,不同的隐藏码对应不同的信留码。
(4)在满足特征(3)描述的所有符号中,至少存在着这样一个符号子集该符号子集中不同符号各自对应的、按照特征(3)所描述的信留码子集(与隐藏码子集有一一映射的关系)之间没有重复元素。
产生满足基本规则的符号数字映射表的范围较为宽泛,可以根据不同的应用进一步设计有更多特征因而也是更具体的符号数字映射表。为了节省编码空间,本发明提供一种产生符号数字映射表的扩展规则(简称扩展规则)(1)符号数字映射表内每一个符号至少有一个信留码和一个隐藏码与之对应。
(2)在整个符号数字映射表范围内,所有符号对应的信留码之间不能重复。
(3)对同一个符号来说,该符号对应的信留码集合和隐藏码集合的元素个数相等,并且这两个集合形成一一映射关系,即不同的信留码对应不同的隐藏码,不同的隐藏码对应不同的信留码。
此外,为了与现有的符号编码系统兼容,本发明提供一种选择符号数字映射表中的符号集合、信留码集合、隐藏码集合的产生方法(简称补充规则)(1)符号数字映射表的符号集中包含现有编码标准(如UCS-2、UCS-4或GB18030等)规定的符号集合的子集,在该子集中至少存在一个这样的符号与该符号对应的信留码集合中,有一个信留码等于这个符号在现有编码标准中对应的数字编码值,该符号对应的其余的信留码也在现有编码标准规定的编码范围中产生。
(2)不同符号对应的隐藏码集合之间,存在一个相等的隐藏码(命名为固定隐藏码),即有一个相同的隐藏码与所有的符号对应。
本发明的利用文本电子文件作为载体进行隐藏数据通信的方法在本发明的符号数字映射表中,可以看到,给定了一个符号和与之对应的隐藏码,可以确定与它们对应的信留码。同样,给定了一个信留码,可确定与之对应的符号和隐藏码。事实上,这种符号、信留码、隐藏码的对应关系构成了一种将信息数据加载到符号序列上的方法,以及与之对应的数据分离的方法。
本发明的隐藏数据通信方法中加载数据的方法包括以下步骤(1)将作为载体的原始电子文件转换为用本发明的符号数字映射表中的符号表示的符号序列。
(2)为符号序列中的每一个符号,选择合适的隐藏码,使得该符号序列对应的隐藏码序列等于被传输的电子信息数据序列,或可根据固定的规则将隐藏码序列无歧义对应到该电子信息数据序列,即根据该隐藏码序列和固定的规则可唯一确定被传输的电子信息数据序列。固定规则的一种定义为固定隐藏码不参与对应被传输的信息数据,如一个符号不存在隐藏码可以对应被传输数据,则选用该符号的固定隐藏码为对应的隐藏码。
(3)根据(2)步骤得到的单个符号对应的隐藏码,以及相应的符号数字映射表,确定该符号对应的信留码。
(4)按照从步骤(1)中得到的符号序列相同的顺序,将所有单个符号对应的信留码组合起来,得到一个加载了隐藏数据的信留码序列。
本发明的隐藏数据通信方法中分离数据的方法包括以下步骤(1)在本发明的符号数字映射表中,查询信留码序列中每个信留码对应的符号和隐藏码。
(2)分别按信留码序列的顺序组合符号和隐藏码,得到一组与原信留码序列对应的一组符号序列和一组隐藏码序列。该组隐藏码序列按照固定的规则(例如固定隐藏码不被计入被传输的信息数据)可确定被传输的信息数据。
结合上述的数据加载方法和数据分离方法产生了本发明的以文本文件为载体的隐藏数据通信方法,该方法以信留码文件作为隐藏信息载体,信留码序列映射的隐藏码序列对应被传输的信息数据,信留码文件的传输通道作为隐藏信道。隐藏数据发送方利用上述的数据加载方法将被传输的隐藏数据加载到文本文件中,转换为携带隐藏信息的信留码文件。该文件通过拷贝,网络传送等各种方式传送到隐藏数据的使用方,使用方通过上述数据分离方法可以分离得到隐藏数据和原文本文件,这样,便形成了本发明的隐藏数据通信方法的基本过程。
同时,如果将本发明的符号数字映射表作为加密密钥和解密密钥看待,上述隐藏数据通信方法可以看成是一种对电子文件进行加密和解密的方法。这种加、解密方法的特点是以本发明的符号数字映射表作为信息传递双方共享的秘密密钥。
本发明的一种字体文件(简称多对一字体文件)设计方法该字体文件的特征是(1)用本发明的符号数字映射表中的信留码作为字体文件的符号编码集合。
(2)在符号数字映射表中的同一符号对应的多个信留码中,至少存在一个这样的子集该子集中的多个信留码映射的字模相同(或映射了多个相同的字模),并且该字模在人可识别的意义上反映相应符号(通过信留码间接对应)的语义信息。
(3)不同符号通过特征(2)声称的信留码子集间接对应的字模之间有相同的字体风格(种类)。
本发明的另一种字体文件(简称一对一字体文件)设计方法该字体文件的特征是(1)用本发明的符号数字映射表中的信留码作为字体文件的符号编码集合。
(2)在符号数字映射表中的同一符号对应的多个信留码中,至少存在一个这样的子集该子集中的多个信留码与不同的字模形成一一映射,即不同的信留码对应不同的字模,不同的字模对应不同的信留码。同时,这些字模之间的差异仅表现为字体风格(种类)上存在差异,在人可识别的意义上它们反映同一个符号的语义信息,即这些字模表现为同一字符的不同字体风格(种类)。
(3)在整个特征(1)声称的符号数字映射表范围内,对于那些与相同的隐藏码对应的不同信留码,在字体文件中对应代表不同语义的字模,但这些字模之间的字体风格(种类)相同。特别需要指出的是,字体文件的这一特性,相当于在整个符号数字映射表和字体文件的范围内,对不同的字体风格(种类)进行了编码,不同的字体风格(种类)对应不同的隐藏码,不同的隐藏码也对应了不同的字体风格(种类)。
本发明的文本数字水印设计方法综合利用本发明的将符号编码成数字的方法(即符号数字映射表的产生办法)、隐藏数据通信方法、字体文件设计方法,得到本发明的文本数字水印设计方法。
本发明完整的文本数字水印设计方法包括以下内容(1)采用本发明的隐藏数据通信方法中的数据加载方法进行数字水印信息的嵌入。
(2)采用本发明的隐藏数据通信方法中的数据分离方法进行数字水印信息的提取。
(3)文字处理软件采用本发明的多对一字体文件,进行带有文本数字水印的信留码电子文件的显示。
(4)文字处理软件采用本发明的一对一字体文件,进行带有文本数字水印的信留码电子文件的打印,打印结果为带有文本数字水印的印刷品。
需要强调的是,在本发明的文本数字水印设计过程中,数字水印信息嵌入、信留码电子文件的显示及打印、相关的字体文件设计、数字水印信息提取应使用同一个本发明的符号数字映射表。
其中特征(1)~(2)的内容是本发明数字水印设计方法的必须的,其余内容可以根据水印信息的不同、载体性质不同、应用背景不同加以选择。对于电子文件作为数字水印信息载体的应用,可以选用(1)~(3)项的内容。对于需要产生在印刷品上保留数字水印信息的应用,可选用(1)~(2)和(4)的内容。
此外,本发明还包括一种将印刷品上的符号转换成信留码的方法,它包括以下步骤(1)对印刷品上的符号进行语义上的识别,确定符号的语义信息,明确印刷品上的符号在本发明符号数字映射表中对应的符号。
(2)根据在步骤(1)确定的符号的语义信息,以及本发明的一对一字体文件,确定印刷品上的符号的字体风格(种类),从而确定与该符号对应的隐藏码。
(3)根据符号的语义信息和对应的隐藏码,查询本发明的符号数字映射表,获得该印刷品上的符号在本发明的符号数字映射表中对应的信留码。
结合上述将印刷品上的符号转换成信留码的方法,和从带有数字水印信息的信留码电子文件中提取数字水印信息的方法,可以进行带有数字水印信息的印刷品文件的数字水印信息提取。
本发明的数字水印信息可以是任何电子数据,如果数字水印信息是载体文件的自身内容验证报文,则本发明的数字水印设计方法便成为可以进行自身内容验证的文本数字水印技术,但本发明应用并不限于此。
对照现有文本数字水印技术,本发明的主要特点是(1)本发明的文本数字水印技术使用符号的自身冗余编码进行信息隐藏,不需要在格式控制代码上加载水印信息,可利用纯文本文件(如HTML网页)携带数字水印信息,因此便于在Internet网络上使用。同时,由于绝大多数的文本处理软件都能处理纯文本文件,使用本发明嵌入数字水印信息的文本文件便于不同的文本处理软件进行处理,兼容性好。
(2)在本发明的文本数字水印载体文件中,以单个符号为单位进行水印信息加载,可携带的数字水印信息容量大,而且水印信息在整个载体文件中可均匀分布。
(3)由于数字水印信息隐藏在符号自身的编码中,如果对本发明的符号数字映射表进行加密,则数字水印攻击者难以去除数字水印信息。
(4)本发明使用特别设计的字体文件进行带有数字水印信息的文本文件的显示,当使用多对一字体文件进行显示时,和原文件相比,带有水印信息的文本文件不会给用户造成任何视觉上的误差。
(5)本发明可容易地将带有水印信息的电子文本文件转换为带有水印信息的印刷品文本文件,仅仅需要在字处理软件中选用本发明的一对一字体文件进行印刷品打印。
图1以示例的方式显示了本发明的符号数字映射表的结构及其编码方式,该符号数字映射表等价体现了将符号编码为数字的方法。
图2以示例的方式显示了以符号序列作为数据载体,加载、分解被传输数据的方法。
图3显示了以文本文件作为载体,进行隐藏数据通信的流程图。
图4以示例的方式显示了本发明两种不同字体文件的结构,以及字体文件中符号的数字编码和字模之间的映射规则。
图5以示例的方式显示了信留码符号序列在使用本发明的两种不同字体文件下的显示结果。
图6是本发明文本数字水印信息的嵌入流程图。
图7是本发明对带有文本数字水印信息的电子文件进行水印信息提取、显示和打印的流程图。
图8是将带有数字水印信息的印刷品文件转化为带有数字水印信息的电子文件的流程图。
具体实施例方式
下面通过举例,并参照附图,详细地描述本发明的具体实施方式
。本发明的将符号编码成数字的方法(符号数字映射表的设计方法)的
具体实施例方式下表是满足本发明的符号数字映射表基本规则的一个具体的符号数字映射表例子,
在上述表中,包含了一个符号集合、一个信留码集合和一个隐藏码集合,满足本发明符号数字映射表基本规则的特征(1)的要求;符号“A”、“E”、“!”与信留码和隐藏码分别形成一对多的映射关系,即一个符号分别对应多个不同的信留码和多个不同的隐藏码,例如,符号“A”对应了信留码集合{0041,E041},隐藏码集合{0,1},所以,上表满足本发明符号数字映射表基本规则的特征(2)的要求;符号“A”对应的信留码全集{0041,E041}与隐藏码全集{0,1}形成一一映射,符号“E”对应的信留码真子集{0045,E450}与隐藏码全集{0,1}形成一一映射,符号“!”对应的信留码真子集{0021,0045,E450}与隐藏码全集{00,01,1}形成一一映射,所以符号“A”、“E”、“!”均满足本发明符号数字映射表基本规则的特征(3)的要求;符号“A”对应的信留码全集{0041,E041}与符号“E”对应的信留码子集{0045,E450}之间没有重复元素,所以由符号“A”、“E”组成的集合{A,E}满足本发明符号数字映射表基本规则的特征(4)的要求。因此,上例符号数字映射表满足本发明的符号数字映射表的所有特征。
需要注意的是,满足基本规则的符号数字映射表中的符号集中可以包括控制符号,如“(ESC)”,也可以包括一个符号串,如“10110101”,可以与普通符号一样,按照本发明的编码方法对它们进行编码。
满足上述基本规则的符号数字映射表,一些符号对应的信留码和隐藏码可能出现重码。表中也可能出现一些这样的符号,没有相应的信留码或隐藏码与之对应,或者与之对应的信留码和隐藏码之间没有明确的对应关系。为了节省编码空间,减少重码现象,本发明推荐在符号数字映射表的基本规则上加上扩展规则进行符号数字映射表的设计。
如图1所示,容易看出,图1中的符号数字映射表(110)满足本发明的符号数字映射表的基本规则。符号数字映射表(110)中的每一个符号至少有一个信留码和一个隐藏码与之对应,因而该表满足本发明符号数字映射表扩展规则的特征(1)的要求;在整个符号数字映射表(110)范围内,所有符号对应的信留码之间没有重复,可以看到图1中的符号数字映射表(110)中的所有信留码都没有重复,因而该表满足本发明符号数字映射表扩展规则的特征(2)的要求;表中的每一个符号对应的信留码集合和隐藏码集合的元素个数相等,并且这两个集合形成一一映射关系,例如,符号“A”对应的信留码集合{0041,E410,E411}和其对应的隐藏码集合{11111111,0,1}元素个数相等,且一一对应,因而,该表满足本发明符号数字映射表扩展规则的特征(3)的要求。所以,图1中的符号数字映射表(110)同时满足本发明符号数字映射表的基本规则和扩展规则。
为了与现有符号编码标准兼容,使得基于本发明符号编码的文本文件有通用性,推荐在本发明的符号数字映射表的基本规则、扩展规则的基础上,加上本发明的符号数字映射表的补充规则进行符号数字映射表的设计。具体实施中,可根据需要选择与任何现有编码标准(如UCS-2、UCS-4、GB2312、GB18030等)兼容。
如图1所示,符号数字映射表(110)反映了本发明的符号与数字编码的对应关系,符号数字映射表(120)反映了UCS-2标准的符号与数字编码的对应关系。符号数字映射表(110)的符号集是UCS-2符号集(BMP)的子集。符号数字映射表(120)指明了这个子集中所有符号在UCS-2标准中对应的Unicode编码值。对于符号数字映射表(110)中的每一个符号对应的信留码集合来说,除有一个信留码等于该符号在UCS-2标准中对应的Unicode编码值外,其余的信留码在UCS-2标准规定的用户自定义编码范围E000~F8FF(十六进制)中产生。例如,符号“A”的Unicode编码值为“0041”,它在本发明的符号数字映射表(110)中对应信留码集合为{0041,E410,E411},该信留码集合中的一个信留码等于“A”的Unicode编码值“0041”,其余的信留码“E410”、“E411”在0000~FFFF编码范围内。由此可知,符号数字映射表(110)满足本发明符号数字映射表补充规则的特征(1)的要求。
此外,图1中符号数字映射表(110)的每一个符号对应了一个相同的隐藏码“11111111”,该码为符号数字映射表(110)的固定隐藏码,所以,该符号数字映射表(110)也满足本发明符号数字映射表补充规则的特征(2)的要求。
综上所述,图1中的符号数字映射表(110)同时满足本发明符号数字映射表的基本规则、扩展规则和补充规则的要求。
以下是推荐的一种完整的符号数字映射表的产生办法(1)符号数字映射表同时满足基本规则、扩展规则和补充规则的要求;(2)符号集的选取选取UCS-2符号集(BMP)中Unicode编码数值范围为0000~DFFF(十六进制)和F900~FFFF(十六进制)的所有符号;(3)固定隐藏码的数值为“EFFF”(十六进制);(4)对于UCS-2符号集(BMP)中Unicode编码数值范围为0000~007F(十六进制)的符号(基本拉丁字符集),每个符号对应的信留码、隐藏码各为17个。
信留码产生的方式每个符号对应的17个信留码中,有一个信留码值等于该符号的Unicode编码值,其余16个信留码为连续递增的4位十六进制数字(两字节的二进制数字),递增量为1,其最小值等于该符号的Unicode编码值(十六进制)乘以10(十六进制)再加上E000(十六进制)得到。例如符号A的17个信留码中,有一个信留码为“A”对应的Unicode编码值“0041”(十六进制)。其余16个连续递增的信留码中,最小的是0041(十六进制)×10(十六进制)+E000(十六进制)=E410(十六进制)。所有“A”对应的17个信留码为{0041,E410,E411,E412,E413,E414,E415,E416,E417,E418,E419,E41A,E41B,E41C,E41D,E41E,E41F}(十六进制)。
隐藏码产生的方式每个符号对应的17个隐藏码均为{EFFF,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}(十六进制)。
信留码与隐藏码的对应方式等于符号的Unicode编码值的信留码与固定隐藏码“EFFF”对应,例如,符号“A”的等于Unicode编码值的信留码“0041”对应固定隐藏码“EFFF”;其余16个信留码和16个隐藏码按照从小到大的顺序依次对应,例如符号“A”对应的16个信留码中,最小值为“E410”,“A”对应的16个隐藏码中,最小值为“0”。因此信留码“E410”对应隐藏码“0”。同理,信留码“E411”对应“1”,其余依此类推。
(5)对于UCS-2符号集(BMP)中Unicode编码数值范围为0080~DFFF(十六进制)和F900~FFFF(十六进制)的所有符号,每个符号对应的信留码、隐藏码各为一个,即与该符号形成一一映射,其对应的信留码值等于该符号对应的Unicode编码值,所有符号对应的隐藏码的数值均等于固定隐藏码值“EFFF”。
上述符号数字映射表的符号集包括UCS-2标准符号集(BMP),并且,每个符号对应的信留码集合中,有一个信留码值等于该符号对应的Unicode编码值,其他信留码在UCS-2标准中Unicode用户自定义编码范围E000~F8FF(十六进制)中产生,不会与UCS-2中已明确定义的符号编码发生冲突,所以,用该表进行编码的方法与用UCS-2标准进行编码方法兼容。上述符号数字映射表用基本拉丁字符集中的符号携带隐藏信息,每个基本拉丁字符集中的符号可携带4位二进制数据。
本发明的隐藏数据通信方法的
具体实施例方式如图2所示,从左到右的顺序是数据加载的流程,该流程表示将“01101”(230)这个被传输的二进制数据序列加载到用Unicode码表示的“004C,004F,0056,0045”数字编码序列(210)上的过程。使用图1的符号数字映射表(120),该数字编码序列对应的符号序列为“LOVE”(220),所以,该数据加载过程实际上是将“01101”(230)加载到符号序列“LOVE”(220)上。
加载过程是这样的首先查询符号“L”在图1符号数字映射表(110)中的除了固定隐藏码(“11111111”)外,可能的隐藏码集合{0,1},从左边开始对比该隐藏码集合中的元素与被传输二进制数据序列“01101”(230),获得最大匹配的数字串,可得符号“L”对应的隐藏码“0”与“01101”(230)的第一位匹配。同理,对比符号“O”的隐藏码集合{00,01,10,11}与被传输数据序列“1101”(原传输数据“01101”(230)去除与符号“L”的对应位“0”后的剩余数据),可得“O”的隐藏码“11”与“01101”(230)的第二、三位匹配。符号“V”在符号映射表中只有唯一的固定隐藏码“11111111”,不存在其他的隐藏码可与被加载的数据对应,所以,符号“V”没有数据携带能力,不能对应被传输的数据,符号“V”仅能使用固定隐藏码“11111111”。同理可得,符号“E”的隐藏码“01”与被传输数据(230)的第四、五匹配。这样,符号序列“LOVE”(220)按照上述方法得到的对应的隐藏码序列为“0”,“11”,“11111111”,“01”。该隐藏码序列按照固定的规则(固定隐藏码“11111111”不参与同被传输数据的对应)可唯一映射到被传输数据“01101”(230)。根据符号序列“LOVE”(220)中的各个符号和与之对应的隐藏码信息,查询图1中的符号数字映射表(110),得到与这些符号对应的信留码分别是“L”对应“E4C0”,“O”对应“E4F3”,“V”对应“0056”,“E”对应“E451”。按符号序列“LOVE”(220)的顺序将各符号对应的信留码组合起来得到信留码序列“E4C0,E4F3,0056,E451”(240)。这样,原Unicode码表示的“004C,004F ,0056,0045”数字编码序列(210)加载数据“01101”(230)后,变为了信留码序列“E4C0,E4F3,0056,E451”(240)。该信留码序列既反映了原符号序列的语义信息,又隐藏了被传输的数据信息。
同理,将被传输数据“100101101”加载到语句“I LOVE YOU!”(其中包括两个空格符号)上得到的信留码序列为“0049,0020,E4C1,E4F0,0056,E452,0020,0059,E4F3,E550,E211”。
值得注意的是,如果在符号序列上不需要加载任何数据,则在本发明的符号数字映射表中,选用这些符号对应的现有标准(如UCS,GB18030,GB2312等)编码值作为信留码,选用固定隐藏码作为符号对应的隐藏码,这样,通过本发明编码的信留码电子文件与现有标准编码的电子文件完全兼容。
如图2所示,从右到左的顺序是数据分离的流程,该流程表示从带有隐藏数据的信留码序列“E4C0,E4F3,0056,E451”(240)中分离数据的过程。使用与数据加载过程相同的图1中的符号数字映射表(110),查找信留码序列“E4C0,E4F3,0056,E451”(240)中每一个信留码在符号数字映射表(110)中对应的符号和隐藏码,可以得到“E4C0”对应符号“L”和隐藏码“0”,“E4F3”对应符号“O”和隐藏码“11”,“0056”对应“V”和隐藏码“11111111”,“E451”对应符号“E”和隐藏码“01”。按照原信留码序列的顺序分别组合单个的符号和隐藏码,得到一组符号序列为“LOVE”(220),一组隐藏码序列为“0,11,11111111,01”。由于固定隐藏码“11111111”不计入被传输数据,重新组合隐藏码序列得到被传输数据为“01101”(230),原数据加载符号序列为“LOVE”(220)。
如果需要将数据加载符号序列“LOVE”(220)转换为Unicode编码序列,查询图1中的符号数字映射表(120),得到原Unicode编码序列“004C,004F,0056,0045”(210)。
同理可得信留码序列“0049,0020,E4C1,E4F0,0056,E452,0020,0059,E4F3,E550,E211”的加载符号序列为“I LOVE YOU!”,被传输数据为“100101101”。
图3显示本发明完整的隐藏数据通信方法的流程图。原载体文件(310)首先被转换为在本发明的符号数字映射表(350)中有定义的符号序列(320),通过图2所述的数据加载方法将被传输的电子信息数据(330)和符号序列(320)转换为信留码文件(340),该文件通过拷贝,网络传输等各种方式传送给数据接受用户,数据接受用户用图2所述的数据分离方法分离信留码文件(340)得到被传输的电子信息数据(330)和符号序列(320),再将该符号序列(320)转换为原载体文件(310)。
如果对符号数字映射表(350)进行加密,即在数据的传送方和接受方使用同一个未公开的秘密符号数字映射表(相当于一个密码本),则上述隐藏数据通信方法构成了一种特殊的数据加密方法。该数据加密方法分为两种情况一种情况是公开本发明符号数字映射表(350)中的符号集合和信留码集合,以及公开符号与信留码之间的映射关系,同时,隐藏码集合不公开,信留码与隐藏码之间的映射关系、符号与隐藏码之间的映射关系也不公开。在这种情况下,通信双方的原载体文件为公开的信息,隐藏数据为加密信息,例如在图2的例子中,载体符号序列“LOVE”(220)为公开的信息,被传输数据“01101”(230)为加密信息;另一种情况是本发明的符号数字映射表(350)中符号集合、信留码集合、隐藏码集合以及它们之间的映射关系都不公开,则通信双方的原载体文件和被传输的隐藏数据均被加密。
本发明字体文件设计的
具体实施例方式图4字体文件(410)为本发明的多对一字体文件设计的一个示例,这种字体文件主要用于带有文本数字水印的信留码电子文件的显示。
如图4所示,容易得知,字体文件(410)用本发明的符号数字映射表中的信留码集合作为字体文件的符号数字编码集合,由此可知,该字体文件(410)满足本发明多对一字体文件的特征(1);在该字体文件(410)中,同一个符号对应的信留码集合映射的字模相同。例如,符号“A”对应的多个信留码{0041,E410,E411}都对应同一个字模 并且该字模反映了符号“A”的真实语义,因而该字体文件(410)满足本发明多对一字体文件的特征(2);在字体文件(410)中,不同符号对应的字模之间有相同的字体风格(种类),例如,符号“A”和“E”分别对应不同的字模 和 但是这两个不同字模有相同的字体风格(种类),它们都是Italic字体,所以该字体文件(410)也满足本发明多对一字体文件的特征(3)。由此可知,图4字体文件(410)满足本发明的多对一字体文件的全部特征。
图4字体文件(420)为本发明的一对一字体文件设计的一个示例,这种字体文件主要用于将带有文本数字水印的信留码电子文件打印为带有文本数字水印的印刷品文件。
如图4所示,容易得知,字体文件(420)用本发明的符号数字映射表中的信留码集合作为字体文件的符号数字编码集合,该字体文件(420)满足本发明一对一字体文件的特征(1);在该字体文件(420)中,同一符号对应的多个信留码与多个字模形成一一映射,例如,符号“A”对应的多个信留码{0041,E410,E411}对应不同的字模 这些字模都反映了符号“A”的真实语义,只是字体风格(种类)不同, 为“Italic”字体, 为“RomanC”字体、 为“BankGothic Md BT”字体,因而该字体文件(420)满足本发明一对一字体文件的特征(2);在字体文件(420)中,那些与相同的隐藏码对应的字模的字体风格(种类)相同,例如,符号“A”和“L”分别对应不同的字模集合 和 但是与同一个隐藏码“11111111”对应的字模 的字体风格(种类)相同,均为“Italic”字体,与同一个隐藏码“0”对应的字模 的字体风格(种类)均为“RomanC”字体,与同一个隐藏码“1”对应的字模 的字体风格(种类)均为“BankGothic Md BT”字体。同理,在整个字体文件范围内,隐藏码“00”,“01”“10”“11”均一一对应了不同的字体风格(种类)。因而该字体文件(420)满足本发明一对一字体文件的特征(3)。由此可知,图4字体文件(420)满足本发明的一对一字体文件的所有特征。
图5以示例的方式表示了带有数字水印信息的信留码序列在使用两种不同字体文件下的显示结果。例如,对于信留码序列“E4C0,E4F3,0056,E451”(240)来说,用多对一字体文件(410)和一对一字体(420)文件进行显示有不同的显示结果。
查阅多对一字体文件(410),信留码序列“E4C0,E4F3,0056,E451”(240)分别对应的字模为 组合后的显示结果是 (510),每个字模同为“Italic”字体,视觉上各符号的显示很协调。该显示结果 (510)与信留码序列(240)的对应是单向的,通过查询多对一字体文件(410),只能通过信留码序列(240)单向得到符号的显示结果(510),根据符号的显示结果(510)不能唯一确定信留码序列(240)。
查阅一对一字体文件(420),信留码序列“E4C0,E4F3,0056,E451”(240)分别对应的字模为 组合后的显示结果是 (520),每个字模属于不同的字体,视觉上各符号的显示有不协调之处,但能辨认出单词的语义信息。该显示结果 (520)与信留码序列(240)的对应是双向的,通过查询一对一字体文件(420),能通过信留码序列(240)得到符号的显示结果(520),也可以根据符号的显示结果(520)得到确定的信留码序列(240)。
本发明的数字水印设计技术的
具体实施例方式图6以内容验证水印为例子说明了本发明文本数字水印信息的加载过程。
本发明的文本数字水印设计技术的数字水印信息可以是任何电子数据。图6以内容验证水印信息作为例子,但本发明并不限于加载内容验证水印信息。
如图6所示,原文本文件(610)通过内容摘要产生装置(620)生成内容验证报文,然后加密装置(630)利用密钥(631)对内容验证报文进行加密形成内容验证水印(632)。需要声明的是已有众多的现有技术可产生内容摘要和进行加密,本发明并不基于哪种特别的技术。
文本水印合成装置(640)将内容验证水印(632)或其他的水印信息(641)作为被传输的数据,原文本文件作为载体文件,按照本发明的隐藏数据通信方法中的数据加载方法,将被传输的数据加载到载体文件上,得到一个携带了数字水印信息的信留码文件(650)。该文件可以通过拷贝、网络传送等方式提供给其他电子文件使用者(660)进行利用。
利用文字处理软件(670)读取带有文本数字水印信息的信留码文件(650),同时,选用一对一字体文件(671),通过打印装置(680)进行带有文本数字水印信息的信留码文件(650)的打印,则可以得到带有水印的印刷品文件(681)。在直观上,从该带有水印的印刷品文件(681)中,可以识别出原文本文件的语义信息,只是符号字体发生了变换,与原文本文件相比较,视觉上存在一定程度的误差,这种符号字体上的变化反映了印刷品文件中携带的水印数据信息。例如,图2所示的原文件序列“004C,004F,0056,0045”(210)对应的符号序列为“LOVE”(220),对应的信留码序列为“E4C0,E4F3,0056,E451”(240),用图4中一对一的字体文件(420),按照图5所示,打印的结果为 (520)。与正常显示结果(510)相比,该打印符号序列(520)的语义信息没有变化,只是字体发生了变化,字体变化的信息对应了用隐藏码表示的水印信息“01101”(230)。该带有水印的印刷品文件(681)可以用复印等方式传递给其他印刷品文件使用者(690)。
图7的一部分显示了本发明对带有文本数字水印信息的信留码文件(710)进行水印信息提取的过程。
水印分解装置(740)使用本发明隐藏数据通信方法的数据分离方法分离信留码文件(710),得到水印信息(内容验证水印(760)或其他水印(741))和原文本文件(750)。如果水印信息为内容验证水印(760),一方面用与加密密钥(631)相关的解密密钥(771)通过解密装置(770)得到文本的验证报文,另一方面使用与生成内容验证报文相同的方法对原文本文件(750)提取内容摘要,得到另一个验证报文,将两种验证报文输入到内容验证装置(780)中进行比较,得出验证结果(790)。与内容验证水印加载过程相似,内容验证水印提取过程并不特定和某种内容验证技术和解密技术相关,可选用与内容验证水印加载过程相应的技术,这些内容验证技术和加解密技术的实现细节不包括在本发明内,通过现有技术实现。
图7的另一部分显示了本发明对带有文本数字水印信息的信留码文件(710)进行显示和打印的过程。文字处理软件(720)读入带有文本数字水印信息的信留码文件(710),然后根据用途选择恰当的字体文件(721)进行后续处理。
如果希望正常使用原文本文件,如阅读信留码文件(710)表示的原文本文件的内容,不涉及处理数字水印信息,则使用如图4中所示的多对一字体文件(410)。这样,尽管一个符号可能对应多个信留码,但这些信留码在字体文件中仅对应一个字模,因而也只对应一种字体。例如,对于图5所示的信留码序列“E4C0,E4F3,0056,E451”(240),使用图4中的多对一字体文件(410),通过显示装置(731)显示的结果为 (510),所有符号为同一种字体“Italic”。带有水印信息的信留码文件(710)通过这种方式的显示结果不会给人在视觉上造成任何影响。同时,以这种字体文件通过打印装置(730)打印的印刷品文件,为去掉了水印信息的常规印刷品文件(7301),可作为普通印刷品文件使用。
如果希望将带有水印信息的信留码文件(710)打印为带有水印信息的印刷品文件(7302),或在屏幕上预览带有水印信息的信留码文件(710)的打印效果,则使用如图4中所示的一对一字体文件(420),具体使用方法与图6加载数字水印过程中进行带有水印信息的印刷品打印的方法相同。
图8显示将带有水印的印刷品文件(810)转化为带有数字水印的信留码电子文件(840)的过程。
利用字符识别装置(820)对带有水印的印刷品文件(810)上的符号进行语义上的识别,确定符号的语义信息,明确印刷品上的符号在本发明符号数字映射表中对应的符号。例如,印刷品上的符号序列为 (520),用文字识别技术确认其在符号数字映射表(110)中对应的符号序列为“LOVE”(220)。
根据符号的语义信息,和如图4所示的一对一字体文件(420),利用字体识别装置(850)确定印刷品上的符号的字体风格(种类),从而确定与该符号对应的隐藏码。符号序列对应的隐藏码序列中,除去固定隐藏码后的剩余隐藏码序列为数字水印信息。例如,可以查询图4所示的一对一字体文件(420),确定 (520)的字体风格(种类),得到该符号序列对应的隐藏码为“0”,“11”,“11111111”,“01”,其对应的数字水印信息为“01101”(230)。
根据符号的语义信息和对应的隐藏码,查找本发明的符号数字映射表,使用文件合成装置(830)获得印刷品上的符号序列对应的信留码序列,从而得到信留码电子文件(840)。例如,对于印刷品符号序列 (520)来说,通过前述步骤得到的在本发明的符号数字映射表中对应的符号序列为“LOVE”(220),其对应的隐藏码为“0”、“11”、“11111111”、“01”,查询符号数字映射表(110),可得对应的信留码序列为“E4C0,E4F3,0056,E451”(240),从而得到与原带有水印信息的印刷品文件对应的带有数字水印信息的信留码电子文件(840)。
将带有水印信息的印刷品文件转化为带有数字水印的信留码电子文件后,可以使用前述的数字水印提取方法进行数字水印信息和原始文本文件的分离。
需要说明的是,在同一个文本数字水印设计系统中,水印信息的加载、提取、显示、打印过程及相关的字体文件应使用同一个符号数字映射表。本发明的所有例子均使用图1所示的符号数字映射表(110)。
权利要求
1.一种将符号编码成数字代码的方法,该方法通过符号数字映射表等价体现。该符号数字映射表的特征是(1)至少包括一个符号集合和两种数字代码集合(分别称为信留码集合和隐藏码集合,其中的元素称为信留码和隐藏码)。(2)至少存在一个符号,与信留码和隐藏码分别形成一对多的映射关系。(3)在满足特征(2)描述的所有符号中,至少存在着一个这样的符号在与该符号对应的多个信留码和多个隐藏码中,至少存在一个信留码子集(包括全集或真子集,以下术语“子集”有相同含义),和一个隐藏码子集,使得这两个子集之间的元素形成一一映射的关系。(4)在满足特征(3)描述的所有符号中,至少存在着这样一个符号子集该符号子集中不同符号各自对应的、按照特征(3)所描述的信留码子集(与隐藏码子集有一一映射的关系)之间没有重复元素。
2.如权利要求1声称的符号数字映射表(等价于将符号编码成数字代码的方法),该符号数字映射表的特征是(1)每一个符号至少有一个信留码和一个隐藏码与之对应。(2)不同符号对应的信留码之间不重复。(3)对同一个符号来说,该符号对应的信留码集合和隐藏码集合的元素个数相等,并且这两个集合中的元素形成一一映射关系。
3.如权利要求1或2声称的符号数字映射表(等价于将符号编码成数字代码的方法),该符号数字映射表的特征是符号数字映射表的符号集包含UCS编码标准(ISO 10646)定义的符号集的子集,在该子集中至少存在一个这样的符号与该符号对应的信留码集合中,存在一个信留码等于这个符号在UCS标准中规定的符号编码值(对应的Unicode码值)。
4.如权利要求1或2声称的符号数字映射表(等价于将符号编码成数字代码的方法),该符号数字映射表的特征是符号数字映射表的符号集中包含中国国家标准GB18030定义的符号集的子集,在该子集中至少存在一个这样的符号与该符号对应的信留码集合中,存在一个信留码等于这个符号在GB18030标准中规定的符号编码值。
5.如权利要求1或2声称的符号数字映射表(等价于将符号编码成数字代码的方法),该符号数字映射表的特征是符号数字映射表中存在这样一个符号子集该子集中不同符号对应的隐藏码集合之间,存在一个相等的隐藏码,即有一个相同的隐藏码与该符号子集中所有的符号对应。
6.一种将电子数据加载到符号序列中的方法,该方法包括以下步骤(1)为符号序列中的符号,选择合适的隐藏码,使得该符号序列对应的隐藏码序列等于被加载的电子数据,或可根据规则将该隐藏码序列无歧义地对应到被加载的电子数据上。(2)查询如权利要求1、2、3、4或5中声称的符号数字映射表,得到与该符号序列和该隐藏码序列对应的信留码序列。
7.一种从信留码序列中分离数据的方法,该方法包括以下步骤(1)根据权利要求1、2、3、4或5中声称的符号数字映射表,查询信留码序列中信留码对应的符号和隐藏码。(2)分别组合符号和与之对应的隐藏码,得到与原信留码序列对应的符号序列和隐藏码序列,该符号序列对应载体数据,隐藏码序列对应被加载的数据。
8.一种隐藏数据通信方法,该方法具有以下特征(1)以信留码编码文件作为隐藏数据载体。(2)用权利要求6所声称的方法进行数据加载。(3)用权利要求7所声称的方法进行数据分离。
9.一种数据加密的方法,该方法有以下特征(1)以权利要求1、2、3、4或5中声称的符号数字映射表作为加密密钥和解密密钥。(2)按照权利要求6声称的数据加载方法,将需要加密的数据加密为信留码序列。(3)按照权利要求7声称的数据分离方法,将信留码序列解密为原数据。
10.一种字体文件,其特征在于在该字体文件中,至少存在一个这样的符号编码集合该编码集合中的多个编码反映同一个符号的语义信息,且该集合中的多个编码映射同一个字模或形状相同的多个字模。
11.一种字体文件,其特征在于在该字体文件中,至少存在一个这样的符号编码集合该编码集合中的多个编码反映同一个符号的语义信息,且该集合中的多个编码与形状不同的多个字模存在一一映射关系。
12.一种文本数字水印设计方法,它包括以下特征(1)将数字水印信息作为被加载电子数据,将文本电子文件作为载体文件,按照权利要求6声称的数据加载方法,将数字水印信息嵌入到载体文件中。(2)使用权利要求7声称的数据分离方法将带有数字水印信息的电子文件分离为数字水印信息和载体文件。
13.如权利要求12所述的文本数字水印设计方法,它包括以下特征使用如权利要求10声称的字体文件进行文件的电子显示或印刷品的打印。
14.如权利要求12所述的文本数字水印设计方法,它包括以下特征使用如权利要求11声称的字体文件进行文件的电子显示或印刷品的打印。
15.如权利要求12、13或14所述的数字水印设计方法,其特征是将需要进行内容验证的文件自身作为载体文件,并将根据该文件自身内容产生的验证报文作为数字水印信息。
16.一种将符号的字体信息保存在符号自身数字编码中的方法,其特征是用权利要求1、2、3、4或5声称的将符号编码成数字代码的方法,将符号编码成信留码,用信留码对应的隐藏码表示符号的字体信息。
全文摘要
本发明提供了一种以文本为载体、并以符号的冗余编码保留隐藏信息的隐藏数据通信方法,以及与该方法相关的文本数字水印嵌入、显示、打印和提取的技术。本发明包括多项紧密相关的内容(1)将符号编码成数字代码的若干方法;(2)利用文本电子文件为载体进行隐藏数据通信的方法;(3)两种字体文件的设计方法;(4)一种电子文件文本数字水印设计方法(5)一种印刷品文件文本数字水印设计方法。本发明的文本数字水印技术具有兼容性强、视觉误差小、抗攻击能力强、容量大等特点。
文档编号H04N1/32GK1599405SQ20041004030
公开日2005年3月23日 申请日期2004年7月26日 优先权日2004年7月26日
发明者刘 东 申请人:刘 东