本发明涉及一种能分离出部分图象的图形显示系统,更具体地说,涉及一种通过用光栅操作分离出任何所需部分图象的图形显示系统。 在包括图形的图象处理领域,经常通过在显示器(特别是彩色显示器)的荧光屏上指定部分图象,执行如分离和通过这类操作。在现有技术中,通过用软件或专用硬件分离出部分图象。例如,申请号为61-32888的日本公布的尚未实质审查的专利申请(该专利申请与本发明转让给同一受让人)公开了一种软件技术,采用该技术分离出部分图象,並把它用放大的比例在荧光屏上的不同位置上显示出来。1981年9月出版的《IBMTecknical Disclosure Bulletin》第24卷,第4期,第1778页至第1782页公开了一种用专用与门电路分离出部分图象的技术。
如果用软件分离出部分图象,其速度的提高是有限度的。另一方面,如果用专用硬件执行部分图象的分离,则有可能进行高速处理,但因为其功能是固定的,所以缺乏可扩充性和灵活性。此外,由于装有附加的硬件,其价格较高。
因此,本发明地目的是通过用普通图形显示系统所具有的光栅操作功能,使任何所需部分图象都能被分离出来。
根据本发明的能分离出部分图象的图形显示系统包括:图象存储装置、用于绘制要被分离部分图象的周线的周线绘制装置、用于根据该周线生成屏蔽数据的屏蔽数据生成器装置和用于仅把源图象中未被屏蔽数据屏蔽的部分写入图象存储装置的部分图象写装置。图象存储装置是全点可寻址(APA)存储器,在该存储器中分配一个源图象存储区域,用于存储源图象:一个工作存储区域,用于存储表示周线的点模式;和一个目的存储区域,用于存储部分图象。屏蔽数据生成器装置生成屏蔽数据,因此用周线点模式围绕的区域被置于非屏蔽状态,而其余的区域被置于屏蔽状态。部分图象写装置可以通过组合部分图象和预定模式数据,把二者写入目的存储区域。
以下是附图的简要说明:
图1是根据本发明的图形显示系统的实施例的方框图。
图2是APA存储器10的内容的方框图。
图3是屏蔽数据生成器14的实施例的电路图。
参看图1,图中示出了根据本发明的一种图形显示系统。该系统包括:用于存储源图象的APA存储器10,从源图象中分离出部分图象,用于绘制要被分离部分图象的周线的周线绘制装置12,用于根据由周线绘制装置12绘制的周线数据生成屏蔽数据的屏蔽数据生成器14,允许对从APA存储器10读出的图象数据进行逐位操作的按位操作电路16,光栅操作电路18,多路转换器(MUX)20,用于选择来自屏蔽数据生成器14的屏蔽数据或来自光栅操作电路18的图象数据,並把它提供给APA存储器10的数据输入端,用于把从APA存储器10读出的图象数据转换成用于显示的信号的视频电路22,用于来自视频电路22的信号提供直观显示的显示装置24,和用于控制整个系统的控制器26。虽然本发明既可以用于彩色显示系统,又可以用于单色显示系统,但是下面通过实施例将仅说明其象素包含n位(例如n=4)的彩色显示系统。
众所周知在彩色显示系统中,APA存储器包括n个存储板。通过设在视频电路22中的调色电路,从APA存储器10读出的具有n位的每个象素数据被转换成表示实际显示颜色的具有m位(例如m=6)的彩色数据,並在数字-模拟转换之后提供给显示装置24。
现在参看图2,说明通过图1的图形显示系统执行的对部分图象的分离操作。图2示出了APA存储器10的内容,其中包括源图象存储区域10A,用于绘制要被分离部分图象的周线的工作存储区域10B,和目的存储区域10C,分离的部分图象被传送到目的存储区域。10A-10C这些区域的大小相同。APA存储器10可以进一步包括模式数据10D和10E。在光栅操作电路18中,这些模式数据与源图象数据组合。
当需要分离出部分图象时,用户首先用周线绘制装置12绘制一个周线(例如一个圆),该周线限定用户想从在存储区域10A中存储的源图象里分离出的那个部分图象。周线绘制装置12可以是图形显示系统中通常提供的硬件绘制工具。申请号为61-261779的日本公布的尚未实质审查的专利申请(该专利申请与本发明转让给同一受让人)公开了一种通过用这种硬件绘制工具绘制包括圆的二次曲线的技术。如果需要在观察显示装置24时人-机对话地绘制周线,可以把“老鼠”器用作周线绘制装置12。在各种情况下表示通过周线绘制装置12绘制的周线的点模式11都被写入工作存储区域10B。工作存储区域10B中周线点模式11的位置与源图象存储区域10A中部分图象11′的位置相对应。在本实施例中,一个点包括n位,但是就周线点而论,它可以是一位。在那种情况下,在n个存储板里选定的一个存储板中写入周线点。在一个点包括n位的情况下,它足以对周线点指定具有n位的特定颜色代码。
当横向观察写入工作存储区域10B的周线点模式11时,每行都有偶数个周线点。例如在周线是圆的情况下,易于分辨出除了高端和低端之外,启辉的点数是每行两个。在高端和低端,执行写入工作存储区域10B的操作时,使两个相邻的或靠近的点被启辉。虽然为了用普通绘制工具逼近一条曲线可能使两个以上相邻的点被启辉,但是绘制该部分图象的周线时,仅启辉最外面的点。这就满足了使每行周线点的数目为偶数的条件。为了在每行上判别用周线围绕的区域的起始点和结束点,需要这个条件。在本实施例中,包括数字0的偶数点表示起始点,而奇数点表示结束点。
在周线点模式写操作完成之后,在控制器26的控制下把APA存储器10中工作存储区域10B的内容读到屏蔽数据生成器14。这里假设对APA存储器访问的单位是一个字(16位)。从工作存储区域10B左上角的地址或其起始地址开始,控制器26一个字接一个字地读,並把它提供给屏蔽数据生成器14。屏蔽数据生成器14检查读出的字是包括偶数个周线点,还是包括奇数个周线点。然后它生成屏蔽数据,以便在每行上把从偶数个周线点到下一奇数个周线点的区域置为非屏蔽状态,而把其余的区域置为屏蔽状态。
图3示出了屏蔽数据生成器14的电路图。在图示的实施例中,屏蔽数据生成器14由16个“异”门30-i(i=0,1,……15)和一个锁存器32组成。“异”门30-i按级联方式连接,即每个门的输出都成为下一个门的输入。最后一个“异”门30-15的输出通过锁存器32馈送到第一个“异”门30-0。把从工作存储区域10B读出的一个字中的对应位BO-B15提供给每个门的第二输入端。“异”门30-i的输出M0-M15形成屏蔽数据的一个字。
当要操作屏蔽数据生成器14时,在该操作之前首先清除锁存器32。在未读工作存储区域10B的情况下,因为BO-B15和锁存器32的Q输出都是0,所以屏蔽数据位MO-M15也都是0。只要从工作存储区域10B读出的每个字的16位B0-B15都是0,这种状态就一直保持。现在假定一个读出的字包含第一个或编号为0的周线点。那末对应位Bi是1,使接收该位作为其输入的“异”门30-i的输出Mi变成1。因为该输出Mi被馈送到下一“异”门30-(i+1),所以只要其第二输入Bi+1不是1,即不包含下一奇数周线点,其输出Mi+1也变成1。同样,只要不包含下一奇数周线点,直到最后一个“异”门30-15,生成Mi-M15都是1的屏蔽数据。当用该屏蔽数据完成写入APA存储器10的操作时(下面将说明),产生一个启动信号,並把它加到锁存器32的时钟输入端C。该信号置位锁存器32,接着把为1的Q输出加到第一个“异”门30-0。这就保持了在先的状态,为对下一个字的读操作作准备。在这种情况下,即使接着读出一个全0的字,也生成全1的屏蔽数据。
如果一个字包含偶数周线点,或其后继字包含下一奇数周线点,在Bj接收对应的为1位的“异”门30-j的输出Mj变成0,因为来自前级的另一输入也是1。因此只要相同的字不包含下一偶数周线点,生成Mj-M15都是0的屏蔽数据。当M15变成0时,锁存器32被清除,其为0的Q输出被加到第一个“异”门。在这种情况下,生成0屏蔽位,直到下次检测出一个偶数周线点。
从上述可以清楚地看出,屏蔽数据生成器14生成表示屏蔽状态的0屏蔽位,用于写入工作存储区域10B的周线点模式11的外侧;生成表示非屏蔽状态的1屏蔽位,用于周线点模式11的内侧。来自屏蔽数据生成器14的屏蔽数据M0-M15的一个字通过多路转换器20妥芟?8加到APA存储10的数据输入端。
在本实施例中,APA存储器10是具有按位写能力的动态随机存取存储器,在该存储器中只有接收为1的屏蔽位的数据输入端可以执行写操作。每当生成一个屏蔽数据字,控制器26从源图象存储区域10A中读对应的16位图象数据字,並把它加到按位操作电路16。按位操作电路16是硬件装置,它允许从仅能在字边界访问的APA存储器10对图象数据进行位边界传送。在位块传送技术(通常称为BitBlt)中已经公知了这种硬件,因此省略了对其详细的说明。
来自按位操作电路16的图象数据输入到光栅操作电路18。光栅操作电路18对从APA存储器10读出的图象数据和其它图象数据(例如预定模式数据)执行特定的逻辑操作,並把其结果加到多路转换器20。通过控制器26规定逻辑操作,例如通过(使选定的图象数据按原来的样子通过)、与、或和“异”操作。因此,可以按原来的样子不加任何变化,或用指定模式以重叠的方式,把部分图象从源图象中分离出来。这种光栅操作电路的实例在以下文件中公开了,申请号为62-245375的日本公布的尚未实质审查的专利申请(该专利申请与本发明转让给同一受让人),和1984年12月出版的《IBM Technical Disclcsure Bulletin》第27卷,第7A期,第4019页至第4020页。
来自光栅操作电路18的图象数据字通过多路转换器20和总线28加到APA存储器10的数据输入端。在那时控制器26把一个写指令和一个目的存储区域10C的适当地址发送到APA存储器10。因此在已经接收表示非屏蔽状态的为1的屏蔽位的数据输入端执行图象数据的写操作。
按照顺序(1)从工作存储区域10B读一个字,(2)生成屏蔽数据,(3)从源图象存储区域10A读对应的图象数据字,和((4)把非屏蔽图象数据位写入目的存储区域10C,重复上述操作,直到到达每个存储区域中最后一个字。当上述操作完成时,从源图象分离出的部分图象已经写入目的存储区域10C。
虽然在上述的实施例中APA存储器10的工作存储区域10B是与源图象存储区域10A和目的存储区域10C分开设置的,但是工作存储区域可以分配在与这两个区域之一相同的区域。但是要注意:如果工作存储区域10B分配在与源图象存储区域10A相同的区域,因为周线点是通过具有n位的颜色代码表示的,所以对于周线点必须使用在源图象中未使用的一种颜色代码。在单色系统的情况下,工作存储区域10B不能与源图象存储区域10A相同。
此外,在上述实施例中部分图象的周线是圆,但是可以绘制任何所需的周线形状,例如椭圆形、矩形或环形。然而在矩形的情况下,上下两个水平边不写入工作存储区域10B。对上边生成的屏蔽数据,把左右两边的最高端点之间的区域置于非屏蔽状态;对下边生成的屏蔽数据,把左右两边的最低端点之间的区域置于非屏蔽状态。
如上所述,本发明无需加重软件的负担就能从源图象中高速分离出任何所需的部分图象。