三维图像的光栅化的制作方法

文档序号:6477438阅读:357来源:国知局
专利名称:三维图像的光栅化的制作方法
技术领域
本发明涉及显示三维图像的系统。本发明更特别涉及在该种系统中的帧缓冲器和图像数据的传输。
背景技术
常规三维(“3D”)图形有代表性的结果是显示在常规二维计算机监视器(例如,阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器等)上的二维图像。处理过程包括将图像所呈现的3D景像(或者其它3D目标)的空间几何形状和相应的光照和纹理信息翻译(rendering)在较小的帧缓冲器中。描述这个翻译过程的指令典型地由计算机产生(例如个人计算机)。指令被传输给一个典型地存在于计算机内的视频板。视频板处理指令,从而将3D景像变换成像素数据并把这些数据传送给显示器或者监视器。像素数据表明了像素的位置、颜色间或亮度。一个像素(即一个图像元素)是形成图像的数千个这样的光点栅格中的一个光点。它也是显示器硬件和软件处理的最小的元素。
描述图像的指令经常使用应用程序接口(API)来建立,例如openGL或者微软公司(Microsoft)的Direct3D。典型地一个API通过定义景像中目标的空间几何形状、光照、颜色和表面纹理来描述一个景像。几何形状可以包括分别具有x、y和z坐标的顶点或者点的阵列,这里z坐标代表深度。每一顶点可能进一步包括红、绿和蓝(RGB)颜色值,以及透明度(alpha)值。其它的阵列可能包括顶点索引列以描述顶点怎样结合而形成x、y和z坐标的三角形或者多边形。这些三角形或者多边形形成3D表面的基本几何图元,并且当和其它三角形或者多边形一起使用时,可以描述实质上任何的二维或者三维图像。
API指令一旦产生就会被传送到视频板。而后如果有必要,视频板执行各种变化,例如几何(例如,旋转、变换或者任何适当的组合)、透视或者视口。
在接收API指令和执行任何需要的或者期望的变化之后,视频板光栅化图像。光栅化是将矢量图形(按照顶点和线描述的图像)变换成可以按位组存储和处理的像素图案组成的等同的图像。在光栅化过程中,被表面图元(也就是,三角形或者多边形)限定的像素的颜色被计算确定。为了执行这个计算,运用常规的运算从顶点的RBG值三维插补出一个内像素。在每一像素位置的插补值已知为图像片断。
另外,如果提供了z值,则视频板可以移除被遮蔽的像素。如果一个像素在空间上位于一个不透明的像素之后,则该像素被遮蔽。如果一个像素具有一个较高的z值,则该像素位于另一个像素之后。
如果前景像素不是不透明的(即该像素的alpha值小于1),则视频板可以执行一个alpha混合运算。Alpha混合运算将重叠像素的RGB值混合从而产生一个考虑了每一像素的alpha作用的具有新RGB值的像素。在常规系统中,alpha混合包括将已经在帧缓冲器中的像素的亮度和/或颜色值结合进像素要被显示的存储单元。
为了完成这些运算,一个视频板典型地包括一个图形数据处理单元(GPU)、一个帧缓冲器和一个可选的数字-模拟转换器。GPU从计算机接收API指令,并且执行上述变换和光栅化。来自GPU的数据然后被输出到帧缓冲器。帧缓冲器通常是一个小容量的存储器。典型地,数据被存储在仅基于x和y坐标的帧缓冲器中。在GPU执行了遮蔽像素的移除和alpha混合之后,数据被从帧缓冲器输出到显示器。在模拟显示的情况下,数据首先由数字-模拟转换器进行转换。
尽管这样的安排足以满足二维显示的需要,但是不足以满足使用三维立体显示的系统和需要显示大量的三维图像的系统。特别是,常规的帧缓冲器之所以不适用是因为它们缺乏存储可以显示满意的三维图像的(x,y,z)坐标图像数据的容量和数据结构。
由于上述原因,需要能够提供一种具有能存储和快速传送图像数据的容量的帧缓冲器,其结构应能显示满意的三维图像。

