首页> 中国专利> 具有运算功能的半导体存储器及使用该存储器的处理器

具有运算功能的半导体存储器及使用该存储器的处理器

摘要

本发明涉及对原始图像进行诸如放大、缩小和旋转等象素密度转换处理以及显示结果图像的一种显示装置,或涉及一种图像处理装置,更具体地,涉及一种进行诸如数据插值的高速筛选操作的处理装置,该筛选操作是象素密度转换处理,以及涉及用于这种高速筛选处理的具有运算功能的存储器。这种新颖的结构提供了包括一个原始图像的小数成分的一个小数地址,这种原始图象通常不提供整数坐标,以及一种半导体存储器100,它包括一个存储单元207,用于保存与整数地址相对应的数据;运算电路202和203,用于根据从存储单元所读的一个小数地址的整数成分所对应的数据和小数成分,进行插值运算;一个地址范围确定功能块216,用于确定上述含小数成分的地址是否在上述存储单元中保存的数据的地址的范围之内。由于这种新颖结构是在LSI芯片内部执行插值运算的,其处理速度比现有水平技术的提高4倍甚至更多。

著录项

  • 公开/公告号CN1189902A

    专利类型发明专利

  • 公开/公告日1998-08-05

    原文格式PDF

  • 申请/专利权人 株式会社日立制作所;

    申请/专利号CN96195245.8

  • 发明设计人 藤田良;曾我满;中康弘;

    申请日1996-04-26

  • 分类号G06F12/00;H04N1/387;

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人王勇;陈景峻

  • 地址 日本东京都千代田区

  • 入库时间 2023-12-17 13:13:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2009-06-24

    专利权的终止(未缴年费专利权终止)

    专利权的终止(未缴年费专利权终止)

  • 2003-04-09

    授权

    授权

  • 1998-08-19

    实质审查请求的生效

    实质审查请求的生效

  • 1998-08-05

    公开

    公开

说明书

发明领域

本发明涉及执行象素密度转换处理—例如对原始图像进行放大、缩小和旋转—并显示结果图像的显示设备,或者说涉及图像处理设备。更具体来说,本发明涉及执行诸如数据插值操作(这是象素密度转换处理)的高速筛选操作的处理设备,以及用于该高速筛选操作的具有运算功能的存储器。

背景技术

对一个图像进行放大、缩小和旋转的常规显示设备,用于纹理映射设备,诸如未审查的日本公开专利平5-298455和平5-307610中揭示的纹理映射设备。这些公开说明书内的方法中揭示了,由于对应其目标的原始图像的坐标值与该原始图像的一个象素的中心不匹配,一个具体坐标的象素的值,是通过在该特定象素的周围进行象素插值估算出来的。关于二进制字符图像的放大,日本未审查的公开专利平5-298455揭示了一种从原始图像的多个象素的快速放大而获得目标象素的方法。此外,对于图像处理中的图像分析和整合,一个著名的方法是,通过加权周围8个象素来执行一个积-和操作。

上文提及的常规处理设备等,从一个原始图像读取多个象素进行运算运算操作,这种设备带有多个存储设备和运算单元,它们以并联方式连接,执行并行处理,以获得较高的处理速度。

然而,当使用多个存储设备、从原始图像高速读取数据进行处理时,用上文提及的现有技术就产生一个问题,即在执行处理任务的处理器与多个存储设备之间,信号线的数目大大增加。例如,假设一个象素由24位组成(红绿蓝三色各占8位),要对一个由4个象素构成的原始图像进行运算操作,就需要96位的数据线。存储设备本身读数据的性能,如果与普通随机存取存储器相同的话,当在目前的一次随机存取操作需要150ns的限度之内。要获得一个目标性能,就必须通过并行处理来提高这个存取速度,这进而更要增加信号线的数量。这就不可避免要扩大设备规模,增加设备成本,这是因为单个设备的性能(操作频率)需要得到提高。

发明揭示

因此,本发明的一个目的是,提供一种能通过减少高速处理器与各存储设备之间的信号线的数目而执行高速处理的设备,以及提供一种用于这种处理设备的具有运算功能的半导体存储器。

本发明的另一个目的是,提供多个具有运算功能的半导体存储器和一个处理设备,用以处理因数据量太大、不能存入单个具有运算功能的半导体存储器的原始图像。

