首页> 中国专利> 实现光栅工作法的变换电路

实现光栅工作法的变换电路

摘要

本系统提供能产生象素讯号的电路,该象素讯号代表行将变换到另一部分存储器的,存储在第一部分存储器的信息(及该信息限定一图象,或在阴极射线管显示器上可观察到的一些图象),其变换过程是按数字放大或缩小,由图象的原始排列方向给出任意角度讯号,与/或转动,与/或有无信号区,即对由于任意角度转动而出现的丢失象素加以填充。

著录项

  • 公开/公告号CN86106165A

    专利类型发明专利

  • 公开/公告日1987-09-09

    原文格式PDF

  • 申请/专利权人 数字设备公司;

    申请/专利号CN86106165

  • 申请日1986-09-08

  • 分类号H04N5/14;

  • 代理机构上海专利事务所;

  • 代理人吴正贤

  • 地址 美国马萨诸塞州梅纳德146大街

  • 入库时间 2023-12-17 11:53:43

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 1988-01-20

    实质审查请求

    实质审查请求

  • 1987-09-09

    公开

    公开

说明书

isclosure id="disclosure001">

在视频显示技术中,现有称为光栅工作法(rasteroperation,简称rasterops)技术,一般说来,光栅工作法的概念是:将以图形排列的信息从一部分存储器转移到另一部分存储器,同时该信息依然保持这些图形或某些模式。已知的电路结构可放大或缩小由象素位信息所定的图形。然而,这些放大或缩小是以整数倍数,而不是以分数倍数来进行的。此外,现有光栅工作电路已提供一种方法,可转动(以90度倍数)视频显示屏幕上所观察到图象。因此,如果一个图象是以某些不同于90度的任意角度转动,则这样的转动图象的边缘线非常相似一种阶跃函数结构,而供给连续图象所需的一些象素丢失了。本发明准备填充这些无讯号区。另外本系统在源图和预定图间允许有许多不同的变换。例如,本系统可使用户利用一个单一的字形光源而显示许多不同尺寸的字形。

在本文说明中,当光栅进行工作时,所引出的平行矢量序列称为“引出”矢量。这些“引出”矢量的原点序列形成一个矢量称为“原”矢量。例如,图2中数字[17]和[39]表示“引出”矢量及数字[23]表示,给出“引出”矢量的原矢量,在源图是根据从Y方向扩展的矢量(即Y矢量),由在X方向(即X矢量)扩展的多元平行矢量组成的情况下,“引出”矢量是源图的X矢量和变换图象的已变换的(即转动与/或比例转换)X矢量,“原”矢量是源图的Y矢量和变换图象的已变换的Y矢量。

本电路结构包括源地址发生电路,引出矢量预定地址发生电路及原矢量预定地址发生电路。源地址电路提供一序列象素地址,它可规定图象存储器中的矩形区域。引出矢量预定地址电路产生一序列跟踪图象存储器中任意行的象素地址。原矢量预定地址电路产生一序列象素地址,该地址跟踪存储器中的一行,此行不同于由引出矢量预定地址电路所给出的象素地址所跟踪的行。沿矢量方向的每一点用来作引出矢量的原点,沿原矢量方向产生的组合引出矢量结果产生一序列象素地址,该地址规定图象存储器中任意定向的平行四边形。这个平行四边形是一个源矩形的变换,即,每个预定引出矢量对应的源引出矢量的变换,及预定原矢量是源原矢量的变换。因此,源矩形的图象在图象存储器中可变换成,任意平行四边形。此外,本系统包括控制比例因子的电路,可使源图象和变换的图象成为不同的尺寸。

每个预定地址电路包括一个X地址电路,一个Y地址电路,一个计数电路和一个布莱森汉(Bresonham又称布氏)算法电路。

本系统还设有一条计时电路,它在水平扫描期间产生960-毫微秒周期的帧。每隔一个周期,帧用来刷新屏面。其余的周期的帧用来读出源地址输出的象素信息,及把此象素信息写入于一个位变换存储器中的一个预定地址。X和Y地址电路提供一些那些象素信息应写入的地址。计数电路决定什么时候引出矢量结束。当所有引出矢量的象素值写入时,计数电路就传送一讯息给系统,为响应于原矢量地址的增量。布氏算法电路提供指令该系统沿长轴和短轴的矢量分量递增象素地址或产生一序列跟踪图象存储器中任意行的象素地址的控制讯号。布氏算法电路也用来由断开一个象素值的正常二个-增量对角定位及代替产生具有跟踪第二个增量地址产生到正常对角定位的象素值的定位的一个-增量地址程序填充无信号区。

