用于缩放图像的处理器和方法技术

技术编号:17250354 阅读:20 留言:0更新日期:2018-02-11 09:00
本申请公开了用于缩放图像的处理器和方法。所述处理器的一具体实施方式包括:包括片外存储器、通信器件、控制器件以及阵列处理机,其中:所述片外存储器,用于存储待缩放的原始图像;所述通信器件,用于接收图像缩放指令;所述控制器件,用于执行所述图像缩放指令,向所述阵列处理机发出计算控制信号;所述阵列处理机,用于在所述计算控制信号的控制下,使用所述阵列处理机中的N个处理单元根据所述宽度缩放倍数、所述高度缩放倍数以及所提取像素数据中N个通道的通道值,并行计算目标像素中N个通道的通道值。该实施方式提高了图像缩放操作的处理速度。

【技术实现步骤摘要】
用于缩放图像的处理器和方法
本申请涉及计算机
,具体涉及图像处理
,尤其涉及用于缩放图像的处理器和方法。
技术介绍
现有的技术方案采用通用处理器对图像执行缩放操作时,首先需要获得原始图像、目标图像尺寸、宽度上放大缩小倍数、高度上放大缩小倍数等信息,然后根据以上的信息,即可进行缩放操作。然而,现有技术中在执行图像缩放过程依然存在一些技术缺陷。首先,图像缩放过程没有能够充分挖掘并行度,造成效率低下。虽然一些通用处理器提供的单指令多数据流操作,使同样的操作可以并行执行,但一般并行度较低。此外,缩放所图像过程中参数需要重复计算,也消耗较多的时间。因此,需要对现有技术进行改进,以克服以上缺陷。
技术实现思路
本申请的目的在于提出一种改进的用于缩放图像的处理器和方法,来解决以上
技术介绍
部分提到的技术问题。第一方面,本申请提供了一种用于缩放图像的处理器,所述处理器包括片外存储器、通信器件、控制器件以及阵列处理机,其中:所述片外存储器,用于存储待缩放的原始图像,所述原始图像为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)、本文档来自技高网...
用于缩放图像的处理器和方法

【技术保护点】
一种用于缩放图像的处理器,其特征在于,所述处理器包括片外存储器、通信器件、控制器件以及阵列处理机,其中:所述片外存储器,用于存储待缩放的原始图像,所述原始图像为N通道图像,N是大于1的整数;所述通信器件,用于接收图像缩放指令,所述图像缩放指令包括宽度缩放倍数以及高度缩放倍数;所述控制器件,用于执行所述图像缩放指令,向所述阵列处理机发出用于计算缩放后的目标图像中的各个目标像素的像素数据的计算控制信号;所述阵列处理机,用于在所述计算控制信号的控制下,提取所述原始图像中与目标像素对应的像素的像素数据,以及使用所述阵列处理机中的N个处理单元根据所述宽度缩放倍数、所述高度缩放倍数以及所提取像素数据中N个通道的通道值,并行计算目标像素中N个通道的通道值。

【技术特征摘要】
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的整数;执行所述图像缩放指令,向阵列处理机发出用于计算缩放后的目标图像中的各个目标像素的像素数据的计算控制信号;使用所述计算控制信号,控制所述阵列处理机提取所述原始图像中与目标像素对应的像素的像素数据,并...

【专利技术属性】
技术研发人员:涂依晨欧阳剑漆维王勇
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1