图像输出装置和渲染图像的方法与流程

文档序号:13249402阅读:229来源:国知局
技术领域与示例性实施例相一致的装置和方法一般涉及提供图像输出装置和渲染图像的方法。更具体而言,示例性实施例涉及提供通过使用纹理去除锯齿失真的图像输出装置和渲染(rendering)图像的方法。

背景技术:
显示装置输出从外部源输出的诸如线、图形或类似形状的基元(primitive)。基元指组成线、圆、曲线、多边形或类似形状的元素,其可以由计算机图形程序实际地绘制、保存和控制。具体而言,最基本的基元可以称为线。当使用诸如计算机的装置绘制或输出对角线或图形时,用户可以很容易检测到锯齿失真,如图1中所示。这是由于像素尺寸或显示屏幕的分辨率对于人类视觉是足够的而导致。换句话说,显示装置使用比人类可见尺寸更小的像素并使用像素的组合来绘制(是数字值的)线或图形,因而产生锯齿失真。已有几种解决锯齿失真问题的方法,但是在移动环境中主要使用多重采样抗锯齿(MSAA)方法。具体而言,MSAA方法在一个像素中设置几个子采样点并根据线覆盖多少个子采样点来确定像素的颜色。移动环境中使用的MSAA方法被简单地应用,但是该方法是基于采样的。因此,MSAA方法没有完全显示所有图形形状,并且增加了采样数量以获得高质量图像。所以,MSAA方法需要大量操作。

