本发明涉及数字图象处理方法及装置,该技术用来解释比方说从图片或其它形式图象中生成的电子图象,其中,必须处理电子图象,以便解释或抽取包含在该图象中的数据。例如,解释或抽取卫星图片所获得的图象数据,或者,解释或抽取所获得的检索指纹或指纹档案中的图象数据。 在1988年12月13日公布的Larcher等人的题为《用来匹配指纹的指纹自动识别装置和方法》的美国专利No.4,790,564中,描述了一种用来匹配检索指纹和指纹档案的指纹自动识别装置,该装置包括若干以一高速局域网(LAN)而相连接的不同的子系统。其中的三个子系统为十指指纹卡输入子系统、特征指纹输入子系统和编码子系统。指纹子系统的输出包括指纹的模拟或带灰阶的电子图象,它们包括数字图象处理和数字图象滤波。现有数字图象处理和数字图象滤波的方法和装置的一个缺点是执行必要的图象处理和图象滤波计算的所需时间太长。
在某些情况下,灰阶图象输出的图象质量与两子系统的指纹输入的质量都直接有关,因此,本专业的一般技术人员力图通过数字图象处理和数字图象滤波来提高图象质量。
上述美国专利No.4,790,564所述的编码子系统包括使用电子图象检测每一指纹中地细节的电路装置。图象质量不高不利于细节的检测,也不利于准确解释或抽取卫星图片或其它手段所获得的电子图象数据。
因此,提高数字图象滤波和数字图象处理计算的速度并通过数字图象滤波和数字图象处理来提高数字图象的质量是本专业一般技术人员追求的目标。
因此,本发明的一个目的是提供能实现高速图象处理计算的新颖的数字图象处理和数字图象滤波方法和装置。
本发明的另一目的是提供能实现高速图象滤波计算的数字图象滤波新方法和新装置。
本发明的另一目的是提供通用的数字图象处理方法和装置,用户能很容易地进行编程,从而处理从比方说卫星图片、指纹卡等等各种来源获得的数字电子图象。
本发明的另一目的是提供产生随机存取存贮器地址的新的改进方法和装置,它们能应用于比方说数字图象处理和数字图象滤波的方法和装置中。
从下述详细说明中,数字图象处理和数字图象滤波专业的一般技术人员将能显然看到本发明的其它目的。
按照本发明装置的一个方面,该装置包括一用来对数字图象进行滤波的电滤波器,该滤波器包括用来接收具有边界的电子数字图象的输入装置和用来传送经滤波的电子数字图象的输出装置,其改进之处的特征在于,把控制处理器装置与用来对上述所接收的数字图象进行滤波的电路装置结合了起来;该电路装置包括至少一个用来进行第一批数字图象滤波计算的流水线处理链装置,该链装置包括输入装置和输出装置,上述所接收到的图象的至少一个象素加于输入装置上,而上述经滤波的数字图象从输出装置被耦合到上述传送装置,该处理链装置对由该处理器作出解释的第二批指令作出响应,使该处理链装置对上述所接收的数字图象的所述象素进行上述第一批计算中的预定计算。
按本发明装置的另一个方面,该装置包括处理数字图象的电路,该电路包括输入装置和输出装置,输入装置接收至少一个待处理的电子数字输入图象,输出装置传送至少一个经处理的电子数字输出图象,改进之处的特征在于,它结合了控制处理器装置、视频随机存取存贮器装置、视频随机存取存贮器的控制器装置和用来处理至少一个数字图象的电路装置,该电路装置包括至少一个用来进行第一批数字图象处理计算的流水线处理链装置,该处理链装置包括输入装置和输出装置,上述输入图象的至少一个象素即加于输入装置上,经处理的输入象素则从输出装置加到上述传送装置上,该处理链装置对由上述处理器所解释的第二批指令作出响应,使上述处理链装置对上述输入数字图象的象素进行上述第一批计算中的预定计算。
按本发明装置的又一个方面,该装置包括一地址发生器,用来在随机存取存贮器中产生地址,从而从至少一个具有边界的电子数字输入图象中能取出一个或多个象素,然后处理抽取的象素而得到电子数字输出图象,其改进之处的特征在于,它把下述诸装置结合到了一起:从上述输入图象获得至少一个位于上述边界处或位于上述边界内的逻辑电子数字图象的装置,该逻辑图象具有至少一个象素,其笛卡儿座标原点可任取;用来识别从上述逻辑图象抽取的至少一个象素的装置;在行方向和列方向上扫描上述逻辑图象以产生一对存储器存储地址的装置,对于每一个上述经识别的象素,每对存储地址在上述存储器中包括一个行存储地址和一个列存储地址;抽取该经识别的象素的装置;由流水线处理装置处理每一个上述抽取出来的象素从而获得一经处理的输出象素的装置;以及为每一经处理的象素在随机存取存储器装置中产生包括行存储地址和列存储地址的一对存储器存储地址并同时把该存储器中的上述经处理的象素存储在上述所产生的该对地址中的装置。
本发明装置的再一个方面是,该装置包括数字滤波器电路和数字图象处理电路中的随机存取存储器装置,其特征在于,存储器由至少四个存储段组成,每一存储段以4比特大小位而排列,因此,该存储器能存储4位、8位、12位和16位宽的数字图象;以及数字图象滤波电路和数字图象处理电路的查找表随机存取存储器装置,其特征在于,该表的查找表数据包括数字查找表和/或二进位查找表;并且,该存储器组成至少两个体,每一体存储数字查找表数据或二进位查找表数据;以及数字图象处理电路的查找表随机存取存储器装置,其特征在于,该表的查找表数据包括数字查找表和/或二进位查找表,并且,该存储器组成至少两个体,每一个体存储数字查找表,数据或二进位查找表数据。
按照本发明方法的一个方面,本发明提供了一种处理至少一个具有边界的电子数字输入从而获得电子数字输出图象的方法,其改进之处的特征在于下列步骤:从上述输入图象导出至少一个位于上述输入图象边界或边界内的逻辑电子数字图象,该逻辑图象具有至少一个象素,其笛卡儿座标原点可任取;识别从上述逻辑图象抽取的至少一个象素;在行和列方向上扫描上述逻辑图象以便在随机存取存储器中产生一对存储器存储地址,相应于每一个上述识别出的象素,每对存储地址包括行存储地址和列存储地址;用流水线处理计算抽取并处理每一个上述识别出的象素,从而获得经处理的输出象素;为每一个处理过的象素在随机存取存储器中产生一对包括行存储地址和列存储地址的存储器存储地址并同时把该存储器中的上述经处理的象素存储在上述的产生的该对地址中。
按照本发明方法的另一方面,本发明还提供了一种方法,该方法在随机存取存储器中为从至少一个具有边界的电子数字输入图象中抽取的一个或多个象素产生地址,然后处理该被抽取出的象素而得到电子数字输出图象,其改进之处的特征在于下列步骤:从上述输入图象导出至少一个位于该输入图象边界上或边界内的逻辑电子数字图象,该逻辑图象包括至少一个象素,其笛卡儿座标的原点可任取;识别从上述逻辑图象中抽取的至少一个象素在行的和列的方向上;扫描上述逻辑图象以便产生一对存储器存储地址,相应于每一个上述经识别的象素,每对存储地址在上述存储器中包括行存储地址和列存储地址;用流水线处理计算抽取并处理每一个上述识别出的象素,从而得到一经处理的输出象素;为每一个经处理的象素产生一对存储器存储地址,每对存储地址在随机存取存储器中包括行存储地址和列存储地址,并同时把在该存储器中的上述经处理的象素存储在所产生的该对地址中。
图1A为在按本发明所构作和运行的通用数字图象处理电路30的一优选实施例中,视频随机存取存储器23、图象存储(Im0~Im3)随机存取存储32和查找表随机存取存储器372的存储单元总分配方框图;
图1B为按本发明所构作并运行的通用数字图象处理电路30的一个具体应用例的方框图;
图2A为一方框图,它表示出主机系统10与通用电子图象处理子系统20共同运行的一般特性,该子系统20包括通用电子图象处理电路30,该子系统20和电路30按本发明构作并运行。
图2B为上述处理电路30的一个优选实施例的方框图;
图2C为表示接口14细节的方框图,并可参看图2A;
图3为表示视频随机存取存储器控制器(“VRAMC”)22的一般特性的方框图,并可参看图2B;
图4为表示上述处理电路30中的纵横单元(“CRX”)31的一般特性的方框图,并可参见图2B;
图4A的方框图,举例表示出CRX 31的具体功能;
图5的方框图表示出上述处理电路30中的地址发生器(“ADD GEN”)33的一般特性,并可参照图2B,该发生器33按本发明构作和运行;
图5A为表示图象扫描或扫描方向的框图;
图5B的框图表示由六个象素以2×3阵列组成的电子图象的座标;
图5B′为与地址发生器33的工作有关的时序图;
图5C和5C′表示出地址发生器33进行象素抽取;
图5C″为以HPIX时钟频率的象素抽取时序图;
图5D和5D′为图5地址发生器33中的ALUX 331和ALUX 332的框图;
图5E的方框图表示出图2B的数字图象处理电路30中的某些单元通过地址发生器33的同步关系;
图5F的方框图表示在地址发生器33的控制下,图象信息在图象存储RAM 32与VRAM 23之间的交换;
图5G的方框图表示用地址发生器33把图象数据写入图象存储RAM 32;
图5G′为表示把图象存储RAM 32安排成4个4比特深位面的简化框图;
图5H为地址发生器33进行图象扫描的时序图;
图5I表示实际图象与逻辑图象之间的关系以及使用幻象象素定义图象边界;
图5J表示行(ROW)和列(COLLOM)地址以通常扫描的n行和m象素为增量方式的时序图;
图6为表示上述处理电路30中的卷积单元(“CONVOL”)34的一般特性的框图,并可参看图2B;
图6A为卷积单元34各组件实现两图象(A、B)和两常数(α、β)的识别和线性组合功能的接线图;
图6B为卷积单元34各组件实现两图象(A、B)的相乘功能的接线图;
图6C为卷积单元34各组件在实现二维卷积核高达3×4象素的卷积功能的接线图;
图6D为卷积单元34各组件在实现一维核达1×16象素的卷积功能的接线图;
图6E为卷积单元34各组件在实现一维卷积核高达1×32象素的卷积功能的接线图;
图6F为表示卷积单元34中的形态和卷积控制(“MORCON”)单元3410的一般特性的方框图;
图6G为VFIR芯片3411和3412的某些组件在1×16核的卷积过程中的接线方框图;
图6H为VFIR芯片3411和3412的某些组件在3×4核的卷积过程中的接线方框图;
图6I为VFIR芯片3411和3412的某些组件在1×32核的卷积过程中的接线方框图;
图6J为嵌入在VFIR芯片3411和3412在的电路3416的简化框图;
图6K为表示卷积单元34中的延迟线3413、3414的一般特性的框图;
图6L为说明延迟线3413、3414的工作的时序图;
图6M为说明在CT0和CT1信号下进行3×4核卷积计算的时序图;
图6M″为说明在CT0和CT1信号下进行1×16核卷积计算的时序图;
图6M″′为说明在CT0和CT1信号下进行1×32核卷积计算的时序图;
图6N为说明CT0和CT1信号相应于卷积单元34所作种种计算的行为的时序图;
图7为表示上述处理电路30中的逻辑单元(“LU”)35的一般特性的框图,并可参见图2B;
图7A为逻辑单元35实现数据换算功能的方框图;
图7B为表示图7所述MIX/MaX检测器357的一般特性的框图;
图8A的方框图表示出图2B所述处理电路30中的形态单元(“MORPH”)36的一般特性,并表示出PIMM电路361、362以并行方式进行工作的有关数据和同步信号路径;
图8B的方框图与图8A类似,但表示出PIMM电路361、362以串行方式进行工作的有关数据和同步信号路径;
图9的方框图表示图2B所述处理电路30中的查找表(“LUT”)单元37的一般特性;
图9A的方框图表示在预置LUT RAM 372时所得到的数据和地址信号路径;
图9B的方框图表示在用LUT 37处理16位数字图象时得到的数据和地址信号路径;
图9C所示LUT 37的方框图表示出形态单元36的以串行方式工作的PIMM电路361、362在处理8位二进制图象时得到的数据和地址信号路径;
图9D所示LUT 37的方框图表示出形态单元36的以并行方式工作的PIMM电路在处理8位二进制图象时得到的数据和地址信号路径;
图9E所示LUT 37的方框图表示在使用二进位查找表处理16位数字图象上的识别功能时得到的数据和地址信号路径,其中,8个高有效位(高八位)(“MSB”)通过LUT电路371被旁路;
图9F为用来说明图9A线路的简化方框图,它表示出在预置LUT RAM 372时的信号路径;
图9G和9H为用来说明图9B的线路的简化方框图,它表示出对16位数字图象作处理;
图9I为用来说明图9C的线路的简化方框图,它表示出使用串行工作的PIMM电路361、362对8位二进位图象进行处理;
图9J为用来说明图9D的线路的简化方框图,它表明使用并行工作的PIMM电路361、362对两个8位二进制图象进行处理;
图9K为用来说明图9E的线路的简化方框图,它表明对识别功能进行处理;
图9L为以混合方式、即以一个数字查找表和256个二进位查找表工作的LUT RAM 372的存储单元总分配图;
图9M表示LUT RAM 372在处理一条加载查找表命令时所装入的存储单元总分配图;
图10A、10B为用来说明按本发明构作和工作的通用数字图象处理线路30的工作的时序图;
图11的方框图表示出使按本发明的构作和工作的通用数字图象处理线路30工作的一个微码例子。
下面作详细说明。
1、系统观点
参见图2A,按本发明构作和工作的通用电子数字图象处理线路30可插入通用电子数字图象处理子系统20中。子系统20的一个应用例子是应用在上述美国专利No.4,790,564所述的那类编码子系统中。
子系统20经过电缆10a连结到接口线路14。接口线路14的目的是使子系统20与主机10的体系结构相配,主机10可以是(比方说)通常的微通道结构(“MCA”结构。接口14饭控制寄存器317,子系统20包括状态寄存器118。主机10还包括中央处理器(“CPU”)12、随机存取存储器13和外围设备(未画出)。
参见图2C,接口线路14包括来自MCA总线的数据(“MCA-DATA”)、控制(“MCA-CTRL”)和地址(“MCA-ADDRESS”)信号以从属方式连接到线路30的线路。为实现这一功能,接口线路14包括可编程ROM(“PROA”)141,它依靠主机10的上电而工作,以初始化标准FPGA芯片(MCA XILINX芯片)142。工作时,芯片142把对数据的请求送到VRAM控制器22并收到对这些请求的确认。在FPGA芯片142发出的“允许”和“时钟”信号的控制下,通常的三态输出寄存器144把来自MCA总线的地址信息通过线路145提供给VRAM 23。之所以需要三态,是因为VRAM控制器22、控制处理器21(见图2A)和主机10通过芯片142对地址提出相竞争的要求。来自MCA总线的控制信号排定主机RAM存储器13和视频RAM 23之间的传送。来自MCA总线的数据信号经由收发信机143和数据线直接被连结到控制处理器21和视频RAM 23。来自MCA数据总线的8位最低有效位在系统初始化时用来在FPGA芯片142中配置一组内部可编程寄存器选件(定义在MCA结构中),并通过主机10的读/写控制寄存器317(见图2A)提供控制。
按照本发明,子系统20(图2A)包括作为控制处理器(“CP”)的数字信号处理器21、视频RAM控制器22、视频RAM 23和按本发明构作和工作的通用数字图象处理线路30。
图3描述了视频RAM控制器22的一般特性。参看图3,控制器22包括地址发生器224,该发生器包括X计数器和Y计数器,从而产生VRAM地址。部件221为主总线或P_Bus上的视频RAM 23(见图2A)提供RAS(行地址信号)、CAS(列地址信号)刷新和状态信号。交换控制部件222提供同步信号以控制S_Bus上的数据交换的定时,判定器部件223控制主总线上的数据流,对主机CPU 12和CP 21的要求以及对刷新和交换信号的要求作出响应。
总的来说,控制寄存器317(见图2A)连同状态寄存器310起到使主机10和图象处理子系统20的工作同步的作用。上电后,子系统20被置于复位状态,使得主配置系统进程能够运行。VRAM控制器被预置。程序码和数据被装入VRAM 23(见图1A),例如控制处理器21的目标代码和数据、使线路30工作的目标代码的数据(命令CMD1到CMD N);而且,查找表数据被装入LUT RAM 372。所有可编程的芯片被编程并以缺省值被初始化。初始化后,控制处理器21通过空操作循环(图11)继续运行,在空环中,它反复读状态寄存器318(图2A),以寻求主机10发出的进行信号GO(图10B)。
控制寄存器317被启动以运行存储在VRAM 23中的CMD程序,即CMD 1到CMD N(图1A)。程序运行后,状态标记被设定,通知主机(图2A)经处理的图象被存储在VRAM 23中(图2B)。主机10把该经处理的图象复制到RAM 13,以备以后使用,例子如在子系统20连同前文美国专利No.4,790,564的指纹识别系统使用时用作细节抽取。
按本发明,电子图象可存储在VRAM 23和图象存储RAM 32中的任何地方。
图1B表示通用数字图象处理电路30(图2B)所实现的一般化过程的一个具体例子,它开始于主机20获得一不管其来源和数据内容如何的电子数字图象101,并把它存储在VRAM 23中,直到图象处理功能实现后生成一经处理的电子数字图象106,主机再把该图象106复制到RAM 13,以便以后进行处理。按照本发明,线路30由存储在VRAM 23中的CMD程序操纵,它可随用户的需要,对带灰阶的数字图象和/或二进位数字图象提供多次数字图象滤波和处理功能,从而获得预期的经处理数字图象,该图象从图象存储RAM 32复制到VRAM 23并再复制到主机RAM 13,以作进一步处理。
应该指出,通用数字图象处理线路30所实现的一般化过程的其它具体例子包括:(1)由图象103(图1B)上的反馈环路所示的灰阶图象的数字图象的反复滤波,以生成主机可使用的经处理数字图象;(2)如变换的图象104的反馈环路所示的图象104的数字图象的反复滤波,以产成可资主机使用的经处理数字图象;(3)由二进位图象105和106的反馈环路(图1B)所示的图象105和106的数字图象的反复滤波,以生成可资主机使用的经处理数字图象;以及(4)反馈环路的其它组合(未示出),以便依用户任选的组合对不管是什么样的数字图象进行反复滤波和处理,以生成可资主机使用的经处理数字图象。
主机10通过在寄存器317中设定一进行信号GO来要求子系统20运行(图10B、11)。在空循环状态,控制处理器21查询状态寄存器318,同时等待GO信号,以开始图象处理计算任务。
一项图象处理计算任务是一序列以终止码(十六进制的Aooooooo)结尾的命令(CMD)。每一条命令由32位字组成,其中的最左边16位或最高有效位(“MSB”)构成了插入在单元30中的内部寄存器的地址,而其中的最右边16位或最低有效位(“LSB”)构成放入该寄存器数据。每一条命令以启动码(十六进制的80000000结尾。
初始化后,控制处理器21进入空循环状态(图11),在此循环中,它反复读取状态寄存器318(图2A),以寻找主机发出的GO信号(图10B)。当主机10获得一电子数字图象时,主机10把该图象复制到VRAM 23并启动控制寄存器317和设定状态寄存器318(图2A),从而置位GO信号。
一旦GO信号建立,控制处理器21读取并解释命令CMD 1~CMD N(图1A),并经历一个或多个程序循环和一个或多个处理循环(图11)。
特别地,在GO和MANIP信号之间所经历的时间间隔“a”(图10B)中,线路30中的所有专用内部寄存器都被编程。控制处理器21在建立MANIP信号而启动处理循环后,地址发生器33开始发出同步信号(图10B)。在时间间隔“e”(图10B)的结束处,同步信号由处理线路30的最后一级、即LUT 37产生,因此,时间间隔“e”代表了线路30中的计算时间延迟。控制处理器21是否重新置位MANIP信号视图象数据是否进一步有待处理而定,如图10B所示是否存在由地址发生器生成的图象同步信号。
到达终止码、十六进制Aooooooo(图1A)后,控制处理器21置位EXE信号(图10B),从而终止处理周期,重新进入空循环。
2、通用数字图象处理线路30
图2B以方框图形式表示出了按本发明构作和工作的通用数字图象处理线路30的优选实施例。线路30包括纵横(“CRX”)单元31、图象存储RAM 32、地址发生器(“ADD GEN”)33、卷积(“CONVOL”)单元34、逻辑(“LU”)单元35、形态(“MORPH”)单元36和查找表(“LUT”)单元37。RAM 32有足够存储,分成4段(32A~32D)存储Im0~Im3,分别同时存储4个可以是带灰度等级和/或二进制图象的512×512×16位电子图象(Im0~Im3)。
在线路30工作时,RAM 32可同时存储一个主机10传送过来有待处理的电子数字图象(Im0)、两个处在线路30的不同中间处理级上的图象(Im1、Im2)以及一个经处理后要传送给主机的数字图象(Im3)。相应于图象存储RAM 32的每一段(32A~32D),有一单独的地址发生器33(总数为4),即发生器33A~33D。
按照本发明,处理线路30为流水线结构,它能在尽可能短的平均时间内实现最大量的处理操作和计算。线路30中那些组件的其它接法和运行几乎无法达到线路30的流水线结构那样的高效。
线路30所实现的并行处理意味着,下列运行能同时运行,例如,图象在VRAM 23和RAM 32之间的传送,在线路组件34、35、37、37中的先前被传送的图象的处理可同时进行。
按本发明构作和工作的地址发生器33在线路30进行的并行处理中起着关键作用,如本说明书中别处所示,它使得计算和数据交换(传送)方式可同时操纵。
A.纵横单元31
图4和图4A示出了纵模单元(“CRA”)31的一般特性,它的功能和目的包括:通过S_Bus为视频RAM23和图象存贮RAM32之间提供读/写通信、把存储在图象存存储RAM32中的图象通过线I0~I3置于A_Bus和/或B_Bus上,以便传送到卷积单元34、以及通过R_Bus连接从LUT单元37处接收到经处理图象,以便通过线I0~I3传送给图象存储RAM32。
参见图4A,CRX单元31包括两个可编程寄存器,即控制寄存器3171和常数值寄存器3181。控制寄存器3171被编程,以确定哪一个总线,即A_Bus、B_Bus、S_Bus和R_Bus,与图象存储RAM 32的哪一条图象线连结,即Im0、Im1、Im2和Im3。在图4A所示例子中,A_Bus、B_Bus和R_Bus与16位图象线I0、I1和I3连结,而S_Bus与16位图象线I2连结。
参见图4,部件311、312和313分别表示图象线I0~I3上的16位图象的操作数连结。部件314表示通过S_Bus的16位图象在图象线I0~I3上的操作数连结。寄存器3181被预置,用来定义图象边界并设定B_Bus上的象素常数值。
在由地址发生器33提供的同步信号Si(“i”表示输入)的控制下,由单元315实现CRX单元31运行的同步。CRX同步单元315把同步信号So(“o”表示输出)连结到卷积单元34。
B.地址发生器33
为了处理获得的图象,例如存储在图象存储RAM 32(图2B)中的图象Im0,必须从图象Im0(“源图象”中抽取象素并在图象Im1、Im2或Im3中产生地址,以便把单元34、35、36和37组成的处理链所处理的象素写入该地址(“生成图象”)。地址发生器33即用来产生地址,以完成象素抽取和象素写入功能。如上文所述,对应于图象存储RAM 32的每一段32A~32D,即,Im0、Im1、Im2和Im3,有一个地址发生器33,即33A、33B、33C和33D。
每一个地址发生器33(图5)有三种可能的工作方式,即主方式(“Master”)(图5)、从属方式(“Slave”)(图5E)和交换方式(“exchange”)(图5F)。地址发生器33不能以主方式和从属方式同时工作,也不能以交换方式和任何其它方式同时工作。
有待处理的象素即源图象象素的地址由在主方式下工作的地址发生器33,例如发生器33A(图5E)产生。经单元34、35、36和37处理的象素即生成图象象素的地址由在从属方式不工作的地址发生器33,例如发生器33B(图5E)产生。发生器33B在产生地址时,它的写入单元341(图5G)把经处理的象素数据写入图象存储RAM 32。发生器33A(图5E)的同步单元338(图5)为单元34、35、36、37组成的处理链提供水平的和垂直的同步信号(分别记为Hsync、Vsync)。单元37为发生器33B(图5E)及其写入单元(图5G)提供水平的和垂直的同步信号(Vso和Hso)。
在交换方式下(图5F),地址发生器33,通过CRX单元31把来自VRAM 23的象素写入图象存储RAM 32,例如存储器Im0;或通过CRX单元31把图象存储RAM 32,例如存储器Im1的象素写到VRAM 23。同步信号Hs、Vs由发生器33提供。方向控制和读/写信号要求由发生器33和VRAM控制器22提供。
地址发生器涉及图象扫描或扫描过程;地址发生器33可产生以四个任取座标原点中任一个座标原点为起点的8个图象扫描方向或8种扫描方式,例如X0,Y0;X0″,Y0″;“X0*,Y0*;X0″,Y0″(图5A)。座标系统原点可在任何地方。在335、337的X0、Y0寄存器被预置时就存储了座标系统原点的初始值(图5)。
图象可被扫描,以抽取不同数目的象素,例如所有象素(图5B、5B′),n个象素中的一个或多个象素,或每一个其它象素(图5C、5C′、5C″),即用子抽样过程减小电子图象的大小,或用重复抽样增加图象大小。在本发明的重复抽样过程中,一串象素P0、P1、P2、……Pn被抽样,使得生成图象为一串象素,例如P0、P0、P0;P1、P1、P1;P2、P2、P0……;Pn、Pn、Pn,即在每一个原象素之间插入两个象素宽的间隔。间隔的大小可在最高达16之间任意变动。在重复抽样过程中,使用地址发生器的从属方式把地址增加到所选择间隔大小的数量。
扫描过程和地址产生过程涉及到发生器33中的一种计数器,该计数器的构造和运行使得可在16以内以任意数量增减。原点座标(X0,Y0)和增减的数量(IX0,IY0)在初始化时或在驱动某些CMD命令时设定。
在主方式下,发生器33的同步单元338(图5)(1)产生Hs和Vs同步信号,并且,(2)产生图象周围边界的大小(下面有时称为“幻影象素”)。在从属方式下,同步单元338执行一项与Hso/Vso信号有关的功能,即起始单元338为经处理的象素产生目的地址。在从属方式工作过程中,只有“良好的”经处理象素,而不是幻影象素,被写入图象存储RAM 32。按照本发明,仅当Hso和Vso为高电平时,写入单元341(图5G)才工作,从而防止写入幻影象素,这种情况仅在Vso为低电平时才会发生(参见图5B′中的波形)。
在现有数字图象处理线路中,要处理的核的选择限于全都位于实际图象边界之内的核。按照本发明,逻辑图象和幻影象素边界的使用使得线路30的用户能够通过调整围绕着逻辑图象的幻影象素边界的大小要选择实际图象边界附近的核(图5I),例如象素Pk,而且,以视核形状而定的任取宽度(比方说图1所示的一个象素的宽度)的幻影象素边界围绕住实际图象边界,就可很容易地处理就在实际图象边界上的逻辑图象,例如图象Pk′(图5I)。
在由地址发生器33进行的扫描过程中,幻影象素是在紧随对逻辑图象的一行象素扫描之后的回扫间隔△t中生成的(图5H)。调节回扫间隔,就能调节幻影象边界的大小,从而使逻辑图象在实际图象边界之内。因此,线路30不但可对包括幻影象素在内的核进行某些计算,而这一点在现有技术中是不可能的;而且使用线路30的用户能正确分析这类计算的结果。
图象的行的大小,即一行中的象素数最初被编程设置在扫描(X)计数器334的X1寄存器335中。图象的大小,即行数最初被设置在扫描(Y)计数器336的Y1寄存器337中。
X和Y地址数据由ALU(算术逻辑单元)X单元331、ALU Y单元332和ALU控制333(图5)提供。X0和IX0初值由程序置入寄存器331a、331b(图5)。同样,Y0和IY0的初值被置入寄存器332a、332b(图5)。
图5B表示出2×3象素逻辑图象的一个例子,其中,每一象素包括16比特位于以X0、Y0为原点的座标系统之内。图象扫描在正X方向上进行(图5中,扫描方式为0)。图5B′为表示抽取图5B所示逻辑图象中的所有象素的时序图。图5C、5C′和5C″也是表示在正X方向上对六象素线性图象进行图象扫描,其中的每一个其它象素都用扫描过程抽取。
图5D和5D′表示出计数器、ALU X单元331和ALU Y单元332(图5)的一般特性。参见图5D,开始扫描时,X0值通过多路复用器3312被装入X ALU寄存器3313,提供第一个X地址。对于下一个周期(即下一个象素或下一行,视图象扫描方式而定),通过加/减线路3311生成X+IX地址,该地址反馈四线路7311,如此以增量值IX增加到X上。继续这一增量过程,直到行的终止处或图象的终止处,视扫描方式而定。图5D′同图5D,进行同样过程以计算所需地址的Y值。
总之,对于包含n行m列(每行m个象素)的n×m象素图象,必须有图5D、5D′所示的增量计算器来生成n行和n×m列地址(图5J)。工作中,在计算新的Xn、Ym地址时,由ALU控制单元333(图5)操纵ALU X单元331和ALU Y单元332。
图5B′表示发生器33所执行各项功能的有关时序。HPIX时钟信号的上升沿表示一新的象素周期的开始。在从存储图象中读出第一个象素P0′的同时,同步信号Hs(水平同步)和Vs(垂直同步)同时为高电平,表示同图象的开始,也即第一行的第一个象素。
Hs在图象终止前始终维持高电平。Vs在每行终止处转为低电平并保持到边界或幻影象素消失,幻影象素的特性决定了卷积要求并预置在RX寄存器340(图5)中。
实际上,列信号Vs的开始延迟了一段与行选择的幻影象素边界的宽度相应的时间。Hso、Vso的建立延迟了一段时间,这段时间相应于处理链单元34、35、36、37在计算或处理输入或源图象象素P0~P5以便形成经处理的象素或生成图象象素时所经历的时间。
按照本发明,地址发生器33所执行的各项功能的时序所依据的是对逻辑图象的处理,不是对实际图象的处理。因此有如下优点:
(1)由于时序与逻辑图象有关,而逻辑图象比实际图象小,因此完成处理工作的时间缩短;
(2)由于可在多达8种扫描方式或扫描方向中选择一种进行扫描,例如倒转视频,因此缩短了线路30所进行的某些计算的时间;
(3)由于可在多达8种扫描方式或扫描方向中选择一种进行扫描,因此可使用由交换象素的行列而产生的垂直线性滤波器;
(4)由于可在多达8种扫描方式或扫描方向中选择一种进行扫描,因此,可使用上文所述重复取样技术,而这一技术本身在数字图象处理中属于一种新的特点,从而可以进行某些否则无法进行的计算;以及
(5)由于可在多达8种扫描方式或扫描方向中选择一种进行扫描,因此对于数字图象处理线路30的处理链所执行的每一种基本过程,都可由地址发生器33飞速计算种种地址。
C.图象存储RAM 32
图象存储RAM装置32由按本发明新颖结构排列的静态随机存取存储器(SRAM)组件构成。按照本发明,RAM 32包括四个存储段32A、32B、32C、32D(图2B),每一段有足够的容量,可存储在按本发明构作和工作的子系统20(图2A)的工作中会遇到的最大的电子图象(Im0、Im1、Im2、Im3)。
每个存储段32A、32B、32C、32D可包含相同或不同的存储总量。在优选实施例中,四个存储段都相同。每一存储段排列成4个4位或4位字节大小的位面(图5G′),每一存储段有存储4位、8位、12位和16位宽的数字图象。选择哪个四位字节存储,由地址发生器33中的写入单元341的程序方式控制寄存器342(图5、5G)作出选择。
如前所述,请参见图5F,电子图象在VRAM 23和图象存储RAM 32之间来回传送。在把图象从VRAM 23写入图象存储RAM 32时需要有同步信号。发自VRAM控制器22的同步信号,即“请求交换”(图5F),是一种交换请求,即请求在VRAM 23和图象存储RAM 32之间交换数据。地址发生器然后产生同步信号Hs、Vs,使VRAM控制器知道何时产生可靠的地址。
D.卷积单元34
对线路30(图2B)实现数字信号图象处理功能来说至关重要的是因卷积单元34中的电路迅速并反复高速率地进行计算而可实现的数字信号滤波功能。
图6表示出卷积单元34的一般特性。卷积单元34包括两块通用有限冲击响应滤波器(“VFIR”)芯片3411、3412。VFIR芯片都是大规模集成的,包括至少一加法树线路3415和若干乘法累加器(“Σ”或“MAC”)线路3416。卷积单元34还包括延迟线3413、3414和一个形态和卷积控制(MORCON)单元3410,如图6F详示的那样。
请参见图6F,为响应来自CRX 31的同步信号(Si),MORCON单元3410利用其组件[“部件1”(“Part 1”],即延迟线3420、3421、3422、3423和同步卷积单元3424,为逻辑单元35和卷积单元34中的延迟线提供同步信号;利用同步形态单元3525(“部件2”(“Part 2”)),MORCON单元3410为形态单元36中的延迟线提供同步信号。
如图6A所示,卷积单元34可配置成AA总线上的22位输出,因此,计算A总线和B总线上的两个16位输入的和,每一输入先与常数相乘,即AA=αA+βB。在这一计算中,BB总线上的输出为βB。延迟电路3413、3414不参加这一计算。因此,在这一计算中,控制着延迟线3413、3414的运行的CT0、CT1信号为低电平(图6N)。在这一计算中,只使用MORCON单元(图6F)的延迟线3420(Dely 0)。
如图6B所示,卷积单元34可配置成AA总线上的22位输出,因此,计算A总线和B总线上的两个16位输入的积,即AA=A×B。延迟线路3413、3414不参加这一计算。因此,在这一计算过程中,CT0、CT1信号为低(图6N)。在这一计算中,只使用MORCON单元(图6F)的延迟线3420(Delay 0)。
如图6C所示,卷积单元34可配置成用来计算由大小达3×4的核定义在多达三根线上的卷积,每根线的象素多达512,例如线L0~L511、M0~M511和N0~N511,其中,每个象素为16位。在此计算中,使用了MORCON单元(图6F)的延迟线3421(Delay 1)。CT0和CT1信号形同2位二进制计数器(图6M)。在这一配置中,MAC线路3416两两相连,以HPIX时钟速率计算两基本积之和,它们最后相加形成3×4卷积核的结果。例如,参见图6M,线L0-L3、M0-M3、N0-N3的部分结果R(M1)由下式给出:
CT0=0 CT0=1 CT0=0 CT0=1
R(M1)=C00L3+C01L2+C10L1+C11L0>
>3412
+C20M3+C21M2+C30M1+C31M0>
……
+C40N3+C41N2+C50N1+C51N0>3411
>
参见图6C、6M,VFIR 3412中的最左边的两个MAC线路3416通过延迟线3413馈以当前象素“线”,VFIR 3412中的最左边两个MAC线路3416馈以图象的下一个象素线(line+1),VFIR 3411中的中间两个MAC线路3416通过延迟线3414馈以原先的象素线(line-1)。
在HPIX时钟的上升边,每线有三个新象素进入CONVOL单元。同时,为了满足计算算法,当前象素从MAC线路3416中移出(图6H)。
如图6D所示,卷积单元34可配置成计算1×16的卷积核。延迟线3413、3414不参加这一计算,CT0和CT1信号形同2位二进制计数器(图6M″)。在这一配置中,MAC线路3416排成链状,以HPIX时钟速率计算16个基本积之和。
在1×16的卷积核中,CT信号把两种状态,即状态0和状态1赋与VFIR芯片3411、3412中的每一个MAC线路3416(图6D、6H)。因此,当每一输入象素P0~P511(图6H)通过一MAC线路3416时,在每个MAC线路3416中进行两种计算,在状态0时进行一种计算,在状态1时进行第二种计算。在周期终止处,8个部分结果相加形成1×16卷积核的结果。当第一个象素P0通过VFIR芯片3411、3412而出现在VFIR芯片3411的第4个MAC线路3416的象素输出端时,象素P16进入VFIR芯片3412的第一个MAC线路3416(图6H)。例如,参见图6M″,计算象素P0~P15所得的部分结果即R(P8)由下列给出:
CT0=0 CT0=1 CT0=0 CT0=1
R(P8)±C00P15+C01P14+C10P13+C11P12>
> 3412
+C20P11+C21P10+C30P9+C31P8>
……
+C40P7+C41P6+C50P5+C51P9>
> 3411
+C60P3+C61P2+C70P1+C71P0>
卷积单元34可配置成计算1×32的卷积核,如图6E所示。延迟线3413、3414不参加这一计算。信号CT0是频率为20兆赫正脉冲,信号CT1是频率为10兆赫正脉冲,从而生成四种状态(图6M″、6N),即状态0、1、2和3。
在这一计算中,8个MAC线路3416排成链状,以HPIX时钟频率计算32个基本积之和。因此,当每个输入象素P0~P511(图6I)通过MAC线路3416时,在线路3416中进行四种计算,状态0时为第一种,状态1时为第二种,状态2时为第三种,状态3时为第四种。周期结束时,8个部分结果相加形成1×32卷积核的结果。当象素P0移位到VFIR芯片3411的象素输出端时(图6I),象素P32进入VFIR芯片3412的象素输入端。例如,参见图6M″′,计算象素P0~P3所得的部分结果即R(P16)由下式给出:
CT0=0 CT0=1 CT0=0 CT0=1
CT0=0 CT0=1 CT0=0 CT0=1
R(P16)±C00P15+C01P30+C02P29+C03P28>
>
+C10P27+C11P26+C12P25+C13P21>
>
+C20P23+C21P22+C22P21+C22P20>
> 3412
+C30P19+C31P18+C32P17+C33P16>
……
+C40P15+C41P14+C42P13+C43P12>
>
+C50P11+C51P10+C52P9+C53P8>
> 3411
+C60P7+C61P6+C62P5+C63P4>
>
+C70P3+C71P2+C72P1+C73P0>
CT0、CT1信号在40兆赫时钟控制下由状态3526(State Machine 3526,图6F)生成,因此CT0为20兆赫频率,常态为低电平,CT1为10兆赫频率,常态为低电平(图6N)。总之,在3×4、1×16和1×32核的计算中,CT信号规定了VFIR芯片3411、3412的工作状态(图6M、6N)。
每个MAC线路3416(图6J)包括四个数据寄存器3440、四个系数值寄存器3441、若干用来供给乘法累加器(“Σ”系数×数据”)块的多路器(MUX)3442。在把各3416线路排成链状时,数据输入(DATA input)处的MUX可接受来自移位输入(SHIFT input)的数据。
总之,系数值是在VFIR芯片3411、3412编程时装入的一些常数。
VFIR 3411和3412包括使计算同步的内部序列发生器(图6J)。该序列发生器CT0和CT1信号从外部加以控制。合适的数据和系数值存储在寄存器3440、3411中(图6J)。在CT0、CT1信号的控制下,该序列发生器计算并确定从寄存器3440、3441通过多路器3442到乘法累加器(“Σ系数×数据”)块的正确电路。
延迟线3413、3414(图6)的工作如同RAM存储器;延迟时间是在写入延迟线(输入)和从延迟线读出(输出)之间所经历的HPIX周期次数的函数(图6K、6L)。由两个信号即时钟信号(CLKW、CLKR)和复位信号(RSW、RSR)实现所需的定时(图6K、6L)。复位信号(RSW、RSR)在每一延迟线3413、3414的输入和输出之间生成一行延迟。复位信号用来初始化延迟线,它们由从CRX 31(图6)传来的输入同步信号Si计算。
E.逻辑单元35
逻辑单元351(图7)为经由AA_总线来自卷积单元34的22位输入图象以及经由BB_总线来自卷积单元34的16位输入图象提供多种逻辑功能。延迟线359提供所需的延迟,使移相器356的17位输出与16位BB_总线输入同相,因为它们都加于逻辑单元351上。与输入图象有关的逻辑功能在预置寄存器352和同步单元362的控制下执行。这些功能包括“与”、“或”、“异或”(XOR)、非A、移位A(0到6位)以及移位器356的17位输出的最高有效位(“MSB”)的最大和最小值(MIX/MAX)的计算。
图象移位功能由移位器356(图7)执行,它可看作包括一叠加在22位寄存器364之上的可移位的17位“窗口”363(图7A)。移位器356的目的是使在AA总线上接收到的、来自卷积单元34的22位图象信号中所包含的数据能够移位缩放在初始化逻辑单元35时,窗口363置于最左边,17窗口位(0~15加BAL 17)叠加在最左边的17寄存器位上(5~21)。这代表缺省值为“0”。窗口363的向右移位可编程控制在从0到6位的移位,从而获得最大精度的结果(即,最大数目的有效位)。
应该指出,AA_总线处的来自卷积单元34的22位输出是一个从一更大位数中截了的数。按照本发明,为了大大提高以后形态单元36对通过BAL总线(16位)和BBL总线(16位)从逻辑单元35传送来的图象数据所作计算的精度,通过BAL 17线从移位器356传送到形态单元36的第17位在以后的求和步骤中具有进位位的性质。因此,虽然16位BAL总线输出是AA总线处22位数据输入的截断,但组合的17位BAL总线和BAL 17输出不仅仅是AA总线处22位数据输入的截断。而是,组合的17位BAL总线和BAL 17输出数据在形态单元36中可按用户选择而用作22位AA总线输入数据的舍入,1位BAL 17在后面求和步骤中用作进位位。
逻辑单元35(图7)的最小/最大检测器357用来计算AA总线的移位最高有效位上的最小值和最大值。最小/最大计算的目的是避免卷积单元34所作计算的精度下降,在这里,多位结果已被截断到22位,22位信号舍入到16位加第17位即进位位。
参见图7B,最小/最大检测器357包括最大检测器3571、最小检测器3572、最大寄存器3573、最小寄存器3574和多路器(MUX)3575。最大寄存器3573的GT输入表示新计算的最大值是否大于当前最大值。同样,最小寄存器3572的LT输入表示新计算的最小值是否小于当前最小值。
工作时,最小/最大值的计算用来对VFIR芯片3411、3412(图6)在执行卷积功能的工作中所使用的系数值进行移位缩放。卷积单元34算得的结果是形为Wi·RK的乘积之和,其中,权重因子Wi要作选择,从而避免溢出。倘若计算的最大值太小(即有效位不够),可调整Wi,以便提高卷积结果的精度。在要减小Wi时,可以最小值作同样操作。最小/最大数值存储在两个8位寄存器中,即最大寄存器3573和最小寄存器3574(图7B),它们可由辅助总线SDATA上的控制处理器21以特定地址读取。
混合器353(图3)和初始化的混合寄存器354在需要时可提供位变换操作,在这里,来自BB总线的图象数据可变换和存储在从AA总线传送的数据中。在对二值图象进行工作时,变换操作提供了一种节省存储空间的手段。8位宽图象能存储8个不同的二进制信息,即位变换信息。延迟线360为加于混合器353上的BB总线数据提供合适的延迟。按照本发明,为进一步的带符号/不带符号计算,BAL总线条的MS位可由混合器353反相。
为使形态单元36计算某些功能,可通过置零器361的编程操作强使BB总线数据的所有位变为零。
逻辑单元35的同步由同步器362在从卷积单元34所传送的同步信号(Si)的控制下进行。从同步器362输出的同步信号(So)传送到形态单元36。
F.形态单元36
参见图8A和8B,形态单元36为高速计算电路,用来计算灰度等级图象和二值电子图象的数值和二进位值。单元36包括两个用来执行数字形态中所使用的大多数算法的处理器361、362、若干延迟线363和用来以并行或串行方式操纵芯片361、362的若干多路器364。
每一芯片361、362都是支持最新数学形态算法的数学形态集成处理器(“PIMM1”)。
PIMM1芯片有可编程的内部结构。PIMM1芯片可以六角形或方形窗口对二进位和8位灰度色调图象作形态变换或点对点变换。
PIMM1芯片的点处理器可用来定阈值、加、减和比较数字图象;在两进位图象之间执行布尔运算,如“与”、“或”、“异”(XOR);以及反相二值图象。
PIMM1芯片还包括操纵3×3核的可编程形态处理器。该处理器可配置成流水线式或并行式的8个二进位处理器;8个处理器中的每一个都能执行二进位形态变换,如命中和不命中变换(H.M.T.)、变薄和变厚。此8个处理器中的两个能执行二进位递归重构和第一点抽取。此可编程的形态处理器还可配置成两个数字形态处理器,以进行数字变换,如膨胀、腐蚀、变薄、变厚、梯度、指向。此外,该处理器可配置成六角网格、方形网格(4连通或8连通)和12角形网格递归距离处理器。
PIMM1芯片还包括测量单元,可计算高达4096×4096象素宽的图象的二值区域或灰度分量。
把若干PIMM1芯片以流水线结构相连而形成的总能力可极大提高本发明数字图象处理线路30的性能。
而且,并行相连的两块PIMM1芯片即能作16位灰度色调图象处理。
对34个8位内部寄存器编程,即能完成PIMM1的配置。
在芯片361、362的并行方式运行中(图8A),BAL总线和BBL总线的最低有效位在PIMM芯片361中处理后在BAP总线上输出8位最低有效位。串行/并行方式多路器364被合适地起动,从而把同步信号耦合到PIMM芯片362,并且,还把BAL总线和BAL总线上的最高有效位耦合到PIMM 362,在PIMM 361在BAP总线上输出8位最低有效位的同时,PIMM 362在BAP总线上输出8位最高有效位。
在芯片361、362的串行方式运用中(图8B),最低有效位由芯片361计算,其结果通过合适开通的多路器384传送到芯片362的输入端A,同时一“进位”信号传送芯片362的输入端B。芯片362继续计算,在BAP总线上生成最高有效位输出。同步信号通过芯片361和合适开通的多路器364传至芯片362。芯片362还把该同步信号传至查找表单元37。
卷积单元34在计算边界大于一象素宽的图象时,使用了新机制。按照本发明,输入的同步信号与PIMMI芯片技术要求相兼容(即一象素边界),并且,从形态单元36发出的同步信号被重建,从而恢复原来的边界。这一点是在逻辑单元的同步单元362和查找表部件37的同步单元378中做到的。
G.查找表单元37
如本说明书它处所述,按本发明构成和工作的数字图象处理线路30(图2B)包括由卷积单元34、逻辑单元35、形态单元36和查找表单元37(图2B)组成的流水线处理或计算链(在图2B、9F~9I中的标号为379),形态单元的输出在BAP总线上传至该链的最后一个部件查找表单元37。
按本发明构作和工作的查找表单元37既为灰度等级电子图象提供查找表功能,即“数字查找表”功能,又为二值电子图象提供查找表功能,即“二值查找表”功能。计算键379所计算的图象不管是灰度等级图象还是二值图象,当最后一个象素从查找表37出来在R总线上传送并被写入图象RAM 32时,生成这一输出的计算链的计算功能就完成了。
查找表单元37(图9)包括查找表线路371和查找表RAM存储器372。线路372包括一模式寄存器373、一用来为查找表RAM 372装入地址的地址发生器377、若干多路器372、若干装入电路376、一存储体(“Page”)寄存器374和同步器378。
RAM 372分成二部分,即最高有效位和最低有效位(图9),每一部分8位宽。查找表数据存储在VRAM存储体0中(图1A)。当发出一“装入查找表”命令时,在同步器378(图9A)的定时控制下,单元37被预置,查找表数据被写入RAM 372,并且,在查找表数据出现在RAM 372输入端时,被存储在地址发生器375在RAM 372中立即生成的地址中(图9M)。
在初始化时(图9A、9F),查找表数据从CRX 31(图9F),通过处理链399由单元34、35和36组成的部分,经BAP总线传送到查找表单元37。在同步器378的定时控制下,查找表数据通过开通的装入电路376从BAP总线经过虚线路径(图9A)传送到RAM 372。在查找表单元37的预置过程中,使单元34、35和36对来自CRX 31的查找表数据来说是透明的(图9F)。
如别处所述,查找表RAM 372可包含数字查找表功能和二值查找表功能。查找表RAM 372的组织由用户确定,可组成为二个数字查找表功能(存储体0,存储体1),512个二值查找表功能(存储体0,存储体1),或者混合安排成一个数字查找表功能(存储体0)与256二值查找表功能(存储体1)(图9L)。在处理图象时,内部地址发生器377处于备用状态。查找表RAM的地址由BAP总线上的象素提供。
在处理16位数字图象时(图9B、9G、9H),查找表37对出现在BAP总线上的每个16位输入象素(Pin)进行转换,也就是说,出现在R总线上的16位输出象素(Pout)是输入象素的某种函数:Pout=f(Pin),其中,函数f存储在RAM 372的数字查找表部分,可以是“恒等”、平方、平方根、指数e、以任何数为底的对数等等。
在一次处理一个8位二值图象时(图9C、9I),最低有效位(“LSB”)芯片361和最高有效位(“MSB”)芯片362以串行方式工作(图8B)。8位二值图象中的有效图象数据在BAP总线的最高有效位中。相应于RAM查找表的预置方式(图9M),BAP总线的最高有效位必须置于RAM查找表的最低有效位地址上(图9L)。
工作时,BAP总线上的8位最高有效位输入通过开通的多路器375(图9C中从BAP总线到RAM 372的点划线路径)形成地址,存储体(Page)寄存器374识别二值查找表的起始存储单元(图9L);RAM 372的经计算的8位输出在R总线的最低有效位上传送。
在一次处理两个8位二值图象时(图9D、9J),最低有效位和最高有效位芯片361、362以并行方式工作(图8A)。此时,由于查找表块的结构,查找表用于最低有效位信息,同时把最高有效位信息直接旁路到R总线的最高有效位部分。
工作中,二个8位二值图象出现在BAP总线的最高有效位和最低有效位处,并通过打开的多路器375(图9D中从BAP总线到RAM 372的点划线路径)被用不产生地址。存储体(Page)寄存器374标识RAM 372中的二值查找表的首位(图9N)。在同步信号控制下的模式寄存器373找开从BAP总线到RAM 372的路径上的多路器375(图9D)同时打开使最高有效位从RAM 372传送到R总线的路径(图9D中的虚线)上的多路器375。同时,最低有效位从RAM 372传到R总线,此时,装入电路376的输出端被阻塞。
图9E、9K描述了查找表单元37通过使用二值恒等查找表对16位数字图象实现“恒等”变换的工作情况。“恒等”变换是一种对输入不加变化的变换,即查找表37的输出等于输入。
在这一操作中,对16位数字图象来说,BAP总线上的最高有效位经由两个打开的多路器375通过查找表线路371直接传送到R总线的最高有效位(图9E中从BAP总线到R总线的虚线所示最高有效位路径)。此外,BAP总线上的最低有效位,随同模式寄存器373和存储体寄存器374所产生的信号,如别处所述,用来产生地址,从而从RAM 372读取最低有效位并把这最低有效位传到R总线的最低有效位线上(图9E中在R总线LSB处的虚线路径)。
如别处所述,同步器378(图9)使查找表37的输入与查找表数据在RAM 372中的存储同步,并把同步信号(So)传至地址发生器。
H.优选实施例的组件
子系统20的优选实施例所包括的具体组件,包括按本发明构件并在图2B中示出的数字图象处理线路30可用分立元件、但最好用集成电路来构作。下表列出了这类组件的例子。
名称 数量 代码 制造厂家
电子信号处理器21 1 TMS 320 C30-27 Texas Instruments
VRAMC22 1 XC 3064-125 Xilinx
视频RAM23 24 M5M442256 AL-8 Mitsubishi
CRX31 4 XC 3030-125 Xilinx
图象存储RAM32 16 MT5C 1005-25 Micron Technolosy
Inc.
地址发生器33 4 XC 3064-125 Xilinx
卷积单元34 2 L 64260 CG-40 LSI Logic
(VFIR)
4 D 42102C-3(延
迟线)
1 XC 3064-125
(MORCON)
逻辑单元35 1 XC 3064-125 Xilinx
形态单元36 2 L 5A0980(PIMM1) LSI Logic
6 D 42102C-3(延 NEC
迟线)
查找表37 1 XC 3042-125 Xilinx
2 MT5C 1008-25 Micron Technology
Inc.
附图所述的所有逻辑单元都包括标准的TTL-Fast和CMOS PAL组件。
从上文的叙述中可得到如下结论:
上面详细叙述了本发明的数字信号滤波和通用数字图象处理的新方法和装置。
尽管公开了本发明的特定实施例,但可在后附权利要求的范围内在程序和结构细节上设想或作出改动。
例如,如上文所述,虽然最小/最大计算是在8个最高有效位上进行的,但这一计算可在16位的全部范围内进行。此外,处理线路不限于处理512×512×16位物理图象,也可用来处理1024×1024×16位物理图象,或更大的图象。
此外,通过在查找表RAM 372中增加随机存取存储器芯片,RAM 372可随用户需要扩展成三个或更多个存储体。而且,图象存储RAM 32也可通过增加随机存取存储器芯片而加以扩展,例如,为存储流水线处理链379计算所得的中间结果提供存储器。
此外,子系统20(图2A)不限于使用MAC体系结构的主机10。如果根据非MAC体系结构的主机和子系统20的技术要求适当地设计接口线路14,子系统20就可与其它体系结构、例如RISC、EISA等体系结构的主机连接并运行。
此外,也可在逻辑单元35上实现的多种功能上可增加其它功能。再有,为了提供计算速度,可在处理线路中增加一个或多个流水线处理链379(图2B)。在这一实施例中,第一链379中的查找表单元37的16位R总线输出可接到第二流水线处理链379的第一级卷积单元的A总线输入处,而第二链的查找表单元的R总线输出通过R总线接到CRX 31或接到第三流水链的A总线输入,等等。以这种方式,可在第一处理链379的查找表单元37的16位R总线输出与CRX 31的R总线输入(图2B)之间接入任意数量的流水线处理链379。
因此,本发明无意对摘要内容或上文详细公开的内容作出限制。