实施本发明时,一方面,本发明提供了一种具有运算功能的半导体存储器,它包括:用于按连续的整数地址保存数据的储存装置;小数地址保存装置,用于保存一个整数成分和一个从处理器输入的构成一个小数地址的小数成分;运算装置,用于从储存装置读取对应整数成分的数据以及该数据之前或之后的数据,并用所读数据和保存在小数地址保存装置中的小数成分,插值对应小数地址的数据;以及地址范围确定装置,用于确定某地址是否在储存装置中保存的数据的地址范围内。所有上述装置均被置于一个大规模集成电路(LSI)芯片中。

实施本发明时,另一方面,本发明提供了一种使用具有运算功能的半导体存储器的处理设备,它包括:处理处理器,用于按更高级处理器的指令生成包括小数成分的地址;多个具有运算功能的半导体存储器,其有用于保存对应连续整数地址的数据的储存装置和运算装置,对于包括从该处理处理器输入的小数成分的地址,运算装置用对应储存装置中保存的连续整数地址和该地址的小数成分,获得对应包括小数成分的该地址的数据;其中,每个这种半导体存储器,以相互重叠的方式保存储存装置中一个相邻存储器的部分数据。

按常规方法,与坐标对应的地址要被输出到多个存储器件中,该坐标周围约有4至16个象素被读取,它们被更高级处理器俘获,更高级处理器用所俘获的象素的值执行运算处理。因此,为了生成一个象素的输出数据,就要求在存储器件与更高级处理器之间传送约4至16个象素数据。

按照本发明,上述的运算处理在该LSI的内部执行,使得为了产生一个象素的输出数据,可以在具有运算功能的半导体存储器和更高级处理器之间只传送一个象素的数据。在具有运算功能的半导体存储器的内部,仍然要传送约4至16个象素的数据;但是,在实际的存储器件中,可以同时读取数千位(例如在16Mb的DRAM存储器中,可同时读16K位)的数据,可以读取更多的象素数据。至于存储单元的访问时间,要向芯片外输出数据,有必要驱动一个至少10PF的信号线。在LSI内部最多只可以驱动1PF的电容,从而使能对存储器的高速访问。

进一步,按照本发明,用对应上述储存装置中保存的整数地址的数据,插值一个从处理器输入的小数地址,以获得对应小数地址的数据。下面专门叙述一维数据序列的线性插值法。设存储器中存有坐标A=10的值100.0和坐标A=11的值130.0,就可以对坐标A=10.6插入一个值,方法是用坐标A=11的值乘以0.6,用坐标A=10的值乘以0.4,将两个乘积相加就得出插值118.0。所以,插值输出的计算方法是,对每个象素,在坐标小数成分中唯一地确定与之相乘的权重系数,然后将乘积结果相加。

本发明进一步提供了多个具有运算功能的半导体存储器,运算功能元件中有用于保存对应连续整数地址的数据的储存装置和运算装置,对于包括从该处理处理器输入的小数成分的地址,运算装置用对应储存装置中保存的连续整数地址和该地址的小数成分,获得对应带小数成分的该地址的数据;其中,每个这种半导体存储器以相互重叠的方式保存储存装置中一个相邻存储器的部分数据。因此,如果原始图像太大,不能容纳于一个LSI芯片中,就可以将这么大的存储空间分成若干存储区域,再将每个存储区域分配到各个具有运算功能的半导体存储器。此外,部分数据以叠加方式保存,使得被划分存储域之间边界上相邻的数据能得到较好的处理。

附图1是表示本发明一个实施例中具有运算功能的半导体存储器的框图;

附图2表示具有运算功能的半导体存储器的一些功能;

附图3表示一个使用多个具有运算功能的半导体存储器的处理设备;

附图4是表示附图1中输入数据缓冲器块的框图;

附图5是表示附图1中命令处理块的框图;

附图6是表示附图1中象素处理块的框图;

附图7是表示附图1中存储单元的框图;

附图8是表示附图1中输出数据缓冲器块的框图。

本发明的最佳实施方式

下面结合附图描述本发明的一个实施例。

参见附图2,该图显示了本发明一个实施例所用的具有运算功能的半导体存储器的一些功能。第一,附图2(a)具体表示一例以线性(线性方程)方式插入一维数据序列的方法。图中水平轴代表地址,纵向轴代表与地址相对应的数据值。每个纵向条代表存储器中的数值集合,通过各纵向条顶部的连线代表被插的输出值。就是说,如果数据序列按本发明被存储于带运算功能的半导体存储器的地址0~15的位置,则定义一个带小数成分的地址并从该地址读取数据,就是读取从该地址确定的数据的前、后位置的线性插值数据。例如,设128存于地址9,166存于地址10,指定以9.87作为地址执行读操作,则带运算功能的半导体存储器从存储器中读出与地址9.87最近的两个地址9和10的值,并用指定地址的小数成分0.87,对地址9和10进行插值,输出插值结果。对于线性插值法,设地址的整数成分为Ti,小数成分为Tf,则插值结果ip可从表达式(1)中算出。按照该表达式,上例中的输出插值为161。