技术实现要素:
解决的问题示例性实施例解决至少一个前述问题和/或缺点以及前面未提及的其他缺点。而且,示例性实施例对于克服前述缺点不是必需的,且示例性实施例可能未克服任何前述问题。示例性实施例提供通过使用纹理去除锯齿失真的图像输出装置和渲染图像的方法。根据示例性实施例的一个方面,提供了一种渲染图像的方法。该方法可以包括:接收笔画属性信息;基于接收的笔画属性信息生成指示笔画外观的顶点;基于接收的笔画属性信息计算纹理的尺寸且设置一个将被保存在纹理中的α值;基于接收的笔画属性信息设置紫外光(UV)信息;基于顶点、其中保存有α值的纹理和UV信息渲染笔画;以及输出所渲染的笔画。笔画属性信息可以包括与笔画的宽度、端点类型和连接类型中的至少一个相关的信息。α值的设置可以包括:根据笔画的宽度和笔画的端点类型计算纹理的高度和宽度。响应于笔画区域为主体区域,UV信息的设置可以包括:当笔画的宽度为偶数时,设置一个分别距离其中保存α值的区域的上方和下方1像素的位置作为UV坐标,并且当笔画的宽度为奇数时,设置一个分别距离其中保存α值的区域的上方和下方像素的位置作为UV坐标。响应于笔画的区域为端点区域,α值的设置可以包括:根据笔画的端点类型和笔画的宽度确定将要在其中设置α值的区域。α值的设置可以包括:当端点类型为平头类型时不设置将在其中设置α值的附加区域,当端点类型为圆头类型时设置一个半径为的半圆作为将要在其中设置α值的附加区域,并且当端点类型为方头类型时设置一个宽度为且高度等于笔画宽度的矩形作为将要在其中设置α值的附加区域。UV信息的设置可以包括:将V坐标设置成等于笔画主体区域的V坐标且将U坐标从笔画主体区域的左边向内和向外移动0.5像素,并且当端点类型为圆头类型时,根据端点类型为平头类型时笔画的宽度确定纹理的宽度。响应于笔画的端点类型为圆头类型或方头类型,根据笔画的宽度确定纹理的宽度。在此,开始部分的1像素和结尾部分的1像素可以是用于设置防止锯齿失真的UV坐标的空间,且表示方形区域的α值可以保存在中。响应于笔画的区域为连接区域,UV信息的设置可以包括:将连接区域表示为高度为的三角形的组合,且将三角形的UV坐标设置为对应于笔画主体区域的UV坐标的1/2的区域。根据示例性实施例的另一方面,提供一种图像输出装置,包括:配置成接收笔画属性信息的数据输入;配置成基于接收的笔画属性信息生成指示笔画外观的顶点的顶点生成器;配置成基于接收的笔画属性信息计算纹理的尺寸且设置将保存在纹理中的阿尔法(α)值的α值设置器;配置成基于接收的笔画属性信息设置UV信息的UV设置器;配置成基于生成的顶点、其中保存α值的纹理和UV信息来渲染笔画的渲染器;以及配置成输出所渲染的笔画的输出。笔画属性信息可以包括与笔画的宽度、端点类型和连接类型中至少一个相关的信息。α值设置器可以配置成根据笔画的宽度和笔画的端点类型计算纹理的高度和宽度。响应于笔画区域为主体区域,且笔画的宽度为偶数,UV设置器可以设置一个分别距离其中保存α值的区域的上方和下方1像素的位置作为UV坐标,并且响应于笔画的宽度为奇数,设置一个分别距离其中保存α值的区域的上方和下方像素的位置作为UV坐标。响应于笔画的区域为端点区域,α值设置器可以配置成根据笔画的端点类型和笔画的宽度确定将要在其中设置α值的区域。响应于端点类型为平头类型,α值设置器可以不设置将在其中设置α值的附加区域,并且响应于端点类型为圆头类型,α值设置器可以设置一个半径为的半圆作为将要在其中设置α值的附加区域,并且响应于端点类型为方头类型,α值设置器可以设置一个宽度为且高度等于笔画宽度的矩形作为将要在其中设置α值的附加区域。响应于端点类型为平头类型端点,UV设置器可以将V坐标设置成等于笔画主体区域的V坐标且将U坐标从笔画主体区域的左侧向内和向外移动0.5像素。响应于笔画的端点类型为圆头类型或方头类型,根据笔画的宽度确定纹理的宽度。在此,开始部分的1像素和结尾部分的1像素可以是用于设置防止锯齿失真的UV坐标的空间,且表示方形区域的α值可以保存在中。响应于笔画区域为连接区域,UV设置器可以将连接区域表示为高度为的三角形的组合,且可以将三角形的UV坐标设置为对应于笔画主体区域的UV坐标的1/2的区域。示例性实施例的一个方面可以提供一个通过使用纹理去除锯齿失真的装置,该装置包括:配置成生成指示笔画外观的顶点的顶点生成器;配置成计算纹理的尺寸且设置将保存在纹理中的α值的α值设置器;配置成设置UV信息的UV设置器;以及配置成基于顶点、其中保存α值的纹理和UV信息渲染笔画的渲染器。该装置还可以包括配置成接收笔画属性信息的数据输入。该装置还可以包括配置成输出所渲染的笔画的输出。可以基于接收到的笔画属性信息生成顶点、α值和UV信息。本发明的有利效果根据前述各种示例性实施例,图像输出装置可以以更快速度渲染高质量图像。附图说明通过参考附图描述特定示例性实施例,本发明的上述和/或其他方面将更加显见,其中:图1是示出锯齿失真的视图;图2是示出根据示例性实施例的图像输出装置的结构的框图;图3A和3B是示出根据示例性实施例的端点区域的类型和连接区域的类型的视图;图4A和4B是示出根据示例性实施例响应于笔画宽度分别为3.5个像素和4个像素时表示笔画主体区域的α值的视图;图5A和5B是示出根据示例性实施例响应于笔画宽度分别为3.5和4时设置和渲染笔画主体区域的紫外光(UV)坐标值的方法的视图;图6A和6B是示出根据示例性实施例,根据笔画的端点类型设置和渲染UV坐标值的方法的视图;图7是示出根据示例性实施例在笔画的连接区域中设置和渲染UV坐标的方法的视图;图8A至8C是示出相关技术与示例性实施例之间的比较的视图和图形;以及图9是示出根据示例性实施例渲染图像的方法的流程图。具体实施方式现在参考附图更详细地描述示例性实施例。在下述描述中,相同的附图标记用于表示相同的元件,即使在不同附图中。描述中定义的诸如详细构造的事物,用于帮助综合理解示例性实施例。因而,示例性实施例可以在没有那些特别定义的事物的情况下实现是显见的。而且,已知的功能或构造没有详细描述,因为它们将会用不必要的细节混淆示例性实施例。图2是一个框图,其中示出根据示例性实施例的图像输出装置100的结构。参见图2,图像输出100包括数据输入110、顶点生成器120、α值设置器130、紫外光(UV)设置器140、渲染器150和输出160。数据输入110从外部源接收图像数据。具体而言,数据输入110可以接收笔画属性信息。笔画属性信息可以包括与笔画的宽度、端点类型和连接类型其中至少一个相关的信息。笔画的端点是笔画的结束形状,且笔画的端点类型的示例可以包括平头端点、圆头端点和方头端点,如图3A中所示。而且,笔画的连接是两个笔画之间连接部分的形状,且笔画的连接类型的示例可以包括斜角连接(miterjoin)、圆角连接(roundjoin)和斜切连接(beveljoin),如图3B中所示。顶点生成器120基于通过数据输入110输入的笔画属性信息生成顶点。具体而言,顶点生成器120可以基于笔画属性信息中包括的顶点的位置信息和有关顶点是凹进还是凸出的信息等生成顶点。有关顶点的位置信息可以包括顶点的坐标值和与顶点所形成的三角形有关的信息。顶点生成器120所生成的顶点可以输出到渲染器150的顶点输出151。α值设置器130基于笔画属性信息计算纹理的尺寸并且设置将要保存在纹理中的α值。具体而言,α值设置器130可以通过使用笔画属性信息中的有关笔画宽度和端点类型的信息,计算将要表示笔画的纹理尺寸。具体而言,α值设置器130可以按下面数学公式图1中所示计算纹理的高度。数学公式图1[数学公式1]α值设置器可以根据笔画的端点类型使用不同的方法计算纹理的宽度。响应于笔画的端点类型为平头类型端点,α值设置器130可以按下面数学公式图2中所示计算纹理的宽度。数学公式图2[数学公式2]宽度=1+2+1=4换句话说,响应于笔画的端点类型为平头类型,纹理的宽度要求为4像素。开始部分的1像素和结束部分的1像素是用于设置防止锯齿失真的UV坐标的空间,并且用于表示笔画的主体区域的α值保存在中间的2像素中。响应于笔画的端点类型为圆头类型或方头类型,α值设置器130可以按下面数学公式图3中所示计算纹理的宽度。数学公式图3[数学公式3]换句话说,响应于笔画端点类型为圆头类型或方头类型,根据笔画的宽度确定纹理的宽度。此处,开始部分的1像素和结束部分的1像素是用于设置防止锯齿失真的UV坐标的空间,并且用于表示笔画的圆头和方头区域的α值保存在中。此处,开始部分的1像素和结束部分的1像素是用于设置防止锯齿失真的UV坐标的空间,并且用于表示笔画的圆头和方头区域的α值保存在中。如上所述,α值设置器130可以基于上面计算出的纹理的高度和宽度来计算纹理的尺寸,如下面数学公式图4中所示。数学公式图4[数学公式4]总尺寸=(宽度)×(高度)×(1字节)上述示例性实施例每像素使用1字节,但是每像素也可以设置1字节或更多字节以得到更精确的表示。α值设置器130还可以设置将要保存在所计算出的纹理中的α值。具体而言,α值设置器130还可以根据笔画的区域使用不同方法设置α值。α值设置器130还可以在宽度为2像素且高度为像素的笔画的主体区域中设置α值。响应于介于0至255之间的灰度值,将要设置的α值可以是255。如上所述,虽然笔画宽度的值会改变,但是其中保存有α值的区域可以是相同的。例如,响应于笔画宽度为4像素,其中将保存α值的区域具有2像素的宽度和4像素的高度,如图4A中所示。响应于笔画宽度为3.5像素,α值的区域将会是具有2像素宽度和4像素高度的区域,如图4B中所示。在这种情况下,从帧缓冲器输出的值可以通过后面将要介绍的UV坐标的调节而被调节。α值设置器130可以根据笔画的端点类型设置端点区域的α值。具体而言,响应于端点区域的类型为平头区域,α值设置器130可以不添加将在其中保存端点区域的α值的区域。但是,响应于端点区域的类型为圆头区域或方头区域,α值设置器130可以添加将在其中保存端点区域的α值的区域。例如,响应于端点区域的类型为圆头区域,α值设置器130可以添加半径为的半圆形的区域。例如,响应于端点类型为圆头区域,α值设置器130可以添加将在其中保存具有半径为的半圆形α值的区域。响应于端点类型为方头区域,α值设置器130可以添加将在其中保存宽度为且高度为笔画宽度的矩形α值的区域。在笔画的连接区域的情况中,α值设置器130不添加将在其中保存α值的区域。α值设置器130设置的α值可以输出并保存到渲染器150的存储器153中。UV设置器140可以设置当使用纹理实际执行渲染时用于执行插值的UV坐标值。UV设置器140可以根据笔画的区域使用不同的方法设置UV坐标值。具体而言,响应于笔画区域为主体区域,UV设置器140可以根据笔画的宽度使用不同的方法设置UV坐标值。具体而言,响应于笔画的宽度为整数且为偶数,UV设置器140可以在分别距离在其中保存α值的主体区域的上方和下方1像素的位置设置UV坐标值。例如,如图5A中所示,响应于笔画的宽度为4像素,UV设置器140可以在分别距离在其中保存α值的主体区域的上方和下方1像素的位置设置UV坐标值。在这种情况下,如图5A右边所示,渲染器150可以通过使用4像素渲染笔画,而无需执行附加的插值操作。响应于笔画的宽度为奇数或小数,UV设置器140可以在分别距离在其中保存α值的主体区域上方和下方像素的位置设置UV坐标值。例如,如图5B中所示,响应于笔画的宽度为3.5像素,UV设置器140可以在分别距离在其中保存α值的主体区域的上方和下方大约1.14像素的位置设置UV坐标值。在这种情况下,如图5B的右边所示,渲染器150可以通过纹理映射单元(TMU)155的插值操作来渲染笔画。换句话说,渲染器150可以将中间3像素渲染为255灰度值,且分别将中间3像素上方和下方的像素渲染为64灰度值。响应于笔画区域为端点区域,UV设置器140可以根据端点类型使用不同的方法设置UV坐标值。响应于端点区域为平头区域,UV设置器140可以在与笔画的主体区域的V坐标具有相同坐标、但是U坐标从笔画的主体区域的左边向内和向外移动0.5像素的位置处设置UV坐标值。具体而言,响应于端点区域为平头区域,UV设置器140可以在分别从笔画的主体区域向上和向下移动1像素、且分别基于笔画的主体区域的左边向内和向外移动0.5像素的位置处设置UV坐标值,如图6A中所示。在这种情况下,如图6A的右边所示,渲染器150可以通过TMU155的插值操作来渲染笔画的端点区域。换句话说,渲染器150可以执行插值操作,使得端点区域的灰度值从主体区域的左边开始比主体区域低1像素。响应于端点区域为圆头端点或方头端点,UV设置器140可以在与笔画主体区域的V坐标具有相同坐标、但是U坐标从笔画的主体区域的左边向内移动0.5像素且从笔画的端点区域所在的像素的最右边像素向外移动0.5像素的位置处,设置UV坐标值。具体而言,响应于端点区域为圆头区域,UV设置器140可以在从笔画的主体区域分别向上和向下移动1像素、从主体区域的左边移动0.5像素且从纹理的半圆形的像素中最右边的像素向外移动0.5像素的位置处设置UV坐标值,如图6B中所示。在这种情况下,如图6B的右边所示,渲染器150可以通过TMU155的插值操作来渲染笔画的端点区域。具体而言,响应于渲染器通过使用纹理渲染圆头端点区域,顶点的数量可以减少。因此,所处理的数据量可以减少,且渲染速度可以提高。UV设置器140可以将笔画的连接区域表示为高度为的三角形的组合,如图7中所示,并且在对应于UV坐标1/2的位置处设置三角形的高度的UV坐标。渲染器150基于来自顶点生成器120的顶点输出、来自α设置器130的α值输出和来自UV设置器140的UV信息输出渲染笔画。具体而言,如图2中所示,渲染器150包括顶点输出151、存储器153、TMU155和光栅化程序处理器157。顶点输出151输出由顶点生成器110生成的顶点,并将其中保存有α值的纹理保存到存储器153中。响应于纹理的尺寸与输出区域的尺寸不同,TMU155可以使用有关纹理的颜色信息执行插值操作。光栅化程序处理器157基于顶点信息、纹理和α值信息执行光栅化渲染操作。光栅化渲染操作是一种为了生成屏幕而基于纹理和α值信息将通过使用顶点生成的矢量和轮廓线数据转换为像素模式图像的方法。输出160输出渲染器150渲染的笔画。输出160可以实现为诸如显示器之类的显示装置,但是它只是示例性实施例。因此,输出160可以实现为诸如打印机之类的打印装置。上面描述的图像输出装置可以比相关技术更高效地去除锯齿失真并输出相对高质量的图像。具体而言,图8A示出了根据相关技术渲染笔画的结果,并且图8B示出了根据示例性实施例渲染笔画的结果。换句话说,如图8A和8B中所示,根据示例性实施例的笔画的锯齿失真去除比根据相关技术的笔画的锯齿失真去除更加高效。因此,根据示例性实施例,可以输出更高质量的笔画。响应于通过使用纹理去除锯齿失真,可以比使用相关技术更快速地渲染图像。具体而言,如图8C中所示,根据示例性实施例的渲染操作可以比相关技术中执行的渲染操作以更快速度执行,即在所有终端类型中介于3倍和4倍之间。图9是示出根据示例性实施例渲染图像的方法的流程图。在操作S910中,图像输出装置100接收笔画属性信息。此处,笔画属性信息可以包括与笔画的宽度、笔画的端点区域的类型、笔画的连接区域的类型和顶点等有关的信息。在操作S920中,图像输出装置100基于笔画属性信息生成顶点。在操作S930中,图像输出装置100基于笔画属性信息计算纹理的尺寸并设置将要保存在纹理中的α值。图像输出装置100可以根据笔画的宽度和端点区域的类型计算纹理的尺寸。图像输出装置100还可以通过在各种笔画区域中使用不同方法来设置将要保存在纹理中的α值。具体而言,响应于端点区域为圆头端点或方头端点,图像输出装置100可以添加一个将在其中保存α值的区域,以设置α值。在操作S940中,图像输出装置100基于笔画属性信息设置UV信息。具体而言,图像输出装置100可以通过在各种笔画区域中使用不同的方法来设置UV坐标。具体而言,在笔画主体区域的情况下,响应于笔画宽度为偶数,图像输出装置100可以设置分别距离其中保存有α值的区域的上方和下方1像素的位置作为UV坐标。响应于笔画的宽度为奇数,图像输出装置100可以设置分别距离其中保存有α值的区域的上方和下方像素的位置作为UV坐标。响应于笔画的区域为平头端点类型,图像输出装置100可以设置V坐标等于笔画主体区域的V坐标,并将U坐标从笔画主体区域的左边向内和向外移动0.5像素。在笔画连接区域的情况下,图像输出装置100可以将连接区域表示为高度为的三角形的组合,并且可以将三角形的UV坐标设置为对应于笔画主体区域的UV坐标的1/2的区域。在操作S950中,图像输出装置100基于顶点、其中保存α值的纹理和UV信息来渲染笔画。具体而言,图像输出装置100可以通过使用TMU155执行插值操作以去除锯齿失真。在操作S960中,图像输出装置100输出所渲染的笔画。根据上面描述的渲染图像的方法,图像输出装置100可以以比相关技术中更快的速度渲染高质量图像。根据上面描述的各种示例性实施例,图像输出装置可以以更快速度渲染高质量图像。用于执行根据上面描述的各种示例性实施例渲染图像的方法的程序代码可以保存在计算机可读的记录介质上。具体而言,程序代码可以保存在诸如随机访问存储器(RAM)、闪存存储器、只读存储器(ROM)、可擦除可编程ROM(EPROM)、电子可擦除可编程ROM(EEPROM)、寄存器、硬盘、可换式磁盘、存储卡、通用串口总线(USB)存储器、CD-ROM等等之类的各种类型计算机可读记录介质上。前述示例性实施例和优点仅仅是示例性的,且不应理解为限制。本公开可以容易地应用到其他类型装置。而且,示例性实施例的描述是说明性的,而非限制权利要求的范围,并且许多备选、修改和变化对于本领域技术人员将是显然的。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1