著录项信息
专利名称 | 用于将图像呈现为包括多行像素之显示的方法和系统 |
申请号 | CN01808382.X | 申请日期 | 2001-04-17 |
法律状态 | 权利终止 | 申报国家 | 暂无 |
公开/公告日 | 2003-06-25 | 公开/公告号 | CN1426574 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06T11/00 | IPC分类号 | G;0;6;T;1;1;/;0;0查看分类表>
|
申请人 | 皮克塞(研究)有限公司 | 申请人地址 | 韩国京畿道
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 三星电子株式会社 | 当前权利人 | 三星电子株式会社 |
发明人 | 马希德·安瓦尔 |
代理机构 | 永新专利商标代理有限公司 | 代理人 | 夏青 |
摘要
本发明公开了一种用于将图像呈现为包括多行像素之显示的方法和系统,包含接收将要被显示的多个对象(100)的流,每一个对象包括形状(102)和填充(104);对于每一个对象,将该对象的形状转换(220,512)成为多行编码的扫描数据,其中所述编码的扫描数据具有对于所述显示之每一个像素的至少两种可能状态中的一种状态,所述至少两种可能状态包括第一状态和第二状态,其中所述第一状态表示像素在该形状之内,以及所述第二状态表示像素在该形状之外;以及将所述多行编码的扫描数据中的每一行和该填充混合(226,516)到用于所述显示的一帧中的一行。
1、一种用于将图像呈现为包括多行像素之显示的方法,其包含:
接收将要被显示的多个对象(100)的流,每一个对象包括形状 (102)和填充(104);
对于每一个对象,将该对象的形状转换(220,512)成为多行编 码的扫描数据,其中所述编码的扫描数据具有对于所述显示之每一个 像素的至少两种可能状态中的一种状态,所述至少两种可能状态包括 第一状态和第二状态,其中所述第一状态表示像素在该形状之内,以 及所述第二状态表示像素在该形状之外;以及
将所述多行编码的扫描数据中的每一行和该填充混合(226,516) 到用于所述显示的一帧中的一行,该方法的特征在于;
将该对象的形状转换成为多行编码的扫描数据包含:
a、将所述显示的每一个像素表示为一个子像素矩阵,该子像素 矩阵包括一个或者多个覆盖该像素的子像素区域;
b、对于所述子像素矩阵中的每一水平行,产生交点数据,其中 所述交点数据包括对于该对象的形状与该子像素矩阵之间每个交点 的坐标;
c、处理关于所述子像素矩阵的每一行的交点数据,以提取在该 形状内的“打开”的子像素串或者在该形状外的“关闭”的子像素串;
以及,对于所述显示的每一行:
d、分析所述提取的子像素串,以识别与所述第一状态相关联的 在该形状内的像素串、与所述第二状态相关联的在该形状外的像素 串、以及与第三状态相关联的过渡像素串,其中所述过渡像素串在形 状的边缘,使得它们部分在该形状内以及部分在该形状外;
e、进一步处理被识别为过渡像素的那些像素,以对于与所述过 渡像素在该形状之内的那部分过渡像素相对应的每一个过渡像素,产 生一个灰度级值;
f、产生一行编码的扫描数据,其中该行编码的扫描数据包括每 一种状态的所述像素串的长度;以及对于所述第三状态的过渡像素, 产生相关联的灰度级值。
2、如权利要求1所述的方法,其中,通过确定所述多个子像素 区域中的哪些子像素区域在该形状之内,以及确定在该形状之内的那 些子象素区域与所述多个子象素区域的比值,来计算对于过渡像素的 所述灰度级值。
3、如权利要求1或者权利要求2所述的方法,其中,该形状包 含一个路径(108),该路径(108)包括多个分段。
4、如权利要求3所述的方法,其中,所述路径分段包括定义所 述路径分段之描边属性的参数。
5、如权利要求3所述的方法,进一步包含:将被弯曲的所述路 径之多个分段中的一段或多段转换成为多段非弯曲的分段。
6、如权利要求1所述的方法,其中,该帧包括视频存储器或者 显示设备中的至少一个。
7、如权利要求1所述的方法,其中,该帧对应于非视频存储器 或者输出位图格式缓存器中的至少一个。
8、如权利要求1所述的方法,进一步包含:将所述多行编码的 扫描数据作为剪辑掩膜存储(514)在高速缓存器中。
9、如权利要求8所述的方法,进一步包含:根据该形状,对所 述剪辑掩膜加索引。
10、如权利要求8或者权利要求9所述的方法,其中,混合包括: 选取所述剪辑掩膜,以及混合与所述剪辑掩膜相关联的编码的扫描数 据。
11、如权利要求1所述的方法,其中,所述将要被显示的对象包 括透明度(106),以及混合还包含:将所述多行编码的扫描数据中的 每一行和所述透明度混合到用于所述显示的一帧中的一行。
12、如权利要求1所述的方法,其中,所述将要被显示的对象包 含透明度(106),其中根据位深度校正、色调校正、按比例缩放、解 压缩或者解码中的至少一项对该透明度进行预处理。
13、如权利要求12所述的方法,其中,该透明度包含一个指针, 该指针指向该形状的透明度值的位图。
14、如权利要求1所述的方法,其中,该填充(104)包括颜色 (116)、纹理、或者位图(118)中的至少一个。
15、如权利要求1所述的方法,其中,该形状包括表示该形状的 剪辑掩膜(114),该剪辑掩膜(114)包含多行编码的扫描数据。
16、如权利要求1所述的方法,进一步包含:应用用于确定该形 状之内部和该形状之外部的算法。
17、如权利要求16所述的方法,其中,应用算法包括:应用一 个弯曲规则。
18、如权利要求1所述的方法,用于对被呈现的彩色图像之边缘 进行无色去混叠处理,其中,所述将要被显示的对象的填充(104) 包括一种或多种颜色(116,118),该方法还包含:将关于每一个过 渡像素的所述灰度级值和对应于该像素的填充(104)与关于该像素 的前一个值混合。
19、如权利要求1所述的方法,进一步包含:对关于所述过渡像 素的所述灰度级值进行行程编码。
20、如权利要求1所述的方法,其中,该子像素矩阵的一个或多 个尺度由一个平滑度值控制。
21、如权利要求1所述的方法,用于平滑所述对象的边缘,其中 该对象的形状包含描述该对象之轮廓的路径(108),该路径具有一个 内侧和一个外侧,该方法包含:
对于与该路径相交的多个像素中的每一个,对所述多个像素中的 该像素进行过采样,以获取一个灰度级值,该灰度级值表示在该路径 之内侧的所述多个像素中的该像素的一部分;以及
将所述多个像素与存储在像素阵列中的数据进行混合。
22、根据权利要求1所述的方法,其中,每一个对象还包括边界 框(101),所述边界框表示将在其中呈现该对象的区域。
23、根据权利要求22所述的方法,还包含:通过将该对象的边 界框与定义所述显示之边界的参数相交以确定该对象何时落入该显 示区域之内,来对该对象进行预处理。
24、如权利要求23所述的方法,其中,没有进一步处理所述对 象的边界框与所述显示之间交点为空值的预处理对象。
25、如权利要求1所述的方法,其中,将所述多行编码的扫描数 据的每一行和所述填充混合进用于所述显示的一帧中的一行包含:通 过利用一个加权因子来加权对应于像素的填充(104)以及利用一个 互补因子来解加权该像素的前一个值,来将该填充(104)与该前一 个像素值相混合,其中,所述加权因子对于内部像素设定为1,对于 外部像素设定为零,以及对于过渡像素设定为所述灰度级值。
26、如权利要求25所述的方法,其中,所述将要被显示的对象 包括透明度(106),以及根据所述透明度,附加地对混合进行加权。
27、如权利要求1所述的方法,其中,对于所述子像素矩阵的每 一行,交点数据还包括所述对象的形状与所述子像素行之间每一个交 点的X坐标,以及该形状与该行相交的方向向上或者方向向下。
28、一种处理图形对象的系统,用于将图像呈现为包含多行像素 的显示,包含:
接收装置(202,204,206),用于接收将要被显示的多个对象(100) 的流,每一个对象包含形状(102)、填充(104)和阿尔法(106);
转换装置(220,222,224),用于将每一个对象的形状转换(220, 512)成为多行编码的扫描数据,其中所述编码的扫描数据具有对于 所述显示之每一个像素的至少两种可能状态中的一种状态,所述至少 两种可能状态包含第一状态和第二状态,所述第一状态表示像素在该 形状之内,以及所述第二状态表示像素在该形状之外;以及
混合装置(226),用于将所述多行编码的扫描数据中的每一行、 该填充以及该阿尔法混合到用于所述显示一帧中的一行,该系统的特 征在于;
所述转换装置用于:
a、将所述显示的每一个像素表示为一个子像素矩阵,该子像素 矩阵包括一个或者多个子覆盖该像素的子像素区域;
b、对于该子像素矩阵中的每一水平行,产生交点数据,其中, 所述交点数据包括该对象的形状与该子像素矩阵之间每一个交点的 坐标;
c、处理对于该子像素矩阵的每一行的交点数据,以提取在该形 状内的“打开”的子像素串或者在该形状外的“关闭”的子像素串;
以及,对于所述显示的每一行:
d、分析所述提取的子像素串,以识别与所述第一状态相关联的 在该形状内的像素串、与所述第二状态相关联的在该形状外的像素 串、以及与第三状态相关联的过渡像素串,其中所述过渡像素串在形 状的边缘,使得它们部分在该形状内以及该部分在形状外;
e、进一步处理被识别为过渡像素的那些像素,以对于与所述过 渡像素在该形状之内的那部分相对应的每一个过渡像素,产生一个灰 度级值;
f、产生一行编码的扫描数据,其中该行编码的扫描数据包括每 一种状态的像素串的长度;以及对于所述第三状态的过渡像素,产生 相关联的灰度级值。
29、如权利要求28所述的系统,其中,该帧对应于显示器、打 印机、文件或者网络端口中的至少一个。
30、如权利要求28或者29所述的系统,每一个对象进一步包含 背景填充或者替换填充中的至少一个,该混合装置将该背景填充或者 该替换填充中的至少一个混合到一帧中的一行。
31、如权利要求28所述的系统,其中,所述接收装置、转换装 置和混合装置包含处理器和存储器,
所述处理器被配置用于将该编码的扫描数据、该填充、和该阿尔 法与一行像素数据进行组合,以及
所述存储器用于存储该行像素数据,以及该行像素数据提供给所 述处理器,以及所述存储器用于存储在将该行像素数据与该编码的扫 描数据、该填充、和该透明度进行组合时生成的一行新的像素数据。
32、如权利要求31所述的系统,进一步包含显示器,所述显示 器被配置用于显示所述存储器。
33、如权利要求31或者权利要求32所述的系统,所述处理器进 一步包含微处理器、微控制器、嵌入式微控制器、可编程数字信号处 理器、专用集成电路、可编程门阵列或者可编程阵列逻辑中的一个或 多个。
34、如权利要求31所述的系统,进一步包含下列设备中的至少 一种:被配置为打印存储在所述存储器中的多行像素数据的打印机, 被配置为存储在该存储器中存储的多行像素数据的存储设备、被配置 为输出存储在该存储器中的多行像素数据的网络设备。
35、如权利要求31所述的系统,其中,所述处理器是芯片、芯 片组、或者管芯中的至少一种。
36、如权利要求31所述的系统,其中,所述处理器和所述存储 器是芯片、芯片组、或者管芯中的至少一种。
37、如权利要求32所述的系统,其中,所述显示器是电子管理 器、掌上型计算机、手持式游戏设备、web使能的蜂窝电话、个人数 字助理、增强的电话、瘦网络客户机、或者机顶盒中至少一种的显示 器。
38、如权利要求32所述的系统,其中,所述显示器是打印机或 者绘图仪中的至少一种。
39、如权利要求32所述的系统,其中,所述显示器被用在一个 文档管理系统中。
40、如权利要求32所述的系统,其中,所述显示器被用在传真 机、复印机、或者文档管理系统的打印机其中至少之一中。
41、如权利要求32所述的系统,其中,所述显示器被用在一个 汽车内系统中。
42、如权利要求32所述的系统,其中,所述显示器被用在音频 播放器、微波炉、冰箱、洗衣机、干衣机、烤箱或者洗碗机其中至少 之一中。
43、如权利要求31所述的系统,其中,所述处理器接收多个图 形对象,并且并行处理所述多个图形对象。
44、如权利要求28的系统,其中:
所述接收装置包括输入单元,用于接收所述多个对象的所述流, 以及
所述转换装置和所述混合装置包括对象处理器,用于在逐个对象 的基础上处理所述对象流,以创建一个像素阵列。
45、如权利要求44所述的系统,其中,每一个对象的形状包括 一个路径,所述对象处理器处理该路径,以创建表示该图像之轮廓的 像素阵列。
46、如权利要求45所述的系统,其中,所述对象处理器对该路 径的边缘进行去混叠处理。
47、如权利要求45或者权利要求46所述的系统,其中,所述对 象处理器对该图像的轮廓进行编码。
48、如权利要求44所述的系统,其中,每一个对象还包括一个 边界框(101),该边界框向该对象处理器指示将在其中呈现该对象的 一个区域。
49、如权利要求44所述的系统,其中,所述对象处理器接收一 个平滑系数(210),该平滑系数指定该对象相对于该像素阵列的过采 样量。
50、如权利要求44所述的系统,其中,每一个对象的阿尔法(106) 包括透明度值或者指向用于该形状的透明度值之位图的指针。
51、如权利要求44所述的系统,其中,每一个对象的填充(104) 包含颜色(116)、纹理、或者位图(118)中的至少一个。
52、如权利要求46所述的系统,其中,被去混叠处理的边缘被 表示为灰度级值。
53、如权利要求52所述的系统,其中,一个色调响应曲线被应 用于该被去混叠处理的边缘的灰度级值。
54、如权利要求44所述的系统,其中,该像素阵列被传输到屏 幕、打印机、网络端口或者文件中的至少一个。
55、如权利要求44所述的系统,其中,每一个对象包括被预处 理的形状数据。
56、如权利要求55所述的系统,其中,该被预处理的形状数据 包含表示该形状的剪辑掩膜,该剪辑掩膜包含多行编码扫描数据。
57、如权利要求55所述的系统,其中,该被预处理的形状数据 包含透明度。
58、如权利要求55所述的系统,其中,该被预处理的形状数据 包含填充。
59、如权利要求44所述的系统,进一步包含:在高速缓存器中 存储中间处理数据,该中间处理数据包含剪辑掩膜、填充或者透明度 中的至少一个。
技术领域\n本发明涉及形状处理器,以及具体地,涉及用于将图像呈现为包 括多行像素之显示的方法和系统。\n背景技术\n抽象形状的图形绘制可能要求对形状描述数据进行许多处理。已 知的用于处理形状的方法可以在例如Java 2D API中找到,它提供了 用于处理二维矢量图的软件工具。然而,还是需要形状处理引擎来减 少计算复杂性以节省处理资源,尤其是在包含显示设备的嵌入式系统 中。\n发明内容\n形状处理器是一个呈现模块(rendering module),可以用来使具 有预定义格式的图形对象流入到帧缓冲器或者物理显示器中。由形状 处理器呈现的文档可以被分解成基本的图形对象,并且被传递给形状 处理器,接着由形状处理器依次组成这些对象用于显示。形状处理器 有利地把每个对象处理为灰度级值,直到用于该对象的像素数据被输 出到一个显示器或者帧缓冲器为止。\n根据本发明的一方面,提供一种用于将图像呈现为包括多行像素 之显示的方法,包含:接收将要被显示的多个对象的流,每个对象包 含形状和填充;对于每个对象,将该对象的形状转换成为多行编码的 扫描数据,其中所述编码的扫描数据具有所述显示之每一个像素的至 少两种可能状态中的一种状态,所述至少两种可能状态包括第一状态 和第二状态,其中所述第一状态表示像素在该形状之内,以及所述第 二状态表示像素在该形状之外;以及将所述多行编码的扫描数据中的 每一行和该填充混合(226,516)到一帧中的一行用于所述显示。该 方法还包含;将该对象的形状转换成为多行编码的扫描数据包含:a、 将所述显示的每一个像素表示为一个子像素矩阵,该子像素矩阵包括 一个或者多个覆盖该像素的子像素区域;b、对于所述子像素矩阵中 的每一水平行,产生交点数据,其中所述交点数据包括关于该对象的 形状与该子像素矩阵之间每个交点的坐标;c、处理对于该子像素矩 阵的每一行的交点数据,以提取在该形状内的“打开”的子像素串或 者在该形状外的“关闭”的子像素串;以及,对于所述显示的每一行: d、分析所述提取的子像素串,以识别与所述第一状态相关联的在形 状内的像素串、与所述第二状态相关联的在形状外的像素串、以及与 第三状态相关联的过渡像素串,其中所述过渡像素串在形状的边缘, 使得它们部分在该形状内以及部分在该形状外;e、进一步处理被识 别为过渡像素的那些像素,以对于与所述过渡像素在该形状之内的那 部分过渡像素相对应的每一个过渡像素,产生一个灰度级值;f、产 生一行编码的扫描数据,其中该行编码的扫描数据包括每一种状态的 像素串的长度;以及对于所述第三状态的过渡像素,产生相关联的灰 度级值。\n根据本发明的另一方面,提供一种处理图形对象的系统,用于将 图像呈现为包含多行像素的显示,包含:接收装置,用于接收将要被 显示的多个对象的流,每一个对象包含形状和阿尔法;转换装置,用 于将每一个对象的形状转换成为多行编码的扫描数据,其中,所述编 码的扫描数据具有关于所述显示之每一个像素的至少两种可能状态 中的一种状态,所述至少两种可能状态包含第一状态和第二状态,所 述第一状态表示像素在该形状之内,以及所述第二状态表示像素在该 形状之外;以及混合装置,用于将所述多行编码的扫描数据中的每一 行、该填充以及该阿尔法混合到一帧中的一行用于所述显示。该系统 的转换装置用于:a、将所述显示的每一个像素表示为一个子像素矩 阵,该子像素矩阵包括一个或者多个子覆盖该像素的子像素区域;b、 对于该子像素矩阵中的每一水平行,产生交点数据,其中,所述交点 数据包括该对象的形状与该子像素矩阵之间每一个交点的坐标;c、 处理该子像素矩阵的每一行的交点数据,以提取在该形状内的“打开” 的子像素串或者在该形状外的“关闭”的子像素串;以及,对于所述 显示的每一行:d、分析所述提取的子像素串,以识别与所述第一状 态相关联的在该形状内的像素串、与所述第二状态相关联的在该形状 外的像素串、以及与第三状态相关联的过渡像素串,其中,所述过渡 像素串在形状的边缘,使得它们部分在该形状内以及该部分在形状 外;e、进一步处理被识别为过渡像素的那些像素,以对于与所述过 渡像素在该形状之内的那部分相对应的每一个过渡像素,产生一个灰 度级值;f、产生一行编码的扫描数据,其中该行编码的扫描数据包 括每一种状态的像素串的长度;以及对于所述第三状态的过渡像素, 产生相关联的灰度级值。\n一种用于处理图形对象的系统可以包含:一个用于接收对象流的 输入单元,其中每个对象具有一组定义图像的参数;以及一个对象处 理器,其在逐个对象的基础上处理该对象流以创建像素阵列。\n这组参数中的一个可以是一条路径,该对象处理器处理该路径以 创建一个表示图像轮廓的像素阵列。对象处理器可以对该路径的边缘 进行去混叠处理(anti-alias)。对象处理器可以对该图像的轮廓做行 程编码。这组参数中的一个可以是一个边界框,边界框向对象处理器 指示将在其中呈现该对象的一个区域。对象处理器可以接收一个平滑 系数,该平滑系数指定该对象相对于像素阵列的过采样数量。这组参 数中的一个可以是透明度,透明度包含一个关于该形状的透明度值或 者一个指向透明度值之位图的指针。\n这组参数中的一个可以是填充,填充包含颜色、纹理、或者位图 中的至少一个。去混叠的边缘可以被表示为灰度级值。色调响应曲线 可以被应用到去混叠边缘的灰度级值。像素阵列可以被传输到屏幕、 打印机、网络端口或者文件中的至少一个。这些参数中的一个可以是 预先处理的形状数据。该预先处理的形状数据可以包含剪辑掩膜(clip mask)。预先处理的形状数据可以包含透明度。预先处理的形状数据 可以包含填充。该方法可以进一步包含在高速缓存中存储中间处理数 据,该中间处理数据包含剪辑掩膜、填充或者透明度中的至少一个。\n在此描述的一种用于图像绘制的方法可以包含:接收将要被显示 的对象,该对象包含形状和填充;把对象的形状转换成为多行编码的 扫描数据,它具有关于显示之像素的至少两种可能状态中的一种,这 两种状态包含第一状态和第二状态,其中第一状态表示一个像素在该 形状内,而第二状态表示一个像素在该形状外;以及把该多行编码的 扫描数据中的每一行和该填充混合到一帧的一行中用于显示。\n该编码的扫描数据可以包含关于显示之像素的第三种可能状态, 其表示像素的一部分在该形状内。该形状可以包含一条包括多个分段 的路径。该方法可以包括:把可被弯曲的该路径的多个分段中的一个 或多个转换成为多个非弯曲的分段。该帧可以包含视频存储器或者显 示设备中的至少一个。该帧可以对应于一个非视频存储器或者一个输 出位图格式缓存器中的至少一个。该形状可以包含编码的扫描数据的 剪辑掩膜。通过把一个像素划分成为多个子像素区域、确定这多个子 像素区域中的哪几个在该形状之内、以及确定在该形状内的那些子像 素区域与该多个子像素区域的比值,可以为像素计算关于第三种可能 状态的一个值。该值可以被表示为灰度级值。\n将要被显示的对象可以包含透明度,而且混合可以进一步包含把 多行编码的扫描数据中的每一行和透明度混合到一帧的一行中用于 显示。将要被显示的对象可以包含透明度,其中该透明度依据位深度 校正、色调校正、比例缩放、解压缩或者解码中的至少一项进行预处 理。该透明度可以包含一个指向关于该形状的透明度值之位图的指 针。该填充可以包含颜色、纹理、或者位图中的至少一个。该方法可 以包含把多行编码的扫描数据作为剪辑掩膜存储在高速缓存中。该方 法可以包含依据该形状对该剪辑掩膜加索引。\n在此描述的一种方法用于对呈现的彩色图像的边缘进行无色去 混叠,该方法可以包含:接收将要被显示的对象,该对象包含形状和 填充,该填充包含一种或多种颜色;把显示之像素表示为一个子像素 矩阵,该子像素矩阵包含一个或多个覆盖该像素的子像素区域;使该 形状与该子像素矩阵相交;以及把该子像素矩阵转换为关于该像素的 灰度级值。\n该方法可以包含:把关于该像素的灰度级值和对应于该像素的填 充与关于该像素的前一个值混合。该方法可以包含:重复接收对象、 表示像素、与该形状相交、转换该子像素矩阵、以及混合,用于像素 扫描行。该方法可以包含对该像素扫描行的灰度级值进行行程编码。 该子像素矩阵的一个或多个尺寸可以由一个平滑度值控制。\n在此描述的一种用于平滑图形对象边缘的方法可以包含:接收将 要被显示的对象,该对象包含一条描述该对象之轮廓的路径,该路径 具有一个内侧和一个外侧;对于与该路径相交的多个像素中的每一 个,对像素进行过采样,以获取表示可能在该路径之内的像素之一的 一部分的灰度级值;以及把这多个像素与保存在一个像素阵列中的数 据混合。\n该方法可以包含:对于该多个像素中的每一个,依据该灰度级值 对关于该像素的填充值进行加权,并且依据该灰度级值对保存在视频 存储器中的数据进行解加权(de-weighting)。该方法可以包含:对于 该多个像素中的每一个,依据透明度值对关于该像素的填充值进行加 权,并且依据透明度值对保存在像素阵列中的数据进行解加权。\n在此描述的一种用于处理图形对象的系统可以包含:用于接收将 要被显示的对象的接收装置,该对象包含形状、填充和阿尔法(alpha, 透明层次);用于把该对象之形状转换成为编码的扫描数据的转换装 置,其中该扫描数据具有关于像素的两种可能状态中的一种,这两种 可能状态包含第一状态和第二状态,其中第一状态表示一个像素在该 形状之内,而第二状态表示一个像素在该形状之外;以及用于把编码 的扫描数据、该填充、和该阿尔法混合到一帧的一行中的混合装置。\n编码的扫描数据可以具有第三种可能状态,该第三种可能状态包 含表示一个可在该形状边缘上的像素的灰度级值,其中该灰度级值对 应于可在该形状之内的像素的一部分。该帧可以对应于显示器、打印 机、文件或者网络端口中的至少一个。该对象可以包含背景填充或者 替换填充中的至少一个,该混合装置把该背景填充或者替换填充中的 至少一个混合到一帧的一行中。\n在此描述的一种用于处理图形对象的计算机程序可以包含:接收 将要被显示的对象的计算机可执行代码,其中该对象包含形状、填充 和阿尔法;把对象的形状转换成为编码的扫描数据的计算机可执行代 码,该扫描数据具有关于一个像素阵列之像素的至少两种可能状态中 的一种,这两种状态包含第一状态和第二状态,其中第一状态表示像 素在该形状之内,而第二状态表示像素在该形状之外;以及把编码的 扫描数据、填充、和阿尔法混合到该像素阵列的一帧的一行中的计算 机可执行代码。\n像素阵列可以对应于显示器、打印机、文件或者网络端口中的至 少一个。编码的扫描数据可以具有第三种可能状态,该第三种可能状 态包含灰度级值,它表示可在该形状边缘上的像素,其中该灰度级值 对应于可在该形状之内的像素的一部分。\n在此描述的一种用于处理图形对象的系统可以包含:一个处理 器,该处理器被配置为接收一个可以包含形状、填充、和透明度的图 形对象,以把该图形对象的形状转换成为编码的扫描数据,并且把该 编码的扫描数据、填充、和阿尔法与一行像素数据进行组合,其中该 编码的扫描数据与关于显示的扫描行的内部像素、外部像素、和过渡 像素相对应,其中每个过渡像素包含一个对应于在该形状内的像素之 一部分的灰度级值;以及一个存储该行像素数据的存储器,该存储器 适于向该处理器提供该行像素数据,而且该存储器适于存储新的一行 像素数据,当该行像素数据可以与编码的扫描数据、填充、和透明度 进行组合时,可以产生该新的一行像素数据。\n该系统可以包含一个被配置为显示该存储器的显示器。该处理器 可以是微处理器、微控制器、嵌入式微控制器、可编程的数字信号处 理器、专用集成电路、可编程门阵列或者可编程阵列逻辑中的一个或 多个。该系统可以是下列中的至少一个:被配置为打印保存在存储器 中的多行像素数据的打印机,被配置为存储保存在该存储器中的多行 像素数据的存储设备、被配置为输出保存在存储器中的多行像素数据 的网络设备。该处理器可以是芯片、芯片组、或者管芯(die)中的 至少一个。该处理器和存储器可以是芯片、芯片组、或者管芯中的至 少一个。该显示器可以是电子管理器、掌上型计算机、手持式游戏设 备、web使能(web-enabled)的蜂窝电话、个人数字助理、增强的电 话、瘦网络客户机、或者机顶盒中至少一个的显示器。\n该显示器可以是打印机或者绘图仪中的至少一个。该显示器可以 被用于文档管理系统中。该显示器可以被用在文档管理系统的传真 机、复印机、或者打印机中的至少一种中。该显示器可以被用在一个 汽车内系统中。该显示器可以被用在音频播放器、微波炉、冰箱、洗 衣机、干衣机、烤箱或者洗碗机中的至少一种中。该处理器可以接收 多个图形对象并且并行处理该多个图形对象。\n附图简要说明\n通过下面进一步的描述并参考附图,本发明的上述及其它目的和 优点将会得到更加充分地理解,其中:\n图1示出关于图形对象的数据结构,它可与形状处理器一起使 用;\n图2是形状处理器的一个功能框图;\n图3描述了对交点数据的运算的例子,由一个相交处理过程执 行;\n图4显示了关于编码的扫描数据的数据结构;以及\n图5是关于形状处理的处理过程的流程图。\n具体实施方式\n为了提供对本发明的一个全面理解,下面将描述某些说明性的实 施例,包含一个二维形状处理器,它采用了关于被呈现对象之边缘的 空间滤波和色调控制。然而,本领域普通技术人员应当理解,在此描 述的方法和系统可以被适当地适用于其它应用、诸如三维形状处理, 而且可以与全图像去混叠处理相结合。例如,一个粗糙的全图像去混 叠处理步骤可以与对象边缘的细微去混叠处理相结合。所有这些适应 和修改对本领域技术人员来说是显然的,而且都会落在在此描述的本\n发明的范围之内。\n图1显示了可与形状处理器一起使用的图形对象的数据结构。图 形对象100、或者简单地说对象100可以包含一个边界框101、一个 形状102、一个填充104,和一个阿尔法106。形状102可以包含一 个具有描边(stroke)110和填充112参数的路径108,或者一个剪辑 掩膜114。填充104可以包含一个颜色116或者一个位图118。阿尔 法106可以包含一个值120或者一个掩膜122。\n边界框101可以包含一个将在那儿呈现对象100的位置,而且可 以定义一个将在其中绘制该对象的区域。例如,通过把一条圆周路径 与一个边界框101进行组合,可以使用该参数来简化圆弧的呈现,边 界框101覆盖了该圆周的四分之一。\n形状102可以包含一条路径108,它定义了一系列相连的路径单 元,使用PostScript(页面描述语言)格式的路径描述。其它路径表 示是已知的,而且也可以被使用。例如,路径108可以包含直线段、 具有由两点控制的方向和曲率的贝塞尔(Bezier)曲线、或者其它路 径构造。路径108可以被打开或关闭。为了支持更多复杂的几何形状, 路径108可以包含自相交的或者多个不相交的区域。路径108的描边 110可以包含参数或者属性,例如包含连接属性和顶盖属性,其中连 接属性指定关于连接路径单元的呈现,如圆、斜面、或者斜接,而顶 盖属性指定关于路径108的一端的呈现,诸如圆、粗端、正方形、三 角形等。填充112可以包含一个弯曲规则(winding rule)、或者其它 算法或者参数,用于区分路径108内侧与路径108外侧,使得适当的 区域可以被填充。剪辑掩膜114可以包含一个指针,指向图形对象 100的高速缓存呈现,以便减少重现对象的多余处理过程。\n填充104通常可以包含有关形状102将被如何填充的信息。这可 以包含,例如颜色116,它可以是在调色板(诸如一个8位调色板) 上定义的一个颜色值,或者可以是一个基于颜色的成分,诸如24位 RGB、15位RGB、或者32位CMYK,或者颜色116可以是一个灰 度级值。填充104可以包含一个位图118,位图118包含了一个将被 用于填充形状102的纹理的位图。作为替代,位图118可以包含一个 指向将被用于填充形状102的位图的指针。这样的一个位图可以在任 何种类的颜色模型中被提供,诸如那些被用于填充104的位图。\n阿尔法106通常可以包含与形状102在被填充和显示时的透明度 有关的信息。该阿尔法可以包含一个值120,该值是描述关于整个形 状102的透明度的单个值,通常从0(透明)变化到1(不透明)。可 选的是,阿尔法106可以包含关于被呈现形状102之每一个像素的值 的掩膜122,它是一个阿尔法掩膜、或者指向一个阿尔法掩膜的指针。\n对本领域技术人员来说,对上述数据结构的适当修改和增强将会 是显然的。特别是,图形对象100可以包含在呈现规范(诸如 PostScript、Java 2D API、或者例如在Mac OS X操作系统中使用的 Quartz和QuickDraw库)中描述的其它特征。\n图2是形状处理器的一个功能框图。通常,形状处理器200提供 一个用于接收图形对象流的输入单元,并且包含一个对象处理器,该 对象处理器在逐个对象的基础上处理该对象流,以创建一个像素阵列 用于显示在屏幕上。形状处理器200接收一个图形对象,由如图2所 示作为路径202的形状、边界框203、填充204、和阿尔法206所描 述,例如它可以对应于以上参照图1所述的图形对象100的组件。形 状处理器200可以接收一个剪辑掩膜232而不是一个路径202,它可 以由形状处理器200直接传递到一个扫描行混合器226,如以下所述。\n形状处理器200的控制数据可以包含一个屏幕边界框208、一个 平滑度210、一个色调响应曲线212、一个位深度214、一个彩色空 间216、和一个屏幕基地址218。这个控制数据可以存储与显示有关 的物理参数,诸如屏幕基地址218或者色调响应曲线212。如下所述, 色调响应曲线212可以依据显示器设备的非线性,调整编码的扫描数 据的灰度级值。例如,满刻度之50%的一个亮度值可能导致一个特定 设备的65%的像素亮度。色调响应曲线212可以使用一个查找表或者 其它的算法或者基于查找的方法来调整这种非线性。其它控制数据可 以对应于由用户(或者程序员)指定的参数。例如,平滑度210存储 了一个关于边缘处理之细度(fineness)或者粒度(granularity)的值, 它可以是一个(或者多个)值,描述了其中每个显示像素的子区域的 一个N×N矩阵,这将在下面进行描述。\n向一个扫描变换器220提供路径202,其中该扫描变换器220使 用来自于交点221的数据,向一个交点缓存器222提供交点数据。一 个相交处理过程224进一步处理交点数据,并且提供一个输出到一个 扫描行混合器226,由扫描行混合器226把该输出与其它图形对象描 述符和控制数据进行组合,以生成一个输出到一个视频存储器或者一 个物理显示器。由形状处理器200生成的中间数据可以包含一个路径 边界框228、一个变平的路径230、和一个剪辑掩膜232。剪辑掩膜 232或者变平的路径230能够独立于形状处理器200使用,或者可以 被重新表示为有效输入,借此减少了对形状处理器200的多余重复调 用。其它中间数据(未显示)可以由形状处理器200生成用于输出, 作为例子包含,相交的输入或者其它预处理的调整,诸如填充图的解 压缩、和彩色空间转换、校正、调整、和按比例缩放。\n在扫描行处理之前,扫描变换器220可以预处理路径202。例如, 通过相交某些数据和确定是否要求了处理,可以避免不必要的扫描变 换。例如,路径202的边界框203和屏幕边界框208可以在交点221 中相交。如果来自于交点221的输出为空值,则不要求进一步的处理。 尽管在图2中没有明确显示,但是可以获得其它交点,诸如与用于填 充204的一个边界框(它可以由形状处理器200从填充数据中推断 出)、或者用于阿尔法206的一个边界框(它同样可以由形状处理器 200从阿尔法数据中推断出)的一个交点。如果交点组是空的,则不 需要对路径202进行处理,而且下一个连续的路径202可以立即被处 理。如上所述,如果一个剪辑掩膜232作为一个形状而不是路径202 给出,则剪辑掩膜232可以被直接传递到扫描行混合器226,因此绕 过了扫描变换及其它路径处理步骤。可以以这种方式保存任意的中间 处理数据,例如包含剪辑掩膜232、填充数据、阿尔法数据、变平的 路径数据等,以避免或者减少多余的处理。\n扫描变换器220可以把路径202转换成为与一个目标显示设备的 扫描行的交点。可以在向上采样的基础上使用平滑度210来执行这个 功能。也就是说,在定位交点之前,可以使用平滑度210作为一个参 数,把每一行像素分成若干子像素区域、或者子像素矩阵。所以,例 如,为2的平滑度210可以导致100个像素的一个扫描行被处理,以 生成交点数据,作为一个2乘200阵列子像素区域,覆盖一个屏幕显 示中的同一个区域。为4的平滑度210可以导致同一扫描行被处理, 以生成交点数据,作为一个4乘400阵列子像素区域,等等。\n路径202然后可以被应用到子像素区域上。可以在一个水平的逐 行基础上存储所得到的交点、或者交点数据,包含每个交点的一个X 座标、以及路径与一个水平轴相交的方向(例如,向上或者向下)。 其它的表示是已知的,而且也可以由扫描变换器220使用。扫描变换 器220可以生成路径边界框228。扫描变换器220还可以生成一个变 平的路径230,作为一个中间步骤,其中连续的、非线性的段(诸如 贝塞尔曲线)被转换成若干个直线路径段。这可以减少与路径有关运 算的计算复杂性。交点数据可以被保存在交点缓存器222中。\n通常,相交处理过程224分析多行子像素区域,并且标识在形状 外的像素串、在形状内的像素串、和过渡像素。那些在一个形状的边 缘上并且与该形状相交、以便使它们部分在形状内和部分在形状外的 过渡像素,可以被平滑以删除或者减少与呈现有关的其它非自然信号 (artifact)或粗糙度(jaggedness)。下面将参考图3对这种过采样技 术进行更详细地描述。如下所述,内部像素、外部像素、和过渡像素 然后可以被混合到视频存储器里。\n图3描述了由相交处理过程224执行的、对交点数据的运算的例 子。在图3的例子中,交点数据对应于具有100个像素的一个扫描行, 而且平滑度210具有的一个值对应于关于每个扫描行像素的一个4乘 4子像素矩阵。\n图表301显示了从图2的交点缓存器222中接收的交点数据。如 图表301所示,交点数据通常可以包含路径202与子像素区域相交处 的X座标,外加路径202的方向。对于第一行、第N行,路径202 沿一个向上的方向与第40个子像素相交。在同一行上,路径202沿 一个向下方向与第140个子像素相交。在图表301中对第N+1行到 第N+3行也列出了交点数据。应该理解的是,这是一个特殊的例子, 而且可以取决于路径202的复杂度为一行子像素区域提供或多或少 的交点数据。\n可以依据一种弯曲规则或者类似的方法对交点数据进行处理,以 提取“打开”或者“关闭”的串。在如图3所示的例子中,通过在这 个例子中应用一种偶数/奇数弯曲规则,可以以这种方式对图表301 中的交点数据进行处理,以生成图表302的被编码数据。\n如在图表302中所描述的那样,每行子像素的数据可以被编码为 一个数据对,它包含一个打开/关闭标记和共享该打开/关闭标记行 的一连串相邻子像素。通常,一串的末端可以根据从内侧向外侧的一 个过渡进行标识,或者反之亦然,如通过对交点数据应用一种弯曲规 则或者类似的技术来确定。根据这个数据,可以提取若干串像素,反 映目标显示的像素,这些像素将完全是在该形状内或者在该形状外, 其中该形状是由交点数据来描述的。在图表302的例子中,在该形状 外的第一串的五个“关闭”像素可以很容易地被识别出来,它们对应 于第N行到第N+3行、和水平子像素区域1-20。\n如在图表304中描述的那样,从“关闭”串到“打开”串的过渡 可以由关于每行子像素的“打开”或者“关闭”子像素区域的数目来 表征。在该例子中,在第一串的五个“关闭”像素之后的数据可以被 分组为对应于像素的四个子像素区域的集合,例如子像素区域21- 24、25-28等。然后,在每组子像素区域中的“打开”子像素区域可 以对四行求和,以获得一个像素的“打开”子像素区域的总数。图表 304示出关于六个水平连续的像素的这个总数,这些像素对应于水平 子像素区域21-24和第N行到第N+3行,其中的第一个不包含来自 第N到N+2行的“打开”子像素区域,以及来自第N+3行的四个“打 开”子像素区域。这就提供了关于具有四个子像素区域的这个像素的 总打开度(total′on′-ness)。这对应于一个4∶16的比值或者百分之二 十五(4乘4的子像素矩阵的4/16)。这被表示为一个关于这个像素 百分之二十五的灰度级值。这个分析可以为水平连续的子像素区域重 复,直到到达一个充分“打开”的像素为止。在图3的例子中,在子 像素区域41-44处到达一个“打开”像素,其中16个子像素区域中 的十六个都是“打开”的。相应的像素可以开始一连串的“打开”像 素到一扫描行的末端,或者直到下一个过渡为止,如果这样一个过渡 发生的话。\n关于每一扫描行的所得到数据被表示为若干串“打开”像素、若 干串“关闭”像素、和一个或多个过渡像素,其中的过渡像素具有指 示了每个过渡像素有多少在一个形状之内(或者做为选择,在一个形 状之外)的灰度级值。在下面,图4示出数据结构的示例,其中包含 以这种形式的数据行程编码的扫描行。在某些实现方案中,灰度级值 可以包含最大或者最小的灰度级值(例如,100%或者0%),它们以 其他方式表示“打开”或者“关闭”状态的像素或者行程。例如,这 种方法可以被有利地应用于最优化数据的编码,该数据展示了在“打 开”和“关闭”之间切换的短行程(short run)。\n应该理解的是,可以使用其它技术来得到过渡像素的灰度级值。 例如,使用关于路径306的点和斜率信息,可以用数学方法确定在一 个形状之内的一个像素部分。通过把形状边缘平滑到灰度级值,可以 为全色图像执行一个无色的去混叠运算。随后可以在一个扫描行混合 器中提供颜色,将如以下所描述的那样。这种技术还可以被有利地使 用而不必进行过采样(即,具有一个平滑度210值,指定每个像素对 应于单个子像素区域),这是因为它推迟处理关于一个形状的阿尔法 和填充值,直到新像素数据的扫描行与当前像素数据的扫描行相混合 为止。还应当理解的是,尽管上述例子涉及一个具有单个内部区域的 形状,但是包含多个内部和外部区域的更复杂形状可以被类似地表 征。\n再次参见图2,相交处理过程224的输出可以被存储为一个剪辑 掩膜232。可以依据参考编号对剪辑掩膜232加索引,例如,该参考 编号是基于已经被处理的路径202的路径指针、以及任意缩放信息。 当以这种方式进行存储时,由形状处理器200接收的每个新路径202 可以与缓存的剪辑掩膜的放置处相比较,以便同一形状的多余处理 (诸如在文本行中重现字体)可以被减少或者避免。\n扫描行混合器226可以把来自于相交处理过程224的输出、或者 剪辑掩膜232与一帧当前视频数据进行混合。从图2中将会理解到, 这可能包含额外的计算(在下面没有提到),以把像素值映射到显示 参数,诸如显示存储器地址、彩色空间、位深度等。扫描行混合器 226的预处理可以包含阿尔法映射或者填充映射的解压缩、彩色空间 转换、颜色校正、颜色调整、以及按比例缩放。\n扫描行混合器226可以直接输出到屏幕、到其它的显示设备、或 者到帧缓冲器用于随后的位图呈现。这可以包含非视频存储器或者输 出位图格式缓存器。扫描行混合器226通常每次可以对一行视频数 据、或者一行像素进行运算。在某些实施例中,可以提供若干扫描行 混合器以对若干扫描行进行并行运算。对于每一个像素,扫描行混合 器226可以把填充204(例如,一个24位颜色值)、阿尔法206、和 对应于那个像素的相交处理过程224输出(或者当可得到时,为剪辑 掩膜)进行组合。通常,将填充204乘以阿尔法(对于透明度(0<= 阿尔法<=1))以及乘以相交处理过程224输出(0(=关闭)<=输 出<=1(=打开))。这表示由形状处理器200生成的像素值。在扫描 行混合器226中,这个新值与关于该像素的旧值相组合,它由一个互 补因子进行解加权。这个混合运算可以被以数学方式表示为:\nPi=αef+(1-αe)Pi-1 [等式1]\n其中f=像素的填充值(例如,一个24位颜色值);\nPi=扫描行混合器输出;\nPi-1=前一个像素值(来自于缓存器);\nα=该形状在该像素处的阿尔法值;\ne=该像素的边缘值(相交处理过程输出)\n=0,在外部\n=1,在内部\n=灰度级值,在形状内之边缘的%\n被混合的输出可以被保存在视频存储器中用于显示。应该理解的 是,等式1是有代表性的,其它等式可以被用于在一个像素接一个像 素的基础上组合旧的数据和新的数据,如果该等式适当地加权旧的数 据和新的数据、以反映例如新数据的透明度和边缘。例如,这可以是 一个两步的处理过程,其中首先执行边缘加权,然后进行透明度加权。 此外,存在有等式1的简化形式,它可以被用在扫描行混合器226 中以减少处理复杂度。例如,当在完全不透明的形状(即,e=1&α =1)内存在一连串像素时,扫描行混合器226的输出仅仅是关于每 一个像素的填充值。在这种情况下,关于相应像素的填充值f可以被 直接提供给视频存储器而不需要进一步的处理。\n图4显示了一个关于被编码扫描数据的数据结构,作为相交处理 过程224的输出。通常,像素值可以被存储为“打开”、“关闭”、或 者“灰度级”。打开的像素对应于在一个形状之内的像素,它们将被 呈现为由图2中的填充204提供的颜色值。关闭的像素对应于在该形 状之外的像素,而且将不会影响现有的显示或者帧缓冲器。如上所述, 可以向一个对象提供另外的参数,诸如提供了关于“关闭”像素(即 在形状之外像素)的填充值的背景填充。作为另一个例子,可以提供 一个替换填充,它在混合之前从在帧缓冲器中的前一个值中被减去。 灰度级值表示形状边缘,而且将被呈现为由填充204提供的颜色值, 而且依据灰度级值进行比例缩放。编码提供了一种用于表示多行视频 数据的方案,它在处理形状时可以明显减少处理成本。例如,编码为 若干串“打开”和“关闭”是廉价的,而且灰度级计算在存储器使用 和处理器时间上是比较低廉的,是因为它们避免了要求全像素阵列用 于图像处理。另外,行程编码在把视频数据存储为剪辑掩膜时提供了 好处。然而,应该理解的是,其它压缩技术可以和在此描述的系统一 起适当地使用。\n行程编码的数据结构400可以包含一个头部402、一个长度404、 一个宽度406、一个高度408、一个或多个偏移量410、以及一个或 多个数据段412。头部402可以包含任何可用于标识或者使用数据结 构400的头部信息。长度404可以指示数据结构400的长度。宽度 406可以指示一个以像素为单位、表示一个形状之宽度的值。高度408 可以指示一个表示一个形状的多个扫描行的值。一个或多个偏移量 410指示了对关于形状的每个扫描行的数据段的字节偏移量。一个或 多个数据段412中每个都包含了关于一个形状的扫描行的被编码数 据。数据段412可以被表示为:“内部”再加上以像素为单位的行程、 “外部”再加上以像素为单位的行程、或者“边缘”再加上在边缘中 的像素数以及关于在该边缘中的多个像素中每一个的灰度级值。例 如,每个边缘值可以被表示为一个字节(256级)灰度级值。\n图5是一个用于形状处理的处理过程流程图。在下面的论述中, 短语“交点数据”用于指描述了在路径和子像素区域之间的交点的数 据。在一种简化的情况下,每个子像素区域可以对应于一个完整的像 素,而且因此不执行平滑。短语“编码的扫描数据”用于指采用未压 缩的或者压缩的(例如,行程编码的)形式的数据,它描述了处于三 种状态(即打开、关闭或者灰度级)之一种状态中的扫描行的区域。 这些行程是通过从一条路径的内部到外部的过渡来确定,其中该路径 是通过对交点数据应用一种弯曲规则或者类似的技术来定义的。\n处理过程500可以在502开始,接收一个对象,如步骤504所示。 例如,该对象可以是以上参考图1所述的图形对象100。在一个可选 的步骤506中,确定该对象是否在高速缓存中。例如,可以使用形状 名称或者任何其他信息来进行这个确定,所述信息能够唯一地标识如 对应于该高速缓存中之存储项的对象之形状。如果该对象之形状是在 高速缓存中,则处理过程500可以继续步骤516,在该步骤中,使用 被高速缓存的形状和任何提供给该对象的填充和透明度数据,可以将 该对象与当前视频存储器相混合。如果该形状没有在高速缓存中,则 处理过程500可以继续到步骤508。\n如步骤508中所示,处理过程500可以生成一条被变平的路径, 如上参考图2中的扫描变换器220所述。然后,被变平的路径可以被 用来生成交点数据,交点数据表示在路径和子像素区域之间的交点, 如步骤510所示。可以理解的是,这些交点可以表示一个形状的边缘。 如步骤512中所示,然后可以根据交点数据中生成编码的扫描数据, 例如,如以上述参考图2中的相交处理过程224。编码的扫描数据表 示该对象形状的轮廓,可以被保存在高速缓存中,如步骤514所示。 然后可以把视频存储与编码的扫描数据混合,如步骤516中所示,以 及如参考图2的扫描行混合器226所做的详细描述。处理过程500然 后可以返回到步骤504,在该步骤中,可以接收下一个连续的对象。\n视频存储器可以提供视频数据帧到一个显示器中,其中该视频存 储器的内容被转换为人类可视形式。该视频存储器还可以存储前一个 视频数据的一个或多个帧,用于与由该形状处理器产生的视频数据之 新行混合。应该理解的是,该显示器可以是一个液晶显示器、发光二 极管显示器、或者任何其它用于以人类可视形式提供视频数据的显示 器。该显示器还可以是一个打印机、绘图仪、或者其它设备,用于以 一种固定的、有形的介质(如纸张)再现视频数据。\n应该理解的是,上述处理过程500、以及图2中的形状处理器200, 可以以硬件、软件、或者它们的某些组合来实现。处理过程500可 以被实现在一个或多个微处理器、微控制器、嵌入微控制器、可编程 数字信号处理器或者其它可编程设备中,以及内部和/或外部存储器 中,例如只读存储器、可编程只读存储器、电可擦除可编程只读存储 器、随机存取存储器、动态随机存取存储器、双倍数据速率随机存取 存储器、Rambus直接随机存取存储器、闪速存储器、或者任何其它 易失性或者非易失性存储器中,它们用于存储程序指令、程序数据、 以及程序输出或者其它中间或者最终结果。处理过程500以及形状处 理器200也可以(或者代之以)包含专用集成电路、程控选通门阵列、 可编程阵列逻辑、或者任何其它可以被配置用于处理电子信号的设 备。\n上述电路和部件的任何组合、无论是否被分离地封装为一个芯 片、一个芯片组、或者一个管芯,可以适当地适于与在此描述的系统 一起使用。应该进一步理解的是,上述处理过程500和形状处理器 200可以被实现为计算机可执行代码,利用一种结构化程序设计语言 (诸如C)、一种面向对象的编程语言(诸如C++)、或者任何其它高 级或者低级编程语言来创建该代码,所述其它高级或者低级编程语言 可以被编译或者解释、以在上述设备中的一个上运行,也可以实现为 处理器的多机种组合、处理器体系结构、或者不同硬件和软件的组合 来实现。\n形状处理器200尤其可以适合于并行的和/或流水线式的图象 处理系统,其中不同的图形对象可以被同时处理,然后被混合到一帧 视频存储器中。形状处理器200因此可以被实现为若干个物理上分离 的处理,或者实现为若干个逻辑上分离的处理,诸如在一个微处理器 上执行的多个形状处理器线程(thread)。这个方法可以类似地应用于 一个图形对象的不同扫描行。\n上述系统提供了用于显示装置的有效图像呈现,可以非常适合 于小型、低功率设备,如具有液晶显示器(“LCD”)屏幕的便携式设 备,包括电子管理器、掌上式计算机、手持式游戏设备、web(网页) 使能的蜂窝电话(或者其它无线电话或者通讯设备)、以及个人数字 助理(“PDA”)。该系统还可以被组合到具有显示单元的廉价终端设 备中,诸如增强的电话、瘦网络客户机、以及机顶盒,以及其他诸如 打印机、绘图仪等等的呈现设备。例如,该系统可以被有用地用作文 件处理设备(如传真机、打印机、复印机等等)中的一个嵌入式系统, 其中一个工作文件和/或一个用户界面的显示器可以增强功能。该系 统可以有用地在汽车内系统中使用,该汽车内系统向汽车用户呈现图 像和/或提供图形用户界面,诸如在仪表板或者中央操纵台或汽车 中。在此描述的系统可以被组合到家用设备中,包含音频播放器、微 波炉、冰箱、洗衣机、干衣机、烤箱或者洗碗机。在此描述的系统还 可以在任何上述系统中被有用地配置,其中输出被产生到不同设备 中,诸如显示器、打印机、网络、和/或文件。单个设备可以使用该 形状处理器以输出到这些设备中的任意设备或所有设备。\n虽然已经结合所图示和详细描述的优选实施例公开了该发明, 应该理解的是,本发明并不限于在此公开的实施例中,而是应该根据 权利要求书来理解,这些权利要求将在法律允许的最广阔范围内得到 解释。
法律信息
- 2019-04-05
未缴年费专利权终止
IPC(主分类): G06T 11/00
专利号: ZL 01808382.X
申请日: 2001.04.17
授权公告日: 2006.02.08
- 2010-01-20
专利申请权、专利权的转移(专利权的转移)
专利申请权、专利权的转移(专利权的转移)变更项目:专利权人变更前权利人:皮克塞(研究)有限公司 地址: 英国格拉斯哥变更后权利人:三星电子株式会社 地址: 韩国京畿道登记生效日:2009.12.11
- 2006-02-08
- 2003-09-10
- 2003-06-25
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2013-05-09 | 2013-05-09 | | |
2 | | 2013-05-09 | 2013-05-09 | | |
3 | | 2012-05-09 | 2012-05-09 | | |