产生图象的方法和装置 本发明涉及一种能产生图象的图象产生装置,例如,在三维图形系统中,将事先准备好的图象,对每个多边形进行亮度计算,从而变换到由绘图操作而产生的多边形。
在三维图形系统中,例如,多个多边形的总体可显示为一个物体,多个多边形可由事先准备的结构图象来修改。通过所谓的结构变换(其中结构图象加到多边形上)处理可达到这种多边形的修改。在这种结构变换中,为了使显示的物体有三维的外观,要进行所谓的明暗处理,其中实际光源的位置被设定,每个多边形地明暗程度与光源有关。这种明暗变化是这样完成的,即给实际亮度中最亮位置处的多边形的亮度指定一个明暗常数K=1,而给较暗的多边形(其值小于1)设置明暗系数K,其值取决于它们实际的暗度。
一般,准备结构变化的结构图象使用代表图象显示装置的亮度的整个动态范围。结果,在结构变化中,多边形的亮度只能在减少的方向上设备。因此,不可能进行这样的结构变换,以使得变换的结构图象具有高于其原始彩色的亮度。
因此,考虑到图象的亮度高于原始常规亮度的需要,如爆炸的场合所碰到的,有必要准备具有高于常规亮度的结构图象。具有常规外观的图象(具有常规亮度的图象)可由知上述的、较高亮度的结构图象变换而产生,因此亮度是减少的。
申请人使用下述的日本专利申请作为本中请的绘图装置的参考。
05-190763(1993年6月30日申请)
05-190765(1993年7月2日申请)
05-258625(1993年10月15日申请)
06-027405(1994年1月31日申请)
每个上述申请都由本发明的受让人享有,在此,一起作为参考。(相应这四个日本专利申请的美国申请正在审理。)
如上所述,对于常规结构变换,事先产生具有高于常规亮度的亮度的结构图象,以使图象有增加的亮度。因此,不可能产生具有常规外观的结构图象。这导致产生结构图象的困难。另一个问题是结构图象的产生需要长时间。
例如,通过减少事先准备的较高亮度的结构图象的亮度,来产生用结构变换产生的、具有常规亮度的图象。这很难使图象具有自然的常规亮度,因为这样的处理使具有常规亮度的图象呈现较暗的外观。
本发明针对上述的问题,本发明的目的是提供一种产生图象的方法和装置,它可以准备常规亮度的结构图象并可产生图象亮度高于原始结构图象的结构变换图象。
为了解决上述问题,按照本发明,提供了在变换结构图象的系统中产生图象的方法,该系统通过对每个多边形区域计算亮度值,将事先准备好的结构图象变换到由绘图处理获得的多边形区域,其中小于系统能提供的最大亮度值的亮度值用作为事先准备的结构图象的最大亮度值,在结构图象变换到多边形区域中所呈现的亮度可以高于结构图象的原始亮度。
另外,按照本发明,提供了通过对每个多边形区域进行亮度计算、用于将事先准备的结构图象变换到由绘图处理获得的多边形区域的图象产生装置,它包括用于执行变换的第一变换装置,使得低于能提供的最大亮度值的亮度值M用作为使用结构图象能呈现的最大亮度值,以及用于变换结构图象的第二变换装置,它使得图象能呈现高于亮度值M的亮度值。
按照具有上述结构的本发明,为结构变换而准备的结构图象的最大亮度值被设置到低于系统能提供的最大亮度值的亮度值,以执行结构变换。结果,可能使图象具有的亮度等于或低于准备的结构图象的原始彩色的亮度,该图象使用等于或低于上述低亮度值的亮度动态范围。
比准备的结构图象亮的图象可呈现的亮度处于系统能提供的最大亮度值与上述低亮度值之间。
由于可以呈现比准备的结构图象亮的图象,结构图象可以用产生自然外观的常规亮度来准备。另外,由于可容易获得比准备的结构图象亮的图象,在游戏机等上出现的爆炸和所谓的变白图象可容易地从具有常规外观的、准备的结构图象来获得。
如上所述,按照本发明,用结构变换形成的图象可以呈现高于事先准备的结构图象的原始彩色的亮度。这使得用结构变换的图象发生闪光并获得所谓的发白效果成为可能。
另外,由于不必象现有技术那样事先用最高可能亮度来准备结构图象,产生的结构图象可以有常规的外观。结果,产生应用程序的负担可以减少,而且结构变换的图象可以呈现自然的外观而没有象太暗色调那样的不自然。
图1是按照本发明的图象产生装置的主要部分的实施例的方框图。
图2图示了按照本发明的产生图象的方法的实施例。
图3图示了图1所示实施例的操作。
图4按照本发明整体图象产生装置的方框图。
图5图示了在按照本发明的图象产生装置的实施例中的帧存贮器的存贮区域。
图6显示了在按照本发明的图象产生装置的实施例中的多边形绘图指令的例子。
图7图示了在按照本发明的图象产生装置的实施例中绘制和显示多边形的次序。
图8图示了结构变换。
下面将结合附图对本发明的实施例进行描述。图4显示了按照本发明图象产生装置一种结构的例子。该实施例是本发明的具有3D图形功能和动态图象重现功能的游戏机中的实施例。
在图4中,41表示系统总线。CPU42、主存贮器43和分类控制器45与系统总线41连接。
通过用于输入的FIFO缓冲存贮器54(下面FIFO缓冲存贮器简称为FIFO缓冲器)和用于输出的FIFO缓冲器55,图象去压缩装置部分51也连接到系统总线41。另外,CD-ROM解码器52和绘图装置部分61也分别通过FIFO缓冲器56和FIFO缓冲器62与系统总线41连接。
71表示作为控制输入装置的控制板,它也通过接口72与系统总线连接。另外,其中存贮有启动游戏机的程序的引导ROM73也连接到系统总线。
CD-ROM解码器连接到CD-ROM驱动器53并对应用程序(例如游戏程序)和记录在CD-ROM驱动器53中的CD-ROM光盘上的数据进行解码。例如,CD-ROM光盘上记录有经离散余弦变换(DCT)图象压缩的动态和静态图象以及用于限定多边形的结构图象。在CD-ROM光盘上的应用程序包括多边形绘图命令。FIFO缓冲器56具有存贮CD-ROM上一个扇段数据的容量。
CPU42整体上管理该系统。CPU42还完成一部分物体绘图处理,该物体是多个多边形的集合。具体地,CPU42产生一串用于产生图象的绘图命令,该图象在主存贮器43中构成一个屏幕,如下所述。
CPU包括超高速缓冲存贮器46,它允许某些CPU指令不通过总线41就可执行。另外,CPU42还装备有座标计算部分44,以作为CPU的内部协处理器,当产生绘图命令时,它完成转换多边形座标的计算。座标计算部分44完成三维座标转移和三维到显示屏上两维的转换的计算。
由于CPU42具有如上所述的指令高速缓冲存贮器46和座标计算部分44,CPU42的处理不用总线就可完成,并使总线空出的可能性增加。
图象去压缩装置部分51对从CD-ROM光盘上再现的压缩图象数据进行去压缩,并包括用于解码哈弗曼码的硬件或解码器、反向量化电路和反向离散余弦变换电路。哈弗曼码解码器的部分处理可由CPU42在软件基础上完成。
在该实施例中,图象去压缩装置部分51将一个(一帧)图象分成小区域,每个比如包括16×16个象素(下面将该种区域称为宏块),并在每个宏块上进行图象去压缩解码。数据以宏块为基础在该部分与主存贮器43之间转移。因此,FIFO缓冲器54和55具有存贮一个宏块的容量。
帧存贮器63通过本地总线11连接到绘图装置部分61。绘图装置部分61执行从主存贮器43通过FIFO缓冲器62传送来的绘图指令,并将结果写入帧存贮器63。FIFO缓冲器62具有存贮绘图命令的容量。
帧存贮器63包括用于存贮绘图的图象存贮器区域、用于存贮结构图象的结构区域、和用于存贮彩色查找表(或彩色转换表)CLUT的表格存贮区域。
图5显示了帧存贮器63的存贮空间。帧存贮器是用两维地址即列和行地址来编址的。在该两维地址空间,区域AT用作为结构区域。在该结构区域AT中可提供多种结构模式。AC表示用于彩色转换表CLUT的表存贮区域。
如下面所详细描述,在彩色转换表CLUT中的数据由分类控制器45从CD-ROM光盘上通过CD-ROM解码器52传送到帧存贮器63。在CD-ROM光盘内的结构图象数据在图象去压缩装置部分51处被数据去压缩,并通过主存贮器43被传送到帧存贮器63。
在图5中,AD表示图象存贮区域,它包括两个帧缓冲区域,即缓图区域和显示区域。在该实施例中,当前被用于显示的帧缓冲区域被称为显示缓冲器,在其中完成绘图的区域称为绘图缓冲器。在这种情况,当用一个区域作为绘图缓冲器来完成绘图时,另一个就被用作显示缓冲。当绘图完成时,这些缓冲器的功能被转换。当绘图完成时,绘图和显示缓冲器的转换与垂直同步同时执行。
从帧存贮器63的显示缓冲器读出的图象数据通过D-A转换器64输出到图象监视装置65,以在屏幕上显示它。
分类控制器45具有类似于所谓DMA控制器的功能,并构成了一个传送装置,用于在主存贮器43和图象去压缩装置部分51之间传送图象数据,以及从主存贮器43向绘图装置部分61传送一串绘图命令。当系统总线41没有被其它装置比如CPU42和控制板71占用而又不干涉CPU42时,分类控制器45执行上述传送处理,在时间间隔上有优点。在这种情况下,可以做这种的安排,即使CPU42注意分类控制45不占用系统总线41的状态,或使分类控制器45强迫性地请求CPU42释放总线。
为了存贮动态图象和静态图象的图象数据,主存贮器43包括用于压缩图象的存贮区域和用于经过去压缩编码的去压缩图象数据的存贮区域。主存贮器43也包括用于图形数据比如绘图指令串的存贮区域(比如下面称作为包缓冲器的区域)。包缓冲器用于设置由CPU42执行的绘图指令串并将绘图命令串传送到绘图装置部分,它由CPU42和绘图装置部分61共享。为了允许CPU42和绘图装置部分61之间的并行处理,在该实施例中,提供了两个包缓冲器,一个用于设置绘图命令串的包缓冲器(以下称作为设置包缓冲器),以及一个用于传送的包缓冲器(以下称作为执行包缓冲器)。当一个缓冲用作为设置包缓冲器时,另一个则用作为执行包缓冲器,当使用执行包缓冲器的执行完成时,两个包缓冲器的功能交换。下面将描述该装置的处理。[从CD-ROM光盘中提取数据]
当图4中的实施例中(游戏机)装置加电并且CD-ROM光盘装载时,CPU42执行所谓的启动处理程序,以准备在引导ROM73中执行游戏。然后取出记录在CD-ROM中的数据。同时,基于包含在CD-ROM光盘每个扇区的用户数据中的、用于检查数据的识别信息ID,用户数据的解码被执行。基于该检查的结果,CPU按照由ID指示的内容的重放数据来执行处理。
具体地,将由CPU42执行的压缩图象数据、绘图命令、和程序通过CD-ROM驱动器和CD-ROM解码器52从CD-ROM光盘中读出,并由分类控制器45装入主存贮器43。在装载的数据中,彩色转换表的信息被传送到帧存贮器63有区域CLUT中。
[压缩图象数据的去压缩和传送]
在输入到主存贮器43的数据中,压缩的图象数据受到由CPU42执行的哈弗曼码解码,然后再由CPU42写入主存贮器43。分类控制器45将经过哈弗曼解码的图象数据从主存贮器43通过FIFO缓冲器54传送到图象去压缩装置部分51。图象去压缩装置部分51通过对图象数据进行反量化处理和反DCT处理来完成去压缩-解码处理。
去压缩的图象数据由分类控制45通过FIFO缓冲器55传送到主存贮器43。如上所述,图象去压缩装置部分51以宏块为基础对图象数据进行去压缩。结果,以宏块为基础的压缩数据由分类控制器45从主存贮器43传送到输入FIFO缓冲器54。当完成一个宏块的去压缩解码时,图象去压缩装置部分51输入最后的去压缩图象数据到FIFO输出缓冲器55,以从输入FIFO缓冲器54中取出下一个宏块的压缩数据,以对它进行去压缩解码。
如果系统总线41没有占用,图象去压缩装置部分51的输出FIFO缓冲器55也是空的,则分类控制器45将一个宏块的去压缩图象数据传送到主存贮器43,并将下一个宏块的压缩图象数据从主存贮器43中传送到图象去压缩装置51的输入FIFO缓冲器。
当去压缩图象数据的预定数量的宏块被聚集在主存贮器43中时,CPU42将去压缩的数据通过绘图装置部分61传送到帧存贮器63。如果去压缩数据被传送到帧存贮器63的图象存贮区域AD,它将被作为背景动态图象显示在图象监视器65上。反过来,数据也可能被传送到帧存贮器63的结构区域AT。在结构区域AT的图象数据用作为修改多边形的结构图象。
[绘图指令串的处理和传送]
构成物体表面的多边形可以减少Z数据的深度次序来绘制,该Z数据是三维深度的信息,以在两维图象显示表面上显示具有三维感的图象。CPU42在主存贮器43中产生一串绘图指令,它使得绘图装置部分61以减少上述深度的次序一绘制多边形。
在计算机制图中,采用了所谓的Z缓冲器方法,其中基于为每个象素存贮的Z数据来决定多边形的显示优先权。可是,按照Z缓冲器方法,需要大容量的存贮器来存贮Z数据。为了解决它,按照本实施例,CPU42执行决定多边形显示优先权的处理,如下所述。
为此目的,在该实施例中的多边形绘图指令IP具有如图4所示的结构。具体地,多边形绘图指令IP具有在多边形绘图数据PD之前的开头部分。该开头部分包括标志TG和指令识别码代码CODE。
其中存贮下一个绘图指令的主存贮器43的地址被写入标志TAG中。指令识别码代码CODE包括识别数据IDP,它识别绘图指令的内容和该绘图指令需要的其它信息。多边形绘图数据PD是由多边形的顶点的座标数据构成的。如果绘图指令IP是一个绘制矩形多边形的指令而且该多边形的内部是要绘成单一的颜色,则识别数据IDP指示这样,而要绘制的颜色的数据被说明为其它的必须的信息。
用于矩形多边形的绘图指令的例子显示于图6的B处。该绘图指令包括四个点的座标(X0,Y0),(X1,Y1),(X2,Y2)和(X3,Y3),以及用于单色绘制多边形内部的三基色(R、G、B)的颜色数据。
基于通过控制板而来自用户的控制输入,CPU42计算物体的运动和观看点并在主存贮器43中产生一串多边形绘图指令。然后,按照使用Z数据的显示次序重写多边形绘图指令的标志。这时,主存贮器43中的绘图指令的地址不变,而只是标志重写。
当完成该绘图指令串时,分类控制器45按照绘图指令的标志TG的次序将该绘图指令一个一个地从主存贮器43中传送到绘图装置部分61。因此,FIFO缓冲器62只需要存贮一个绘图指令的容量。
如图7所示,由于传送到绘图装置部分61的数据已被分类,该绘图装置部分61按照各个标志TG1、TG2、TG3、···、TGn顺序地执行多边形绘图指令IPI、IP2、IP3、···、IPn,并在帧存贮器63的绘图区域AD中存贮该结果。
当多边形绘完时,数据被送到绘图装置部分61的梯度计算单元,以进行梯度计算。梯度计算是为了获得绘图数据平面的梯度的一种计算,以填充要绘制的多边形的内部。在这种结构情况下,多边形是用结构图象数据填充的,在发光暗的情况下,多边形是用亮度值填充的。
当构成一个物体的表面的多边形被构成时,在结构区域AT的结构数据受到两维变换。例如,图8A处指示的结构模式T1、T2和T3被转换成两维屏幕上的座标,因此使它们适合构成图8B处所示物体各表面的多边形。如图8的C处所示,如此变换的结构模式T1、T2和T3被加到物体OB1的各个表面。该产品被置于图象存贮区域AD并以图象显示监视器65的显示屏幕上显示。
在静止图象构成的情况下,在主存贮器43中的结构模式通过绘图装置部分61被传送到帧存贮器63的结构区域AT。该绘图装置部分61将它们加到多边形。这样就在物体上提供静止的图象结构。这种静止的图象结构模式可被记录在CD-ROM光盘上。
另外,也可能完成动态图象构成,在动态图象构成的情况下,来自CD-ROM光盘的压缩的动态图象数据临时读入主存贮器43,如上所述。然后该压缩的图象数据被送到图象去压缩装置部分51,它对图象数据进行去压缩。如上述的,这种去压缩处理的一部分是由CPU42完成的。
该去压缩的图象数据被送到帧存贮器63的结构区域AT由于结构区域AT被提供在帧存贮器63中,结构模式本身可以以一帧接一帧为基础重写。因此,当动态图象被送到结构区域AT时,作为以一帧接一帧为基础而重写的结果,结构动态地变化。运用在结构区域的这些动态图象的结构变换将允许动态图象的构成。
如上所述,通过将由图象去压缩装置部分51去压缩的图象数据送到帧存贮器63的图象存贮区域AD,就可以在图象监视器屏幕65的屏幕上显示作为背景图象的动态图象,并只用由CPU42产生的图象来填充该图象存贮区域AD,以在图象显示监视器65的屏幕上绘制一幅图象。也可以运用由CPU62绘制的多边形在来自CD-ROM光盘的、在图象存贮区域AD的由去压缩图象数据,来绘制一个物体。
[结构变换处理的描述]
接下来将参考图1-3描述由帧存贮器63和绘图装置部分61执行的结构变换处理。
在该实施例中,如上所述,将用于结构变换的结构图象从CD-ROM光盘中读取,并经受去压缩解码。因此,它们被写入帧存贮器63的结构区域AT。作为结构图象而准备的图象具有通常的亮度和通常的外表。
在该实施例中,在该结构区域的结构图象的变换用其原始的亮度来进行结构捕捉,对此指定明暗系数K=1(该亮度部分对应于实际的亮度源),这被称作为常规模式,而用就高于原始亮度的亮度进行的结构图象的变换被称作为特殊模式。
如图2所示,在该实施例中,当特殊模式的动态范围与系统作为一个整体而呈现的亮度的动态范围相同时,常规模式的动态范围是整个系统呈现的亮度的动态范围的一半。因此,在特殊模式,图象的呈现可以用高于在结构区域AT中准备的结构图象亮度的亮度来完成。
具体地,在常规模式中,用为每个多边形获得的常规模式的、其范围为0≤K1≤1的明暗系数K1,CPU42在系统作为一个整体的呈现的亮度动态范围的较暗侧的一半中完成结构变换。
在另一方面,在特殊模式中,在该模式中变换的阴影系统K2被置于K2>1的范围,以获得比原始结构图象亮的结构变换图象。例如,K2设为2,以获得爆炸的模式。
以这种安排,事先准备的结构图象可以是具有常规亮度的那些,如上述。
可是,在这种情况,由原始结构图象能提供的亮度的最大值小于系统能提供的亮度的最大值,在该实施例中,前者是后者的一半。
图1是用于结构变换处理的绘图装置部分61的一部分的方框图。在该实施例中,在结构图象中的每个象素的数据由三基色(红(R)、绿(G)和兰(B)信息构成,每个基色由5比特代表。
在图1所示的绘图装置部分61中,用于结构变换处理的部分由变换数据提取部分21、比特转换部分22、系数相乘部分23和24、转换电路25和转换控制部分26构成。
变换数据提取部分21从存贮在结构区域AT中的结构图象中提取将要变换处理的q结构图象,并将它加到比特转换部分22。如图3的A和B处所示,比特转换部分22为每个由5比特代表的三基色R(红)、G(绿)和B(兰)数据删除其最不重要的比特,因此将它们转换成由四个重要比特代表的三基色R1、G1和B1。结构图象的原始彩色在某一范围内,该范围是使用都由四比特代表的三基色R1、G1和B1的图象产生装置的亮度动态范围的一半。
比特转换部分22的输出被加到系数乘法部分23和24。系数乘法部分23执行在常规模式下的结构变换中的明暗系数K1的乘法。系数乘法部分24执行在特殊模式下的结构变换中的明暗系数K2的乘法。如上所述,明暗系数K1满足0≤K1≤1。明暗系数K2满足K2>1,并在爆炸的模式情况下固定为2。
这些系数K1和K2由CPU42用实际的光源对每个多边形而计算的。它们通过绘图装置部分61被加到各自的系数乘法部分23和24。
如图3所示,由系数乘法部分23输出的数据在由四比特代表的三基色的每个数据的最重要比特侧上一个“0”比特。因此,三基色的每个数据作为5比特输出。由系数乘法部分24输出的数据以K2三基色的每个数据作为5比特输出。具体地,当产生载体时,一个作为载体的“1”比特被加到由四比特代表的三基色的每个数据的最重要比特的一侧,当没有载体产生时,一个“0”比特加到每个数据的最重要比特的一侧。在爆炸模式的情况下,由于K2=2,一个“1”比特加到由四比特代表的三基色的每个数据的最重要比特的一例。因此,执行系数为2的乘法。
系数乘法部分23和24的输出加到用于在常规和特殊模式之间转换的电路25上。转换电路25由来自转换控制部分26的转换信号而转换的。转换控制部分26基于来自CPU42的模式转换信号而形成转换电路25的转换控制信号。
在常规模式下,转换电路25被切换到输入端a,这使得来自系数乘法部分23的图象数据被传送到帧存贮器63的图象存贮区域AD。由于在系数乘法部分23处以图象数据的系数K1满足0≤K1≤1,则用等于或低于结构图象的原始亮度的亮度来执行变换。结果,结构变换提供自然的亮度和外表。
在特殊模式的情况下,转换电路25被切换到输入端b。这使得来自系数乘法部分24的图象数据被传送到帧存贮器63的图象存贮区域AD,因此导致结构变换。例如,如果爆炸模式被变换,K2设为2,以用双倍的亮度对原始的结构图象进行变换。
因此,按照上述的实施例,在常规模式下的结构变换中呈现的亮度的动态范围是系统呈现亮度的动态范围的一半,这就可能使亮度呈现到用结构变换而准备的结构图象的原始彩色的亮度的两倍。
在上述实施例中,尽管在常规模式下结构变换中呈现的亮度的动态范围是系统呈现亮度的动态范围的一半,但在常规模式下结构变换中呈现的亮度的动态范围的大小并不限制于该实施例的值,而是取决于常规模式下结构变换的亮度方向的分辨率(亮度的等级)和必须从预备的结构图象中获得的亮度的大小。
从前面的描述和附图而来,本专业的技术人员可以作出各种对本发明的改型。因此,本发明全部由下列的权利要求的范围来限定。