ip=A(Ti)*(1-Tf)+A(Ti+1)*Tf…(1)

其中,A(x)表示指定地址上存储的值。附图2(b)所示的下一个实施例中,采用二次插值法插值数据序列。线性插值法计算的是两个数据之间的数据,二次(quadratic)插值法则根据三个连续地址上的值计算插值,这使得各值的差异曲线具有如图所示的平滑性。插值可以用下列表达式(2)解方程进行计算。

ip=(A(Ti-1)*(Tf-1)*Tf

+2*A(Ti)*(1-Tf)*(1+Tf)

+A(Ti+1)*(1+Tf)*Tf)/2…(2)

设地址9上值为128,地址10上值为166,地址11上值为40,对地址9.87读操作。因为与地址9.87最近的三个地址为9、10和11,所以Ti=10,Tf=-0.13,由此得ip=170。

附图2(c)所示实施例,插值二次数据序列,输出一个插值结果。假设可用象限地址(坐标)访问存储器,各地址上的数据(象素)长度为8比特。图中,设定x和y坐标(2,3)、(3,3)、(4,3)、(5,3)、(6,3)、(4,4)、(4,5)和(4,6)上的8个象素值为255,其它象素值为0。如果指定坐标x=3.4,y=4.8,读该带运算功能元件的半导体存储器,则在线性插值情况中,读取(3,4)、(3,5)、(4,4)和(4,5)坐标上的象素值用于插值计算,并输出插值结果。如果待读坐标X、Y上的整数部分与小数部分为TXi、TXf和TYi、TYf,则可由表达式(3)得出插值结果ip。

ip=A(TXi,TYi)*(1-TXf)*(1-TYf)

+A(TXi+1,TYi)*TXf*(1-TYf)

+A(TXi,TYi+1)*(1-TXf)*TYf

+A(TXi+1,TYi+1)*TXf*TYf…(3)

因此附图2(c)所示实施例中的ip=102。

附图2(d)所示实施例,插值三维数据序列,输出插值结果。该图显示了一例线性插值。带运算功能的半导体存储器用指定坐标(图中的一个点)周围的8个象素和整数方格的坐标偏移量(dx、dy、dz)进行插值,方式与上述的一维和二维插值操作相同。

本文至此讨论了带运算功能元件的半导体存储器—主要在线性插值方面—的功能。如上述表达式(2)一样,数据的权重系数可以用平方和立方等更高级的函数从插值地址的小数成分得出。进一步,如果所得的权重系数是确定的,则可以进行拉普拉斯筛选(Laplacian filter)。

以下参照附图1描述带运算功能的半导体存储器的内部结构。

带运算功能的半导体存储器100中有,输入数据缓冲块201,它从更高级处理器接收地址、写数据、传输控制信号的信号线组250,缓存更高级处理器发出的访问请求;命令处理块202,它接收所缓存的更高级处理器在信号线组251上发出的访问请求,对该请求进行解码,将解码后的请求转换为实际存储器地址,以控制象素处理块203、204、205和206为执行对各象素并行处理而进行的访问,指示这些块执行插值;象素处理块203、204、205和206,它们按照该命令处理块202发出的指令读存储器并将象素数据乘以权重系数;实际存储数据的存储单元207、208、209和210;输出数据缓冲块211,它接收命令处理块产生的插值结果,将其输出到芯片之外。

为了对二维图像进行插值,更高级处理器通过信号线组250存储待存储的二维图像数据。下一步,将对线性插值或二次插值的选择以及所用的固定权重系数设置到MOD寄存器(图中未予表示)中。然后,当从信号线组250设置了一个待读地址(坐标)时,命令处理块202就计算将要发送给4个象素处理块203、204、205和206的各地址,并根据指定地址的小数成分计算每个象素的权重系数。下一步,4个象素处理块203、204、205和206读取指定地址上的象素数据,将象素数据乘以规定的权重系数,并把乘积结果返回给命令处理块202。返回的各乘积结果相加在一起后,相加结果作为被读数据,通过输出数据缓冲器被输出到更高级处理器。

