机器学习人工字符生成的制作方法

文档序号:16050533发布日期:2018-11-24 11:14阅读:316来源:国知局

本发明涉及人工神经网络和人工(artificially)生成手写字符、手写字母数字以及书法。以下讨论的实施例根据机器学习技术来人工生成手写字,所述机器学习技术是根据生成规则和判别规则来转换手写样本,由此产生看上去是人为(humangenerated)笔迹的人工生成笔迹。

背景技术

字符识别是人工神经网络的一个重要应用。字符识别应用可以识别文档中的文本以及工业应用中的符号和字符。在创建一个精确的人工神经网络时,系统会进行字符识别训练,这是一个漫长而乏味的过程。通常,实际的手写样本被重复地提供给系统以建立一个系统能识别的字符库。此外,测试也是重复地进行,以确定系统是否正确地理解手写输入。

由于存在各种各样的手写风格,识别过程耗时且需要大量计算资源,因此,业界需要能够识别大量手写风格的强大系统。由于传统上需要获得的手写样本的数量很大,业界寻求大量可识别的手写样式,导致字符识别训练过于昂贵。此外,一些语言,如中文,包含异乎寻常的大量字符,为了创建和维护能够识别足够多种手写汉字的人工神经网络,导致计算成本、时间消耗和财务支出指数级增加。



技术实现要素:

由于手写风格众多和计算机处理局限性,有必要改进字符识别训练的技术过程,以降低字符识别训练的成本,提高字符识别训练的速度,和提高字符识别训练的可靠性。改进字符识别训练的技术过程为计算行业提供了必要进步,并使可靠地识别电子汉字成为可能。

本发明讨论的技术实施例根据机器学习技术、以独特方式人工生成手写字来解决传统电子字符识别训练的问题,所述机器学习技术是根据生成规则和判别规则来转换手写样本的。本发明提供的解决方案可产生看上去是人为手写的大量人工生成笔迹。如此,与传统技术相比,本发明实施例为系统字符库提供更有效获得的额外字符。此外,本发明实施例被设计为适合机器学习,而且,随着技术的执行,该技术会变得越来越有效。简而言之,本发明提供的解决方案改进了计算技术本身,使可靠地识别电子汉字成为可能。

实施例包括一种逐渐训练计算机来人工生成可识别的手写字符的方法。一种示例性方法包括:接收包括像素的数字化的种子字符,选择该种子字符的至少一个特征,确定所选特征的像素的概率分布,人工生成变形字符。示例性方法至少通过以下方式来人工生成变形字符:基于像素的位置来执行形相网格线重新定位(physiognomygridlinerepositioning)、至少基于所述网格线重新定位来定义对齐分类器、至少基于对齐分类器来识别变形分类器、至少基于变形分类器从变形规则库中选择一个或多个变形规则、以及根据所选的一个或多个形变规则使数字化的种子字符变形。示例性方法还包括收集精度数据,以及至少基于精度数据来改变所述选择步骤。

实施例还包括一种非暂时性计算机可读介质,其上记录有程序代码,用于逐渐训练计算机来人工生成可识别的手写字符。示例性程序代码包括:用于接收包含像素的数字化的种子字符的代码、用于选择该种子字符的至少一个特征的代码、用于确定所选特征的像素概率分布的代码、以及用于人工生成变形字符的代码。用于人工生成变形字符的代码可以至少包括:基于所述像素的位置来执行形相网格线调整,至少基于网格线重新定位来定义对齐分类器,至少基于对齐分类器来识别变形分类器,至少基于变形分类器从变形规则库里选择一个或多个变形规则,以及根据所选一个或多个变形规则以将该数字化的种子字符变形。示例性介质还包括:用于收集精度数据的代码、以及用于至少基于精度数据来改变所述选择步骤的代码。

实施例还包括一种逐渐训练机器学习以人工生成可识别的手写字符的系统。示例性系统包括一个或多个存储器以及一个或多个处理器,其接收包含像素的数字化的种子字符,选择该种子字符的至少一个特征,确定所选特征的像素概率分布,以及人工生成变形字符。示例性系统可以至少通过以下方式来人工生成变形字符:基于像素位置来执行形相网格线调整、基于网格线重新定位来定义对齐分类器、基于对齐分类器来识别变形分类器、基于变形分类器以从变形规则库里选择一个或多个变形规则、并根据所选择的一个或多个变形规则使数字化的种子字符变形。在实施例中,一个或多个处理器可以进一步收集精度数据,并至少基于精度数据来改变所述选择步骤。