二级程序将引起一个要填充的无信号区,原矢量预定地址电路产生一序列跟踪图象存储器中另一行的象素地址。沿原矢量方向的每一点可用作为一个引出矢量的原点。前述过程产生一序列象素地址规定图象存储器中任意定向平行四边形。因此,源的矩形区域可变换成图象存储器中另一个位置上(预定)的任意布置的平行四边形。另外,利用比例因子电路允许源及变换图象成为不同尺寸。

本发明的目的和特征将参考下列各图详细说明:

图1为带有位变换存储器系统的总系统的方块示意图;

图2描绘存储器中预定定位的一平行四边形;

图3示出八分圆图1,在圆图中可引出一个矢量及说明与每个八分圆图有关的DX和DY的条件。

图4-7展示了各部分引出矢量预定地址电路;

图4是一逻辑电路,该电路执行产生引出矢量地址所应用的布氏算法;

图5是一,对增量的象素地址计数的逻辑电路,它可判定什么时候引出矢量全部被引出;

图6是一个产生引出矢量Y地址分量的逻辑电路;

图7是一个产生引出矢量X地址分量的逻辑电路;

图8-11展示了各部分原矢量预定地址电路;

图8是一个逻辑电路;该电路执行产生源矢量预定地址中所采用的布氏算法;

图9是一个对增量的象素地址计数逻辑电路,它可判定什么时候产生源矢量的最后象素;

图10是一个产生原矢量Y地址分量的逻辑电路;

图11是一个产生原矢量X地址分量的逻辑电路;

图12是一个逻辑电路它是引出矢量比例转换电路的组成部份。此逻辑电路产生用来对沿引出矢量分量轴方向的图象进行比例转换的控制讯号;

图13是一个逻辑电路,它是源矢量比例转换电路的组成部份及此电路产生用于比例转换沿原矢量分量轴方向的图象的控制讯号;

图14描绘已转动的源图象和布氏算法的结果;及

图15描绘一幅需要填充无信号区的转动图象。

图1展示原矢量预定地址电路[13],引出矢量预定地址电路[15]和源逻辑电路[55]。该源逻辑电路[55]产生象素地址,以便从图象存储器中的源部分读出光栅工作数据,而引出和原矢量预定地址电路[15]和[33]产生象素地址,可用来将该数据写入到该图象存储器的预定部分。源和预定象素地址送到地址收集电路[57],进行缓冲,与更新地址组合,倍增为行和列,及通过地址电路[59]写入到位变换存储器[63]。为了简便缘故,我们将仅讨论一级存储器和象素值等于“1”或是“0”。源地址提供读出象素值的一个基数。因此,当产生预定地址时,“地址”源定位给出的象素值将在位变换存储器[63]内部变换到所产生的预定地址。

用户能选择作原矢量之用的值和作引出矢量之用的值。对每个矢量,有一个由X外延的DX和一个由Y外延的DY。长轴规定为具有最大外延的轴。换句话说,如果DX>DY,则X是长轴。为了讨论起见,我们将假设:X轴是长轴及Y轴是短轴。用户可通过判定SDX,SDY,FDX和FDY(图2中所示)的值来选择长轴和短轴。用户通过选定由DX和DY所指定的算术符号来判定预定图象将如何引出。

图2中被引出的矢量[17]是由二个矢量分量FDX和FDY所得出的。如果,水平方向至点[19]的右边和线[21]垂直方向向上考虑为正,则图2中矢量分量FDX和FDY都为正。用户可将作为正值的FDX和FDY值送到图1中的电路[15]中。图2中,由矢量分量SDX和SDY所得出的矢量[23]已选为源矢量。由于SDX向着点[19]的左方,所以,它有一个负值而分量SDY有一正算术符号。SDX和SDY用适当算术符号送入图1中的电路[13]中。在预定地址电路[13]和[15]中,DX(即SDX或FDX)的绝对值减DY(即SDY或FDY)的绝对值。其结果与DX和DY的算术值一起示出八分圆中各自矢量的位置。图3示出DX与DY和与随着指定的八分圆而限此它们的附号之间的关系。

图3中看出如果已知三个参数,则可求出矢量八分区位置。如果已知DX,DY的算术符号及DX或DY的较长轴,则该系统可求出系统八分区中矢量位置。如前所述,用户(程序)提供算术符号和DX和DY的幅度。代表三个参数的各讯号经线[25]和[27]各自传输到程控逻辑阵列电路(PLAS)[29]和[31],程控逻辑阵列电路[29]和[31]各自用于控制原和引出矢量预定地址电路[13]和[15]中的转换电路。在最佳实施例中,程控逻辑阵列电路由沙尼狄克斯公司(Signetics    Corporation)制造其型号为82    S100。