发明内容
本发明的一个目的是提供一种具有能存储和快速传送图像数据的容量的帧缓冲器,其结构应能显示满意的三维图像。
本发明提供一种具有按z坐标组织的图像数据的大容量帧缓冲器。其优点在于,该帧缓冲器可以被用于需要显示大量图像的应用并且特别适合于三维立体显示器,例如美国专利号6,100,862中所公开的,它被全文引用在此。
通过为不仅以像素的x和y位置而且特别是它的z位置为基础的每一个单独的像素分配帧缓冲器存储单元,本发明的帧缓冲器可以对大量的三维数据进行光栅化。这使得一个特定深度的图像数据可以被优选地置于毗邻的存储单元。然后这样的数据能够以足以产生令人满意的三维图像的速度被传输到图像生成器或者投影机。
三维图像更适宜按照本发明通过从3D目标的二维“切片”映射而成的组成集的多个像素创建图像来构建。这些切片被一个挨着一个地放置或者层叠从而生成三维图像。该三维图像被投影或者显示在一个包括多个光学元件或者平面的三维立体显示器上。
在一个
具体实施例方式
中,该系统包括一个视频控制器和一个显示器。该视频控制器包括一个存储着多个平面的图像数据的“多平面”帧缓冲器。在另一个具体实施方式
中,显示器也包括一个多平面帧缓冲器。在又一个具体实施方式
中,显示器包括一个多平面帧缓冲器并且系统包括一个带有常规帧缓冲器的常规视频控制器。在再一个具体实施方式
中,一个包括多平面帧缓冲器的非常规的视频控制器和显示器集成在一起。在这个最后的具体实施方式
中,视频控制器和多平面帧缓冲器之间的接口包括地址和数据总线。
一个数据集中的像素以它们的x、y和z位置为基础被分类、存储并且处理。深度(即z)位置不仅被用于确定一个像素将被显示在哪个平面(或者可选地,如果考虑像素位于平面之间时,在哪一对平面)上,还用于将帧缓冲器中的存储地址部分基于z值分配给像素。
在其它的具体实施方式
中,每一像素被分配了“粗”和“细”的z值。粗z值对应于一个平面,它的像素至少部分将要被传送,而细z值对应于从相邻的平面沿点的z方向的垂直偏移量(一个有0细z值的像素没有偏移)。在其它的具体实施方式
中,z值特指为一个小数值,该值的整数部分对应于粗z位置(那就是,和点相关的平面或者切片),而小数部分对应于偏移量。任何其它适合的编码方案也可以采用。
在一些
具体实施例方式
中,对应于图像每一个二维平面的像素的数据集,和具有细z值的像素一起,被存储在多平面帧缓冲器的限定的存储区域(section)。为了显示图像,多平面帧缓冲器的内容通过一高带宽接口全部传输至显示帧缓冲器中,然后多平面帧缓冲器的内容被用于驱动显示器的光调节器,从而以一系列层叠的二维图像呈现出图像。
另一种可选择的方式是,图形处理器帧缓冲器的内容可以被直接用于驱动显示器的光调节器。数据可以按一个像素接着一个像素地、一个区域接着一个区域(也就是,一帧接着一帧或者一个平面接着一个平面)地或者以一个完整图像进行整块传送。