前面已经相当广泛地概述了本发明的特征和技术优点,以便可以更好地理解下面的详细描述。以下将描述形成权利要求主题的其他特征和优点。本领域技术人员应当理解,所公开的概念和具体实施例可以容易地用作修改或设计用于实现本申请相同目的的其它结构的基础。本领域技术人员还应该认识到,这样的等同结构不背离所附权利要求中所阐述的本申请的精神和范围。当结合附图考虑时,从下面的描述中将更好地理解被视为本文描述的实施例特征的新颖特征(关于其组织和操作方法两者),以及其他目的和优点。然而,应当清楚地理解,每个附图仅仅是为了说明和描述的目的而提供的,并不是既定作为本发明实施例的限定。

附图说明

为了更完整地理解本发明,现结合附图参考以下描述,其中:

图1a和1b显示现有技术的示例;

图2a显示人工生成字符的一个示例性技术;

图2b-2d显示人工生成字符的一个示例性技术;

图3a和3b显示人工生成字符的示例;

图4显示人工个性化人工生成字符的示例;

图5显示一个示例性计算机系统;

附录a显示示例性变形规则。

具体实施方式

本发明描述了改进电子字符识别训练的技术过程,其涉及手写字符、手写字母数字、书法、符号等。实施例涉及人工神经网络、人工智能系统、计算机系统、计算机等。一个优选实施例改进了中文识别中训练人工神经网络的技术过程。

教导计算机识别手写字符的最昂贵且最耗时的步骤之一是为每个字符构建具有足够范围的各种手写风格的字符库。传统字符库中充满了由人手写的手写字符样本。传统上,为了增加手写风格的多样性,从越来越多的人那里获得越来越多的样本,并将人手写样本扫描到计算机中和存储在字符库中。

这个过程太缓慢且太昂贵,所以业界开始通过使用计算机图形技术对字符库中的字符进行电子操纵来尝试合成地增加各种手写风格来增加字符库。图1a显示传统字符网格建模100的一个示例,其合成地创建手写字符。通常,在步骤101,手写的字符在二维网格如块101b的3×2网格中被定位和归一化。图像101a显示步骤101的一个示例性图像。接着,该技术使用计算机图形技术来扭曲该字符。例如,在步骤103,在该字符上应用剪切技术,使字符变形,如图像103a中所示。在步骤105,使用扭曲技术进一步使字符变形,如图像105a所示。传统上,(步骤107)执行遗传算法(ga)以产生多种复合畸形,其合成各种各样的变形字符,如图像107a所示。

传统地,单独测试各种变形字符107a的可接受性,以确定相应的变形字符是否是原始字符101a的可接受变体。例如,变形字符110与手写字符101a进行比较。如果变形字符110被确定为与手写字符101a足够相似,并能够与其他字符足够区分,使得人可以识别字符110的预期含义,那么字符110就被确定是手写字符101a的一种充分变体。通常,手写字符的充分变体会被添加到字符库中。

虽然传统技术能够产生手写字符的一些充分变体,但传统技术也产生了大量不可识别的字符,如方框107a所示。手写字符101a的英文含义是“big(大)”。合成字符110不会被人识别为“大”。相反,合成字符110很可能被人认为是错字。类似地,合成字符116和124也可能被认为是错字。合成字符112不可能被人识别为“大”;相反,合成字符112很可能被人识别为“九”。同样,合成字符122也可能被识别为“九”,而合成字符120可能被识别为“六”。此外,合成字符114很可能会被人识别为草书英文字母“k”。在方框107a中的所有合成字符中,字符118最可能被人识别为“大”。结果,所有合成字符107a中只有一个合成字符118将被添加到字符库。此外,令人失望的是,将不准确的合成笔迹输入系统可能会对模型准确性产生负面影响。

图1b显示另一种传统的尝试过程1000和合成字符1000a,旨在合成各种手写风格。从图1a-1b可以看出,传统合成的字符质量差,并产生少量足以识别的字符添加到字符库。因此,尽管合成字符以增加字符库中的字符种类可能比获取和上载人手写字符更快且更具成本效益,但需要一种解决方案来改进传统创建合成字符的技术。

