著录项信息
专利名称 | 具有运算功能的半导体存储器及使用该存储器的处理器 |
申请号 | CN96195245.8 | 申请日期 | 1996-04-26 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 1998-08-05 | 公开/公告号 | CN1189902 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 株式会社日立制作所 | 申请人地址 | 日本东京都千***
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 株式会社日立制作所 | 当前权利人 | 株式会社日立制作所 |
发明人 | 藤田良;曾我满;中塚康弘 |
代理机构 | 中国专利代理(香港)有限公司 | 代理人 | 王勇;陈景峻 |
摘要
本发明涉及对原始图像进行诸如放大、缩小和旋转等象素密度转换处理以及显示结果图像的一种显示装置,或涉及一种图像处理装置,更具体地,涉及一种进行诸如数据插值的高速筛选操作的处理装置,该筛选操作是象素密度转换处理,以及涉及用于这种高速筛选处理的具有运算功能的存储器。这种新颖的结构提供了包括一个原始图像的小数成份的一个小数地址,这种原始图象通常不提供整数坐标,以及一种半导体存储器100,它包括一个存储单元207,用于保存与整数地址相对应的数据;运算电路202和203,用于根据从存储单元所读的一个小数地址的整数成分所对应的数据和小数成分,进行插值运算;一个地址范围确定功能块216,用于确定上述含小数成分的地址是否在上述存储单元中保存的数据的地址的范围之内。由于这种新颖结构是在LSI芯片内部执行插值运算的,其处理速度比现有水平技术的提高4倍甚至更多。
1.一种带运算功能的半导体存储器,包括:
一个存储装置,用于保存各连续整数地址相对应的数据;
一个小数地址保存装置,用于保存构成处理器输入的小数地址的 整数成分和小数成分;
一个运算装置,用于读取所述存储装置中的与所述整数成分表示 的地址相对应的数据以及来自所述存储装置的由所述整数成分所指 明的该地址之前或之后的数据,并用所读数据和所述小数地址保存装 置中保存的所述小数成分,插值对应于所述小数地址的数据;
其中所述半导体存储器至少具有用于向所述处理器输入或从其 中输出地址或数据的第一端子,向处理器输出表明访问被允许的等待 信号的第二端子,以及从处理器输入表明访问请求是合法的信号的第 三端子。
2.根据权利要求1所述的半导体存储器,其特征在于还包括一个 地址范围确定装置,用于确定一个地址是否在所述存储装置中保存的 数据的地址的范围之内。
3.根据权利要求1所述的半导体存储器,其特征在于所述存储装 置包括一个DRAM。
4.根据权利要求1或2所述的半导体存储器,其特征在于所述存 储装置、所述小数地址保存装置和所述运算装置制作在一个LSI芯片 上,该芯片包括所述的半导体存储器。
5.一种带运算功能的半导体存储器,包括:
一个存储装置,用于保存连续N-维空间中各连续整数地址相对应 的数据,N为整数;
一个小数地址保存装置,用于保存从处理器输入的小数地址,该 小数地址由作为所述N-维空间中整数地址的整数成分和N-维的小数 成分组成,N-维小数成分在所述整数地址之间定义了一个地址;
一个数据运算装置,用于在各维上读取所述整数成分表示的地址 相对应的数据以及所述整数成分表示的该地址之前和之后的数据,以 按照所述小数地址保存装置中保存的小数成分,进行算术运算;
一个确定装置,用于当某空间的一个大于该整数成分-即所述N- 维整数地址-的地址被输入时,确定是否可以由所述存储装置保存的 数据输出对应于该输入地址的一个算术运算结果;
其中,在所述N-维的小数地址被作为地址输入时,所述数据运算 装置的算术运算结果根据所述确定装置被读取,并被作为读数据输 出,以及
其中所述半导体存储器至少具有用于向所述处理器输入或从其 中输出地址或数据的第一端子,向处理器输出表明访问被允许的等待 信号的第二端子,以及从处理器输入表明访问请求是合法的信号的第 三端子。
6.根据权利要求5所述的半导体存储器,其特征在于所述存储装 置包括一个DRAM。
7.根据权利要求5或6所述的半导体存储器,其特征在于所述存 储装置、所述小数地址保存装置和所述运算装置制作在一个LSI芯片 上,该芯片包括所述的半导体存储器。
8.一种使用带运算功能的半导体存储器的处理设备,包括:
一个地址生成处理器,用于按照中央处理器的指令生成一个含小 数成分的地址;以及
多个带运算功能的半导体存储器,其有一个存储装置,用于保存 各连续整数地址相对应的数据;以及一个运算装置,对从所述地址生 成处理器输入的一个含小数成分的所述地址,用所述存储装置中保存 的各连续整数地址和该地址的小数成分,获得与所述含小数成分的地 址对应的数据;
其中,所述的多个半导体存储器的每个,在所述存储装置中,以 相互叠加的方式,保存相邻存储器的部分数据,并且
其中每个所述半导体存储器至少具有用于向所述中央处理器输 入或从其中输出地址或数据的第一端子,向中央处理器输出表明访问 被允许的等待信号的第二端子,以及从中央处理器输入表明访问请求 是合法的信号的第三端子。
9.按照权利要求8的使用带运算功能的半导体存储器的处理设 备,其中,所述要以相互叠加的方式保存于各半导体存储器的数据部 分,系指相邻存储器之间边界附近的数据。
10.按照权利要求8或9的使用带运算功能的半导体存储器的处 理设备,其中,所述多个半导体存储器中的每个存储器,均有一个地 址范围确定装置,用于确定从所述地址生成处理器输入的含小数成分 的地址,是否在所述各存储装置中保存的数据的各地址的范围之内。
11.根据权利要求8所述的使用带运算功能的半导体存储器的处 理设备,其特征在于所述存储装置包括一个DRAM。
12.根据权利要求8所述的使用带运算功能的半导体存储器的处 理设备,其特征在于还包括一个地址范围确定装置,用于确定一个地 址是否在所述存储装置中保存的数据的地址的范围之内。
13.按照权利要求12的半导体存储器,其中,所述要以相互叠加 的方式保存于各半导体存储器的数据部分,系指相邻存储器之间边界 附近的数据。
发明领域
本发明涉及执行象素密度转换处理—例如对原始图像进行放大、缩 小和旋转—并显示结果图像的显示设备,或者说涉及图像处理设备。更 具体来说,本发明涉及执行诸如数据插值操作(这是象素密度转换处 理)的高速筛选操作的处理设备,以及用于该高速筛选操作的具有运算 功能的存储器。
背景技术
对一个图像进行放大、缩小和旋转的常规显示设备,用于纹理映射 设备,诸如未审查的日本公开专利平5-298455和平5-307610中揭示的 纹理映射设备。这些公开说明书内的方法中揭示了,由于对应其目标的 原始图像的坐标值与该原始图像的一个象素的中心不匹配,一个具体坐 标的象素的值,是通过在该特定象素的周围进行象素插值估算出来的。 关于二进制字符图像的放大,日本未审查的公开专利平5-298455揭示 了一种从原始图像的多个象素的快速放大而获得目标象素的方法。此 外,对于图像处理中的图像分析和整合,一个著名的方法是,通过加权 周围8个象素来执行一个积-和操作。
上文提及的常规处理设备等,从一个原始图像读取多个象素进行运 算运算操作,这种设备带有多个存储设备和运算单元,它们以并联方式 连接,执行并行处理,以获得较高的处理速度。
然而,当使用多个存储设备、从原始图像高速读取数据进行处理 时,用上文提及的现有技术就产生一个问题,即在执行处理任务的处理 器与多个存储设备之间,信号线的数目大大增加。例如,假设一个象素 由24位组成(红绿蓝三色各占8位),要对一个由4个象素构成的原 始图像进行运算操作,就需要96位的数据线。存储设备本身读数据的 性能,如果与普通随机存取存储器相同的话,当在目前的一次随机存取 操作需要150ns的限度之内。要获得一个目标性能,就必须通过并行处 理来提高这个存取速度,这进而更要增加信号线的数量。这就不可避免 要扩大设备规模,增加设备成本,这是因为单个设备的性能(操作频率) 需要得到提高。
发明揭示
因此,本发明的一个目的是,提供一种能通过减少高速处理器与各 存储设备之间的信号线的数目而执行高速处理的设备,以及提供一种用 于这种处理设备的具有运算功能的半导体存储器。
本发明的另一个目的是,提供多个具有运算功能的半导体存储器和 一个处理设备,用以处理因数据量太大、不能存入单个具有运算功能的 半导体存储器的原始图像。
实施本发明时,一方面,本发明提供了一种带运算功能的半导体存 储器,包括:一个存储装置,用于保存各连续整数地址相对应的数据; 一个小数地址保存装置,用于保存构成处理器输入的小数地址的整数成 分和小数成分;一个运算装置,用于读取所述存储装置中的与所述整数 成分表示的地址相对应的数据以及来自所述存储装置的由所述整数成 分所指明的该地址之前或之后的数据,并用所读数据和所述小数地址保 存装置中保存的所述小数成分,插值对应于所述小数地址的数据;其中 所述半导体存储器至少具有用于向所述处理器输入或从其中输出地址 或数据的第一端子,向处理器输出表明访问被允许的等待信号的第二端 子,以及从处理器输入表明访问请求是合法的信号的第三端子。所有上 述装置均被置于一个大规模集成电路(LSI)芯片中。
实施本发明时,另一方面,本发明提供了一种带运算功能的半导体 存储器,包括:一个存储装置,用于保存连续N-维空间中各连续整数地 址相对应的数据,N为整数;一个小数地址保存装置,用于保存从处理 器输入的小数地址,该小数地址由作为所述N-维空间中整数地址的整数 成分和N-维的小数成分组成,N-维小数成分在所述整数地址之间定义了 一个地址;一个数据运算装置,用于在各维上读取所述整数成分表示的 地址相对应的数据以及所述整数成分表示的该地址之前和之后的数 据,以按照所述小数地址保存装置中保存的小数成分,进行算术运算; 一个确定装置,用于当某空间的一个大于该整数成分-即所述N-维整数 地址-的地址被输入时,确定是否可以由所述存储装置保存的数据输出 对应于该输入地址的一个算术运算结果;其中,在所述N-维的小数地址 被作为地址输入时,所述数据运算装置的算术运算结果根据所述确定装 置被读取,并被作为读数据输出,以及其中所述半导体存储器至少具有 用于向所述处理器输入或从其中输出地址或数据的第一端子,向处理器 输出表明访问被允许的等待信号的第二端子,以及从处理器输入表明访 问请求是合法的信号的第三端子。
实施本发明时,再一方面,本发明提供了一种使用带运算功能的半 导体存储器的处理设备,包括:一个地址生成处理器,用于按照中央处 理器的指令生成一个含小数成分的地址;以及多个带运算功能的半导体 存储器,其有一个存储装置,用于保存各连续整数地址相对应的数据; 以及一个运算装置,对从所述地址生成处理器输入的一个含小数成分的 所述地址,用所述存储装置中保存的各连续整数地址和该地址的小数成 分,获得与所述含小数成分的地址对应的数据;其中,所述的多个半导 体存储器的每个,在所述存储装置中,以相互叠加的方式,保存相邻存 储器的部分数据,并且其中每个所述半导体存储器至少具有用于向所述 中央处理器输入或从其中输出地址或数据的第一端子,向中央处理器输 出表明访问被允许的等待信号的第二端子,以及从中央处理器输入表明 访问请求是合法的信号的第三端子。
按常规方法,与坐标对应的地址要被输出到多个存储器件中,该坐 标周围约有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的信号值被俘获到PBIO 212,并作为写数据被存储到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倍以上的并行装置,从而增加了设备的体积和成本。
提供带以象素为单位的乘法器的象素处理块以及进行乘法的并行 运算,使得能够高速地进行图像缩小放大的插值。
如果要采用多个带运算功能的半导体存储器来处理大型图像,就要 使用一种电路,用于确定,有待被各个带运算功能的半导体存储器输出 区域,要比该带运算功能的半导体存储器中存储的图像的区域稍小。通 过这种新颖构造,从上层处理器的角度来看带运算功能的半导体存储 器,可以设置比实际储存的数据的地址空间大的地址空间,以及相邻数 据片之间的小地址空间。
本文至此主要针对二维图像的放大和缩小描述了本实施例。显然, 对于三维图像和四维图像(第四维可以是时间轴,或者,四维图像可以 是多个预筛选过的三维图像),采用同样的构造也能取得相同的效果。
采用本实施例中简要说明的构造,可以进行诸如拉普拉斯筛选等图 像处理。
如上所述,按照本发明方法,带小数成分的地址可以规定为在整数 地址处存储的数据,由此高速提供被插值数据。
通过保存比带运算功能的半导体存储器输出的地址空间大的地址 空间的数据,可以用多个带运算功能的半导体存储器,以快捷的速度和 低廉的成本为大型地址空间的数据提供被插值数据。
法律信息
- 2009-06-24
专利权的终止(未缴年费专利权终止)
专利权的终止(未缴年费专利权终止)授权公告日:2003.4.9
- 2003-04-09
- 1998-08-19
- 1998-08-05
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |