文本字符的词干位置的自动优化的制作方法

文档序号:2569271阅读:165来源:国知局
专利名称:文本字符的词干位置的自动优化的制作方法
背景技术
一、发明领域本发明涉及用于在显示器件上显示图像的系统和方法。本发明尤其涉及用于在具有可分别控制的像素子分量的显示器件上显示文本字符的系统和方法,其中在高对比度像素子分量的边界放置经选择的字符的边缘。
二、本领域的现有状况许多技术(尤其是计算机)的关键方面是对与终端用户的视觉交互作用的要求。实际上,尤其是把许多应用程序显示的数据和信息设计成具有视觉上亲和力的以及有美感的外观。例如,文字处理器一般试图通过使屏幕显示一张图形化的纸来模仿一张实际的纸。随着文字处理器建立了文档,就把文本和图像置于一张图形纸上,就像当物理上再现时它们所表现的那样。因此,终端用户与显示器件的视觉交互作用是许多技术的组成部分。
与终端用户的视觉交互作用的一个重要方面是显示颜色的能力。典型的显示器件具有包括大量的像素的屏幕,并且每个像素通常都具有红、绿和蓝子像素。因为像素相对较小,由人类眼睛所辨认的颜色是每个像素的红、绿和蓝光的混合。通过改变红、绿和蓝光的强度,显示器件就有可能能够显示上百万种不同颜色。
用于显示颜色的一种普通显示器件是阴极射线管(CRT)显示器件。CRT显示器的像素是以特定的几何形状设置的,每个像素由三种被电子束激发时会发光的荧光体组成。对于CRT显示器件,一起计算指定给荧光体的光强值,并且一起控制像素中的三个荧光体,从而在该像素上产生用户所察觉的具有经选择的色调、强度和饱和度的颜色。
另一种普通显示器件是液晶显示器(LCD),它一般用于便携式计算机。在许多场合,LCD显示器比CRT显示器更可取,主要因为LCD显示器通常比同等大小的CRT显示器较小,重量较轻、并且消耗较少功率。在依靠电池为其供电的计算机中,这是显著的优势。LCD显示器的技术使它们能够在清晰度和分辨率方面与CRT显示器相匹配。
然而,在CRT与LCD之间存在若干差异。不同于CRT显示器件的像素,LCD显示器件的像素由多个子分量(通常是3个)组成,它们是可分别设定地址的以及本质上可分别控制的。此外,通常将LCD显示器中的像素设置成能形成相同着色的像素子分量的水平或垂直的色条,而CRT的像素中的荧光体的几何形状经常是三角形的。在用于便携式计算机的大多数LCD显示器件中,像素子分量是以垂直的方式设置的,产生了相同着色的像素子分量的红色、绿色和蓝色的垂直色条。其它LCD显示器件把像素设置成形成相同着色的像素子分量的红色、绿色和蓝色的水平色条。可以使用其它几何形状,但是水平和垂直的设置是最普通的。
LCD显示器或其它显示器提供高分辨率的能力部分地取决于LCD显示器中的像素的大小和数量,并且在许多情况下,LCD显示器的分辨率不足以在LCD显示器上平滑地绘制或再现文本字符。当在LCD显示器或其它显示器上再现文本或图形数据时,LCD显示器的有限的分辨率可能对用户产生明显的视觉影响。
特别地,文本字符或字体呈现出独特的问题。技术允许在计算机上以高分辨率存储字体,并且当在低分辨率或粗糙的显示器件上再现高分辨率字符时,就使字符与显示器件的像素栅格相匹配。这导致关于字符的信息的损耗,并且经常损害字符的形状,这违背了印刷商的目的。
尤其是,当把字符再现到低分辨率显示器件或像素栅格时,采用电子存储的字符的某些部分可能不能精确地落在像素边界上。结果,强行改变了字符的形状以符合像素栅格中的像素边界。对字符的最终影响是可以某一方向,或者以词干、衬线来显示字符,以及字符的其它特征可能比由印刷商最初设计的稍微厚些或薄些。
最初把导致在显示器件上显示文本字符的常规文本绘制处理设计成符合具有3个荧光体的CRT的像素模型,一起控制所述荧光体以显示出单个颜色或表现出图像的单个部分。随着大量便携式个人计算机的出现,就简单地直接把适用于CRT显示器件所设计的现存的文本绘制处理应用于LCD显示器件。当应用于LCD显示器件时,这样的常规文本绘制处理使用每个像素来表现图像的单个部分,就不利于像素子分量的可分别寻址的性质。
鉴于上述,本领域中存在着在LCD显示器件上绘制文本且能可改进文本的分辨率的技术需要。希望提供能增强文本的可读性并减少由把字符的边缘重新设置于LCD显示器件的全部像素的边界而先前产生的字符失真的系统和方法。
发明概述本发明涉及在具有可分别控制的像素子分量的像素的LCD显示器件或其它显示器件上绘制文本和其它图像的系统和方法。根据本发明,个别的像素子分量表示文本或另一图像的不同部分,而不是整个像素表示一个单独的部分。这通过将所述图像数据的一个或多个采样的空间上不同的组映射到个别的像素子分量来实现。因为像素子分量是可分别寻址和控制的,与常规绘制处理所产生的分辨率相比,根据本发明操作的LCD显示器件以改进的分辨率绘制图像。
虽然本发明的原理可用于绘制任何图像,但是这里主要是以文本字符的内容来描述本发明。作为本发明的一部分,关键点提示字符数据,或将字符与栅格相匹配,使得字符所选择的边缘落在像素子分量之间的高对比度边界上,从而进一步改进文本的外观和可读性。于是,不但可用子像素分辨率来显示字符的部分,而且还可以定位字符所选择的边缘,以减少颜色的边缘误差或否则会呈现的影响。
本发明的关键点提示处理包括在运行时刻分析字符的轮廓的拓扑,来识别要再次定位于像素子分量之间的高对比度边界的字符的边缘。虽然本发明可扩展到对所述字符的拓扑的直接和全面分析,但是分析字体文件中的字符定义的一部分来识别字符上的要适合到所述高对比度边界的控制点和所述控制点之间的间距常常是计算上有效的。
将在下面的描述中阐明本发明的额外的优点,并且从说明中将部分地变得显而易见,或可通过对本发明的实施来认识到。通过附属的权利要求中所特别指出的装置和组合可实现和获得本发明的优点。本发明的这些和其它特点可从下面的描述和附属的权利要求中变得更加充分地明显,或可通过如下文中所阐述的本发明的实施来认识到。
附图简述为了能获得本发明上述描述的优点和其它优点,可参考附图所说明的特定实施例来进一步对上述简要描述的本发明作更详细的讨论。应该理解到,这些附图只是用于说明本发明的典型实施例,因此而不要认为是限制它的范围,通过附图的利用,可以更具体和更详细地来描述和阐述本发明。