下面结合附图3,描述利用这种带运算功能的半导体存储器高速处理大量数据的处理设备的结构。附图3表示的是执行基于二维原始图像的运算处理的图像处理设备的一部分。处理处理器10按更高级CPU的指令生成象素坐标,访问带运算功能的半导体存储器100、101、102和103,读取数据。例如在图形显示器中,这种处理处理器10在带运算功能的半导体存储器100、101、102和103中保存纹理映射数据,从对应于三角形诸顶点的坐标值为每个象素生成纹理数据坐标,读插值象素信息,并将该信息写到帧存储器(图中未予表示)。上述日本未审查公开专利平5-298455中,对这种处理作了概括说明。

在附图3中,原始图20由于太大,一个带运算功能的半导体存储器中存放不下。因此,图像被划分为4个区域,各区域边界的重迭情况如图所示。处理处理器生成一个寻址空间大于各所访问存储器中存储的数据的空间的地址(坐标),以便带运算功能的半导体存储器100、101、102和103确定,能否分别对各指定地址进行输出。按照判定的结果,只有输出数据“有效”的带运算功能的半导体存储器,才能向读数据总线151输出插值输出。为了规定带运算功能的半导体存储器100、101、102和103各自相关于哪个区域,各带运算功能的半导体存储器设有专用信号线。用来作此规定的另一种替代方法是用一个内部寄存器来确定区域。以下简要描述附图3中使用多个带运算功能的半导体存储器100、101、102和103的处理设备的操作。处理处理器10从MEMC端子,向带运算功能的半导体存储器输出一个含小数成分的地址信号和一个控制信号。每个具有运算功能的半导体存储器,当得到指定地址的插值结果时,就向SA端子输出表示处理结束的信号,并向SO端子输出插值结果。然而,由于只从一个带运算功能的半导体存储器读取来自处理处理器的请求地址,其它带运算功能的半导体存储器的SA端子“有效”,这些存储器的SO端子被置于高阻抗状态。如果对所有带运算功能的半导体存储器的SA端子的输出进行AND操作的结果为“有效”,处理处理器就读取读数据总线151,读操作结束后置一个MEMR端子,并请求下一个数据输出。这样,处理处理器可以按流水线方式执行读操作。

以下结合附图4~8,描述带运算功能的半导体存储器的内部结构。

附图4表示输入数据缓冲器块201的内部结构。输入数据缓冲器块201的主要部分是,PBIO(处理器缓冲器接口)212,用于接受更高级处理器的访问请求,并对所接收的请求解码;FIFO(先进先出)缓冲器213,用于缓存访问请求。更高级处理器请求访问的类型有4种:直接存储器访问,访问像普通线性地址那样的存储器;寄存器访问,对带运算功能的半导体存储器内部的寄存器进行读写;二维写访问,写二维空间中的存储单元;插值读访问,通过指定带小数成分的二维坐标读插值数据。这些访问基本上是按所指定的地址空间来分类的。

首先描述更高级处理器和PBIO之间的信号线组250。信号线AD的信号表示传输地址和数据;信号线ADSEL的信号指示信号线AD上设置的是地址还是数据;信号线RW的信号,高(电平)时指示读访问,低(电平)时指示写访问;信号线CLK提供时钟信号;信号线WAIT的信号指示访问选通;信号线CSEL的信号指示访问请求有效。

其次描述更高级处理器执行直接存储器访问的过程。首先,更高级处理器设定信号线ADSEL,设置直接存储器访问的存储器地址数据例如其最高有效两位为“00”表示访问信号线AD,在读操作中将信号线RW设置为高电平,将信号线CSEL设置到访问选通状态。在信号线WAIT处于访问选通状态下,当信号线CLK电平升高时,就开始一次直接存储器访问类型的读访问操作,该存取数据储存于FIFO 213中。然后,命令处理块202读取FIFO 213中的内容,在象素处理块读取一个存储单元的数据之后,所读数据被通过信号线RDT输入到输入数据缓冲器块201的PBIO212中。另一方面,当更高级处理器在设置地址后将数据设置到信号线ADSEL时,信号线AD转移到一个状态,在该状态下,数据从带运算功能元件的半导体存储器输出。读操作是以在被读数据到来的一个周期读取信号线AD上的数据而告结束的。被读数据到来的周期由读存储单元的最长时间决定,该周期为十几个时钟脉冲。这种直接存储器访问用于存储器的检测。因此,这种直接存储器访问不特别要求操作的高速度,在上述的访问过程中没有问题。直接存储器访问的写访问,可以通过在上述读访问中对信号线RW进行写操作来实现。在输入状态下,设置了地址的信号线AD的信号值被俘获到PBIO212,并作为写数据被存储到FIFO 213中。此时,更高级处理器的访问结束。随后,在带运算功能的存储器中,该存取数据被命令处理块从FIFO213中提取出来,通过象素处理块被写入相应的存储单元。

