具有低失真的多媒体印水印技术的制作方法

文档序号:6477460阅读:237来源:国知局

专利名称::具有低失真的多媒体印水印技术的制作方法
技术领域
:本公开总的来说涉及图像处理,且更具体地说涉及用于将水印信息嵌入到图像中的技术。
背景技术
:随着多媒体应用逐渐普及和关于因特网的技术和无线技术的进步,在比如图像的数字介质的使用上存在快速增长。例如,现在可通过万维网访问许多图像。但是,因为这些数字图像的可访问性,它们可以由非授权用户容易地下载和使用以用于非期望的目的。结果,数字印水印(watermarking)技术通常用于通过将比如随机序列或标志的信息隐藏到介质中来证明数字介质的所有权和真实性。为增强图像中水印的安全性,可以理解应该以感知为透明和坚固的方式将水印嵌入图像中。但是,大多数现有的图像印水印技术是有损的且在嵌入处理期间将永久失真引入主图像(hostimage)中,这导致主图像中永久的峰值信噪比(PSNR)损失。结果,许多现有的印水印技术不能应用于医学、军事和/或对嵌入失真敏感并禁止信号保真度的永久损耗的应用。因此需要无损的、可逆的印水印方案用于这种应用,其中在从主信号提取水印的情况下可以完全地恢复初始的主信号(hostsignal)。已经提出了用于可逆的印水印的算法;但是,与通过有损印水印算法可实现的相比,这种算法的有效载荷非常(prohibitively)小。另外,在利用仅包括黑色和白色像素的黑白半色调(halftone)图像的比如书、杂志、报纸、打印机输出和传真文件之类的应用的特定实例中,隐藏比如公司标志(logo)之类的附加值不可见数据用于版权保护和/或认证目的通常是合乎需要的。但是,大多数现有的数据隐藏算法不能容易地应用于将数据嵌入到这些和/或类似的半色调信号中。考虑到此,存在用于数字图像的有效率的和高有效载荷的印水印技术的需要。
发明内容以下呈现了所要求保护的主题的简化的内容,以提供所要求保护的主题的某些方面的基本理解。该内容不是所要求保护的主题的宽泛概述。其既不意在标识所要求保护的主题的关键或重要元素,也不描绘所要求保护的主题的范围。其目的仅在于以简化形式呈现所要求保护的主题的某些概念,以作为之后呈现的更具体的实施方式的前奏。本公开提供了用于半色调图像的低失真印水印的系统和方法论。根据一个方面,平衡在图像的多个像素和/或区域之间的奇偶性(parity)关系以减少在图像中嵌入水印要求的变换(toggling)量,由此增加水印效率和减少在已印水印的图像中引入的视觉产物。在一个实例中,可以利用块重叠的奇偶性校验(B0PC)算法以扩展现有的半色调图像数据隐藏算法,比如数据隐藏智能对变换(DHSPT),以改善使用这种常规算法印水印的图像的视觉质量。通过确定和平衡用于主图像的块重叠奇偶性校验的各个性质,可以减少要求DHSPT和/或类似的现有数据隐藏算法变换操作的对数。在另一实例中,可以使用香槟锥体(champagnepyramid)奇偶性校验(CPPC)算法和/或基于树的奇偶性校验(TBPC)算法以改善通过现有的可逆印水印技术处理的图像的视觉质量。通过将嵌入主图像的数据的候选地点表示为分级结构,CPPC算法和/或TBPC算法可以减少在水印插入处理期间要求的像素改变的总数,由此增加效率和减少被引入已印水印的图像中的失真。为实现上述和有关技术,在这里结合以下说明书和附图描述了所要求保护的主题的某些说明性方面。但是,这些方面指示其中可以采用所要求保护的主题的原理的各种方式中的几个。所要求保护的主题意在包括所有这种方面和它们的等效。当结合附图进行考虑时,所要求保护的主题的其他优点和新颖特征可以从以下具体说明中变得明显。图1是根据各个方面用于处理和传递图像的系统的高级框图。图2-图3是根据各个方面的用于在图像中嵌入信息的各个系统的框图。图4是根据在这里描述的各个方面用于执行在半色调图像中隐藏数据的实例技术的系统的框图。图5-图6图示可以结合在这里描述的一个或多个数据隐藏技术执行的实例制图操作。图7-图8图示可以结合在这里描述的一个或多个数据隐藏技术执行的实例气泡形成(bubbleformation)操作。图9图示可以结合在这里描述的一个或多个数据隐藏技术执行的实例变换操作。图10是根据在这里描述的各个方面实现用于在图像中嵌入二进制标志的实例技术的系统的框图。图11-图13图示可以结合在这里描述的一个或多个数据嵌入技术使用的实例数据结构。图14-图15图示可以结合在这里描述的一个或多个数据嵌入技术执行的实例更新和变换操作。图16是根据在这里描述的各个方面的便利图像的印水印的系统的框图。图17图示对于在这里描述的一个或多个印水印技术可以使用的实例数据结构。图18-图19图示可以结合在这里描述的一个或多个印水印技术执行的各个操作。图20-图23是用于在图像中嵌入水印信息的各个方法的流程图。图24是其中可以实现在这里描述的各个方面的实例操作环境的框图。图25是其中可以实现在这里描述的各个方面的实例网络计算环境的框图。具体实施例方式现在参考附图描述所要求保护的主题,其中相同的附图标记用于表示全文中相同的元件。在下面说明中,为了说明的目的,陈述许多细节以提供所要求保护的主题的彻底的了解。但是,显然可以实践所要求保护的主题而没有这些细节。在其它情况中,以框图形式示出了已知的结构和装置从而便利描述所要求保护的主题。如用在该申请中的,术语"组件"、"系统"等意在指与计算机有关的实体,或者硬件,或者硬件和软件的组合,或者软件,或执行中的软件。例如,组件可以是,但是不限于是在处理器上运行的处理、处理器、对象、可执行的、执行的线程、程序和/或计算机。通过图示的方式,在服务器上运行的应用和服务器可以是组件。一个或多个组件可以驻留于处理和/或执行的线程内且组件可以位于一个计算机上和/或分布在两个或多个计算机之间。并且,所要求保护的主题的方法和设备,或其某些方面或部分可以采取以可触知的介质具体表现的程序代码(即,指令)的形式,可触知的介质比如软盘、CD-ROM、硬盘、或任意其他机器可读的存储介质,其中,当将程序代码载入或由比如计算机之类的机器执行时,机器变为用于实践所要求保护的主题的设备。组件可以经由本地和/或远程处理,比如根据具有一个或多个数据分组的信号来通信(例如,来自与本地系统、分布式系统中另一组件交互的一个组件的数据,和/或在比如因特网的网络上以及经由信号的其他系统)。参考附图,图1图示了根据在这里描述的各个方面的用于处理和传递图像的系统100的高级框图。在一个实例中,系统IOO包括可以通过在主图像102中嵌入水印104,来从主图像102创建已印水印的图像120的印水印组件110。虽然在系统100中图示水印104为被从外部源提供到印水印组件IIO,应该理解可以替代地由印水印组件110内部地创建水印104。另外,虽然系统100图示二维图像的印水印,应该理解印水印组件110可以替代地接收三维或更多维的数据,比如在三个空间维度中的对象的图示和/或包括具有按时的各个持续时间的一系列二维视频帧的视频序列。在这种实例中,印水印组件110可以处理主信号的各个二维截面或帧作为一系列主图像102,印水印组件110可以将一个或多个水印104嵌入该一系列主图像102中以产生相应的已印水印的图像120。根据一个方面,可以利用印水印组件110以将二进制水印104嵌入到半色调主图像102中。如在这里和在现有技术中通常使用的,产生半色调图像以使得图像中的全部像素具有两个可能的像素值之一(例如,黑色或白色),其可以分别由二进制数字"0"和"1"表示。这种图像广泛地用于书、杂志、报纸、打印机输出、传真文件等以表示多色调灰度级图像。设计许多现有的数据隐藏技术用于多色调图像,且由此不应用于半色调图像。为了克服这些限制,印水印组件110可以实现一个或多个算法,比如块重叠奇偶性校验(BOPC)、香槟锥体奇偶性校验(CPPC)、基于树的奇偶性校验(TBPC)等以将水印数据嵌入半色调主图像102中。以下进一步地详细描述BOPC、CPPC和TBPC算法。根据另一方面,可以通过一个或多个通信信道将由印水印组件110产生的已印水印的图像120传递到可以通过从已印水印的图像120提取各个水印104来从已印水印的图像120恢复各个主图像102的提取组件130。在一个实例中,提取组件130可以获得已经通过采用比如BOPC、CPPC和/或TBPC之类的数据隐藏算法而嵌入在已印水印的图像120中的二进制水印104,以确定图像中的哪个像素提供关于水印104的数据。然后可以检查所确定的像素和/或它们的周围区域以确认包括水印104的数据。在一个实例中,可以从印水印组件110将由印水印组件110使用的水印104的尺寸和形状传递到提取组件130和/或由提取组件130已知地演绎。为便利在系统100的实体之间的已印水印的图像120的通信,可以使用一个或多个有线(例如,以太网、IEEE-802.3,等)和/或无线(IEEE-802.ll,蓝牙TM等)网络连接技术。另外,提取组件130可以直接地连接到印水印组件110或通过第三方装置(没有示出)间接地连接。例如,提取组件130可以与从经由服务提供者(ISP)在因特网上提供介质内容的网络服务器接收已印水印的图像120客户计算机相关联。作为另一实例,提取组件130可以与经由比如全球移动电话系统(GSM)、码分多址(CDMA)通信系统之类的蜂窝式通信网络,和/或另一适当的蜂窝式通信网络访问介质内容的移动终端相关联。现在参考图2,提供用于在图像中嵌入信息的系统200的框图。根据一个方面,系统200可以包括印水印组件210,其可以接受出示图像和标志作为输入,便利将标志嵌入到初始图像中,并提供已印水印的图像作为输出。在一个实例中,为便利将标志嵌入到初始图像中以产生已印水印的图像,印水印组件210可以包含嵌入候选选择组件220、奇偶性校验组件230和/或数据隐藏组件240。根据一个方面,嵌入候选选择组件220可以搜索、扫描和/或以其它方式处理初始图像以识别在初始图像中用于嵌入数据的候选地点。在图像中的候选地点可以是单独的像素和/或连续的或非连续的像素的组。在一个实例,嵌入候选选择组件可以识别在图像中的"主"和"从"候选地点。基于主和从候选嵌入地点的设置,然后可以在变换主地点以另外变换具有相反的半色调值的相邻的从地点的情况下配置数据隐藏算法。通过这样做,可以保护包括主地点的图像区域的本地强度(intensity),由此改善图像的整体视觉质量。—旦嵌入候选选择组件220具有在图像中用于嵌入数据的所识别的候选地点,可以将该候选地点提供给奇偶性校验组件230。根据一个方面,奇偶性校验组件230可以将候选地点划分为组。这些组然后可以分别由构成各个组的候选地点的半色调值的奇偶性来表示特征。通过特定的非限定实例的方式,半色调值可以被表示为二进制数字"0"或"1",且这种半色调值的组的奇偶性可以是偶数-奇数的奇偶性,以使得例如,如果在具有半色调值"1"的组中候选地点的数目是奇数,则组的奇偶性是"1",且如果候选地点的数目是偶数,则组的奇偶性是"o"。但是,应该理解,这仅构成其中可以获得一组地点的奇偶性且可以使用任意适当技术的一个方式。根据一个方面,可以利用如由奇偶性校验组件230公式化的初始图像中候选地点的各个组的奇偶性以表示标志中的信息位。另外,奇偶性校验组件可以公式化候选地点的组以使得它们重叠,由此允许通过变换单个候选地点的半色调值来改变多个组的奇偶性。通过这样做,可以减少将标志嵌入到初始图像中所需的变换的量,由此增加嵌入效率并减少被引入已印水印的图像的失真。根据在这里描述的各个方面,奇偶性校验组件230可以利用用于将初始图像中的一组候选地点划分为组以便利图像的有效率的印水印的各种算法。在以下详细描述可以使用的算法的实例。在由奇偶性校验组件230的处理之后,由奇偶性校验组件230形成的在初始图像中的候选地点的组和它们的各自的奇偶性值可以被提供给数据隐藏组件240以便利将标志嵌入到初始图像中。在一个实例中,数据隐藏组件240可以比较标志的各个信息位与奇偶性或初始图像中候选地点的相应的组。如果确定标志中的信息位和其候选地点创建相应的组的奇偶性不匹配,则该组中的候选地点可以被变换以改变组的奇偶性以使得创建匹配。根据一个方面,由奇偶性校验组件230提供的候选地点的各个组可以共享候选地点和/或以其它方式重叠。结果,可以以单个变换操作改变多个组的奇偶性,由此减少将标志嵌入到图像中所需要的变换操作的量。在一个实例中,变换可以基于现有技术中通常已知的一个或多个技术,比如单个地点的简单变换或主/从地点对的一对变换。转到图3,图示用于在图像中嵌入数据的另一系统250的框图。根据一个方面,系统250可以包括图像处理组件260,其可以接收初始或主图像并以各个方式处理初始图像以产生已处理的图像。已处理图像和二进制标志然后可以被提供给印水印组件270,其与印水印组件210类似地工作,和/或根据在以下描述各个方面工作以将二进制标志嵌入已处理图像中。在一个实例中,印水印组件270可以操作以执行用于比如二进制半色调图像之类的特定类别图像的印水印,且图像处理组件260可以接收初始图像并处理图像,使得其符合在其上印水印组件270操作的图像的类别。在特定的非限定实例中,印水印组件270可以操作以将二进制标志嵌入到二进制半色调图像中,且图像处理组件260可以接收连续的或多色调图像,比如灰度级图像等。在这种实例中,图像处理组件260可以通过,例如,将在具有超过给定阈值的多色调值的多色调图像中的像素转换为第一半色调值,并将具有低于阈值的多色调值的多色调图像中的像素转换为第二半色调值,而将多色调图像转换为半色调图像。然后可以由印水印组件270根据在这里提供的各个方面将二进制标志嵌入产生的半色调图像中。在另一特定的非限定实例中,图像处理组件260可以接收在印水印组件270将二进制标志嵌入其中的彩色图像。在这种实例中,图像处理组件260可以以多种方式处理初始彩色图像。例如,图像处理组件260可以将初始彩色图像划分为它的单独的颜色分量,然后可以对单独的颜色分量进行分别地半色调操作以创建一系列颜色半色调的图像。作为特定的图示,在这种实例中的图像处理组件可以将彩色图像划分为三个图像,其分别仅包括图像的红色、蓝色和绿色分量。然后可以将这些分量图像分别地半色调操作并提供给印水印组件270以便在其中嵌入数据。作为另一实例,图像处理组件260可以获得与在初始图像中的各个像素中呈现的颜色和/或色调对应的二进制值。这些二进制值然后可以被提供给印水印组件270,其随后可以将水印信息嵌入到表示初始图像的各个像素的二进制颜色值中。作为另外的实例,图像处理组件260可以接收二进制标志嵌入其中的几个彩色图像,比如动画图像。图像处理组件然后可以确定在图像中呈现的该组颜色,并将识别的颜色划分为两组,以使得第一组中的颜色表示第一二进制位且第二组中的颜色表示第二二进制位。几个彩色图像和颜色设置然后可以被从图像处理组件260提供给印水印组件270,其可以根据在这里描述的各个方面,根据需要,通过变换具有第一颜色组中颜色的像素到在第二颜色组中所选颜色(或反之亦然)来将二进制标志嵌入到图像中。可以以任意适当的方式选择用于在颜色组内变换的颜色。应该理解,仅通过图示的方式提供如上关于图3的操作所述的实例,且其不意在限制到如所附的权利要求的范围。应该进一步理解的是,虽然关于系统250的操作图示了一组实例,所述系统可以以任意适当的方式操作以便利将水印插入到图像中。现在转到图4,图示了用于根据在这里描述的各个方面执行用于在半色调图像中隐藏数据的实例技术的系统300的框图。在一个实例中,具有尺寸LxXLy的数字标志L310可以由印水印组件340嵌入到具有尺寸SxXSY的初始或主半色调图像S320中以形成已印水印的半色调图像W330。根据一个方面,印水印组件340可以实现用于将标志310嵌入到初始图像320中的B0PC算法。如图4所示,印水印组件340可以通过利用子组件342-350来实现B0PC算法。首先,初始图像320可以被提供给主/从像素选择组件342以便于在初始图像320中识别候选主像素和从像素,用以嵌入与标志310对应的数据。在一个实例中,主/从像素选择组件342可以以与现有的数据隐藏智能对变换(DHSPT)算法类似的方式在初始图像320中选择候选像素。更具体地说,类似DHSPT算法,主/从像素选择组件342可以选择用于隐藏数据的一组伪随机位置。另外,主/从像素选择组件342可以配置主和从像素组以使得如果变换初始图像320中的主像素,还可以迫使变换具有相反的半色调值的相邻的从像素,以保护本地强度和提供产生的已印水印的图像330的好的视觉质量。但是,不像比如DHSPT的现有算法,印水印组件340包括借用DHSPT的强度同时改善性能的附加特征。例如,由主/从像素选择组件342识别的主和从像素组可以被提供给块重叠奇偶性校验组件344,其可以根据所识别的像素组创建比如主图(masterm即)和奇偶性图的数据结构,以与比如DHSPT之类的现有数据隐藏技术相比,减少数据隐藏需要的变换的量。变换图形成组件346然后可以用于通过比较由块重叠奇偶性校验组件产生的奇偶性图与标志310而产生用于初始图像310的变换图。一旦产生变换图,气泡形成组件348可以处理变换图以选择在初始图像320中应用智能对变换的位置。最后,可以使用一对变换组件350来通过在由气泡形成组件348确定的位置变换初始图像320的像素,而在初始图像320中嵌入标志310从而产生已印水印的图像330。根据一个方面,印水印组件340可以采用如下的用于将标志310嵌入到图像320中的B0PC算法。首先,主/从像素选择组件342可以将在初始图像S中的像素划分为主像素和从像素的组。在一个实例中,如果必要可以由一对变换组件350变换主像素以存储嵌入的标志数据。当变换主像素时,可以另外以互补的方式变换相邻的从像素,以保护图像320中的本地强度。通过特定实例的方式,可以由主/从像素选择组件342使用具有已知种子K的伪随机数发生器以在图像S产生一组(2LX+1)X(2LY+1)个伪随机位置,其然后可用作主像素。由图4中的主图像410图示主像素选择的实例。根据一个方面,该对变换组件350可以变换相邻的主像素和从像素对。因此,可以由主/从像素选择组件342选择主像素以使得每个主像素由在它的各自的3X3邻域中的八个从像素围绕。基于由主/从像素选择组件342确定的主像素位置,块重叠奇偶性校验组件344可以将主像素聚集在一起以形成主图M。主图聚集的实例由图5中的主图420图示。块重叠奇偶性校验组件344然后可以进一步在位置映射表430中存储在主图420和主图像410中各个像素的位置。在主图M中的元素然后可以由块重叠奇偶性校验组件344划分为重叠块,如图6中的图500所示。虽然图500图示了主像素的3X3块,应该理解由块重叠奇偶性校验组件344创建的块可以是任意适当的尺寸。另外,块在尺寸上可以是统一或不统一的。根据一个方面,印水印组件340可以使用主图M中块的奇偶性隐藏一个标志位。因此,尺寸LXXLY的奇偶性图P可以由块重叠奇偶性校验组件344形成,如根据以下等式的图500图示的<formula>formulaseeoriginaldocumentpage11</formula>(1)类似地,对于从已印水印的图像330提取标志310,可以由伪随机数发生器以与用于印水印相同的种子K建造主图,且可以再次基于等式(1)形成奇偶性图。没有任何攻击,可以理解在提取期间产生的奇偶性图应该显得与在印水印组件340的水印输入相同。在一个实例中,基于奇偶性图P和标志L310,变换图形成组件346可以如下操作。为将标志310嵌入到图像320中,可以理解应该在Pij不同于的位置变换值Pij,使得奇偶性图P匹配标志L。因此,可以通过比较在P和L之间执行像素方式的逻辑异或(XOR)操作来形成变换图T。这些操作可以如下表示<formula>formulaseeoriginaldocumentpage11</formula>(2)可以理解如果和对于某些i和j相同,则I.将是零且不要求变换。另一方面,如果Pij和Lij不同,则Tij将等于"l"。结果,集中在M(2i)②)的块中的像素之一可以由一对变换组件350变换以使得Pij等于Lij。在一个特定的非限定实例中,主图M中的所有块可以被配置以与它们的各自的邻居重叠以使得某些主像素可以由多于一个块共享。因此,对于1《i《k和1《j《LY,共享在给定位置的主像素的块的数目由以下表1给出<table>tableseeoriginaldocumentpage11</column></row><table>表1:根据像素位置共享主像素的主图块的数目。根据一个方面,由印水印组件340执行的BOPC算法在选择像素时可以利用表1所示的像素共享特性来变换,由此实现改善的视觉质量。如可以从表1中看到的,与图像对应的在主图M中的单个变换可以导致在奇偶性图P中一个、两个、或四个信息位的变换。因此,为最小化嵌入标志310需要的变换的量,可以如下使用气泡形成组件348。在一个实例中,气泡形成组件348可以形成类似变换图T中的值的组,或"气泡"。可以由气泡形成组件348使用的气泡布置的实例如图7中的图600所示。最初,变换图T中具有值"1"的每个位置可以被初始化为具有1X1的尺寸的基本气泡。遵循该操作,可以将相邻的气泡合并在一起以形成各个复合气泡。用于这些复合气泡的可允许的布置的实例如图600所示。根据一个方面,气泡形成组件348可以以使用最小量的气泡包围在变换图7中的所有值"l"的目标来操作。在一个实例中,元素T可以被更新为它们分别被装入气泡中以反映与其中它们已经被装入的气泡类型对应的组编号。该处理的实例如图8中的图700所示。在另一实例中,气泡形成组件348可以如下利用双行程方法来以低的计算复杂性实现少量气泡。在第一行程中,可以以光栅扫描次序扫描变换图T。在该行程中,如图600所示属于组4的任意气泡(例如,相邻的"1"值的2X2组)可以标记有值"4"。在第二行程中,然后可以再次以光栅扫描次序扫描变换图T。如果发现元素Tij具有值"l",且可以聚集到组2或者组3气泡中,如图600所示,可以检查从Tu垂直向下和从Tu水平向右的连续的"l"值的数目。在一个实例中,如果发现垂直运动(run)是偶数且发现水平运动是奇数,可以将I聚集到组2气泡中。否则,可以使用组3气泡。应该理解,每嵌入位的气泡的期望数目与嵌入的标志310的尺寸相关。可以进一步理解例如,在两个条件下气泡的期望数目可以减小。首先,如果其中嵌入标志310的图像320的尺寸以一个或多个方向增加,则气泡的期望数目可以减小。该条件是由于随着在变换图T中呈现的元素的数目增加的事实,这很可能是因为小的气泡合并以形成大的气泡。其次,如果在图像320的尺寸之间的差值增大,用于给定的水印有效载荷气泡的期望数目可以减小。该条件由于在图像尺寸之间大的差值通过提供更多的内部边缘而促成气泡的合并的事实而成立。根据一个方面,每个气泡表示主图像320中的一对变换,如注意的上述可以导致已印水印的图像W330的视觉质量的下降。例如,在现有的DHSPT算法中,每一嵌入位要求的变换操作的期望数目是0.5。但是,通过利用块奇偶性和气泡形成,BOPC算法对于128X128标志,可以将每一嵌入位的变换操作(例如,气泡)的期待数目减少为0.26。在经由气泡形成组件348的气泡形成之后,可以由对变换组件350执行智能对变换以完成如下印水印处理。在气泡形成处理之后,在气泡形成处理之后,可以理解在变换图T中的气泡的数目表示在相应的主图M中要求的像素变换操作的数目。在一个实例中,I.可以表示变换图T中的气泡的以光栅扫描次序的第一元素。基于Tij,可以基于Tij属于的气泡组由对变换组件350选择主像素,如以下表2所示组像素位置1M2i,2j2M2i+l,2j3M2i,2j+14M2i+l,2j+l表2:对于由气泡组的变换的所选的主像素位置。由图9的图800示出实例变换操作。如图800所示,在发现在要变换的主图像320中的所有主像素位置之后,可以关于主图像320执行智能对变换。在一个实例中,由对变换组件350执行的变换可以经受互补变换伙伴必须对于已变换的主像素中从像素组中出现的约束。现在转到图IO,提供实现根据在这里描述的各个方面在图像920中嵌入二进制标志910的实例技术的系统900的框图。在一个实例中,可以由印水印组件940将二进制标12志910嵌入到初始或主图像920中以形成已印水印的半色调图像930。根据一个方面,印水印组件940可以实现用于通过利用子组件942-952将标志910嵌入到初始图像920中的CPPC算法。根据一个方面,可以由印水印组件940使用CPPC算法来通过减少在水印插入处理期间在初始图像920中要求改变的位置的总数,来改进已印水印的图像930的视觉质量。在一个实例中,可结合现有的数据隐藏和/或印水印算法使用CPPC算法来将标志910嵌入到数字图像920中。更具体地说,可以使用CPPC算法以改进这种现有技术,由此改进产生的已印水印的图像930的视觉质量。印水印组件940可以通过借用这些技术的各种元件的功能性并应用附加元件来改进它们的性能,从而扩展传统的数据隐藏和/或印水印技术的功能性。通过特定的非限定实例的方式,印水印组件940可以利用通常在现有的印水印算法中找到的三个步骤。首先,印水印组件940可以包括可嵌入地点发现组件942,其可以在目标域中的主图像920中搜索在主图像920内的适于嵌入处理的位置。如在这里使用的,这些位置被简单地称为"可嵌入位置"。其次,印水印组件940然后可以可嵌入位置的半色调值分类为组。例如,具有半色调值"O"的位置可以被分类到第一组中,同时具有半色调值"l"的位置可以被分类到第二组中。第三,可以使用比较组件948和/或水印插入组件952以迫使在初始图像920中识别的可嵌入位置包含与标志910中的相应的信息位相同的值。根据一个方面,印水印组件940可以利用CPPC算法来通过采用三个附加的子分量而扩展这种现有技术的功能性。首先,可以在主图像920中的可用的所有可嵌入位置的搜索之后使用香槟锥体形成组件944。在香槟锥体形成之后,奇偶性计算组件946可用于识别具有与标志910相同大小的与主图像920中的可嵌入位置对应的信息位的阵列。在比较识别的阵列与标志之后,可以使用味道添加最优化组件950以找到必须变换的位置的最小数目以使得信息位的识别的阵列匹配标志910。然后可以关于由味道添加最优化组件950标记的位置,经由水印插入组件952处理水印插入。现在将进一步详细地描述香槟锥体形成组件944、奇偶性计算组件946和味道添加最优化组件950的操作。根据另一方面,可由印水印组件940使用的香槟锥体奇偶性校验算法被这样命名是因为其平衡可以以香槟锥体观察到的各个性质。例如,由编号1到15的15个酒杯建造的二维的5级香槟锥体1000如图11所示。可以理解,如果将香槟倒入锥体1000中最高的杯子,则香槟在向下溢出锥体1000时将充满最高杯子之下的全部杯子。类似地,在更复杂的方案中,无味道的香槟可以被导入在锥体1000的顶部的杯子1,同时可以将苹果味的香槟倒入杯子4。可以理解,随着时间经过且倾倒继续,锥体1000中的所有杯子将变为充满香槟。但是,考虑在锥体1000的底部行的杯子,可以理解杯子11到13在此时将包括苹果味的香槟同时杯子14和15则不包括。基于这些观察,可以从底部编号锥体1000的行。如图11所示,杯子11到15在第一行,且杯子1在第五行。因此,对于具有L级的锥体IOOO,如果将香槟倒入所述杯子直到其流出到锥体1000的底部行中,在锥体1000的底部行的N个连续的杯子将包含与在锥体1000的第N行上的杯子相同味道的香槟。结果,可以理解如果需要添加公共的味道到在底部行上的N个连续的杯子中,需要的味道可以被倒入椎体100的第N行的单个杯子而不是添加该味道到底部行的所有N个杯子。类似地,香槟锥体形成组件944可以将可嵌入位置布置为展现出上述性质的结构。在一个实例中,香槟锥体形成组件944可以将由可嵌入地点发现组件942识别的一组可嵌入位置和它们相应的二进制值作为输入。然后可以将这些位置中的每一个当做具有预定义的扫描次序的椎体结构中的酒杯。这种结构的实例如图12中的图1100所示。如图1100进一步图示的,可以由香槟椎体结构保持的信息位的数目等于在锥体的底部行的元素的数目。因此,因为在图像920中可嵌入位置的数目(例如,M)受限,且将要嵌入的标志910的尺寸(例如,L)固定,所以图像920中的可嵌入位置的数目可能不足以建造单个Z级香槟锥体。在此情况下,代替地可以建造多个N级锥体。在一个实例中,N可以由以下等式约束<formula>formulaseeoriginaldocumentpage14</formula>根据一个方面,使用CPPC嵌入到图像920中的隐藏信息可能取决于由香槟锥体形成组件944构造的一个或多个椎体结构的底部行。如上关于图IOOO所述的,流过该结构的数据可以被看作是从香槟锥体的顶部倒入的液体,以使得最终在锥体的底部行上的所有杯子被充满。因此,奇偶性计算组件946可以通过定义酒杯n的感兴趣区,R0I(n)作为属于从锥体的顶部杯子倒杯子n的可能的路径的杯子的组,来开始一个或多个椎体结构的处理。因此,对于椎体1000,ROI(ll)={1,2,4,7,11}且R01(13)={1,2,3,4,5,6,8,9,13}。如预先注意到的,锥体1000中的每个酒杯可以表示在图像920中的可嵌入位置及其相应的二进制值。因此,锥体1000中的每个酒杯可以包括"0"或"1"的值。基于此,奇偶性计算组件946可以对在锥体的底部行上每个杯子的感兴趣区域中的包括"l"的杯子的数目计数。在一个实例中,如果这种杯子的数目对于杯子是偶数,杯子的奇偶性被设置为"0"。类似地,如果这种杯子的数目对于给定杯子是奇数,该杯子的奇偶性可代替地被设置为"1"。在此计算之后,可以形成具有与要嵌入的标志910相同大小的信息阵列(IA)。图12中的图1100图示实例的奇偶性计算。在一个实例中,对于椎体结构的底部行上的每个节点,奇偶性计算组件946可以定义R0I,且然后对在所定义的区域中包括值"1"的节点的数目计数。通过特定的非限定实例的方式,可以通过利用ROI的各种性质来减少这种操作的计算复杂性。首先,对于在椎体结构的底部行上的每个节点x,奇偶性计算组件可以定义x的"左边源",LS(x),x的"右边源",RS(x),且x的"上部源",US(x),如图13中的图1200所示。应该理解,对于某些情况,LS(x),RS(x)和/或US(x)可以不存在。不存在的节点的ROI可以被表示为空集。以其它方式,对于节点x,可以如下计算ROI:ROI(US(x))=ROI(LS(x))nROI(RS(x)),(4)ROI(x)=R0I(LS(x))UR0I(RS(x))+{x}(5)=ROI(LS(x))+R0I(RS(x))-ROI(US(x))+{x}基于如等式(4)_(5)中计算的节点x的ROI,节点x的奇偶性可以被如下计算Pa,O)=Pa,("(x》④尸fl一(斷x》@尸a,(t/510》④jc.(6)因此,根据等式(6),奇偶性计算组件946可以利用如下的智能奇偶性计算方法。奇偶性计算组件946可以从锥体的顶部开始并以杯子编号的递增次序处理每个节点,如图1000所示。如果对于给定节点US(x)是"0",则不需要另外的操作。否则,由LS(x、RS(x)包括的值,和x可以如图14中的图1310和1320所示地变换。在奇偶性计算组件946产生IA的情况下,可以在比较组件948使用异-或(X0R)运算符以与被嵌入的标志910对应的阵列处理IA。对于在产生的阵列中出现的每个值"1",在椎体结构的底部行上的相应的位置可以被标记为"将有味道的"(TBF),如图15中的图1410所示。理论上,可以理解在锥体的底部行上的节点将被标记为具有概率O.5的TBF。然后可以由味道添加最优化组件950通过采用添加味道到香槟锥体的底部行上的N个连续的酒杯中等效于添加味道到在第N行的一个酒杯中的观察结果,来执行变换最优化。因此,如果椎体结构中的N个连续的节点被标记为TBF,味道添加最优化可以仅指定主图像920中的一个位置用于变换,而代替要求所有N个位置的变换。与水印插入和提取结合使用的味道添加最优化的实例如图15中的图1410和1420所示。如图15所示,给定如图12所示的椎体结构1100和5位标志{11000},可以执行IA的变换以获得产生的{01110}的阵列。如图1410所示,底部行上的第二、第三和第四节点然后可以被标记为TBF。但是,代替变换所有三个杯子,印水印组件940可以通过仅变换第三行上的一个杯子来完全嵌入标志。接下来参考图16,图示了根据在这里描述的各个方面的便利图像1520的印水印的系统1500。在一个实例中,可以由印水印组件1540将二进制标志1510嵌入到初始半色调图像1520中以形成已印水印的半色调图像1530。根据一个方面,印水印组件1540可以实现用于通过利用子分量1542-1554嵌入标志1510到初始图像1520中的TBPC算法。根据一个方面,可以由印水印组件1540使用TBPC算法作为用于现有的数据隐藏技术的插件(Plug-in)处理。因此,例如,印水印组件1540可以执行通常能够在现有的印水印算法中找到的各种动作。例如,印水印组件1540能够利用可嵌入地点发现组件1542来在主图像1520中搜索可嵌入地点,利用比较组件1548用于比较在可嵌入地点中包括的二进制值与对应的要嵌入的数据,和修改位置确定组件1552用于决定哪个可嵌入地点需要修改来保持将要嵌入的数据。然后可以基于经由修改组件1554的比较执行修改。可以理解当修改初始图像1520时失真被引入已印水印的图像1530。另外,可以理解因为没有先前信息是已知的,在可嵌入地点中包括的值可以被认为是独立于将要嵌入的数据。因此,对于每一单个的将要嵌入的位,初始图像要求修改的概率是0.5。大多数现有数据隐藏算法尝试最小化由这些修改创建的失真。相反,可由印水印组件1540使用的TBPC算法尝试减少修改初始图像1520的概率。根据一个方面,印水印组件1540可以利用TBPC算法来实现已印水印的图像1530的视觉质量的改进。在一个实例中,印水印组件1540可以采用树形成组件1544、奇偶性计算组件1546和/或喷泉调查组件1550来通过TBPC算法的方式扩展传统的数据隐藏方案的功能性。总的来说,TBPC算法可以允许印水印组件1540利用在N元树的祖先和后代当中的关系来改进已印水印的图像1530的视觉质量。以下讨论进一步详细地描述了树形成组件1544、奇偶性计算组件1546和喷泉调查组件1550的实例操作。如在这里使用的,嵌入15的标志的尺寸被表示为L。通过实例的方式,树形成组件1544可以如下操作。在现有的数据隐藏算法中,在找到图像的可嵌入地点之后,这些位置的值可以被分类为"0"或"1"。在分级之后,立即将这些值与相应的标志位相比较。如果各个值与将要嵌入的位相同,不执行进一步的操作。否则,执行一个或多个失真创建处理以变换值。相反,树形成组件1544可以填充(populate)N元完全树,在这里被称为"主树",具有由可嵌入地点发现组件1542发现的可嵌入位置的值。因为主树是N元完全树,除叶节点之外的主树的每个节点可以被配置为具有N个子节点。在一个实例中,可以使用一个叶节点来保持一个信息位。因此,可以理解要嵌入L位的标志1510,可以要求主树具有L片叶子。图17图示对于N二2和L二16,可以由树形成组件1544创建的实例主树1600。基于由树形成组件1544构造的主树,可以使用奇偶性计算组件1546以确定由主树中的每个叶节点表示的信息位。在一个实例中,这可以通过从主树的叶节点行进到根节点来对于叶节点实现。如果值"l"的出现数目是奇数,则叶节点的信息位可以被认为是"1"。否则,信息位可以被认为是"0"。这些计算进一步在图17中对于主树1600示出。接下来,通过在标志1510的各个位和由主树携带的信息之间执行逐位逻辑异或(XOR)操作,比较组件1548可以获得变换阵列。作为该比较的实例,可以观察到对于实例主树1600,所获得的信息阵列是{1110110101111000}。假定标志阵列是{0010001001011110},由比较组件1548获得的所产生的变换阵列变为{1100111100100110}。该比较由图18中的图1700所示。根据一个方面,变换阵列中的各个值"l"可以表示初始图像1520的相应的可嵌入位置要求变换的事实。但是,可以理解由初始图像1520中的任意单个修改引入视觉产物。因此,为改进已印水印的图像1530的视觉质量,可以使用TBPC来最小化变换阵列中值"l"的数目。回来参考图17,当小心地检查主树1600时,可以观察到在任意节点中的单个改变,或者从"l"到"0"或者从"0"到"1"可以造成所改变的节点的所有后代的奇偶性的改变。因此,代替改变主树1600中N个同胞节点的值,它们的公共的亲节点的单个改变可以给出相同效果。为平衡上述观察结果,喷泉调查组件1550可以建造具有与主树相同大小的变换树。在一个实例中,变换树的叶节点可以由变换阵列的元素以元素在变换阵列中出现的次序填充。在树中的剩余节点最初可以使用任意适当的值来填充。在一个实例中,喷泉调查组件然后可以在变换树的根处开始如下分析。对于给定节点,如果给定节点的所有N个子节点包括值"l",以值"0"更新子节点,且正在检查的节点可以被设置为"1"。否则,正在处理的节点可以被复位为"0"。用于以上给定的实例变换阵列的变换树生成和喷泉调查处理的实例如图1700所示。在一个实例中,为嵌入标志1510到初始图像1520中,然后可以变换与变换树中具有各个值"l"的位置对应的主树中的可嵌入地点。为解码以这样的方式产生的已印水印的图像1530,然后可以搜索可嵌入地点的相同序列并用于建造主树。在用于主树的奇偶性计算之后,所获得的信息阵列应该匹配与所嵌入的标志1510对应的标志阵列。实例解码处理如图19中的图1800所示。根据一个方面,可以找到印水印组件1540的最大可实现有效载荷如下。最初,可16以理解因为初始图像1520中的可嵌入地点的数目受限,可以在树形成处理中形成的主树的尺寸也受限。另外,如上所述,要求主树具有L个叶节点来表示L个标志位。因此,为形成具有L个叶节点的N元完全树,可以由以下等式找到要求的节点的总数,wiVc^M=1+W+iV屮…+A^,wherex二logw(丄)i'=0肌-l=-...Nx=L(7)W-l/W、r(-NL>>1.(8)W-l从等式(8),可以观察到随着N增加,在主树中要求的节点的数目减小。因此,因为可嵌入地点的数目受限,可以由印水印组件1540嵌入的有效载荷随着N增加而增加。对于固定的标志尺寸L和可嵌入位置M的可用数目,可以使用的最小数N可以如下找到M>-(9)iV》(10)根据另一方面,奇偶性计算组件1546可以使用如下的低复杂性奇偶性计算技术操作。首先,parity(x)可以被定义为在从主树的节点x到根节点的路径中"1"出现的数目的奇偶性。可以观察到使用位加,parity(x)等于parity(parent(x))的值加上节点x的值。因此,奇偶性计算组件1546可以从树的根开始横越主树,且对于正在处理的每个节点x,通过将节点x的奇偶性和节点y的值相加来更新其子节点y的奇偶性。现在参考图20到图23,图示了根据在这里描述的各个方面可以实现的方法论。同时,为了说明的简单性的目的,示出该方法论并描述为一系列块,应该理解和理解所要求保护的主题不由块的次序限制,因为根据所要求保护的主题,某些块可以与在这里示出和描述的不同的次序和/或与其他块同时出现。此外,不是全部图示的块可要求实现根据所要求保护的主题的方法论。此外,可以以由一个或多个组件执行的计算机可执行指令,比如程序模块的通用上下文描述所要求保护的主题。通常,程序模块包括执行特定任务或实现特定摘要数据类型的例程、程序、对象、数据结构等。典型地,在各个实施例中可以依照要求结合或分布程序模块的功能性。此外,如将要理解的,以上公开的系统的各个部分和以下的方法可以包括或由基于组件、子组件、处理、装置、方法论或机制的人工智能或学问或规则组成(例如,支持向量机、神经网络、专家系统、贝叶斯置信网络、模糊逻辑、数据合成引擎、分类器...)。其中,这种组件可以自动化执行的某些机制或处理由此使得系统的部分和方法更有适应性以及有效率和智能。参考图20,图示在图像中嵌入水印信息的方法2000。在2002,识别标志和其中嵌入标志的图像。在2004,发现在2002识别的图像中的候选位置(例如,由在印水印组件21017处的嵌入候选选择组件220)。在2006,形成在2004发现的候选位置的重叠组的集合(例如,由奇偶性校验组件230),以使得各个组对应于在2002识别的标志中的各个信息位。在2008,通过在2004发现的图像中变换候选位置,来至少部分地将标志嵌入到图像中(例如,由数据隐藏组件240),以使得在2006形成的候选位置的各个组的奇偶性匹配标志中相应的信息位的值。现在转到图21,图示嵌入二进制水印(例如,标志310)到半色调图像(例如,初始图像320)中的方法2100。根据一个方面,可以使用方法2100来实现用于产生已印水印的图像(例如,已印水印的图像330)的块重叠奇偶性校验(BOPC)算法。在2102,识别半色调图像和在图像中嵌入的二进制水印。在2104,在2102识别的图像中的像素被划分为主和从像素(例如,由在印水印组件340处的主/从像素选择组件342)。在2106,制图(m即)在2106确定的主像素(例如,由块重叠奇偶性校验组件344),且将相邻地制图的主像素集合成重叠块。在2108,构造奇偶性图表示在2106创建的主像素的各个块的奇偶性。在2110,使用从比较在2108构造的奇偶性图中各个位置的值与在2102识别的二进制水印中的相应的位获得的结果来产生变换图(例如,由变换图形成组件346)。在2112,与在2110在奇偶性图和水印之间确定的差异对应的变换图中的位置被集合成一个或多个预定大小的气泡(例如,由气泡形成组件348)。在2114,通过在2110产生的变换图中变换(例如,经由对变换组件350)与在2112创建的每个气泡对应的主像素和邻居像素来在图像中嵌入水印。图22图示将二进制标志(例如,标志910)嵌入到半色调图像(例如,初始图像920)中的方法2200。根据一个方面,可以使用方法2200来实现用于产生已印水印的图像(例如,已印水印的图像930)的香槟锥体奇偶性校验(CPPC)算法。在2202,识别半色调图像和在图像中嵌入的二进制标志。在2204,识别用于嵌入数据在2202识别的图像中的候选像素(例如,由在印水印组件940处的可嵌入地点发现组件942)。在2206,构造具有与在2204识别的候选像素对应的节点的二进制椎体结构(例如,由香槟锥体形成组件944),以使得在椎体结构的底部行的节点的数目等于在2202识别的二进制标志中位的数目。在2208,对于在2206构造的锥体的底部行的每个节点,对于各个节点和在椎体中相应节点作为其直接或间接的后继的所有其它节点的组合集合来计算奇偶性(例如,由奇偶性计算组件946)。在2210,在2208计算的在锥体的底部行的各个节点的奇偶性被与标志的相应的位比较(例如,由比较组件948)。在2212,识别在2210的比较指示具有不同于相应的标志位的奇偶性值的节点的后继组(successivegroup)(例如,由味道添加最优化组件950)。在2214,通过变换与在2212识别的组的各个最低公共前任节点对应的像素(例如,使用水印插入组件952)来至少部分地该图像中嵌入标志。转向图23,图示将二进制水印(例如,标志1510)嵌入到半色调图像(例如,初始图像1520)中的另一方法2300。根据一个方面,可以使用方法2300来实现用于产生已印水印的图像(例如,已印水印的图像1530)的基于树的奇偶性校验(TBPC)算法。在2302,识别半色调图像和在图像中嵌入的二进制水印。在2304,发现在2302识别的图像中的可嵌入地点(例如,由在印水印组件1500处的可嵌入地点发现组件1542)。在2306,使用在2304发现的可嵌入地点构造(例如,由树形成组件1544)构造一18个或多个N元主树,以使得一个或多个树中叶节点的数目等于在2302识别的水印中的位的数目。在2308,对于在2306构造的主树中的每个叶节点,计算在从叶节点到叶节点属于的主树的根节点的路径中节点的奇偶性(例如,由奇偶性计算组件1546)。在2310,通过在2308计算的各个奇偶性值和在2302识别的水印的相应位之间执行异_或操作来获得变换阵列(例如,由比较组件1548)。在2312,使用在2310获得的变换阵列作为叶节点,构造一个或多个变换树对应于在2306构造的一个或多个主树。最后,在2314,通过变换与在2312构造的变换树中各个最高节点对应的在2304发现的所发现的可嵌入地点(例如,由修改组件1554)至少部分地将水印嵌入到图像中,对于该变换树所有叶节点提供变换指示(例如,如由喷泉调查组件1550和/或修改位置确定组件1552确定的)。为了提供用于在这里描述的各个方面的附加的上下文,图24及其后的讨论意在提供其中可以实现所要求保护的主题的各个方面的适当的计算环境2400的简短的一般说明。另外,虽然已经以可以在一个或多个计算机上运行的计算机可执行指令的一般上下文如上描述了上述特征,本领域技术人员将理解所述特征也可以结合其他程序模块实现或实现为硬件和软件的组合。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域技术人员将理解可以以其它计算机系统配置实践所要求保护的主题,包括单处理器或多处理机计算机系统、微型计算机、大型计算机以及个人计算机、手持式计算装置、基于微处理器或可编程消费者电子设备等,其每个可以工作地耦合一个或多个相关联的装置。图示的方面还可以以其中由通过通信网络链接的远程处理装置执行确定的任务的分布的计算环境实践。在分布的计算环境中,程序模块可以位于本地和远程存储器存储装置中。计算机典型地包括各种计算机可读介质。计算机可读介质可以是可以由计算机访问的且包括易失和非易失介质、可拆卸的和不可拆卸介质两者的任意可用介质。通过实例的方式,而不是限制,计算机可读介质可以包含计算机存储介质和通信介质。计算机存储介质可以包括以任意方法或技术实现的用于比如计算机可读指令、数据结构、程序模块或其它数据之类的信息的存储的易失和非易失的、可拆卸的和不可拆卸的介质两者。计算机存储介质包括,但是不限于RAM、ROM、EEPROM、闪速存储器或其它存储技术、CD-ROM、数字多用途盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储装置,或可用于存储希望的信息和可以由计算机访问的任意其他介质。通信介质典型地以比如载波或其他传送机制之类的已调制数据信号包含计算机可读指令、数据结构、程序模块或其他数据,且包括任意信息传递介质。术语"已调制数据信号"指的是具有以关于信号中的编码信息的方式设置或改变的一个或多个其特征的信号。通过实例的方式,而不是限制,通信介质包括比如有线网或直接有线连接的有线介质,和比如声学、RF、红外及其他无线介质之类的无线介质。任何上述的组合还应该被包括在计算机可读介质的范围内。再次参考图24,用于实现在这里描述的各个方面的示例性环境2400包括计算机2402、计算机2402包括处理单元2404、系统存储器2406和系统总线2408。系统总线2408耦接包括但不限于系统存储器2406的系统组件到处理单元2404。处理单元2404可以是各种可购买到的处理器中的任意。也可以采用双微处理器及其他多处理器体系作为处理单元2404。系统总线2408可以是可以进一步任何各种可购买到的总线体系中的任意互连到存储器总线(有或者没有存储控制器)、外围总线和本地总线的几种类型的总线结构中的任意。系统存储器2406包括只读存储器(ROM)2410和随机存取存储器(RAM)2412。基本输入/输出系统(BIOS)被存储在比如ROM、EPROM、EEPROM之类的非易失性存储器2410中,BIOS包括帮助在计算机2402内的元件之间(比如在启动期间)传递信息的基本例程。RAM2412还可以包括用于高速缓存数据的比如静态RAM之类的高速RAM。计算机2402进一步包括内部硬盘驱动器(HDD)2414(例如,EIDE,SATA)(内部硬盘驱动器2414还可以被配置用于适当的机架(没有示出)的外部使用),磁软盘驱动器(FDD)2416,(例如,从可拆卸的磁盘2418读取或写入)和光盘驱动器2420,(例如,读取CD-ROM盘2422或从比如DVD之类的其它大容量光学介质读取或写入)。硬盘驱动器2414、磁盘驱动器2416和光盘驱动器2420可以分别通过硬盘驱动接口2424,磁盘驱动接口2426和光驱动器接口2428连接到系统总线2408。用于外部驱动实现的接口2424包括通用串行总线(USB)和IEEE-1394接口技术中的至少一个或两者。其他外部驱动连接技术在本公开的预期范围内。驱动器和它们关联的计算机可读介质提供数据、数据结构、计算机可执行指令等的非易失存储。对于计算机2402,驱动器和介质以适当的数字格式容纳任意数据的存储。虽然以上的计算机可读介质的描述涉及HDD、可拆卸磁软盘和比如CD或DVD之类的可拆卸的光学介质,本领域技术人员应该理解可由计算机读取的其它类型的介质(比如压縮驱动器、磁带盒、闪速存储卡、盒式磁盘等)也可以用于示例性的操作环境,且进一步,任意这种介质可以包括用于执行在这里描述的方法的计算机可执行指令。—些程序模块可以被存储在驱动器和RAM2412中,包括操作系统2430,一个或多个应用程序2432,其他程序模块2434和程序数据2436。操作系统、应用程序、模块、和/或数据的全部或一部分也可以被高速缓存在RAM2412中。理解可以以各种可购买到的操作系统或操作系统的组合实现所要求保护的主题。用户可以通过一个或多个有线/无线输入装置,例如,键盘2438和指针设备(比如鼠标2440)将命令和信息输入到计算机计算机2402中。其它输入装置(没有示出)可以包括麦克风、IR遥控器、操纵杆、游戏垫、铁笔、触摸屏等。这些及其他输入装置通常通过耦接到系统总线2408输入装置接口2442连接到处理单元2404,但是可以由其他接口连接,比如并行端口、串行端口、IEEE-1394端口、游戏端口、USB端口、IR接口等。监控器2444或其他类型的显示装置也经由比如视频适配器2446之类的接口连接到系统总线2408。除监控器2444之外,计算机典型地包括其他外围输出设备(没有示出),比如扬声器、打印机等。计算机2402可以经由到一个或多个远程计算机(比如一个或多个远程计算机2448)的有线和/或无线通信使用逻辑连接在连网环境中操作。一个或多个远程计算机2448可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、同级装置或其他公用网络节点,且典型地包括关于计算机2402描述的许多或所有元件,虽然,为了简洁起见,仅图示存储器/存储装置2450。所示的逻辑连接包括到局域网(LAN)2452和/或更大网络(例如,广域网(WAN)2454)的有线/无线连接性。这种LAN和WAN连网环境是在办公室和公司中普通的,并便利了企业级的计算机网络,比如内部网,所有这些都可以连接到全球通信网,例如,因特网。当用于LAN连网环境时,计算机2402通过有线和/或无线通信网络接口或适配器2456连接到本地网络2452。适配器2456可以便利到LAN2452的有线或无线通信,这还可以包括设置在其上的用于与无线适配器2456通信的无线访问点。当用于WAN连网环境时,计算机2402可以包括调制解调器2458,或连接到WAN2454上的通信服务器,或具有用于建立在WAN2454之上的通信的其它装置,比如通过因特网的方式。可以是内部的或外部的和有线或无线装置的调制解调器2458经由串行端口接口2442连接到系统总线2408。在连网环境中,关于计算机2402,或其一部分的所示的程序模块可以被存储在远程存储器/存储装置2450中。将理解所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它装置。计算机2402可操作以与操作地设置在无线通信中的任意无线装置或实体通信,例如,打印机、扫描仪、桌面和/或便携式计算机、便携式数据助理、通信卫星、与无线可检测标签相关联的任意设备片段或位置(例如,凉亭,报摊,休息室),和电话。这至少包括Wi-Fi和蓝牙TM无线技术。因此,通信可以是就像现有的网络的预定义的结构或简单地是在至少两个装置之间的自组织(adhoc)通信。Wi-Fi,或无线保真度是类似于用于蜂窝电话的使得装置能够在基站范围内的任何地方发送和接收数据的无线技术。Wi-Fi网络使用IEEE-802.ll(a,b,g等)无线电技术来提供安全的、可靠的和快速的无线连接性。Wi-Fi网络可用于彼此连接计算机,连接计算机到因特网,和到有线网(其使用IEEE-802.3或以太网)。例如,Wi-Fi网络以无执照的2.4和5GHz无线电频带、在13Mbps(802.11a)或54Mbps802.lib)数据速率操作,或具有包括两个频带(双频带)的产品。因此,使用Wi-Fi无线技术的网络可以提供类似于10BaseT有线以太网的实际世界性能。现在参考图25,图示了可操作以执行所公开的体系的示例性计算机编译系统的示意性框图。系统2500包括一个或多个客户2502。一个或多个客户2502是硬件和/或软件(例如,线程,处理,计算装置)。在一个实例中,一个或多个客户2502可以通过采用在这里描述的一个或多个特征而装有一个或多个cookie和/或相关联的上下文信息。系统2500还包括一个或多个服务器2504。一个或多个服务器2504也可以是硬件和/或软件(例如,线程,处理,计算装置)。在一个实例中,服务器2504可以通过采用在这里描述的一个或多个特征而装有执行变换的线程。在客户2502和服务器2504之间的一个可能的通信可以以适于在两个或多个计算机处理之间发送的数据分组的形式。例如,数据分组可以包括cookie和/或相关联的上下文信息。系统2500包括可以采用来便利在一个或多个客户2502和一个或多个服务器2504之间的通信的通信框架2506(例如,比如因特网之类的全球通信网)。可以经由有线(包括光纤)和/或无线技术便利通信。一个或多个客户2502操作地连接到可以采用以存储一个或多个客户2502的本地信息(例如,一个或多个cookie和/或相关联的上下文信息)的一个或多个客户数据存储2508。类似地,一个或多个服务器2504操作地连接到可以采用以存储本地信息到服务器2504的一个或多个服务器数据存储2510。已经通过实例的方式在这里描述了所要求保护的主题。为了避免引起怀疑,在这里公开的主题不由这种实例限制。另外,在这里描述为"示例性"的任意方面或设计不必要被看作是相比其它方面或设计优选的或有利的,也不意味着排除为本领域一般技术人员所知的等效的示例性结构和技术。此外,达到这样的程度,术语"包括"、"具有"、"包含"及其他类似的词用于具体实施方式或权利要求,为了避免引起怀疑,这种术语意在为以类似于术语"包含"的方式包含性的,作为开放的过渡词而不排除任何附加的或者其他的元素。另外,公开的主题可以实现为系统、方法、设备,或使用标准编程和/或工程技术制造以产生软件、固件、硬件或其任意组合的产物,以控制计算机或基于处理器的装置实现在这里详述的方面。在这里使用的术语"制造产物","计算机程序产品"或类似项目意在包括从任意计算机可读装置、载体或介质可访问的计算机程序。例如,计算机可读介质可以包括但是不限于磁存储装置(例如,硬盘、软盘、磁条...),光盘(例如,致密盘(CD),数字多用途盘(DVD)...),智能卡和闪速存储器装置(例如,卡、棒),另外,已知可以采用载波来携带比如那些用于发送和接收电子邮件或访问网络(比如因特网局域网(LAN))的计算机可读电子数据。已经关于在几个组件之间的交互描述了上述系统。可以理解根据上述的各种排列与组合,这种系统和组件可以包括那些组件或特定的子组件,某些特定的组件或子组件,和/或附加的组件。子组件还可以被实现为通信地耦合其他组件而不是,例如,根据分级布置包括在父组件内的组件。另外,应当注意一个或多个组件可以被组合到提供集合功能性的单个组件中或被分为几个分开的子组件,和可以提供比如管理层之类的任意一个或多个中间层以通信地耦合这种子组件以提供集成的功能性。在这里描述的任意组件还可以与没有在这里具体地描述但是通常由本领域技术人员已知的一个或多个其他组件交互。权利要求一种在半色调图像中嵌入二进制数据的方法,包括识别半色调图像和要嵌入该图像中的二进制水印;发现在图像中用于嵌入数据的候选地点;将所发现的候选地点形成为多个重叠组;确定候选地点的各个组的奇偶性值;和变换图像中候选地点的半色调值以使得候选地点的各个组的奇偶性值匹配二进制水印中的相应的位。2.如权利要求1所述的方法,其中所述发现步骤包括发现图像中的主候选地点和从候选地点;所述形成步骤包括将所发现的主候选地点形成为重叠组;所述确定步骤包括确定主候选地点的各个组的奇偶性值;且所述变换步骤包括变换包括主候选地点和与主候选地点相邻和互补的从候选地点的各个地点对的半色调值。3.如权利要求1所述的方法,其中,所述发现步骤包括识别在各个伪随机位置的半色调图像中预定数目的像素作为用于嵌入数据的候选地点。4.如权利要求1所述的方法,其中所述形成步骤包括制图候选地点和将所制图的候选地点集合为多个重叠块;所述确定步骤包括确定所制图的候选地点的各个块的奇偶性值;禾口所述变换步骤包括变换位于对于其块的奇偶性值不匹配二进制水印中的相应的位的所制图的候选地点的各个块中的候选地点的半色调值。5.如权利要求4所述的方法,其中所述确定步骤进一步包括基于对于所制图的候选地点的各个块所确定的奇偶性值构造奇偶性图;且所述变换步骤进一步包括使用从比较奇偶性图中的各个值与二进制水印中的相应的位获得的结果来构造变换图,并变换位于对于其变换图指示在块的奇偶性值和二进制水印的相应位之间的不一致的各个块中的候选地点的半色调值。6.如权利要求5所述的方法,其中,所述变换步骤进一步包括形成与具有不匹配二进制水印中的相应位的奇偶性值的各个交叉块对应的变换图上的位置的组,和变换对由变换图上的位置的组表示的候选地点的块公共的候选地点的半色调值。7.如权利要求1所述的方法,其中所述形成步骤包括将所发现的候选地点形成为一个或多个二进制椎体结构以使得在一个或多个椎体结构的底部行的节点的数目等于二进制水印中的位数;且所述确定步骤包括通过确定包括在椎体结构的底部行上的节点和以在底部行上的节点作为直接或间接后继的椎体结构中的各个节点的各个组的奇偶性,来确定在一个或多个椎体结构的底部的各个节点的奇偶性值。8.如权利要求7所述的方法,其中,所述变换步骤包括提供用于在对于其节点的所确定的奇偶性值不同于二进制水印的相应位的椎体结构的底部的各个节点的变换指示;识别为其提供变换指示的连续节点的组;以在对在连续节点的识别的组中每个节点的最低公共前任节点的单个变换指示来代替由连续节点的识别的组中每个节点提供的变换指示;禾口变换与在为其提供变换指示的椎体结构中的节点对应的半色调图像中各个候选地点的半色调值。9.如权利要求7所述的方法,其中,所述确定步骤包括通过关于与节点对应的候选地点的半色调值、为其正在计算奇偶性值的节点的左侧源节点的奇偶性值、为其正在计算奇偶性值的节点的右侧源节点的奇偶性值,和作为左侧源节点和右侧源节点的公共源节点的上部源节点的奇偶性值执行异或操作来确定节点的奇偶性值。10.如权利要求1所述的方法,其中所述形成步骤包括将所发现的候选地点形成为一个或多个完整的N元树结构,以使得一个或多个树形结构的叶节点的数目等于二进制水印中的位数;且所述确定步骤包括通过确定在从各个叶节点到根节点的路径中的节点的奇偶性来确定一个或多个树结构的各个叶节点的奇偶性值。11.如权利要求10所述的方法,其中,所述变换步骤包括通过比较一个或多个树结构的叶节点的各个奇偶性值和二进制水印中的相应位来获得变换阵列;通过使用变换阵列的各个元素作为叶节点来至少部分地构造与一个或多个树形结构对应的一个或多个变换树;禾口变换在与在对于其所有叶节点指示叶节点的奇偶性值不匹配二进制水印中的相应位的一个或多个变换树中的各个最高节点对应的半色调图像中的各个候选地点的半色调值。12.如权利要求10所述的方法,其中,所述确定步骤包括通过在与节点对应的候选地点的半色调值和对于其正在计算奇偶性值的节点的父节点的奇偶性值之间执行异或操作,来确定树结构中节点的奇偶性值。13.—种具有在其上存储可操作以执行如权利要求1所述的方法的指令的计算机可读介质。14.一种用于在半色调主图像中隐藏与标志对应数据的系统,包括嵌入候选选择组件,其接收半色调主图像并识别主图像中用于嵌入数据的一个或多个候选位置;奇偶性校验组件,其将所识别的候选位置形成为重叠组并确定包含各个组的候选位置的半色调值的各个组的奇偶性;禾口数据隐藏组件,其比较各个组的奇偶性与标志的相应的信息位,并变换在对于其该组的奇偶性不匹配标志的相应的信息位的各个组中的候选位置的半色调值。15.如权利要求14所述的系统,其中嵌入候选选择组件以伪随机方式识别在主图像中的候选主位置的集合和候选从位置的集合;奇偶性校验组件使用所识别的主候选位置的集合来构造主图,并基于对于制图的主候选位置的重叠块而获得的奇偶性值来构造奇偶性图;禾口数据隐藏组件通过比较奇偶性图的各个元素与标志中的相应的信息位来构造变换图,变换图中的组元素与对于其指示非匹配奇偶性的主候选位置的重叠块对应,且数据隐藏组件对于其指示非匹配奇偶性的变换图中的各个元素组变换包括主候选地点和具有相反的半色调值的相邻的从候选地点的一对候选位置的半色调值。16.如权利要求14所述的系统,其中奇偶性校验组件基于一个或多个识别的候选位置构造包括各个元素的一个或多个香槟椎体结构,以使得在一个或多个香槟椎体结构的底部行的元素的数目等于在标志中信息位的数目,并且奇偶性校验组件获得在一个或多个香槟椎体结构的底部行的元素的各个奇偶性值;和数据隐藏组件确定在对于其各个元素的奇偶性值不匹配标志中的相应的信息位的一个或多个香槟椎体结构的底部行的各个元素,识别所识别的元素的后继组,和变换与在用于所识别的组的一个或多个香槟椎体结构中最低公共前任节点对应的候选位置的半色调值。17.如权利要求14所述的系统,其中奇偶性校验组件基于一个或多个识别的候选位置构造包括各个元素的一个或多个主树结构,以使得一个或多个主树结构中的叶节点的数目等于标志中信息位的数目,和奇偶性校验组件获得一个或多个主树结构的叶节点的各个奇偶性值;禾口数据隐藏组件以一个或多个主树结构中各个叶节点的奇偶性值与标志中相应的信息位的比较来填充变换阵列,通过利用变换阵列中的比较作为一个或多个变换树的叶节点,来至少部分地构造与一个或多个主树对应的一个或多个变换树,以在父节点的单个变换指示来迭代地代替由公共的父节点的所有子节点提供的各个变换指示,和变换与提供变换指示的一个或多个变换树的节点对应的候选位置的半色调值。18.如权利要求14所述的系统,进一步包括图像处理组件,其识别初始主图像,通过处理初始主图像至少部分地产生一个或多个半色调主图像,和提供一个或多个所产生的半色调主图像到嵌入候选选择组件。19.如权利要求18所述的系统,其中,所述图像处理组件通过转换具有高于预定阈值的值的初始主图像中的各个像素为第一半色调值和将具有低于预定阈值的值的初始主图像中的各个像素转换为第二半色调值,来至少部分地从初始主图像产生半色调主图像。20.—种便利半色调图像的印水印的系统,包括用于确定其中嵌入数据的半色调图像的像素的装置;用于将所确定的像素分组为多个交叉组的装置;用于获得用于多个交叉组的各个奇偶性值的装置;用于比较所获得的奇偶性值与水印的相应的信息位的装置;禾口用于通过改变与对于其在各个组的奇偶性值和水印的相应的信息位之间存在不一致的各个组的相关联的所确定的像素的半色调值,来至少部分地将水印嵌入到半色调图像中的装置。全文摘要在这里提供的系统和方法论用于低失真的图像印水印。如在这里描述的,平衡在图像的多个像素和/或区域之间的奇偶性关系以减少在图像中嵌入水印要求的变换量,由此增加水印效率和减少在已印水印的图像中引入的视觉产物。在这里描述了用于平衡奇偶性关系的各个算法,包括块重叠奇偶性校验(BOPC)算法,香槟锥体奇偶性校验(CPPC)算法,和基于树的奇偶性校验(TBPC)算法。文档编号G06K9/74GK101765847SQ200880018818公开日2010年6月30日申请日期2008年4月3日优先权日2007年4月4日发明者区子廉,李煜铭申请人:香港科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1