也能从图1中看出,由线[33]和[35]各自把预定地址电路[13]和[15]接到状态处理机(即控制电路)[37]。当一矢量引出时,预定地址电路[15]对每次地址递增进行计数。当X计数达到FDX值时,表示矢量[17]已完全引出讯号将经线[35]被转输到状态处理机。该状态处理机[37]逐次将一个讯号传到程控逻辑阵列电路[29]和[31]。为了响应来自状态处理机[37]的讯号,程控逻辑阵列电路[29]将调节预定地址电路[13]中各开关来递增沿矢量[23]的-DX和+DY矢量分量方向的地址值。另外,程控逻辑阵列电路[31]将起始预定地址电路[15]以便在矢量[23]上提供一个起始地址。由于递增了原矢量[23]的分量地址,和在原矢量[23]增量地址上开始起始X和Y地址,所以,第二个矢量[39]开始及直到被引出。在最佳实施例中状态处理机[37]是由沙尼狄克斯公司制造,型号为82S100。

从图1中还能进一步看出,有一引出矢量比例转换电路[41]和原矢量比例转换电路[43]。转换电路[41]的输入是经线[45]的一个引出比例因子[FS]及比例转换电路[43]的输入是经线[47]的原矢量比例因子[SS]。这些比例因子和比例转换电路能使本系统以分数倍或整数倍放大或缩小图象的尺寸。源图象放大(即向上比例转换)是通过将源输出的象素复制到预定的倍数象素值的存储单元来完成。缩小(向下比例转换)转换是通过将源输出的倍数象素值变换到预定的一个象素值来完成。

例如:在放大转换时,在引出矢量转换电路[41]中每当产生一个引出矢量象素地址时,比例因子FS(该因子通常是小于1)就累计起来。

比例转换电路[41]用来经线[49]传递一个讯号,该线[49]上的讯号告知状态处理机[37],被引出的矢量地址应是递增的。状态处理机[37]传递一控制讯号给程控逻辑阵列电路[31],该电路[31]顺次使引出的矢量地址递增的预定地址电路[15]工作。当比例因子的和超过1时,则比例转换电路[41]经线[51]传送一个讯号,使状态处理机[37]传递一个讯号给程控逻辑阵列电路[53]。程控逻辑阵列电路[53]立即响应,传递一讯号给源逻辑电路[55]。源逻辑电路[55]使源地址处于递增。如上所述,在图象放大时,该系统必须将源地址的象地值复制到倍数预定地址中。在图象缩小时,该系统必须在一个单一预定地址上产生一象素值之前,读出源图象输出的许多象素值。作为例子,如果在源中的图象有一个4个单位长度的矢量,及放大其的程序为2.5倍,则形成的矢量将是10个单位长度。该系统处理赋值的情况如下:从第一个源象素值产生放大图象中的三个象素值;从第二个源象素值产生放大图象中另二个象素值;从第三个象素值产生放大图象中的另三个象素值;及从最后一个源象素值产生放大图象中另二个象素值的赋值。因此,从4个源象素值中产生放大图象中的10个象素值。比例转换电路[41]和[43]可用来对放大图象中前述产生的象素值进行平均。地址收集逻辑地路[57]和位变换存储器[63]不表示本发明的电路部分,而是作为利用本发明产生的讯号的一个应用方法的实例。

图1示出二个接到预定地址电路[13]的输入线[65]和[67]。在线[67]和[65]上X和Y值分别为存储器预定部份中的X,Y地址,作为变换图象的起点。在起始过程期间SX和SY值由电路[13]转换到电路[15]。因而,在起始后和系统必须开始变换一个图象后,每个引出矢量的起始点是原矢量的最后产生的象素值的地址。注意,传送到位变换存储器的地址FX和FY仅来自引出矢量预定地址电路[15]。接着变换图象由改变FX和FY值而放大。原矢量向前输送,因此,由改变响应于状态处理机输出的一个控制讯号的起始地址而引出,比例转换电路[41]和[43]接收状态处理机[37]经线[69]和[71]输出的控制讯号,从而起始这些电路。状态处理机[37]和程控逻辑阵列电路[29]和[31]是可控编程器件,可加以程控,以便完成本说明中设定的步骤。

图4-7表示基于引出矢量预定地址电路[15]中一组电路。

图8-11表示基于两矢量预定地址电路[13]的一组电路。

