CN101356495B - 矢量图形硬件中的缓冲器管理 - Google Patents

矢量图形硬件中的缓冲器管理 Download PDF

Info

Publication number
CN101356495B
CN101356495B CN2006800506089A CN200680050608A CN101356495B CN 101356495 B CN101356495 B CN 101356495B CN 2006800506089 A CN2006800506089 A CN 2006800506089A CN 200680050608 A CN200680050608 A CN 200680050608A CN 101356495 B CN101356495 B CN 101356495B
Authority
CN
China
Prior art keywords
value
counter
internal buffer
pixel
indicator bit
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.)
Active
Application number
CN2006800506089A
Other languages
English (en)
Other versions
CN101356495A (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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN101356495A publication Critical patent/CN101356495A/zh
Application granted granted Critical
Publication of CN101356495B publication Critical patent/CN101356495B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Image Input (AREA)

Abstract

一种用于处理器中的图形处理器或图形块,包括类型缓冲器,该类型缓冲器用于确定当前处理的像素是否需要进一步的处理。每个像素具有若干子像素,并且每条子像素线包括至少一个存储于边缓冲器中的计数器。可以使用能够存储有限范围内的边缓冲器值的有限边缓冲器。每个缓冲器可以包括与整个屏幕或者其部分相关的信息。所述边缓冲器还可以为外部缓冲器或者内部缓冲器,并且当被实施为处于内部时,所述图形处理器或者图形块不需要使用双向总线。

Description

矢量图形硬件中的缓冲器管理
技术领域
本发明总体涉及缓冲器管理,并且尤其涉及矢量图形硬件中的缓冲器管理。
背景技术
近年来,矢量图形系统和算法得到了开发以实现鲁棒和精确的可视化,并且已经被使用在软件需求应用中,例如在计算机辅助设计、图形应用等中。使用矢量图形的好处包括在没有图形损失的情况下的可量测性。画面或者平面图中的矢量典型地包括起点、方向、和长度或者终点。因此,相比于通过其它方法必须表示线条的每一个像素,通过使用矢量图形,可以用减少的信息来描绘线条。此外,矢量并非必须是直线,还可以使用曲线等等,并且包括例如用于限定曲线的附加信息。在执行对应的图形应用期间所使用的对应格式、用于存储对应的图形信息的文件格式、所使用的矢量图形的基本原理(fundamental)和对应的软件应用等均是公知的且将不会在此进行详细描述。
另外,已经开发了一些图形标准,例如Khronos工作组2005年7月28日开发的OpenVG 1.0标准,其作为参考而结合于此,并且所述图形标准包括用于硬件加速的二维矢量和光栅图形应用的应用程序编程接口(API)。所述标准在允许设备制造商对设备(手表、全部基于微处理器的桌面系统、乃至服务器机器等等)提供硬件加速的同时,还为复杂的二维图形应用提供了设备独立且厂商中立的接口。
所述标准为一系列的功能提供了接口,所述功能可以通过硬件和/或软件驱动器来实施,用于光栅化、多边形填充等。在所述标准中,实施两个不同的填充规则,即非零规则和奇/偶规则,并且所述两个规则在标准的72页描述。此类填充技术的基本原理使用了这样的事实:多边形的每个边(edge)都具有方向,这样当填充处理到达左边时,填充处理检测边是向上还是向下,如果边向上,则增大计数器;而如果边向下,则减小计数器。针对屏幕上每个像素的计数器的值都被存储在缓冲器中。然而,所述像素被进一步划分为子像素,其中,必须针对每个子像素的每条线存储计数器值,需要甚至更大的缓冲器。
上述技术提出了紧凑型硬件实施等等问题,并且可能会由于例如制造考虑、成本考虑等等而限制缓冲器大小。例如,如果移动设备具有176×208像素的显示分辨率,且每个像素被划分为16×16个子像素,而且针对每条线使用一个8比特计数器,则需要585728字节的缓冲器。然而,将该大小的缓冲器整合到所述移动设备的图形硬件加速器上是不切实际的。此外,例如由于制造工艺中的公共发展(common evolvement)、对更大图形分辨率的需求等等,仅仅向图形硬件加速器添加更大的存储空间也是不切实际的。
一种解决方案就是使用设备的主存储器来实现上述缓冲器。然而,这样的解决方案会导致增加图形加速器和主存储器之间的有限带宽总线上的通信量。
发明内容
因此,存在降低主存储器和图形加速器之间的总线上的通信量的需要。上述和其它问题将通过本发明的示例性实施例而得到解决,本发明提供了示例性的硬件实施的矢量图形解决方案。可以在多种图形应用中使用所述示例性实施例,所述图形应用包括:计算机图形应用等等,并且特别是手持设备应用、低计算性能的设备应用、存储空间有限的设备应用等。
因此,在本发明的示例性实施例中,提供了用于处理矢量图形基元(primitive)等的图形处理器、图形处理单元、用于图形处理器的功能块、图形设备等。示例性实施例可以包括用于存储值的计数器,所述值表示针对每个子像素采样点的填充规则(filling rule)的当前状态。计数器值存储在存储器中,该存储器可以是所述图形处理器的内部存储器或者外部存储器,例如,设备中的传统的存储器。所述示例性实施例可以进一步包括用于接收指令和基元的总线。如果所述存储器是内部存储器,则所述总线是单向的,而如果所述存储器是外部的,则所述总线是双向的,以发送请求到所述存储器。相应地,存储器用于存储每个计数器的值。
所述示例性实施例可以进一步包括第一内部缓冲器,该缓冲器设置为存储针对每个像素的至少一个指示器比特值。典型地,所述内部缓冲器具有长度为一或者二比特的值。然而,可以根据需要使用不同的比特长度。所述示例性实施例可以进一步包括确定逻辑电路,该确定逻辑电路用于基于所述指示器比特值确定是否从存储器检索计数器值。第一缓冲器的指示器比特包括用于表示计数器的值没有变化的值。此外,所述第一缓冲器的指示器比特包括用于表示必须从存储器检索计数器的值的值,如上所述,所述存储器依赖于给定的实施而可以为内部的或者外部的。
所述示例性实施例可以包括第二内部缓冲器,该缓冲器设置为存储每个计数器的有限值(limited value),并且所述确定逻辑电路可以进一步设置为确定是否从第二缓冲器检索计数器值。所述第一缓冲器的指示器比特可以进一步包括用于表示第二缓冲器的范围的值,从该范围能够检索每个计数器的有限值。
在示例性实施例中,可以以区块来处理多边形,其中,有利的是,不需要为整个屏幕分配使用的内部存储器,而只为其部分进行分配即可。区块大小可以为,例如,32×32个像素。硬件领域的那些技术人员可以理解,在更进一步的实施例中,可以依赖于给定的实施来选择该大小,并且可以针对所述内部存储器、内部缓冲器等使用多种其它的硬件构架。
有利的是,可以通过使用图形处理器中的内部存储器而利用所述示例性实施例来减小图形加速器和外部主存储器之间的总线中的通信量,并且所述内部存储器快于位于所述总线以上的外部主存储器。有利的是,由于示例性实施例在图形处理器内部的第一或第二缓冲器中包含了计数器信息,所以不需要针对每个像素而对主存进行寻址,从而产生了一个能够比传统方法更有利且更快的解决上述问题的解决方案。此外,有利的是,通过所述示例性实施例,可以在尺寸上减小所述第一缓冲器和第二缓冲器,允许将其一体化到图形处理器中,从而实现了制造成本的最小化。
通过示例若干示例性实施例和实施情况(包括用于执行本发明的预期最佳模式),从下面的详细描述中可以很容易看出本发明的其它方面、特征和优点。本发明还允许其它的不同实施例,并且可以在不背离本发明的精神和范围的情况下在多个方面修改其数个细节。因此,附图和说明均视为实际上是示例性的,而非限制性的。
附图说明
在附图的图示中,通过示例性而非限定性的方式来示例本发明的实施例,并且在附图中,相同的参考数字表示相似的元件,并且其中:
图1示例了根据本发明的示例性图形设备;以及
图2示例了根据本发明的更进一步的示例性图形设备。
具体实施方式
现在参考附图,其中相同的参考数字代表遍及多个视图中的相同或者相对应的部分,并且更具体地是参考附图的图1和2,示例了根据示例性实施例的示例性图形设备。硬件领域的那些技术人员应该可以理解,示例性实施例中所使用的比特值和数据类型长度仅是为示例性的目的,并且在更进一步的实施例中可以例如根据对应图形模块的整体设计等等来进行选择。在示例性实施例中,示例性图形模块可以为图形处理器单元的部分,其可以是图形卡等的部分。在更进一步的示例性实施例中,例如,在嵌入式系统应用等中,所述图形处理器单元可以包括用于产生图形等的更进一步的功能元件(functionality)。从而,根据更进一步示例性实施例的图形处理器单元可以包括除示例性实施例的功能元件之外的更进一步的功能元件。
在图1中,示例性图形设备10可以包括:例如,移动电话、视频图形卡等等,并且从而,可以包括更进一步的组件,该组件不必是针对示例性实施例进行描述的,但它可用于给定应用。示例性实施例可在例如图形处理器单元11等中进行实施,并且其可以包括其它功能元件15,该功能元件不必是针对示例性实施例进行描述的,但它可以配置为用于给定应用。所述示例性实施例可以经由逻辑电路12(例如,配置为确定是否检索和基于指示器比特值而从存储器检索计数器值)、以及内部缓冲器13和14而被实施。此外,如图1所示,可以使用经由总线17连接的外部存储器16。然而,例如,如果在图形处理器的内部存储器中实施示例性实施例,则不必使用外部存储器16。如果使用外部存储器16,则如图1所示,可以提供双向总线17。否则,可以使用单向总线。另外,如果需要,图形处理器单元11中的其它组件可以使用双向总线或者单向总线。
所述示例性实施例基于示例性构架,该构架可以包括三个不同的存储区,该三个存储区被用来存储用于产生图形图像的信息。被称为边缓冲器25的第一存储区,可以包括先前所描述的填充操作的完整的信息。每个像素包括子像素,该子像素典型地具有位于子像素线上的采样点。从而,所分配的存储空间取决于针对每个对应参数所选择的分辨率。例如,针对对于现有的移动电话应用等中很普通的176×208像素的实际屏幕分辨率,每个像素被划分为16×16子像素,且每个子像素线使用对应的8比特计数器,导致针对对应计数器的585728字节的存储空间分配。所述计数器被用在上述填充技术中,并且其被使用是因为完整的信息不可用。能够作为内部或外部存储器配置对应的585728字节的存储空间。然而,例如,由于制造成本等等,作为内部存储器制造这样的存储器可能不太可能,并且在此情况下,如图1所示,可以使用外部存储器,并且在需要时可以通过双向总线来访问该外部存储器以请求每个计数器值的数值。
根据示例性实施例的两个其它存储器包括内部缓冲器13和14,其中例如,当每个像素或者子像素的填充规则没有变化时,第一内部缓冲器13可以被配置为类型缓冲器(type buffer)23,以及第二内部缓冲器14可以被配置为有限边缓冲器(limited edge buffer)24。从而,通过示例性实施例,可以有利地避免或者最小化向外部存储器的请求等。
在示例性实施例中,第一内部缓冲器13可以配置为具有每个像素2比特的分辨率。因此所使用的对应的存储空间分配为176×208/4字节,其等于9152字节并且显著小于实施完整边缓冲器25所需要的存储空间。针对类型缓冲器23的示例性的值可以包括并且表示,例如:
00=无信息
01=有限边缓冲器,范围-1..2
10=有限边缓冲器,范围-2..1
11=外部存储器中的边缓冲器
所述示例性的值表示可以从何处检索每个像素的填充信息。例如,值00可以表示不存在针对当前像素的可用信息,这意味着当前像素上的填充规则的状态没有变。从而,由于所有的计数器具有与前面的像素相同的值,所以不需要执行更进一步的处理。值01和10可以用于表示信息存储在第二内部缓冲器14中,该第二内部缓冲器14可以为有限边缓冲器24。对应范围的意义将在下面针对第二内部缓冲器14进行进一步的描述。值11表示计数器值不能存储在有限边缓冲器24中,而是应该从完整边缓冲器25中获取。根据所述示例性实施例,首先处理第一内部缓冲器13。因此,为了清理缓冲器,第一内部缓冲器13中的每个值都可以设定为00。在计算边信息时,可以修改第一内部缓冲器13,例如,仅当信息要存储到其它缓冲器中时。从而,当所述类型缓冲器23的值设定为00时,存储在其它缓冲器内的过期信息不可被访问。
由于针对子像素的每条线指定了计数器,第二内部缓冲器14包括更多信息,因为每个像素存在16个计数器。在示例性实施例中,第二内部缓冲器14中的信息还具有两个比特的长度,但该信息被指定给每个子像素采样点。从而,对于使用16×16分辨率的实施而言,每个像素具有32比特的信息。有利的是,可以用单个双字来覆盖32比特的长度。然而,在更进一步的示例性实施例中,硬件领域的技术人员可以理解,可以使用例如取决于给定应用的任何合适的长度。在当前范例中,第二内部缓冲器14使用146432字节,并且其显著小于完整信息所需要的字节量。
对于示例性实施例,由于可以针对值01和10使用2个比特的信息,从而可以描绘4个不同的数字。另外,由于信息可以被指定,所以值01和10的可能情况可以分别包括-1..+2以及-2..+1。这样的范围的选择可表示在类型缓冲器23中,其中在多数情况下,这样的范围对于覆盖一个像素中的变化是足够的,有利的是,减少了对完整边缓冲器25的访问。在示例性实施例中,所述范围可以针对不同的像素而不同,但可以在一个像素中应用单个范围。从而,如果所有范围都不合意,则类型缓冲器23可以设定为这样的值,该值表示可以从完整边缓冲器25检索计数器值。
根据所述示例性实施例,数据长度可以依赖于给定应用而变化。然而,如果作为第一内部缓冲器12的类型缓冲器23具有一个比特的数据长度,则这样的实施不需要使用第二内部缓冲器14。在该情况下,类型缓冲器23仅需要表示是否必须从存储在外部存储器16中的边缓冲器检索计数器值。这样的实施是可能的,但不像上述实施例的实施那样有效。然而,例如,如果不能提供足够的内部存储空间,这样的实施可能被使用并且可能是期望的。另外,针对1比特类型缓冲器23实施的存储空间需求是2比特实施的存储空间需求的一半。
在图2中,示例性图形设备20可以包括图形处理单元21。在示例性实施例中,可以以区块(tile)来处理屏幕,其中,有利的是,不需要针对整个屏幕分辨率来分配对应的存储空间和内部缓冲器。如果存储器是外部存储器,能够针对整个屏幕分配它。有利的是,通过区块式实施,由于减小了对存储器大小的需求,对应的存储器可以为内部存储器。这样的内部存储器可用于针对整个区块存储完整边缓冲器25。例如,如果使用32×32像素区块,可以针对完整边缓冲器25使用16384字节。如果作为第一内部缓冲器13的类型缓冲器23具有2个比特的值,则可以针对该类型缓冲器23使用256字节。如果使用作为第二内部缓冲器14的有限边缓冲器24并且该缓冲器24针对每个子像素线具有2个比特的值,则可以针对该有限边缓冲器24使用4096个字节。如果不使用有限边缓冲器24并且所述类型缓冲器具有1个比特的值,则类型缓冲器23仅需要使用128个字节。有利的是,可以通过选择区块大小来调整所使用的存储器,而不会损失缓冲器中的值的分辨率。当类型缓冲器23、边缓冲器25、以及可能地有限边缓冲器24被存储在图形处理单元21内部时,总线27可以配置为单向总线。该总线27可以配置为从诸如CPU、主存储器等的其它组件28接收指令和数据。逻辑电路22和其它功能元件26可以如图1的示例性实施例中那样运行。除了区块之外,硬件领域的那些技术人员可以理解,在更进一步的实施例中,屏幕可以被划分成多个部分,或者以通过扫描线等的其它方式来处理。
虽然根据作为图形处理器单元的部分的实施描述了示例性实施例,但硬件领域的那些技术人员可以理解,示例性实施例可以作为包括在任何合适的处理器单元等中的图形块来实施。示例性实施例的新颖方面包括逻辑电路22、类型缓冲器23、以及边缓冲器25,但还可以包括有限边缓冲器24等。例如诸如总线27等的剩余组件可以依赖于给定的主处理器的需要。有利的是,示例性实施例不必使用双向总线,即使在通用处理器、图形处理器等中总线典型地是双向的。
在区块式示例性实施例中,处理器单元或者图形块21可以配置为逐个区块地来处理屏幕。在处理一个区块之后,该区块不需要被进一步使用并且可以被丢弃。有利的是,可以通过清理类型缓冲器23来重新使用各个区块存储器。因为只有与当前处理的区块相关的数据是已知的,在示例性实施例中,可以采用合适的规则,例如用于控制与相邻区块相关的信息等。例如,在典型的画面处理中,从左到右进行操作,当前处理的区块可以使用来自左边相邻的区块的信息,并且可以将信息传递给右边相邻的区块。
在示例性实施例中,完整图像的处理可以开始于左边。因此,需要处理的第一种情况为其中多边形未全部处于视野中而是部分位于左侧之外的情形。在该情形中,超出左边界的边部分被推动到左边界。如果整个边都在最左区块的外侧,则可以将整个边推动到该区块的左边界。当边被推动到左边界时,可以改变每个计数器以产生正确呈现在多边形的可视部分中的图形。在没有这样的推动的情况下,某些计数器可能不发生改变并且这可能导致这样的情形:其中部分像素可能被认为是在该多边形之内,而另外的部分像素可能被认为是在该多边形之外。由于填充规则的累积地工作,可能需要知道当前处理的计数器值之前的同一水平线中的所有计数器值。从而,可以在左边界中计算图像之外的值。可以以类似的方式计算最左边界,即使没有采用区块式实施例。
硬件领域的那些技术人员可以理解,当处理完第一区块时,可以以多种不同的方式将影响第二区块的数据发送到第二区块。例如,可以使用计数器来将子像素计数器的值传递给下一个区块。然而,如果边穿过子像素以致未将该边考虑在像素之内,则如果未考虑这点,下一个像素中的结果将不正确。从而,当区块不是最左区块时,仍可以计算当前处理的区块的左边的一个像素的边。在该情况下,与最左区块一样,在左边界上边未推动。
类似地,对应的信息被传送给下一个区块,直到到达最右区块为止。在最右区块中,如上所述,需要从前一个区块接收信息。然而,由于边的其余部分位于视野之外,这样的信息不需要被进一步地传送。当处理完最右区块时,视图移动到下一个区块线,并且如上所述那样起始于最左区块。可以重复此处理直到处理完最后一条区块线的最右区块为止。在该阶段,当前多边形可视为已处理,并且可以针对下一个多边形重复上述处理,直到所有的多边形都被处理完。
硬件领域的那些技术人员可以理解,示例性实施例可以从边馈送组件接收边,所述边馈送组件被配置为发送碰到屏幕或者区块的所有边。另外,硬件领域的那些技术人员可以理解,在最左区块或完整屏幕的实施的情况下,也可以发送当前区块的左边的边。
示例性实施例可以包括在任何合适的设备中,所述设备例如包括任何合适的服务器、工作站、PC、笔记本电脑、PDA、因特网工具、手持设备、蜂窝电话、无线设备、其它设备等,所述任何合适的设备能够执行示例性实施例的处理,并且可以经由一个或者多个接口机制进行通信,所述接口机制包括,例如,因特网接入、任何合适形式的无线电通信(例如,语音、调制解调器等)、无线通信媒介、一个或者多个无线通信网络、蜂窝通信网络、G3通信网络、公共交换电话网络(PSTN)、分组数据网络(PDN)、因特网、内联网、或其组合等。
如硬件领域的那些技术人员而言可以理解的,应当理解,示例性实施例是出于示例的目的,因为用于实施示例性实施例的特定硬件的各种变化都是可能的。例如,可以经由一个或者多个硬件设备来实施示例性实施例的一个或者多个组件的功能元件。
示例性实施例可以存储与于此描述的多种处理相关的信息。此信息可以存储在一个或者多个存储器中,例如硬盘、光盘、磁光盘、RAM等等。一个或者多个数据库可以存储用于实施本发明的示例性实施例的信息。可以通过使用包括在于此列出的一个或者多个存储器或者存储设备中的数据结构(例如,记录、表、队列、域、图表、树、列表、等等)来组织数据库。根据示例性实施例所描述的处理可以包括合适的数据结构,用于将所收集的和/或由示例性实施例的设备和子系统的处理所生成的数据存储在一个或者多个数据库中。
电学领域的那些技术人员可以理解,可以通过预备专用集成电路或者通过互联传统组件电路的合适网络来实施所述示例性实施例的全部或者部分。
如上所述,示例性实施例的组件可以包括计算机可读介质或者根据本发明教示的存储器,并且用于保存数据结构、表、记录和/或于此描述的其它数据。计算机可读介质可以包括任何适合的介质,该介质参与提供指令到处理器以进行执行。这样的介质可以采取多种形式,包括但不限于:非易失性媒介、易失性媒介、传输媒介等等。非易失性媒介可以包括:例如,光盘或磁盘、磁光盘等等。易失性媒介可以包括动态存储器等等。传输媒介可以包括同轴电缆、铜电线、光纤等等。传输媒介还可以采用声、光、电磁波等形式,例如在射频(RF)通信、红外(IR)数据通信等期间所产生的那些。计算机可读媒介的常用形式可以包括:例如,软盘、柔性盘、硬盘、磁带、任何其它合适的磁性介质、CR-ROM、CDRW、DVD、任何其它合适的光介质、穿孔卡片、纸带、光学标记片(optical mark sheet)、任何其它合适的具有模式孔或者其它光学可识别的标志的物理媒介、RAM、PROM、EPROM、FLASH-EPROM、任何其它合适的存储芯片或单元存储器、载波或计算机可从中进行读取的任何其它合适的介质。
虽然已经结合若干示例性实施例和实施而描述了本发明,但本发明并不限于此,而是覆盖了落入预期权利要求书的范围的各种更动和等同设置。

Claims (21)

1.一种用于处理矢量图形基元的装置,所述装置包括:
处理器单元,所述处理器单元包括:
若干个计数器,配置为存储表示针对像素的每个子像素采样点的填充规则的当前状态的值;
第一内部缓冲器,配置为存储每个像素的至少一个指示器比特值;其中所述至少一个指示器比特指示所述填充规则的状态是否改变;以及
确定逻辑电路,配置为确定是否检索以及基于所述指示器比特值从外部存储器检索计数器值;
所述装置还包括总线,所述总线操作地耦合到所述处理器单元和所述外部存储器。
2.如权利要求1所述的装置,进一步包括:
第二内部缓冲器,配置为存储所述若干个计数器中的每个计数器的有限值,
其中,所述确定逻辑电路进一步配置为确定是否从所述第二内部缓冲器检索所述有限计数器值。
3.如权利要求2所述的装置,其中,所述第一内部缓冲器的所述指示器比特包括用于表示所述计数器的值没有改变的值。
4.如权利要求2所述的装置,其中,所述第一内部缓冲器的所述指示器比特包括用于表示所述第二内部缓冲器的范围的值,其中从所述范围检索每个计数器的所述有限值。
5.如权利要求1所述的装置,还包括配置为存储要处理的每个像素的计数器值的外部存储器,并且所述总线为配置为从所述外部存储器检索计数器值的双向总线。
6.一种用于处理矢量图形基元的装置,所述装置包括:
处理器单元,所述处理器单元包括:
若干个计数器,配置为存储表示针对像素的每个子像素采样点的填充规则的当前状态的值;
第一内部缓冲器,配置为存储每个像素的至少一个指示器比特值;其中,所述至少一个指示器比特指示所述填充规则的状态是否改变;
第二内部缓冲器,配置为存储每个计数器的有限计数器值;以及
确定逻辑电路,配置为确定是否检索以及基于所述指示器比特值从所述第二内部缓冲器检索计数器值;
所述装置还包括单向总线,所述单向总线操作地耦合到所述处理器单元,所述处理器单元通过所述单向总线接收指令和数据。
7.如权利要求1所述的装置,还包括配置为存储具有计数器的每个子像素的完整计数器值的外部存储器。
8.如权利要求7所述的装置,其中,所述第二内部缓冲器配置为存储所述完整计数器值的一部分。
9.如权利要求8所述的装置,其中,所述部分为扫描线。
10.如权利要求8所述的装置,其中,所述部分为区块。
11.一种图形处理设备,该设备包括:
显示器;
外部存储器;
处理单元,操作地耦合到所述外部存储器,用于处理矢量图形基元,并且包括:
若干个计数器,配置为存储表示针对像素的每个子像素采样点的填充规则的当前状态的值,
第一内部缓冲器,配置为存储每个像素的至少一个指示器比特值,其中,所述至少一个指示器比特指示所述填充规则的状态是否改变;
确定逻辑电路,配置为确定是否检索以及基于所述指示器比特值从外部存储器检索计数器值;以及
所述图形处理设备还包括总线,所述总线操作地耦合到所述处理器单元和所述外部存储器。
12.如权利要求11所述的设备,其中,所述处理单元进一步包括:
第二内部缓冲器,配置为存储所述若干个计数器中的每个计数器的有限值,
其中,所述确定逻辑电路进一步配置为确定是否从所述第二内部缓冲器检索所述有限计数器值。
13.如权利要求12所述的设备,其中,所述第一内部缓冲器的所述指示器比特包括用于表示所述计数器的值没有改变的值。
14.根据权利要求12所述的设备,其中,所述第一内部缓冲器的所述指示器比特包括用于表示必须从所述外部存储器检索所述计数器的值的值。
15.根据权利要求12所述的设备,其中,所述第一内部缓冲器的所述指示器比特包括用于表示所述第二内部缓冲器的范围的值,其中从所述范围检索每个计数器的所述有限值。
16.如权利要求11所述的设备,其中,所述外部存储器配置为存储要处理的每个像素的计数器值,并且所述总线为配置为从所述外部存储器检索计数器值的双向总线。
17.一种图形处理设备,该设备包括:
显示器;
处理单元,用于处理矢量图形基元,包括:
若干个计数器,配置为存储表示针对像素的每个子像素采样点的填充规则的当前状态的值,
第一内部缓冲器,配置为存储每个像素的至少一个指示器比特值,其中,所述至少一个指示器比特指示所述填充规则的状态是否改变;
第二内部缓冲器,配置为存储每个计数器的有限计数器值;
确定逻辑电路,配置为确定是否检索以及基于所述指示器比特值从所述第二内部缓冲器检索所述计数器值;以及
所述图形处理设备还包括单向总线,所述单向总线操作地耦合到所述处理器单元,所述处理器单元通过所述单向总线接收指令和数据。
18.如权利要求11所述的设备,还包括配置为存储具有计数器的每个子像素的完整计数器值的外部存储器。
19.如权利要求18所述的设备,其中,所述第二内部缓冲器设置为存储所述完整计数器值的一部分。
20.如权利要求19所述的设备,其中,所述部分为扫描线。
21.如权利要求19所述的设备,其中,所述部分为区块。
CN2006800506089A 2005-11-15 2006-11-15 矢量图形硬件中的缓冲器管理 Active CN101356495B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/272,867 US8294731B2 (en) 2005-11-15 2005-11-15 Buffer management in vector graphics hardware
US11/272,867 2005-11-15
PCT/FI2006/000376 WO2007057507A2 (en) 2005-11-15 2006-11-15 Buffer management in vector graphics hardware

Publications (2)

Publication Number Publication Date
CN101356495A CN101356495A (zh) 2009-01-28
CN101356495B true CN101356495B (zh) 2012-06-20

Family

ID=38040311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800506089A Active CN101356495B (zh) 2005-11-15 2006-11-15 矢量图形硬件中的缓冲器管理

Country Status (5)

Country Link
US (2) US8294731B2 (zh)
EP (1) EP1958051B1 (zh)
JP (1) JP4854746B2 (zh)
CN (1) CN101356495B (zh)
WO (1) WO2007057507A2 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100948510B1 (ko) * 2008-04-21 2010-03-23 주식회사 코아로직 하드웨어 방식의 벡터 그래픽 가속기, 그 가속기를 포함한어플리케이션 프로세서 및 단말기, 및 그 프로세서에서그래픽 가속방법
US8373709B2 (en) 2008-10-03 2013-02-12 Ati Technologies Ulc Multi-processor architecture and method
US8892804B2 (en) * 2008-10-03 2014-11-18 Advanced Micro Devices, Inc. Internal BUS bridge architecture and method in multi-processor systems
US8884957B2 (en) * 2009-09-09 2014-11-11 Advanced Micro Devices, Inc. Tessellation engine and applications thereof
KR101824665B1 (ko) * 2010-07-19 2018-02-01 어드밴스드 마이크로 디바이시즈, 인코포레이티드 안티-앨리어싱된 샘플들의 분할 저장

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317525B1 (en) * 1998-02-20 2001-11-13 Ati Technologies, Inc. Method and apparatus for full scene anti-aliasing
US6614444B1 (en) * 1998-08-20 2003-09-02 Apple Computer, Inc. Apparatus and method for fragment operations in a 3D-graphics pipeline
CN1653487A (zh) * 2002-05-10 2005-08-10 比特波伊斯有限责任公司 具有边绘制单元的图形引擎以及合并有该图形引擎的电子装置及存储器

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4918626A (en) * 1987-12-09 1990-04-17 Evans & Sutherland Computer Corp. Computer graphics priority system with antialiasing
JP2676116B2 (ja) * 1990-09-18 1997-11-12 大日本スクリーン製造株式会社 画像データ処理方法および装置
JP2902799B2 (ja) * 1991-03-12 1999-06-07 東芝テック株式会社 図形のクリッピング方法
EP0574111B1 (en) * 1992-04-24 1997-10-01 Sony United Kingdom Limited Lighting effects for digital video effects system
US5438656A (en) 1993-06-01 1995-08-01 Ductus, Inc. Raster shape synthesis by direct multi-level filling
KR100295712B1 (ko) * 1994-03-11 2001-11-14 미다라이 후지오 컴퓨터디스플레이시스템컨트롤러
US5940088A (en) * 1995-07-12 1999-08-17 Monolithic System Technology, Inc. Method and structure for data traffic reduction for display refresh
US5929862A (en) * 1996-08-05 1999-07-27 Hewlett-Packard Co. Antialiasing system and method that minimize memory requirements and memory accesses by storing a reduced set of subsample information
US6141020A (en) * 1997-11-12 2000-10-31 S3 Incorporated Opposing directional fill calculators in a graphics processor
US6828985B1 (en) * 1998-09-11 2004-12-07 Canon Kabushiki Kaisha Fast rendering techniques for rasterised graphic object based images
AU2003900746A0 (en) * 2003-02-17 2003-03-06 Silverbrook Research Pty Ltd Methods, systems and apparatus (NPS041)
US6473522B1 (en) * 2000-03-14 2002-10-29 Intel Corporation Estimating text color and segmentation of images
US6781600B2 (en) 2000-04-14 2004-08-24 Picsel Technologies Limited Shape processor
US6714196B2 (en) * 2000-08-18 2004-03-30 Hewlett-Packard Development Company L.P Method and apparatus for tiled polygon traversal
US6870543B1 (en) * 2001-06-06 2005-03-22 Microsoft Corporation Reducing fill and improving quality of interlaced displays using multi-sampling
JP3696584B2 (ja) * 2001-09-26 2005-09-21 株式会社ソニー・コンピュータエンタテインメント 描画処理方法及び装置、半導体デバイス、描画処理プログラム及び記録媒体
AUPR860901A0 (en) * 2001-10-31 2001-11-29 Canon Kabushiki Kaisha Activating a filling of a graphical object
US7081903B2 (en) * 2001-12-12 2006-07-25 Hewlett-Packard Development Company, L.P. Efficient movement of fragment stamp
US6999087B2 (en) * 2002-03-12 2006-02-14 Sun Microsystems, Inc. Dynamically adjusting sample density in a graphics system
US7027056B2 (en) 2002-05-10 2006-04-11 Nec Electronics (Europe) Gmbh Graphics engine, and display driver IC and display module incorporating the graphics engine
US20040227767A1 (en) * 2002-06-20 2004-11-18 Alberto Baroncelli Vector graphics circuit accelerator for display systems
US6943805B2 (en) * 2002-06-28 2005-09-13 Microsoft Corporation Systems and methods for providing image rendering using variable rate source sampling
US6982724B2 (en) * 2003-03-25 2006-01-03 Mitsubishi Electric Research Labs, Inc. Method for antialiasing an object represented as a two-dimensional distance field in object-order
US7006110B2 (en) * 2003-04-15 2006-02-28 Nokia Corporation Determining a coverage mask for a pixel
AU2003903445A0 (en) * 2003-06-26 2003-07-17 Canon Kabushiki Kaisha Optimising compositing calculations for a run of pixels
US7280120B2 (en) * 2003-06-26 2007-10-09 Canon Kabushiki Kaisha Compositing with a sub-pixel mask in graphic object rendering
US6919908B2 (en) * 2003-08-06 2005-07-19 Ati Technologies, Inc. Method and apparatus for graphics processing in a handheld device
US6937244B2 (en) * 2003-09-23 2005-08-30 Zhou (Mike) Hong Apparatus and method for reducing the memory traffic of a graphics rendering system
US7583397B2 (en) 2003-09-30 2009-09-01 Canon Kabushiki Kaisha Method for generating a display list
US7173631B2 (en) * 2004-09-23 2007-02-06 Qualcomm Incorporated Flexible antialiasing in embedded devices
US7126615B2 (en) * 2004-11-12 2006-10-24 Via Technologies, Inc. Color compression using multiple planes in a multi-sample anti-aliasing scheme
US8878851B2 (en) 2004-11-12 2014-11-04 Synchronica Plc Method and system for streaming documents, e-mail attachments and maps to wireless devices
GB0426170D0 (en) * 2004-11-29 2004-12-29 Falanx Microsystems As Processing of computer graphics
US7849395B2 (en) * 2004-12-15 2010-12-07 Microsoft Corporation Filter and sort by color

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317525B1 (en) * 1998-02-20 2001-11-13 Ati Technologies, Inc. Method and apparatus for full scene anti-aliasing
US6614444B1 (en) * 1998-08-20 2003-09-02 Apple Computer, Inc. Apparatus and method for fragment operations in a 3D-graphics pipeline
CN1653487A (zh) * 2002-05-10 2005-08-10 比特波伊斯有限责任公司 具有边绘制单元的图形引擎以及合并有该图形引擎的电子装置及存储器

Also Published As

Publication number Publication date
US20070109309A1 (en) 2007-05-17
US8294731B2 (en) 2012-10-23
WO2007057507A2 (en) 2007-05-24
US8390634B2 (en) 2013-03-05
EP1958051A2 (en) 2008-08-20
CN101356495A (zh) 2009-01-28
US20070132775A1 (en) 2007-06-14
WO2007057507A3 (en) 2007-07-19
EP1958051B1 (en) 2014-01-01
JP2009516251A (ja) 2009-04-16
JP4854746B2 (ja) 2012-01-18
EP1958051A4 (en) 2011-09-21

Similar Documents

Publication Publication Date Title
US7136748B2 (en) Map data processing apparatus and center system
CN103189922B (zh) 数据处理装置执行的方法和汇总副本图像的元数据的系统
CN101447091B (zh) 用于处理图形的设备及其方法
US20130271479A1 (en) Efficient pre-computing of simplified vector data for rendering at multiple zoom levels
US20100182323A1 (en) Method for unified visualisation of heterogeneous datasets
CN1838071A (zh) 项目沿嵌入的单流形路径的自动布局
CN101356495B (zh) 矢量图形硬件中的缓冲器管理
CN101510218A (zh) 实现图片搜索的方法及网站服务器
CN102368259A (zh) 电子地图数据存储和查询方法、装置及系统
CN103942258B (zh) 基于道路编码的街景影像存储方法及装置
CN114020756B (zh) 遥感影像实时地图服务发布方法和装置
EP2523121A1 (en) Method and device for processing spatial data
CN108345433A (zh) 用于最大化的可去重存储器的方法、存储器系统和产品
CN102096945B (zh) 空间数据渐进传输方法及装置
CN110597900A (zh) 一种gdb数据实时按需生成矢量切片的方法
CN103310408A (zh) 适用于超精细影像的图像存储方法
CN106485654B (zh) 一种矢量数据的处理方法及装置
CN104102732A (zh) 图像展现方法及装置
GB2379149A (en) Display controller including display address generator
CN106488402A (zh) 地盘点呈现方法及相关设备
CN104778657A (zh) 图像二维码融合方法及装置
CN111446968A (zh) 矢量空间数据多级压缩方法
CN113763514B (zh) 笔顺动画的生成方法、装置、系统及电子设备
US8488183B2 (en) Moving labels in graphical output to avoid overprinting
US11798199B2 (en) Method and apparatus for configuring spatial information

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: ADVANCED MICRO DEVICES CORPORATION

Free format text: FORMER OWNER: DDEEG MICRO CONSULTANTS CO., LTD.

Effective date: 20101209

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: NOORMARKKU, FINLAND TO: CALIFORNIA STATE, UNITED STATES

TA01 Transfer of patent application right

Effective date of registration: 20101209

Address after: American California

Applicant after: Advanced Micro Devices Inc.

Address before: Finland

Applicant before: DDEEG micro consultants LLC

C14 Grant of patent or utility model
GR01 Patent grant