首页 / 专利库 / 电脑图像 / 位图图像 / 高性能内容变更体系结构和技术

高性能内容变更体系结构和技术

阅读:1012发布:2021-03-25

专利汇可以提供高性能内容变更体系结构和技术专利检索,专利查询,专利分析的服务。并且本 发明 提供便于获取高性能和更安全的HIP的独特系统和方法。更具体而言,可部分地通过将预先呈现的字符和/或预先呈现的弧以二进制形式的位图高速缓存,然后随机选择任何数量的字符和/或弧以形成HIP序列而生成HIP序列。扭曲区域可被预先计算,并被转换为二进制形式的整数,且其可包括多个子区域。扭曲区域也可被高速缓存。可从扭曲区域高速缓存中检索任何一个子区域,并且该子区域被映射到HIP序列,以扭曲HIP。这样,预先计算的扭曲区域可被用来扭曲多个HIP序列。扭曲能以二进制形式并以高 分辨率 发生,以减轻逆向操纵。接下来,扭曲的HIP序列可被下 采样 ,且纹理和/或色彩也可被添加,以改善其外观。,下面是高性能内容变更体系结构和技术专利的具体信息内容。

1.一种高性能HIP生成系统,包含:
储存多个字符的字符高速缓存分量和储存多个弧的弧高速缓存分量中的至少 一个;
储存预先计算的扭曲区域的扭曲区域高速缓存分量,其中,所述预先计算的 扭曲区域包含多个子区域;
选择字符或弧的至少一个中的任意数量以形成二进制HIP序列的组件;以及
将所述HIP序列映射到多个子区域的任一个以便于扭曲所述HIP序列的扭曲 组件,所述多个子区域从所述扭曲区域中选择。
2.如权利要求1所述的系统,其特征在于,所述字符作为二进制形式的位图 被储存在所述字符高速缓存分量中。
3.如权利要求1所述的系统,其特征在于,所述弧作为二进制形式的位图被 储存在所述弧高速缓存分量中。
4.如权利要求1所述的系统,其特征在于,所述字符高速缓存分量是在生成 HIP时随着时间而构建的。
5.如权利要求1所述的系统,其特征在于,所述弧高速缓存分量包含背景弧。
6.如权利要求1所述的系统,其特征在于,所述弧高速缓存分量包含前景弧。
7.如权利要求1所述的系统,其特征在于,所述弧是部分地基于使用低差异 准随机数而与所述字符随机组合在一起的。
8.如权利要求1所述的系统,其特征在于,所述扭曲区域高速缓存分量包含 相对较大的二维图像,它被储存为其维数比单个HIP序列大几倍的整数矩阵。
9.如权利要求8所述的系统,其特征在于,所述扭曲区域的子区域包含HIP 大小的随机邻接子矩阵,它从所述扭曲区域高速缓存分量中提取,并用来扭曲所述 HIP序列,以使所述扭曲区域到所述HIP的映射将所述HIP的像素移动由所选扭 曲区域子矩阵中的整数所指定的量。
10.如权利要求1所述的系统,其特征在于,所述扭曲区域高速缓存分量是 两个扭曲区域的和。
11.如权利要求10所述的系统,其特征在于,所述两个扭曲包含全局扭曲区 域和局部扭曲区域。
12.如权利要求11所述的系统,其特征在于,所述全局扭曲区域具有大幅度 和高衰变因子,而所述局部扭曲区域具有小幅度和小衰变因子,以使所述全局扭曲 区域产生大的平滑失真,而所述局部扭曲区域产生小的粗糙失真。
13.如权利要求1所述的系统,其特征在于,所述扭曲区域高速缓存分量以 便于维持对所述HIP生成系统的熵添加的频率被刷新或更新。
14.如权利要求1所述的系统,其特征在于,当所述字符的字体变化时,所 述字符高速缓存分量被更新。
15.如权利要求1所述的系统,其特征在于,所述弧高速缓存分量以便于维 持对所述HIP生成系统的熵添加的频率被更新。
16.一种高级HIP生成系统,包含生成HIP序列的字符序列生成组件,所述 HIP序列包含某一数量的字符和与所述字符相组合的某些混杂物;以及一扭曲组 件,它将所述HIP序列按二进制形式以高分辨率进行扭曲,以使扭曲的HIP序列 显现为黑白色。
17.如权利要求16所述的系统,其特征在于,还包含一定制组件,它将纹理、 所述HIP的前景和背景之间的混合,以及色彩中的至少一个添加到所述HIP。
18.如权利要求17所述的系统,其特征在于,所述定制组件驻留在所述HIP 生成系统的客户机端。
19.如权利要求1所述的系统,其特征在于,还包含一下采样组件,它在已 经按任何大于1的因子扭曲之后对所述HIP序列进行下采样
20.如权利要求19所述的系统,其特征在于,下采样HIP序列是灰度级的, 且在被扭曲之后尺寸比所述HIP的小。
21.如权利要求20所述的系统,其特征在于,所述被下采样的HIP序列被反 混叠
22.如权利要求19所述的系统,其特征在于,所述下采样是双三次的。
23.如权利要求1所述的系统,其特征在于,所述弧高速缓存分量包含不同 弧宽度的多个三次样条。
24.如权利要求16所述的系统,其特征在于,所述扭曲组件包含至少一个图 形处理单元(GPU)和32位处理器上的64位或128位单指令多数据(SIMD)操作中的 至少一个,所述操作通过多媒体扩展(MMX)、流SIMD扩展(SSE),或者流SIMD 扩展2(SSE2)指令集中的至少一个来提供。
25.权利要求1所述的系统,其特征在于,它驻留在服务器上。
26.如权利要求1所述的系统,其特征在于,还包含一HIP验证系统,它随 机或非随机地收集被提供给用户的HIP的活样值,以确定相对于字符的字符放置 或弧放置的错误或成功率,以便于改变未来的HIP生成。
27.如权利要求1所述的系统,其特征在于,所述字符高速缓存分量包含多 个缩放和/或旋转的字符。
28.如权利要求1所述的系统,其特征在于,所述预先呈现的字符是非反混 叠或反混叠中的任何一个。
29.如权利要求1所述的系统,其特征在于,所述HIP序列是非反混叠的。
30.如权利要求1所述的系统,其特征在于,所述预先呈现的弧是非反混叠 和反混叠中的任何一个。
31.如权利要求1所述的系统,其特征在于,还包含至少一个随机数发生器, 它随机地选择任何数量的预先呈现的字符、预先呈现的弧、预先呈现的混杂物、以 及扭曲区域的预先计算的子区域。
32.如权利要求31所述的系统,其特征在于,所述随机数是成批生成的,且 它被缓冲以获得改善的性能。
33.如权利要求1所述的系统,其特征在于,所述字符高速缓存分量是以行 程长度格式、jpeg格式和gif格式的至少一种来编码的,取决于所需的HIP的生成 速度。
34.如权利要求1所述的系统,其特征在于,所述字符高速缓存包含多个预 先呈现的字符,而所述弧高速缓存包含多个预先呈现的弧。
35.如权利要求1所述的系统,其特征在于,至少某些弧是以不与所述字符 重叠的方式而与所述字符随机组合在一起的。
36.一种生成高性能HIP的方法,包含:
将多个预先呈现字符的至少一个高速缓存到字符高速缓存中,并将多个预先 呈现的弧高速缓存到弧高速缓存中;
将预先计算的扭曲区域高速缓存到扭曲区域高速缓存中,其中,所述预先计 算的扭曲区域包含多个子区域;
选择任何数量的预先呈现的字符和任何数量的弧,以形成HIP序列;以及
部分地通过将所述HIP序列映射到从所述扭曲区域高速缓存中选择的任何一 个子区域来扭曲所述HIP序列。
37.如权利要求36所述的方法,其特征在于,所述字符和所述弧中的至少一 个是被预先呈现的,且以二进制形式的位图被高速缓存。
38.如权利要求36所述的方法,其特征在于,所述预先呈现的弧包含前景弧、 背景弧以及任意混杂物中的至少一个,其中,所述任意包含字符
39.如权利要求36所述的方法,其特征在于,选择任何数量预先呈现的字符 和任何数量的预先呈现的弧以及任何一个子区域是以随机方式执行的。
40.如权利要求36所述的方法,其特征在于,还包含至少部分地基于使用低 差异准随机数,相对于所述HIP序列中的字符来随机地定位所述多个已选弧。
41.如权利要求36所述的方法,其特征在于,还包含在所述扭曲区域被高速 缓存之前预计算所述扭曲区域,以产生其维数比所述HIP序列大几倍的整数矩阵, 以使所述扭曲区域被多次重新使用来扭曲新HIP序列。
42.如权利要求41所述的方法,其特征在于,所述扭曲区域的多个子区域包 含HIP大小的随机邻接子矩阵,它用于扭曲多个HIP序列。
43.如权利要求36所述的方法,其特征在于,扭曲所述HIP序列包含将所述 HIP序列的像素移动由选择的扭曲区域子矩阵中的整数指定的量。
44.一种高级HIP生成方法,包含生成字符序列,所述字符序列包含与任何 数量的混杂物组合的任何数量的字符;以及使用下列的至少一个来扭曲所述HIP:
图形处理单元(GPU);以及
32位处理器上的64位或128位单指令多数据(SIMD)操作的至少一个,所述 操作通过多媒体扩展(MMX)、流SIMD扩展(SSE)或者流SIMD扩展2(SSE2)指令 集的至少一个来提供。
45.如权利要求36所述的方法,其特征在于,还包含:
以便于维持对所述HIP生成方法的熵添加的频率来更新所述弧高速缓存和所 述扭曲区域高速缓存中的至少一个;以及
当出现字体变化时,更新所述字符高速缓存。
46.如权利要求36所述的方法,其特征在于,还包含按二进制形式以高分辨 率来扭曲所述HIP序列。
47.如权利要求36所述的方法,其特征在于,包含按任何大于1的整数或非 整数来对所述HIP序列进行下采样。
48.如权利要求47所述的方法,其特征在于,所述下采样在所述HIP序列被 扭曲之后发生。
49.如权利要求47所述的方法,其特征在于,所述下采样是双三次的。
50.如权利要求47所述的方法,其特征在于,所述下采样将所述HIP序列的 大小减少大约一半,以改善所述HIP的视觉吸引
51.如权利要求47所述的方法,其特征在于,下采样有效地对所述HIP序列 进行反混叠。
52.一种高级HIP生成方法,包含:
选择任何数量的字符和任何数量的弧,以形成HIP序列;
对所述HIP序列进行扭曲,以产生用于广泛分布和使用的HIP图像;以及
至少部分地通过添加纹理和/或色彩的至少一个来定制所述HIP图像,以增强 所述HIP图像的外观。
53.如权利要求52所述的方法,其特征在于,还包含部分地基于使用低差异 准随机数,将所述弧与所述字符随机组合起来。
54.如权利要求52所述的方法,其特征在于,定制所述HIP图像是由客户机 执行的。
55.权利要求36所述的方法,其特征在于,它由服务器来执行,以维持安全 性以及受控访问
56.如权利要求36所述的方法,其特征在于,包含随机地生成数字,以确定 生成所述HIP序列的预先呈现的字符和预先呈现的弧的随机选择,并确定所述子 区域的随机选择。
57.如权利要求56所述的方法,其特征在于,所述随机数是成批生成的,并 被缓冲以改善性能。
58.如权利要求36所述的方法,其特征在于,所述字符高速缓存和所述弧高 速缓存是以行程长度格式、jpeg格式以及gif格式中的至少一个来编码的,取决于 所需的HIP的生成速度。
59.一种适用于在两个和多个计算机进程之间传输的数据包以便于改善HIP 的性能和安全性:与下列相关联的信息:高速缓存预先呈现的字符、预先呈现的弧, 以及预先计算的扭曲区域,部分地通过随机选择任何数量的字符和弧而生成HIP 序列,以及将所述HIP序列映射到所述扭曲区域的已选择子区域中以扭曲所述HIP 序列。
60.一种高性能HIP生成系统,包含:
用于将多个预先呈现字符的至少一个高速缓存到字符高速缓存,并将多个预 先呈现的弧高速缓存到弧高速缓存的装置;
用于将预先计算的扭曲区域高速缓存到扭曲区域高速缓存中的装置,其中, 所述预先计算的扭曲区域包含多个子区域;
用于选择任何数量预先呈现的字符和任何数量的弧,以形成HIP序列的装置; 以及
用于部分地通过将所述HIP序列映射到从所述扭曲区域高速缓存中选择的任 何一个子区域,来以高分辨率扭曲所述HIP序列的装置。
61.如权利要求60所述的系统,其特征在于,还包含用于在所述HIP序列被 扭曲之后对其进行下采样的装置。
62.如权利要求60所述的系统,其特征在于,所述预先呈现的字符和弧作为 二进制形式的位图高速缓存。
63.如权利要求60所述的系统,其特征在于,还包含用于在所述HIP序列被 扭曲之后诸如通过将纹理和色彩的至少一个添加到所述HIP序列来定制所述HIP 序列的装置。