传统的创建合成字符技术的至少一个问题是传统技术迫使字符归一化到网格。然后,该技术强力使用尽可能多的网格线畸形组合来尽可能多地创建字符变形。由于计算限制,此过程进展缓慢。接着,在产生尽可能多的字符变形之后,传统技术要花费更多的计算资源来过滤掉不可识别的变形字符,并保留可识别的变形字符。由于计算限制,此过程也很缓慢。简而言之,传统字符变形技术只产生少量的可识别字符,但该技术消耗了相当大量的计算资源和时间。因此,期望有一种更有效的方法来改进传统手写字符识别训练过程。

对传统技术的改进可以通过在执行变形技术之前关注字符形相特征(physiognomies)来实现。通过关注特定字符的形相特征,系统可以主动和智能地确定变形规则池中哪一组变形规则很可能会产生可识别的人工生成字符。本发明所述的技术通过减少执行的变形规则数量和组合来提高手写和书法生成技术的效率。本发明所述的解决方案不是使用强力,而是将计算机处理限制为选择性组合变形规则,选择性组合变形规则是至少基于特定字符形相特征来选择的,从而避免由蛮力计算而导致的资源浪费。此外,本发明实施例被设计为适合于机器学习,因此,随着技术的发展,该技术会变得越来越有效。

图2a显示改进技术200的一个高阶示例,其细节将在至少一些以下附图中讨论。技术200的各个步骤可以由一个或多个处理器执行。在步骤201,系统接收一个种子字符。种子字符的示例是已经被扫描到系统中的手写字符、先前已经由计算机生成的可识别字符、来自字符库的字符等。种子字符可以是汉字、另一种语言字符、字母数字字符、书法、签名等。

在步骤203,系统可以选择种子字符的一个特征。示例性特征包括但不限于位移、密度、压力、加速等。执行方法200步骤的处理器可以选择种子字符的单个特征或多个特征。在选择多个特征的示例中,步骤203可以选择多个特征用于多层处理,这至少参照图2b在以下详细讨论。在步骤205,系统确定种子字符的所选特征的概率分布。步骤205也至少参照图2b在以下详细描述。

在步骤207,执行生成,其中系统生成种子字符的变形字符。至少参考图3a-3b在以下详细描述步骤207。在步骤209,系统对人工生成的变形字符执行判别,以创建种子字符的一个新的个性化的生成图案(pattern)。至少参照图4在以下详细描述步骤209。在步骤209(或本发明公开的任何步骤)期间,可以对每个相应的新的个性化的生成图案累积精度测试数据,并可以将一些或全部精度数据输入到一个或多个机器学习模块中,使系统可以不断地从本发明各个步骤中学习。

在步骤211,系统确定种子字符的新的个性化的生成图案是否足以被识别为种子字符。例如,如果种子字符是字母“a”,在步骤211,系统确定种子字符“a”的新的个性化的生成图案是否被识别为字母“a”。如果在步骤211已经接收到种子字符的多个新的个性化的生成图案,系统可以对每个接收到的种子字符的新的个性化的生成图案执行步骤211。

在步骤211,如果系统确定种子字符的新的个性化的生成图案足以被识别为种子字符,则在步骤213,系统可保存该种子字符的该新的个性化的生成图案。在示例中,新的个性化的生成图案可以被添加到字符库,从而增加字符库中的字符数量。但是,在步骤211,如果系统确定种子字符的新的个性化的生成图案不足以被识别为种子字符,则在步骤217,系统丢弃这个字符。在实施例中,不可识别的字符可以从字符库中排除。在其他实施例中,可以将不可识别的字符和/或从其导出的信息输入到一个或多个机器学习模块中,使系统可以从失败操作尝试中持续地学习。

在步骤215,系统可以将来自本发明各个步骤的任何精度数据输入到一个或多个机器学习模块。机器学习模块可以至少使用精度数据来改进本发明的各个步骤。例如,可以利用种子字符的新的个性化的生成图案的精度数据来确定在步骤207选择的变形技术、变形技术组合、和/或变形技术的特定次序是否有效和/或是否会受益于改变。一个或多个机器学习模块可以在任何时间和在本发明的任何步骤期间接收精度数据。