图11展示产生SX地址的电路,这儿SX地址成为图7中的线[7-3]的输入。图4-11中所示各电路是以逻辑形式展示,即,如各开关,加-减器,累计器,,寄存器等等……。实际上,这些电路是由许多集成电路芯片构成,其中转换控制是由电子装置完成。在最佳实施例中,图4-13中的所有电路用的开关,及图1中电路[55]中的开关都是转换开关器,它是由得克萨斯仪器公司(Texas    Instrument    Corporation)制造的,型号为74153。其它型号的转换控制装置和其它形式的转换开关器均可使用。在最佳实施例中,图4-13中所有电路所用的加-减器,及图1中的电路[55]中加-减器都是由得克萨斯仪器公司制造的,型号为74181。在最佳实施例中,图4-13中的所有电路有的累计器,及图1中电路[55]上的累计器都是得克萨斯仪器公司制造的,型号为7491。其它型号的加-减器及累计器均能使用。各寄存器,如[8-13]的各寄存器也是由得克萨斯仪器公司制造的,型号为7474。

在起始期间,程控逻辑阵列电路[29](响应于状态处理机[37]输出的讯号)置开关[11-1]于“0”位置[11-2]。另外,置开关[11-1]于“0”位置[11-4]。因而零加在加-减器[11-5]中的零上,零的和置于累计器[11-6]。接着,图11中的SX地址电路最初被复位到零。图[4-10]中的各电路图用同样方法进行复位,于是,所有这些电路都复位到零。在下一个起始期间的步骤中,程控逻辑阵列电路[29]置开关[11-3]于X1输入线[11-7]。开关[11-1]保持在“0”位置,即,接到线[11-2]。在适当的时钟周期期间,X地址加在加-减器[11-5]中零上,及其和(即X1)变换到累计器[11-6]中。累计器[11-6]的数值作为SX地址呈显在终端[11-8]上,SX地址输出到引出矢量预定地址电路[15]。

图10的电路工作是与图11中的电路工作同样的,除输入是在线[10-7]上待变换的图象的起始点的Y1地址之外。

图6和图7的各电路接受由图10和11中各电路输出的各自输入讯号SY和SX,SY和SX表示作为对应的被引出的矢量用的起始地址。地址值SY和SX通过由置开关[6-1]于“0”线[6-2],开关[6-3]于SY线[6-7],置开关[7-1]于“0”线[7-2],和置开关[7-3]于SX线[7-7]加到加减器[6-7]和[1-5]的零上。SY和SX各自存储在累计器[6-6]和[7-6]中。此处FY和FX的起始地址值各自调节到与SY和SX相等,SY和SX各自顺次等于Y和X。由于当变换到位变换存储器的第一引出矢量和原矢量在同一的X-Y地址开始(即用户所选用的起始点),所以接着初始时X=SX=FX及Y=SY=FY。

举例来说,如果我们假设被转移的图象有一个矩形边界(规定沿X和Y方向)没有转动、及引出矢量将在X方向扩展,则仅需要讨论图7和10,这是因为,引出矢量将没有Y分量。在此情况中,程控逻辑阵列电路置于开关[7-3](图7)于“1”输入线[7-12],及置开关[7-1]于累计器输入线[7-13]。每次在线[49]上有一输出讯号时,程控逻辑阵列电路[31]就对加一减器[7-5]计时。由于开关[7-3]和[7-1]以上述方法安置,累计器[7-6]中的和(即FX,FX最初是最后SX地址)加至1,于是,有一个新的地址,可供计算新的象素值,以便引出矢量。在每次读和写周期帧数期间,FY值保持恒定。因程控逻辑阵列电路[31]已置开关[6-1]于累计器输入线[6-13],及置开关[6-3]于“0”输入线[6-4],所以上述都是对的。由于这些开关的调节,则零加到累计器输出的原来Y值上,FY保持恒定。在视频显示中当引出第一个矢量期间,并关[10-3]和[11-3]被置(响应于程控逻辑阵列电路[19]给出讯号)于零位置,即,各自置于线[10-4]和[11-4],及开关[10-1]和[11-1]各自被置于它们的累计器输入线[10-13]和[11-13],因此SY和SX地址是起始Y和X地址。

当计算象素地址以便引出矢量时,该象素地址在图5中的计数电路中计数,该计数电路初始时是复位到零。此后,在进一步起始期间,开关[5-4]被置于线[5-2]以便接收FDX值,而开关[5-1]被置于线[5-2]以便接受零复位值。FDX值由用户提供。因此,当FDX通过加-减器[5-6]时,减去零,此时-FDX和存储在累计器[5-7]中。和的算术符号寄存到寄存器[5-8]。当象素地址被计算来作为引出矢量之用时,开关[5-4]被置于“1”端[5-5]。同时,开关[5-1]置于累计器输入线[5-10],在第一象素地址在计算时,累计器输出的-FDX(在加减器[5-6]中)加至+1,只要累计器存数的算术符号保留为负,则在寄存器[5-8]中就提供一个负的算术符号值。当“1”加至-FDX上时,则累计器存数就变成更小负值,最后到零。零值被检出作为寄存器[5-8]中的符号变化,寄存器[5-8]中算术符号变化在端[5-9]上产生一个讯号,此讯号出现在图1的线[35]上。

