CN1378174A - 在电脑绘图描绘时进行像素数据压缩的方法与装置 - Google Patents
在电脑绘图描绘时进行像素数据压缩的方法与装置 Download PDFInfo
- Publication number
- CN1378174A CN1378174A CN 01110428 CN01110428A CN1378174A CN 1378174 A CN1378174 A CN 1378174A CN 01110428 CN01110428 CN 01110428 CN 01110428 A CN01110428 A CN 01110428A CN 1378174 A CN1378174 A CN 1378174A
- Authority
- CN
- China
- Prior art keywords
- block
- data
- aforementioned
- pixel
- compression
- 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
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Generation (AREA)
Abstract
一种在电脑绘图描绘时进行像素数据压缩的方法。该方法是将图框区分成多个区块,并根据所描绘的三角形的像素位置计算出该三角形所描绘的区块;若三角形描绘的区块并未被三角形全部涵盖,则从存储器读取该区块已压缩的数据并解压缩以供参考;接着,将三角形的像素描绘在各区块中,并对各区块加以压缩;最后,将压缩后的区块数据储存至存储器。由于压缩方法相当简单,因此可实时处理并减少数据量,增加频宽使用率。
Description
本发明涉及一种电脑绘图系统的描绘方法与装置,特别是关于将描绘的数据实时压缩并储存至存储器的方法与装置。
使用绘图(graphics)或是动画(animation)的应用需求有成长的趋势。例如电脑合成影像或是动画被应用在电脑游戏(game)、教育工具(educational tools)、办公室自动化(office automation)或是动画电影(filmmaking)的领域上。随着桌上型电脑的功能持续提高,许多应用得以发展并活用在此被提高的功能上,且产生出更多有趣且互动式的绘图接口。然而,虽然桌上型电脑功能持续提高,但3D绘图对象(graphicsobject)以及特别是3D动画仍然需要昂贵以及特殊目的的硬件才能完成。
现在的实时(real-time)描绘系统(rendering system)由于大量特殊存储器与所需的处理资源来达成虚拟实境(visual realism),所以成本很高。为了达成真实地互动以及写实的效果,系统在很短的时间必须描绘绘图对象来产生新的影像,让使用者感觉是对象连续动作。此外,系统还必须在最短的延迟时间回应使用者的输入,使代表输入的反应能实时呈现在所显示的影像中。
在大部分的绘图描绘系统中,绘图对象的表面是由大量的平面多边形(planar polygon)所仿制(modeled)而成。例如色彩(color)与图纹(texture)数据等被储存于多边形的顶点(vertices)。而产生影像数据的每个图框的程序包含许多步骤。第一,系统必须计算出哪些对象在视觉上是潜在可视的(potentially visible)。第二,系统将多边形扫描变换成(rasterize or scan convert)像素数据(pixel data)的阵列。最后,系统将描绘好的显示影像转移至显示装置。
实时系统的内容中,有两个不同方法来叙述显示产生速率(rate ofdisplay generation)的特征。一种是绘图描绘管道(pipeline)更新图框缓冲器(frame buffer)的速率,即所谓计算速率(computational rate)。而另一种是显示装置画面更新速率。为了避免画面闪烁,画面更新速率至少为每秒60个图框,且计算速率并不需等于画面更新速率。然而,为了让所产生的新的影像数据不会影响显示中的影像数据,现有的结构包含至少两组图框缓冲器。
根据上述情况,实时描绘系统需要大量图框缓冲器,而图框缓冲器的成本是由存储器容量与频宽所决定。因此,若能减少图框缓冲器的需求,则能降低实时描绘系统的成本。
为了克服现有技术的不足,本发明的目的是提供一种在电脑绘图描绘时进行像素数据压缩的方法与装置,使用该方法和装置可在电脑绘图描绘时,以实时压缩像素数据方式减少图框缓冲器需求。
本发明的另外一个目的是提供一种电脑绘图系统的绘图引擎。
为了达到上述目的,本发明的在电脑绘图描绘时进行像素数据压缩的方法,包含下列步骤:
执行绘图指令,藉以产生图形元素;
决定前述图形元素是否需要描绘,若不需要描绘则结束,否则继续下列步骤;
根据前述图形元素的像素位置,计算出该图形元素所分布的区块;
解压缩区块步骤,若前述每个区块需要参考储存在前述存储器的已压缩区块的数据时,则从前述存储器读取该已压缩区块的数据并解压缩;
描绘步骤,将前述图形元素的像素描绘于区块中;
压缩步骤,将前述每个区块个别压缩;以及
储存步骤,将压缩后的区块的数据储存至存储器。
本发明还提供一种电脑绘图系统的绘图引擎,其是在影像数据储存至存储器之前先进行区块压缩,该绘图引擎包含:
一指令伫列,储存绘图指令;
一描绘控制器,接收前述绘图指令,并计算出该绘图指令的绘图元素,以及该绘图元素所涵盖的所有区块;
一压缩单元,将前述描绘控制器所输出的区块像素数据压缩成区块数据;以及
一解压缩单元,将一压缩的区块数据解压缩成区块像素数据;
藉以在前述区块像素数据储存至前述存储器之前,先藉由前述压缩单元压缩成区块数据后再储存,以及由存储器读取的区块数据先经过前述解压缩单元解压缩成区块像素数据后再进一步处理。
本发明在电脑绘图描绘时进行像素数据压缩的方法是根据所描绘的三角形的像素位置计算出该三角形所涵盖的区块;若区块并未被三角形全部涵盖,则从存储器读取已压缩区块的数据并解压缩以供参考;将三角形的像素描绘在各区块中,并对各区块加以压缩;最后,将压缩后的区块数据储存至存储器。而压缩方法是根据区块的像素数据指定多个标记以及各标记所对应的初值种子色彩;指定最接近每个像素数据的种子色彩的标记给每个像素;根据相同标记的所有像素数据,计算出最接近该标记的所有像素数据的色彩作为定值种子色彩;以及以每个像素的标记以及各标记的定值种子色彩作为压缩后的数据。
本发明的有益效果是:由于压缩方法相当简单,因此可实时处理并减少数据量,增加频宽使用率。可在电脑绘图描绘时,以实时压缩像素数据方式减少图框缓冲器需求,则能降低实时描绘系统的成本。
下面结合附图对本发明进行详细说明:
图1显示本发明具有压缩与解压缩的电脑绘图系统的结构;
图2显示本发明的描绘流程图;
图3显示本发明描绘的像素未包含整个区块的示意图;
图4显示本发明的压缩流程图;
图5显示一区块的数据压缩情形;
图6显示本发明的解压缩流程图。
10 绘图引擎
11 指令伫列
12 描绘控制器
13 压缩单元
14 解压缩单元
20 主机
30 存储器
40 显示装置
图1显示具有压缩与解压缩的电脑绘图系统的结构。如图所示,电脑绘图系统一般包含主机(host)20、图框缓冲器(存储器)30、显示装置(display device)40、以及绘图引擎(graphics engine)10。绘图引擎10从主机20接收绘图指令(graphics command)后,即计算出哪些绘图指令的对象在视觉上是否为潜在可视的、将绘图指令的多边形画成像素数据的阵列并储存在图框缓冲器30、以及将储存在图框缓冲器30的显示影像转移至显示装置40。本发明的绘图引擎10包含一指令伫列11、一描绘控制单元12、压缩单元13、以及解压缩单元14。描绘控制单元12计算出每个多边形画成像素数据的阵列对应于图框缓冲器的区块。压缩单元13则将每个区块个别压缩后储存至图框缓冲器30。解压缩单元14则将储存在图框缓冲器30的区块数据解压缩成像素数据的阵列。由于将每个多边形画成像素数据的阵列先压缩后再储存至图框缓冲器,故可减少图框缓冲器的容量。
图2显示三角形对应于区块的示意图的一例。在利用本发明的描绘方法时,将图框(frame)区分为相同大小的多个区块,并根据所欲描绘的三角形A的像素位置,计算出该三角形A所分布的区块。如图所示,该三角形A分布在15个区块,分别标示为B1~B15,其中只有区块B7被三角形A全部涵盖。在计算出三角形A所分布的区块后,则以区块为单位个别处理每个区块,并将处理压缩后的数据储存在存储器。由于区块B7被三角形A全部涵盖,可不需参考其它区块数据,因此系统可直接对区块B7进行压缩,并储存至存储器。但是,对于例如B1、B2、B3、…等其它区块而言,仅一部份包含三角形A的像素数据。由于区块为整体压缩,因此在处理与压缩该区块之前,必须先读取该区块的其它未被三角形A涵盖的数据。即必须从存储器读取该区块的数据,并解压缩后才可进一步处理。
图3显示本发明描绘流程图的一例。如图所示,本发明的多边形(三角形)的描绘步骤如下:
步骤S302:开始描绘一三角形;
步骤S304:该绘图指令的三角形是否需要被描绘,即该三角形是否可视?若不需被描绘则跳至步骤S320,否则跳至下一步骤;
步骤S306:根据该三角形像素位置,计算出该三角形所涵盖的区块;
步骤S308:处理下一个区块数据;
步骤S310:是否需要储存在存储器的该区块数据?若需要则跳至步骤S312,若否则跳至步骤S314;
步骤S312:从存储器读取该区块数据并进行解压缩;
步骤S314:描绘以及更新该区块数据;
步骤S316:将已更新的区块数据进行压缩并储存至存储器;
步骤S318:是否每个区块的数据皆已处理完毕?若未处理完毕,则跳回步骤S308,否则跳至步骤S320;
步骤S320:结束该三角形的描绘动作。
由于描绘时所需要的数据处理量相当大,因此压缩与解压缩时必须考虑到执行速度。若压缩与解压缩的速度太慢,则反而影响系统的效能。以下参考图4说明本发明的压缩方法。
步骤S402:开始;
步骤S404:读取区块的像素阵列数据;
步骤S406:计算初值种子色彩,并设定标记;
步骤S408:处理下一像素;
步骤S410:计算出该像素数据最接近的初值种子色彩,并指定该初值种子色彩的标记为该像素数据的标记;
步骤S412:是否所有区块的像素数据均以指定一初值种子色彩的标记?若尚未全部指定则跳至步骤S408,否则跳至步骤S414;
步骤S414:重新计算各标记的定值种子色彩;
步骤S416:输出定值种子色彩与像素数据的标记;
步骤S418:结束。
步骤S406计算初值种子色彩的方法有需多种,可以随意选取区块中的像素色彩,也可以计算区块中的部分像素色彩的平均值。图5(A)显示一个区块的像素数据,该区块数据为4*4的矩阵。若以平均值方式计算其初值种子色彩,并指定四个初值种子色彩与其标记,则其标记与初值种子色彩分别为0(95)、1(37)、2(57)与3(27)。接着,比较图5(A)的每一像素数据与四个初值种子色彩,并指定与该像素数据最接近的初值种子色彩的标记给该像素。图5(B)即为该区块的标记数据。最后,再根据图5(B)的标记数据计算定值种子色彩。其方法是选取区块中相同标记的像素数据,并计算最接近该等像素数据的色彩数据。计算定值种子色彩的方法有许多种,例如均方根值或平均值等。
以32位的4*4区块的像素矩阵为例,其未压缩前的数据大小为512(32*16)位(bit)。但经过压缩后,该4*4区块的数据大小为128(2*16+24*4)位,即16个标记数据以及4个定值种子色彩,如图5(C)所示。所以,本发明的压缩方法可达到4倍的压缩量。不但可减少绘图系统的图框缓冲器,同时也减少存储器频宽的使用。
图6显示一种解压缩实施例的流程图。其步骤说明如下:
步骤S602:开始解压缩一区块的数据;
步骤S604:读取一压缩的区块数据;
步骤S606:将标记数据与定值种子色彩分离;
步骤S608:处理下一像素;
步骤S610:根据该像素的标记值指定对应的定值种子色彩给该像素;
步骤S612:是否所有像素均以指定定值种子色彩?若尚未完全指定,则跳回步骤S608,否则跳至步骤S614;
步骤S614:将该区块的像素数据输出;
步骤S616:结束。
由于上述的解压缩方法仅根据像素的标记值指定对应的定值种子色彩给该像素,不需其它复杂的运算,因此,可提供实时的解压缩。
以上虽以实施例说明本发明,但并不因此限定本发明的范围,只要不脱离本发明的要旨,本领域的技术人员可进行各种变形或变更。
Claims (8)
1.一种在电脑绘图描绘时进行像素数据压缩的方法,包含下列步骤:
执行绘图指令,藉以产生图形元素;
决定前述图形元素是否需要描绘,若不需要描绘则结束,否则继续下列步骤;
根据前述图形元素的像素位置,计算出该图形元素所分布的区块;
解压缩区块步骤,若前述每个区块需要参考储存在前述存储器的已压缩区块的数据时,则从前述存储器读取该已压缩区块的数据并解压缩;
描绘步骤,将前述图形元素的像素描绘于区块中;
压缩步骤,将前述每个区块个别压缩;以及
储存步骤,将压缩后的区块的数据储存至存储器。
2.根据权利要求1所述的在电脑绘图描绘时进行像素数据压缩的方法,其特征在于:前述压缩步骤包含,
计算初值种子色彩,根据区块的像素数据指定多个标记以及该标记所对应的初值种子色彩;
指定标记,指定最接近每个像素数据的前述种子色彩的标记给每个像素;
计算定值种子色彩,根据相同标记的像素数据,计算出最接近该标记的所有像素数据的色彩作为定值种子色彩;以及
送出数据,以每个像素的标记以及各标记的前述种子色彩作为压缩后的数据。
3.根据权利要求2所述的在电脑绘图描绘时进行像素数据压缩的方法,其特征在于:前述区块为4*4个像素矩阵。
4.根据权利要求3所述的在电脑绘图描绘时进行像素数据压缩的方法,其特征在于:前述区块包含四个不同标记以及相对应的四个定值种子色彩。
5.一种电脑绘图系统的绘图引擎,是在影像数据储存至存储器之前先进行区块压缩,该绘图引擎包含:
一指令伫列,储存绘图指令;
一描绘控制器,接收前述绘图指令,并计算出该绘图指令的绘图元素,以及该绘图元素所涵盖的所有区块;
一压缩单元,将前述描绘控制器所输出的区块像素数据压缩成区块数据;以及
一解压缩单元,将一压缩的区块数据解压缩成区块像素数据;
藉以在前述区块像素数据储存至前述存储器之前,先藉由前述压缩单元压缩成区块数据后再储存,以及由存储器读取的区块数据先经过前述解压缩单元解压缩成区块像素数据后再进一步处理。
6.根据权利要求5所述的电脑绘图系统的绘图引擎,其特征在于:前述压缩单元包含,
种子色彩产生单元,根据前述区块像素数据指定多个初值种子色彩以及其对应的标记;
标记指定单元,指定与每个像素色彩最接近的初值种子色彩的标记给每个像素;
种子色彩更新单元,根据相同标记的像素色彩,计算出最接近该标记的像素色彩的数据作为定值种子色彩;以及
数据送出单元,以每个像素的标记以及各标记之前述定值种子色彩作为压缩后的数据。
7.根据权利要求6所述的电脑绘图系统的绘图引擎,其特征在于:前述区块为4*4个像素矩阵。
8.根据权利要求7所述的电脑绘图系统的绘图引擎,其特征在于:前述区块包含四个不同标记以及相对应的四个定值种子色彩。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 01110428 CN1200396C (zh) | 2001-04-04 | 2001-04-04 | 在电脑绘图描绘时进行像素数据压缩的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 01110428 CN1200396C (zh) | 2001-04-04 | 2001-04-04 | 在电脑绘图描绘时进行像素数据压缩的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1378174A true CN1378174A (zh) | 2002-11-06 |
CN1200396C CN1200396C (zh) | 2005-05-04 |
Family
ID=4658592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 01110428 Expired - Fee Related CN1200396C (zh) | 2001-04-04 | 2001-04-04 | 在电脑绘图描绘时进行像素数据压缩的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1200396C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200820131A (en) * | 2006-05-22 | 2008-05-01 | Nvidia Corp | Frame buffer merging |
-
2001
- 2001-04-04 CN CN 01110428 patent/CN1200396C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1200396C (zh) | 2005-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10866990B2 (en) | Block-based lossless compression of geometric data | |
Montrym et al. | InfiniteReality: A real-time graphics system | |
EP0995154B1 (en) | Virtual address access to tiled surfaces | |
EP0850462B1 (en) | Method and system for rendering graphical objects to image chunks and combining image layers into a display image | |
JP4890638B2 (ja) | グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置 | |
CN1287330C (zh) | 用于区带渲染的有效图形状态管理 | |
CN1138234C (zh) | 图象生成的方法与设备 | |
CN1150675A (zh) | 用于纹理映射的方法和装置 | |
CN1132887A (zh) | 产生图像数据的方法、图像数据处理装置和记录介质 | |
CN1218940A (zh) | 分隔多边形的图象处理 | |
JPH0916144A (ja) | 二次元でインターリーブされるフレームバッファを備えた、三角形ラスタ化のためのシステム及び方法 | |
CN1256675C (zh) | 在音频存储器中预缓存数据的方法和装置 | |
CN114028804A (zh) | 流式传输压缩光场 | |
CN110675480A (zh) | 用于获取纹理操作的采样位置的方法和装置 | |
CN1086040C (zh) | 产生图象的方法和装置 | |
EP1434171A2 (en) | Method and system for texture mapping a source image to a destination image | |
CN1111301C (zh) | 图象生成装置和方法 | |
CN114445257A (zh) | 流式传输利用无损或有损压缩进行压缩的光场 | |
CN101754039A (zh) | 面向移动设备的3d参数解码系统 | |
US20240185502A1 (en) | Efficient real-time shadow rendering | |
CN1924794A (zh) | 数字文件处理系统、数据处理系统和外围设备 | |
CN102682465B (zh) | 3d格式转换系统和方法 | |
CN1200396C (zh) | 在电脑绘图描绘时进行像素数据压缩的方法 | |
CN1165017C (zh) | 图形流水线,图形适配器及其中的对象显示方法 | |
CN1311405C (zh) | 图像处理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |