具有块可访问缓冲存储器的图像处理电路的制作方法

文档序号:6568089阅读:167来源:国知局
专利名称:具有块可访问缓冲存储器的图像处理电路的制作方法
技术领域
本发明涉及一种图像处理电路和处理图像的方法。
技术背景公知的是,提供一种具有缓冲存储器的图像处理系统以提供到来自较大图像的像素位置的矩形窗的存储像素值的快速访问。诸如DCT (离散余弦变换)的计算、二维滤波和像素的临近块的匹配等流行的 图像处理任务需要重复执行同一操作,每次应用到像素位置的不同窗 的像素值。对于每次操作的执行,相应窗的像素值被保留在缓冲存储 器中,因此能够作为操作的一部分来迅速访问这些像素值。在执行下一次操作之前,更新缓冲存储器的内容。典型地,使用 滑动窗,该滑动窗基于从操作的一个执行到另一个执行的预定水平距 离进行移动。在这种情况下,通常只最新加载图像最右列的像素值以 代替最左列的像素值。为了支持这种部分代替,优选在缓冲存储器中使用某种形式的循 环寻址。例如,这能够利用某种形式的相对窗X—Y地址循环地址到 存储器地址的转译来实现。因此,对于水平移动的窗,相同的存储器 地址是通过连续减少X的值来转译的X—Y地址。当X值已经减少到 窗之外时,加载新的像素值用于存储器地址,并且将X值增加窗大小。当然,能够使用其它方案来支持部分代替。作为选择,能够将旧 的像素值移动到不同窗的每次执行操作之间的移位的存储器位置,而 将新的像素值加载到空出的存储器位置。S卩,对于图像的相应线有效 地使用移位寄存器。在这种情况下,能够使用将X—Y地址到存储器 位置的固定转译用于寻址移位寄存器中的位置。有利的,图像处理的缓冲存储器提供了到多个像素值的并行访问,例如并行访问窗中像素位置的水平线的像素值。这样,能够使用并行 处理器电路,每个处理器电路用于与其它处理电路并行地处理相应像 素位置或像素位置组的一个或多个像素值。典型的,依赖于必须执行的操作来选择缓冲存储器的大小和结构。如果操作需要X和Y方向上16X 16像素位置的像素值块,则典型使 用256 (16X 16)存储器位置的缓冲存储器,并且优选地,操作的X 一Y地址分别包含用于相对于窗对X和Y位置进行寻址的两个4位部分。但是,不是所有的处理任务都需要同样大小窗的像素值。 一些操 作需要8X8像素位置的窗的数据;其它则需要16X16像素位置的窗 的数据或者9X9或17X17像素位置等。对于快速处理,希望缓冲存 储器具有足够的位置来存储最大所需窗的所有像素值。在这种情况下,当执行需要较小窗的操作时,只使用部分像素值。 当缓冲存储器支持像素位置线的并行访问像素值时,只使用部分并行 访问能力。当提供与最大可能的窗大小相对应的多个并行处理器电路 时,只使用这些处理器电路的一部分。发明内容其中,本发明的目的在于增加图像处理系统中的处理资源的使用 率,该图像处理系统提供到用于存储像素位置的至少二维窗的像素值 的缓冲存储器中多个存储器位置的并行访问。本发明提供了一种根据权利要求1所述的图像处理电路。本发明 提供了在访问缓冲存储器期间使用不同尺寸的块。在此将使用术语 "块"来指在像素位置窗中像素位置的集合。典型地,并行访问块的 位置的像素值。针对缓冲存储器的相应功能行提供相应移位电路,以 改变访问端口,通过该访问端口能够彼此独立地访问行的像素值。依 赖于指示了被访问块的尺寸的模式信号,来选择不同行的移位量。由电路使用的移位量具有满足以下条件的值能够并行访问存储在不同行中的块的像素位置的相应线的像素值。因此,例如如果使用具有N/m 像素宽度的块并且N个访问端口是可用的,则当将到不同行的像素值的访问相对彼此移位N/m整数倍时,能够并行访问N个像素。优选地,功能行被实现为集成电路上存储器矩阵中的几何行,但是本发明并不 限于也是几何行的功能行。优选地,通过实现缓冲存储器的功能行来实现移位,每个缓冲存 储器为环形移位寄存器,沿着移位寄存器来传送像素值以通过不同的访问端口来实现访问。可以使用简单串联的寄存器链(chain)。可选 择地,可以在移位寄存器中的寄存器之间使用复用器来提供可选择的 移位步长,以加速移位。在另一个实施例中,可以使用非环形移位寄 存器,但是在这种情况下,典型地需要更大的移位寄存器,其宽于窗 的行,以保持将像素值移位到"不可见"。将使用不限于实施例的示例来描述本发明的这些和其它目的以及 有利的方面。


图1示出了图像处理电路;图2a — b演示了像素位置和像素的并行输出之间的关系;图3示出了缓冲存储器;图3a示出了移位控制部分;图3b示出了列寻址部分; 图4示出了移位寄存器; 图5示出了缓冲存储器; 图6示出了另一个移位控制部分;图7a—b示出了图像线(line)的部分(fraction)存储。
具体实施方式
图1示出了图像处理电路,包括主存储器10、存储器接口 12、缓 冲存储器14、寻址电路15、多个处理电路16和控制电路18。缓冲存 储器14通过接口 12连接到主存储器10。缓冲存储器14具有连接到 相应一个处理电路16的并行数据访问端口 17。控制电路18具有连接 到处理电路16的指令输出、连接到寻址电路15的地址/控制输出以及连接到接口 12的控制输出。寻址电路15具有连接到缓冲存储器14的输出。尽管示出了三个访问端口 17和处理电路16,但是应该理解,可 以并行提供诸如8个或16个的任何数目的访问端口 17和处理电路16。在实施例中,控制电路包括用于存储程序指令的指令存储器、以 及程序计数器来寻址这些指令。这些指令包括包含命令部分和地址部 分的指令。在这个实施例中,控制电路被设置成将所发出指令的地址 部分送入寻址电路15,将该指令的命令部分送入到处理电路16。此外, 程序计数器连接到接口电路12,用于在指令循环的预定位置来触发在 主存储器IO和缓冲存储器14之间的传送。在这个实施例中,处理电 路16为SIMD处理电路,被设置成接收来自控制电路18的相同指令。 但是应该理解的是,本发明不限于该实施例。可以使用其它形式来向 寻址电路15提供地址并控制处理电路的操作。此外,尽管示出每个处 理电路16连接到一个访问端口 17,但是应该理解,在另一个实施例 中,每个处理电路16可以连接到多个访问端口,例如,连接到其临近 端口,或者甚至连接到与其临近端口相邻的端口等。当访问端口为读 端口时,这允许在每个处理电路16执行更复杂的操作。在另一个实施 例中,处理电路16的组可以由相应较大的处理电路来代替,其每个具 有连接到多个访问端口 17的输入,以执行更复杂的操作。在操作中,控制电路18对处理电路16提供指令,对寻址电路15 提供相对窗地址和模式信号。典型地,控制电路为所有处理电路16 至多提供一个相对窗地址到地址的像素值。寻址电路15将每个相对窗 地址和模式信号的组合转译为用于缓冲存储器14的控制信号。缓冲存储器14可以被设置成支持从处理电路16读和写,或者只 读或只写。当读和写均可以时,控制电路也与相对窗地址相关地发送 读/写控制信号到寻址电路15。将以读操作为例来进行讨论。响应于 用于读操作的地址,缓冲存储器14从自身检索用于多个像素位置的像 素值,并在端口 17处并行输出这些像素值。缓冲存储器14和寻址电路15支持己从主存储器14加载的像素值 的像素位置和这些像素值在读操作期间将被并行输出的组合之间的关系进行控制。图2a — b演示了像素位置和在第一和第二操作模式期间分别并行输出的像素值的组合之间的关系,例如,具有四个访问端口 17处理电 路16。在第一模式中,并行输出四个连续像素位置(四个X地址)的 一个线段(一个Y地址)的像素值。在这第一模式中,来自控制电路 18的相对窗地址与诸如线段最左边的像素位置的相对窗XY地址相对 应。在第二模式中,并行输出每个两像素位置(两X地址)的两个连 续的线段(两个Y地址)的像素值。在这个第二模式中,来自控制电 路18的相对窗地址与诸如上层的线段最左边的像素位置的相对窗XY 地址相对应。例如,第一模式可以用于处理四像素位置宽的块的像素值。在该 模式中,在执行指令期间,每个处理电路16沿着块中的线段并行访问 相应像素位置的像素值。例如,第二模式可以用于处理两个像素位置 宽的块的像素值。在这种模式中,在执行指令期间,处理电路16被分 为各为两个处理电路16的两组。在执行结果为控制电路18将相对窗 地址应用于寻址电路的指令期间,两个处理电路16的第一组访问第一 线段的像素值。在执行同样的指令并具有同样的应用相对窗地址的结 果期间,处理电路16的第二组访问第二线段的像素值。因而,所有的 处理电路16可以用于这两种块宽度(both block )。如果沿块宽度方 向的像素位置的数目小于访问端口 17和处理电路16的数目,则不必 留下使用部分访问端口 17和处理电路16而不使用。图3演示了缓冲存储器14和寻址电路15的实施例。作为示例, 示出了具有像素值4X4存储空间的小型缓冲存储器14,但是应该理 解,实际上可以使用较大的缓冲存储器。在这个实施例中,缓冲存储 器14包括多个环形移位寄存器电路30。提供复用电路32,并被组织 为各与各自的访问端口相对应的组。复用电路32的每个组连接在各自 移位寄存器30的输出和其相应的访问端口 17之间。寻址电路15具有用于接收X、 Y地址的输入X、 Y和用于接收模 式信号的输入M。寻址电路15具有连接到各自的环形移位寄存器30 的移位控制输入的独立控制输出。此外,寻址电路15具有连接到各自的访问端口 17的复用电路的独立控制输出。寻址电路15被设置成依赖于来自模式信号输入M的模式信号而使移位寄存器30移位,因此,不同移位寄存器中的移位可以互相不同。模式信号指示从中需要像素值的块的宽度w。基于移位的任意公约数C加上W的相应整数倍并modN,对连续移位寄存器30的像素值进 行移位,其中N是存储在每个移位寄存器30中的像素值的数目(存 储在缓冲存储器中的窗的宽度)。在一个实施例中 第i行的移位二C + PW modulo N移位的公约数C对所有移位寄存器30是相同的,例如,可以为0 , C = 0。因此,对于4X4的缓冲存储器、N=4的示例和指示块宽度W =2的模式信号,连续移位寄存器30中的像素值可选择地按0和2位 置来移位。图3a演示了寻址电路15的移位控制部分的实施例,包括査找表 电路34,该查找表电路34具有接收模式信号"M"的输入和用于缓 冲存储器14(未示出)的相应列的移位控制信号的输出。査找表(LUT) 电路34可以实施为存储器,该存储器将模式信号M用作地址,并例 如根据前述的关系,在用于相应模式信号值的地址处存储控制信号集。 可选择地,可以使用产生同样的输入一输出关系的逻辑电路,或者使 用运算电路来执行控制信号的运算。复用电路32可以实施为将所选的移位寄存器30的输出连接到访 问端口 17的开关。寻址电路15被设置成使用来自地址信号输入X、 Y的相对窗XY地址信号,来产生用于复用电路32的控制信号。产生 控制信号,以便将包含来自所选块的像素的复用电路的输出连接到访 问端口 17。对于每个访问端口 17,选择一个复用电路32。因为缓冲 存储器的多个列己经相互移位,所以可以这样做。对于缓冲存储器的 每个相关的列,输出用于那些列的移位寄存器30的W个输出。例如,在实施例中,第i行按PWmodN来移位,如果相对窗地 址为X、Y,则寻址电路15在缓冲存储器14的第Y行从列号X+Y*W modN幵始来选择W列,如果需要则自动归为第0列。如果W小于 N,寻址电路15也在第Y+l行从列号X+ (Y+l) 4WmodN开始来选择W列,如果需要则自动归为第0列。优选地,如果可能,寻址电 路在W位置从列号X十(Y+j) * !110(1>^开始选择甚至更多行第Y+j行,j二0, 1,...,如果需要则自动归为第O歹U。在这种情况下, j的值应该满足j二0,…,jmax.P其中j邮/W小于或等于N。图3b演示了用于为不同列产生地址的列寻址部分。提供了查找表 (LUT)电路36来针对连续的访问端口 17输出所需的地址偏移。模 式信号M、 X地址和(部分的)Y地址用作査找表电路36的输入。 査找表电路被设置成根据模式信号和相对窗X、 Y地址值,为相应列 产生偏移值。加法器电路38被设置成将Y地址与査找表电路36的输 出相加。可以理解寻址电路15的很多种实现均可以实现寻址。加法器 电路38可以与查找表电路36和/或解码电路集成来产生各个复用电路 的选择信号。在另一个实施例中,为每个访问端口 17提供运算电路来 计算应该连接到该访问端口 17的缓冲存储器的行。在上面给出示例的实施例中,列寻址部分有效地计算整数行地址 Y+j,其满足条件P=X+k+(Y+j)*W modulo N其中,P为端口号,在0和W-l之间的k沿块中的行计数不同的像素值,以及j在0和jm^,之间。因此,对于两个像素位置宽度块W^2的4X4缓冲存储器14(N二4) 的示例,如果相对窗XY地址为X4, Y=2,则寻址电路15将控制第 二行的复用电路32,以将该行的移位寄存器30连接到第0和第l访 问端口 (对于k^0和l, P分别为0和1,对应于j:0)。此外,寻址电 路15将控制第3行的复用电路32,以将该行的移位寄存器30连接到 第2和第3访问端口 (对于1^0和1, P分别为2和3,对应于j-l)。在该实施例中,寻址电路15仅依赖于块的宽度W来控制每列中 的移位量。这使地址运算变复杂。此外,其具有访问端口依赖于块的 X和Y地址的效果,该访问端口向该块的左上像素位置提供到像素值 的访问。将这种像素位置输出到访问端口 17中的第X+YfW端口。在 另一实施例中,移位电路(未示出)连接在访问端口 17和复用电路 32之间,以使像素值在X+Y+W位置上循环移位,以便预定访问端口17向相对块左上角的预定像素位置提供到像素值的访问。因此,处理 电路16能够适于该像素值。在可选择的实施例中,通过将移位寄存器的移位量调整为Y地址和/或X地址,消除了对Y地址的依赖。例如,LUT电路34可以具有 用于Y地址信号和/或X地址信号的输入来实现这种目的。在该情况 下,寻址电路15可以被设置成使第i移位寄存器30中的像素值移位 (i-Y) *W-XmodN,其中X和Y是用于寻址缓冲存储器14的、块 的左上像素位置的相对窗X和Y地址。因此,在访问端口 17,相应 于在已寻址块中预定像素位置的像素位置与预定的访问端口相应。在 该情况下,这不需要其它移位电路来在访问端口 17进行实现。在可选 择的实施例中,寻址电路可以根据(i-Y) fWmodN来控制第i移位 寄存器30的移位。在这种情况下,能够由Y地址加上Y地址的独立 偏移来确定列的地址。在另一实施例中,或者加上XmodN,从而实 现了访问端口 17仅依赖于块中的Y位置。在一个实施例中,寻址电路15计算解码的选择信号并将不同的选 择信号输出到各个复用电路32,以提供访问端口的开/关控制。可选 择地,寻址电路15可以向公用列的复用电路32提供解码的地址信号, 在该情况下复用电路32也应该被设置成进行解码。可以通过使每个移位寄存器30能够将数据移位控制的移位循环 数,来控制移位。在一个实施例中,寻址电路使第i移位寄存器30能 够进行i*W mod N个移位循环。图4示出了用于缓冲存储器14的行的可选择的移位寄存器电路。 移位寄存器电路40包括插入在寄存器42之间的寄存器和复用器44 的环形序列。每个复用器44具有第一输入,所述第一输入连接到前一 个寄存器42的输出以及沿着该序列进一步后退预定数目的位置的寄 存器42的输出。寻址电路15 (未示出)控制复用器44和寄存器42。 移位步长复用器44能够选择寄存器40中一个位置的移位,或者基于 单个移位循环中的多个位置进行选择。因此,能够通过控制用于所选 择的移位寄存器40的复用器44,将像素值从预定位置数沿该序列向 后传输,以减少实现大量移位所需的移位循环数。应该理解的是,能够通过使用复用电路44来实现进一步减少移位循环数,沿着寄存器42的环形序列,所述复用电路具有以相应预定距 离连接到寄存器42的输出的多个可选择输入。在最极端的形式中,每 个复用器44具有可选择输入,所述可选择输入连接到可以从其移位像 素值的每个寄存器42的输出。在该情况下,寻址电路35控制缓冲存 储器的每行中的复用器44,以将像素值沿着循环序列从相距所需距离 的寄存器42进行传送(例如,从距离"W, i为缓冲存储器14中移位 寄存器40的行号)。因此,单一的移位循环对于沿每个移位寄存器40 移位数据是足够的。在另一个实施例中,只允许受限的移位量(例如, 根据不同的块大小),并且对于所有这些移位量提供了复用器44的可 选择的输入,但是对于其它移位量则没有提供。在实施例中,控制电路18被设置成向每个访问操作提供新的模式 控制信号。在这种情况下,优选地,由控制电路处理的每个访问指令 包含控制电路提供给寻址电路15的模式控制信号值的字段。在可选择 的实施例中,可以针对多个访问操作来设置模式控制信号,例如直到 设置了新的模式控制信号值。在该情况下,分离的指令可以用于针对 随后的访问指令来设置模式信号值。优选地,在该可选择的实施例中, 响应设置新的模式控制信号值的指令,移位寄存器30(或40)中的像 素值被移位。在两个实施例中,在执行同样的任务期间能够执行使用不同的块 大小和/或形状的不同类型处理,而无需重载入缓冲存储器来适应不同 的块大小。图5示出了一个实施例,其中连接到由寻址电路15控制的移位电 路52 (例如桶式移位器)的寄存器50组代替了移位寄存器30或40。 移位电路52的输出通过与复用电路32类似的复用电路54 (未详细示 出)连接到访问端口 17。在操作中,图5的缓冲存储器14利用移位电路52中的电路切换 执行行相关移位(row dependent shifting),即,无需将数据从移位寄 存器链(chain)中的一个寄存器传送到另一个。这可以提高访问的速 度,但是它需要比使用移位寄存器时更复杂的对更小型电路的访问。在一个实施例中,对于每个访问操作,寻址电路15使移位寄存器30 (或40)将像素值移位访问操作所需的移位量,在访问操作之后又以相同的量进行。图6示出了寻址电路15的移位控制部分的实施例,其中仅在访问 操作之前移位像素值。在该实施例中,寄存器60被提供用于存储最后 使用的模式控制信号和用于输出移位控制信号的LUT电路34 (或具 有同样输入输出功能的任何其它电路),如果存在,所述LUT电路34 与现有移位量(由旧的模式控制信号值指示)与新的访问操作所需的 新的移位量之差相对应。在已经控制了移位之后,更新所存储的模式 控制信号值。因此,移位操作的次数能够最小化,这可以节省功率和 时间。当移位量也依赖于X和/或Y地址时,优选地将X和/或Y地址 也存储在寄存器60并被提供给LUT电路34。在另一个实施例中,寻址电路35被设置成禁用没有被寻址的移位 寄存器中的移位。如果该实施例与使用差分移位的实施例进行组合, 则优选提供寄存器来代表相应列的之前移位量,并且针对该之前移位 量,依赖于移位的变化来控制移位。接口电路12支持在主存储器10和缓冲存储器10之间像素值的传 送。可以使用任何机制来控制传送。在一个实施例中,传送被链接到 处理电路16的操作循环中。在该实施例中,控制电路最初将信号发送 到接口电路12,该信号触发接口电路12从主存储器IO将像素位置的 窗的像素值加载到缓冲存储器中。下一个控制电路18启动处理循环, 在该操作循环期间当完成访问时,控制电路18发送信号到接口电路 12,该信号触发接口电路12从主存储器10将像素位置的窗的另外一 列像素值加载到缓冲存储器中。在这种情况下,缓冲存储器14的移位 机制可以用于实现能够在预定寄存器中写入新的像素值。应该注意的 是,这对于所有行仅需要同样的移位量,在操作期间模式不依赖于移尽管在一个实施例中,接口电路12被设置成仅从主存储器10将 像素值传送到缓冲存储器14,在可选择的实施例中,接口电路12可 以被设置成仅将像素值从缓冲存储器14传送到主存储器10 (在处理之后),或者在处理之前将像素值从主存储器10传送到缓冲存储器14,并在处理之后从缓冲存储器14传回主存储器10。应该注意的是,可以使用在主存储器10和缓冲存储器14之间其 它形式的传送。代替将传送链接到操作循环(例如由程序计数器值来 触发),响应显式传送指令来传送,或者作为寻址的结果,使用外部缓 冲存储器。尽管本发明已经描述了其中控制电路18利用相对窗X Y地址来 对像素值进行寻址的实施例,可选择的实施例可以使用绝对(相对于 图像)XY地址。在该可选择的实施例中,可以提供转译电路来将绝 对地址转换为相对窗XY地址,假定窗的XY地址存储在缓冲存储器 中。可选择地,可以从绝对地址来直接计算缓冲存储器中的内部地址 (可选是移位量)。己经利用其中图像线(image line)与缓冲存储器14的行之间存 在一对一对应关系的示例来描述本发明。然而,可替换地,多于一个 图像线的像素值可以存储在一行中,或者一个图像线的像素值可以分 布式存储在缓冲存储器14的多个行中。优选地,在这种情况下,来自 存储在缓冲存储器14中图像线的像素位置的数目是行中存储器位置 数目的整数倍,或者相反地, 一行中存储器位置的数目是来自存储在 缓冲存储器14中图像线的像素位置的整数倍。在另一个实施例中,电 路不限于这些整数倍。图7a-b示出了其中缓冲存储器具有6个访问端口和6个存储器位 置的行的示例的图像线的部分存储。图中示出了与缓冲存储器14中的 存储器位置的行(移位寄存器30或40)和列(访问端口 17)对应的 行和列的矩阵。图像中像素位置的线段的像素值存储在存储器位置中。 存储线段中最左端像素位置的像素值的存储器位置由圆圈来指示。在 部分存储的情况下,如图所示,这些存储器位置没有在同一列中。图 中还指出了矩形框的线段的像素值的位置。图7a演示了具有十字、三 角和方形的像素位置的4X2块的像素值的存储位置。类似地,图7b 演示了像素位置的3X6块的像素值的存储位置。现在,当必须访问所选择大小的块时,将模式信号提供给寻址电路15以指示所选择块的大小。在这个实施例中,寻址电路还接收关于 存储在存储器中的线段的长度的信息,或者关于线段开始的存储器位置之间的偏移信息。此外,提供了块的X, Y地址。寻址电路15控制 移位量并进行寻址以允许在不同访问端口 17处输出不同线段的像素 值。为此,寻址电路15根据模式信号和所存储线段的长度来控制移位 量并进行寻址。图中分别通过十字和三角指示了将要在访问端口 17并行访问的 相应图像线的像素值。如图7a中的示例所示,并行输出来自块中一个 线的4个像素值并访问下一线的两个像素值。如图7b中的示例所示, 并行输出来自块中一条线的3个像素值以及下一线的3个像素。与所存储像素位置的数目等于缓冲存储器14的每行的存储器位 置的情况相比较,这种类型访问的移位量和寻址更为复杂。在图7a 的情况下,例如,寻址电路15可以使用0和2的移位量。由寻址电路 15针对前两个访问端口产生的行地址对第二行进行寻址,用于第三个 到第六个访问端口的地址对第一行进行寻址。在图7b的情况下,例如, 寻址电路15可以对前两行和第三行使用2、 l和l的移位量。由寻址 电路15针对前3个访问端口产生的行地址对第一行进行寻址,用于接 下来的两个访问端口的地址对第二行进行寻址,用于最后的访问端口 的地址对第三行进行寻址。正如所理解的那样,与图像线在缓冲存储器14的每行中同一位置 开始的示例相比,这种情况下的寻址模式更不规则。但是,对于任何 给定的块大小、块地址和缓冲存储器14中图像线段的线段长度的配 置,选择允许并行访问来自多个线的像素值的移位量和地址的组合是 简单的。本领域的普通技术人员可以选择这种易受约束的移位量的组 合,以便具有将所需的像素位置移位到访问端口的相互不同组的结果。 于是,本领域的普通技术人员能够提供LUT电路或者便于输出控制信 号的任何其它电路,响应关于块大小、块地址和线段长度的信息,该 控制信号影响移位量和地址的所选择的组合。正如所理解的那样,这 种技术能够用来支持任何形状的块,而不仅仅是矩形块。尽管已经利用特定的实施例来描述本发明,应该理解的是,本发明不限于这些实施例。例如应该能够实现使用比4X4像素位置更大的 缓冲存储器大小。缓冲存储器14也不限于方形窗的存储器。此外,尽管已经针对每个存储器位置包含一个像素值的缓冲存储器14描述了本发明,应该理解的是,可以在每个位置中存储多于一个像素值,例如对于x方向上连续的像素位置存储一组四个像素值。在这种情况下,优选地,该组限定了访问的基本粒度,针对组,共同控制到访问端口 17的传送,以及在同一访问端口 17处一起访问该组的 像素值。当然,这将限制寻址和块大小为粒度的整数倍,然而在大多 数应用中这对于图像处理操作是可接受的。此外,尽管已经描述了使用环形移位寄存器,应该理解的是,可 选择的可以使用非环形移位寄存器(即当这些像素值在右侧被移出时 寄存器不移位在左侧的像素值,反之亦然)。在这种情况下,非线性移 位寄存器优选比窗的行更宽,当像素值向左或向右移位时,具有用于 接收来自窗的这些像素值的附加位置,因此,当数据按照不同模式所 要求的那样来回移位时,来自窗的像素值没有丢失。应该理解的是, 当环形移位寄存器可用时,能够使用更小的移位寄存器。在这种情况 下,也可以出现块的分裂呈现(split presentation )。寻址电路15可以实现为处理电路的一部分,或者作为代替各个处 理电路集合的较大处理电路的一部分。这样,可以利用这种处理电路 中的指令来控制块选择和寻址。可选择地,寻址电路15能够与缓冲存 储器14集成在一起。此外,控制电路18的部分功能可以集成在缓冲 存储器14中和/或与寻址电路15集成在一起,例如当必须从主存储器 10根据地址使用和/或来自处理电路16的关于将来寻址的信息来取新 的数据时,进行检测。尽管本发明已经描述了主要用于其中访问涉及从缓冲池存储器 14读取像素值的实施例,应该理解的是,可选择地,本发明可以应用 于只写或读写或只读。这仅仅影响在访问端口 17和在移位寄存器30、 40的寄存器或寄存器50之间支持的信号流的方向。在写复用电路32、 54功能上严格作为解复用电路的情况下,如果使用切换连接来实现这 些复用电路,则没有区别。
权利要求
1.一种图像处理电路,具有用于存储在图像中二维可移动窗的像素位置的像素值的缓冲存储器(14),所述缓冲存储器(14)包括存储器电路(30)的多个功能行,用于存储来自该窗的像素值; 多个访问端口(17),每个用于提供对来自相应行中像素值的相应组的可寻址像素值的访问;移位电路(32),每个用于相应行,并被设置成移位从相应行到组的像素值的分配;寻址电路(15),包括输入,用于接收像素位置的二维块的地址和指示该块的尺寸的模式信号,寻址电路(15)被设置成依赖于由模式信号所指示的尺寸,控制移位电路(32)来设置相应行的相应移位量,移位量满足这样的条件存储在不同行中的块的像素位置的相应线的像素值被分配到互不重叠的组。
2. 根据权利要求1所述的图像处理电路,其中移位电路(32)和 每个行的像素值存储器电路(30)形成相应的移位寄存器电路。
3. 根据权利要求2所述的图像处理电路,其中寻址电路被设置成 在访问之前和之后,分别根据移位寄存器中的移位量进行来回移位。
4. 根据权利要求2所述的图像处理电路,其中寻址电路(15)包 括存储单元(60),用于代表行最后使用的移位量,寻址电路被设置成 执行差分移位,通过移位寄存器根据与连续访问次数之间的差相对应 的距离来移位像素值。
5. 根据权利要求2所述的图像处理电路,其中移位寄存器电路(40) 包括复用器(44),每个复用器具有连接到相应存储器电路(42)的输 出和从所述相应存储器电路沿着移位寄存器电路(40)以各自距离连 接到存储器电路(42)的输出的输入,寻址电路(15)连接到复用器 电路(44)以依赖于行的移位量控制输入选择。
6. 根据权利要求2所述的图像处理电路,其中对于每行,移位电 路(32)连接在存储器电路(30)和访问端口 (17)之间,并被设置 成将存储器电路(30)之间的多个移位连接提供给访问端口 (17)。
7. 根据权利要求2所述的图像处理电路,其中移位寄存器是环形 移位寄存器,每个被设置成将来自相应行的像素值的分配环形移位到 所述组。
8. 根据权利要求1所述的图像处理电路,其中寻址电路被设置成 针对相应组产生相应行地址,并依赖于模式信号来选择来自组的可寻 址像素值的行,对于所述组,通过访问端口 (17)提供到所述组的访问,所述地址满足这样的条件对于不重叠的组分别寻址不同的行。
9. 根据权利要求1所述的图像处理电路,包括主存储器(10)和 连接在主存储器(10)与缓冲存储器(14)之间的接口电路(12),并 被设置成在主存储器(10)和缓冲存储器(14)之间传送该窗的像素值。
10. 根据权利要求1所述的图像处理电路,包括多个并行像素值处 理电路(16),每个并行像素值处理电路连接到相应访问端口 (17)或 访问端口 (17)的相应子集。
11. 根据权利要求IO所述的图像处理电路,其中像素值处理电路 (16)被编程为对于互不相同尺寸的块,访问来自该窗的相同像素位置的像素值,并传送指示访问之间的块的尺寸的模式信号。
12. —种处理图像中像素位置的像素值的方法,使用用于存储图像 中二维窗的像素位置的像素值的缓冲存储器(14),所述缓冲存储器(14)包括用于并行访问像素值的多个访问端口(17),每个访问端口 提供到来自缓冲存储器(14)中相应功能行的像素值的相应组的可寻 址像素值的访问,所述方法包括发送信号到缓冲存储器(14),以指示要并行访问的像素值的像素 位置块的尺寸;对于相应行,将来自相应行的像素值的分配的相应移位量设置到组 中,所述分配依赖于所指示的尺寸,所述分配满足这样的条件根据 移位量,存储在不同行中的块的像素位置的相应线的像素值被分配到 互不重叠的组;通过访问端口 (17)并行访问相应线的像素值。
13. 根据权利要求12所述的方法,其中功能行各包括各自的移位寄存器(40),具有相应像素值的存储器位置(42),所述方法包括通 过移位寄存器(40)对像素值进行移位以实现所述移位量。
全文摘要
一种图像处理电路具有缓冲存储器(14),用于存储在图像中二维可移动窗的像素位置的像素值。缓冲存储器(14)包括用于存储来自所述窗的像素值的存储器电路(30)的多个功能行。设置了多个访问端口(17),每个用于提供对来自相应行中像素值的相应组的可寻址像素值的访问。在存储器电路(30)和访问端口之间设置移位电路(32),或者其作为所述存储器电路(3)装置的一部分。每个移位电路被设置用于相应行并被设置成移位从相应行到组的像素值的分配。寻址电路(15)具有输入,用于接收像素位置的二维块的地址和指示块的尺寸的模式信号。依赖于由模式信号所指示的尺寸,寻址电路(15)控制移位电路(32)来设置用于相应行的相应移位量。寻址电路将移位量设置为数值,从而存储在不同行中的块的像素位置的相应线的像素值被分配到互不重叠的组。这样能够并行访问块的像素值。
文档编号G06T1/60GK101218604SQ200680025132
公开日2008年7月9日 申请日期2006年5月4日 优先权日2005年5月10日
发明者卡洛斯·A·阿尔巴平托, 拉马纳坦·塞托拉曼 申请人:Nxp股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1