CN1426574A - 形状处理器 - Google Patents

形状处理器 Download PDF

Info

Publication number
CN1426574A
CN1426574A CN01808382A CN01808382A CN1426574A CN 1426574 A CN1426574 A CN 1426574A CN 01808382 A CN01808382 A CN 01808382A CN 01808382 A CN01808382 A CN 01808382A CN 1426574 A CN1426574 A CN 1426574A
Authority
CN
China
Prior art keywords
pixel
data
shape
scan
filling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN01808382A
Other languages
English (en)
Other versions
CN1241150C (zh
Inventor
马希德·安瓦尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Picsel Research Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB0009129.8A external-priority patent/GB0009129D0/en
Priority claimed from US09/703,502 external-priority patent/US7055095B1/en
Application filed by Picsel Research Ltd filed Critical Picsel Research Ltd
Publication of CN1426574A publication Critical patent/CN1426574A/zh
Application granted granted Critical
Publication of CN1241150C publication Critical patent/CN1241150C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels

Abstract

形状处理器是一个呈现模块,可以用来使具有一种预定义格式的图形对象流到一个帧缓存器或者一个物理显示器中。将由该形状处理器呈现的文档可以被分解成基本图形对象,并且被传递给该形状处理器,它可以依次组成这些对象用于显示。组成的对象然后在逐个对象的基础上被混合到当前的视频数据中。

Description

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

Claims (59)

1.一种用于处理图形对象的系统,包含:
一个输入单元,用于接收一个对象流,其中每个对象具有一组定义图像的参数;以及
一个对象处理器,在逐个对象的基础上处理该对象流以创建一个像素阵列。
2.如权利要求1所述的系统,其中,该组参数中的一个是路径,该对象处理器处理该路径以创建表示该图像之轮廓的像素阵列。
3.如权利要求2所述的系统,其中,该对象处理器对该路径的边缘进行去混叠处理。
4.如在前任一权利要求所述的系统,其中,该对象处理器对该图像的轮廓进行行程编码。
5.如在前任一权利要求所述的系统,其中,该组参数中的一个是边界框,该边界框向该对象处理器指示将在其中呈现该对象的一个区域。
6.如在前任一权利要求所述的系统,其中,该对象处理器接收一个平滑系数,该平滑系数指定该对象相对于该像素阵列的过采样的量。
7.如在前任一权利要求所述的系统,其中,该组参数中的一个是透明度,该透明度包含关于该形状的透明度值或者指向透明度值之位图的指针。
8.如在前任一权利要求所述的方法,其中,该组参数中的一个是填充,该填充包含颜色、纹理、或者位图中的至少一个。
9.如权利要求3所述、或者在引用权利要求3时的权利要求4到8中任一项所述的方法,其中,被去混叠处理的边缘被表示为灰度级值。
10.如权利要求9所述的方法,其中,一个色调响应曲线被应用于该被去混叠处理的边缘的灰度级值。
11.如在前任一权利要求所述的方法,其中,该像素阵列被传输到屏幕、打印机、网络端口或者文件中的至少一个。
12.如在前任一权利要求所述的方法,其中,这些参数中的一个是被预处理的形状数据。
13.如权利要求12所述的方法,其中,该被预处理的形状数据包含剪辑掩膜。
14.如权利要求12或者权利要求13所述的方法,其中,该被预处理的形状数据包含透明度。
15.如权利要求12到14中任一项所述的方法,其中,该被预处理的形状数据包含填充。
16.如在前任一权利要求所述的方法,进一步包含:在高速缓存器中存储中间处理数据,该中间处理数据包含剪辑掩膜、填充或者透明度中的至少一个。
17.一种用于图像呈现的方法,包含:
接收一个将要被显示的对象,该对象包含形状和填充;
把该对象的形状转换成为多行被编码的扫描数据,所述数据具有关于显示之像素的至少两种可能状态中的一种,这两种状态包含第一状态和第二状态,其中第一状态表示像素在该形状之内,而第二状态表示像素在该形状之外;以及
将该多行被编码的扫描数据中的每一行和该填充混合到一帧中的一行用于显示。
18.如权利要求17所述的方法,其中,该被编码的扫描数据包含一个关于显示之像素的第三种可能状态,它表示一个像素的一部分在该形状之内。
19.如权利要求17或者权利要求18所述的方法,其中,该形状包含一个路径,该路径包括多个分段。
20.如权利要求19所述的方法,进一步包含:把被弯曲路径之多个分段中的一段或多段转换成为多个非弯曲的分段。
21.如权利要求17到20中任一项所述的方法,其中,该帧包含视频存储器或者显示设备中的至少一个。
22.如权利要求17到21中任一项所述的方法,其中,该帧对应于非视频存储器或者输出位图格式缓存器中的至少一个。
23.如权利要求17到22中任一项所述的方法,其中,该形状包含被编码的扫描数据的剪辑掩膜。
24.如权利要求18所述的方法,其中,通过把一个像素划分成为多个子象素区域、确定该多个子象素区域中的哪几个在该形状之内、以及确定在该形状内的那些子象素区域与该多个子象素区域的比值,为该像素计算关于第三种可能状态的值。
25.如权利要求24所述的方法,其中,该值被表示为一个灰度级值。
26.如权利要求17到25中任一项所述的方法,其中,将要被显示的对象包含透明度,混合进一步包含把该多行被编码的扫描数据中的每一行和该透明度混合到一帧中的一行用于显示。
27.如权利要求17到26中任一项所述的方法,其中,将要被显示的对象包含透明度,其中该透明度根据位深度校正、色调校正、按比例缩放、解压缩或者解码中的至少一项进行预处理。
28.如权利要求27所述的方法,其中,该透明度包含一个指针,它指向关于该形状的透明度值之位图。
29.如权利要求17到28中任一项所述的方法,其中,该填充包含颜色、纹理、或者位图中的至少一个。
30.如权利要求17到29中任一项所述的方法,进一步包含:把该多行被编码的扫描数据作为剪辑掩膜存储在高速缓存器中。
31.如权利要求30所述的方法,进一步包含:依据该形状对该剪辑掩膜加索引。
32.一种对被呈现的彩色图像之边缘进行无色去混叠处理的方法,包含:
接收将要被显示的对象,该对象包含形状和填充,该填充包含一种或多种颜色;
把显示的像素表示为一个子像素矩阵,该子像素矩阵包含一个或多个覆盖该像素的子像素区域;
将该形状与该子像素矩阵相交;以及
把该子像素矩阵转换为关于该像素的一个灰度级值。
33.如权利要求32所述的方法,进一步包含:把关于该像素的灰度级值和对应于该像素的填充与关于该像素的前一个值混合。
34.如权利要求33所述的方法,进一步包含:对于扫描行的像素,重复接收一个对象、表示一个像素、与该形状相交、转换该子像素矩阵和混合。
35.如权利要求34所述的方法,进一步包含:对该扫描行的像素的灰度级值进行行程编码。
36.如权利要求32到35中任一项所述的方法,其中,该子像素矩阵的一个或多个尺寸由一个平滑度值控制。
37.一种用于平滑图形对象之边缘的方法,该方法包含:
接收将要被显示的对象,该对象包含一个描述该对象之轮廓的路径,该路径具有一个内侧和一个外侧;
对于与该路径相交的多个像素中的每一个,对这些像素中的一个进行过采样,以获取一个灰度级值,它表示在该路径之内的、这些像素中的一个的一部分;以及
把该多个像素与保存在一个像素阵列中的数据混合。
38.如权利要求37所述的方法,其中的混合进一步包含:对于该多个像素中的每一个,依据该灰度级值对关于该像素的一个填充值进行加权,并且依据该灰度级值对保存在该视频存储器中的数据进行解加权。
39.如权利要求38所述的方法,其中的混合进一步包含:对于该多个像素中的每一个,依据透明度值对该像素的一个填充值进行加权,并且依据该透明度值对保存在该像素阵列中的数据进行解加权。
40.一种用于处理图形对象的系统,包含:
接收装置,用于接收将要被显示的对象,该对象包含形状、填充和阿尔法;
转换装置,用于把该对象之形状转换成为被编码的扫描数据,该扫描数据具有关于像素的至少两种可能状态中的一种,其中包含第一状态和第二状态,其中第一状态表示一个像素在该形状之内,而第二状态表示一个像素在该形状之外;以及
混合装置,用于把该被编码的扫描数据、该填充、和该阿尔法混合到一帧中的一行。
41.如权利要求40所述的系统,其中,该被编码的扫描数据具有第三种可能状态,该第三种可能状态包含一个表示处于该形状之边缘上的一个像素的灰度级值,其中该灰度级值对应于在该形状之内的像素的一部分。
42.如权利要求40或者权利要求41所述的系统,其中,该帧对应于显示器、打印机、文件或者网络端口中的至少一个。
43.如权利要求40到42中任一项所述的系统,该对象进一步包含背景填充或者替换填充中的至少一个,该混合装置把该背景填充或者该替换填充中的至少一个混合到一帧中的一行。
44.一种用于处理图形对象的计算机程序,包含:
用以接收将要被显示的对象的计算机可执行代码,该对象包含形状、填充、和阿尔法;
用以把该对象的形状转换成为被编码的扫描数据的计算机可执行代码,该扫描数据具有关于一个像素阵列之像素的至少两种可能状态中的一种,其中包含第一状态和第二状态,该第一状态表示一个像素在该形状之内,该第二状态表示一个像素在该形状之外;以及
用以把该被编码的扫描数据、该填充、和该阿尔法混合到该像素阵列的一帧中的一行的计算机可执行代码。
45.如权利要求44所述的计算机程序,其中,该像素阵列对应于显示器、打印机、文件或者网络端口中的至少一个。
46.如权利要求44或者权利要求45所述的计算机程序,其中,该被编码的扫描数据具有第三种可能状态,该第三种可能状态包含一个灰度级值,它表示在该形状之边缘上的一个像素,该灰度级值对应于在该形状之内的像素的一部分。
47.一种用于处理图形对象的系统,包含:
一个处理器,该处理器被配置用于接收一个包含形状、填充、和透明度的图形对象,把该图形对象的形状转换成为被编码的扫描数据,并且把该被编码的扫描数据、填充、和阿尔法与一行像素数据进行组合,其中该被编码的扫描数据与关于显示之扫描行的内部像素、外部像素、和过渡像素相对应,每个过渡像素包含一个灰度级值,该灰度级值对应于在该形状内的像素之一部分;以及
以及一个存储该行像素数据的存储器,该存储器适于向该处理器提供该行像素数据,而且该存储器适于存储在把该行像素数据与该被编码的扫描数据、该填充、和该透明度进行组合时生成的一行新像素数据。
48.如权利要求47所述的系统,进一步包含一个显示器,该显示器被配置用于显示该存储内容。
49.如权利要求47或者权利要求48所述的系统,该处理器进一步包含微处理器、微控制器、嵌入式微控制器、可编程数字信号处理器、专用集成电路、可编程门阵列或者可编程阵列逻辑中的一个或多个。
50.如权利要求47到49中任一项所述的系统,进一步包含下列设备中的至少一种:被配置为打印保存在该存储器中的多行像素数据的打印机,被配置为存储保存在该存储器中的多行像素数据的存储设备、被配置为输出保存在该存储器中的多行像素数据的网络设备。
51.如权利要求47到50中任一项所述的系统,其中,该处理器是芯片、芯片组、或者管芯中的至少一种。
52.如权利要求47到50中任一项所述的系统,其中,该处理器和该存储器是芯片、芯片组、或者管芯中的至少一种。
53.如权利要求48所述的、或者在引用权利要求48时的权利要求49到52中任意一个所述的系统,其中,该显示器是电子管理器、掌上型计算机、手持式游戏设备、web使能的蜂窝电话、个人数字助理、增强的电话、瘦网络客户机、或者机顶盒中至少一种的显示器。
54.如权利要求48所述的、或者在引用权利要求48时的权利要求49到52中任一项所述的系统,其中,该显示器是打印机或者绘图仪中的至少一种。
55.如权利要求48所述的、或者在引用权利要求48时的权利要求49到52中任一项所述的系统,其中,该显示器被用在一个文档管理系统中。
56.如权利要求48所述的、或者在引用权利要求48时的权利要求49到52中任一项所述的系统,其中,该显示器被用在传真机、复印机、或者一个文档管理系统的打印机中的至少一种中。
57.如权利要求48所述的、或者在引用权利要求48时的权利要求49到52中任一项所述的系统,其中,该显示器被用在一个汽车内系统中。
58.如权利要求48所述的、或者在引用权利要求48时的权利要求49到52中任一项所述的系统,其中,该显示器被用在音频播放器、微波炉、冰箱、洗衣机、干衣机、烤箱或者洗碗机中的至少一种中。
59.如权利要求47到58中任一项所述的系统,其中,该处理器接收多个图形对象,并且并行处理该多个图形对象。
CNB01808382XA 2000-04-14 2001-04-17 用于将图像呈现为包括多行像素之显示的方法和系统 Expired - Fee Related CN1241150C (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB0009192.8 2000-04-14
GBGB0009129.8A GB0009129D0 (en) 2000-04-14 2000-04-14 Digital document processing
US09/703,502 US7055095B1 (en) 2000-04-14 2000-10-31 Systems and methods for digital document processing
US09/703,502 2000-10-31
PCT/GB2001/001712 WO2001080183A1 (en) 2000-04-14 2001-04-17 Shape processor

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100057842A Division CN100377179C (zh) 2000-04-14 2001-04-17 形状处理器

Publications (2)

Publication Number Publication Date
CN1426574A true CN1426574A (zh) 2003-06-25
CN1241150C CN1241150C (zh) 2006-02-08

Family

ID=38666808

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB01808382XA Expired - Fee Related CN1241150C (zh) 2000-04-14 2001-04-17 用于将图像呈现为包括多行像素之显示的方法和系统

Country Status (10)

Country Link
US (2) US6781600B2 (zh)
EP (2) EP1528510B1 (zh)
JP (1) JP5106735B2 (zh)
CN (1) CN1241150C (zh)
AT (1) ATE286285T1 (zh)
AU (1) AU2001254915A1 (zh)
DE (1) DE60108093T2 (zh)
ES (1) ES2236219T3 (zh)
HK (1) HK1057121A1 (zh)
WO (1) WO2001080183A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102473287A (zh) * 2009-07-17 2012-05-23 三星电子株式会社 用于处理图像的方法和设备
CN103853449A (zh) * 2012-11-28 2014-06-11 柯尼卡美能达株式会社 数据处理装置及内容显示方法
CN106651807A (zh) * 2016-12-29 2017-05-10 上海天马有机发光显示技术有限公司 一种图像处理系统、显示设备及图像处理方法
CN107492139A (zh) * 2017-08-25 2017-12-19 网易(杭州)网络有限公司 泛光信息的处理方法、装置、存储介质、处理器及终端
CN107730467A (zh) * 2017-10-16 2018-02-23 芯颖科技有限公司 显示方法、装置、设备及存储介质
CN107782222A (zh) * 2016-08-26 2018-03-09 株式会社三丰 坐标校正方法和坐标测定装置
CN107943479A (zh) * 2017-12-12 2018-04-20 网易(杭州)网络有限公司 图形用户界面中物理边界的定义方法、装置和设备
CN109716355A (zh) * 2016-09-07 2019-05-03 马尔文帕纳科公司 微粒边界识别

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7210099B2 (en) * 2000-06-12 2007-04-24 Softview Llc Resolution independent vector display of internet content
GB0105561D0 (en) * 2001-03-07 2001-04-25 Segmentis Ltd Improvements in and relating to image signal processing and printing of picture therefrom
JP3576126B2 (ja) * 2001-07-30 2004-10-13 株式会社ナムコ 画像生成システム、プログラム及び情報記憶媒体
GB0124630D0 (en) * 2001-10-13 2001-12-05 Picsel Res Ltd "Systems and methods for generating visual representations of graphical data and digital document processing"
AUPS134202A0 (en) * 2002-03-25 2002-05-09 Canon Kabushiki Kaisha System and method for optimizing halftoning printer performance
US7109997B1 (en) * 2002-06-28 2006-09-19 Microsoft Corporation Systems and methods for direct storage of compressed scan converted data
JP2004120122A (ja) * 2002-09-24 2004-04-15 Sharp Corp 画像処理装置
US7800631B2 (en) 2003-03-18 2010-09-21 Qualcomm Incorporated Triangle rendering using direct evaluation
US7209105B2 (en) * 2003-06-06 2007-04-24 Clairvoyante, Inc System and method for compensating for visual effects upon panels having fixed pattern noise with reduced quantization error
US7420568B1 (en) * 2003-12-17 2008-09-02 Nvidia Corporation System and method for packing data in different formats in a tiled graphics memory
US7277095B2 (en) * 2004-03-16 2007-10-02 Canon Kabushiki Kaisha Method of rendering graphical objects
US20050240818A1 (en) * 2004-04-05 2005-10-27 James Don R Jr System and method for processor diagnostic device with video controller
KR100600350B1 (ko) * 2004-05-15 2006-07-14 삼성에스디아이 주식회사 역다중화 및 이를 구비한 유기 전계발광 표시 장치
US20050264554A1 (en) 2004-05-25 2005-12-01 Deming James L Tile based rendering of smooth points using polygons
US8344410B2 (en) 2004-10-14 2013-01-01 Daktronics, Inc. Flexible pixel element and signal distribution means
US8001455B2 (en) * 2004-10-14 2011-08-16 Daktronics, Inc. Translation table
US7893948B1 (en) 2004-10-14 2011-02-22 Daktronics, Inc. Flexible pixel hardware and method
US7868903B2 (en) 2004-10-14 2011-01-11 Daktronics, Inc. Flexible pixel element fabrication and sealing method
EP1811389A4 (en) * 2004-10-27 2007-12-19 Hewlett Packard Development Co DATA DISTRIBUTION SYSTEM AND METHOD THEREFOR
JP4266939B2 (ja) 2005-02-10 2009-05-27 株式会社ソニー・コンピュータエンタテインメント 描画処理装置および描画データ圧縮方法
US7747946B2 (en) * 2005-04-11 2010-06-29 Microsoft Corporation System and method for adorning shapes with data driven objects
JP2006338507A (ja) * 2005-06-03 2006-12-14 Fujifilm Holdings Corp 処理装置及び処理方法
JP2006338506A (ja) * 2005-06-03 2006-12-14 Fujifilm Holdings Corp コネクタ
US20070067517A1 (en) * 2005-09-22 2007-03-22 Tzu-Jen Kuo Integrated physics engine and related graphics processing system
US8294731B2 (en) 2005-11-15 2012-10-23 Advanced Micro Devices, Inc. Buffer management in vector graphics hardware
US20090009526A1 (en) * 2007-07-03 2009-01-08 Sun Microsystems, Inc. Method and system for rendering a shape
US8407619B2 (en) * 2008-07-30 2013-03-26 Autodesk, Inc. Method and apparatus for selecting and highlighting objects in a client browser
US8218904B2 (en) * 2008-08-27 2012-07-10 Lockheed Martin Corporation Method and system for circular to horizontal transposition of an image
WO2013165687A1 (en) * 2012-04-30 2013-11-07 Dolby Laboratories Licensing Corporation Reference card for scene referred metadata capture
US10019137B2 (en) 2012-05-09 2018-07-10 Qualcomm Incorporated Electronic document display
US10354365B2 (en) * 2016-01-18 2019-07-16 Adavanced Micro Devices, Inc. Hybrid anti-aliasing
US10699374B2 (en) 2017-12-05 2020-06-30 Microsoft Technology Licensing, Llc Lens contribution-based virtual reality display rendering
CN108762832A (zh) * 2018-05-16 2018-11-06 无锡小天鹅股份有限公司 家用电器默认数据设置方法、装置和衣物处理装置
US10650576B1 (en) * 2018-11-12 2020-05-12 Adobe Inc. Snapping experience with clipping masks
US11076151B2 (en) 2019-09-30 2021-07-27 Ati Technologies Ulc Hierarchical histogram calculation with application to palette table derivation
US11915337B2 (en) 2020-03-13 2024-02-27 Advanced Micro Devices, Inc. Single pass downsampler
US11954770B2 (en) 2021-11-12 2024-04-09 Rockwell Collins, Inc. System and method for recreating graphical image using character recognition to reduce storage space
US11748923B2 (en) 2021-11-12 2023-09-05 Rockwell Collins, Inc. System and method for providing more readable font characters in size adjusting avionics charts
US11842429B2 (en) 2021-11-12 2023-12-12 Rockwell Collins, Inc. System and method for machine code subroutine creation and execution with indeterminate addresses
US11887222B2 (en) 2021-11-12 2024-01-30 Rockwell Collins, Inc. Conversion of filled areas to run length encoded vectors
US11854110B2 (en) 2021-11-12 2023-12-26 Rockwell Collins, Inc. System and method for determining geographic information of airport terminal chart and converting graphical image file to hardware directives for display unit
US11915389B2 (en) 2021-11-12 2024-02-27 Rockwell Collins, Inc. System and method for recreating image with repeating patterns of graphical image file to reduce storage space

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5083262A (en) 1986-04-28 1992-01-21 International Business Machines Corporation Language bindings for graphics functions to enable one application program to be used in different processing environments
GB2240016A (en) 1990-01-15 1991-07-17 Philips Electronic Associated Texture memories store data at alternating levels of resolution
US5459823A (en) 1990-07-05 1995-10-17 Canon Kabushiki Kaisha Graphics engine for true colour 2D graphics
JPH04246690A (ja) * 1990-08-29 1992-09-02 Xerox Corp 高品質のイメージを並みの解像度で表示する方法
JPH04262473A (ja) 1990-09-28 1992-09-17 Xerox Corp 多重ステッパーを用いた高速図形画像生成法
US5390320A (en) 1991-01-22 1995-02-14 Grumman Aerospace Corporation Automatically converting structured analysis tool database outputs into an integrated simulation model via transportable standardized metafile
CA2062911A1 (en) 1991-05-17 1992-11-18 Stephen C. Gates Computer graphics system and method for auto-tresselating graphic objects
EP0529121A1 (en) 1991-08-24 1993-03-03 International Business Machines Corporation Graphics display tool
JPH07146931A (ja) * 1993-03-08 1995-06-06 Canon Inf Syst Res Australia Pty Ltd 画像創成方法
GB2278524B (en) * 1993-05-28 1997-12-10 Nihon Unisys Ltd Method and apparatus for rendering visual images employing area calculation and blending of fractional pixel lists for anti-aliasing and transparency
US5528738A (en) * 1993-10-06 1996-06-18 Silicon Graphics, Inc. Method and apparatus for antialiasing raster scanned, polygonal shaped images
US5911066A (en) 1994-02-22 1999-06-08 Microsoft Corporation Data transfer utilizing a single functionally independent data transfer mechanism
JPH07271958A (ja) * 1994-03-31 1995-10-20 Toshiba Corp 画像ファイル装置及び画像ファイルアクセス方法
JPH07282274A (ja) * 1994-04-04 1995-10-27 Mitsubishi Electric Corp グラフィック表示装置
JP3000855B2 (ja) * 1994-07-29 2000-01-17 日本ビクター株式会社 文字図形処理装置及び情報処理装置
AUPM822394A0 (en) * 1994-09-16 1994-10-13 Canon Inc. Object based rendering system
AUPM822194A0 (en) * 1994-09-16 1994-10-13 Canon Inc. Utilisation of scanned images in an image compositing system
US5920323A (en) * 1995-02-09 1999-07-06 Canon Kabushiki Kaisha Diagram processing apparatus and method
US6025853A (en) * 1995-03-24 2000-02-15 3Dlabs Inc. Ltd. Integrated graphics subsystem with message-passing architecture
JP3634447B2 (ja) 1995-07-14 2005-03-30 キヤノン株式会社 画像処理装置及び方法
US5867166A (en) 1995-08-04 1999-02-02 Microsoft Corporation Method and system for generating images using Gsprites
US6008820A (en) * 1995-08-04 1999-12-28 Microsoft Corporation Processor for controlling the display of rendered image layers and method for controlling same
JP3753263B2 (ja) 1995-08-23 2006-03-08 ヒューレット・パッカード・カンパニー 画像を処理する方法
US6173075B1 (en) * 1995-08-30 2001-01-09 Usanimation, Inc. Drawing pixmap to vector conversion
US5910805A (en) 1996-01-11 1999-06-08 Oclc Online Computer Library Center Method for displaying bitmap derived text at a display having limited pixel-to-pixel spacing resolution
WO1997034240A1 (en) 1996-03-15 1997-09-18 University Of Massachusetts Compact tree for storage and retrieval of structured hypermedia documents
KR0172581B1 (ko) 1996-04-02 1999-03-30 이진기 단계적 표현 가능형 폰트 그 변환 방법 및 렌더링 방법
US5754348A (en) 1996-05-14 1998-05-19 Planetweb, Inc. Method for context-preserving magnification of digital image regions
JPH09325748A (ja) * 1996-06-03 1997-12-16 Toshiba Corp 文字パターン形成装置及び文字パターン形成方法
WO1998010356A1 (en) 1996-09-09 1998-03-12 Design Intelligence, Inc. Automatic layout and formatting of content for a design in a medium
AU6155498A (en) 1997-02-10 1998-09-09 Logitech, Inc. Touch pad with scroll bar, command bar
JP3361951B2 (ja) 1997-02-25 2003-01-07 大日本スクリーン製造株式会社 印刷データ処理装置および方法
JP2957511B2 (ja) * 1997-03-28 1999-10-04 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィック処理装置
US5982381A (en) 1997-07-03 1999-11-09 Microsoft Corporation Method and apparatus for modifying a cutout image for compositing
US6417848B1 (en) 1997-08-25 2002-07-09 Ati International Srl Pixel clustering for improved graphics throughput
US6049390A (en) * 1997-11-05 2000-04-11 Barco Graphics Nv Compressed merging of raster images for high speed digital printing
US6034700A (en) 1998-01-23 2000-03-07 Xerox Corporation Efficient run-based anti-aliasing
US6857102B1 (en) 1998-04-07 2005-02-15 Fuji Xerox Co., Ltd. Document re-authoring systems and methods for providing device-independent access to the world wide web
AU5688199A (en) 1998-08-20 2000-03-14 Raycer, Inc. System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline
AU743218B2 (en) * 1998-09-11 2002-01-24 Canon Kabushiki Kaisha Fast renering techniques for rasterised graphic object based images
US6336124B1 (en) * 1998-10-01 2002-01-01 Bcl Computers, Inc. Conversion data representing a document to other formats for manipulation and display
US6125391A (en) * 1998-10-16 2000-09-26 Commerce One, Inc. Market makers using documents for commerce in trading partner networks
US6570579B1 (en) * 1998-11-09 2003-05-27 Broadcom Corporation Graphics display system
US6480201B1 (en) * 1999-08-24 2002-11-12 Microsoft Corporation Alpha regions

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102473287A (zh) * 2009-07-17 2012-05-23 三星电子株式会社 用于处理图像的方法和设备
US8934025B2 (en) 2009-07-17 2015-01-13 Samsung Electronics Co., Ltd. Method and apparatus for processing image
CN103853449A (zh) * 2012-11-28 2014-06-11 柯尼卡美能达株式会社 数据处理装置及内容显示方法
CN103853449B (zh) * 2012-11-28 2017-05-10 柯尼卡美能达株式会社 数据处理装置及内容显示方法
CN107782222A (zh) * 2016-08-26 2018-03-09 株式会社三丰 坐标校正方法和坐标测定装置
CN109716355A (zh) * 2016-09-07 2019-05-03 马尔文帕纳科公司 微粒边界识别
CN109716355B (zh) * 2016-09-07 2023-12-26 马尔文帕纳科公司 微粒边界识别
CN106651807A (zh) * 2016-12-29 2017-05-10 上海天马有机发光显示技术有限公司 一种图像处理系统、显示设备及图像处理方法
CN106651807B (zh) * 2016-12-29 2020-03-10 上海天马有机发光显示技术有限公司 一种图像处理系统、显示设备及图像处理方法
CN107492139A (zh) * 2017-08-25 2017-12-19 网易(杭州)网络有限公司 泛光信息的处理方法、装置、存储介质、处理器及终端
CN107730467A (zh) * 2017-10-16 2018-02-23 芯颖科技有限公司 显示方法、装置、设备及存储介质
CN107943479A (zh) * 2017-12-12 2018-04-20 网易(杭州)网络有限公司 图形用户界面中物理边界的定义方法、装置和设备

Also Published As

Publication number Publication date
DE60108093D1 (de) 2005-02-03
ES2236219T3 (es) 2005-07-16
EP1272977A1 (en) 2003-01-08
CN1241150C (zh) 2006-02-08
HK1057121A1 (en) 2004-03-12
EP1528510B1 (en) 2017-01-18
US6781600B2 (en) 2004-08-24
EP1528510A3 (en) 2012-03-07
EP1528510A2 (en) 2005-05-04
AU2001254915A1 (en) 2001-10-30
DE60108093T2 (de) 2006-01-12
EP1272977B8 (en) 2005-08-10
US7009624B2 (en) 2006-03-07
JP5106735B2 (ja) 2012-12-26
ATE286285T1 (de) 2005-01-15
WO2001080183A1 (en) 2001-10-25
US20050030321A1 (en) 2005-02-10
JP2003531446A (ja) 2003-10-21
EP1272977B1 (en) 2004-12-29
US20010030655A1 (en) 2001-10-18
WO2001080183A8 (en) 2004-12-23

Similar Documents

Publication Publication Date Title
CN1241150C (zh) 用于将图像呈现为包括多行像素之显示的方法和系统
KR100748802B1 (ko) 이미지를 랜더링하기 위한 방법, 그래픽 객체들을 처리하기 위한 시스템 및 컴퓨터 프로그램 저장 매체
JP3462211B2 (ja) 多態グラフィック・デバイス
CA2221752C (en) Method and apparatus for reducing storage requirements for display data
AU2005201019B2 (en) A method of rendering graphical objects
CN100545831C (zh) 一种透明页面的光栅化处理方法及装置
JP2010165357A (ja) グラフィックスを処理する方法およびそのための装置
AU2003203331A1 (en) Mixed raster content files
CN101702309A (zh) 用于绘制组合字形的区域的方法
US5287442A (en) Serpentine rendering of antialiased vectors in a computer graphics system
CN113393555B (zh) 一种基于着色器的屏幕填充率统计方法及其系统
CN100377179C (zh) 形状处理器
CN1300647C (zh) 图像形成设备
CN112256228A (zh) 一种点阵字符显示的优化方法
CN111338627B (zh) 前端网页主题颜色调节方法及装置
CN113971702A (zh) 一种图片压缩方法、解压缩方法以及电子设备
CN113850051A (zh) 一种字体贴图的动态生成方法、装置、及可读存储介质
CN117201832A (zh) 一种透明动画特效视频的处理方法、装置以及设备
WO2018224152A1 (en) Devices and methods for displaying characters
AU2005203541A1 (en) Multiple image consolidation in a printing system
KR20060033563A (ko) 디더링을 이용한 휴대 단말기의 영상 표시 방법
AU2004240230A1 (en) Caching and optimisation of compositing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SAMSUNG ELECTRONICS CO., LTD

Free format text: FORMER OWNER: PICSEL RES. LTD.

Effective date: 20091211

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20091211

Address after: Gyeonggi Do, South Korea

Patentee after: Samsung Electronics Co., Ltd.

Address before: British Glasgow

Patentee before: Picsel Res Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060208

Termination date: 20180417

CF01 Termination of patent right due to non-payment of annual fee