说明书全文

技术领域

发明主要涉及人类交互证明,且尤其涉及改善人类交互证明的制作和生成 速度以便能促进提高其在从人的行动中区分出基于计算机的行动中的有效性。

背景技术

诸如因特网这样的全球通信网络的出现已经为赢得大量的潜在客户提供了商 业机会。在过去的几年里,用户已经将因特网视作新闻、研究资源以及各种其它类 型信息的可靠来源。另外,在线购物、预定正餐、或者购买音乐会和/或电影票是 当前坐在计算机前通过因特网来进行的许多日常活动中的少数几个。然而,商业或 者私人消费者对因特网的广泛使用可能会导致面临不必要的或甚至是令人不快的 多种经济险和/或安全漏洞问题。
对在线商务而言,在线购物或在线预定的顾客的安全性和合法性是我们所主 要关心的问题。例如,许多餐厅提供在线预定服务,其中顾客可使用该餐厅的网站 通过因特网来进行预定。不幸的是,这样,这个系统使餐厅老板可能容易受到餐饮 服务攻击——这仅是一种类型的自动化脚本攻击。这种攻击出现在计算机进行几百 个(若没有更多)虚假在线预定的时候,这就影响了大量的餐厅。这种攻击的后果 是由于财产损失、系统修复和清除成本、以及与改善网络安全性相关联的费用而引 起的商业中断或者甚至损毁。
另一种类型的攻击可以是垃圾邮件攻击的形式。垃圾邮件攻击可以瞄准诸如 特定的商业等一个实体或根据电子邮件地址随机挑选的大量用户。一般而言,由于 电子邮件使用普遍性的提高,垃圾邮件问题日趋严重。如我们所熟知的,电子消息 通信作为向网络用户散布不必要广告和促销(如垃圾邮件)的一种手段正日趋普遍。 一次性向成百上千或成千上万的用户或者甚至是向单个实体广泛散布垃圾邮件可 归因于计算机采取的自动化行动的使用。例如,垃圾邮件发送者可在诸如每日或每 周的基础上对计算机编程,以创建或打开来自合法消息服务供应商的许许多多不同 的电子邮件帐户。通过这样做,他们可确保其垃圾邮件被递送到尽可能多的接收者, 即使一两个帐户时常被关闭也无关紧要。
Radicati集团公司是一家咨询和市场调研公司,其统计到在2002年8月,每 天发送的垃圾电子邮件消息就有20亿条—而且这个数字每两年就翻三倍。个体和 团体(如企业、政府机构)正越来越多地受到垃圾邮件(垃圾消息)的侵扰,并经 常为此感到不愉快。这样,垃圾邮件迟早会成为对可信计算的主要威胁。
另外,因特网的快速增长和发展为欺诈性、破坏性和/或损害动作的发生提供 了新途径。作为阻挠垃圾邮件和自动化脚本攻击的一种手段,某些在线商务以及消 息通信服务已经实现了计算质询(computational challenges)或人类交互证明(HIP)的 使用。这样的技术允许计算机将人类用户与计算机用户区分开来。
区分计算机和人类的工作可追溯到原始的图灵机测试,其通过向两者询问而 要求一个人与另一个人和机器区分开来。当前我们的兴趣已经转移到开发出允许计 算机将另一台计算机和人区分开来的系统上,以使能够构造自动过滤器来防止自动 化脚本预期供人们使用的服务。这样系统被称为人类交互证明(HIP)或将计算机和 人类区分开来的完全自动化公共图灵机测试(CAPTCHA)。例如,HIP可依靠识别 与噪声和/或背景放在一起的字符,其中,挑战是正确地标识出所有提供的字符。
不幸的是,当前的HIP系统可能也不是完善的,这是因为与随机弧放置在一 起的字符可能以该弧干扰人类感知的方式排列。这样,人们区分字符就很困难了。 因此,传统的HIP对阻止对计算机的访问和授权对人类的访问而言是相当无效的。

