CN102687162B - 以像素速率进行图像处理的方法与装置 - Google Patents

以像素速率进行图像处理的方法与装置 Download PDF

Info

Publication number
CN102687162B
CN102687162B CN201080059520.XA CN201080059520A CN102687162B CN 102687162 B CN102687162 B CN 102687162B CN 201080059520 A CN201080059520 A CN 201080059520A CN 102687162 B CN102687162 B CN 102687162B
Authority
CN
China
Prior art keywords
pixel
pixels
block
edge
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201080059520.XA
Other languages
English (en)
Other versions
CN102687162A (zh
Inventor
B·勒纳
P·萨克
G·G·卡拉纳姆
M·迈耶-庞德萨克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Analog Devices Inc
Original Assignee
Analog Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Analog Devices Inc filed Critical Analog Devices Inc
Publication of CN102687162A publication Critical patent/CN102687162A/zh
Application granted granted Critical
Publication of CN102687162B publication Critical patent/CN102687162B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Image Processing (AREA)
  • Television Systems (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明的实施方式提供了2-D图像处理中改进的定时控制,即使当处理操作转换到一行或一帧新的像素时也能保持存储器获取与像素输出的恒定速率。通过在当前行上的边缘像素块的一个新列被复制或填零时预先获取下一行或下一帧的第一个像素块中的一列新像素数据,根据本发明的改进的定时控制利用了空闲的存储器带宽,因此进入的像素速率与输出的像素速率之间一对一的关系不需要附加的时钟周期或存储器带宽就可以保持。在处理当前行上的边缘像素块的时候,下一行或下一帧的第一个像素块中的数据准备好进行计算,而不需要额外的时钟周期或者额外的存储器带宽。

Description

以像素速率进行图像处理的方法与装置
对相关申请的交叉引用
本申请要求于2009年11月17日提交的共同未决的美国专利申请序列号12/619,825的优先权及其利益,该申请的全部内容通过引用包含于此。
技术领域
本发明总体上涉及数字信号处理及计算机图形,尤其涉及以像素速率进行的图像处理。
背景技术
在处理两维(2-D)图像时,已经知道的是要对连续的像素块应用小的矩阵或者核(kernel),以便生成输出像素。例如,在2-D卷积运算中,n×m矩阵(“卷积模板”)一般在光栅图案之后应用到图像,并且对于图像中的每个像素,该卷积模板的中心在那个像素上并且与图像中对应的n×m个像素进行卷积,以计算输出像素值。然后,这样生成的输出像素共同形成新的(处理后的)数字图像。依赖于所使用的卷积模板,2-D卷积运算可以过滤掉噪声、增强目标边缘或者在数字图像上实现其它期望的效果。类似地,在2-D相关运算中,矩阵也在光栅模式下应用到图像并且与每个像素及其相邻的像素进行计算,以生成对应的输出像素。这些和其它基于核的2-D处理操作可以以软件或硬件实施,并且可以应用到静止图像或者视频序列中的帧。
图1示出了具有26×20像素阵列的示例图像100,每个小方块代表一个像素。3×3的核102可以应用到图像100,从左上角(即,像素A1)开始,并且以光栅模式一行一行地从一个边缘到另一个边缘。对于图像100中的每个像素,在那些像素数据与核矩阵的值进行计算之前,对应像素块(那个像素及其相邻的像素)的数字值需要从存储器设备或者输入缓冲区检索。检索像素数据并且将核与所述像素数据进行计算的步骤一般是流水线作业的,通过时钟以像素速率驱动。当核前进到下一个像素时,例如,从像素K16(标记为“1”)前进到像素L16(标记为“2”),只需要检索一列新的像素数据(即,像素M15-17中的那些)。即,在流水线作业处理中的每个时钟周期期间,只从存储器或者输入缓冲区检索一列新的像素数据,并且通常同时只生成一个输出像素值。因而,当处理完全位于图像100边界中的那些像素块(“内部像素块”)时,在检索像素数据列的速率与输出像素的速率之间可以存在一对一的关系。
但是,当核到达图像的边缘而且即将开始扫描并对新的一行或一帧进行操作时,这种获取一列并输出一个像素的定时模式就不能保持了。同样是关于图像100和核102,图2说明了这个问题。图2中被核102覆盖的像素块(其中心在像素Z16)可以称为“边缘像素块”。当核102从第16行上的最后一个像素(像素Z16)移到第17行上的第一个像素(像素A17)时,在可以计算对应于像素A17的输出像素值之前,需要获取两列新的像素数据(即,像素A16-18和B16-18中的那些)。类似的问题对其它尺寸的核及当核转换到视频序列中新的一帧时也存在。为了保持在转换期间的输出像素速率,传统的2-D图像处理方法将需要用于要获取的额外列的额外时钟周期或者比用于非边界像素块的大得多的存储器带宽。因为缺乏效率,所以这些解决方案都不是所期望的。
发明内容
本发明的实施方式提供了2-D图像处理中改进的定时控制,即使当处理操作转换到新的一行或者一帧像素时,也能保持存储器获取与像素输出的恒定速率。
在本发明的一方面,一种用于处理具有多个像素的一个或多个图像的方法包括以光栅模式处理图像的第一边缘和第二边缘之间的连续像素块。在每单个时钟单位期间,当要处理的下一个像素块没有延伸超出所述第二边缘时,从存储设备获取所述下一个像素块的一个新向量(即,一行或者一列)。在每单个时钟单位期间,当所述要处理的下一个像素块延伸超出所述第二边缘时,所述下一个像素块中位置超出所述第二边缘的新向量利用预先确定的像素值填充,同时从所述存储设备获取下一行或下一帧像素上第一个像素块的一个新向量。在所述每单个时钟单位中,生成一个输出像素值,由此保持了存储器获取与像素输出的恒定速率。
在本发明的另一方面,一种用于处理具有多个像素的一个或多个图像的装置包括:(i)用于以光栅模式处理图像的第一边缘与第二边缘之间的连续像素块的装置;(ii)用于在每单个时钟单位期间,当要处理的下一个像素块没有延伸超出所述第二边缘时,从存储设备获取所述下一个像素块的一个新向量的装置;(iii)用于在每单个时钟单位期间,当所述要处理的下一个像素块延伸超出所述第二边缘时,利用预先确定的像素值填充所述下一个像素块中位置超出所述第二边缘的新向量并且同时从所述存储设备获取下一行或下一帧像素上第一个像素块的一个新向量的装置;及(iv)用于在所述每单个时钟单位中输出一个输出像素值,由此保持存储器获取与像素输出的恒定速率的装置。
在又一方面,一种用于以光栅模式处理图像的第一边缘与第二边缘之间的连续像素块的装置包括:输入数据接口,与一个或多个存储设备耦合,以便接收所述图像的至少一个像素值输入流;像素处理部件(cell)的阵列,每个部件都包括存储在两维图像处理过程中要应用到所述图像的核的系数值的系数存储单元、存储所述图像的像素值的像素存储单元、复用器单元及一个或多个部件内操作单元,所述像素存储单元耦合到相邻部件的另一个像素存储单元或者耦合到所述输入数据接口,由此允许所述像素值首先经所述输入数据接口接收并且随后跨所述阵列从一个向量传递到相邻的向量,如果所述每个部件不在所述阵列的中心向量中的话,该复用器单元具有耦合到所述像素存储单元、所述阵列同一行上的中心向量存储单元及位于所述中心向量与所述每个部件之间的任何像素存储单元的输入;部件间操作单元,处理来自所述像素处理部件阵列的输出,以生成输出像素值;以及定时控制模块,协调所述输入数据接口、所述像素处理部件的阵列以及所述部件间操作单元的操作。在每单个时钟单位期间,当要处理的下一个像素块没有延伸超出所述第二边缘时,所述定时控制模块使得从所述一个或多个存储设备获取所述下一个像素块的一个新向量。在每单个时钟单位期间,当所述要处理的下一个像素块延伸超出所述第二边缘时,所述定时控制模块使得所述下一个像素块中位置超出所述第二边缘的新向量利用预先确定的像素值填充,同时使得从所述一个或多个存储设备获取下一行或下一帧像素上的第一个像素块的一个新向量,由此保持存储器获取与像素输出的恒定速率。
现在将参考如附图中所示出的本发明的示例实施方式更具体地描述本发明。尽管以下参考示例实施方式对本发明进行描述,但是应当理解,本发明不限于此。获得本发明教导的本领域普通技术人员将想到附加的实现方式、修改和实施方式及其它的应用领域,这些都在这里所述的本发明范围之内,而且本发明对它们可以有显著的用途。
附图说明
根据以下优选实施方式的描述及附图,本领域技术人员可以想到其它的目标、特征和优点,其中:
图1示出了具有像素阵列的示例图像;
图2示出了在传统2-D图像处理方法中遇到的恒定像素速率的破坏;
图3示出了根据本发明的实施方式、利用3×3的核进行2-D图像处理的示例方法;
图4示出了根据本发明的实施方式、利用5×3的核进行2-D图像处理的示例方法;
图5示出了根据本发明的实施方式的示例2-D图像处理引擎;以及
图6示出了根据本发明的实施方式、用于图像处理的示例2-D卷积引擎。
具体实施方式
本发明的实施方式改进了图像处理,并且,即使当处理操作转换到新的一行或一帧像素时,也可以保持进入的像素速率与输出的像素速率之间一对一的关系,而不需要附加的时钟周期或者存储器带宽。通过在当前行上的新一列边缘像素块被复制或填零的时候预先获取下一行或下一帧的第一个像素块中的一列新的像素数据,根据本发明的改进的定时控制利用了空闲的存储器带宽。在当前行上的边缘像素块被处理的时候,下一行或下一帧的第一个像素块中的数据准备好进行计算,而不需要额外的时钟周期或者额外的存储器带宽。本发明的更多细节、特征和优点可以参考附图及以下的详细说明来理解。
参考图3,示出了根据本发明的实施方式、利用3×3的核302进行2-D图像处理的示例方法。图3示出了数字图像300的一部分,在这部分上,以光栅模式扫描核302。
如在此所使用的,术语“光栅模式”指在2-D图像处理操作(例如卷积或相关)期间在图像上逐行或一行接一行地扫描核的模式。一般来说,核一次前进一个像素,并且从图像的一个边缘前进到相对的边缘,由此覆盖连续的像素块,其中每个新块都只包括不在其相邻块中的一列新像素。但是,光栅模式不一定要求扫描覆盖图像的每个单行或者恒定地从一行移到其下一个相邻的行。例如,光栅模式可以覆盖图像的奇数行,然后覆盖偶数行。光栅模式也不一定要求图像的每一行上特定的扫描方向。此外,本领域技术人员将认识到,当术语“列”和“行”中一个在另一个的上下文中使用时,术语“列”和“行”具有相对的重要性。因此,其中按列扫描核并且预先获取新像素数据行的2-D图像处理实现方式也属于在此公开的本发明的范围之内。
在图3中,核302以光栅模式在图像300之上一行接一行地扫描。当核302在第8行上前进到图像300的右边缘时,被核302覆盖的最后一个完整的像素块的中心围绕像素Y8,而在那一行上获取的最后一列新数据对应于像素Z7-9。像素Z7-9的值可以在一个时钟单位中从存储设备(例如,存储器、输入缓冲区或者先入先出(FIFO)设备)获取。如在此所使用的,术语“时钟单位”指在流水线图像处理操作期间提供定时基准或者同步逻辑门或运算设备的时间单位,例如一个完整的时钟周期或者半个时钟周期。
当核前进到第8行的最后一个像素(即,像素Z8)时,下一个要处理的像素块,即块304,延伸超出了图像300的右边缘。作为替代,在其它情况下需要从存储设备获取的一列新的像素数据(在列Z+1上且在像素块304中)将接收从图像300的右边缘的对应部分中的像素复制的值。即,在一种实施方式中,新的列(列Z+1)将是已经在前一个时钟单位中获取的最后一列(像素Z7-9)的值的拷贝。在另一种实施方式中,图像处理器可以配置成用零或者其它的数字值填充新的列。即,总的来说,“新的”列(列Z+1)通过不需要从存储设备获取的像素值来填充。在列Z+1利用预先确定的值(例如,或者是复制的值,或者是零)填充的时候,存储器带宽可用于要从存储设备获取的新数据。因此,本发明的实施方式利用了这种空闲的存储器带宽,并且可以使下一行或者下一帧图像上的第一列像素数据预先获取。在图3所示的这个特定的例子中,在单个时钟单位中,当第8行上的列Z+1利用从列Z复制的像素值填充或者简单地用零填充的时候,第9行上的第一列(像素A8-10)的像素值可以从存储设备预先获取。
然后,在下一个时钟单位中,第9行上的第二列像素数据可以从存储设备预先获取。第9行上第一个像素块延伸超出图像300左边缘的部分可以用第一列(像素A8-10,已经在前一个时钟单位中预先获取)的像素值或者零填充。作为到目前为止所述的定时安排的结果,即使在2-D图像处理操作从图像300的第8行转换到第9行的时候,图像处理器也已经能够在每单个时钟单位期间获取一列而且仅一列新的像素数据。因此,这种以恒定的输入像素速率执行并且与其它计算步骤流水线作业的存储器获取可以确保每个时钟单位一个输出像素值的恒定输出速率。
图4示出了根据本发明的实施方式、利用5×3的核进行2-D图像处理的示例方法。图4示出了数字图像400的一部分,在这部分之上,以光栅模式扫描核402。
在时钟单位T中,当核402的中心前进到像素X8时,下一个要处理的像素块,块404,将以Y8为中心并且延伸超出图像400的右边缘。在所述单个时钟单位T期间,在列Z+1用零或者从像素Z7-9复制的值填充的时候,下一行(第9行)上的第一列,像素A8-10,可以从存储设备预先获取。
在下一个时钟单位T+1中,要处理的下一个像素块,406,将以像素Z8为中心,而且进一步扩展超出图像400的右边缘。在所述单个时钟单位T+1期间,在列Z+2用零或者从像素Z7-9复制的值填充的时候,第9行上的第二列可以从存储设备预先获取。
在下一个时钟单位T+2中,要处理的下一个像素块,408,将以像素A9为中心。在所述单个时钟单位T+2期间,第9行上的第三列可以从存储设备预先获取。第9行上的列A-1和A-2可以利用预先确定的像素值(例如零或者像素A8-10的值)填充。
在时钟单位T+2结束时,第9行上的第一个像素块(408)的所有元素都已经准备好与核402进行计算。
本发明的实施方式可以以软件、固件和/或硬件实施。更优选地,本发明的实施方式是在作为数字图像处理系统或图形加速装置的一部分的2-D卷积或相关计算引擎中实现的。
图5示出了根据本发明的实施方式的示例2-D图像处理引擎500。
2-D图像处理引擎500包括像素处理部件的阵列(在该实施方式中,是5×3阵列)、输入数据接口502、部件间操作单元504和定时控制模块506。
阵列中的每一个像素处理部件都包括存储在2-D图像处理(例如,卷积或者相关运算)期间要应用到像素块的核的系数值的系数存储单元,例如数据寄存器(例如,CA1和CB2)。每个像素处理部件还包括存储像素块的像素值的对应像素存储单元,例如数据寄存器(例如,DA1和DB2)。每个像素存储单元都与同一行上的相邻像素处理部件的像素存储单元耦合。如果像素处理部件在输入侧的边缘列(在这里是列E)中,那么像素存储单元还耦合到数据输入接口502,以接收新的像素数据。因此,新的一列像素值可以经数据输入接口502获得并且暂时存储在输入侧边缘列中的像素存储单元中,并且在像素存储单元的每一列中先前存储的像素值可以“推到”或者复制到左侧的下一列。这种布置形成了一条数据路径,由此一列像素值可以从数据输入接口502向左传递,每个时钟单位跳一列。到每个时钟单位结束时,先前存储在最左边一列(在这里是列A)的像素存储单元中的像素值被改写,并因此被丢弃。
每个像素处理部件,如果它不在中心列(在这里是列C)的话,那么还包括复用器单元(“MUX”)。该复用器单元具有一个耦合到同一部件中的像素存储单元的输入。此外,该复用器单元具有耦合到同一行上的中心列像素存储单元及位于所述中心列与当前部件之间的任何像素存储单元的输入。因此,针对不在阵列左或右边缘上的每一列(“非边缘列”)创建了数据路径,以将其内容向外复制到其它的列。如本领域技术人员可以认识到的,关于复用器单元在非中心列部件中引入附加的延迟方面,可以在中心列部件中包括延迟元件,以便抵消部件之间的延迟。
每个像素处理部件还包括从同一部件中的对应的系数存储单元接收输入的一个或多个部件内操作单元(例如,运算或逻辑设备,如乘法器)。该部件内操作单元还直接从对应的像素存储单元(在这里是中心列,列C)或者从复用器单元的输出(如在非中心列中)接收输入。部件内操作的结果还可以进一步利用部件间操作单元504(细节没有示出)进行处理,以生成例如输出像素值的处理后的输出。
2-D图像处理引擎500的输入数据接口502将所述阵列与为三行像素处理部件提供新像素值的一个或多个存储设备(未示出,例如输入缓冲区和/或输入先入先出(IFIFO)设备)耦合。更具体而言,在传递到剩余的列之前,新的像素值经输入线521、522和523输入到输入侧上的边缘列(在这里是列E)中的像素存储单元。提供了两个复用器(MUX1和MUX3)以便例如在处理图像的顶部或者底部行的时候允许中心行(在这里是第2行)的像素值复制到非中心行。一般来说,输入图像像素数据全部都暂时存储在输入缓冲区中,因此,所有三条输入线521、522和523都耦合到所述输入缓冲区。根据本发明的一种实施方式,其中一条输入线(例如,为底部行输入馈送的线523)可以直接耦合到IFIFO,接收一行像素值的实时馈送,因此节省了在其它情况下所需要的三分之一的缓冲区空间和存储器带宽。
定时控制模块506相对于其系数值存储在系数存储单元中的核来协调计算图像的连续像素块的流水线处理。在每个时钟单位中,定时控制模块506使一列新的像素值经数据输入接口502获取到像素存储单元DE1、DE2和DE3中(在这里是在列E中)。在当前行上的图像的边缘列的像素值获取到边缘列像素存储单元(在这里是列E)之后,在下一个时钟单位(T+1)中,定时控制模块506可以使图像的下一行(或者下一帧的新行)上的第一列经数据输入接口502预先获取到边缘列(在这里是列E)中。这个边缘列的像素值现在复制到了左侧相邻列(在这里是列D)中的像素存储单元。于是,在所述下一个时钟单位(T+1)中,该边缘列的像素值可以由边缘列(在这里是列E)中的复用器单元进行选择,用于部件内的操作。在时钟单位(T+1)期间,定时控制模块506可以使图像的下一行上的第二列经数据输入接口502预先获取到边缘列(在这里是列E)中,同时把该下一行上第一列的像素值推到左侧相邻的列(在这里是列D)中,并且把当前行上的边缘列的像素值推到下一个左侧相邻的列(在这里是列C)中。在下一个时钟单位(T+2)中,边缘列的像素值可以再次被列D和列E中的复用器单元选择,用于部件内的操作。在时钟单位(T+2)期间,定时控制模块506可以使图像的下一行上的第三列预先获取到边缘列(在这里是列E)中,同时把该下一行上的第一和第二列的像素值推到左侧的两个相邻的列(在这里分别是列C和列D)中。下一个时钟单位(T+3)将看到2-D图像处理引擎500准备好进行对图像的下一行上第一个像素的计算。
图5中所示的2-D图像处理引擎500的体系结构在两个维度都是可以缩放的,以适应任意的核尺寸。图6示出了根据本发明的实施方式、用于图像处理的示例2-D卷积引擎600,该引擎具有5×5的像素处理部件的阵列。对于2-D卷积运算,每个像素处理部件中的部件内操作单元都是乘法器,并且部件间操作单元包括级联的加法器,用于把所有乘法器的输出乘积相加,以最终生成处理后的输出。2-D图像处理引擎600具有比2-D图像处理引擎500更多的行,2-D图像处理引擎600在其输入数据接口602中包括附加的复用器,以便把中心行像素值路由到非中心的行。根据以上所述的存储器获取和数据路由技术,定时控制模块606协调流水线处理中各个元件的操作,其中输入像素速率和输出像素速率保持一对一的关系。
根据图3-6所示出的例子,可以认识到,本发明的实施方式可以在2-D图像处理操作中实施,把任意的n×m核矩阵应用到连续的像素块,其中n和m一般都是奇数。根据一些实施方式,在此所公开的方法与装置可以改变成适于其中n和m是偶数的n×m核矩阵。此外,这种2-D图像处理不限于卷积运算,还可以应用到2-D相关或者其它操作。
尽管以上描述包括许多细节和特征,但是应当理解,包括这些仅仅是为了说明,而不是要解释为对本发明的限制。对本领域技术人员来说,很显然,在不背离本发明主旨与范围的情况下,可以对以上所述的实施方式进行其它的修改。相应地,这种修改被认为在意图由以下权利要求及其合法的等价物所涵盖的本发明的范围之内。

Claims (13)

1.一种用于处理具有多个像素的一个或多个图像的方法,所述方法包括:
以光栅模式在图像的第一边缘和第二边缘之间处理连续的像素块;
在每单个时钟单位期间,当要处理的下一个像素块没有延伸超出所述第二边缘时,
从存储设备获取所述下一个像素块的一个新向量;以及
在每单个时钟单位期间,当所述要处理的下一个像素块延伸超出所述第二边缘时,
用预先确定的像素值填充所述下一个像素块中位置超出所述第二边缘的新向量,以及
从所述存储设备获取下一行像素或下一帧像素上的第一个像素块的一个新向量;以及
在所述每单个时钟单位中,输出一个输出像素值,由此保持存储器获取与像素输出的速率恒定。
2.如权利要求1所述的方法,其中所述处理连续的像素块包括对所述连续的像素块应用n×m核矩阵,其中n和m是奇数。
3.如权利要求1所述的方法,其中所述处理连续的像素块包括两维卷积运算。
4.如权利要求1所述的方法,其中所述处理连续的像素块包括两维相关运算。
5.如权利要求1所述的方法,其中所述预先确定的像素值为零。
6.如权利要求1所述的方法,其中所述预先确定的像素值是所述第二边缘的对应部分的像素值。
7.一种用于处理具有多个像素的一个或多个图像的设备,所述设备包括:
用于以光栅模式在图像的第一边缘和第二边缘之间处理连续的像素块的装置;
用于在每单个时钟单位期间,当要处理的下一个像素块没有延伸超出所述第二边缘时,从存储设备获取所述下一个像素块的一个新向量的装置;以及
用于在每单个时钟单位期间,当所述要处理的下一个像素块延伸超出所述第二边缘时,用预先确定的像素值填充所述下一个像素块中位置超出所述第二边缘的新向量,以及从所述存储设备获取下一行像素或下一帧像素上的第一个像素块的一个新向量的装置;以及
用于在所述每单个时钟单位中,输出一个输出像素值,由此保持存储器获取与像素输出的速率恒定的装置。
8.如权利要求7所述的设备,其中所述用于处理连续的像素块的装置还包括用于对所述连续的像素块应用n×m核矩阵的装置,其中n和m是奇数。
9.如权利要求7所述的设备,其中所述用于处理连续的像素块的装置还包括用于两维卷积运算的装置。
10.如权利要求7所述的设备,其中所述用于处理连续的像素块的装置还包括用于两维相关运算的装置。
11.如权利要求7所述的设备,其中所述预先确定的像素值为零。
12.如权利要求7所述的设备,其中所述预先确定的像素值是所述第二边缘的对应部分的像素值。
13.一种用于以光栅模式在图像的第一边缘和第二边缘之间处理连续的像素块的装置,所述装置包括:
输入数据接口,与一个或多个存储设备耦合,以接收所述图像的至少一个像素值输入流;
像素处理部件的阵列,每个像素处理部件包括:
系数存储单元,存储在两维图像处理期间要应用到所述图像的核的系数值,
像素存储单元,存储所述图像的像素值,所述像素存储单元耦合到相邻部件的另一个像素存储单元或者耦合到所述输入数据接口,由此允许所述像素值首先经由所述输入数据接口接收,然后跨所述阵列从一个向量传递到相邻的向量,
复用器单元,如果每个所述像素处理部件不在所述阵列的中心向量中的话,所述复用器单元具有耦合到所述像素存储单元、所述阵列的同一行上的中心向量像素存储单元及位于所述中心向量与每个所述像素处理部件之间的任何像素存储单元的输入,以及
一个或多个部件内操作单元;
部件间操作单元,处理来自所述像素处理部件的阵列的输出,生成输出像素值;以及
定时控制模块,协调所述输入数据接口、所述像素处理部件的阵列以及所述部件间操作单元的操作,其中
在每单个时钟单位期间,当要处理的下一个像素块没有延伸超出所述第二边缘时,所述定时控制模块使得从所述一个或多个存储设备获取所述下一个像素块的一个新向量,以及
在每单个时钟单位期间,当所述要处理的下一个像素块延伸超出所述第二边缘时,所述定时控制模块使得所述下一个像素块中位置超出所述第二边缘的新向量利用预先确定的像素值填充,同时使得下一行像素或下一帧像素上的第一个像素块的一个新向量从所述一个或多个存储设备获取,由此保持存储器获取与像素输出的速率恒定。
CN201080059520.XA 2009-11-17 2010-11-02 以像素速率进行图像处理的方法与装置 Expired - Fee Related CN102687162B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/619,825 2009-11-17
US12/619,825 US8130229B2 (en) 2009-11-17 2009-11-17 Methods and apparatus for image processing at pixel rate
PCT/US2010/055056 WO2011062753A1 (en) 2009-11-17 2010-11-02 Methods and apparatus for image processing at pixel rate

Publications (2)

Publication Number Publication Date
CN102687162A CN102687162A (zh) 2012-09-19
CN102687162B true CN102687162B (zh) 2015-08-26

Family

ID=44010993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080059520.XA Expired - Fee Related CN102687162B (zh) 2009-11-17 2010-11-02 以像素速率进行图像处理的方法与装置

Country Status (6)

Country Link
US (5) US8130229B2 (zh)
EP (1) EP2502183A4 (zh)
JP (2) JP5587422B2 (zh)
KR (1) KR101617492B1 (zh)
CN (1) CN102687162B (zh)
WO (1) WO2011062753A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8130229B2 (en) 2009-11-17 2012-03-06 Analog Devices, Inc. Methods and apparatus for image processing at pixel rate
US20120004849A1 (en) * 2010-03-22 2012-01-05 Schlumberger Technology Corporation Efficient windowed radon transform
US20130027748A1 (en) * 2011-07-29 2013-01-31 Canon Kabushiki Kaisha Image processing apparatus
US9760966B2 (en) * 2013-01-08 2017-09-12 Nvidia Corporation Parallel processor with integrated correlation and convolution engine
EP3035204B1 (en) 2014-12-19 2018-08-15 Intel Corporation Storage device and method for performing convolution operations
US20190096041A1 (en) * 2017-09-25 2019-03-28 Texas Instruments Incorporated Methods and system for efficient processing of generic geometric correction engine
US11145079B2 (en) 2017-09-25 2021-10-12 Texas Instruments Incorporated Method and apparatus for arbitrary output shape processing of an image
US10853923B2 (en) * 2017-09-25 2020-12-01 Texas Instruments Incorporated Method and apparatus for dynamic block partition of an image
US10853909B2 (en) * 2018-11-05 2020-12-01 Fotonation Limited Image processing apparatus
JP7329960B2 (ja) 2019-05-14 2023-08-21 東京エレクトロン株式会社 載置台およびプラズマ処理装置
CN114567787B (zh) * 2022-02-28 2023-11-03 山东云海国创云计算装备产业创新中心有限公司 一种应用于bmc的视频压缩方法、系统及相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1337033A (zh) * 1999-01-15 2002-02-20 英特尔公司 使用三维流水线伸拉位图的方法和装置
US6928196B1 (en) * 1999-10-29 2005-08-09 Canon Kabushiki Kaisha Method for kernel selection for image interpolation
CN101341508A (zh) * 2005-08-31 2009-01-07 Ati技术公司 检索和合并图形信息样本的方法和装置

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1182575B (it) 1985-09-27 1987-10-05 Elsag Sistema per realizzare elaborazioni convolutive veloci su informazioni rappresentative di immagini
US5109348A (en) * 1987-09-14 1992-04-28 Visual Information Technologies, Inc. High speed image processing computer
US5129060A (en) * 1987-09-14 1992-07-07 Visual Information Technologies, Inc. High speed image processing computer
US4918742A (en) * 1988-04-22 1990-04-17 The Boeing Company Image processing using multi-pass convolution with small kernels
FR2638871B1 (fr) * 1988-11-09 1994-06-03 Jutand Francis Procede et circuit de filtrage de signal de representation d'image
JP2998388B2 (ja) * 1992-01-22 2000-01-11 日本電気株式会社 画像処理方式
JPH05281155A (ja) * 1992-03-31 1993-10-29 Toshiba Corp パターン欠陥検査装置
EP0576696A1 (en) * 1992-06-29 1994-01-05 International Business Machines Corporation Apparatus and method for high speed 2D/3D image transformation and display using a pipelined hardware
JPH0636024A (ja) * 1992-07-17 1994-02-10 Casio Comput Co Ltd 画像フィルタリング装置
US5546477A (en) * 1993-03-30 1996-08-13 Klics, Inc. Data compression and decompression
US5990904A (en) * 1995-08-04 1999-11-23 Microsoft Corporation Method and system for merging pixel fragments in a graphics rendering system
US5848200A (en) * 1995-08-31 1998-12-08 General Instrument Corporation Method and apparatus for performing two dimensional video convolving
US6049859A (en) * 1996-01-15 2000-04-11 Siemens Aktiengesellschaft Image-processing processor
US5862266A (en) * 1996-06-07 1999-01-19 Hewlett-Packard Company Circuit for sharpening of edges of a pixel image in a color copier
US5936621A (en) * 1996-06-28 1999-08-10 Innovision Labs System and method for reducing flicker on a display
US6408107B1 (en) * 1996-07-10 2002-06-18 Michael I. Miller Rapid convolution based large deformation image matching via landmark and volume imagery
US5926580A (en) * 1997-01-30 1999-07-20 Hewlett-Packard Company Convolution algorithm for efficient hardware implementation
US6803989B2 (en) * 1997-07-15 2004-10-12 Silverbrook Research Pty Ltd Image printing apparatus including a microcontroller
US6618117B2 (en) * 1997-07-12 2003-09-09 Silverbrook Research Pty Ltd Image sensing apparatus including a microcontroller
US7044589B2 (en) * 1997-07-15 2006-05-16 Silverbrook Res Pty Ltd Printing cartridge with barcode identification
US6208772B1 (en) * 1997-10-17 2001-03-27 Acuity Imaging, Llc Data processing system for logically adjacent data samples such as image data in a machine vision system
KR100307883B1 (ko) * 1998-04-13 2001-10-19 박호군 정합화소수를이용한유사도측정방법및이를구현하기위한장치
US6377713B1 (en) * 1999-01-27 2002-04-23 General Instrument Corporation Synchronous DRAM bandwidth optimization for display downsizing of an MPEG-2 image
KR100298327B1 (ko) * 1999-06-30 2001-11-01 구자홍 고속 컨벌루션 처리 방법 및 그 장치
US6515672B1 (en) * 1999-12-23 2003-02-04 Intel Corporation Managing prefetching from a data buffer
US7079157B2 (en) * 2000-03-17 2006-07-18 Sun Microsystems, Inc. Matching the edges of multiple overlapping screen images
US6771272B2 (en) * 2000-03-17 2004-08-03 Sun Microsystems, Inc. Graphics system having a super-sampled sample buffer with hot spot correction
US7002589B2 (en) * 2000-03-17 2006-02-21 Sun Microsystems, Inc. Blending the edges of multiple overlapping screen images
US6924816B2 (en) * 2000-03-17 2005-08-02 Sun Microsystems, Inc. Compensating for the chromatic distortion of displayed images
US6690727B1 (en) * 2000-05-08 2004-02-10 Intel Corporation Image processing
US6847370B2 (en) * 2001-02-20 2005-01-25 3D Labs, Inc., Ltd. Planar byte memory organization with linear access
JP2002287681A (ja) * 2001-03-27 2002-10-04 Mitsubishi Electric Corp 部分ホールド型表示制御装置及び部分ホールド型表示制御方法
US6704026B2 (en) * 2001-05-18 2004-03-09 Sun Microsystems, Inc. Graphics fragment merging for improving pixel write bandwidth
AU2003213651A1 (en) * 2002-02-27 2003-09-09 Cdm Optics, Inc. Optimized image processing for wavefront coded imaging systems
JP2004032510A (ja) * 2002-06-27 2004-01-29 Canon Inc 画像処理方法及び装置
EP1590764A4 (en) * 2002-11-06 2017-05-17 Z Microsystems Visualization Technologies, LLC Systems and methods for image enhancement in multiple dimensions
US7583082B1 (en) * 2006-04-19 2009-09-01 University Of Virginia Patent Foundation Partially parallel magnetic resonance imaging using arbitrary k-space trajectories with image reconstruction based on successive convolution operations
US8199359B2 (en) * 2006-04-28 2012-06-12 Kyocera Mita Corporation System and method for reducing visibility of registration errors in an image to be printed using a digital color printer by convolution with a laplacian kernel
JP4789753B2 (ja) * 2006-08-28 2011-10-12 富士通セミコンダクター株式会社 画像データバッファ装置、画像転送処理システム、及び画像データバッファ方法
US8130229B2 (en) 2009-11-17 2012-03-06 Analog Devices, Inc. Methods and apparatus for image processing at pixel rate

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1337033A (zh) * 1999-01-15 2002-02-20 英特尔公司 使用三维流水线伸拉位图的方法和装置
US6928196B1 (en) * 1999-10-29 2005-08-09 Canon Kabushiki Kaisha Method for kernel selection for image interpolation
CN101341508A (zh) * 2005-08-31 2009-01-07 Ati技术公司 检索和合并图形信息样本的方法和装置

Also Published As

Publication number Publication date
EP2502183A4 (en) 2013-02-27
US8130229B2 (en) 2012-03-06
KR20120099075A (ko) 2012-09-06
JP5837153B2 (ja) 2015-12-24
JP2014197433A (ja) 2014-10-16
US20130249923A1 (en) 2013-09-26
KR101617492B1 (ko) 2016-05-02
EP2502183A1 (en) 2012-09-26
US20120176389A1 (en) 2012-07-12
US20110115804A1 (en) 2011-05-19
US8947446B2 (en) 2015-02-03
JP2013511106A (ja) 2013-03-28
JP5587422B2 (ja) 2014-09-10
CN102687162A (zh) 2012-09-19
US20150147005A1 (en) 2015-05-28
US8766992B2 (en) 2014-07-01
WO2011062753A1 (en) 2011-05-26
US8441492B2 (en) 2013-05-14
US20130342551A1 (en) 2013-12-26

Similar Documents

Publication Publication Date Title
CN102687162B (zh) 以像素速率进行图像处理的方法与装置
US5793899A (en) Vision coprocessing
WO2019201657A1 (en) Accelerator and system for accelerating operations
US20060140498A1 (en) Apparatus and method for processing an image
CN102956027B (zh) 基于摄像头图像处理芯片的图像增强处理系统及处理方法
CN107680028B (zh) 用于缩放图像的处理器和方法
CN111626405B (zh) 一种cnn加速方法、加速装置及计算机可读存储介质
CN108073549B (zh) 卷积运算装置及方法
KR20070067093A (ko) 이미지 프로세싱에서의 에지 핸들링을 위한 장치 및 방법
JP2020068027A (ja) アンサンブル学習ベースの画像分類システム
WO2019055248A1 (en) DIGITAL SIGNAL PROCESSING NETWORK USING INTEGRATED PROCESSING ELEMENTS
US11915338B2 (en) Loading apparatus and method for convolution with stride or dilation of 2
US8938133B2 (en) Image resizing apparatus and method that interpolates image blocks with abuttal regions
JP5643576B2 (ja) 画像処理装置およびその制御方法
WO2001063426A1 (en) Distribution, processing, and reconstruction of variable-sized images using multiple processor arrays
US12026801B2 (en) Filter independent L1 mapping of convolution data into general purpose register
CN101783857B (zh) 一种基于fpga在高分辨率成像系统中的图像矩阵化预处理方法
AU729482B2 (en) Image interpolation with a continuous two-dimensional kernel
WO2020103766A1 (en) Filter independent l1 mapping of convolution data into general purpose register
JPH10143426A (ja) メモリ回路に格納されたピクセルデータを転送する方法および装置
CN114900634A (zh) 一种基于纹理贴图的超高清视频显示处理方法及装置
CN116471489A (zh) 图像预处理方法及其装置
Navarro et al. High-performance VLSI architecture for video processing
AU6170999A (en) Image interpolation with a continuous 2-dimensional kernel
JPH01255978A (ja) 逐次型局所並列処理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150826

CF01 Termination of patent right due to non-payment of annual fee