在寄存器访问中,可以通过(在存储器中)开辟寄存器空间来进行访问,例如规定地址最高有效两位为“01”的为寄存器空间。从更高级处理器的角度来看,读操作和写操作基本相同,只是读数据没有直接存储器访问,没有等待时间。另一方面,在输入数据缓冲器块中,寄存器访问请求不是存储在FIFO 213中,并且要生成寄存器写信号RWE、寄存器地址ADR和写数据WDT来直接控制实际的寄存器。

二维写访问的执行方式与直接存储器访问中的写操作相同。设置地址时,将地址信号的最高有效两位设置为例如“10”,在后继位中设置X和Y坐标。

插值读访问同二维写访问一样,读访问由信号线RW处于高电平来规定。待指定地址的地址信号的最高有效两位设置为例如“11”,在后继位中设置X和Y坐标。然而,这种插值读访问与其它访问方法有所不同—所插值的读数据是从信号线250被读出并被写到更高级处理器的,这就允许设定了地址的下一个周期连续地设定一个地址。因此,除非FIFO 213被填满,访问操作可以连续进行,实现高速访问。

下面描述FIFO 213的操作。首先,当上述4种类型的访问操作访问FIFO 213时,PBIO把要写入FIFO 213的数据输出到信号线WDT,将指示对FIFO 213进行写操作的信号输出到信号线WTF。此时,如果FIFO 213已满,信号线WTA就发出访问禁止信号,FIFO 213因此就不接受写操作。要被存入FIFO 213的数据包括直接存储器访问的地址、写操作的数据、二维写访问的地址和数据、插值读访问的地址以及识别这些地址和数据的信息。如果在FIFO 213中存有这些数据中的任何数据,信号线EMP就被置为逻辑“非”,此时,第一个访问请求的数据就被输出到信号线FDT。命令处理块202欲读取该数据,就要在信号线FRD上置信号。就在FIFO 213变空时,置信号线EMP,通知命令处理块没有要输出的访问请求。

下面参照附图5描述命令处理块202。

命令处理块202从输入数据缓冲器块201接收访问请求,判断是否要发出刷新周期请求(唯有对动态存储器有此请求),控制象素处理块203、204、205和206,计算被读数据,将所得到的被读数据输出到输出数据缓冲器块。

命令处理块202中的功能块有:刷新控制块215,用于周期性地输出要求对动态存储器某存储单元进行数据刷新的请求信号RR;请求处理块214,用于甄别输入数据缓冲器块201的访问请求与刷新控制块215的刷新请求,并用一至数个步骤对这些请求逐个进行处理;地址处理块216,用于根据访问的类型及来自请求处理块214的地址(坐标)计算要送到象素处理块的地址,并确定是否能根据该地址处理块的存储单元中存储的数据计算坐标;筛选系数计算块218,用于由地址的小数成分计算出将被乘以一个象素值的权重系数;象素运算控制块217,用于通过来自地址处理块216的地址和来自筛选系数计算块218的权重系数,控制象素处理块203、204、205和206;运算块219,用于对由象素处理块203、204、205和206输出的象素与权重系数相乘而获得的数据进行运算操作,将结果发送至输出数据缓冲器。

首先,刷新控制块215计算与时钟同步的时间,大约每10μS输出一个数据刷新请求信号RR。

请求处理块214由信号线EMP获知,有访问请求已到达输入数据缓冲器块201,于是就将该请求俘获至信号线FDT。与此同时,请求处理块可以通过置信号线FRD,将下一个访问请求送上信号线FDT。请求处理块214也可接收上述的刷新请求信号RR,以获知刷新必要性。首先,当请求处理块214接收到处于空闲状态的刷新请求信号RR时,请求处理块递增内部刷新计数器,并将计数值和一个表示刷新请求的标志符输出到信号线RXY。如果没有刷新请求并且信号线EMP没有置位,请求处理块就从信号线FDT取得访问请求,并将该访问请求存入内部访问请求寄存器。然后,请求处理块按照各访问请求进行如下的操作。首先,当接到的是直接存储器访问的读请求,请求处理块就将直接存储器访问的读请求的指定地址和标志符输出到信号线RXY。当接到的是直接存储器访问的写请求,请求处理块就将直接存储器访问的写请求的指定坐标和标志符输出到信号线RXY,在下一个周期向信号线RXY输出写数据。此时的写数据被存储于FIFO 213中与写地址相邻的位置上。在二维写访问中,请求处理块将二维写访问请求的指定坐标和标志符输出到信号线RXY,在下一个周期向信号线RXY输出写数据。在插值读访问中,请求处理块将插值读访问请求的指定坐标和标志符输出到信号线RXY。此时,因为有4个象素处理块,如果读4个象素进行处理,可以不加变化地进行处理;然而,如果例如读16个象素进行处理,就要加以控制,使得这16个象素按4个象素分组,自上而下地进行处理。为此,插值读访问请求标志符含有一个指示4象素组的数目的数值。以这种处理方式,4个周期完成一次插值读访问。