图1中的线[35]上计数讯号传输到状态处理机[37],状态处理机[37]作出响应,传递各讯号于上述的程控逻辑阵列电路[29]和[31]为了响应来自程控逻辑阵列电路[29]给出的讯号,假设图3中的程序是实际的(即正Y方向向上),“1”将加至图10中Y地址上,待引出的第二个矢量将在X-Y平面(即X,Y+X)上第一个引出矢量上面的位置上开始。

在这些情况中,程控逻辑阵列电路置开关[10-1]于累计器输入线[10-13]及置开关[10-3]于“1”输入线[10-12]。程控逻辑阵列电路讯号对加至初始SY地址(即Y)的“1”计时,其结果,第二个引出矢量开始于新地址Y+1。SX保持等于X,这是由于在我们假设的例子中变换一个矩形图形不加转动。同时图9中的电路将对Y地址增量计数。每当计算象素地址来进一步定义原矢量时,图9中的计数电路就把其累计器值加+1。图5中累计器[5-7]载有-SDX值,累计器[9-7]最初也以同样的方法载有-SDY值方法。当累计器[9-7]中的值增到零时,就检出算术符号变化及一预定讯号在终端[9-9]上产生,该预定讯号经图1中的线[33]上传输。当达到原矢量的末端时,则仅一个引出矢量来完成源图的传送,及这信息是在线[33]上传出讯号而传输出去的。

注意图1,当SOX和SOY地址由源逻辑电路[55]产生时,它们就被传送到如前所述的地址收集逻辑电路[57]。比例转换电路经线[51]和[52]产生讯号后,SDX和SDY地址就得以递增。研究了图12和13中的电路功能,就能更好理解这些讯号的发生。当一图象要由存储器的源部分转移到一个新的位置和进行放大时,该图象就以某个倍数放大。图12和13中的电路能使本系统处理,以分数倍数放大或缩小图象尺寸。举例放大源输出的矩形图象。该图象在X方向有10个象素,在Y方向有4个象素(显而易见,因为每根可见字线上有10根象素线。所以实际图象将比前述尺寸大好多倍)。假设4象素X10象素的图象在X方向放大2.4倍,在Y方向放大3.2倍。在此情况中图12的比例转换电路使用了1/24或.417的比例因子[FS],同时,图13的比例转换电路使用了1/3.2或.312的比例因子[SS]。

参考图12,在起始期间,状态处理机[37]经线[69]传送讯号,从而使开关[12-1]置于“0”输入线[12-2],而开关[12-3]置于“0”输入线[12-4]。因此一个零值加上一个零值上以致于在累计器[12-6]上提供了一个零的和,所以比例转换电路[41]复位到零。图13中的比例转换电路[43]用同样的方法复位到零。在起始后,开关[12-3]置于比例因子FS线[12-9]。一个讯号值.417由线[12-9]传输到加一减器[12-5]。同时,开关[12-1]置于累计器输入线[12-8]。为了响应加一减器[12-5]上的时钟讯号,值.417被加至零上,及存储在累计器[12-6]中。在加上比例因子.417,同时,一个象素地址计算出来根据线[49]上讯号和状态处理机[37]中时钟讯号计算出来供引出矢量用。如果系统作放大转换,则整个这段时间内在线[49]上会产生讯号。如果系统按放大转换方式工作,则调节触发器[50],即转换至其Q边。溢出讯号将通过或门[65]以便经线[51]提供一个增量控制讯号。根据累计器[12-6]中存数超过整数,该溢出讯号就输出。如果系统作缩小转换,则触发器[50]置于Q边,在线[51]上有一恒定的增量控制讯号。记住,引出矢量在系统使原矢量地址递增前完成的。

在下一个时钟周期期间,累计器[12-6]给出的值.417加至来自比例因子[FS]线[12-9]给出.417及.834值存储在该累计器中,在此期间,第二个象素地址已计算出来,以便引出扩展的矢量。在下一个时钟周期期间累计器[12-6]给出的.834值加至来自比例因子[FS]线[12-9]的.417值,此时,累计器在此存储。和为1.251。然而,累计器[12-6]设计得能把“1”值视为一个进位,于是经线[12-11]提供一讯号。线[12-11]上载有的进位讯号使溢出电路[12-7]通过或门[65]经线[51]提供一讯号,接着,源地址SOX递增“1”,而.251值仍留在累计器中。于是,对存储器中的源部分的第一个象素地址,现为正在引出的矢量,已计算到三个象素地址。表1示出源矢量中象素值和引出矢量中象素值间的关系,应认识到,终图的FDX将是24个象素。这是因为源图象的X方向上10个象素以2.4倍加以放大。

表Ⅰ

帧周期    附加比    累计器中    进位    源象素    附加总

例因子    总值    位置    象素数

1    .417    .417    否    第一    1

2    .417    .834    否    第一    2

3    .417    1.251    是    第一    3

4    .417    .668    否    第二    4

5    .417    .085    是    第二    5

6    .417    .502    否    第三    6

7    .417    .919    否    第三    7

8    .417    1.336    是    第三    8

9    .417    .753    否    第四    9

10    .417    1.170    是    第四    10

11    .417    .587    否    第五    11

12    .417    1.004    是    第五    12

13    .417    .421    否    第六    13

14    .417    .838    否    第六    14

15    .417    1.255    是    第六    15

16    .417    .672    否    第七    16

17    .417    1.089    是    第七    17

18    .417    .506    否    第八    18

19    .417    .923    否    第八    19

20    .417    1.340    是    第八    20

21    .417    .757    否    第九    21

22    .417    1.174    是    第九    22

23    .417    .591    否    第十    23

24    .417    1.008    是    第十    24

表1示出对第一,第三,第六和第八象素地址,计算出三个引出的矢量象素地址,对其他每个源象素地址仅计算出二个引出的矢量象素地址。13个引出矢量中的每个矢量将在X方向上追随同样的图形。然而Y方向图形由于不同的比例因子而将不相同。

图13中的电路按图12中的电路同样方式工作,除开关[13-3]仅置于响应图1中线[35]上的计数讯号比例因子[SS]线[13-9]以外。引出矢量预定地址电路的布氏算法电路如图4所示。这个电路能使图象转动。布氏算法提供了一种技术或一规则,利用它,一个任意矢量就能近似于象素的矩形格栅。(布氏算法仅用于本发明的变换电路中,而不是本申请人的发明)为了选择对应于转动矢量的这些象素,某些象素要与以前产生的象素对角地定位。如果一个象素值的地址使象素值定位在对角于最后象素值的那个位置上,则长轴和短轴地址都得以递增。如果一个象素值地址使象素值定位在沿着偏离最后象数值的长轴的一个象素位置上,则只有长轴地址递增,布氏算法给求出是长、短轴地址还是只有长轴地址递增提供了一个基数。

图14示出固定于存储器源部分的图象[S](作源用)和固定在存储器的预定部分的图象[D](作预定用)。图象[D]已转动。用户可决定预定图应转动多少角度,及选择FDY和SDX来完成适当角度转动。当使用前面例子所讨论的矩形(10象素×4象素)时,我们选择30°的转动角度。此处FDY有一个与象素的值,SDX有一个2象素的值。如果稍微改变布氏算法,其结果是沿长轴方向的终端笔划被等分,并获得在沿着出现在指示器前的设定的对角线方向上良好均匀的象素值。根据布氏算法,为了产生作一个矢量用的地址,沿长轴方向的矢量分量的绝对值减去沿程轴方向的矢量分量的绝对值。如果差为负,则只有长轴地址递增,反之,如果差为正,则长短轴地址都递增。又,如差为负则在下一个步骤中,该差值加至沿短轴方向上分量的绝对值上。表Ⅱ排出布氏算法和其通过预定地址电路[13]和[15]所使用的方法。

表Ⅱ

符号编码

步骤    布氏算法    数字计算    累计器    增量    增量

存数    FX地址    FY地址

1    0-5+5=0    是    是

2    0-10+5=-5    是    否

3    -5+5=0    是    是

4    0-10+5=-5    是    否

5    -5+5=0    是    是

6    0-10+5=-5    是    否

7    -5+5=0    是    是

8    0-10+5=-5    是    否

9    -5+5=0    是    是

10    0-10+5=-5    是    否

表Ⅱ中每当累计器有一个零差值(或如有一个正的回答),引出矢量的X和Y地址就都递增。及每当累计器有一负值,只有X地址递增。图14中,象素如按表Ⅱ所指出的位置所示。图14中象数是按小于有关图纸(假定图象尺寸是10象数×4象数)的实际尺寸画出,以便使图更有意义。矢量[73]的起始点是点[75]。注意,表Ⅱ中第1步骤说明了X和Y地址都要递增,此处象素[77]定位在一个象素的右边和一个象素上面。注意,表Ⅱ的第2步骤说明只有X地址递增。因而象素[79]定位在一个象素位置的右边。根据表Ⅱ中的算术符号解释,就可看出,图14中象素是群聚在被引出矢量[73]的一定位置上,指示器上把这些象素看作为一根近似于矢量[73]的线。

现在考虑图14和8中所示的布氏算法电路的工作。该系统必须首先判断:作为引出矢量和源矢量的长、短轴,及该些矢量要定位在八分图中什么位置。用户知道,变换图象是从什么地方引出,根据图3中所示八分图关系,提供符号给各分量轴。用户也知道图象要转动多少角度,因此,用户可求出FDX,FDY,SDX和SDY的值,对用户来说,提供那个轴是长轴的数据,这是一件简单的事情,该系统利用布氏算法电路来求出其解。

考虑图8,该图是基于原矢量预定地址电路[13]的布氏算法电路。在起始期间,开关[8-1],[8-3]和[8-5]各自置于“0”输入线[8-2],[8-4]和[8-6]。此处所有的零一起加起来,及图8的布氏电路复位到零。其后,在起始期间,开关[8-3]置于线[8-7]而开关[8-1]保持置于在“0”输入线[8-2]。于是,SDX值加至加一减器[8-8]中的零上。同时开关[8-5]置于SOY线[8-9]及SDX变换由加-减器[8-8]输出讯号,与加一减器[8-10]中SDY输出讯号相减。在加一减器[8-10]中计算的差值存贮在累计器[8-11]中,如果累计器[8-11]中差值是负,则SDX是沿长轴方向的分量;如果差值为正,则SDY是沿长轴方向的分量。来自差值的算术符号位数存贮在触发器[8-12]中,那个讯号就是经线[25]传送到程控逻辑阵列电路[29]的三个讯号中一个。在线[25]上表示SDX和SDY的符号值的另二个讯号存贮在二个触发器(未画出)中,这些电路直接接收来自图1的线[26]上输入讯号的算术符号输入。图4中电路是按图8中电路同样方式进行起始。

在起始期间(按刚才叙述),系统已判定,关于引出矢量[73](图14),X是长轴,Y是短轴。在作为由源读出和写入于存储器的预定位置用的第一周期帧象之前,FX和FY的起始地址将按前所述由有关的图6和7中电路产生。参考图4,在由源读出和写入于预定位置用的第一周期帧象期间,开关[4-1]将置于累计器输入线[4-14];开关[4-3]将置于FDX/2输入线[4-15];及开关[4-5]将置于FDX输入线[4-9]。通过复位程序,(上面所述)累计器输出为零,所以FDX/2将减去加一减器[4-8]中零,加一减器[4-8]产生一个一FDX/2的差值讯号。程控逻辑阵列电路[31]输出讯号直接到加减器[4-8]去相减。一FDX/2值然后直接到加一减器[4-10],这儿FDX/2绝对值减去FDY的绝对值(即|FDY|-|FDX/2|)。由表Ⅱ的数值,我们发现在2个加减器[4-8]和[4-10]中计算结果为0-5+5=0。此时在累计器[4-11]中有一个零。一个零被解释为算术正符号,该正符号存储在寄存器[4-13]中,在最佳实施例中,寄存器[4-13]是由得克萨斯仪器公司制造的,型号为74S74。寄存器[4-13]输出的算术符号讯号经线[28]输送到程控逻辑阵列电路[31],该电路[31]响应于正符号讯号从而置开关[7-3]和[6-3]于它们各自的“1”输入线,此处FX和FY地址按表Ⅱ的最后二列所指递增。因此,图14中的象素[77]按图示定位。在下一个周期帧象期间,源图读出,终图写入,程控逻辑阵列电路[31]将置于开关[4-3]经线[4-7]的FDX输入上,开关[4-1]仍置于线[4-14]上,开关[4-5]仍置在FDY输入线[4-9]上。根据各开关的放置位置及最后周期帧象工作,当线[4-7]提供FDX到加一减器[4-8]时累计器[4-11]提供零给加减器[4-8],及程控逻辑阵列电路[31]输出的控制讯号使|FDX|与零相减。此时,一FDX值被变换到加一减器[4-10],于是|FDX|减去|FDY|。由表Ⅱ的数值,我们发现;二个加-减器[4-8]和[4-10]的计算结果为0-10+5=-5。此时在累计器[4-11]中有一个-5值。算术负符号存贮在寄存器[4-13]中,且传送到程控逻辑阵列电路[31]。该电路[31]响应算术负符号,置开关[6-3]于“0”输入线[6-4],而开关[7-3]保持置在“1”输入线[7-12]上,因而只有FX地址按表Ⅱ中的最后二列所指递增。接着,图14中的象素[79]按图示定位,系统继续为程控逻辑阵列电路[31]产生讯号。该电路[31]顺次操纵图6和7中的电路,以便产生适当的FX和FY讯号。图9中的布氏算法电路以同样方式运算,提供讯号给程控逻辑阵列电路[29](线[30]模拟于线[28]),该电路[29]依次操纵图10和11的地址电路,以便产生SX和SY地址。当图5中的计数电路表示引出矢量已完全引出时,只有沿图14中源矢量[74]方向提供的象素地址被递增。每当产生一个象素值,如象素[77]和[79]时,图5中计数电路根据程控逻辑阵列电路[31](按前所述)输出的控制讯号进行计数。

先前提到,本系统完成一无信号区填充的工作。在讨论完成无信号区填充电路之前,我们应考虑无讯号区填充的必要性。

图15中已显示出一个与图14中矢量[73]同样斜率的矢量[81],而该矢量[73]是二倍长。矢量[73]已放置在对应于各象素的中央位置,当然图15中的象素位置是图14中象素位置的二倍。图15经放大,以便观察无信号区的排列,“A”描述了一个沿线[81]方向形成的矢量的象素中心。“B”描述沿线[83]方向形成一个第二个矢量的象素中心。位置[85],[87],[89],[91]和[93]既没有A也没有B,因此被认为是无信号区。现有一个简单的系统报警测试方法,可得知无信号区是否可能存在于预定的平行四边形中。该系统首先检查SDX,SDY,FDX和FDY的算术符号。如果有一个奇数负符号,则存在无信号区。随后,当一个引出矢量的原,沿着相对于下一个引出矢量原的原矢量方向成对角放置时,只有在形成引出矢量的象素地址的产生期间会发生无信号区。

最后,当出现上面二个条件和一个引出矢量的连续象素的地址与先前产生的象素地址成对角定位时,就发生无信号区。在状态处理机[37]中检出第一个条件,及第二,第三个条件由布氏算法电路检出,该算法电路输出合适的信号给状态处理机[37]。

记着,图1中线[24]和[26]上输入讯号的算术符号是直接检出的,这些讯号都存贮在没画出的触发器中。这些算术符号讯号从这些触发器传递到状态处理机[37]中“异式”逻辑电路,及输出讯号从这里输到状态处理机[37]中无信号区测试“与门”。由图8中布氏算法电路(触发器电路[8-12])沿线[25]输出的正符号讯号表示:下一个引出矢量原点将根据以前的引出矢量原点对角定位,这是上面提到的无信号填充报警的第二个条件,最后提到的符号讯号是输出给状态处理机[37]中无信号区测试“与”门。

由图4中布氏算法电路沿线[28]方向输出的一正符号讯号将表示,一个引出矢量的连续象素的地址将与先前产生的象素地址成对角定位,这是上述提到的报警系统一无信号区填充的第三个条件。由图4中电路输出的符号讯号输给状态处理机[37]中无信号区测试“与”门,从图15中考虑,可明显地看出;在A象素产生期间发生无信号区的所有三个条件都存在着。当计算B象素时,没有发生的无信号区,这是由于第二个条件,即,下一个引出矢量的原点是根据原先引出矢量原点关系对角定位没有出现。矢量C的原点[97]与矢量B的原点[99]不成对角定位。

由于,与图15中A象素的产生三个报警条件均存在,状态处理机[37]传递一指令讯号给程控逻辑阵列电路[31],该电路[31]顺次使[5-7]中的电路工作。由程控逻辑阵列电路[31]输出的指令讯号置开关[7-3]于“0”输入线[7-4]及置开关[6-3]于它的“1”输入线,这样只有Y轴地址递增。另外,开关[5-4]置于“0”输入线[5-11],结果加在定位器[85]象素值不计数。图4中布氏算法电路的开关[4-1],[4-3]和[4-5]将置于它们的“0”输入以便抑止在该周期帧象期间的一个新指令,在该周期帧象中在存储单元[85]中产生象素值,在下一个周期帧象中,状态处理机[37]指令程控逻辑阵列电路[31]置开关[7-3]于“1”输入线[7-12],置开关[6-3]于“0”输入线[6-4],置开关[5-4]于“1”输入线[5-5];及置开关[4-1],[4-3]和[4-5]各自于累计器输入线[4-14],FDX输入线[4-3]和FDY输入线[4-9]。此时只有沿X轴方向的地址递增,及下一个FX地址就是A象素值[101]定位的地方。该地方的A象素值[101]将被计数,布氏电路将产生新指令,使地址增量,产生A象素[103]。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号