CN107680028A - 用于缩放图像的处理器和方法 - Google Patents
用于缩放图像的处理器和方法 Download PDFInfo
- Publication number
- CN107680028A CN107680028A CN201610621655.XA CN201610621655A CN107680028A CN 107680028 A CN107680028 A CN 107680028A CN 201610621655 A CN201610621655 A CN 201610621655A CN 107680028 A CN107680028 A CN 107680028A
- Authority
- CN
- China
- Prior art keywords
- pixel
- processor
- read
- pixel data
- image
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 71
- 238000004891 communication Methods 0.000 claims abstract description 10
- 239000000284 extract Substances 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 7
- 238000000151 deposition Methods 0.000 claims description 3
- 230000003111 delayed effect Effects 0.000 claims 1
- 238000000605 extraction Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本申请公开了用于缩放图像的处理器和方法。所述处理器的一具体实施方式包括:包括片外存储器、通信器件、控制器件以及阵列处理机,其中:所述片外存储器,用于存储待缩放的原始图像;所述通信器件,用于接收图像缩放指令;所述控制器件,用于执行所述图像缩放指令,向所述阵列处理机发出计算控制信号;所述阵列处理机,用于在所述计算控制信号的控制下,使用所述阵列处理机中的N个处理单元根据所述宽度缩放倍数、所述高度缩放倍数以及所提取像素数据中N个通道的通道值,并行计算目标像素中N个通道的通道值。该实施方式提高了图像缩放操作的处理速度。
Description
技术领域
本申请涉及计算机技术领域,具体涉及图像处理技术领域,尤其涉及用于缩放图像的处理器和方法。
背景技术
现有的技术方案采用通用处理器对图像执行缩放操作时,首先需要获得原始图像、目标图像尺寸、宽度上放大缩小倍数、高度上放大缩小倍数等信息,然后根据以上的信息,即可进行缩放操作。
然而,现有技术中在执行图像缩放过程依然存在一些技术缺陷。首先,图像缩放过程没有能够充分挖掘并行度,造成效率低下。虽然一些通用处理器提供的单指令多数据流操作,使同样的操作可以并行执行,但一般并行度较低。此外,缩放所图像过程中参数需要重复计算,也消耗较多的时间。因此,需要对现有技术进行改进,以克服以上缺陷。
发明内容
本申请的目的在于提出一种改进的用于缩放图像的处理器和方法,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种用于缩放图像的处理器,所述处理器包括片外存储器、通信器件、控制器件以及阵列处理机,其中:所述片外存储器,用于存储待缩放的原始图像,所述原始图像为N通道图像,N是大于1的整数;所述通信器件,用于接收图像缩放指令,所述图像缩放指令包括宽度缩放倍数以及高度缩放倍数;所述控制器件,用于执行所述图像缩放指令,向所述阵列处理机发出用于计算缩放后的目标图像中的各个目标像素的像素数据的计算控制信号;所述阵列处理机,用于在所述计算控制信号的控制下,提取所述原始图像中与目标像素对应的像素的像素数据,以及使用所述阵列处理机中的N个处理单元根据所述宽度缩放倍数、所述高度缩放倍数以及所提取像素数据中N个通道的通道值,并行计算目标像素中N个通道的通道值。
在一些实施例中,所述处理器还包括片上缓存;以及所述控制器件包括:读控制单元,用于将所述片外存储器中的原始图像的像素数据按序读取到所述片上缓存中;以及计算控制单元,用于向所述阵列处理机发送从所述片上缓存提取所述原始图像与目标像素对应的像素的像素数据的计算控制信号。
在一些实施例中,所述片上缓存包括第一片上缓存和第二片上缓存,且所述第二片上缓存的读写速度大于所述第一片上缓存的读写速度;以及所述读控制单元进一步用于:将所述原始图像中的像素数据,按行依次读取到所述第一片上缓存;将所述第一片上缓存中每一行的像素数据,按列依次读取到所述第二片上缓存;以及所述计算控制单元进一步用于:向所述阵列处理机发出从所述第二片上缓存提取所述原始图像与目标像素对应的像素的像素数据的计算控制信号。
在一些实施例中,所述计算控制单元进一步用于:在读控制单元完成将目标像素在所述原始图像中对应的像素的像素数据读取到所述第二片上缓存时,向所述阵列处理机发出所述计算控制信号。
在一些实施例中,所述处理器还包括:参数传递器件,用于利用目标像素在所述目标图像的坐标(x,y)、所述宽度缩放倍数scale_w以及所述高度缩放倍数scale_h,获取参数x0、w0、w1、y0、h0、h1的值,并传递给所述阵列处理机,其中h0=y/scale_h-y0,h1=y0-y/scale_h+1,w0=x/scale_w-x0,w1=x0-x/scale_w+1;以及所述阵列处理机进一步用于:将所述原始图像中坐标(x0,y0)、(x0+1,y0)、(x0,y0+1)、(x0+1,y0+1)所对应的相邻四个像素确定为与目标像素对应的像素并提取像素数据;使用阵列处理机中的N个处理单元,通过公式Y(x,y)=X(x0,y0)×w0×h0+X(x0+1,y0)×w1×h0+X(x0,y0+1)×w0×h1+X(x0+1,y0+1)×w1×h1并行计算目标像素中N个通道的通道值Y(x,y),其中X(x0,y0)、X(x0+1,y0)、X(x0,y0+1)、X(x0+1,y0+1)分别为当前通道在所述相邻四个像素中的通道值。
在一些实施例中,所述参数传递器件进一步用于:根据所述宽度缩放倍数scale_w以及所述高度缩放倍数scale_h,在所述处理器预先存储的数据表集合中确定对应的数据表;使用x,y的当前值在所确定的数据表中进行查询,以获得参数x0、w0、w1、y0、h0、h1的对应值;其中所述数据表集合中包括宽度缩放倍数和高度缩放倍数的各种值对应的数据表,且数据表中对当前宽度缩放倍数和高度缩放倍数下各种取值的x、y以及对应的x0、w0、w1、y0、h0、h1的值关联存储。
在一些实施例中,所述所述阵列处理机的N个处理单元共用乘法器组,以及所述阵列处理机进一步用于:利用所述多个处理单元共用的乘法器组计算w0×h0、w1×h0、w0×h1、w1×h1。
在一些实施例中,所述处理器还包括缓存管理器件,用于以下至少一项:释放所述第一片上缓存中横坐标小于x0的每一行的像素数据;释放所述第二片上缓存中横坐标等于x0且纵坐标小于y0的每一列的像素数据。
在一些实施例中,所述读操作控制器件进一步用于:根据所述目标图像中各个目标像素在原始图像中对应的像素的横坐标,确定所述原始图像的像素数据中待读取至所述第一片上缓存的行;将所确定的待读取的行逐行读取到所述第一片上缓存上;和/或根据所述目标图像中各个目标像素在原始图像中对应的像素的纵坐标,确定所述第一片上缓存中的每一行像素数据中待读取至所述第二片上缓存的列;将所确定的待读取的列逐列读取到所述第二片上缓存上。
第二方面,本申请提供了用于缩放图像的方法,所述方法包括:接收图像缩放指令,所述图像缩放指令包括宽度缩放倍数以及高度缩放倍数,待缩放的原始图像为N通道图像,N是大于1的整数;执行所述图像缩放指令,向阵列处理机发出用于计算缩放后的目标图像中的各个目标像素的像素数据的计算控制信号;使用所述计算控制信号,控制所述阵列处理机提取所述原始图像中与目标像素对应的像素的像素数据,并控制所述阵列处理机中的N个处理单元根据所述宽度缩放倍数、所述高度缩放倍数以及所提取像素数据中N个通道的通道值,并行计算目标像素中N个通道的通道值。
在一些实施例中,所述方法还包括:将所述原始图像的像素数据按序读取到片上缓存中;以及所述向阵列处理机发出用于计算缩放后的目标图像中的各个目标像素的像素数据的计算控制信号,包括:向所述阵列处理机发出从所述片上缓存提取所述原始图像与目标像素对应的像素的像素数据的计算控制信号。
在一些实施例中,所述片上缓存包括第一片上缓存和第二片上缓存,且所述第二片上缓存的读写速度大于所述第一片上缓存的读写速度;以及所述将所述原始图像的像素数据按序读取到片上缓存中,包括:将所述原始图像中的像素数据,按行依次读取到所述第一片上缓存;将所述第一片上缓存中每一行的像素数据,按列依次读取到所述第二片上缓存;以及所述向所述阵列处理机发出从所述片上缓存提取所述原始图像与目标像素对应的像素的像素数据的计算控制信号,包括:向所述阵列处理机发出从所述第二片上缓存提取所述原始图像与目标像素对应的像素的像素数据的计算控制信号。
在一些实施例中,所述向所述阵列处理机发出从所述第二片上缓存提取所述原始图像与目标像素对应的像素的像素数据的计算控制信号,包括:在完成将目标像素在所述原始图像中对应的像素的像素数据读取到所述第二片上缓存时,向所述阵列处理机发出所述计算控制信号。
在一些实施例中,所述方法还包括:利用目标像素在所述目标图像的坐标(x,y)、所述宽度缩放倍数scale_w以及所述高度缩放倍数scale_h,获取参数x0、w0、w1、y0、h0、h1的值,并传递给所述阵列处理机,其中h0=y/scale_h-y0,h1=y0-y/scale_h+1,w0=x/scale_w-x0w1=x0-x/scale_w+1;以及所述控制所述阵列处理机提取所述原始图像中与目标像素对应的像素的像素数据,并控制所述阵列处理机中的N个处理单元根据所述宽度缩放倍数、所述高度缩放倍数以及所提取像素数据中N个通道的通道值,并行计算目标像素中N个通道的通道值,包括:控制所述阵列处理机将所述原始图像中坐标(x0,y0)、(x0+1,y0)、(x0,y0+1)、(x0+1,y0+1)所对应的相邻四个像素确定为与目标像素对应的像素并提取像素数据;控制所述阵列处理机中的N个处理单元,通过公式Y(x,y)=X(x0,y0)×w0×h0+X(x0+1,y0)×w1×h0+X(x0,y0+1)×w0×h1+X(x0+1,y0+1)×w1×h1并行计算目标像素中N个通道的通道值Y(x,y),其中X(x0,y0)、X(x0+1,y0)、X(x0,y0+1)、X(x0+1,y0+1)分别为当前通道在所述相邻四个像素中的通道值。
在一些实施例中,所述利用目标像素在所述目标图像的坐标(x,y)、所述宽度缩放倍数scale_w以及所述高度缩放倍数scale_h,获取参数x0、w0、w1、y0、h0、h1的值,包括:根据所述宽度缩放倍数scale_w以及所述高度缩放倍数scale_h,在所述处理器预先存储的数据表集合中确定对应的数据表;使用x,y的当前值在所确定的数据表中进行查询,以获得参数x0、w0、w1、y0、h0、h1的对应值;其中所述数据表集合中包括宽度缩放倍数和高度缩放倍数的各种值对应的数据表,且数据表中对当前宽度缩放倍数和高度缩放倍数下各种取值的x、y以及对应的x0、w0、w1、y0、h0、h1的值关联存储。
在一些实施例中,所述阵列处理机的N个处理单元共用乘法器组;以及所述控制所述阵列处理机中的N个处理单元,通过公式Y(x,y)=X(x0,y0)×w0×h0+X(x0+1,y0)×w1×h0+X(x0,y0+1)×w0×h1+X(x0+1,y0+1)×w1×h1并行计算目标像素中N个通道的通道值Y(x,y),包括:利用所述多个处理单元共用的乘法器组计算w0×h0、w1×h0、w0×h1、w1×h1。
在一些实施例中,所述方法还包括以下至少一项:释放所述第一片上缓存中横坐标小于x0的每一行的像素数据;释放所述第二片上缓存中横坐标等于x0且纵坐标小于y0的每一列的像素数据。
在一些实施例中,所述将所述第一片上缓存中每一行的像素数据,按列依次读取到所述第二片上缓存,包括:根据所述目标图像中各个目标像素在原始图像中对应的像素的横坐标,确定所述原始图像的像素数据中待读取至所述第一片上缓存的行;将所确定的待读取的行逐行读取到所述第一片上缓存上;和/或所述将所述第一片上缓存中每一行的像素数据,按列依次读取到所述第二片上缓存,包括:根据所述目标图像中各个目标像素在原始图像中对应的像素的纵坐标,确定所述第一片上缓存中的每一行像素数据中待读取至所述第二片上缓存的列;将所确定的待读取的列逐列读取到所述第二片上缓存上。
本申请提供的用于缩放图像的处理器和方法,利用阵列处理机中的各个处理单元对目标图像中像素的各个通道的通道值并行计算,提高了图像缩放的并行度,大大减少了图像缩放操作的执行速度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的用于缩放图像的处理器的一个实施例的结构示意图;
图3是根据本申请的用于缩放图像的处理器的又一个实施例的结构示意图;
图4是根据本申请的用于缩放图像的方法的一个实施例的流程图;
图5是根据本申请的用于缩放图像的方法的又一个实施例的流程图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于缩放图像的处理器和方法的实施例的示例性系统架构100。如图1所示,系统架构100可以包括通用处理器101和专用服务器102。
通用处理器101用于将图像缩放指令以及待缩放的原始图像发送给专用处理器102,专用处理器102可以将按照图像缩放指令对原始图像执行缩放操作,缩放操作后的目标图像可以再发送回通用处理器101。其中,通用处理器102也可以称为主机,而专用处理器102可以是由FPGA(Field-Programmable Gate Array,即现场可编程门阵列服务器)设计而成。
需要说明的是,本申请实施例所提供的处理器一般是指图1中的专用处理器102,相应地,用于在处理器上执行指令的方法一般也由专用处理器102执行。
应该理解,图1中的通用处理器101和专用处理器102的数目仅仅是示意性的。根据实现需要,可以具有任意数目的通用处理器和专用处理器。
继续参考图2,示出了根据本申请的处理器的一种结构示意图200。
如图2所示,处理器200包括片外存储器201、片外通信器件202、控制器件203和阵列处理机204。
片外存储器201,可以用于存储待执行缩放操作的原始图像。该原始图像可以是N通道图像(N是大于1的整数)。通常,由于缩放操作只改变图像尺寸(即高度和宽度),不会对图像的通道数产生影响,缩放后的目标图像仍旧是N通道图像。例如,当N为32时,则缩放前的原始图像是32通道图像,缩放后的目标图像仍然是32通道图像。
通信器件202可以与外部的主机(例如图1中的通用处理器)进行连接,以从主机接收到图像缩放指令。通常,该图像缩放指令中可以包括宽度缩放倍数以及高度缩放倍数。在一些情况下,用户可能提供缩放后目标图像的尺寸,主机也可以先根据原始图像的尺寸和目标图像的尺寸计算出宽度缩放倍数以及高度缩放倍数后生成图像缩放指令后,再通过通信器件发送给本申请中的处理器200。实践中,该通信器件202可以通过PCIE(PeripheralComponent Interface Express,总线和接口标准)或其他总线实现与主机的连接。通信器件202可以与控制器件203电连接,从而可以将缩放指令传输给控制器件203,以供后者执行。
需要说明的是,片外存储器201上存储的原始图像也可以预先通过通信器件202从主机获取的外部输入图像,也可以是上一次执行图像缩放后临时存放在片外存储器201中等待下一次图像缩放的图像。
控制器件203,用于执行从外部接收的图像缩放指令,从而生成一系列的控制信号,并按照一定的顺序向处理器的器件发送控制信号,以使这些器件按照所需要的方式执行。这些控制信号包括用于控制阵列处理机204对缩放后的目标图像中的各个目标像素的像素数据进行计算的计算控制信号。控制器件203可以在特定的时刻将计算控制信号发送给阵列处理机204,以控制阵列处理机204在需要的时刻计算目标像素的像素数据。需要说明的是,控制器件203还可以生成并发出用于对存储器读/写操作进行控制的读/写信号。
阵列处理机203,可以在上述计算控制信号的控制下执行目标像素的像素数据的计算工作。首先,阵列处理机203可以提取出原始图像中与目标像素对应的像素的像素数据。原始图像中与目标像素对应的像素,与缩放操作所采用的具体算法有关。即,可以根据缩放操作所采用的具体算法在原始图像中定位一个或多个与当前的目标像素对应的像素。之后,阵列处理机203可以使用所包括的N个处理单元,根据宽度缩放倍数、高度缩放倍数以及所提取像素数据中N个通道的通道值,并行计算目标像素中N个通道的通道值。由于执行缩放操作时,目标像素中各个通道的通道值的计算可以使用相同的公式可以对所提取像素中相应通道的通道值进行处理,即各个通道的计算是没有互相依赖关系的过程,因此可以通过阵列处理机中重复设置的N个处理单元PE(Processing Element)进行同一组操作。
在本实施例的一些可选实现方式中,处理器200还包括片上缓存(未示出),同时,控制器件203可以包括读控制单元(未示出)和计算控制单元(未示出)。其中,计算控制单元,用于向阵列处理机204发送从片上缓存提取原始图像与目标像素对应的像素的像素数据的计算控制信号。而计算控制单元,用于向阵列处理机发送从片上缓存提取原始图像与目标像素对应的像素的像素数据的计算控制信号。通过片上缓存,可以提高计算阵列读取像素数据的速度,从而有利于提高整体的处理效率。
继续参考图3,示出了根据本申请的处理器的一种结构示意图300。
如图3所示,处理器300包括片外存储器301、通信器件302、控制器件303、片上第一片上缓存304、第二片上缓存305以及阵列处理机306。
与图2中的实施例不同的是,本实施例中的处理器300包括第一片上缓存304和第二片上缓存305,且第二片上缓存305的读写速度大于第一片上缓存304的读写速度。通常,第二片上缓存305的存储空间大于第一片上缓存304的存储空间。同时,控制器件303中的读控制单元3031用于将原始图像中的像素数据,按行依次读取到第一片上缓存304;将第一片上缓存304中每一行的像素数据,按列依次读取到第二片上缓存305;以及计算控制单元3032进一步用于:向阵列处理机306发出从第二片上缓存305提取原始图像与目标像素对应的像素的像素数据的计算控制信号。在该实现方式中,片上缓存设计为两级缓存,且第一片上缓存设计为按行从片外存储器中读取原始图像的像素数据,而第二片上缓存则设计为对第一片上缓存中的各行像素数据按列进行读取,第二片上缓存的像素数据供计算阵列进行提取以用于计算。由于设计了二级缓存且按行和列进行读取,读取数据的粒度较大,且不会造成数据的重复读取,有利于减少读取次数,从而提高对图像缩放操作的执行速度,减少操作时间。
在本实施例的一些可选实现方式中,计算控制单元3032进一步用于:在读控制单元3031完成将目标像素在原始图像中对应的像素的像素数据读取到第二片上缓存305时,向阵列处理机306发出上述计算控制信号。这种实现方式中,由于在当前像素所需要的像素数据在二级缓存中准备好时,则发起计算命令,使得数据的访存操作与阵列处理机对数据的计算操作可以以流水形式并行执行,进一步提高整体的执行速度。
在本实施例的一些可选实现方式中,处理器300还包括:参数传递器件(未示出),用于利用目标像素在目标图像的坐标(x,y)、宽度缩放倍数scale_w以及高度缩放倍数scale_h,获取参数x0、w0、w1、y0、h0、h1的值,并传递给阵列处理机306,其中 h0=y/scale_h-y0,h1=y0-y/scale_h+1,w0=x/scale_w-x0,w1=x0-x/scale_w+1;以及阵列处理机进一步用于:将原始图像中坐标(x0,y0)、(x0+1,y0)、(x0,y0+1)、(x0+1,y0+1)所对应的相邻四个像素确定为与目标像素对应的像素并提取像素数据;使用阵列处理机中的N个处理单元,通过公式Y(x,y)=X(x0,y0)×w0×h0+X(x0+1,y0)×w1×h0+X(x0,y0+1)×w0×h1+X(x0+1,y0+1)×w1×h1并行计算目标像素中N个通道的通道值Y(x,y),其中X(x0,y0)、X(x0+1,y0)、X(x0,y0+1)、X(x0+1,y0+1)分别为当前通道在相邻四个像素中的通道值。在该实现方式中,由于缩放操作中目标像素在原始图像中对应的像素是2×2的相邻四个像素,上述读控制单元3031可以控制第一片上缓存304依次读取片外存储器301的每两行像素的像素数据。对应的,第二片上缓存305可以依次对第一片上缓存304中每两行像素的像素数据,依次读取每两列的像素数据,即可每次获取到2×2的相邻四个像素的像素数据,从而用于进行后续计算。其中,是地板函数,表示小于所运算数字的最大整数。在该实现方式中,处理器200执行图像缩放所使用的公式为Y(x,y)=X(x0,y0)×w0×h0+X(x0+1,y0)×w1×h0+X(x0,y0+1)×w0×h1+X(x0+1,y0+1)×w1×h1,该方式中可以先获取到所需要的各个参数,然后阵列处理机根据参数在原始图像中确定对应的四个相邻像素,最后再利用阵列处理机的各个处理单元分别使用该公式计算各通道的通道值。
在本实施例的一些可选实现方式中,参数传递器件进一步用于:根据scale_w以及scale_h,在所述处理器预先存储的数据表集合中确定对应的数据表;使用x,y的当前值在所确定的数据表中进行查询,以获得参数x0、w0、w1、y0、h0、h1的对应值;其中数据表集合中包括宽度缩放倍数和高度缩放倍数的各种值对应的数据表,且数据表中对当前宽度缩放倍数和高度缩放倍数下各种取值的x、y以及对应的x0、w0、w1、y0、h0、h1的值关联存储。由于缩放操作所需要的参数的计算是重复工作,在该实现方式中可以将这些参数预先计算出来后配置在数据表中,处理器中的参数传递器件只需要在需要时查询数据表即可得到,减少了大量重复的参数计算操作,进一步提高了图像缩放整体的执行速度。
在本实施例的一些可选实现方式中,阵列处理机306的N个处理单元共用乘法器组,阵列处理机306进一步用于:利用N个处理单元共用的乘法器组计算w0×h0、w1×h0、w0×h1、w1×h1。
图4示出了该实现方式中计算阵列中处理单元400的结构。处理单元400包括与其他各个处理单元(未示出)共用的乘法器组401。在计算阵列通过上述公式并行计算N个通道的通道值时,可以针对处理单元400所需要处理的通道,将上述相邻四个像素中该通道的通道值X(x0,y0)、X(x0+1,y0)、X(x0,y0+1)、X(x0+1,y0+1)通过input0、input1、input2和input3等输入口输入至处理单元400所独用的四个乘法器。并且,h0、h1、w0、w1等参数如图4中所示的方式输入至处理单元400与其他处理单元所共用的乘法器组401,以通过乘法器组401执行w0×h0、w1×h0、w0×h1、w1×h1等操作。之后,乘法器组401中各个乘法器所计算的结果并行输入至处理单元400中上述独用的四个乘法器以及其他各个处理单元中独用的四个乘法器。处理单元400中所独用的四个乘法器以及后续的各个加法器则对上述公式中未计算完的部分继续进行计算,得到目标像素中对应通道的通道值。其它处理单元分别将至各个处理单元中计算出来的结果再输入各个处理单元后续的部分,并与输入至各个处理单元中对应通道的通道值,执行上述公式中的后续计算。其它处理单元与处理单元400以相同方式对四个像素中各自对应的通道值进行计算,并得到目标像素中对应的通道值,这里不再赘述。在该实现方式中,对于各个处理单元,w0×h0、w1×h0、w0×h1、w1×h1的计算是完全相同的操作,因此可以通过共有的乘法器组执行上述操作,以避免各个处理单元重复执行上述操作,从而减少阵列处理机中所布置的元件。
在本实施例的一些可选实现方式中,处理器300还包括缓存管理器件(未示出),该缓存管理器件用于以下至少一项:释放第一片上缓存304中横坐标小于x0的每一行的像素数据;释放第二片上缓存305中横坐标等于x0且纵坐标小于y0的每一列的像素数据。在该方式中,由于缩放操作中像素的操作按序执行,当前所计算的目标像素在原始图像中对应的像素是(x0,y0)、(x0+1,y0)、(x0,y0+1)、(x0+1,y0+1),这意味着第一片上缓存304中的各行数据中,横坐标小于x0的行在后续过程中不会使用到,因此可以将第一片上缓存304中这些行的像素数据释放掉,使得释放后产生的空间可以用于后续像素数据的读取。同理,也可以将第一片上缓存305中横坐标小于x0且纵坐标小于y0的列对应的像素数据释放掉,这些数据不会在后续过程中使用到,也可以及时释放空间用于读取后续数据。
在本实施例的一些可选实现方式中,读操作控制器件3031进一步用于:根据目标图像中各个目标像素在原始图像中对应的像素的横坐标,确定原始图像的像素数据中待读取至第一片上缓存304的行;将所确定的待读取的行逐行读取到第一片上缓存304上。读操作控制器件3031也可以进一步用于:根据目标图像中各个目标像素在原始图像中对应的像素的纵坐标,确定第一片上缓存304中的每一行像素数据中待读取至第二片上缓存305的列;将所确定的待读取的列逐列读取到第二片上缓存305上。在该实现方式中,读操作控制器件可以仅对目标像素在原始图像中所对应的像素的数据进行逐行与逐列读取。在图像缩放倍数较大时原始图像中的一些像素不会被使用到,该实现方式中可以减少读取这些不参与计算的像素的时间,从而有利于进一步提高整体的执行速度。
本申请的上述实施例提供的处理器在处理图像缩放时,利用阵列处理机中的各个处理单元对目标图像中像素的各个通道的通道值并行计算,提高了图像缩放的并行度,大大减少了图像缩放操作的执行速度。
进一步参考图4,其示出了用于缩放图像的方法的一个实施例的流程400。该用于缩放图像的方法的流程400,包括以下步骤:
步骤401,接收图像缩放指令。
在本实施例中,用于缩放图像的方法运行于其上的处理器(例如图1所示的专用处理器)可以通过总线从外部(例如图1中的通用处理器)接收图像缩放指令,该图像缩放指令可以包括宽度缩放倍数以及高度缩放倍数。待缩放的原始图像为N通道图像,N是大于1的整数。该缩放图像可以是存储在处理器内部,也可以从外部获取。
步骤402,执行图像缩放指令,向阵列处理机发出用于计算缩放后的目标图像中的各个目标像素的像素数据的计算控制信号。
在本实施例中,处理器(例如图1中的专用处理器)可以执行图像缩放指令,向阵列处理机发出用于计算缩放后的目标图像中的各个目标像素的像素数据的计算控制信号。通常,可以根据原始图像的尺寸以及图像缩放指令中的宽度缩放倍数以及高度缩放倍数确定出目标图像的尺寸,即可以确定目标图像中需要计算像素数据的目标像素。针对目标像素,处理器可以向阵列处理机发出计算缩放后的目标图像中的各个目标像素的像素数据的计算控制信号,以使阵列处理机执行后续计算操作。
针对目标图像中各个目标像素,处理器可以使用阵列处理机提取原始图像与目标像素对应的像素的像素数据。与目标像素对应的像素,可以根据图像缩放操作所使用的缩放算法确定。例如,当缩放算法采用公式Y(x,y)=X(x0,y0)×w0×h0+X(x0+1,y0)×w1×h0+X(x0,y0+1)×w0×h1+X(x0+1,y0+1)×w1×h1时,则目标像素对应的像素是原始图像中坐标(x0,y0)、(x0+1,y0)、(x0,y0+1)、(x0+1,y0+1)所对应的相邻四个像素。
步骤403,使用计算控制信号,控制阵列处理机提取原始图像中与目标像素对应的像素的像素数据,并控制阵列处理机中的N个处理单元根据宽度缩放倍数、高度缩放倍数以及所提取像素数据中N个通道的通道值,并行计算目标像素中N个通道的通道值。
在本实施例中,基于步骤402中向计算阵列发出的计算控制信号,处理器可以通过该控制信号,控制阵列处理机计算缩放后的目标图像中的各个目标像素的像素数据。在该控制信号的控制下,阵列处理机可以执行以下操作:首先,提取原始图像中与目标像素对应的像素的像素数据到阵列处理机。由于原始图像是N通道图像,像素的像素数据包括N通道中各个通道的通道值。之后,阵列处理机可以使用N个处理单元并根据所提取像素数据中对应通道的通道值,并行计算目标像素中N通道中的通道值,从而实现多通道的并行处理。
在本实施例的一些可选实现方式中,上述方法还包括:将原始图像的像素数据按序读取到片上缓存中;以及向阵列处理机发出用于计算缩放后的目标图像中的各个目标像素的像素数据的计算控制信号,包括:向阵列处理机发出从片上缓存提取原始图像与目标像素对应的像素的像素数据的计算控制信号。该实现方式的具体处理可以参考图2对应实施例中相应的实现方式,这里不再赘述。
在本实施例的一些可选实现方式中,片上缓存包括第一片上缓存和第二片上缓存,且第二片上缓存的读写速度大于第一片上缓存的读写速度;以及将原始图像的像素数据按序读取到片上缓存中,包括:将原始图像中的像素数据,按行依次读取到第一片上缓存;将第一片上缓存中每一行的像素数据,按列依次读取到第二片上缓存;以及向阵列处理机发出从片上缓存提取原始图像与目标像素对应的像素的像素数据的计算控制信号,包括:向阵列处理机发出从第二片上缓存提取原始图像与目标像素对应的像素的像素数据的计算控制信号。该实现方式的具体处理可以参考图3对应实施例,这里不再赘述。
在本实施例的一些可选实现方式中,上述向阵列处理机发出从第二片上缓存提取原始图像与目标像素对应的像素的像素数据的计算控制信号,包括:在完成将目标像素在原始图像中对应的像素的像素数据读取到第二片上缓存时,向阵列处理机发出计算控制信号。该实现方式的具体处理可以参考图3对应实施例中相应的实现方式,这里不再赘述。
在本实施例的一些可选实现方式中,上述方法还包括:利用目标像素在目标图像的坐标(x,y)、宽度缩放倍数scale_w以及高度缩放倍数scale_h,获取参数x0、w0、w1、y0、h0、h1的值,并传递给阵列处理机,其中h0=y/scale_h-y0,h1=y0-y/scale_h+1,w0=x/scale_w-x0,w1=x0-x/scale_w+1。同时,步骤403中控制阵列处理机提取原始图像中与目标像素对应的像素的像素数据,并控制阵列处理机中的N个处理单元根据宽度缩放倍数、高度缩放倍数以及所提取像素数据中N个通道的通道值,并行计算目标像素中N个通道的通道值,具体包括以下步骤:控制阵列处理机将原始图像中坐标(x0,y0)、(x0+1,y0)、(x0,y0+1)、(x0+1,y0+1)所对应的相邻四个像素确定为与目标像素对应的像素并提取像素数据;控制阵列处理机中的N个处理单元,通过公式Y(x,y)=X(x0,y0)×w0×h0+X(x0+1,y0)×w1×h0+X(x0,y0+1)×w0×h1+X(x0+1,y0+1)×w1×h1并行计算目标像素中N个通道的通道值Y(x,y),其中X(x0,y0)、X(x0+1,y0)、X(x0,y0+1)、X(x0+1,y0+1)分别为当前通道在相邻四个像素中的通道值。该实现方式的具体处理可以参考图3对应实施例中相应的实现方式,这里不再赘述。
在本实施例的一些可选实现方式中,上述利用目标像素在目标图像的坐标(x,y)、宽度缩放倍数scale_w以及高度缩放倍数scale_h,获取参数x0、w0、w1、y0、h0、h1的值,进一步包括以下步骤:根据宽度缩放倍数scale_w以及高度缩放倍数scale_h,在处理器中预先存储的数据表集合中确定对应的数据表;使用x,y的当前值在所确定的数据表中进行查询,以获得参数x0、w0、w1、y0、h0、h1的对应值;其中数据表集合中包括宽度缩放倍数和高度缩放倍数的各种值对应的数据表,且数据表中对当前宽度缩放倍数和高度缩放倍数下各种取值的x、y以及对应的x0、w0、w1、y0、h0、h1的值关联存储。该实现方式的具体处理可以参考图3对应实施例中相应的实现方式,这里不再赘述。
在本实施例的一些可选实现方式中,上述阵列处理机长的多个处理单元共用乘法器组。上述控制阵列处理机中的N个处理单元,通过公式Y(x,y)=X(x0,y0)×w0×h0+X(x0+1,y0)×w1×h0+X(x0,y0+1)×w0×h1+X(x0+1,y0+1)×w1×h1并行计算目标像素中N个通道的通道值Y(x,y),其中X(x0,y0)、X(x0+1,y0)、X(x0,y0+1)、X(x0+1,y0+1)分别为当前通道在相邻四个像素中的通道值,包括:利用多个处理单元共用的乘法器组计算w0×h0、w1×h0、w0×h1、w1×h1。该实现方式的具体处理可以参考图3对应实施例中相应的实现方式,这里不再赘述。
在本实施例的一些可选实现方式中,上述方法还包括以下至少一项:释放第一片上缓存中横坐标小于x0的每一行的像素数据;释放第二片上缓存中横坐标等于x0且纵坐标小于y0的每一列的像素数据。该实现方式的具体处理可以参考图3对应实施例中相应的实现方式,这里不再赘述。
在本实施例的一些可选实现方式中,上述将第一片上缓存中每一行的像素数据,按列依次读取到第二片上缓存,包括:根据目标图像中各个目标像素在原始图像中对应的像素的横坐标,确定原始图像的像素数据中待读取至第一片上缓存的行;将所确定的待读取的行逐行读取到第一片上缓存上。和/或,将第一片上缓存中每一行的像素数据,按列依次读取到第二片上缓存,包括:根据目标图像中各个目标像素在原始图像中对应的像素的纵坐标,确定第一片上缓存中的每一行像素数据中待读取至第二片上缓存的列;将所确定的待读取的列逐列读取到第二片上缓存上。该实现方式的具体处理可以参考图3对应实施例中相应的实现方式,这里不再赘述。
需要说明的是,附图中的框图和流程图,图示了按照本申请各种实施例的系统、处理器和方法的可能实现的体系架构、功能和操作。应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:接收图像缩放指令,所述图像缩放指令包括宽度缩放倍数以及高度缩放倍数,待缩放的原始图像为N通道图像,N是大于1的整数;执行所述图像缩放指令,向阵列处理机发出用于计算缩放后的目标图像中的各个目标像素的像素数据的计算控制信号;使用所述计算控制信号,控制所述阵列处理机提取所述原始图像中与目标像素对应的像素的像素数据,并控制所述阵列处理机中的N个处理单元根据所述宽度缩放倍数、所述高度缩放倍数以及所提取像素数据中N个通道的通道值,并行计算目标像素中N个通道的通道值。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (18)
1.一种用于缩放图像的处理器,其特征在于,所述处理器包括片外存储器、通信器件、控制器件以及阵列处理机,其中:
所述片外存储器,用于存储待缩放的原始图像,所述原始图像为N通道图像,N是大于1的整数;
所述通信器件,用于接收图像缩放指令,所述图像缩放指令包括宽度缩放倍数以及高度缩放倍数;
所述控制器件,用于执行所述图像缩放指令,向所述阵列处理机发出用于计算缩放后的目标图像中的各个目标像素的像素数据的计算控制信号;
所述阵列处理机,用于在所述计算控制信号的控制下,提取所述原始图像中与目标像素对应的像素的像素数据,以及使用所述阵列处理机中的N个处理单元根据所述宽度缩放倍数、所述高度缩放倍数以及所提取像素数据中N个通道的通道值,并行计算目标像素中N个通道的通道值。
2.根据权利要求1所述的处理器,其特征在于,所述处理器还包括片上缓存;以及
所述控制器件包括:
读控制单元,用于将所述片外存储器中的原始图像的像素数据按序读取到所述片上缓存中;以及
计算控制单元,用于向所述阵列处理机发送从所述片上缓存提取所述原始图像与目标像素对应的像素的像素数据的计算控制信号。
3.根据权利要求2所述的处理器,其特征在于,所述片上缓存包括第一片上缓存和第二片上缓存,且所述第二片上缓存的读写速度大于所述第一片上缓存的读写速度;以及
所述读控制单元进一步用于:
将所述原始图像中的像素数据,按行依次读取到所述第一片上缓存;
将所述第一片上缓存中每一行的像素数据,按列依次读取到所述第二片上缓存;以及
所述计算控制单元进一步用于:
向所述阵列处理机发出从所述第二片上缓存提取所述原始图像与目标像素对应的像素的像素数据的计算控制信号。
4.根据权利要求3所述的处理器,其特征在于,所述计算控制单元进一步用于:
在读控制单元完成将目标像素在所述原始图像中对应的像素的像素数据读取到所述第二片上缓存时,向所述阵列处理机发出所述计算控制信号。
5.根据权利要求4所述的处理器,其特征在于,所述处理器还包括:
参数传递器件,用于利用目标像素在所述目标图像的坐标(x,y)、所述宽度缩放倍数scale_w以及所述高度缩放倍数scale_h,获取参数x0、w0、w1、y0、h0、h1的值,并传递给所述阵列处理机,其中 h0=y/scale_h-y0,h1=y0-y/scale_h+1,w0=x/scale_w-x0,w1=x0-x/scale_w+1;以及
所述阵列处理机进一步用于:
将所述原始图像中坐标(x0,y0)、(x0+1,y0)、(x0,y0+1)、(x0+1,y0+1)所对应的相邻四个像素确定为与目标像素对应的像素并提取像素数据;
使用阵列处理机中的N个处理单元,通过公式Y(x,y)=X(x0,y0)×w0×h0+X(x0+1,y0)×w1×h0+X(x0,y0+1)×w0×h1+X(x0+1,y0+1)×w1×h1并行计算目标像素中N个通道的通道值Y(x,y),其中X(x0,y0)、X(x0+1,y0)、X(x0,y0+1)、X(x0+1,y0+1)分别为当前通道在所述相邻四个像素中的通道值。
6.根据权利要求5所述的处理器,其特征在于,所述参数传递器件进一步用于:
根据所述宽度缩放倍数scale_w以及所述高度缩放倍数scale_h,在所述处理器预先存储的数据表集合中确定对应的数据表;
使用x,y的当前值在所确定的数据表中进行查询,以获得参数x0、w0、w1、y0、h0、h1的对应值;
其中所述数据表集合中包括宽度缩放倍数和高度缩放倍数的各种值对应的数据表,且数据表中对当前宽度缩放倍数和高度缩放倍数下各种取值的x、y以及对应的x0、w0、w1、y0、h0、h1的值关联存储。
7.根据权利要求5所述的处理器,其特征在于,所述所述阵列处理机的N个处理单元共用乘法器组,以及
所述阵列处理机进一步用于:
利用所述多个处理单元共用的乘法器组计算w0×h0、w1×h0、w0×h1、w1×h1。
8.根据权利要求5所述的处理器,其特征在于,所述处理器还包括缓存管理器件,用于以下至少一项:
释放所述第一片上缓存中横坐标小于x0的每一行的像素数据;
释放所述第二片上缓存中横坐标等于x0且纵坐标小于y0的每一列的像素数据。
9.根据权利要求5-8之一所述的处理器,其特征在于,所述读操作控制器件进一步用于:
根据所述目标图像中各个目标像素在原始图像中对应的像素的横坐标,确定所述原始图像的像素数据中待读取至所述第一片上缓存的行;
将所确定的待读取的行逐行读取到所述第一片上缓存上;
和/或
根据所述目标图像中各个目标像素在原始图像中对应的像素的纵坐标,确定所述第一片上缓存中的每一行像素数据中待读取至所述第二片上缓存的列;
将所确定的待读取的列逐列读取到所述第二片上缓存上。
10.一种用于缩放图像的方法,其特征在于,所述方法包括:
接收图像缩放指令,所述图像缩放指令包括宽度缩放倍数以及高度缩放倍数,待缩放的原始图像为N通道图像,N是大于1的整数;
执行所述图像缩放指令,向阵列处理机发出用于计算缩放后的目标图像中的各个目标像素的像素数据的计算控制信号;
使用所述计算控制信号,控制所述阵列处理机提取所述原始图像中与目标像素对应的像素的像素数据,并控制所述阵列处理机中的N个处理单元根据所述宽度缩放倍数、所述高度缩放倍数以及所提取像素数据中N个通道的通道值,并行计算目标像素中N个通道的通道值。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
将所述原始图像的像素数据按序读取到片上缓存中;以及
所述向阵列处理机发出用于计算缩放后的目标图像中的各个目标像素的像素数据的计算控制信号,包括:
向所述阵列处理机发出从所述片上缓存提取所述原始图像与目标像素对应的像素的像素数据的计算控制信号。
12.根据权利要求11所述的方法,其特征在于,所述片上缓存包括第一片上缓存和第二片上缓存,且所述第二片上缓存的读写速度大于所述第一片上缓存的读写速度;以及
所述将所述原始图像的像素数据按序读取到片上缓存中,包括:
将所述原始图像中的像素数据,按行依次读取到所述第一片上缓存;
将所述第一片上缓存中每一行的像素数据,按列依次读取到所述第二片上缓存;以及
所述向所述阵列处理机发出从所述片上缓存提取所述原始图像与目标像素对应的像素的像素数据的计算控制信号,包括:
向所述阵列处理机发出从所述第二片上缓存提取所述原始图像与目标像素对应的像素的像素数据的计算控制信号。
13.根据权利要求12所述的方法,其特征在于,所述向所述阵列处理机发出从所述第二片上缓存提取所述原始图像与目标像素对应的像素的像素数据的计算控制信号,包括:
在完成将目标像素在所述原始图像中对应的像素的像素数据读取到所述第二片上缓存时,向所述阵列处理机发出所述计算控制信号。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
利用目标像素在所述目标图像的坐标(x,y)、所述宽度缩放倍数scale_w以及所述高度缩放倍数scale_h,获取参数x0、w0、w1、y0、h0、h1的值,并传递给所述阵列处理机,其中 h0=y/scale_h-y0,h1=y0-y/scale_h+1,w0=x/scale_w-x0,w1=x0-x/scale_w+1;以及
所述控制所述阵列处理机提取所述原始图像中与目标像素对应的像素的像素数据,并控制所述阵列处理机中的N个处理单元根据所述宽度缩放倍数、所述高度缩放倍数以及所提取像素数据中N个通道的通道值,并行计算目标像素中N个通道的通道值,包括:
控制所述阵列处理机将所述原始图像中坐标(x0,y0)、(x0+1,y0)、(x0,y0+1)、(x0+1,y0+1)所对应的相邻四个像素确定为与目标像素对应的像素并提取像素数据;
控制所述阵列处理机中的N个处理单元,通过公式Y(x,y)=X(x0,y0)×w0×h0+X(x0+1,y0)×w1×h0+X(x0,y0+1)×w0×h1+X(x0+1,y0+1)×w1×h1并行计算目标像素中N个通道的通道值Y(x,y),其中X(x0,y0)、X(x0+1,y0)、X(x0,y0+1)、X(x0+1,y0+1)分别为当前通道在所述相邻四个像素中的通道值。
15.根据权利要求14所述的方法,其特征在于,所述利用目标像素在所述目标图像的坐标(x,y)、所述宽度缩放倍数scale_w以及所述高度缩放倍数scale_h,获取参数x0、w0、w1、y0、h0、h1的值,包括:
根据所述宽度缩放倍数scale_w以及所述高度缩放倍数scale_h,在所述处理器预先存储的数据表集合中确定对应的数据表;
使用x,y的当前值在所确定的数据表中进行查询,以获得参数x0、w0、w1、y0、h0、h1的对应值;
其中所述数据表集合中包括宽度缩放倍数和高度缩放倍数的各种值对应的数据表,且数据表中对当前宽度缩放倍数和高度缩放倍数下各种取值的x、y以及对应的x0、w0、w1、y0、h0、h1的值关联存储。
16.根据权利要求14所述的方法,其特征在于,所述阵列处理机的N个处理单元共用乘法器组;以及
所述控制所述阵列处理机中的N个处理单元,通过公式Y(x,y)=X(x0,y0)×w0×h0+X(x0+1,y0)×w1×h0+X(x0,y0+1)×w0×h1+X(x0+1,y0+1)×w1×h1并行计算目标像素中N个通道的通道值Y(x,y),包括:
利用所述多个处理单元共用的乘法器组计算w0×h0、w1×h0、w0×h1、w1×h1。
17.根据权利要求14所述的方法,其特征在于,所述方法还包括以下至少一项:
释放所述第一片上缓存中横坐标小于x0的每一行的像素数据;
释放所述第二片上缓存中横坐标等于x0且纵坐标小于y0的每一列的像素数据。
18.根据权利要求14-17之一所述的方法,其特征在于,所述将所述第一片上缓存中每一行的像素数据,按列依次读取到所述第二片上缓存,包括:
根据所述目标图像中各个目标像素在原始图像中对应的像素的横坐标,确定所述原始图像的像素数据中待读取至所述第一片上缓存的行;
将所确定的待读取的行逐行读取到所述第一片上缓存上;
和/或
所述将所述第一片上缓存中每一行的像素数据,按列依次读取到所述第二片上缓存,包括:
根据所述目标图像中各个目标像素在原始图像中对应的像素的纵坐标,确定所述第一片上缓存中的每一行像素数据中待读取至所述第二片上缓存的列;
将所确定的待读取的列逐列读取到所述第二片上缓存上。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610621655.XA CN107680028B (zh) | 2016-08-01 | 2016-08-01 | 用于缩放图像的处理器和方法 |
PCT/CN2016/097293 WO2018023847A1 (zh) | 2016-08-01 | 2016-08-30 | 用于缩放图像的处理器和方法 |
US16/265,566 US10922785B2 (en) | 2016-08-01 | 2019-02-01 | Processor and method for scaling image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610621655.XA CN107680028B (zh) | 2016-08-01 | 2016-08-01 | 用于缩放图像的处理器和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107680028A true CN107680028A (zh) | 2018-02-09 |
CN107680028B CN107680028B (zh) | 2020-04-21 |
Family
ID=61072437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610621655.XA Active CN107680028B (zh) | 2016-08-01 | 2016-08-01 | 用于缩放图像的处理器和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10922785B2 (zh) |
CN (1) | CN107680028B (zh) |
WO (1) | WO2018023847A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276836A (zh) * | 2018-03-13 | 2019-09-24 | 幻视互动(北京)科技有限公司 | 一种可加速特征点检测的方法及mr混合现实智能眼镜 |
CN110555802A (zh) * | 2019-08-02 | 2019-12-10 | 华中科技大学 | 为图像并行运算电路提供数据的多像素拼接方法和系统 |
CN111369444A (zh) * | 2020-03-31 | 2020-07-03 | 浙江大华技术股份有限公司 | 一种图像缩放处理方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023154109A1 (en) * | 2022-02-10 | 2023-08-17 | Innopeak Technology, Inc. | Methods and systems for upscaling video graphics |
CN115471404B (zh) * | 2022-10-28 | 2023-03-24 | 武汉中观自动化科技有限公司 | 图像缩放方法、处理设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1670766A (zh) * | 2004-03-17 | 2005-09-21 | 德鑫科技股份有限公司 | 图像的缩放方法 |
CN101183521A (zh) * | 2007-11-16 | 2008-05-21 | 炬力集成电路设计有限公司 | 一种图像缩放装置、方法及图像显示设备 |
CN101894362A (zh) * | 2010-07-05 | 2010-11-24 | 昆山龙腾光电有限公司 | 一种图像放大装置及方法 |
CN101950523A (zh) * | 2010-09-21 | 2011-01-19 | 上海大学 | 可调矩形窗图像缩放方法及装置 |
US20120098996A1 (en) * | 2007-05-25 | 2012-04-26 | Dudi Vakrat | Optical chromatic aberration correction and calibration in digital cameras |
CN102890816A (zh) * | 2011-07-20 | 2013-01-23 | 深圳市快播科技有限公司 | 视频图像缩放处理方法以及视频图像缩放处理装置 |
CN103369338A (zh) * | 2013-06-25 | 2013-10-23 | 四川虹视显示技术有限公司 | 基于fpga的近眼双目成像系统的图像处理系统及方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5113494A (en) * | 1987-02-27 | 1992-05-12 | Eastman Kodak Company | High speed raster image processor particularly suited for use in an image management system |
EP0449478A3 (en) * | 1990-03-29 | 1992-11-25 | Microtime Inc. | 3d video special effects system |
US5592574A (en) * | 1992-04-06 | 1997-01-07 | Ricoh Company Ltd. | Method and apparatus for expansion of white space in document images on a digital scanning device |
US7227519B1 (en) * | 1999-10-04 | 2007-06-05 | Matsushita Electric Industrial Co., Ltd. | Method of driving display panel, luminance correction device for display panel, and driving device for display panel |
US7151861B2 (en) * | 2001-09-18 | 2006-12-19 | Vixs Systems Inc. | Raster image transformation circuit using micro-code and method |
US20040130546A1 (en) * | 2003-01-06 | 2004-07-08 | Porikli Fatih M. | Region growing with adaptive thresholds and distance function parameters |
US7788579B2 (en) * | 2006-03-06 | 2010-08-31 | Ricoh Co., Ltd. | Automated document layout design |
US8103129B2 (en) * | 2008-01-21 | 2012-01-24 | Broadcom Corporation | System(s), and method(s) for non-linear scaling of source pictures to a destination screen |
US8422783B2 (en) * | 2008-06-25 | 2013-04-16 | Sharp Laboratories Of America, Inc. | Methods and systems for region-based up-scaling |
US8520979B2 (en) * | 2008-08-19 | 2013-08-27 | Digimarc Corporation | Methods and systems for content processing |
US8581916B2 (en) * | 2009-06-26 | 2013-11-12 | Intel Corporation | Graphics analysis techniques |
US8625902B2 (en) * | 2010-07-30 | 2014-01-07 | Qualcomm Incorporated | Object recognition using incremental feature extraction |
US8639053B2 (en) * | 2011-01-18 | 2014-01-28 | Dimension, Inc. | Methods and systems for up-scaling a standard definition (SD) video to high definition (HD) quality |
US8711167B2 (en) * | 2011-05-10 | 2014-04-29 | Nvidia Corporation | Method and apparatus for generating images using a color field sequential display |
US20130007602A1 (en) * | 2011-06-29 | 2013-01-03 | Apple Inc. | Fixed layout electronic publications |
AU2011213795A1 (en) * | 2011-08-19 | 2013-03-07 | Canon Kabushiki Kaisha | Efficient cache reuse through application determined scheduling |
US10289924B2 (en) * | 2011-10-17 | 2019-05-14 | Sharp Laboratories Of America, Inc. | System and method for scanned document correction |
JP5547226B2 (ja) * | 2012-03-16 | 2014-07-09 | 株式会社東芝 | 画像処理装置、及び画像処理方法 |
US9332239B2 (en) * | 2012-05-31 | 2016-05-03 | Apple Inc. | Systems and methods for RGB image processing |
US9105078B2 (en) * | 2012-05-31 | 2015-08-11 | Apple Inc. | Systems and methods for local tone mapping |
US9449239B2 (en) * | 2014-05-30 | 2016-09-20 | Apple Inc. | Credit card auto-fill |
CN104361555A (zh) * | 2014-11-24 | 2015-02-18 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于fpga的红外图像缩放方法 |
US9342894B1 (en) * | 2015-05-01 | 2016-05-17 | Amazon Technologies, Inc. | Converting real-type numbers to integer-type numbers for scaling images |
US10489703B2 (en) * | 2015-05-20 | 2019-11-26 | Nec Corporation | Memory efficiency for convolutional neural networks operating on graphics processing units |
-
2016
- 2016-08-01 CN CN201610621655.XA patent/CN107680028B/zh active Active
- 2016-08-30 WO PCT/CN2016/097293 patent/WO2018023847A1/zh active Application Filing
-
2019
- 2019-02-01 US US16/265,566 patent/US10922785B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1670766A (zh) * | 2004-03-17 | 2005-09-21 | 德鑫科技股份有限公司 | 图像的缩放方法 |
US20120098996A1 (en) * | 2007-05-25 | 2012-04-26 | Dudi Vakrat | Optical chromatic aberration correction and calibration in digital cameras |
CN101183521A (zh) * | 2007-11-16 | 2008-05-21 | 炬力集成电路设计有限公司 | 一种图像缩放装置、方法及图像显示设备 |
CN101894362A (zh) * | 2010-07-05 | 2010-11-24 | 昆山龙腾光电有限公司 | 一种图像放大装置及方法 |
CN101950523A (zh) * | 2010-09-21 | 2011-01-19 | 上海大学 | 可调矩形窗图像缩放方法及装置 |
CN102890816A (zh) * | 2011-07-20 | 2013-01-23 | 深圳市快播科技有限公司 | 视频图像缩放处理方法以及视频图像缩放处理装置 |
CN103369338A (zh) * | 2013-06-25 | 2013-10-23 | 四川虹视显示技术有限公司 | 基于fpga的近眼双目成像系统的图像处理系统及方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276836A (zh) * | 2018-03-13 | 2019-09-24 | 幻视互动(北京)科技有限公司 | 一种可加速特征点检测的方法及mr混合现实智能眼镜 |
CN110555802A (zh) * | 2019-08-02 | 2019-12-10 | 华中科技大学 | 为图像并行运算电路提供数据的多像素拼接方法和系统 |
CN110555802B (zh) * | 2019-08-02 | 2021-04-20 | 华中科技大学 | 为图像并行运算电路提供数据的多像素拼接方法和系统 |
CN111369444A (zh) * | 2020-03-31 | 2020-07-03 | 浙江大华技术股份有限公司 | 一种图像缩放处理方法及装置 |
CN111369444B (zh) * | 2020-03-31 | 2024-02-27 | 浙江大华技术股份有限公司 | 一种图像缩放处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2018023847A1 (zh) | 2018-02-08 |
CN107680028B (zh) | 2020-04-21 |
US10922785B2 (en) | 2021-02-16 |
US20190164254A1 (en) | 2019-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107680028A (zh) | 用于缩放图像的处理器和方法 | |
CN111684473B (zh) | 提高神经网络阵列的性能 | |
US20240146948A1 (en) | Generating images using neural networks | |
CN106203617B (zh) | 一种基于卷积神经网络的加速处理单元及阵列结构 | |
TWI787262B (zh) | 用於執行類神經網路層之計算的方法、系統及非暫時性電腦可讀儲存媒體 | |
JP7007488B2 (ja) | ハードウェアベースのプーリングのシステムおよび方法 | |
JP2022037022A (ja) | ハードウェアにおけるカーネルストライドの実行 | |
CN108604369B (zh) | 一种去除图像噪声的方法、装置、设备及卷积神经网络 | |
KR102325602B1 (ko) | 데이터를 병렬적으로 처리하는 장치 및 방법 | |
CN109844738A (zh) | 运算处理电路和识别系统 | |
CN107563952A (zh) | 可编程二维图像处理器上的卷积神经网络 | |
CN108205701A (zh) | 一种执行卷积计算的系统及方法 | |
CN107277615B (zh) | 直播风格化处理方法、装置、计算设备及存储介质 | |
CN108537330A (zh) | 应用于神经网络的卷积计算装置及方法 | |
CN110263909A (zh) | 图像识别方法及装置 | |
CN110188869B (zh) | 一种基于卷积神经网络算法的集成电路加速计算的方法及系统 | |
EP3380992A1 (en) | Generating images using neural networks | |
CN109525859A (zh) | 模型训练、图像发送、图像处理方法及相关装置设备 | |
CN110147252A (zh) | 一种卷积神经网络的并行计算方法及装置 | |
CN107016643A (zh) | 在计算机视觉系统中按比例缩小图像 | |
JP6970827B2 (ja) | 演算処理装置 | |
JP6532334B2 (ja) | 並列演算装置、画像処理装置及び並列演算方法 | |
CN114758209B (zh) | 卷积结果获取方法、装置、计算机设备及存储介质 | |
CN107678781A (zh) | 处理器以及用于在处理器上执行指令的方法 | |
CN108415881A (zh) | 卷积神经网络的运算装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20180209 Assignee: Kunlun core (Beijing) Technology Co.,Ltd. Assignor: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd. Contract record no.: X2021980009778 Denomination of invention: Processor and method for scaling image Granted publication date: 20200421 License type: Common License Record date: 20210923 |