地址处理块216通过信号线RXY上的访问请求标志符获悉请求的出现,执行地址转换并将其相应地输出到象素运算控制块217。首先,如果信号线RXY上的访问请求标志符指示刷新请求,地址处理块216就将地址(计数器的值)和标志符不加变化地输出到信号线CXY。信号线CXY中有供4个象素处理块使用的访问请求标志符信号线和进行地址或数据传输的信号线。发出一个刷新请求时,地址处理块以相同方式将刷新请求输出到4个象素处理块的所有信号线。其次,如果信号线CXY上访问请求的标志符指示直接存储器访问读操作,地址处理块就将地址和标志符输出至连接到与该特定地址对应的存储单元连接的象素处理块的信号线CXY。如果访问请求标志符指示直接存储器访问写操作,地址处理块就将该地址和标志符输出至连接到与该特定地址对应的存储单元连接的象素处理块的信号线,并在下一个周期输出写数据。如果信号线RXY上访问请求的标志符指示二维写访问操作,地址处理块就将地址和标志符输出至连接到与该地址对应存储单元连接的象素处理块的信号线CXY,同时,在下一个周期输出写数据。如果信号线RXY上的访问请求标志符指示插值读访问操作,地址处理块就将地址(坐标)的小数部分通过信号线FRC传送到筛选系数计算块218,同时,将对应各象素处理块的地址和标志符输出至信号线CXY。如上所述,对于要求读4个以上象素的插值,地址处理块在改变各象素处理块所对应的地址的同时,将地址和标志符输出至信号线CXY。

下面说明一下存储器地址与直接存储器访问、二维写访问及插值读访问中的坐标之间的关系。首先,存储器的地址是按照存储单元207、208、209和210的顺序连续排列的。坐标(0,0)对应存储单元207的地址0,坐标(0,1)对应存储单元208的地址0,坐标(1,0)对应存储单元209的地址0,坐标(1,1)对应存储单元210的地址0,坐标(2,0)对应存储单元207的地址1。由此可见,X坐标为偶数、Y坐标为偶数的象素对应存储单元207,X坐标为偶数、Y坐标为奇数的象素对应存储单元208,X坐标为奇数、Y坐标为偶数的象素对应存储单元209,X坐标为奇数、Y坐标为奇数的象素对应存储单元210。附图3中的处理设备,有多个带运算功能的半导体存储器,处理设备对它们分区使用,它们中的地址与坐标的关系,与以上所述的地址与坐标之间的关系相对来说是一致的,只是加了位移量而已。就是说,例如存储单元207的地址0对应坐标(512,0),存储单元208的地址0对应坐标(512,1)。这些位移量由一个执行芯片区域说明的信号(图中未予表示)确定,从LSI芯片的外部直接设置,在地址处理块216中使用。当处理设备中有如上所述的多个带运算功能的半导体存储器时,地址处理块216要确定用于插值指定坐标的数据在其自己的存储单元中。如果认为该插值可行,地址处理块就按上述方法通过信号线CXY向象素处理块217发出访问请求,并且同时将表示输出访问请求的信号RF输出到运算块219。如果认为该插值不可行,地址处理块就向运算块219输出一个表示访问请求被禁止进行运算操作的信号NRF。用一个比较器就可以容易地判定上述用于插值的数据是否位于自己的存储单元中。

筛选系数计算块218在插值读访问中计算有待与各象素相乘的权重系数。更具体地说,筛选系数计算块由坐标的小数部分按上述表达式(1)、(2)、(3)所示计算权重系数,并通过信号线COEF将计算出的权重系数输出到象素运算控制块。算出权重系数的处理过程可以容易地用一个乘法器和一个加法器来实现。由三次表达式得出的插值要求被除以3。对此,也可以用乘以1/3来实现该处理过程。如果小数部分数位少,可以通过存储器中存储的系数由参照表获得系数。拉普拉斯筛选可以不用坐标的小数部分,而是通过提供一个存放拉普拉斯筛选系数的寄存器来实现,实现的步骤与插值读访问的相同。