图2b显示处理种子字符的多个特征的一个示例。在种子特征的多个独立特征上识别和执行变形技术,可以提高本发明过程和机器学习的产出。在该示例中,种子字符是汉字“大”,其四个非限制性示例特征集合是:密度、位移、压力和加速。步骤203b显示示例性多层配置中的一组示例性特征(密度、位移、压力和加速)。步骤205b显示各个单独层中的每个特征示例。在该示例中,步骤205b显示四个选定层:密度层2005a、位移层2005b、压力层2005c、和加速层2005d。上述每个特征都有助于识别个性化手写笔迹。根据需要,可以选择、提取和处理额外层和/或更少层,以进一步帮助识别个性化手写笔迹和/或用于其他目的。

依照图2b-2d的步骤,在步骤201b,系统接收包括多个特征的种子字符。在步骤203b,系统选择一个或多个特征进行处理。在该示例中,选择了一组四个特征:密度、位移、压力和加速。在步骤205b,系统确定每个所选特征的概率分布。如果需要,系统可以根据所选特征数量来并行处理步骤205b。在该示例中,确定四个不同特征的概率分布,且并行处理这些特征。回到图2a,如果选择多个特征,则可以并行处理选择之后的任何或全部步骤。图2b显示一个示例的对每个特征并行处理以下步骤。例如,系统为密度特征执行步骤2007a-2017a,为位移特征执行步骤2007b-2017b,为压力特征执行2007c-2017c,为加速特征执行2007d-2017d,和/或如何需要的话,为任何其他选定特征执行步骤。一个或多个处理器可用于执行并行处理。

图3a显示一种生成形变手写字符的示例性改进生成技术300。在步骤301,系统接收训练输入数据。在示例中,训练输入数据可以是步骤205的输出、手写字符、字符库中的字符、先前已经通过精度测试的生成字符等。在该示例中,训练输入数据是一个汉字,可以被人识别为“大”。

步骤303在训练输入数据(例如,手写字符)上执行形相网格定位,以便识别特定于训练输入数据的对齐分类器。参照步骤303共同讨论图3a和图3b。在步骤303a,系统在训练数据输入上创建网格。例如,步骤303a在汉字上覆盖一个n×n的网格(例如5×5)。优选地,整个字符在网格内被每方格一点(onedotpersquare)捕捉,例如通过确保网格足够大以每方格一点捕捉整个字符。在处理系统的一个字符中,例如二进制手写字符(c),c包含许多像素(p),它们一起组成字符(c)。为了方便说明,图3a-3b显示一组样本像素(p)点302a-302n。字符(c)的像素(p)可以表示为:c={p1,p2,p3...pn},其中pi=(xi,yi)是字符(c)中的第i个像素,n是c中的像素总数。在步骤303b,识别网格内所有点或一个子集点(如,像素)。根据机器模块调整,系统可以按需要选择在该步骤上使用的点数样本大小。根据识别出的网格内的点,一个或多个网格线将至少根据相应的点的位置进行调整。

在步骤303c,计算一些或全部点的位移距离。点的位移距离能够确定该相应的点的距离附近网格交点的一个或多个矢量距离。例如,点302a距离网格交点(1,1)的距离是矢量304;点302k距离网格交点(1,4)的距离是矢量306a和距离网格交点(2,4)的距离是矢量306b;此外,点302n距离网格交点(1,1)的距离是矢量308a、距离网格交点(1,2)的距离是矢量308b、和距离网格交点(2,2)的距离是矢量308c。可以计算一些或全部点的位移距离。

在步骤303d,调整网格线,使得网格与构成训练数据输入的点对齐。在该示例中,将相应网格线分离成两个网格线,并将分离的网格线定位成使得垂直网格线和水平网格线相交在相应的点的位置上。在实施例中,分离一些或全部网格线以容纳多个点。在另一个实施例中,至少基于各个点的位移距离来分离和/或定位网格线。在示例中,网格线被调整,但点不被移动。在另一个示例中,在网格线调整之后,网格线交点保持其(x,y)角度。例如,303c的网格线是正交的,在网格线调整之后303d的网格线保持正交。在实施例中,一个或多个原始网格线可以在调整期间被分离成一个或多个网格线。作为一个整体,步骤303执行形相特征网格定位,其调整网格线以遵循字符自然形相特征。这种技术与传统方法正好相反,传统方法是调整字符以在严格方形网格中对其进行归一化。

