图像生成的方法与设备的制作方法

文档序号:6409014阅读:176来源:国知局
专利名称:图像生成的方法与设备的制作方法
技术领域
本发明涉及一种根据以压缩的形式传输的图象数据或计算机图形的绘图数据生成图象的方法与设备。具体地讲,本发明涉及适合于在试图利用有限硬件资源实现高显象性能的场合应用的图象生成方法与设备,例如在诸如电视游戏机或图形计算机之类的利用计算机图形的设备的场合。
在一种计算机图形中一般称为3D(三维)图形系统的系统中,为了逼真地画出一个物体(画制物体),即重建一个立体图象,将物体表面分解为多个多边形(即,绘图装置处理的图形的最小单元(三角形和四角形)),然后这些多边形被顺序地引入一个帧存储器(视频RAM),该存储器对应于监视器的显示屏。
在这种类型的图象生成设备中,为快速处理,通常在CPU与帧存储器之间设置一个专用的绘图装置。在进行绘制一个图象时,CPU产生一些用于绘制基本图形,诸如三角形和四角形(多边形)的指令(下文称为绘图指令)和发送这些指令到绘图装置,而不是直接访问帧存储器。绘图装置翻译接收的指令和绘制在帧存储器中的图象。


图19A和19B表示一种绘图方法的具体例子。为了显示如图19A所示的具有A-G顶点的长方体的物体,首先该物体被分解为三个四边形,即如图19B所示的多边体Pa、Pb和Pc。
而后,如图20所示,CPU产生对应于多边形Pa、Pb和Pc的绘图指令IPa、IPb和IPc。每个绘图指令IPa、IPb和IPc包括多边形Pa、Pb或Pc的顶点座标(Ax,Ay)-(Dx,Dy),(Cx,Cy)-(Fx,Fy)或(By,By)-(Gx,Gy),用于确定在显示屏上的显示位置;和指示多边形Pa、Pb或Pc内部颜色的信息0D。
绘图装置根据上述绘图指令绘出在帧存储器中的物体。通过各绘图指令变换帧存储器的绘图数据为模拟信号和送该信号到一个显示装置(监视器),使物体显示在规定的显示位置。
另外,转移绘图指令到绘图装置的公共方法是使用DMA(直接存储器存取),以实现快速转移。
然而,在这种类型的常规图象生成设备中仅一部分存储在帧存储器中的数据,诸如绘图指令与图象数据是DMA转移的。例如在绘图之前所必须的控制指令,诸如用于清屏幕和改变分辨率的指令不能是DMA转移的,而是独立于绘图指令转移的。因此,绘图装置需要具有分别的和独立的用于绘图指令的与控制指令的接收部分。
另外,绘图指令与控制指令的分开转移要求复杂的处理。例如,在绘制某一物体以后改变分辨率,常规的方法需要涉及复杂的处理。在始终监视绘制该物体的操作时,CPU等待绘图的完成。当检测到该物体的绘制完成时,CPU停止绘图数据的DMA转移,改变分辨率,和然后重新开始绘图数据的DMA转移。
为了简化绘图装置的结构和作为用于上述类型DMA转移的转移装置的DMA控制器,一种方法是使诸如绘图指令的DMA转移数据具有固定长度的数据包(转移单元)。在这种情况下,数据包应当不短于诸如绘图指令之类的DMA转移的最大长度。但是,如果经常使用短于该数据包的绘图指令,则出现许多低效转移操作。
例如,在DMA转移指令数据具有类似指令1-3的各种数据长度(图21A-21C中的阴影部分),如图21A-21C所示数据包的长度设置成等于最大数据长度。短于该数据包的指令数据的空闲部分被填充以例如非操作码NOP。图22表示在这种情况下的转移与绘图时间。不难理解,非操作码NOP的转移时间被无益的消耗了。
从上面观点看,本发明的第一个目的是允许控制数据与绘图数据一起传送。本发明的第二个目的是能使DMA数据转移的数据长度是不固定的。
美国专利5133025与本发明的DMA有关。另外,日本专利申请Hei.5-190764(1993年7月2日提交),Hei 5-258625(1993年10月15日提交)和Hei.6-27405(1994年1月31日提交)与本发明的绘图装置有关。这些日本申请的每一个都是由本发明的受让人提出申请的并援引于此以资参考。与这些日本申请相对应的美国专利申请目前正在审查之中。
为了解决上述问题,按照本发明,转移绘图指令和由CPU产生的控制指令到绘图装置部分和在该绘图装置部分中通过按照绘图指令和控制指令顺序执行绘图操作的图象生成方法包括以下步骤构成绘图指令和控制指令,以便它们具有包括标题部分和指令数据部分的数据结构,标题部分具有表示指令种类的命令识别码;和形成绘图指令序列,其中以绘图和控制步骤的次序安排绘图指令和控制指令,和转移该绘图指令序列到不包括CPU的绘图装置部分。
另外,按照本发明,一种图象生成设备包括(即下文描述的实施例所用的参考号码)用于存储绘图指令与控制指令的存储器43;用于产生绘图指令与控制指令的CPU42,以便它们具有包括标题部分和指令数据部分的数据结构,标题部分具有用于表示指令的种类、并在存贮器42中产生绘图指令序列的命令识别码,其中绘图指令和控制指令以绘图和控制过程的次序排列。
按照绘图指令和控制指令、用于在帧存贮器63中完成绘图操作的绘图装置部分61。
转移装置45,用于从存储器43中读取绘图指今序列,并将它转移到绘图装置部分,而不关闭CPU。
另外按照本发明,绘图指令如此构成,使得它们有这种结构,即包括标题部分和指令数据部分。标题部分具有表示指令种类、整个可变绘图指令的数据长度的命令识别码;数据长度是由该命令识别码判断的,和绘图指令以取决于该数据长度的转移量被转移到绘图装置。
控制指令也可以按与绘图指令相同的数据结构来构成,和绘图指令与控制指令可以以混合方式转移到绘图装置部分。
在上述情况下,绘图指令与控制指令具有相同数据结构,其中绘图指令与控制指令被安排为以绘图与控制步骤为序的绘图指令序列被转移到绘图装置部分。绘图装置部分以其在绘图指令序列中的次序顺序地执行绘图指令与控制指令。
因此,因为用于绘图的控制指令可以以绘图指令相同的方式转移,不仅绘图装置部分,而且转移和执行都被简化了。从而,增加了处理速度和改善了实时性能。
因为包含控制操作的绘图序列可以以统一的方式管理,能够容易地实现绘图装置部分的处理过程中的控制操作的定时控制,还有助于改善处理的效率。另外,与在DMA转移情况一样,当CPU空出系统总线时,在各时间间隔期间绘图指令序列可以以高速转移。
由于整个绘图指令序列包含在主存储器中,CPU可以在任何时间控制它,从而,响应于通过控制键盘等的外部输入,可以立即执行控制。因此,在屏上显示的响应速度可被改善,能够容易实现优良实时性能的游戏机。
在接下来要执行的指令的主存储器的地址值包括有一个绘图指令或一个控制指令的场合,主要改变绘图次序时,在各绘图指令中重新安排地址值就足够了,也就是说,不需要在主存储器中重新安排绘图指令本身使之位于已改变的地址。因此,系统总线的负载可以大大地减轻。
因为绘图装置部分单独具有以优选级直接从CPU接收控制指令的一个控制口,CPU可以控制绘图装置部分,以便中断其绘图或显示操作。
因为每个指令的数据长度可以从命令识别数据来识别,取决于每个指令的数据长度,指令数据转移包的长度可以成为可变的。结果,通过取消了没有必要的时间,而缩短了处理时间。
图1是按照本发明的一个实施例的图象生成设备的框图;图2表示本发明的实施例的存储器的区域;
图3表示本发明的实施例的一种指令数据结构的例子;图4A-4D表示一种绘图指令与控制指令的例子;图5表示控制指令的例子的受控制指令的偏差影响的操作;图6表示绘图指令序列的例子;图7表示在本发明的实施例中绘制和显示一个多边体的次序;图8和9是在本发明的实施例中用于解释绘图指令序列和转移的主要部分的框图和时间图;图10表示本发明的实施例的处理时间;图11是在本发明的实施例中在给图过程中表示由CPU执行的操做的流程图;图12A、12B和13表示在主存储器中CPU的绘图指令的设备处理和绘图装置部分的绘图执行处理,二者是以并行方式实现的;图14表示结构映射;图15表示在本发明的实施例中在转移图象数据中使用的数据结构的例子;图16表示一帧图象的例子;图17表示在本发明的实施例中图象数据的一个转移单元;图18表示在本发明的实施例中在转移图象数据中使用的一种数据结构的例子;图19A和19B表示一种绘图方法的例子;图20表示常规的绘图指令;图21表示用于转移绘图指令的常规数据结构的例子;图22表示常规的处理时间的例子。
下面参照各附图将要描述本发明的实施例。图1表示按照本发明的实施例的图象生成设备的组成。这个实施例是具有3D图形功能和运动画面再现功能的一种游戏机。
参照图1,参考号41表示连接着CPU42,主存储器43和分类控制器45的系统总线。
另外,图象扩散装置部分51经由输入FIFO(先进先出)缓冲存储器54的输出FIFO缓冲存储器55连接到系统总线41.CD-ROM解码器52和绘图装置部分61分别经由FIFO缓冲器56和缓冲器62也连接到系统总线41。
还有,作为操作输入装置的控制键盘71经由接口72连接到系统总线41,存储用于建立游戏机的程序的引出ROM73(boot ROM73)也连接到系统总线41。
CD-ROM解码器52连接到CD-ROM驱动器53,并解码应用程序(例如,游戏程序)和数据,这些程序与数据还记录在装在CD-ROM驱动器53的一个CD-ROM光盘上。由例如离散余弦变换(DCT)进行图象压缩的运动画面或静止画面图象和用于装饰多边体结构图象的图象数据被记录在CD-ROM光盘上。在CD-ROM上的应用程序包括多边形绘图指令。FIFO缓冲器56具有对应于CD-ROM光盘上一个记录数据扇区的容量。
CPU42管理整个系统。另外,CPU42执行绘制作为许多多边体的集合的物体的部分处理。更具体地讲,CPU42在主存储器43中不仅产生绘图指令,而且产生控制指令(下面描述)。另外,CPU在主存储器43中产生一个指令序列,该序列包括以混合形式的绘图指令和控制指令(下面描述)。
因为CPU42具有超高速缓冲存储器46,CPU的部分指令不要经由系统总线41进行取数,而能够被执行。另外,CPU42具有做为内部处理器的计算装置44,用于为各多边体和相关座标计算执行座标变换计算,以便控制产生绘图指令与控制指令。
包括指令高速缓冲存储器46和座标计算装置44,CPU42可以在不利用系统总线41的情况下在某些范围内执行其操作,这使CPU容易空闲系统总线41。
扩展从CD-ROM光盘中再生的被压缩的图象数据的图象扩展装置部分51具有包括Huffman码解码器、反量化变换电路,和反离散余弦变换电路的硬件。Huffman码解码器的功能可以由CPU42执行的软件来实现。
在这个实施例中,图象扩展装置部分51将一帧图象分为一些小块(下面称为微块以后结合图16予以描述),例如16×16象素,和对每个微块执行图象扩展解码。因为利用主存储器43的数据转移是在微块基础上执行的,每个FIFO缓冲器54与55具有一个微块的容量。
帧存储器63经由一个局部总线11连接到绘图装置部分61。绘图装置部件61执行经FIFO缓冲器62从主存储器43转移来的包含在绘图指令序列中的绘图指令与控制指令,并将执行的结果写入帧存储器63。FIFO缓冲器62具有一个指令的存储容器。
绘图装置部分61以优先级经由控制器66从CPU42接收直接控制指令,即与从FIFO缓冲器62的指令接收无关。也就是说,绘图装置部分61的控制操作是按给予对应于控制口66接收的各控制指令各操作的优先级来执行的,这种操作意味着出现中断。这种控制操作的一个例子当显示操作在实时处理中跟不上给图操作时,CPU42甚至在其中间产生一个用于复位绘图操作的控制指令,强行显示中间绘象。
帧存储器63具有用于存储绘象的图象存储区;用于存储构造图象的构造图象存储区,和用于存储色彩查找表(色彩变换表CLUT)的表存储器。
图2表示帧存储器63的存储空间。帧存储器63可以由行地址与列地址组成的两位地址来寻址。该两维地址空间的AT区是用做构造存储区。构造区AT能够存储多种构造图形。AC区是用于存储色彩变换表CLUT的表存储区。
正如下文所述,色彩变换表CLUT的数据是在分类控制器45的控制下从CD-ROM光盘经由CD-ROM解码器52向帧存储器63变换的数据。在CD-ROM光盘上的构造数据由图象扩展装置部分51扩展和经由主存储器43转移到帧存储器63。
在图2中,AD区是图象存储区,和具有两个用于显示与绘图的帧缓冲区。在这个实施例中,用于当前显示的帧缓冲区称为显示缓冲器和用于当前绘图的其他帧缓冲区称为绘图缓冲器。在一个帧缓冲器。在一个帧缓冲区用做绘图操作的绘图缓冲器时,其他帧缓冲区被用做显示缓冲器。当完成绘图操作时,利用垂直同步信号将绘图缓冲器与显示缓冲器转换。
从帧存储器63的显示缓冲器读出的图象数据经由D/A变换器64送到图象监视装置65和在其屏上予以显示。
分类控制器45具有类似于称为DMA控制器的功能,并构成一种转移装置。更具体地讲,分类控制器在主存储器43与图象扩展装置部分51之间执行图象数据的转移和从主存储器43转移一个绘图指令序列到绘图装置部分61。分类控制器45执行上述不包括CPU42的转移操作,同时系统总线41由其他装置,诸如CPU42和控制键盘71释放。为此目的,CPU42可以通知分类控制器45释放系统总线41。另外一种方案,分类控制器45可以请求CPU42释放系统总线41(强行释放)。
对于运动图象或静止图象而言,主存储器43具有用于被压缩的图象数据存储区和用于被扩张的图象数据(已经被扩张解码的图象数据)的存储区。主存储器43还具有一个用于诸如绘图指令序列的图象数据的存储区(称为数据包缓冲器)。
包缓冲器用于由CPU42设置绘图指令序列和转移绘图指令序列到绘图装置部分61,由CPU42与绘图装置部分61所共享。在这个实施例中,为了能够使CPU42与绘图装置部分61并行处理,共提供两个包缓冲器一个用于设置绘图指令序列的包缓冲器(下文称为设置包缓冲器)和一个用于转移的包缓冲器(下文称为执行包缓冲器)。在一个包缓冲器用作设置包缓冲器的同时,另一个用做执行包缓冲器。当利用执行包缓冲器的执行操作完成时,两个包缓冲器的功能交换。
该设备的处理过程将逐个地详细描述。从CD-ROM盘中取数据当图1实施例的设备(游戏机)被加电和装入CD-ROM盘时,由CPU42执行实现一种游戏机所必须的称为初始化的分类ROM(boot-ROM)73的程序。而后取出记录在CD-ROM盘上的数据。在这种操作中,对应的用户数据根据在CD-ROM盘的相应扇区中该用户数据的识别信息ID被解码,和执行数据校验。按照数据校验的结果,CPU42按照由相应识别信息ID指示的重现数据内容进行处理。
即,要由CPU42执行的被压缩的图象数据、绘图指令和一段程序经由CD-ROM驱动器53和CD-ROM解码器52从CD-ROM盘中读出,和由分类控制器45装入主存储器43。在所装入的数据中,色彩变换表CLUT的信息被转移到帧存储器63的AC区。被压缩的图象数据的扩张和转移在已被输入到主存储器43的数据之中,压缩的图象数据受到CPU42的Huffman码解码操作,然后由CPU42重写入主存储器43。分类控制器45转移来自主存储器43的已经受Huffman码解码操作的图象数据经由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缓冲器54。
当规定的被扩张的图象数据的各微块已被累积在主存储器43中的时间点,CPU42经由绘图装置部分61转移这些被扩张的图象数据到帧存储器63。当扩张的图象数据被转移到帧存储器63的图象数据区AD时,则它们作为背景运动图象没有任何修改地显示在图象监视器装置65上。扩张的图象数据可以被转移到帧存储器63的构造存储区AT。在构造图象区AT中的图象数据被用作为用于装饰多边形的构造图象。绘图指令序列的处理和转移立体图象通过顺序绘制出各多边形能够显示在两维图象显示屏上,各多边形基于表示其三维深度的Z数据以其深的次序(较深的多边形先绘制)构成一个物体的表面。CPU42在主存储器43中产生一个绘图指令序列,以便使绘图装置部分61以上述方式,即其深度次序,绘制出各多边形。
另外,计算机图形使用一种称为Z缓冲器的方法,在该方法中各多边形的显示优先级次序是利用为各个象素存储在一个存储器中的Z数据确定的。但是,X缓冲器方法要求一个大容量存储器存储Z数据。
为解决这个问题,在本实施例中,一个立体图象通过以其深度的次序顺序地绘出(重写)各个多边形。为此目的,需要将各绘图指令从主存储器43中以绘图次序顺序地转移到绘图装置部分61。
如果从主存储器43向绘图装置部分61的DMA转移是通过常规DMA控制器实现的,则需要一个在主存储器43中重新编排绘图指令为一种执行次序的过程,即改变绘图指令的存储地址。但是,对于重新编排所需的附加时间使实现实时处理是困难的。
在该实施例的上述参考中,通过使用下面的绘图指令的数据结构,不需要改变主存储器43的各绘图指令的地址,CPU42给出确定绘制多边形的显示优先级的可能性。
在绘图操作中,通常在绘图指令的执行之前执行规定的控制指令。例如,在绘图操作之前,执行诸如擦击帧存储器63中的图象数据,改变垂直和水平方向象素数目的分辨率改变指令,和控制从原点执行的图象绘制的开始位置的偏移的偏移改变指令的各个控制指令。
在该实施例中,控制指令具有与绘图指令相同的数据结构。控制指令插入规定的绘图指令之前,构成一个绘图指令序列,以便控制指令与绘图指令一起转移。绘图装置部分按照该绘图指令序列可以通过执行控制与绘图实现所要求的绘图操作。
图3示意性地表示本实施例中的指令数据结构的例子。该数据结构包括标题部分和指令的数据部分。
标题部分包括一个标记TG和一个命令识别码CODE。下一个绘图或控制指令存储在主存储器43中的地址写入标记TG。命令识别码CODE包括指令数据IDP,该数据表示是哪一种指令,和如果需要的话,是该指令需要的其他信息。
座标值和其他参数写入指令的数据部分。指令数据部分的各个参数是由各个指令确定的。虽然指令数据部分的数据长度不同指令是可变的,由于各个参数对于每个指令是确定的,所以对于每个指令而言数据长度是固定的。
图4A为多边形绘图指令的例子。在这种情况下,命令识别码CODE的识别数据表示该指令是多边形绘图指令。在该多边形应当以一种单色映射的情况,命令识别码CODE包括用于映射的三原色的包数据(G、B、R),作为其他需要的信息。图4A的指令是一个四边形的绘图指令,和其指令数据部分描述了四个座标(X0、Y0)、(X1、Y1)、(X2、Y2)和(X3、Y3)。
图4B表示一个消除控制指令的例子。在这种情况下,命令识别码CODE的识别数据IDP表示该指令是一个消除控制指令。该指令数据部分描述了要被消除的矩形范围的左上角的座标(Xs、Ys)和右下角的座标(Xe、Ye)的座标。
图4C表示一个偏移控制指令的例子。在这种情况下,命令识别码CODE的识别数据IDP表示该指令是一个偏移控制指令。例如,在绘制一个矩形图象Va和将其显示在屏上,该控制指令通过它的左上角的给定座标(Xr、Yr)作为相对于屏(见图5)的原点座标(Xo、Yo)的偏移值。通过偏移控制指令,矩形图象Va的显示位置可以被控制,无需规定其四个角的位置座标。如图5所示利用偏移控制指令从PS1到PS2改变该矩形图象Va的位置是十分方便的。
图4D表分辨率控制指令的例子。命令识别码CODE的识别数据IDP表示该指令是分辨率控制指令。该指令数据部分规定在垂直和水平方向的象素数目。在图40的例子中,在水平方向的象素数目是320和在垂直方向的象数数目是240。
正如从上文所理解到的那样,绘图指令和控制指令的数据部分具有不同的长度。在某些情况下,命令识别码CODE具有不同的数据长度。因此,作为一个整体,指令的数据长度是不固定的。但是,因为每个指令具有固定的数据长度,某个指令的总数据长度可以从命令识别码CODE的识别数据IDP确定是什么指令来识别。因此,在该实施例中,包长度(转移单元)是不固定的,而被转移的各可变长度取决于相应指令的数据长度。
响应于通过控制键盘7的用户操作输入,CPU42计算物体的运动和观察点并在主存储器43中产生绘图指令和控制指令。而后CPU42将各绘图指令与控制指令的标记TG重写为相应于绘图次序和控制次序的次序,和在主存储器43中产生一个绘图指令序列。即,CPU42重写标记TG的地址,以便控制指令被置于受控的绘图指令序列的前面,和以便各绘图指令被重新安排为绘图的次序。在这种操作中,仅以标记TG的地址被重写和在主存储器中相应各个指令的地址没有改变。
例如,在这样一个绘图指令序列的情况下,即,帧存储器63的绘图缓冲器被清零以后,绘制物体A和而后以改变分辨率绘制物体B。如图6所示,开始地址被这样设置,即清零控制指令被置于该序列的首端。然后,该清零控制指令的标记TG被作为表示物体A的第一绘图指令的在主存储器43中的一个地址设置。然后,用于物体A的各相应绘图指令的各标记TG按照绘图的次序被设置。
接下来,用于物体A的最后一个绘图指令的标记TG作为表示分辨率改变控制指令的主存储器地址被设置。然后,分辨率改变控制指令的标记TG作为表示物体B的第一绘图指令的主存储器43的地址被设置。
当完成绘图指令序列的设置时,分类控制器45以指示TG1、TG2、TG3…,TGn表示的次序从主存储器43向绘图装置部分61一个接一个地转移控制指令和绘图指令IP1、IP2、IP3…(见图7)。从而,对于FIFO缓冲器62其有一个指令的容量足够了。
因为被转移的数据已经处于分类状态了,与Z缓冲器方法的情况相比,绘图装置部分61不再需要重新编排指令IP1、IP2、IP3…。即,绘图装置部分61以其到达的次序顺序地执行这些指令和在帧存储器63的绘图区AD中存储执行的结果。
图8是说明从主存储器43转移绘图指令序列到绘图装置部分61的控制操作的框图。图9表示用在图8所示设备部分的原理性定时信号。
参照图8,当FIFO缓冲器62转变为空闲时,绘图装置部分61产生一个转移请求DREQ(见图9的部分A)。响应于该转移请求DREQ,分类控制器45在当系统总线41被CPU42置于空闲的定时转移绘图指令序列的下一个指令。
在转移该指令之前,分类控制器45根据识别数据IDP判断从主存储器43要被转移的数据长度。根据判断结果,分类控制器45在对应于转移的数据长度周期期间产生一个例如高电平的信号DACK(见图9的部分B),和将其转移到绘图装置部分61。同时,分类控制器45向绘图装置部分61转移转移时钟WR(见图9的部分C),和与该转移时钟WR相同步地转移转移数据DATA(见图9的部分P)到绘图装置部分61的FIFO缓冲器62。
在信号DACK处于高电平的同时,绘图装置部分61识别分类控制器45正在转移数据DATA,即一个绘图指令或控制指令。因此,即使正被转移的绘图指令或控制指令具有可变的数据长度,该绘图装置部分61也能根据信号DACK识别它的数据长度和也能在指令转移完成以后立即执行绘图或控制。
也就是说,当信号DACK转至低电平时,绘图装置部分61对转移到FIFO缓冲器62的指令转移的识别完成。因此,当完成前面的绘图或控制以后,绘图装置部分61从FIFO缓冲器62取指令和执行绘图或控制。
如上所述,在图1的设备中,根据它的数据长度一个指令被转移,在该转移完成以后,立即可以执行绘图或控制(见图10)。因为不需要在转移数据包中象在图21和22的常规情况那样插入非操作数据COP,处理的时间被大大地缩短了。
参照图11的流程图,将描述当绘图指令序列被转移和其指令被执行时由CPU42所进行的操作。
首先,在步骤101,CPU42发送一个指令到绘图装置部分61,使部分61将存储在帧缓冲器区之一,即帧缓冲器63的图象存储器区AD的帧缓冲区A(目前用做显示缓冲器)的图象数据馈送到图象监视器65。在步骤102,CPU42读控制键盘71的操作输入。在步骤103,根据该操作输入,CPU42更新主存储器43的包缓冲器之一(目前用做设置包缓冲器)中存储的绘图指令序列的绘图指令和控制指令的座标值等等,和重写绘图指令序列A的各个指令的标记TG,以便它们符合绘图次序和控制次序。
在步骤101-103执行的同时,存储在主存储器43的另一包缓冲器(用做执行缓冲器)的缓冲指令序列B由分类控制器45转移到绘图装置部分61,和绘图装置部分61在实时的基础上,执行利用帧存储器63的图象存储区AD的另一帧缓冲区B(作为绘图缓冲器)的绘图指令序列B的绘图和控制。
而后,在步骤104中,CPU42等待绘图指令序列B的绘图和控制的完成。即,CPU42判断是否所有绘图指令序列B已被从主存储器43转移和绘图与控制已经完成。
当完成绘图指令序列B的执行时,CPU42使帧存储器63的帧缓冲区B为显示缓冲器,和发送指令到绘图装置部分61,使其读来自帧缓冲区B的绘象数据和馈送该数据到图象监视装置65(步骤105)。与此同时,帧存储器63的帧缓冲区A被转换为绘图缓冲器。
在步骤106,CPU42读控制键盘71的操作输入。在步骤107,按照该操作输入,CPU42更新存储在主存储器43的另一包缓冲器(用做设置包缓冲器)中的绘图指令序列的座标值、控制指令数据等等和重写绘图指令序列B的各个指令的标记TG,以便它们符合绘图次序和控制次序。
在执行步骤105-107的同时,主存储器43的一个包缓冲器(作为执行缓冲器)中存储的绘图指令序列A由分类控制器45转移到绘图装置部分,和绘图装置部分61在实时的基础上利用帧存储器63的图象存储区AD的一个帧缓冲区A(作为绘图缓冲区)执行绘图指令序列A的绘图和控制。
然后,在步骤108,CPU42等待绘图指令序列A的绘图和控制的完成。即,CPU42判断是否所有绘图指令序列A从主存储器43已被转移了和绘图控制已经完成了。
当绘图指令序列A完成时,CPU42使帧存储器63的帧缓冲区A成为显示缓冲器,和发送一个指令到绘图装置部分61,使部分61从帧缓冲区A读绘象数据和馈送该数据到图象监视器65(步骤109)。在此同时,帧缓冲区B被转换为绘图缓冲器。而后CPU42返回步骤102,重复上述过程。通过每秒30-60次重复上述过程,可以显示运动图象。
正如从上述描述所显而易见地,CPU42和绘图装置部分61以并行方式操作。更具体地讲,CPU42连续地将代表存储在主存储器43的设置包缓冲器中的绘图指令序列的相应各指今的标记TG的地址值改写为存储下一个指令的主存储器43的地址值(如图12B箭头所示)。在此同时,分类控制器45通过跟踪各个指令的标记TG从主存储器43的执行包缓冲器读该绘图指令序列(如图12A箭头所示),和将该序列转移到绘图装置部分61,该部分61按照绘图指令序列执行绘图操作。
如图13所示,在CPU产生一个绘图指令序列的同时,绘图装置部分61根据以前产生的绘图指令序列处于执行一个绘图操作的状态。该绘图操作执行完成以后,根据绘图指令序列的一个绘图操作刚刚产生。
为了给出一个多边形,数据被发送到绘图装置部分61的梯度计算单元,该单元执行一种梯度计算。梯度计算是当多边形的内部在多边形绘制操作被填充以映射数据时确定映射数据平面的梯度。在利用构造的情况下,多边形被填充以构造图象数据。在鲜明的阴影情况下,多边形被填充以亮度值。
为了把构造附加到构成一个物体表面中的多边形上,构造区AT构造数据被经二维映射变换。例如,在图14A部分所示的构造图形T1-T3被变换为二维屏的座标上,以便适合于图14B部分所示的物体相应各表面的多边形。已经经受这种映射变换的构造图形T1-T3被附加到图14C部分所示的物体OB1的各表面。得到的数据被安排在图象存储器的AD区和显示在图象显示监视器65的显示屏上。
在静止图象构造情况下,主存储43的构造图形经由绘图装置部分61被转移到帧存储器63的构造区AT,部分61附加该构造图形到各多边形上。静止图象的构造以这种方式应用到一个物体上。静止图象的构造图形的数据可以记录在CD-ROM盘上。
另外,运动图象构造的应用也是可能的。在运动图象构造的情况下,来自CD-ROM盘的压缩运动图象数据被暂时写在主存储器43中,和压缩图象数据而后被发送到图象扩张装置部分51,部分51扩张该图象数据。
扩张的运动图象数据被发送到帧存储器63的构造区AT。因为构造区AT是设置在帧存储器63中的,构造图形也可以一帧接一帧地重写。在运动图象数据的这种方式被发送到构造区的同时,构造变化被动态地一帧接一帧地写入。运动图象构造的应用可以通过利用构造区AT的运动图象数据执行对多边形的构造映射实现。
如上所述,背影移动图象可以通过发送图象数据显示在图象监视装置65的屏上,该图象数据已被图象扩张装置部分51扩张送入帧存储器63的图象存储区AD。仅根据由CPU42产生的绘图指令和填充在图象存储区AD的提取图象在图象显示监视器的屏上绘图还是可能的。也可能在图象存储区AD上绘图,即,由CPU42从CD-ROM盘扩张的图象数据获得的静止图象数据的多边形绘图产生的物体的绘图数据。
如上所述,分类控制器45无须CPU42的参与当系统总线41空闲的各时间间隔转移绘图指令与图象数据。
为了由图象扩张装置部分51从主存储器43向帧存储器63转移被扩张解码的图象数据,在该实施例中利用了接着的扩张数据转移指令。这种类型的扩张的图象数据向转移指令格式的变换是由CPU42实现的。
图15表示上述的扩张数据转移指令的结构具有与绘图指令和控制指令近似相同的数据结构,扩张数据转移指令包括标题部分与图象数据部分。在标题部分中,标记TG放在首部,而识别数据IDP被接着标记TG设置。正如在其他情况的指令,标记TG含有主存储器43的一个地址值,在该地址存有下一个绘图指令、控制指令或转移指令。表示该指令是一个扩张的图象数据转移指令的数据被描述在识别数据IDP。
接着标题部分的图象数据部分包括扩张的图象数据PIX0、PIX1、PIX2,…PIXn。分类控制器45从主存储器43转移扩张的图象数据到绘图装置部分61的上述转移指令的各单元中。
在图15中,标题部分的数据“H”和“W”表示要被转移的扩张的数据的范围的高和宽,和对应于一帧图象的范围。数据“X”和“Y”表示转移目的的座标。因为转移范围是一个矩形,这些座标表示该矩形范围的的左上角。如果移转目的位于AD区,这些座标是在帧存储器63的图象存储区AD的图象存储器的座标,和如果转移目的位于AT区,则是构造区AT的座标。
在转移指令的扩张图象数据的情况下,从标记TG到座标X和Y构成标题部分的诸项目。标题部分大小是从识别数据IDP识别的。图象数据部分的数据长度是从高H和宽W识别的。总的扩张数据转移指令的数据长度是按上述大小和数据长度识别的。从识别数据IDP到座标X和Y的诸项目对应于图3所示的绘图指令的命令识别码CODE。
另外,如上所述,图象扩张装置部分51将一帧图象分为多个微块,每个由16×16象素组成(水平地与垂直地),和以一个微块为基础执行扩张解码。例如,如果一个图象其中一帧含有320×240个象素(水平地与垂直地),一帧被分为300个微块,如图16所示。
为了转移300个微块到绘图装置部分61,如转移指令是对各个微块产生的,标题部分的顶部太大。因此,在该实施例中,如图17所示,形成每个垂直列的多个微块(图17中为15个)互相连接起来和形成一个扩张数据转移指令的转移单元。
图18表示一帧的第一扩张数据转移指令的例子。在图18中,座标X和Y都是0。在下一个扩张数据转移指令中,座标X和Y分别是16和0。
如上所述,因为扩张图象数据被变换为具有类似于绘图指令与控制指令的数据结构的指令格式,所以由分类控制器45的转移和由绘图装置部分61的图象在帧存储器中的绘制与产生都可以执行,以至于多边形绘图指令和控制指令以及扩张数据转移指令利用标记TG彼此混合起来。
按照本实施例的装置具有下述优点。由于在主存储器43中的绘图指令序列、压缩的图象数据和扩张的图象数据在CPU释放系统总线但并不关闭CPU42的时期内被转移,以时分的方式就可有效地使用系统总线。
因为整个绘图指令序列被保护在主存储器43中,所以CPU42能在任何时间直接控制它,因此,响应于通过控制键盘71等的外部输入控制可以立即执行。这将对改善在屏上的显示速度有所贡献。
同样,因为整个运动图象数据是暂时存储在主存储器43的,CPU可以在任何时间直接控制运动图象数据,从而,响应于通过控制键盘71等的外部输入控制可以立即执行。这将对改善屏上显示响应速度有所贡献。
因为控制指令与绘图指令可以一起转移执行绘图,绘图装置部分61不要求分别接收这两种指令的硬件。因此,不但其配置而且转移与绘图的操作都被简化了。
因为绘图装置部分61单独具有以优先级从CPU42直接接收控制指令的控制口66,CPU42可以控制绘图装置部分61,以便中断其绘图或显示操作。
因为每个指令的数据长度从命令识别数据IDP可以识别,一个指令的转移长度取决于每个指令的数据长度,是可以变化的。结果,通过取消了没必要的时间,可以缩短处理时间。
因为与绘图装置部分61相关的FIFO缓冲器62的级数可以仅对应于一个绘图指令的数目,绘图装置部分61的电路规模可以减小。
因为图象扩张装置部分51利用主存储器42作为缓冲器,从而不需要局部存储器。另外,与图象扩张装置部分51相关的每个FIFO缓冲器53的级数可以仅是对应于一个微块的数,绘图装置部分61的电路规模可以减小。
下次要执行的绘图指令的主存储器42的地址值包括在一个绘图指令中。因此,当绘图次序改变时,是以重新编排在绘图指令中的地址值;即不需要重新编排主存储器43中各绘图指令的本身,以便它们处在已改变了的地址之中。因此,系统总线41的负荷可以减轻许多。
总之,在连续地产生的运动图象中,很少有在主存储器43中产生的绘图指令序列的内容在相邻帧之间有很大变化。因此,很少有要求改变地址值的,即,在实际中,只要简单地改变前一帧的绘图指令序列的座标值就足够了。
虽然在上述实施例中,图象数据和应用程序是记录在CD-ROM盘上的,但是包括磁盘在内的其他记录介质和诸如存储器卡的半导体存储器也可以利用。
虽然在上述实施例中,DCT被用作图象数据压缩方法,但是其他各种图象数据压缩方法也可以利用。
权利要求
1.一种转移由CPU产生的绘图指令和控制指令到绘图装置部分以及按照绘图指令和控制指令顺序执行绘图操作以在绘图装置部分生成一个图象的方法,该方法包括以下步骤构成绘图指令和控制指令,以使它们具有包括标题部分和指令数据部分的数据结构,该标题部分具有用于表示该指令的种类的命令识别码,和形成一个绘图指令序列,其中绘图指令和控制指令被安排为绘图和控制过程的次序,和转移该绘图指令序列到绘图装置部分。
2.一种图象生成设备,该设备包括用于存储绘图指令和控制指令的主存储器;用于产生绘图指令和控制指令的CPU,以便它们具有包括标题部分和指令数据部分的数据结构,该标题部分具有命令识别码,用于表示该指令的种类,和用于在主存储器中产生一个绘图指令序列,该序列中绘图指令和控制指令被安排为绘图与控制过程的次序;绘图装置部分,用于按照绘图指令和控制指令在帧存储器中执行绘图操作;和转移装置,用于从主存储器中读出绘图指令序列,和将其转移到绘图装置部分。
3.按照权利要求2的图象生成设备,其中CPU、主存储器、和绘图装置部分连接到系统总线上,和其中在CPU和其他装置空闲该系统总线的各个时间间隔中,在没有CPU参与下,转移装置将绘图指令序列从主存储器转移到绘图装置部分。
4.按照权利要求3的图象生成设备,其中绘图指令和控制指令的标题部分包括一个在主存储器中下一次要执行的指令的地址,其中CPU通过在主存储器中以绘图指令序列的安排次序设置绘图指令和控制指令的标题部分而在主存储器中产生绘图指令序列,和其中转移装置按照标题部分的地址从主存储器中读绘图指令和控制指令,并转移这些指令到绘图装置部分作为绘图指令序列。
5.按照权利要求4的图象生成设备,还包括操作输入装置,其中该图象生成设备具有游戏机的配置,其中CPU产生绘图指令和控制指令和响应于操作输入装置的操作输入,设置绘图指令序列的次序。
6.按照权利要求5的图象生成设备,其中每个绘图指令和控制指令的整个数据长度是可变的,和其中转移装置根据命令识别码判断数据长度,和以取决于数据长度的转移数量转移绘图指令和控制指令到绘图装置部分。
7.按照权利要求6的图象生成设备,其中绘图装置部分包括用于独立地接收从CPU转移的控制指令的装置,此外还有用于接收包括在从转移装置转移的绘图指令序列中的控制指令装置。
8.一种转移由CPU产生的绘图指令和控制指令到绘图装置部分,以及通过顺序地按照绘图指令和控制指令在绘图装置部分生成一个图象的方法,该方法包括以下步骤构成绘图指令,以便它们具有包括标题部分和指令数据部分的数据结构,标题部分具有用于指示指令种类的命令识别码,整个绘图指令的数据长度是可变的;和从命令识别码判断数据长度,和以取决于数据长度的转移量转移绘图指令到绘图装置部分。
9.按照权利要求8的方法,其中由CPU产生的控制指令是按照具有与绘图指令相同的数据结构构成的,和绘图指令与控制指令是以混合的方式转移到绘图装置部分。
全文摘要
由CPU产生的绘图指令和控制指令转移到绘图装置部分,按照绘图指令和控制指令顺序执行绘图操作以产生图像。每个绘图指令和控制指令都有标题部分和指令数据部分组成的数据结构。标题部分有指示该指令是哪种指令的命令识别码。形成一种绘图指令序列,序列中以绘图和控制过程的次序安排绘图指令和控制指令,由分类控制器以DMA方式转移到绘图装置部分。绘图装置部分以该绘图指令序列的次序执行绘图和控制操作。
文档编号G06T11/00GK1117627SQ95104568
公开日1996年2月28日 申请日期1995年4月7日 优先权日1994年4月7日
发明者丰祯治, 铃置雅一, 古桥真, 田中正善 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1