象素运算控制块217将地址控制块216的各地址分配给象素处理块203、204、205和206,并将指示访问类型的标志符和用于插值读访问的权重系数COEF分配给象素处理块203、204、205和206。

运算块219接收指示读请求已被输出的信号RF,经过一定的时间后,俘获来自象素处理块203,204,205,和206的读数据RDT0~RDT3,将这些数据相加。运算块将相加结果输出到信号线SDT,并设置信号SWT,指示相加结果“有效”并且“从带运算功能的半导体存储器输出相加结果”。如果输出数据缓冲器块因被填满而不能再接收数据,就置信号SFULL,以使运算块219的状态此刻无需改变。通常,“有效”信号被设置在SWT信号线上,该信号一旦设置,就可以开始下一个运算操作。要从16个象素进行插值,相加结果要在内部保存,在第4次时进行输出,使SWT“有效”。如果在这个LSI芯片中确立指示无插值输出的信号NRF,则运算运算结果不确定,因而SWT被设置为“有效”并且“不从带运算功能的半导体存储器输出插值结果”。

上述说明关于的是一个插值读访问的实施例。对于直接存储器读访问,对应的读数据RDT 0~3的值,按照含有指定坐标的信号RXY,被输出到RDT。

以下参照附图6,描述象素处理块203。

首先,输入到象素处理块的信号PPC0由指示各坐标的地址、指示访问类型的标识符、权重系数以及用于数据写访问的写数据组成。各种访问模式中,地址首先被寄存在地址寄存器220中,然后由存储器控制单元转换成存储器单元地址,再用一个控制信号输出到信号线MADC。插值读访问中,权重系数被保存于系数寄存器223。在直接存储器写访问和二维写访问中,地址后面的待写数据被置于PPC0,使得这个写数据被保存于一个数据寄存器中。

存储器控制单元221从存储器单元输出一个数据读请求后,经过一定的时间,该读数据被置于读信号线MRDT。这个时间由存储器单元的地址确定。如果指定地址的数据当前被读到读出放大器229中,读数据就在一个时钟后被设置;如果指定地址的数据不在读出放大器229中,读数据就在6个时钟后被设置。

读数据在乘法器224中被乘以系数寄存器的值,乘积结果通过信号RDT0被传送到命令处理块202。象素处理块204、205和206与象素处理块203具有相同的构造,这是因为命令处理块202访问各个象素处理块时,考虑了各操作的差异性。

以下参照附图7,描述存储器单元207。

存储器单元207由下列各部分组成:用于保存信号线MADC上地址数据的寄存器WA230、排列在二维网格上的存储单元233、用于选择一行存储单元233的X解码器232、用于读一行存储单元233的数据并保存所读数据的读出放大器229、用于按照寄存器WA230中保存的地址有选择地读写读出放大器中保存的一个象素数据的Y解码器以及用于按照信号线MADC上的控制信号控制X解码器232、读出放大器229、Y解码器228的控制电路231。

图中所示的存储器单元与普通动态存储器的单元相同,并非特殊存储器单元。信号线MADC上的控制信号可以定义为:将X解码器选择的一行存储单元233读入读出放大器229的操作、从位于读出放大器229中的数据中俘获一个象素数据并将所俘获的象素数据输出到信号MRDT的操作、将写数据的信号MWDT的值写到读出放大器229的操作、将由X解码器选择的读出放大器229数据写到一行存储单元233的操作。控制电路231根据这些定义控制X解码器232、读出放大器229和Y解码器228。

以下参照附图8,描述输出数据缓冲器块211。

SDT信号是关于来自命令处理块202的插值结果的数据,按照SWT指示的“有效”标志符,该数据与标志符“从带运算功能的半导体存储器输出”一起被储存在缓冲器BUFF240中。缓冲器BUFF240是个先进先出(FIFO)缓冲器。因而,当该缓冲器存不下更多的数据时,就置SFULL信号。如果缓冲器BUFF240中有数据,缓冲器就置信号RDA,并将有效数据输出到BDT,将标志符“从带运算功能的半导体存储器输出”输出到信号OE。当输出块SBIO241发来数据更新信号UP时,缓冲器将所缓冲的数据输出到信号BDT、RDA和OE。

输出块SBIO241是一个简单的LSI输入/输出驱动器。当OE被确立时,输出块将信号BDT的值输出到信号线SO;当OE被逻辑“非”时,输出块将信号线SO置入高阻抗状态。信号线SA和SR通过驱动器与信号线RDA和UP相连,内容不发生变化。