执行步骤303以识别分类器。示例分类器包括对齐分类器,其至少基于点的位置来执行如上所述的网格线调整。对齐分类器包括但不限于高斯(gaussian)、朴素贝叶斯(bayes)、最近相邻hmv、位置和位移等。对齐分类器还可包括但不限于特征/支持向量机(svm)/聚类分析(clusteranalysis)和/或深度学习等。

另一个示例分类器包括变形分类器,其确定一组变形技术中哪些变形技术更可能产生可识别的生成字符。此外,变形分类器可以确定一组变形技术中哪些变形技术不太可能产生可识别的生成字符。变形分类器可以至少基于对齐分类的信息。在步骤305,系统至少基于变形分类器选择一个或多个变形技术以对所接收的训练输入数据执行变形。在实施例中,系统可以选择一种变形技术、一个变形技术组合、按顺序的多种变形技术等。

系统可以创建和/或接入一个或多个变形规则库(如数据库、索引、表格等),其包括系统可以选择的变形规则。附录a显示变形规则库的非限制性示例。随着机器学习模块根据各种因素如对齐分类器了解到哪些规则更有效,系统可以调整存储在一个或多个变形规则库中的变形规则。示例性变形规则包括但不限于缩放、不等比例缩放、旋转、水平旋转、垂直旋转、剪切、水平剪切、垂直剪切、双曲线旋转、扭曲等。变形技术的其他示例包括但不限于过滤技术、协作技术和遗传算法(ga)技术。各种变形技术可以组合,各种变形技术可以按某一顺序执行,且各种变形技术可以按变形技术顺序执行一次或多次。

总之,至少基于字符的形相特征,变形分类器主动识别哪些变形技术以及哪个顺序和/或组合的变形技术会更有效。通过关注字符的形相特征,系统智能地主动选择最佳变形规则,同时避开其他变形规则,这减少了对任何给定字符执行的变形技术数量,同时确保生成过程产生大量可识别的人工生成字符。这种智能减少的规则处理至少通过智能地避开无效变形技术而大大降低了生成过程中的计算资源和速度。此外,随着变形技术被用于和被测试用于精度数据,精度数据可被输入到机器学习模块,该模块动态地影响对齐分类器、变形分类器、和/或变形规则库。

在步骤307,系统使用所选的变形规则来执行字符变形。示例性计算如下:

公式1:d(c)={d(p1),d(p2),d(p3),…d(pn)}。

公式2:d(pi)=(xi,yi)+(dx,dy)=(xi,yi)+(fx(xi,yi),fy(xi,yi))=pi+d,其中di是位移矢量di=(fx(xi,yi),fy(xi,yi))。

公式3:d(pi)=(xi,yi)+(f(xi)_,f(yi)),其给出字符c的变形。

一个示例性的使用三角函数的一维(1d)变形变换如下:f(x)=λ*x[sin(pi*β*x+α)*cos(pi*β*x+α)+δ),其中当α=0,β=1和δ=0时,计算如下:f(x)=λ*x[sinpi*xcospi*x]。

使用不同参数,系统可以利用曲线和压缩来控制非线性变形的程度。例如,对于y=mx+b,其中f(0)=0,f(1)=0,

δ=-sin(b)cos(b),α=a,β=(b-a)/pi,它遵循:

d(xi)=xi+λ*x[sin[(b-a)xi+a]cos[(b-a)xi+a]–sin(b)cos(b)]

d(yi)=yi+λ*y[sin[(b-a)yi+a]cos[(b-a)yi+a]–sin(b)cos(b)],其中0≤a<b≤1且λ是一个常数。变形随着不同的[a,b]和不同的变形参数λ而变化。

在实施例中,系统通过对步骤301的原始训练输入数据执行所选变形技术来生成变形字符。在该示例中,步骤307至少通过在步骤301所示汉字上执行步骤305所选的变形技术和/或技术组合以生成8个不同的变形字符310-324。

在实施例中,系统可以测试人工生成的变形字符的精度数据,其中保留可识别的人工生成变形字符,丢弃不可识别的人工生成变形字符。另外地和/或替代地,可以对一些或全部人工生成变形字符执行其他变形技术,如在示例性判别步骤209中所述。