发明内容

下面提出了本发明的简化概要,以提供对本发明某些方面的基本理解。这个 概要并不是本发明的广泛纵览。它并非标识本发明的重要/关键元素,或详细记述 本发明的范围。其唯一的目的是以简单的形式提供本发明的某些概念,以作为后面 将提供的更详细说明的序言。
本发明涉及这样的系统和方法,其部分地通过提高有效性以及人类交互证明 (质询)的生成速度来便于将计算机用户同人类用户区分开来。不像传统的HIP, 本发明所提供的系统和方法可部分通过减少弧和/或其它混杂物(clutter)在周围排列 或与HIP序列组合的随机性而缓和生成无法解决的或不可能复杂问题的概率。此 外,可部分通过以允许预计算许多相关的量的方式修改必需的计算而获取相对较大 的加速增益。最后,可诸如通过以高分辨率来扭曲(warping)HIP,然后对该HIP进 行下采样(down-sampling),而进一步增强本HIP的视觉吸引。该扭曲的HIP序 列也可与一个或多个纹理和/或色彩组合,以改善已完成HIP的外观。
根据本发明的一方面,可预计算大的二维扭曲区域,并将该区域离散化或转 换为整数,这样以使其上所表示的每个像素可具有与其相关联的两个整数—分别用 于x维和y维的每一个。该扭曲区域的维数可以是单个HIP图像的几倍,且其包 含多个子区域。扭曲区域的子区域可被用来扭曲单个HIP。例如,可随机或手动选 择子区域并使用该子区域来拉伸、旋转和/或扭曲HIP的不同部分。因此,可多次 使用同一扭曲区域来扭曲多个HIP。这就允许在实质上更短的时间内生成更大数量 的唯一HIP。
根据本发明的另一方面,也可通过预先呈现并高速缓存可在HIP中使用的任 何数量的字符(如字母和/或数字)来增强HIP生成过程。例如,可高速缓存英文 字母表中所有26个字符的旋转和缩放版本。当启动HIP制作过程时,可从字符的 高速缓存中随机选择任何给定数量的字符。字符或字体高速缓存可以变得相对较 大,这至少部分是由于需要使用的HIP的数量。然而,在启动阶段填充高速缓存 可能是非常耗时的。因此,为了时间和效率的利益,制作的HIP中所示的字符可 从HIP中进行语法分析,并被保存在字体高速缓存中,以协助随时间构建高速缓 存(如惰性(lazy)高速缓存填充)。
当生成HIP时,可预先呈现并高速缓存弧以及其它的随机混杂物,以便于更 快的检索。预先呈现的弧可被保持在另一个高速缓存(如弧高速缓存)中,其可在 启动时被构建,这是由于可能不需要与字符一样多的弧来生成需要数量的HIP。可 随机选择弧和/或混杂物,以便以随机方式同HIP文本放置在一起。可部分的通过 使用低差异准随机数来生成弧或其它混杂物的随机布置。一般而言,当生成多个混 杂物对象时,这可将与生成文本的干扰最大化。结果,HIP的外观以及其人类可读 性可被改善,这是因为绝大多数(若不是所有的)与HIP文本组合的弧或混杂物 可更均匀的分散在文本上。
在本发明的另一个方面中,HIP的性能可通过生成二进制的HIP而得到改善。 即,能以二进制形式(黑和白)预先呈现字符、弧和/或其它的混杂物,其提供HIP 生成速度(如,扭曲速度)的附加增益。此外,以二进制形式来制作HIP也可提 供附加安全性,以减轻黑客及其计算机的HIP逆向操纵(reverse engineering)设计。
纹理和/或色彩(如背景和/或前景色彩)也可被附加到HIP,以进一步改善其 外观和/或根据用户偏爱来定制HIP。例如,不同的色彩可根据季节性假期、目标 人类用户等而被附加到前景(如文本、弧、混杂物)或背景。定制过程对服务器处 理器(服务器的中央处理单元)而言可能是相当繁重的。这样,除MMX、SSE和 SSE2技术之外的位于客户机上的图形处理单元可用来执行这样的HIP定制,以进 一步优化HIP生成速率。另外,这些类型的技术可用来将预先呈现的字符位图与 预先呈现的弧位图组合起来。
另外,本发明的各个方面一起作用或单独作用或互相组合使用,以增强所生 成并使用的HIP的质量和值,而且可能更重要的是,以总体上阻止自动化脚本攻 击、垃圾邮件攻击以及垃圾邮件散布。
为实现前述和相关目的,这里结合下面的说明和附图来描述本发明的特定说 明性方面。然而,这些方面只表明可使用本发明原理的各种方法中的几种,而且本 发明旨在包括所有这样的方面及其等效方面。通过下面本发明的详细描述,并结合 附图考虑,可更清楚本发明的其它优点和新颖特征。

附图说明

图1是依照本发明一方面的HIP生成系统的框图
图2是依照本发明的另一方面的HIP生成的示意图。
图3是依照本发明的另一方面,在不同的子过程发生之后,与各个合成HIP 耦合的示例性HIP生成过程的示意性流程图
图4示出了依照本发明的又一方面形成的示例性HIP。
图5是依照本发明的一方面的示例性HIP生成过程的流程图。
图6是依照本发明的一方面生成原始HIP(扭曲之前)的示例性方法的流程图。
图7示出了用于实现本发明的各方面的示例性环境。

具体实施方式

现在参考附图来描述本发明,贯穿附图,相同的参考标号用来表示相同的元 素。在下面的描述中,为解释起见,阐述了众多具体细节,以提供对本发明的全面 理解。然而,显而易见的是,可以不用这些具体细节来实现本发明。在其它的情况 下,以框图的形式示出公知的结构和设备以便于描述本发明。
如在本申请中所使用的,术语“组件”和“系统”是指计算机相关的实体, 或者是硬件、硬件和软件的组合、软件、或者执行中软件。例如,组件可以是,但 不局限于,在处理器上运行的进程、处理器、对象、可执行码、执行线程、程序以 及计算机。作为说明,在服务器上运行的应用程序和服务器均可以是组件。一个或 多个组件可驻留在进程和/或执行线程中,而且组件可位于一台计算机上和/或分布 在两台或更多台计算机之间。
另外,在本申请中使用的术语“计算机用户”和“人类用户”是指在这样的 情况下的非人类用户:对计算机进行编程,以采取诸如启动自动脚本攻击、以攻击 接收者的网络或服务器并促使其商务或服务系统被破坏的意图将成百上千或成千 上万的垃圾邮件发送到各个接收者以及特定接收者这样的行动作。
本发明可包括关于生成用于机器学习垃圾邮件过滤的训练数据的各种推论方 案和/或技术。如用在这里的,术语“推论”一般指从一组通过事件和/或数据捕捉 的观察中对系统状态、环境和/或用户进行推理或推断的过程。比如,可使用推论 来标识特定的内容或行动,或者其可产生状态的概率分布。该推论可能是概率性 的—即基于数据和事件考虑的感兴趣的状态的概率分布的计算。推论也可指用来从 一组事件和/或数据中组成高级事件的技术。这样的推论会从一组观察事件和/或保 存事件数据中构造出新的事件或行动,而不管该事件是否在邻近的时间上相关,且 不管该事件或数据是否来自一个或几个事件和数据源。
本发明可基于这两个非常有挑战性的视觉问题:对象的分割和识别。对于分 割,人类通常可通过将任何给定的景物划分成以对其进行评估。例如,当示出一 幅装修房间的照片时,他们可确认或标识该房间的不同部分或内容:“有桌子”“有 椅子”“桌上有盏灯”等等。(分割的)对象的识别始终由人类作出,由此他们可 集成并重新评估任何引入的给定景物。另一方面,在一段时间内,计算机对各个块 进行分割和标识是相对困难的。
相反,诸如光学字符识别(OCR)以及手写识别技术等中的识别设计对识别器进 行训练,以获知例如什么定义了椅子或桌子。这样,可对计算机进行训练以根据其 定义的维数、密度等来识别对象;然而,分割要主观得多。例如,各种形式的打印 文本可由具有相当高准确率(如超过90%)的计算机来识别。当失真被附加到打 印文本或字母时,准确率可能一点都不会受到影响。然而,连写体笔迹对计算机而 言更难识别,这是因为辨别每个字母在何处开始或结束是困难的。
本发明所述的高性能HIP至少部分地通过以使计算机很难“打破”HIP的方 式添加失真,以使字符以及在部分字符上的弧或其它随机混杂物(如解除至少一个 字母的某一部分)模糊,而利用了这一计算机缺点。因为计算机识别能力持续进步, 所以HIP的生成也在持续发展。在本发明中,引入了几个新方法来提升这些HIP 的安全性,以使它们速度更快,并改善其总体有效性(如对人类用户的视觉吸引力)。
有实际价值的HIP的构造是困难的,这是因为发展人类比机器更成功的质询 是不充分的。这是因为具有一个绝大多数时间都失败的自动攻击程序是几乎不耗成 本的。实际上,若希望阻断自动脚本,若失败和重复的成本对机器而言是低的话, 则人类99%成功而机器1%成功的质询可能仍旧是不充分的。这样,为了有用, HIP必须使自动攻击的成本足够高,以阻止重复猜测。在某种显著的意义上,若回 答机器质询的成本比恳求人类执行相同任务的成本高,则HIP是成功的。本发明 利用这样一个事实,即被适当变更的图像对计算机而言,可靠读取而不使用昂贵的 技术是困难的,但是人们会非常容易理解。通过包括这样的图像作为网页中(或计 算机登录/访问屏幕)的质询,并依赖于对质询的正确回答而提交该页面(或登录), 可合理的阻止脚本撞上网页(登录或访问计算机)。
此外,本发明描述了用于变更诸如图像(如HIP图像)等内容的新技术,和 用于其高性能实现的体系结构,目的是使计算机读取变得困难、代价昂贵而且不可 预知,而同时使几乎所有的人类都能容易的读取。
现在参考图1,依照本发明的一个方面示出了用于HIP生成系统100的示例性 体系结构的主要框图。系统100包含字符选择组件100,其可从字符高速缓存120 中随机选择多个预先呈现的字符,以形成新HIP的基础。为在制作阶段的HIP的 全部附加安全性,预先呈现的字符能以二进制形式保存在高速缓存120中。字符高 速缓存120可包括所有允许的字符(某些字符,像大写I、数字0和1、字母O和 Q可被省略)的旋转和缩放版本,作为黑白位图的集合。
此外,高速缓存120可在启动时生成,每个可能字符的唯一位置具有特定x 和y缩放和旋转。高速缓存中的位图数量可能会变得非常大。例如,若对于x和y 缩放的缩放因子在95%~105%之间,且旋转在-5度到+5度之间,则对于英语字 母表(所有26个大写字符)可能有11×11×11×26=34,606个位图。在启动时填 充字符高速缓存120(填充所有的位图)是非常耗时的,所以就使用惰性高速缓存 填充(即,当生成HIP时,这些HIP中所使用的字符被保存在高速缓存中)。高 速缓存120随着时间的推移而逐渐被填满。
高速缓存120中的字符也可被进行行程长度编码,以减少x和y缩放及旋转 的所有可能组合的存储器覆盖区(footprint)。行程长度编码(RLE)是数据压缩的简单 形式,其中数据的行程被保存为单个数据数值和计数,而非保存为原始行程。例如, 考虑在实心白色背景上包含纯黑色文本的屏幕。在空白区内可能会有白色像素的许 多长行程,并在文本内有黑色像素的许多短行程。
变更方法使用高速缓存中的灰度级图像,其中每个字符反混叠(anti-aliased) 地进入背景,以产生平滑边缘。然而,这样的方法较不安全,这是因为在过程或系 统的这个阶段的反混叠可能会使HIP容易受到计算机逆向操纵的攻击。
一旦从字符高速缓存120中选择出一组随机字符,就能以任意随机顺序来排 列它们,以形成初步的HIP图像。然后,可使用弧选择组件130,以从弧高速缓存 140(或分别从任何其它的混杂物高速缓存)中选择任何数量的弧(或其它类型的 混杂物)。已选择的弧能诸如通过使用低差异准随机数,以随机方式被置于文本(字 符)周围或与文本(字符)组合在一起,来最大化与主题文本的干扰。例如,第二 弧的放置可至少部分地基于第一弧的放置,等等。这种类型的受控随机性可改善 HIP的外观,并使区分人类用户和计算机用户更加有效。
弧高速缓存130包含具有不同弧宽度的多个三次样条。三次样条可被限制到3 个控制点。这些弧的控制点被随机均匀地选出。此外,弧高速缓存可包括前景弧和 背景弧。前景弧可从本质上将墨添加到HIP,而背景弧可有效的将墨水从HIP 中移除。另外,前景弧可以与前景色彩或纹理相同的色彩或纹理出现;类似地,背 景弧可以与背景色彩或纹理相同的色彩或纹理出现。
此外,可生成弧或者将弧添加到相对远离HIP上的文本字符的HIP序列或图 像的区域上。可令HIP图像的大小(宽度和高度)显著大于以给定字体显示给定 数量字符的所需的空间。这一点可能是有用的,这是因为许多弧可随后被附加到图 像上,以欺骗自动系统,使系统认为图像中有其它的字符。这个策略可在这些区域 中生成字符的几个假肯定(false positive)。一旦这些字符被放置好,可变厚度的 各种弧可远离该字符所在的位置被安全添加。厚的弧是指其厚度接近于或大于用于 产生字符的字符字体平均厚度的弧。从可读性的度来看,均匀地添加厚的弧是危 险的,这是因为当厚的弧覆盖字符时,更有可能使其不可读。可能的相关工作 (work-around)是均匀地添加较薄的弧,并在它们不与已经放置的字符重叠的限制之 外均匀地添加较厚的弧。这就帮助保持放置的字符是易读的。由于厚的弧接近字符 的平均厚度,所以它们很难从规则字符中区分开来,因此,它们是对分散攻击有好 处的假肯定的主要候选者。远离字符而附加的弧的数量和密度可被独立调节。
不像字符高速缓存120,弧高速缓存140不必非常大。几千个弧就足够生成大 量的HIP。这样,弧可在启动时生成。如字符高速缓存120一样,弧能被保存为二 进制形式的位图。类似于字符位图,弧高速缓存140中的弧位图在进行扭曲过程之 前可被非反混叠或反混叠。然而,在HIP被扭曲之前的反混叠可能使HIP容易受 到计算机逆行工程的攻击或影响。
然后,初步HIP序列或图像(非扭曲)可被传递到扭曲区域应用组件150,其 与扭曲子区域选择组件160进行通信。选择组件160可随机或手动选择扭曲区域的 子区域,用于扭曲HIP。随后,扭曲区域应用组件150可将HIP映射到(扭曲区域 的)已选择的子区域。这样,HIP就可被拉伸、扭曲或者被模糊化,以使辨别HIP 图像中的特定字符变得更困难。
扭曲区域的子区域可从扭曲区域高速缓存170中随机或手动选择。扭曲区域 高速缓存170包含大的二维图像(被保存为整数矩阵一每个像素具有与其相关联的 两个整数,以定义x和y色差(dispersion)),其维数是单个HIP图像的几倍。 当给定的HIP图像要经受扭曲时,HIP大小的随机邻接子矩阵被从扭曲区域高速缓 存中提取出,并用于扭曲HIP。对HIP应用扭曲区域将HIP的像素移动了由已选 择扭曲区域子矩阵中的整数指定的量。
扭曲区域高速缓存170是两个扭曲区域的和。第一个是全局扭曲区域,第二 个是局部扭曲区域。不幸的是,生成扭曲区域在计算上是昂贵的。一个示例性过程 涉及二维高斯区域的生成,然后使用二维指数滤波器对它进行低通滤波并量化(舍 入到最近的整数值)。该区域的振幅由高斯区域幅度来确定,而且该区域的平滑度 (其是具有大的平滑波还是小的粗糙波)由指数衰减的速率来决定。
全局扭曲区域具有大的幅度和高的衰变因子,而局部扭曲区域具有小的幅度 和小的衰变因子。结果,全局扭曲区域产生大的平滑失真,而局部扭曲区域产生小 的粗糙失真。此外,将扭曲区域转换成整数就消除了内插的必要,并促使HIP的 形成速度加快。
在HIP图像被充分扭曲之后,其可被不同的组件进一步处理。例如,HIP图 像能以高分辨率被扭曲,并然后以大于1的因子下采样。这就改善了HIP图像的 视觉外观。另外,纹理和/或色彩可被添加到HIP图像,以进一步改善其视觉吸引 力。例如,纹理和至少一种色彩可被添加到背景,而前景(如,至少是文本)可以 用一种或多种不同的色彩来显示。以上述方式生成的HIP 180可通过基于web的服 务而变成对希望控制对其站点或服务的访问的网站所有者和操作者可用。然而,在 最终HIP图像180可通过web服务或网站用于用户的浏览器之前,图像180可被 编码为gif、jpeg、bmp和类似的格式。这就允许生成的HIP 180通过通用网络浏览 器或图像查看工具来呈现和查看。此外,纹理和/或色彩的添加作为诸如按每用户 或每网络服务定制HIP外观的一种手段是合乎需要的这。
系统100也可包含可任选的HIP验证系统190,其可用来监视(人类)已失败 HIP,以及对由系统100部分地生成的HIP进行随机采样,以便于确定各种文本+ 弧组合的可用性。特别地,验证系统190可收集提供给用户的HIP或HIP签名的 活样值(live sample),以及人类试图回答这些HIP时的成功或错误。这个信息可 被用来确定有关用于构建可用性映射字符的字符放置或弧放置的成功或错误率。可 使用对应于字符或字体的可用性映射。可基于字体的字形如何被呈现以及相关联的 字符/数字间混淆而手动生成初始映射(由程序员或设计者基于现有的人类知识生 成)。例如,时代罗(Times Roman)字体的大写E对将会擦除E的任何水平臂 的背景弧敏感。这就降低了读取E的能力。然而,独立的评估可使用户知道如果 擦除E较低的水平臂,会导致E无意看起来像F。然后,可使用可用性映射来变更 将来HIP的生成。
此外,一种方法涉及在HIP的在线操作期间对人类错误进行采样。当生成HIP 以标识人类时,成功和错误被连同每个HIP签名而记入日志,即,每个被采样的 HIP与试验相关联,其中,人类检查HIP并尝试解决它。HIP签名完全确定构成 HIP的字符和弧(除了扭曲区域之外)的位置和参数。成功和不成功的HIP解决方 案均被记入日志。由于每天服务几百万HIP,可采用随机采样来获取一段时间上所 需数量的样值,而不影响在线系统。这些样值中的HIP签名可用来在扭曲步骤之 前重新生成HIP。
接下来,提取包含每个字符的重新生成HIP的子图像。这些子图像放大HIP 内字符的边界框。然后,边界框子图像被旋转并缩放,以获取原始字符的尺寸和方 向。结果,任何落入这个边界框的弧/弧段也被提取了。检查每个字符,来看周围 的弧是怎样与字符相交的/怎样影响字符的。弧与字符相交效果的重要性是明显的。 即使弧实际上不与字符相交,其也可基于其与字符的接近程度而影响字符的解释 (由其在“放大”的边界框中的存在而建模)。用户错误和成功被用来分别分类何 种类型的相交/影响是差的,何种类型是好的。这可通过简单地保持对落入每个字 符周围的边界框内的前景和背景弧像素的计数而实现。这些计数形成了每字符的可 用性映射。可收集对成功和失败情况的计数。连同保持干扰和/或良性像素(benign pixel)的计数,其位置也可被跟踪。例如,可相对于字符定位在何处对每个位置跟 踪计数。结果,包含这些计数在边界框中每个可能位置的两维表示的映射可被获取。
一旦从用户数据构建了可用性映射,HIP生成过程就可考虑这些可用性映射, 并可拒绝可能不利地影响字符解释的弧位置。当弧被添加到HIP时,可使用试验 和错误方法来接受/拒绝这些弧。例如,试验和错误方法可发生在弧选择(130)期 间或与弧选择同时发生。累积得分可用来基于任何给定弧的位置和形状/方向确定 是否接受/拒绝任何给定的弧。
现在参考图2,依照本发明的一个方面示出用于HIP形成的示例性路径的示意 图。最初,字符预呈现组件210和/或弧预呈现组件220可分别预先呈现字符(如 字母、标点和数字)和/或弧,并将它们保存在适当的数据库(如字符数据库230、 弧数据库240)中。具体地,缩放以及旋转的字符可被单独呈现为二进制形式的位 图,并然后被高速缓存,并当组成HIP图像或字符序列时,其可用于简单的检索。 已经被确定为太难由人类解决的字符可在需要时从数据库中移除。
弧和其它任意混杂物可被预先呈现为二进制形式的位图,然后其也被高速缓 存。弧高速缓存可包括简单弧(样条)以及其它类型的混杂物,其被设计成削弱分 割和OCR程序。这样的混杂物的例子包含来自与文本相同的字体的字符块、具有 衬线的弧等等。因为字符、弧和其它任意的混杂物被预先呈现,然后被高速缓存, 所以HIP组成和形成与传统的通用方案相比会更快地发生。
一旦被组成,初步HIP(预先扭曲HIP)250可然后被扭曲区域260(270)的 所选子部分扭曲。扭曲区域260可包含或被划分成多个子区域265。这样,每次当 新的HIP被组成时,可随机(从扭曲区域高速缓存中)选择扭曲区域的子区域, 并将其应用于初步HIP 250。结果,不再需要每次当生成新的HIP时重新生成新的 扭曲区域,这就充分加快了HIP的生成时间并可耗费更少贵重资源。
扭曲区域高速缓存以及弧高速缓存可被周期性地刷新,以促进或确保对HIP 生成算法的熵添加。例如,高速缓存更新的频率可被定制,并且其范围可从对于扭 曲区域每50毫秒一次到对于字体、色彩和纹理更新每几天一次。应当认识到的是, 字符高速缓存更新的频率可能会比弧高速缓存低,但是其应当至少与HIP改变的 字体一样频繁地更新。
如前所述,本发明的HIP能以二进制形式生成,以改善HIP的安全性,并加 快生成时间。然而,以二进制形式描述的HIP可能在视觉上没有吸引力,这是因 为边缘可能是不匀称的或粗糙的。为解决这个问题,本发明提供了下采样。下采样 组件280可按大于1的任何整数或非整数(如2的因子)或双立方(bi-cubically)(如 使新的像素为所有四个方向中老像素的平均状态;这样如果开启4个中的3个,则 该新像素处于开启状态)来对生成的HIP进行下采样。下采样的结果是完成的HIP 290能被更精细化地呈现,如具有更平滑的边缘,并在灰度级声调中(来自其先前 的黑白色彩图案)。应当理解的是,该下采样可在HIP被扭曲之前发生;然而, 这可危及HIP的安全性和整体性。
此外,在HIP已经完全形成(如组成并扭曲)之后的反混叠可这时执行。这 是因为所有的文本和弧已经被呈现且被相应地排列。这样,反混叠将发生在HIP 级上,而不是弧/混杂物级上和/或文本级上。为进一步证明这一点,想象预先呈现 的字符是由一个或多个反混叠滤波器反混叠的(其被平滑地混合到背景中),且对 HIP随机地选择其子集。接下来,被反混叠的弧的采样(存在锯齿状边缘的伪像— 阶梯效应)被添加到文本上。尽管以二进制形式对HIP进行扭曲和编码,然而HIP 可仍可被逆向操纵。这是因为可至少部分地通过使用反混叠计算将弧的锯齿状边缘 可与文本的平滑边缘区分开来。这样,弧可至少部分地从图像中分段,从而这就降 低了HIP的总安全性和有效性。
现在想象字符和弧均被反混叠,且然后被高速缓存。文本的反混叠通常与弧 的反混叠不同,即使对它们使用相同的反混叠算法。当高速缓存具有反混叠的字符 和弧时,这些反混叠的字符和弧的组合在其相交处生成伪像(由于组合过程)(当 弧被放置在字符上方的时候)。在这些相交处,反混叠具有与非相交处的反混叠不 同的属性。这个差异可用来标识弧—文本相交点。然后,有关这些相交的信息可用 于将HIP中的文本和弧分离开来。HIP上即使小部分弧的移除也会降低由HIP所 提供的安全性,而分割变得更容易了。
然而,若HIP在HIP级被反混叠且被逆向操纵,则在图像的任何部分上采取 的用于弧和文本之间译解(decipher)的动作能以相同方式来影响整个图像。换言 之,弧像素不能与文本像素区分开来。因此,基于反混叠的操作在对HIP逆向操 纵时会是无效的。
由于HIP及其生成方案的目的和特性,服务器可更好地适用于以非常块的步 调(pace)生成下采样的黑白HIP,而同时维持安全性。这是因为服务器本身是非 常块的,它可使用每像素8比特或每像素1比特表示法,或行程长度编码的表示法 和操作,而不是对于彩色图像的每像素32比特操作。由于如今的服务器具有32 位或64位处理器,所以通过使用由这些32位和64位处理器支持的SIMD(单指令 多数据)指令而可进一步增强服务器速度。例如,这里描述的系统和方法可在32位 Intel处理器上使用64位和128位SIMD操作,这由MMX(多媒体扩展)和/或 SSE(流SIMD扩展)和/或SSE2(允许MMX指令工作在128位数据块上工作) 的指令集来提供。
另外,可使用GPU(图形处理单元)来执行扭曲过程以及诸如将纹理添加到 HIP这样的定制。GPU是单芯片处理器,它主要用于计算3D函数。这包括诸如灯 光效果、对象变换以及3D运动这样的操作。因为这些类型的计算对CPU(中央处 理单元)而言是相当繁重的,所以GPU可帮助计算机更有效地运行。这样,如在 图中表明的,HIP形成一般可在服务器—客户机体系结构的服务器端发生。
基于服务器的HIP生成的进一步加速可通过直接对黑白HIP中的1和0的行 程而非对单个像素进行操作而获得。用于在HIP服务器中位块传送(blit)、加关 键字(key)和扭曲的像素操作可用像素行程的相关联操作来表示。来自基于行程 的HIP服务器的输出允许快速编码成GIF以及其它基于行程的图像编码方案。这 可显著地减少编码开销,并进一步改善服务器性能。最后,某些服务器可被指定或 指派来执行关于特定客户机的某些定制(如色彩)。
客户机端HIP操作可包括任何定制过程,这诸如将纹理、混合(如前景混合 到背景中)、或者色彩添加到HIP中。例如,当查看来自客户计算机上浏览器网 页上的HIP时,可看见色彩,而在服务器上,HIP是灰度级的。这可以是在HIP 向客户机用户可视化之前,在HIP上执行客户机修改的结果。另外,HIP也可在客 户机上的反混叠,这是由于HIP基于其在服务器上的形成,对逆向操纵是充分安 全的。
尽管没有在图中描述,然而服务器和/服务器+客户机组合可被实现为web服 务,以促进相对于HIP使用的位置独立性。更具体的说,想要保护其网络免受自 动脚本攻击或控制对其计算机的访问的商务和网站所有者可购买任何数量的HIP 以供个人使用或商用。因为可获取高性能HIP生成的好处而没有与运行或维护服 务器来生成它们相关联的花费或开销成本,所以这一点是尤其有利的。
现在将通过一系列动作来描述依照本发明的各种方法,应理解和认识到的是, 本发明并受动作次序而限制,因为依照本发明,某些动作可能会以不同的次序出现 和/或与来自这里所示和所述的其它动作同时出现。例如,本领域的技术人员会理 解并认识到,方法可选择性地被表示为诸如状态图中一系列相关的状态或事件。而 且,并非需要所有示出的动作来实现依照本发明的方法。
现在转到图3,依照本发明的一个方面示出了便于生成HIP的示例性方法300 的修改的流程图。方法300可在305处开始,创建空白HIP。在310处,可基于预 先设置的HIP长度M 315随机地选择M个HIP字符,其中M是大于或等于1的 整数。可从允许的字符320的列表中选择字符的选择。包含Y5BSADVR的合成 HIP序列或组成在325中示出。
在330处,可发生独立字符变换。例如,x和y变换、x和y缩放、和/或相对 于字符中心的旋转可发生并被保存在字符高速缓存335中,或从该字符高速缓存 335中检索。该高速缓存中的字符能以二进制形式来保持并使用。在340处,变换 的字符可被添加到HIP,如345处所示。
在350处,可生成前景弧,且该前景弧被保存在弧高速缓存355中,或从该 弧高速缓存355中检索,其也能以二进制形式被保持。然后,在360处,任何数量 的前景弧可被添加到HIP,如在合成HIP 365中所示的。同样的,在370处,可生 成背景弧,然后将该背景弧保存,用于从弧高速缓存375对其进行快速检索,这类 似于前景弧高速缓存355。在380处,合适数量的背景弧可被添加到HIP,如在合 成HIP 385中示范的。背景弧可显现出与HIP 385中所示的背景色彩相同的色彩。
接下来,在390处,可选择扭曲区域并将该扭曲区域应用到HIP 385。特别地, 扭曲区域的随机子区域可从扭曲高速缓存395中选出。合成HIP图像400就产生 了。能以相对较高的分辨率来执行该扭曲,然后在405处诸如按因子2,或者任何 大于1的整数或非整数来下采样,从而合成HIP 410大约是例如其原始大小的一半。 另外,合成HIP能以灰度级显现。最后,在415处,前景和/或背景色彩和/或纹理 可被添加到HIP 420上,如图所示。
图4中示出了至少部分地由本发明生成的示例性HIP。特别地,HIP 450、460 和470描述这样的高性能HIP,其包括与前景以及背景中的不同量的弧混杂物组合 的六个独立变换的字符。对比色彩已经被添加到前景和背景中,以使HIP从视觉 上更能引起注意。对于HIP 480和490,文本、色彩和色彩混合已经被添加,以进 一步增强其外观。
现在转到图5,依照本发明的一个方面,示出了示例性HIP生成方案500的流 程图。方法500包括在510处预先呈现一组字符和/或弧,作为二进制形式的位图。 在520处,预先呈现的字符和/或弧可被高速缓存在其各自的存储或数据库中。特 别地,被高速缓存在特定存储中的字符可以都是同一种字体。另外,位图高速缓存 可被行程长度编码或被编码为GIF或JPEG,这取决于HIP生成过程的期望速度。
特别地,对字符进行高速缓存可以是相当耗时的过程,其可能会阻碍启动过 程。结果,可从完整HIP中语义分析出字符的至少一个子集,且该字符的子集可 被移动到字符数据库以增加可用字符的数量—当生成新的HIP时。这样,字符数 据库可随时间构建。相反,弧数据库不需要这么多的弧,以至于不需要这么多的时 间,且其可在启动过程期间被构建。这两种数据库均能以特定频率或按所需来刷新, 以改善HIP的安全性。然而,字符数据库可以更低的频率来更新,诸如仅当字符 的字体变化时,或者仅当语言变化时。应当认识到的是,HIP生成方法500是语言 独立的,且其可被扩展以包括任意符号集,诸如方程符号、不同类型的Lego块、 诸如动物和家用物品这样的任意对象、诸如儿童玩具上的原始几何形状(如HIP 可被设计成用于需要识别形状的学龄儿童),等等。
接下来,在530处,具有多个子区域的扭曲区域能以二进制形式被预先计算, 然后被高速缓存在大扭曲区域高速缓存中。不像传统的HIP生成方案,本情况中 的扭曲区域可被转换成整数,这可显著加快HIP的生成速度。在540处,诸如通 过使用以下图6所示的示例性过程,至少可生成第一HIP序列。
然后,在550处,第一HIP可被映射到扭曲区域的至少第一子区域中,以进 行扭曲进程。所选子区域可被随机选择,并从扭曲区域中提取以对这个特定的HIP 序列进行扭曲。HIP序列能以二进制形式被扭曲,这意味着某些直线看似被弯曲。 这些表明HIP序列中锯齿状边缘的伪像,这是剩余在非反混叠状态中的序列的结 果。为克服二进制伪像的效应,在560处,能以高分辨率来执行扭曲,然后对其下 采样,以获取视觉上有吸引力的HIP。
在570处,至少可生成第二HIP序列,然后在580处,该第二HIP序列被映 射到先前用于生成第一HIP的同一扭曲区域的至少第二子区域中。这个第二子区 域也可被随机选择,然后从扭曲区域中提取。在590处,可获取已经完成的HIP。 从那以后,可从HIP中语法分析出一个或多个被扭曲的字符,然后将它们添加到 字符数据库中。否则,过程500可如所需地继续,以至少比传统HIP系统快两个 数量级的速度来生成HIP。
继续转移到图6,依照本发明示出了便于获取可经受扭曲过程的HIP序列的示 例性过程600的流程图。过程600是图5的延续,其可包括在610处从字符高速缓 存中随机选择任何数量的预先呈现的字符。例如,包括字母和/或数字的八个字符 可从该高速缓存中选出。在620处,部分地基于使用低差异准随机数,任何数量的 背景和/或前景弧可被随机地与字符组合在一起。即,弧的放置和定位依赖于先前 放置的弧的位置,以最小化HIP的任何一个区域或位置中的不合需要的弧聚集或 聚类。回想,HIP必须可由人类来解出,而不能由计算机解出。这样,这个较不随 机形式的弧放置可提高而不是降低HIP的总体有效性。
另外,可产生弧,或者将弧添加到HIP序列或相对远离HIP上的文本字符的 图像的区域。HIP图像大小(宽和高),可以比以给定字体显示给定数量的字符的 所必需空间要大得多。这一点可以是有用的,这是因为然后许多弧可被添加到图像 上,以愚弄自动系统认为图像中有其它的字符。这个策略将在这些区域中产生字符 的若干假肯定。一旦字符已经被放置好,不同厚度的不同弧可远离字符所在的位置 而被安全地添加。厚的弧是指其厚度接近或大于用来生成字符的字符字体平均厚度 的弧。从可读性的角度来看,均匀地添加厚的弧是危险的,这是因为当厚的弧与字 符重叠时,更可能使其不可读。可能的相关工作是均匀地添加较薄的弧,并在不与 已放置的字符重叠的情况下均匀地添加较厚的弧。这就帮助保持放置字符是易读 的。由于厚的弧接近字符的平均厚度,所以它们很难从常规字符中区分出来,因此, 它们是对扩散攻击有益的假肯定的主要候选者。远离字符所添加的弧的数量或密度 可被独立调节。
在630处,许多混杂物可被随机选择,并也可依照当前的弧位置而被定位在 HIP上。该混杂物可包括通过以随机或受控的方式来切碎字符而获取的字符位或 块。最后,在640处,HIP序列可被获取。有关示例性八字符HIP的变化可包括比 如通过减少弧和/或混杂物的量来减少字符的数量,而维持HIP图像的大小。这可 进一步改善HIP的性能,因为HIP可看似为相同的大小,但是包含较少的要解出 的字符。
此外,选择字符、弧、混杂物和扭曲区域子区域的随机性可部分地由使用多 个熵随机源的随机数发生器生成的随机数来确定。该随机数发生器可基于不能被推 断或预测或逆向操纵的多个信息而不断更新其自身。例如,信息类型包括当前正使 用多少存储器(如由服务器)、进入或离开网络或服务器的数据类型,等等。随机 数(如密码伪随机数)可成批生成,然后被缓冲,以便获得改善的性能。
为提供本发明各方面的附加环境,图7和下面的讨论旨在提供其中可实现本 发明各方面的合适操作环境710的简短、概括描述。虽然本发明是以诸如由一个或 多个计算机或其它设备执行的程序模块等计算机可执行指令的通用上下文来描述 的,然而本领域的技术人员会认识到,本发明也可组合其它程序模块和/或作为硬 件和软件的组合来实现。
然而,一般而言,程序模块包括例程、程序、对象、组件、数据结构,等等, 它们执行特定的任务或实现特定的抽象数据类型。操作环境710仅是合适的操作环 境的一个例子,并非暗示对本发明的使用范围或功能的任何限制。可适用于本发明 的其它众所周知的计算机系统、环境和/或配置包括,但不局限于,个人计算机、 手持式或膝上设备、多处理器系统、基于微处理器的系统、可编程消费者电子设备、 网络PC、小型机、大型机、包括上述系统或设备的分布式计算环境,等等。
参考图7,用于实现本发明各方面的示例性环境710包括计算机712。计算机 712包括处理单元714、系统存储器716以及系统总线718。系统总线718将包括 但不局限于系统存储器716的系统组件耦合到处理单元714。处理单元714可以是 各种可用的处理器中的任一种。双微处理器和其它多处理器体系结构也可被用作处 理单元714。
系统总线718也可以是多种类型总线结构中的任一种,这包括存储器总线或 存储器控制器、外围总线或外部总线、和/或使用多种可用总线体系结构的任一种 的局部总线,这包括,但不局限于,11位总线、工业标准体系结构(ISA)、微通道 体系结构(MSA)、扩展ISA(EISA)、智能驱动电子设备(IDE)、VESA局部总线(VLB)、 外围部件互联(PCI)、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储 卡国际协会总线(PCMCIA),以及小型计算机系统接口(SCSI)。
系统存储器716包括易失性存储器720和非易失性存储器722。基本输入/输 出系统(BIOS)包含诸如在启动时在计算机712内的元件之间传递信息的基本例 程,被储存在非易失性存储器722中。作为说明,而并非限制,非易失性存储器 722可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、 电可擦除ROM(EEPROM),或者闪存。易失性存储器720包括随机存取存储器 (RAM),其用作外部高速缓存存储器。作为说明,但并非限制,RAM以多种形式 可用,诸如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数 据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链接 DRAM(SLDRAM)以及直接存储器总线RAM(DRRAM)。
计算机712也包括可移动/不可移动、易失性/非易失性计算机存储介质。例如, 图7示出盘存储724。盘存储724包括,但不局限于诸如磁盘驱动器软盘驱动器、 磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或存储条等设备。 另外,盘存储724可包括单独的存储器介质或与其它存储介质相结合,这包括,但 不局限于,诸如光盘ROM设备(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD 可重写驱动器(CD-RW驱动器)或者数字多功能盘ROM驱动器(DVD-ROM)等光盘 驱动器。为便于盘存储设备724连接到系统总线718,通常使用诸如接口726这样 的可移动或不可移动接口。
应当认识到的是,图7示出了用作用户和合适的操作环境710中描述的基本 计算机资源之间的中介的软件。这样的软件包操作系统728。操作系统728可被 储存在盘存储724中,其用来控制和分配计算机系统712的资源。系统应用程序 730利用了操作系统728通过储存在系统存储器716或盘存储724中的程序模块732 和程序数据734对资源的管理。应当认识到,本发明可用各种操作系统或操作系统 的组合来实现。
用户通过一个或多个输入设备736将命令或信息输入到计算机712中。输入 设备736包括,但不局限于,诸如鼠标、跟踪球、触针、触摸垫等定位设备、键盘、 麦克风、操纵杆、游戏垫、圆盘式卫星电视天线、扫描仪、TV调谐卡、数码照相 机、数码录像机、web照相机等等。这些和其它的输入设备通过系统总线718经由 接口端口738与处理单元714相连。接口端口738可包括如串行端口、并行端口、 游戏端口以及通用串行总线(USB)。输出设备740使用某些与输入设备736相同类 型的端口。这样,例如,USB端口可被用来将输入提供给计算机712,并将来自计 算机712的输出信息提供给输出设备740。提供了输出适配器742,以说明有某些 输出设备740,,如监视器、扬声器、打印机、以及需要特殊适配器的其它输出设 备740。输出适配器742包括,作为说明,但并非限制,提供输出设备740和系统 总线718之间的连接装置的视频和声音卡。应当注意的是,诸如远程计算机744 等其它设备和/或设备的系统均提供输入和输出能力。
计算机712可在使用到诸如远程计算机744这样的一台或多台远程计算机的 逻辑连接的网络化环境中操作。远程计算机744可以是个人计算机、服务器、路由 器、网络PC、工作站、基于微处理器的设备、对等设备或其它公用网络节点等等, 且其通常包括相对计算机712示出的多个或全部元件。为简单起见,仅对远程计算 机744示出了存储器存储设备746。远程计算机744通过网络接口748逻辑上与计 算机712连接,然后通过通信连接750进行物理连接。网络接口748包含诸如局域 网(LAN)和广域网(WAN)这样的通信网络。LAN技术包括光纤分布式数据接口 (FDDI)、分布式数据接口(CDDI)、以太网/IEEE 1102.3、令牌环/IEEE 1102.5等 等。WAN技术包括,但不局限于,点对点链路、诸如综合业务数字网和其变体等 电路交换网络、分组交换网络,以及数字用户线(DSL)。
通信连接750是指用来将网络接口748连接到总线718的硬件/软件。虽然为 了说明的清楚,通信连接750被示出为在计算机712的内部,但是其还是可在计算 机712的外部。连接到网络接口748所必需的硬件/软件包括,仅作为例子,诸如 包括常规电话级调制解调器、线缆调制解调器和DSL调制解调器等调制解调器、 ISDN适配器以及以太网卡等内部和外部技术。
上面已经描述的包括本发明的例子。当然,不可能为了描述本发明而描述组 件或方法的每个可想象的组合,但是本领域的普通技术人员会认识到,本发明许多 其它组合和变化也是可以的。因此,本发明旨在包含落入所附权利要求书的精神和 范围内的所有这样的变化、修改和变更。此外,在详细描述或权利要求书中使用术 语“包括”的意义上,该术语要为包括性的,与术语“包含”在用作权利要求书中 的过渡词时被解释为“包含”的方式类似。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