最后将参照附图3,描述一种利用多个带运算功能的半导体存储器来处理大型图像的处理设备。

下文中将叙述一个放大图像的实施例。首先,更高级CPU通过处理处理器将待放大的原始图像的图像数据20存储到带运算功能的半导体存储器100、101、102、103中。此时,处理处理器10给二维写访问的信号端子MEMC一个整数地址(坐标),然后再给该地址的数据,这样就把原始图像的图像数据20的象素设置到带运算功能的半导体存储器。此时,每个带运算功能的半导体存储器通过地址处理块216判断该区域是否是其自己的区域。如果该区域是其自己的区域,该带运算功能的半导体存储器就执行从象素运算控制块217到相应的存储器单元的写访问。这个带运算功能元件的半导体存储器与原始图像的图像数据20之间的关系,是一个比原始图像的图像数据20的每个均分区域(如附图3中从带运算功能的半导体存储器所画的虚线所示)稍微大的区域。就是说,每个带运算功能的半导体存储器有围绕原始图像的图像数据20的各分区之间边界的位置重叠的象素,重叠区域的大小取决于插值的程度。对于线性表达式的插值,重叠区域的大小是一个象素。对于二次表达式和三次表达式的插值,重叠区域的大小是二个象素。这样,每个带运算功能的半导体存储器就能在其LSI芯片自身内部读取用于插值的原始图像的象素。

下面描述对原始图像的图像数据20的给定坐标的读处理。处理处理器10在插值读访问中将一个带小数成分的地址(坐标)传送至信号端MEMC。这个地址可以通过顺序加上约0.77而算出,其中0.77是本例假设要对原始图像放大的倍数13的倒数。这样算出的地址可以被连续传送,直到信号线组ADC的信号WAIT信号被确立。与此同时,如果作了插值读访问,带运算功能的半导体存储器就指使命令处理块202的地址处理块216判断该确定地址是否就是前文所述的要由带运算功能的半导体存储器输出的地址,并将插值结果输出到输出数据缓冲器块211。如果该地址就是要由带运算功能的半导体存储器输出的地址,则一旦算出插值结果时,带运算功能的半导体存储器的SA端被确立;如果该地址不是要被输出的地址,则每进行一次插值读访问,SA端被置为确立一次。SA端的信号,通过一个“与”门与处理处理器10的MEMA端相连,处理处理器10可以由该信号知道,一个插值读请求的读结果已经建立。如果处理处理器10俘获这个数据去请求下一个插值读结果,将连接各个带运算功能的半导体存储器的SR端的MEMR端确立,就向SO端输出下一个插值读结果。

重复上述处理,就提供了对原始图像的图像数据20进行放大所生成的新图像的象素数据。如此获得的新图像被处理处理器的一个端子(图中未予表示)写入图像存储器,以在CRT之类上显示。

如上所述,按照本发明的一个实施例,存储器访问是在LSI芯片内部进行的,这样就使得,如果连接到更高级处理器的信号线的数目等于信号频率,处理速度就被提高4倍,4这个数字代表存储器访问的并行程度,亦即象素处理块的数目。在LSI芯片内部,导线电容较小,因而处理速度提高得更多。与之相反,现有技术水平下的结构体系,要实现同样的性能,需要4倍以上的并行装置,从而增加了设备的体积和成本。

提供带以象素为单位的乘法器的象素处理块以及进行乘法的并行运算,使得能够高速地进行图像缩小放大的插值。

如果要采用多个带运算功能的半导体存储器来处理大型图像,就要使用一种电路,用于确定,有待被各个带运算功能的半导体存储器输出区域,要比该带运算功能的半导体存储器中存储的图像的区域稍小。通过这种新颖构造,从上层处理器的角度来看带运算功能的半导体存储器,可以设置比实际储存的数据的地址空间大的地址空间,以及相邻数据片之间的小地址空间。

本文至此主要针对二维图像的放大和缩小描述了本实施例。显然,对于三维图像和四维图像(第四维可以是时间轴,或者,四维图像可以是多个预筛选过的三维图像),采用同样的构造也能取得相同的效果。

采用本实施例中简要说明的构造,可以进行诸如拉普拉斯筛选等图像处理。

如上所述,按照本发明方法,带小数成分的地址可以规定为在整数地址处存储的数据,由此高速提供被插值数据。

通过保存比带运算功能的半导体存储器输出的地址空间大的地址空间的数据,可以用多个带运算功能的半导体存储器,以快捷的速度和低廉的成本为大型地址空间的数据提供被插值数据。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号