图4显示方法400,其描述图2a的判别步骤209的示例。在步骤401,系统接收人工生成的变形字符。在实施例中,可以接收多个人工生成的变形字符,如图3a的8个不同的人工生成变形字符310-324。如果接收到多个人工生成变形字符,则系统可以并行处理图4的步骤,例如,根据所接收的人工生成变形字符数量。在步骤403,系统确定所接收到的人工生成变形字符是否为新的个性化数据。如果人工生成变形字符是新的个性化数据,那么该方法转到步骤405,该步骤至少基于人工生成的变形字符来创建一个新签名模型。在步骤407,系统至少基于新签名模型更新当前签名模型。在步骤407之前,系统已知当前签名模型的预更新版本。在步骤407的更新之后,当前签名模型的更新版本替代当前签名模型的预更新版本以便用于未来的判别处理。其后,该过程转到步骤409。

在步骤403,如果人工生成的变形字符未被划分为新的个性化数据,则该方法进入步骤409。在步骤409,系统将人工生成的变形字符与当前签名模型混合。在步骤411,系统执行匹配,例如,将混合签名的人工生成变形字符与一个或多个已知字符进行匹配。在本示例中,系统可以将混合签名的人工生成变形字符与汉字“大”相匹配,并由此产生精度数据。在步骤413,系统执行相似性排序,例如对来自步骤411的混合签名的人工生成变形字符与其匹配字符之间的相似性进行排序。在该步骤期间可以生成精度数据。在步骤415,系统执行相关性,例如对来自步骤411的混合签名的人工生成变形字符与其匹配字符之间的变量依赖性进行度量。在该步骤期间可以生成精度数据。可以执行任何数量的精度测试,确定混合签名的人工生成变形字符与已知字符的一致性水平(reconcilabilitylevel)。步骤411-415是系统可以执行的各种精度测试的示例。可以将步骤411-415(和/或本发明讨论的任何步骤)的精度数据输入到机器学习模块以改善步骤407的更新、步骤406的混合、任何变形和/或选择步骤和/或在此讨论的任何步骤。

在步骤417,系统输出字符的一个新的个性化的生成图案,并在实施例中输出其相应的精度数据。在步骤401,如果接收到多个人工生成的变形字符,例如图3a的8个不同的人工生成变形字符310-324,那么步骤417可以输出字符的多个新的个性化的生成图案及其相应的精度数据。在实施例中,输出的字符的新的个性化的生成图案和/或相应精度数据(步骤417)可以被输入到图2a的步骤211和/或步骤215,如以上的详细描述。

本领域技术人员将理解,上述各种方法中的一些步骤可以按本发明所讨论的不同顺序执行。此外,若有需要和/或有时,可以省略上述各种方法中的一些步骤。此外,一个或多个处理器可以执行上述各种方法的各个步骤,如有需要,可以在一个或多个过程期间的任何时刻通过有线和/或无线通信网络互相进行通信。此外,本领域技术人员将理解,一个或多个机器学习模块可以执行如上所述的机器学习。另外,一个或多个机器学习模块可以是一个或多个专用处理器和/或由一个或多个非专用处理器执行。

本领域技术人员将理解,可以使用各种不同技术来表示信息和信号。例如,可以通过电压、电流、电磁波、磁场或粒子、光学场或粒子或者其任何组合来表示上述描述中提及的数据、指令、命令、信息、信号、位、符号和芯片。

附图中的功能块和模块可以包括处理器、电子设备、硬件设备、电子组件、逻辑电路、存储器、软件代码、固件代码等,和/或其任何组合。

本领域技术人员将进一步认识到,本文公开内容描述的各种说明性逻辑块、模块、电路和算法步骤可以实施为电子硬件、计算机软件或两者组合。为了清楚地说明硬件和软件的可互换性,以上已经按照其功能性描述了各种说明性的组件、块、模块、电路和步骤。这些功能是以硬件还是以软件来实现取决于特定应用和对整个系统施加的设计约束。本领域技术人员可以针对每个特定应用以各种方式实施所述功能,但是这种实施决定不应该被解释为导致偏离本公开范围。本领域技术人员还将容易认识到,这里所述的组件、方法或交互的顺序或组合仅仅是示例,本发明各个方面的组件、方法或交互可以以不同于本发明所述的其他方式进行组合或执行。