图1是为本发明提供适当的操作环境的示例性系统;图2a和2b描述了LCD显示器的一部分,以及示出了LCD显示器的像素的可分别控制的像素子分量。
图3是说明在显示器件上绘制或栅格化图像数据的处理的框图;图4a是在把字符放置于像素边界之前的字符例示;图4b是在把字符放置于像素边界之后的字符例示;图4c是在字符的相位调整以及词干对齐在高对比度像素子分量边界上之后的字符例示;图5a是与字符相关联的间距和尺寸的例示;图5b是用于表示与字符相关联的间距的有向非循环图的例示;图6是定义字符轮廓和控制点的例示;图7是关键点提示处理的框图;以及图8是说明字符的相位调整方法的更详细框图。
较佳实施例的详细说明与显示诸如在显示器件的屏幕上的文本之类的信息相关联的主要问题之一是显示器件具有粗糙的像素栅格,该栅格具有比要显示的信息的分辨率低得多的分辨率。这种差异的结果是,绘制或栅格化处理通常使要显示的信息失真或损害。在文本的情况下,改变字符的形状,使得它们适合显示器件的像素栅格。部分地通过关键点提示或指示处理可寻址屏幕上的文本或其它信息的视觉外观和清晰度,所述处理通过使字体中的字符的印刷特性沿像素或像素子分量边界对齐,来寻址每个字符的颜色、可读性、间隔、粗细、对称性的清晰度以及实际位图形状。
在白色背景上的黑色文本以及其它组合的情况中,颜色指的是屏幕上黑色和白色之间的平衡。均匀一致的颜色会产生较清晰的文本,颜色会受到厚和薄的词干粗细之间的对比度、字符内的间隔大小、对角线笔画的平滑度以及其它因素的影响。均匀的颜色会分散读者的注意力。关键点提示改进了显示器件上白与黑之间的平衡,使得所显示的图像接近于均匀的颜色。
可读性指的是某一字符的可辨认性。经常被称为字体的字符集一般包含由一个或多个轮廓表示的若干符号或字符。在低分辨率和小字体大小,清晰地表示字符是困难的,并且经常有必要改变表示符号或字符的位像。适当的间隔还有助于清晰度(尤其是在低分辨率时)。不适当的间隔通常也会发生,因为字符的轮廓一般是上舍入或下舍入,以便适应显示器件的低分辨率像素栅格。然而,对于读者来说,如果字符间和字间的间隔显得恒定,则文本数据更清晰。
字符的粗细一般指的是字符的厚度和字符的笔画。例如,黑体的字体具有比不是黑体类型的相同字体更粗的粗细。在大写体和小写体字符之间产生关于粗细的许多困难。不均匀的粗细可导致大写体字符吸引了太多地对它们自身或对不能区别标题和正文的注意力。
对齐指的是字符的高度或像素高度。尤其在小尺寸方面应保持字符对齐,在该方面中像素高度中的差异是较显著的,因为没有适当对齐的文本看上去是波动的并使读者分心。虽然对称性是关于具有包括圆形曲线的其它类型的笔画的问题,但是字符的对称性通常是关于具有对角线笔画的字符的问题。控制对称性可改进个别字符的外观,并增强文本的色彩。总之,如上所述,提示字体或字符增强了字体的清晰度和外观。
下面通过使用说明用于实现本发明系统和方法的实施例的结构或者处理的图来描述本发明。以这样的方式使用图来给出本发明不应被解释成其范围的限制。本发明包含用于自动优化将印刷的特性沿高对比度边界而设置的方法和系统。一、示例性计算和硬件环境如下面更详细地讨论,本发明的实施例可包括含有各种计算机硬件的专用或通用的计算机。
本发明范围之内的实施例还包括计算机可读媒体,可用于载送或具有存储于其上的计算机可读指令或数据结构。这样的计算机可读媒体可以是能被通用或专用计算机存取访问的任何可用的媒体。作为例子但不是限制,这样的计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储设备、或可用于以计算机可执行的指令或数据结构的形式载送或存储所希望的程序代码方法,并可由通用或专用计算机存取访问的任何其它媒体。当通过网络或其它通信连接(或者硬连线的、无线的,或者硬连线的或无线的组合)向计算机传送或提供信息时,计算机适当地把连接看作计算机可读媒体。从而,把任何这样的连接称为计算机可读媒体。上述的组合还应包含于计算机可读媒体的范围之内。例如,计算机可执行指令包括使通用计算机、专用计算机或专用处理设备执行某一功能或一组功能的指令和数据。
图1以及下面的讨论试图提供在其中可实现本发明的适当的计算环境的简要的一般的描述。虽然没有要求,但是将在由网络环境中的计算机可执行的计算机可读指令(诸如程序模块)的一般环境中描述本发明。一般来说,程序模块包括例行程序、程序、对象、分量、数据结构等等,它们执行特定任务或实现特定的抽象数据类型。与数据结构相关联的计算机可执行指令和程序模块表示出用于这里所揭示方法的执行步骤的程序代码方法的例子。这样的可执行指令的某一特定顺序或相关联的数据结构表示用于实现在这样的步骤中所描述的功能的对应行为的例子。
本领域的普通技术人员将理解,可在具有许多类型的计算机系统配置的网络计算环境中实行本发明,所述计算机系统配置包括个人计算机、手持设备、多处理器系统、基于微处理器的或可编程的消费电子设备、网络PC、微型计算机、大型计算机等等。还可在分布式计算环境中实行本发明,其中由通过通信网络链接(或者通过硬连线链路、无线链路,或者通过硬连线链路或无线链路的组合)的本地和远程处理设备执行任务。在分布式计算环境中,程序模块可位于本地和远程内存存储设备两者之中。
参考图1,用于实现本发明的示例性系统包括常规计算机20形式的通用计算设备,它包括处理单元21、系统存储器22以及把包括系统存储器22的各种系统组件耦合至处理单元21的系统总线23。系统总线23可以是包括存储器总线或存储器控制器、外围总线、使用各种总线体系结构的任一种的本地总线的若干总线结构中的任一种。系统存储器包括只读存储器(ROM)24以及随机存取存储器(RAM)25。可以把包含基本例行程序的基本输入/输出系统(BIOS)26存储于ROM 24中,诸如在启动期间,所述基本例行程序帮助在计算机20中的元件之间传送信息。
计算机20还包括用于从磁性硬盘39读取或向其写入的磁性硬盘驱动器27、用于从可拆卸的磁盘29读取或向其写入的磁盘驱动器28、以及用于从诸如CD-ROM、CD-R、CD-RW或其它光媒体之类的可拆卸的光盘31读取或向其写入的光盘驱动器30。通过硬盘驱动器接口32、磁盘驱动器接口33以及光盘驱动器接口34分别把磁性硬盘驱动器27、磁盘驱动器28以及光盘驱动器30连接到系统总线23。所述驱动器及其相关计算机可读媒体为计算机20提供了计算机可执行指令、数据结构、程序模块以及其它数据的非易失性存储。虽然这里所描述的示例性环境使用磁性硬盘39、可拆卸磁盘29以及可拆卸光盘31,但是可使用包括磁带盒、闪存卡、数字视频盘、贝努利盒式磁盘、RAM、ROM等等的用于存储数据的其它类型的计算机可读媒体。
可以把包括一个或多个程序模块的程序代码方法存储于硬盘39、磁盘29、光盘31、ROM 24或RAM 25上,RAM可包括操作系统35、一个或多个应用程序36、其它程序模块以及程序数据38。用户可通过键盘40、指示设备42或诸如麦克风、操纵杆、游戏键盘、卫星反射器、扫描器等之类的其它输入设备(未示出)向计算机20输入命令和信息。常通过与系统总线23相耦合的串行端口接口46将各种输入设备连接到处理单元21。另外,可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其它接口连接所述输入设备。还通过诸如视频适配器48之类的接口把监视器47或其它显示器件连接到系统总线23。除了监视器之外,个人计算机一般还包括诸如扬声器和打印机之类的其它外围输出设备(未示出)。
计算机20可使用与诸如远程计算机49a和49b之类的一个或多个远程计算机的逻辑连接在联网的环境中操作。远程计算机49a和49b的每一个却可以是另一个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且虽然在图1中仅已说明了内存存储设备50a和50b以及它们相关的应用程序36a和36b,但是远程计算机一般包括上述关于计算机20所描述的许多或所有元件。图1中所描述的逻辑连接包括这里作为例子但不是限制而给出的局域网(LAN)51和广域网(WAN)52。这样的连网环境在办公室范围或企业范围的计算机网络、企业内部互联网以及因特网中是普遍的。
当用于LAN连网环境中时,通过网络接口或适配器53将计算机20连接到LAN 51。当用于WAN连网环境中时,所述计算机20可包括调制解调器54、无线链路或用于与诸如因特网之类的广域网52建立通信的其它装置。可以是内部的或外部的调制解调器54通过串行端口接口46连接到系统总线23。在连网环境中,关于计算机20描述的程序模块或其各部分可存储于远程存储器存储设备中。应该理解到所示的网络连接只是示例性的,也可以使用在广域网52上建立通信的其它手段。
图2a和2b说明了可用于显示使用本发明的关键点提示操作而处理的字符的示例性LCD显示器件的物理特性。图2a中所描述的LCD 70的部分包括多行R1-R12和多列C1-C16。彩色LCD采用了多个可清楚地寻址的元件和子元件,这里分别称之为像素和子像素。较详细地说明了LCD 70的左上侧部分的图2b示范出像素和像素子分量之间的关系。
每个像素包括3个像素子分量,把它们分别说明为红(R)子分量72、绿(G)子分量74以及蓝(B)子分量76。像素子分量是非正方形的,在LCD 70上这样排列,以形成相同着色的像素子分量的垂直色条。RGB色条一般是以一个方向充满显示器的整个宽度或高度。如LCD 70所说明的那样,当前用于大多数便携式计算机的普通LCD显示器件宽度大于它们的高度,并且倾向于使RGB色条在垂直方向中连续。宽度大于高度的这类器件的例子具有诸如640×480、800×600或1027×768之类的宽幅比。还可采用以其它模式设置的像素子分量来制造LCD显示器件,包括相同着色的像素子分量的水平色条、锯齿形图案或三角形图案。而且,一些LCD显示器件具有除了三个像素子分量之外的多个像素子分量的像素。只要显示器件的像素具有分别可控制的像素子分量,则可把本发明用于任何这类LCD器件或平板显示器件。
一组RGB像素子分量构成像素。从而,如这里所使用的,术语“像素子分量”指的是包含于像素中的多个分别可控制的元素之一。参考图2b,像素子分量组72、74和76形成了单个像素。换句话说,行与列的交点(诸如行R2与列C1的交点)代表一个像素,即(R2,C1)。而且,每个像素子分量72、74和76是像素的宽度的1/3或近似1/3,而在高度上与像素的高度相等或近似相等。从而,3个像素子分量71、74和76组合,以形成单个实质上正方形的像素。如下面将进一步阐述的那样,这种像素/子分量关系可用于在显示器件上绘制文本图像。二、关键点提示和其它图像处理操作图3是说明显示器件上的栅格化处理或绘制文本的处理的框图。图3的绘制处理能够在具有子像素精度的LCD显示器件上显示字符。换句话说,字符的特征的尺寸,尤其是在垂直于显示器件的色条的方向中,不限于整个像素所对应尺寸的整数倍。相反,像素的每个分别可控制的像素子分量表示所显示的字符的不同部分。
作为绘制处理的一部分,本发明的方法的实施例包括用于关键点提示图像数据的步骤,使得把印刷特征(如词干)能调整到对应于像素子分量之间的高对比度边界的栅格上的位置。如下面进一步描述的那样,所述栅格具有由显示器件的像素和像素子分量定义的位置。下面较详细地描述了用于关键点提示图像数据的步骤,以及与其对应的行为。
图3的处理以文本输出101为开始,可由诸如文字处理器的应用程序提供该文本输出,或者该文本输出可以是表示文档的电子数据结构。字符数据102一般位于诸如字体文件的数据存储中,并且一般包含描述某一组字符的信息。
例如,字符数据102可包括字符集中的每个符号的轮廓。所述轮廓是使用直线和曲线的对字符集或字体中的字符的形状的数学描述。此外,每个轮廓具有若干控制点,需要这些控制点来将符号缩放至所希望的类型大小和分辨率。一些控制点是曲线上的点,而其它点是曲线外的点。例如,为了定义字符的边缘,选择一个或多个曲线上的控制点。类似的,一对控制点可确定字符的词干。曲线上的点是在关键点提示处理中相匹配的栅格,并且可使用内插指令设置曲线外的点。控制点还可用于指示某些尺寸和间距,诸如词干的宽度。在所述关键点提示处理中,触及点指的是已被提示或栅格适合的点,而未触及点指的是未被提示或栅格不匹配的点。因此,可能触及点和未触及点两者都指的是或者曲线上的点或者曲线外的点。术语“曲线上”和“曲线外”指的是字符的几何形状,而术语“触及”或“未触及”一般指的是关键点提示或栅格相匹配的策略。
文本输出101和字符数据102一起代表由缩放模块104接收的图像数据100。缩放模块104这样缩放图像数据100,使得随后的处理操作有利于获得使用像素子分量才能实现的较高的分辨率。因为像素栅格可能具有(例如)水平色条或垂直色条,一般以较高的速率在垂直于栅格色条的方向中进行所述缩放。
在缩放了图像数据100之后,由关键点提示模块对其进行关键点提示或格栅相匹配。关键点提示模块106部分地运行以尽可能多地保存字符位置和间距的规律性,保存字符比例以及控制数字化的外观。然而,在许多情况下,与字符的高分辨率相比,显示器件的像素栅格具有低分辨率,并且有必要进行某些折衷。例如,使字符的词干的右和左边缘都处于正确的位置并保持适当的词干粗细或厚度是困难的。
一般来说,关键点提示模块106使字符沿像素子分量边界对齐,而不管像素子分量边界是否也是全像素之间的边界。这通过改变或变型符号轮廓来进行,以确保当符号栅格化时,导通或关断了正确的像素和像素子分量。一旦使符号与栅格相匹配,将不改变控制点(一般是有标号的),但是那些控制点的坐标可能会有偏移。
扫描变换模块128是将经缩放的和提示的字符变换成位像的处理。因为可能把字符或文本数据提示到像素子分量边界,可以分别地绘制每个像素子分量。这允许以较高分辨率绘制字符。扫描变换模块108确定应导通哪个像素子分量以及应关断哪个像素子分量。扫描变换模块108产生在显示器件112上显示的位像110。这里参考具有垂直色条的显示器件来描述本发明的系统和方法,但是可把它们应用于具有包括但不限于水平色条的其它几何结构设置的像素的显示器件。
扫描变换模块可使得单个采样映射到像素的像素子分量的每一个上。另一方面,任何数量的采样都可映射到像素子分量上。一般把一个或多个采样的空间上不同的组映射到每个像素子分量上。将采样集映射到像素子分量上的处理可以理解成过滤处理。过滤器对应于包含映射到个别像素子分量上的采样集中的采样位置和数量。对应于像素子分量不同颜色的过滤器可具有相同的大小或不同的大小。包含于过滤器中的采样可以是互相排斥的(如仅使每个采样通过一个过滤器)或者滤波器可重叠(如可使一些采样包含于不止一个过滤器中)。一般地,用于扫描变换处理中的过滤器可适合于在所显示的图像上产生所希望的颜色效果。
图4a说明了表示LCD显示器件上的像素的一部分的像素栅格200。代表文本字符205的图像数据已在垂直于显示器件的色条的方向上以3倍放大,而在平行于色条的方向上以1倍缩放。这样控制缩放,以便为扫描变换处理准备文本字符,在所述扫描变换处理中把采样映射到个别像素子分量。栅格200是用于绘制处理以将经选择的字符的边缘调整到像素子分量之间的高对比度边界的计算工具。
像素栅格200对应于LCD显示器件(如图2a的显示器件70)的多个像素201,每个像素201具有一红色像素子分量202、一蓝色像素子分量203以及一绿色像素子分量204。在图像绘制处理中经常会出现这样的情况,字符205的轮廓与像素子分量边界不相符。因为字符205与像素201和像素子分量202、203以及204不匹配,所以在栅格化处理期间要改变字符205的形状和位置或使栅格与字符205的形状和位置相匹配。
图4b说明了在已使字符205与像素栅格200栅格匹配之后的字符205。正如所说明的那样,在栅格化处理期间,已物理上将字符向下和向左移动,并且已使词干209稍微变窄。如图4b所说明的那样,这种舍入效应在像素边界处发生。
图4c说明了在已使字符205与像素子分量边界栅格匹配之后的字符205。已使字符边缘206对齐绿色像素子分量和蓝色像素子分量之间的边界208。虽然本发明可扩展到使字符边缘与相邻的红色和绿色像素子分量之间的边界对齐,但是边界208比红色和绿色像素子分量之间的边界207较佳,因为边界208具有较高对比度。除了将字符与像素子分量边界相匹配之外,已找到了高对比度边界的选择,以改进所显示的字符的可读性。还发现在产生可读的字符中,词干的左边缘(如边缘206)与高对比度的边界相对齐常比使字体的其它部分与高对比度边界相对齐更重要。
本发明可扩展到任何处理,借助这些处理在关键点提示操作期间把经选择的字符的边缘重定位到高对比度像素子分量边界。在运行时刻对字符的拓扑的直接和全面的分析是一种识别应根据本发明重定位的字符的特征的方法。虽然可使用这种类型的全拓扑分析,但是这样做常常是计算上低效的或不切实际的。因此,可使用在运行时刻进行局部拓扑分析的任何可用技术,从而减少计算时间和资源。
许多字符集或字体具有字体定义或其它信息,有助于使用它们用于在运行时刻进行对字符的拓扑的局部分析,使得可在关键点提示操作期间,把经选择的字符的边缘或部分重定位于高对比度像素子分量边界。这类用于该目的的字体信息包括定义某些拓扑性能的位置和间隔的任何信息,例如字符的边缘和词干的宽度。
虽然本发明实质上可用于任何类型的字体,但是将在TrueType字体环境中给出在运行时刻进行对字符的局部拓扑分析的详细例子。TrueType字体文件包括控制值表(CVT)。CVT是从文件(包括TrueType字体文件)中编码的信息得出的表,它列出各种字母特征(诸如词干宽度)的间距的颜色以及尺寸。CVT允许字体设计者按名字命名某些间距而不是称为抽象间距。例如,可以把字符词干的宽度称为“垂直词干厚度”。如这里所使用的,控制值表试图用于表示与字符相关联的信息,它描述字符的某些间距和尺寸。经常用字符的轮廓上的关键控制点来描述间距和尺寸。
可方便地用于描述文本字符的拓扑的CVT的一个特征是用颜色对字符中的某些间距的描述。如在CVT中所描述的那样,字符的水平间距可以是黑间距,白间距或灰间距。黑间距描述字体内部的间距(如词干的宽度),白间距描述对应于一般在字符的体外区域(如左侧或右侧方位、词干间的间隔、“0”的敞开计数等等)的间距,以及灰色间距描述包括白间距和黑间距的间距。
图5a参考字符205说明了这些间距。字符205具有两个词干209。第1词干起始于点A并终止于点B,而第2词干起始于点C并终止于点D。从点A至点B以及从点C至点D的间距是黑间距,因为它们处于字体或字符205的轮廓的内部,并用黑色箭头211指示。从左侧支撑点210之点A的水平间距是白间距,因为该间距在字符205的字体的外部,并用白色箭头212指示。类似的,点D与右侧支撑点220之间的水平间距219是白间距。间距218也指定为白间距,由于它是字符205的词干209之间的间距。由灰色箭头213示出的从点A至点C的间距是灰色间距,因为该间距包括从点A至点B的黑间距211,以及从点B至点C的白间距218。
黑、白和灰间距彼此相对,并如图5b中所说明的那样,可把它们说明为具有有向非循环图中的父/子层次结构。从而,从左侧支撑点210计算点A,并且点A也是左侧支撑点210的孩子。依次,点A是点B和C的父亲,而点B和C是点A的孩子。与字体相关联的宽度和间距的固有结构允许在运行时刻识别相关的印刷特征,即使所述间距和尺寸没有按惯例位于控制值表中。
在进一步描述本发明之前,给出了对符号的简要说明。图6是说明符号的轮廓和控制点的框图。由一系列控制点250定义轮廓214,这些控制点可以是曲线上的,也可以是曲线外的。如果两个连续的控制点是曲线上的,则它们定义一直线。在该例子中,连续地标号控制点,并且如果曲线遵循逐渐增加的点标号的方向,填充区域将总是在该控制点的右方。在图6中,定义词干宽度的黑间距的关键控制点是点1和点22。
图7是对先前参考图3讨论的关键点提示模块106提供更多细节的框图。可以认为关键点提示模块106进行关键点提示图像数据的步骤,使得把印刷特征(如词干)调整到对应于像素子分量之间的高对比度边界的栅格上的位置。图7说明了对应于如下进一步阐述的关键点提示步骤的行为的例子。
关键点提示模块106接收经缩放后的图像数据,并且然后运行将字符栅格与由像素和像素子分量定义的栅格点相匹配。在步骤260中,关键点提示模块106处理由印刷商提供的关键点提示指令,并将某些关键控制点移到所匹配的栅格点,使得字体视觉上令人满意和清晰。在行为260中,移动了字符的一些部分或控制点,而其它部分和控制点未被触动。根据本发明的一个实施例,由行为260所表示的格栅与图像数据相匹配的行为是所述关键点提示图像数据的部分步骤的一个例子。
相位控制270包括把经关键点提示的点从行为260移到高对比度的像素子分量边界上。在相位控制270中移动的关键点提示的点经常定义为字符词干的左边缘。根据在图7所说明的本发明的实施例,如行为270所表示的那样,相位调整印刷特征的行为,使得印刷特征与表示像素子分量之间的高对比度边界的栅格的位置相符合,该行为是所述关键点提示图像数据的部分步骤的一个例子。
一旦把适当的控制点(诸如那些定义字符的词干的左边缘的控制点)定位于像素子分量之间的高对比度边界处,就按需调整经缩放的图像数据的其它控制点。例如,可以把词干的右边缘重定位于栅格上,使得所述词干所指定的宽度具有可能不再是所述显示器件的整个像素宽度的整数倍的值。在行为280中,使用内插把在行为260和相位控制270期间没有移动的轮廓的任何点或部分现在移动到像素栅格上的新的位置。从而,在本实施例中,内插剩下的控制点的行为是所述关键点提示图像数据的步骤的一部分的一个例子。
使用图7中所说明的行为,所述关键点提示处理导致经选择的字符的边缘与高对比度像素子分量边界对齐,并允许字符在垂直于显示器件的色条的方向上的尺寸具有子像素值,或者换句话说,该值没有必要是全像素的对应尺寸的整数倍。
图8是根据本发明的一个实施例的图7的关键点提示模块106实施的相位控制的详细框图,并进一步说明了该行为至少对应于用于根据本发明的一个实施例关键点提示图像数据的步骤的一部分。如先前所述,可使用在运行时刻完全或局部地分析符号的拓扑的任何处理来实行本发明。图8涉及有向非循环图的使用,例如与图5a和图5b相关联的图。在步骤271中,从利用CVT以及在图5b中说明的关键点提示指令的内插,得出字符205的DAG。
在步骤272中,相位控制270寻找与众不同的印刷特征。例如,如果像素栅格具有垂直色条,相位控制270可试图通过搜索黑和白水平间距的替换模式来定位字符的垂直词干。如果像素栅格具有水平色条,相位控制270可试图通过搜索黑和白的垂直间距来定位字符中的水平线段。一般地,步骤272搜索某些印刷特征,包括但不限于词干或水平线段。这可以在运行期间完成,因为在CVT表中字符的间距和尺寸都是有用的。
例如,通过确定由箭头211表示的黑间距与白色间距从左侧支撑点210至点A以及从点B至点C交替更迭,来推断图5a中的字符205的词干209。还可能使用由箭头213指示的灰间距而不是从点B至点C的白间距,来推断垂直词干的存在。
在步骤273中,径历DAG,使得在高对比度像素子分量边界上相位调整或定位所述词干。图5b中的DAG 300指出词干的第1节点是点A。这样移动所述词干,使得该词干的左侧边缘落在高对比度边界上,诸如绿色和蓝色像素子分量之间的边界。从而,绿色像素子分量在字体的外部,而蓝色像素子分量在字体的内部。以类似的方式,还可把字符的其它词干关键点提示到高对比度边界。
当进行本发明的关键点提示操作时常产生的一个考虑是调整所述关键点提示处理可能引入的误差。由于随着径历DAG而进行了对相互依赖的节点的位置调整,字符的右侧支撑点的位置可能发生位移。这种误差也可能对要绘制的字符的整个宽度有影响。然而,改进了字符的对比度。从而,改进的对比度可导致字符具有错误的全部宽度,这可能包括位移的右侧支撑点。
可以其它说明的形式来实施本发明,而不背离其要旨和本质特性。要认为所描述的实施例在所有方面仅是示例性的而不是限制性的。因此,由附属的权利要求而不是上述的说明指示出本发明的范围。在等价于权利要求的含义和范围内的所有变化都包含于上述范围之内。
权利要求
1.在具有显示器件的计算机系统中,所述显示器件具有多个像素,且每个像素具有多个不同颜色的像素子分量,一种把图像数据调整到由像素和像素子分量定义的栅格,来为在所述显示器件上栅格化图像作准备的方法,其特征在于所述方法包括以下步骤获得具有与栅格有关的位置的经选择的控制点的图像数据,所述获得的图像数据的至少一个经选择的控制点的位置与像素子分量之间的边界不符合;关键点提示所述图像数据,使得把由一个或多个经选择的控制点定义的印刷特征调整到对应于所选择的像素子分量之间边界的栅格上的位置,把所述经选择的边界指定为高对比度边界;使用所述图像数据在所述显示器件上显示图像,在所述高对比度边界处显示所述印刷特征。
2.如权利要求1所述的方法,其特征在于所述图像数据表示字符,所述方法进一步包括在运行时刻分析所述字符的拓扑的步骤,以识别要调整的印刷特征。
3.如权利要求1所述的方法,其特征在于所述高对比度边界不是像素间的边界。
4.如权利要求1所述的方法,其特征在于这样实施所述显示图像的步骤,使得像素的个别像素子分量表示所述图像数据的空间上不同的部分,而不使用由包括所述个别像素子分量的整个像素来表示所述不同部分。
5.如权利要求1所述的方法,其特征在于所述印刷特征是由所述图像数据表示的字符的词干。
6.如权利要求5所述的方法,其特征在于这样实施所述关键点提示所述图像数据的步骤,使得所述词干的左边缘与所述高对比度边界对齐。
7.如权利要求1所述的方法,其特征在于所述印刷特征是由所述图像数据所表示的字符的水平线段。
8.在具有处理器和显示器件的计算机系统中,所述显示器件具有用于显示图像数据的多个像素,且每个像素具有多个像素子分量,一种用于关键点提示所述图像数据的方法,其特征在于该方法包括以下行为将所述图像数据与对应于所述显示器件的像素和像素子分量的栅格的栅格点进行栅格化匹配,使得定义所述图像数据的印刷特征的一个或多个控制点对应于所述栅格点;相位调整所述印刷特征,使得所述印刷特征与表示像素子分量之间的边界的栅格的位置相符合,把所述边界指定为高对比度边界;以及内插所述图像数据,使得调整所述图像数据的剩余控制点的栅格上的位置。
9.如权利要求8所述的方法,其特征在于所述印刷特征是字符的一个或多个垂直线段。
10.如权利要求8所述的方法,其特征在于所述印刷特征是字符的一个或多个水平线段。
11.如权利要求8所述的方法,其特征在于所述图像数据表示要在所述显示器件上显示的字符,所述方法进一步包括在运行时刻分析所述字符的拓扑,以识别所述印刷特征。
12.如权利要求8所述的方法,其特征在于所述相位调整行为进一步包括以下行为对表现出所述印刷特征的图形分析与所述图像数据相关联的关键点提示指令;从所述关键点提示指令得出有向非循环图,其中至少部分地由所述有向非循环图的一个或多个节点定义所述印刷特征的拓扑;以及基于对所述有向非循环图的径历,来识别所述印刷特征的位置,并把所述印刷特征重定位到所述高对比度边界。
13.如权利要求12所述的方法,其特征在于进一步包括以下行为径历所述有向非循环图;以及遇到对应于要重定位于所述栅格之上的图像数据的一个点的节点;以及考虑由对应于所述有向非循环图的前一节点的点的重定位所引入的误差。
14.如权利要求12所述的方法,其特征在于所述分析所述关键点提示指令的步骤进一步包括搜索具有与所述印刷特征相关联的指定的颜色的经选择的间距模式的步骤。
15.如权利要求14所述的方法,其特征在于所述经选择的模式是由白间距围绕的黑间距。
16.如权利要求14所述的方法,其特征在于所述经选择的模式是由灰间距围绕的黑间距。
17.如权利要求14所述的方法,其特征在于所述经选择的模式是由非黑间距围绕的黑间距。
18.如权利要求8所述的方法,其特征在于所述高对比度边界处于蓝像素子分量与绿像素子分量之间,所述蓝像素子分量处于由所述图像数据定义的字符的内部,而所述绿像素子分量处于所述字符的外部。
19.如权利要求8所述的方法,其特征在于所述高对比度边界处于红像素子分量与绿像素子分量之间,所述红像素子分量处于由所述图像数据定义的字符的外部,而所述绿像素子分量处于所述字符的内部。
20.如权利要求8所述的方法,其特征在于进一步包括将所述图像数据的一个或多个采样的空间上不同的组映射到像素的个别像素子分量,而不是将采样映射到整个像素。
21.在具有显示器件的系统中,所述显示器件具有多个像素,且每个像素具有至少3个不同颜色的像素子分量,一种把字符定位于由所述像素子分量定义的栅格上,来为在所述显示器件上绘制所述字符作准备的方法,其特征在于,该方法包括以下行为分析与所述字符相关联的图像数据,所述图像数据使用控制点定义所述字符的轮廓、关键控制点之间的间距,以及所述关键控制点的父/子关系;识别表现出要定位于高对比度边界上的所述字符的印刷特征的所述字符的间距,所识别的间距与至少一些关键控制点相关联;以及将所述字符的所识别的关键控制点定位于对应于所述显示器件的像素子分量的高对比度边界的栅格上的栅格点。
22.如权利要求21所述的方法,其特征在于所述间距包括在所述字符的轮廓内部的黑间距,在所述字符的轮廓的外部的白间距以及作为是黑和白间距的组合的灰间距。
23.如权利要求21所述的方法,其特征在于所述间距定义由所述至少一些关键控制点识别的词干宽度。
24.如权利要求23所述的方法,其特征在于进一步包括定位所述字符的词干的步骤。
25.如权利要求21所述的方法,其特征在于所述边界处于蓝色像素子分量与绿色像素子分量之间,所述蓝色像素子分量处于所述字符的内部,而所述绿色像素子分量处于所述字符的外部。
26.如权利要求21所述的方法,其特征在于所述边界处于红色像素子分量与绿色像素子分量之间,所述红色像素子分量处于所述字符的外部,而所述绿色像素子分量处于所述字符的内部。
27.如权利要求21所述的方法,其特征在于进一步包括在所述边界上定位字符左边缘的步骤。
28.在能够在显示器件上显示图像数据的系统中,所述显示器件包括多个像素,每个像素具有多个不同颜色的像素子分量,一种用于将图像数据定位于由多个像素子分量定义的栅格上的方法,其特征在于,该方法包括以下行为从所述图像数据中得出表示关键控制点的父/子层次结构;对指示印刷特征的模式检验所述图像数据,其中由所述关键控制点来识别所述模式,并且所述层次结构的每个节点与所述印刷特征之一相关联;以及当径历表示所述层次结构的数据结构时,通过将与经选择的印刷特征相关联的关键控制点定位于对应于像素子分量之间的高对比度边界的栅格的栅格点来相位调整一个或多个经选择的印刷特征,所述高对比度边界不是像素间的边界。
29.如权利要求28所述的方法,其特征在于进一步包括由于相位调整了连续的印刷特征,考虑从相位调整前一印刷特征引入的误差的行为。
30.如权利要求29所述的方法,其特征在于所述误差等于前一印刷特征的位移。
31.如权利要求28所述的方法,其特征在于在所述显示器件上把所述像素的像素子分量设置成形成相同着色的像素子分量的垂直色条,并且其中一个或多个经选择的印刷特征包括所述字符的一条垂直色条。
32.如权利要求28所述的方法,其特征在于在所述显示器件上把所述像素的像素子分量设置成形成相同着色的像素子分量的水平色条,并且其中一个或多个经选择的印刷特征包括所述字符的一条水平色条。
33.如权利要求28所述的方法,其特征在于所述模式包括交替黑和白间距,其中所述黑间距包括所述字符内部的尺寸,而所述白间距包括所述字符外部的尺寸。
34.如权利要求28所述的方法,其特征在于所述模式包括交替黑和灰间距,其中所述黑间距包括所述字符内部的尺寸,而所述灰间距包括所述字符内部和外部两者的尺寸。
35.在具有用于显示图像的显示器件的计算机系统中,所述显示器件具有多个像素,且每个像素包括多个像素子分量,一种用于实现关键点提示所述图像数据来为在所述显示器件上显示所述图像数据作准备的方法的计算机程序产品,其特征在于所述计算机程序产品包括传递用于实现所述方法的计算机可执行指令的计算机可读媒体,当执行所述计算机可执行指令时,进行下述行为将所述图像数据与对应于所述显示器件的像素和像素子分量的栅格的栅格点进行栅格化匹配,使得定义所述图像数据的印刷特征的一个或多个控制点能对应于所述栅格点;相位调整所述印刷特征,使得所述印刷特征与表示像素子分量之间的边界的栅格的位置相符合,把所述边界指定为高对比度边界;以及内插所述图像数据,使得调整所述图像数据的剩余控制点的栅格上的位置。
36.如权利要求35所述的计算机程序产品,其特征在于所述图像数据代表字符,并且所述方法进一步包括以下行为通过检验所存储的与所述图像数据相关联的尺寸和间距来识别所述图像数据选择的点;以及根据所检验的尺寸和间距,将所述经选择的点确认为定义要相位调整的印刷特征。
37.如权利要求35所述的计算机程序产品,其特征在于在所述显示器件上把所述像素子分量设置成形成相同着色的像素子分量的垂直色条,并且其中所述印刷特征是与所述垂直色条的方向平行的字符词干。
38.如权利要求35所述的计算机程序产品,其特征在于所述方法进一步包括将一个或多个采样的空间上不同的组映射到经选择的像素的每个像素子分量上,而不是与将一个或多个采样映射到整个选择的像素上。
39.如权利要求38所述的计算机程序产品,其特征在于所述方法进一步包括根据所述图像数据在所述显示器件上显示所述图像的步骤,导致在所述高分辨率边界处显示所述印刷特征。
40.如权利要求39所述的计算机程序产品,其特征在于所述在所述显示器件上显示所述图像的步骤包括通过把从映射到某一像素子分量上的一个或多个采样的空间上不同的组产生的亮度强度值施加到所述经选择的显示的每个像素子分量,来分别控制所述经选择的像素的每个像素子分量的行为。
全文摘要
本发明提供在高对比度像素子分量边界上诸如字符(205)的垂直词干或水平线段之类的印刷特征的自动布置,作为使用像素的可分别控制的像素子分量(202、203、204)来代表所述字符(205)的不同部分的绘制处理的一部分。为了识别要与高对比度像素子分量边界对齐的字符(205)的印刷特征,在运行时刻分析字符的拓扑。在具有相同着色的像素子分量(202、203、204)的垂直色条的显示器件中,已发现当词干的左边缘(206)对齐像素子分量之间的高对比度边界(208)时,可增加字符的清晰度。通过进行局部地而不是全部地对字符的拓扑分析,保存了处理时间和资源。例如,一些字体文件包括定义与字符相关联的关键控制点的位置的数据结构,从而指示出词干或其它印刷特征所处的位置,以及不同印刷特征之间的关系。
文档编号G09G5/00GK1439154SQ01810518
公开日2003年8月27日 申请日期2001年4月9日 优先权日2000年4月10日
发明者B·施塔姆, G·C·希契考克, C·贝特利斯, M·康威 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1