图1为按照本发明的三维视频显示系统的一种具体实施方式
的方块图;图2a为按照本发明的三维视频显示系统的另一种具体实施方式
的方块图;图2b为按照本发明的三维视频显示系统的又一种具体实施方式
的方块图;图2c为按照本发明的三维视频显示系统的再一种具体实施方式
的方块图;图3a是三维图像的说明图;
图3b是图3a的图像的二维切片的说明图;图4a是按照本发明的视频控制器的一具体实施方式
的方块图;图4b是按照本发明的帧缓冲器的一具体实施方式
的方块图;图4c是按照本发明的帧缓冲器的另一具体实施方式
的方块图;图5a是按照本发明的帧缓冲器中分配存储单元的一具体实施方式
的流程图;图5b是按照本发明的多平面去混叠的一具体实施方式
的流程图;图5c是按照本发明的帧缓冲器中分配存储单元的另一具体实施方式
的流程图;图5d是按照本发明的帧缓冲器中分配存储单元的再一具体实施方式
的流程图;和图6a-f是按照本发明传输像素数据到显示器的各种具体实施方式
的示意图。
具体实施方式
A.系统的描述图1显示一个多平面立体显示系统。立体显示系统100产生实质上是立体的三维(3D)图像。也就是,图像占据了一定体积的三维空间并且实际上存在于它们出现的位置。因此,这样的3D图像是真正的3D,不同于因由例如立体镜法产生的感觉起来是3D的图像。系统100产生的三维图像能具有非常高的分辨率并能显示很宽的颜色范围。因此它们具有和看真实物体一致的特性。例如,这样的3D图像可以同时存在水平和垂直运动视差和环视功能,可以让观者改变观看位置并且仍然能接收保持图像3D外观的视觉线索。
另外,观者不需要带任何特殊的眼镜,例如立体眼镜或者观看3D图像的玻璃镜。这是它的优势所在,因为这些眼镜比较麻烦并且造成眼部疲劳。另外,3D图像在水平和垂直方向上都具有连续的视域,水平视域在某种显示器配置中等于大约360°。另外,观者可以从系统100的任何距离观看而不会丢失3D的感觉。
系统100包括一个图形源102、一个视频控制器105、一个图像生成器110和一个显示器130。图形源102可以是任何能够产生图形数据供视频控制器105使用的设备。例如,图形源102可以是任何下列的设备一台运行适当的图形产生软件的个人计算机;一个运行应用程序接口(API)和设备驱动的图形应用程序,它为视频控制器105提供恰当格式的图像数据;或者任何适合的能产生适当图形的硬件、软件,或者硬件和软件的组合。
视频控制器105从图形源102接收数据并且可以是任何适当的硬件、软件或者是任何能产生执行适当的图形处理的硬件和软件的组合。视频控制器105可以是单机设备或者它可以和系统的其它部件集成为一体。
在其它的具体实施方式
中,例如图2a中所示,视频控制器205和帧缓冲器206可以和图形源200集成为一体。在其它的具体实施方式
中,例如图2b中所示,视频控制器205和帧缓冲器206可以被集成到图像投影机210中。在图2a或者图2b所示的具体实施方式
的任一个中,视频控制器205和帧缓冲器206都可以是单机内插附加卡、一个集成电路或者任何适当的组合。
在其它的具体实施方式
中,视频控制器的部分可以被集成进系统的几个部件中。例如图2c中所示,视频控制器的部分,例如视频信号电路212,可以和图形源200集成在一起,同时视频控制器的其它部分,例如多平面帧缓冲器214,可以集成在图像生成器210上。在图2c中所示的具体实施方式
,帧缓冲器214和视频信号电路212可以通过高传输率连接器225互连。连接器225可以是能够维持足以提供由图像生成器210产生的无闪烁图像的吞吐量的任何适当的连接器。例如在一些具体实施方式
中,可能需要从帧缓冲器到图像生成器传输数据(压缩或不压缩)达每秒50次。
图像生成器110可以是任何用于产生以从视频控制器105接收的数据为基础的图像的适当的设备。在一些具体实施方式
中,图像生成器可以是用于在多表面光学设备130上投影图像的高速投影机。在此实施方式中,图像投影机可以包括一个用于输出从视频控制器105接收到的图像的投影镜头111。该投影机也可以包括一个自适应光学聚焦系统(未标示),用于在各自的光学元件115、120或者125上聚焦图像集中的每一个图像。在一些具体实施方式
中,光学元件115、120或者125可以是液晶元件。一个光学元件控制器(未标示)也可以提供来控制光学元件半透明,使单一的光学元件进入不透明的光散射状态,从而从图像投影机接收和显示各自的图像。同时,其余的光学元件处于基本上透明的状态,使在不透明光学元件上显示的图像可以被看到。做为选择或者另外的,该投影机可以包括多个激光源,用于投影红、绿和蓝色激光,从而产生和投影多种颜色的图像集。
注意,系统100的部件102、105、110和130只为了图示的目的被显示成单独的实体。做为选择,系统100的部件可以以各种形式组合。如已经说明的,图形源102和视频控制器105可以被集成进一个单一的单元。相似地,图像生成器110和多表面光学设备130可以被集成进一个单元的、独立的单元。在其它的具体实施方式
中,光学元件可以是自发光的,它消除了图像投影机和常规的LCD逆光的需要。在这样一个具体实施方式
中,光学元件可以使用场致发光的元件或者有机光发射二极管元件。这些场致发光的元件或者有机光发射二极管元件可以是自发光的并且可以各自设定地址。然而,任何适当的自发光元件也可以被使用。在其它的具体实施方式
中,部件102、105、110和130可以被集成进一个单一的、封装的单元。还有的具体实施方式
,显示器可以是使用扫掠体积(swept-volume)结构的立体显示器。在这样的显示器中,一个3D景像的有角的片被连续地投影到一个旋转的表面。
B.系统的工作视频控制器105从图形源102接收图像数据。图像数据可以包括三维图像的多个二维“切片”。例如,为了显示图3a的三维图像330,该图形源按照在图像330中各种不同的深度所做的二维切片332、334和336建立图像数据。切片332、334和336被显示在图3b中。尽管二维切片的编号可以变化,但它更适宜对应于系统中使用的光学元件的编号。
此图像数据然后被从视频控制器105输出到图像生成器110。图像生成器110有选择地投影每一个二维图像在各自的光学元件115、120和125上。
在一个具体实施方式
中,在一特定的图像循环期间,一个光学元件控制器(未标示)以高速率循环通过光学元件,从中选择一个处于不透明的光散射状态的液晶元件,并且产生不透明光散射状态以移动通过液晶元件,用于从图像集中连续接收各自的图像。
图像生成器110以最好是大于35Hz的速率在多表面光学设备130上投影图像集,从而避免人能感知的图像闪烁。也就是,每一个图像最好以大于大约35Hz的速率投影。这要求图像投影机以图像速率N倍的速率工作,其中,N是系统中使用的光学元件的数目。例如,如果有50个大约40Hz的图像投影速率的光学元件被使用,则图像投影机以2KHz的速率工作。通过在多表面光学设备130上投影上述二维切片,就可以获得立体的三维图像。
C.视频控制器1.结构图4a显示本发明的一具体实施方式
的视频控制器405。如上所述,视频控制器405可以是一个视频板,它可以被插入适当的图形源(例如,一台个人计算机)中。视频控制器405也可以和图形源、其它电路或者上述二者集成为一体。例如,视频控制器405可以被集成在一台个人计算机的母板上。
板级的视频控制器405包括一个连接到图形源102的接口430,一个连接到图像生成器110的接口440,视频信号电路410,和帧缓冲器420。接口430可以是任何适当的接口。接口430可以是,例如,个人计算机接口(PCI)、加速图形端口(AGP)接口、现在被标准化为IEEE1014标准的VME底板互连总线系统、小型计算机系统接口(SCSI)、用于Apple Macintosh机型的NuBus高性能扩展总线系统、工业标准结构(ISA)接口、扩展工业标准结构(EISA)接口、通用串行总线(USB)接口、现在被标准化为IEEE1394标准在计算机内提供高速通讯和同步实时数据服务的防火墙总线接口、以及其它开放式或者专利接口。
接口440可以是任何适当的显示系统100和显示设备之间的接口,它具有适当的带宽以保持图像不闪烁。
视频信号电路410可以包括任何适当的用于管理或者处理从图形源110接收到的数据并且用于把数据传送到帧缓冲器420的电路。例如视频信号电路410可以是适当的专利硬件或者可以是任何适当的可商业利用的GPU。它可以是操纵API或者任何其它适当的硬件、软件或者二者的结合的计算机的图形应用程序。
帧缓冲器420最好是存储设备的阵列,例如随机访存取储器(RAM),它为每一个要被显示的像素存储信息。信息最好包括,如坐标(x,y,z)信息、和作为可选的颜色(例如红,绿,蓝)信息、色度信息、亮度信息、alpha(透明度)信息、或者每一个像素的深度(z信息)、(统称为“像素数据”)。帧缓冲器420可以是任何适当的用于存储像素数据的存储设备。例如,帧缓冲器420可以是静态RAM(SRAM)、动态RAM(DRAM)、扩充数据输出RAM(EDORAM)、视频RAM(VRAM)、窗口式RAM(WRAM)、多任务DRAM(MDRAM)、同步图形RAM(SGRAM)、或者任何其它适当的磁的、电磁的、电光的、磁光的、或者其它的存储介质。
在一些具体实施方式
中,可以使用超过一种的帧缓冲器。在这些具体实施方式
中,要被显示在共同的光学元件上的像素可以被存储在共同的帧缓冲器中或者帧缓冲器的共同的节中。例如,该系统可以包括为系统的每一光学元件(举例说,光学元件115、120和125)设置的独立的帧缓冲器。在此具体实施方式
中,帧缓冲器可基本上为相同的尺寸。独立的帧缓冲器可以被逻辑地或者物理地描绘。例如图4b中所示,每一个帧缓冲器占有独立的物理存储设备422、424和426。在另一个实施方式中,如图4c所示,每一个帧缓冲器可占据相同的物理存储缓冲器420,但是按分配给每一个帧缓冲器的存储范围430、432、434和436逻辑地描述。这样的分配可以按照存储负载在按需的基础上静态地或者动态地完成。
2.帧缓冲器的工作在本发明的一些具体实施方式
中帧缓冲器可以工作在几种可选择的模式。在一些具体实施方式
中,这些模式可以包括投影模式、多路翻译模式和直接光栅化模式。下面将就这些模式中的每一种进行说明。
A.投影模式广义地讲,当在显示器使用它自己的多平面帧缓冲器和/或当使用利用二维帧缓冲器或者单平面帧缓冲器的常规视频控制器是适当的或者不能避免时,在这样的应用中,使用投影模式是适合的。使用这种方法,每一个要显示的图像被处理并被输出到多平面帧缓冲器。该多平面帧缓冲器然后对接收到的数据执行另外的工作,并且把数据变成由一系列不连续的、二维图像组成的三维图像显示。因此,在此模式中,可以使用常规图形源102和常规视频控制器105。
1.在多平面帧缓冲器中分配存储单元图5a显示了按照本发明的具体实施方式
在多平面帧缓冲器中分配存储单元的一种方法。在步骤500,要被显示的图像由视频信号电路410产生。在此步骤中,2D图像的像素数据基于由图形源102产生的API指令计算。2D图像中的每一个像素数据都包括颜色(例如红、绿和蓝)和深度(z-坐标)信息。在一些具体实施方式
中,z值是范围从0.0到1.0的浮点数。在步骤505和510中,读2D图像中每一像素的颜色和深度信息。在步骤215中,每一像素的Z值被变换到一个值,该值在等于光学元件数目(例如从0到光学元件数目-1)的范围内。该变换后的z值然后被用于步骤520中,从而计算出多平面帧缓冲器420的地址,在该地址存储相应的像素数据。然后在步骤525中,像素的颜色值(如果相关,和alpha值)被赋值给步骤520中计算得出的帧缓冲器420的存储单元。
步骤515中使用的变换操作(scaling operation)可以是任何适当的变换操作。例如在一具体实施方式
中,z值可以简单地乘以图画元素的数目。然而,产生单一值的任何适当的变换函数(scaling function)都是可以被接受的。在其它的实施方式中,在VGA分辨率(例如640×480)显示器上具有一个x、y、z位置的像素可以用下述函数计算Addr=Nb/p*(x+640*y+640*480*zi)这里,Nb/p等于为每一像素存储的信息的字节数,zi是步骤515中导出的已变换的z值的整数部分。
在其它具体实施方式
中,例如像这种,当显示器具有一个扫掠体积结构时,使用另一种算法,数据可以被存储在多平面帧缓冲器中。在这样的系统中,使用圆柱坐标(即,r,y’,θ)描述屏幕的一部分是比较理想的,比使用直角坐标(即,x,y,z)要好。因此,在使用扫掠体积结构的本发明的具体实施方式
中,按照圆柱坐标比按照直角坐标读出多平面帧缓冲器的存储单元要好。使用已知的变换,圆柱坐标可以被表达为直角坐标x=r*cosine(θ),y=y’,z=r*s ine(θ)因此,在这样的具体实施方式
中,多平面帧缓冲器中的存储单元可以使用下列等式分配
Addr=NB/p*(r*cosine(θ)+Nx*y’+Nx*Ny*r*sine(θ))这里,NB/p是为每一像素存储的信息的字节数,Nx是帧缓冲器中x轴上的像素的数目,和Ny是帧缓冲器中y轴上的像素的数目。在另外一个具体实施方式
中,在多平面帧缓冲器中给像素数据分配存储位置并且在显示之前被变换成圆柱坐标。
2.去混叠、隐藏表面移除和alpha混合投影模式的另一方面是它提供了多平面去混叠。当一个图像被投影或者显示在一个立体显示器上时,在沿z方向的斜的或者弯曲的表面可能会出现锯齿状或者不连续。这可能是多个因素造成的。例如,产生的图像可能抽样不足或者显示器可能具有数目不足的光学元件。多表面去混叠弄平了锯齿状的或者锋利的边缘,在z方向上产生更平滑的经过补偿的外观。使用多平面去混叠技术,变换后z值的小数部分(zf)可被用来计算相邻像点中像素的颜色值。
图5B显示按照本发明的具体实施方式
的多平面去混叠的一种方法。在步骤530,读z变换过的值的小数值(zf)。在步骤535和540,zf值被用于计算两个色值,RGBnear和RGBfar。RGBnear值通过以(1-zf)乘那个像素的RGB值来计算,同时,RGBfar值通过以zf乘那个像素的RGB值来计算。在步骤545和550中,RGBnear和RGBfar被分别分配给对应于zi和zi+1的帧缓冲器区域。完成多平面去混叠的其它这样的方法在1999年4月14日提交的美国专利申请号09/291,315,现在的美国专利号__(下文中“__专利”)中有说明,它在这里被全文引用。
3.传输翻译数据(Rendered Data)到多平面帧缓冲器如上所述,当使用投影模式时,标准视频控制器可以和置于显示器中的多平面帧缓冲器一起使用。当从视频控制器到多平面帧缓冲器传输图像数据时,需要额外的步骤。额外的步骤取决于使用的系统和硬件的类型。
在一个具体实施方式
中,在将数据传输到显示器之前,所有的处理都已经完成。如图6a中所示,一旦视频控制器602已经产生出数据,它就会被传送到多平面帧缓冲器610的本地拷贝605中。本地拷贝605可在位于图形源102上的主存储器中实现。另一种选择是,如果视频控制器105具有足够大量的内存,则本地拷贝605可以在视频控制器中实现。一旦本地拷贝605被填满,数据就可以块传送到多平面帧缓冲器610。
在另一具体实施方式
中,显示器除了合并多平面帧缓冲器610以外也可以合并显示视频信号电路604。显示视频信号电路在结构上可以和视频信号电路410相似。如图6b中所示,一旦一个单一的2D图像的图像数据已经产生,它就会被传送到位于显示器中的显示视频信号电路604。通过显示视频信号电路进行进一步处理并把处理后的数据传送到多平面帧缓冲器610。
还有另外一种具体实施方式
显示在图6c中。在此具体实施方式
中,多平面帧缓冲器610被放在显示器中,并且被存储映象到视频控制器602。然后按一个像素接着一个像素完成处理并且直接传送到多平面帧缓冲器610。
B.多路翻译(Rendering)在本发明的另外一个具体实施方式
中,使用多路翻译技术填充多平面帧缓冲器。此技术可被用于多平面帧缓冲器被集成到显示器中的系统中,并且使用带有小存储空间的常规视频控制器。
使用这样的方法,通过计算机景像得以翻译,对多平面显示器的每一光学元件仅进行一次。多路翻译使多个图像表面在显示器内不同的视角可见。也就是,当离轴观看时,图像没有“丢失”的部分。
图5c显示使用多路翻译技术在多平面帧缓冲器中分配存储单元的一种方法。在步骤530,确定了一对软件剪贴平面。该软件剪贴平面把要被显示的3D景像的部分限制在一个单一的光学元件上,使其余的3D景像不可见。一旦确定了剪贴平面,3D景像就会在步骤540被翻译给二维帧缓冲器。在步骤545,最好执行去混叠。去混叠可以使用任何适当的函数来完成,例如模糊函数(fog function)。这种函数,举例说,在“___专利”中有说明。在步骤550中,翻译的数据无需进一步处理被读出到帧缓冲器中。
在某种硬件系统中,景像片断的多路翻译不应该比整个景像的单路翻译花更多的时间。举例说,如果从视频控制器105到多平面帧缓冲器的数据传送足够块,则50个1/50景像的翻译应该和翻译整个景像花大致相同的时间量。
C.直接光栅化在本发明的另一具体实施方式
中,使用直接光栅化技术填充多平面帧缓冲器。在一些具体实施方式
中,该技术可被用于包括一能产生多平面3D图像的视频控制器的系统中,该多平面3D图像不同于常规视频控制器产生的二维图像。因此,使用这种技术,一个图像可以被离轴观看而不会发生表面断裂或者损失质量。另外,在一个优选的具体实施方式
中,包含有一个合并了专门的光栅化处理器和/或多平面帧缓冲器的非常规视频控制器105。如上所述,多平面帧缓冲器或者物理上或者逻辑上被分区,每一分区对应于一个特定的光学元件。
1.在帧缓冲器中分配存储单元图5d显示按照本发明的直接光栅化处理的一个具体实施方式
。在步骤570,计算片断信息。如上所述,片断信息可包括由多边形图元定义的每一像素的RGB值。同样如上所述,当像素数据被从表面图元的顶点信息处理出时,片断信息被计算。在步骤572,为计算出的片断计算多平面帧缓冲器中的存储单元。这可以以任何适当的形式完成,其中x、y和z坐标被用来至少部分确定存储地址。在一些具体实施方式
中,例如,当3D图像的平面分辨率为640像素乘480像素时,该地址可以使用下列等式中的任一个来计算Addr=Nb/p*(x+640*y+640*480*zi)Addr=NB/p*(r*cosine(θ)+Nx*y’+Nx*Ny*r*sine(θ))这些等式的细节已经在上述的投影模式章节中进行了说明。
在步骤574,执行深度测试。如果一个像素位于先前处理过的不透明像素的后面(即,在更高的z),则新像素不可见并且相应的像素数据可以被放弃。如果该像素不是在一个不透明像素之后,则新像素可见并且保留相应的像素数据进行进一步的处理。
在步骤574,在图像片断上执行去混叠。在一个具体实施方式
中,z值的小数部分被用于计算相邻像素的RGB值。这样一个函数的例子公开在“__专利”中,并且如上所述。然而任何适当的去混叠函数都可以被使用。
可以选择的是,在步骤576,在多平面图像上执行alpha混合。任何适当的alpha混合技术都可以被使用,例如像上述常规的alpha混合。另一种选择,在多平面帧缓冲器中,如果位于一个新像素后(即,在相同的x、y位置而较大的z位置)的像素可以通过新前景像素被看到(即,该新前景像素是半透明的),则位于该新前景像素后的像素的亮度和/或颜色可以被修改。例如,背景像素的亮度和/或颜色可以依照前景像素的alpha值修改。
2.传送数据给多平面帧缓冲器如在投影模式中,按照要使用的系统和硬件的类型,翻译的数据可以以各种形式被处理并且被传送到显示器。
图6d显示了传送数据给多平面帧缓冲器的第一种方法。此方法适用于视频控制器和显示器都合并一个多平面帧缓冲器的情况。在此方法中,翻译和处理后的数据从视频控制器602的多平面帧缓冲器610块传送到显示器的多平面帧缓冲器612。
图6e显示了传送数据给多平面帧缓冲器的另一种方法。此方法适用于显示器620没有合并一个多平面帧缓冲器的情况(例如,帧缓冲器被合并入视频控制器602中)。在此方法中,多平面帧缓冲器610的内容可被用于利用一高带宽接口622直接驱动显示器。该接口可以是任何适当的传输数据的带宽,从而提供无闪烁的图像。
最后,视频控制器的部分可以置入图形源102中,同时其它部分置入显示器中。这如图6f中所示。在这种情况下,多平面帧缓冲器610被集成入显示器中。来自视频控制器602的双向地址和数据总线可以被包含作为接口624的一部分。
这样就提供了三维图像的光栅化。本领域的技术人员将会意识到,本发明可以以不同于所述具体实施方式
的方法实现,所述的具体实施方式
用于解释而不是限制本发明,并且本发明仅由所附权利要求加以限定。
权利要求
1.一种显示三维图像的方法,包括为多个像素产生三维图像数据,该三维图像数据包括(x,y,z)坐标和颜色信息,其特征在于,z坐标信息表示图像深度信息;和按照z坐标信息在帧缓冲器中的存储单元存储三维图像数据。
2.权利要求1的方法,其特征在于,存储包括读z坐标信息;在对应于图像数据即将要显示在上面的显示元件的数目的范围内变换z坐标信息;和以变换后的z坐标信息为基础为三维图像数据在帧缓冲器中分配存储单元。
3.权利要求1的方法,其特征在于,存储包括在第一存储单元存储和第一像素有关的图像数据;和在第二存储单元存储和第二像素有关的图像数据;其中,和所述第一像素有关的z坐标信息基本上相似于和所述第二像素有关的z坐标信息,并且所述第一存储单元在逻辑上非常接近所述第二存储单元。
4.权利要求1的方法,其特征在于,存储包括在逻辑上基本接近的帧缓冲器的存储单元中存储具有基本相同的z坐标信息的图像数据。
5.权利要求1的方法,进一步还包括在具有可设定(x,y,z)坐标的显示器上显示图像。
6.权利要求5的方法,其特征在于,存储进一步还包括按照下述等式为三维图像数据在帧缓冲器中分配存储单元Addr=Nb/p*(x+Nx*y+Nx*Ny*zi)其中,Addr是帧缓冲器中分配的存储单元,Nb/p是为每一像素存储信息的字节数,Nx是沿显示器x方向上的像素数,Ny是沿显示器y方向上的像素数,和zi是变换后的z坐标值的整数部分。
7.权利要求1的方法,进一步还包括在具有可设定(r,y’,theta)坐标的显示器上显示图像。
8.权利要求7的方法,其特征在于,存储进一步还包括按照下述等式为三维图像数据在帧缓冲器中分配存储单元,所述等式为Addr=NB/p*(r*cosine(theta)+Nx*y’+Nx*Ny*r*sine(theta))其中,Addr是帧缓冲器中分配的存储单元,NB/p是为每一像素存储信息的字节数,Nx是沿显示器x方向上的像素数,Ny是沿显示器y方向上的像素数,和zi是变换后的z坐标值的整数部分。
9.权利要求1的方法,其特征在于,存储包括提供至少和所述帧缓冲器一样大小的第一存储器;用三维图像数据填充所述第一存储器;和在单一操作中将所述第一存储单元的内容传送至所述帧缓冲器。
10.权利要求1的方法,其特征在于,存储包括提供小于所述帧缓冲器的第一存储器;用三维图像数据的一部分填充所述第一存储器;传送所述第一存储器的内容到第二存储器;光栅化三维图像数据;和传送第二存储单元的内容到所述帧缓冲器。
11.权利要求1的方法,其特征在于,存储包括提供小于所述帧缓冲器的第一存储器;用三维图像数据填充所述第一存储器;和传送所述第一存储单元的内容到所述帧缓冲器。
12.权利要求1的方法,进一步还包括按照z坐标信息传送所述三维图像数据到一个显示器。
13.权利要求1的方法,其特征在于,所述图像数据进一步还包括透明度信息和亮度信息。
14.权利要求13的方法,进一步还包括以第二像素的透明度信息为基础调整第一像素的亮度信息和颜色信息之一。
15.权利要求14的方法,其特征在于,和所述第一像素有关的z值大于和所述第二像素有关的z值。
16.权利要求1的方法,进一步还包括在三维立体显示器上显示图像。
17.权利要求16的方法,其特征在于,所述三维立体显示器包括其上显示图像数据的多个平面。
18.权利要求16的方法,其特征在于,所述三维立体显示器包括多个自发光光学元件。
19.权利要求16的方法,其特征在于,所述三维立体显示器是一个扫掠体积显示器(swept-volume display)。
20.权利要求1的方法,其特征在于,产生包括以个人计算机产生所述三维图像数据。
21.权利要求1的方法,其特征在于,产生包括把对应于三维图像的数据变换成对应于所述三维图像的多个二维剖面图像的数据。
22.权利要求1的方法,其特征在于,产生包括使用应用程序接口调用产生所述三维图像数据。
23.权利要求1的方法,其特征在于,产生包括产生表示多个定义三维图像的几何图元的数据。
24.一个显示三维图像的系统,包括为多个像素产生三维图像数据的装置,该三维图像数据包括(x,y,z)坐标和颜色信息,其中,z坐标信息表示图像深度信息;和按照z坐标信息把三维图像数据存储在帧缓冲器中的存储单元的装置。
25.权利要求24的系统,其特征在于,用于存储的装置包括读z坐标信息的装置;在对应于图像数据即将要显示在上面的显示元件的数目的范围内变换z坐标信息的装置;和以变换后的z坐标信息为基础为三维图像数据在帧缓冲器中分配存储单元的装置。
26.权利要求24的系统,其特征在于,所述用于存储的装置包括在第一存储单元存储和第一像素有关的图像数据的装置;和在第二存储单元存储和第二像素有关的图像数据的装置;其中,和所述第一像素有关的z坐标信息基本上相似于和所述第二像素有关的z坐标信息,并且所述第一存储单元在逻辑上非常接近所述第二存储单元。
27.权利要求24的系统,其特征在于,所述用于存储的装置包括在逻辑上基本接近的帧缓冲器的存储单元中存储具有基本相同的z坐标信息的图像数据的装置。
28.权利要求24的系统,进一步还包括在具有可设定(x,y,z)坐标的显示器上显示图像的装置。
29.权利要求28的系统,其特征在于,所述用于存储的装置包括按照下述等式为三维图像数据在帧缓冲器中分配存储单元的装置,所述等式为Addr=Nb/p*(x+Nx*y+Nx*Ny*zi)其中,Addr是帧缓冲器中分配的存储单元,Nb/p是为每一像素存储信息的字节数,Nx是沿显示器x方向上的像素数,Ny是沿显示器y方向上的像素数,和zi是变换后的z坐标值的整数部分。
30.权利要求24的系统,进一步还包括在具有可设定(r,y’,theta)坐标的显示器上显示图像的装置。
31.权利要求30的系统,其特征在于,所述用于存储的装置包括按照下述等式为三维图像数据在帧缓冲器中分配存储单元的装置,所述等式为Addr=NB/p*(r*cosine(theta)+Nx*y’+Nx*Ny*r*sine(theta))其中,Addr是帧缓冲器中分配的存储单元,NB/p是为每一像素存储信息的字节数,Nx是沿显示器x方向上的像素数,Ny是沿显示器y方向上的像素数,和zi是变换后的z坐标值的整数部分。
32.权利要求24的系统,其特征在于,所述用于存储的装置包括提供至少和所述帧缓冲器一样大小的第一存储器的装置;用三维图像数据填充所述第一存储器的装置;和在单一操作中将所述第一存储单元的内容传送至所述帧缓冲器的装置。
33.权利要求24的系统,其特征在于,所述用于存储的装置包括用于提供小于所述帧缓冲器的第一存储器的装置;用于用三维图像数据的一部分填充所述第一存储器的装置;用于传送所述第一存储器的内容到第二存储器的装置;用于光栅化三维图像数据的装置;和用于传送第二存储单元的内容到所述帧缓冲器中的装置。
34.权利要求24的系统,其特征在于,所述用于存储的装置包括用于提供小于所述帧缓冲器的第一存储器的装置;用于用三维图像数据填充所述第一存储器的装置;和用于传送所述第一存储单元的内容到所述帧缓冲器的装置。
35.权利要求24的系统,进一步还包括按照z坐标信息传送所述三维图像数据到一个显示器的装置。
36.权利要求24的系统,其特征在于,所述图像数据进一步还包括透明度信息和亮度信息。
37.权利要求36的系统,进一步还包括用于以第二像素的透明度信息为基础调整第一像素的亮度信息和颜色信息之一的装置。
38.权利要求37的系统,其特征在于,和所述第一像素有关的z值大于和所述第二像素有关的z值。
39.权利要求24的系统,进一步还包括在三维立体显示器上显示图像的装置。
40.权利要求39的系统,其特征在于,所述三维立体显示器包括其上显示图像数据的多个平面。
41.权利要求39的系统,其特征在于,所述三维立体显示器包括多个自发光光学元件。
42.权利要求39的系统,其特征在于,所述三维立体显示器是一个扫掠体积显示器。
43.权利要求24的系统,其特征在于,所述用于产生的装置包括以个人计算机产生所述三维图像数据的装置。
44.权利要求24的系统,其特征在于,所述用于产生的装置包括用于把对应于三维图像的数据变换成对应于所述三维图像的多个二维剖面图像的装置。
45.权利要求24的系统,其特征在于,所述用于产生的装置包括用于使用应用程序接口调用产生所述三维图像数据的装置。
46.权利要求24的系统,其特征在于,所述用于产生的装置包括用于产生表示多个定义三维图像的几何图元的数据的装置。
47.一种三维显示系统包括一帧缓冲器和一微处理器,被编制程序用以为多个像素产生三维图像数据,该三维图像数据包括(x,y,z)坐标和颜色信息,其特征在于,z坐标信息表示图像深度信息;和按照z坐标信息在帧缓冲器中的存储单元存储三维图像数据。
48.权利要求47的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便读z坐标信息;在对应于图像数据即将要显示在上面的显示元件的数目的范围内变换z坐标信息;和以变换后的z坐标信息为基础为三维图像数据在帧缓冲器中分配存储单元。
49.权利要求47的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便在第一存储单元存储和第一像素有关的图像数据;和在第二存储单元存储和第二像素有关的图像数据;其中,和所述第一像素有关的z坐标信息基本上相似于和所述第二像素有关的z坐标信息,并且所述第一存储单元在逻辑上非常接近所述第二存储单元。
50.权利要求47的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便在逻辑上基本接近的帧缓冲器的存储单元中存储具有基本相同的z坐标信息的图像数据。
51.权利要求47的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便在具有可设定(x,y,z)坐标的显示器上显示图像。
52.权利要求51的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便按照下述等式为三维图像数据在帧缓冲器中分配存储单元,所述等式为Addr=Nb/p*(x+Nx*y+Nx*Ny*zi)其中,Addr是帧缓冲器中分配的存储单元,Nb/p是为每一像素存储信息的字节数,Nx是沿显示器x方向上的像素数,Ny是沿显示器y方向上的像素数,和zi是变换后的z坐标值的整数部分。
53.权利要求47的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便在具有可设定(r,y’,theta)坐标的显示器上显示图像。
54.权利要求53的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便按照下述等式为三维图像数据在帧缓冲器中分配存储单元,所述等式为Addr=NB/p*(r*cosine(theta)+Nx*y’+Nx*Ny*r*sine(theta))其中,Addr是帧缓冲器中分配的存储单元,NB/p是为每一像素存储信息的字节数,Nx是沿显示器x方向上的像素数,Ny是沿显示器y方向上的像素数,和zi是变换后的z坐标值的整数部分。
55.权利要求47的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便提供至少和所述帧缓冲器一样大小的第一存储器;用三维图像数据填充所述第一存储器;和在单一操作中将所述第一存储单元的内容传送至所述帧缓冲器。
56.权利要求47的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便提供小于所述帧缓冲器的第一存储器;用三维图像数据的一部分填充所述第一存储器;传送所述第一存储器的内容到第二存储器;光栅化三维图像数据;和传送第二存储单元的内容到所述帧缓冲器。
57.权利要求47的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便提供小于所述帧缓冲器的第一存储器;用三维图像数据填充所述第一存储器;和传送所述第一存储单元的内容到所述帧缓冲器。
58.权利要求47的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便按照z坐标信息传送所述三维图像数据到一个显示器。
59.权利要求47的三维显示系统,其特征在于,所述图像数据进一步还包括透明度信息和亮度信息。
60.权利要求59的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便以第二像素的透明度信息为基础调整第一像素的亮度信息和颜色信息之一。
61.权利要求60的三维显示系统,其特征在于,和所述第一像素有关的z值大于和所述第二像素有关的z值。
62.权利要求47的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便在三维立体显示器上显示图像。
63.权利要求62的三维显示系统,其特征在于,所述三维立体显示器包括其上显示图像数据的多个平面。
64.权利要求62的三维显示系统,其特征在于,所述三维立体显示器包括多个自发光光学元件。
65.权利要求62的三维显示系统,其特征在于,所述三维立体显示器是一个扫掠体积显示器。
66.权利要求47的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便以个人计算机产生所述三维图像数据。
67.权利要求47的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便把对应于三维图像的数据变换成对应于所述三维图像的多个二维剖面图像的数据。
68.权利要求47的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便使用应用程序接口调用产生所述三维图像数据。
69.权利要求47的三维显示系统,其特征在于,所述微处理器进一步被编制程序以便产生表示多个定义三维图像的几何图元的数据。
全文摘要
本发明提供了一种三维图像光栅化方法,其中,至少包括(x,y,z)坐标和颜色信息的三维图像数据,按照z坐标信息,被产生、组织,并存储在一个或者多个帧缓冲器的存储单元。
文档编号G06T15/40GK1489753SQ01822711
公开日2004年4月14日 申请日期2001年12月18日 优先权日2000年12月18日
发明者阿兰·萨立文, 约翰·T·斯纳弗, T 斯纳弗, 阿兰 萨立文 申请人:阿兰·萨立文, 约翰·T·斯纳弗, 阿兰 萨立文
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1