本发明所述的各种说明性逻辑块、模块和电路可以使用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、专用集成电路现场可编程门阵列(fpga)、或其他可编程逻辑器件、独立门或晶体管逻辑、独立硬件组件、或被设计为执行本发明所述功能的任何组合来实施或执行。通用处理器可以是微处理器,但是替代地,处理器可以是任何传统的处理器、控制器、微控制器或状态机。处理器还可以实施为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器与dsp内核的结合,或者任何其它这种配置。

本发明所述方法或算法的步骤可以直接体现为硬件、由处理器执行的软件模块、或两者组合。软件模块可以驻留在ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域已知的任何其他形式的存储介质中。示例性存储介质连接到处理器,使得处理器可从存储介质读取信息及将信息写入到存储介质。或者,存储介质可以集成到处理器中。处理器和存储介质可以驻留在asic中。asic可以驻留在用户终端中。或者,处理器和存储介质可以作为独立组件驻留在用户终端中。

在一个或多个示例性设计中,所述功能可以以硬件、软件、固件或其任何组合来实施。如果以软件实施,该功能可作为一个或多个指令或代码存储在计算机可读介质中或经由计算机可读介质传输。计算机可读介质包括计算机存储介质和通信介质两者,通信介质包括便于将计算机程序从一个地方传输到另一个地方的任何介质。计算机可读存储介质可以是任何可用介质,可由通用或专用计算机访问。作为示例而非限制,这种计算机可读介质可以包括ram、rom、eeprom、cd-rom或其他光盘存储器、磁盘存储器或其他磁存储设备、或以指令或数据结构形式携带或存储期望程序代码装置的任何其他介质(可以由通用或专用计算机、或通用或专用处理器访问)。而且,连接可以适当地称为计算机可读介质。例如,如果使用同轴电缆、光缆、双绞线或数字用户线(dsl)从网站、服务器或其他远程源来传输软件,则同轴电缆、光缆、双绞线、或dsl都包含在介质定义中。这里使用的磁盘包括光盘(cd)、激光盘、磁碟、数字多功能盘(dvd)、软盘和蓝光盘,其中磁盘通常磁性地复制数据,而光盘用激光器光学复制数据。上述组合也应该包括在计算机可读介质范围内。

图5显示根据本发明实施例适配的一个示例性计算机系统500。即,计算机系统500包括一个示例性系统,其上可以实施本发明实施例。图形处理单元(gpu)501和中央处理单元(cpu)502连接到一个或多个系统总线502。在实施例中,根据上述示例性运行流程,一个或多个gpu和/或cpu可以执行机器级指令。计算机系统500还优选地包括一个或多个随机存取存储器(ram)503和/或只读存储器(rom)504。计算机系统500还优选地包括一个或多个输入/输出(i/o)适配器505、通信适配器509和用户接口适配器508。i/o适配器505、用户接口适配器508、和/或通信适配器509可以支持有线和/或无线通信并使用户、其他gpu和/或其他cpu与计算机系统500进行交互。i/o适配器505优选地连接到一个或多个本地和/或远程存储设备506,其存储信息如字符库、变形规则库、计算机可执行程序等。通信适配器509优选地适于将计算机系统500连接到可以是有线和/或无线的网络512(例如,人工的、神经的、公共的、私有的、wan、lan、互联网、蜂窝等)。用户界面适配器508连接到用户输入/输出设备。

虽然已经详细描述了本发明及其优点,但应当理解,在不脱离由所附权利要求限定的本发明精神和范围的情况下,可以在此进行各种改变、替换和变更。此外,本申请的范围并不限于在说明书中所描述的过程、机器、制造、物质组成、装置、方法和步骤的特定实施例。本领域普通技术人员从本发明的公开内容中将容易地理解,目前存在或以后开发的能够基本上执行相同功能的过程、机器、制造、物质组成、装置、方法或步骤,或能达到与根据本发明利用在此所述相应实施例基本相同的结果。因此,所附权利要求旨在将这些过程、机器、制造、物质组成、装置、方法或步骤包括在其范围内。

此外,本申请的范围并不限于在说明书中所描述的过程、机器、制造、物质组成、装置、方法和步骤的特定实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1