一种流水线式图像色度格式转换缩放旋转叠加的系统
技术领域
本发明涉及一种图像色度格式转换缩放旋转叠加的系统,更具体一点说,涉及一种流水线式图像色度格式转换缩放旋转叠加的系统。
背景技术
DDR中各种色度格式的图像都是按照光栅扫描的顺序,从左到右,从上到下存放的,由于DDR的读写物理特性,连续地址的突发操作越长,读写效率越高,而图像旋转过程中必然造成原图连续地址的像素点旋转后地址不连续,如果既要满足DDR读写高效率要求,又要满足图像旋转缩放所用到的像素点输入,需要至少16行片上缓存,按照4K分辨率计算的话,需要16×4096×4=262144字节,这对于低成本的SOC设计是不可接受的,对此现有的处理方法是图像旋转后的图像写入DDR,然后图像缩放又读一次DDR,这种方法大大增加了DDR的带宽需求,而且现有的图像缩放多采用二维滤波的操作,这种方法需要很多的行片上缓存存储原始图像,以4K图像分辨率为例,9x9阶滤波器就需要202500字节片上缓存,而且这种方法不能实现90度和270度旋转。
发明内容
为了解决上述现有技术问题,本发明提供具有中间结果无需写入DDR、无需行缓存、图像失真小、多角度旋转等技术特点的一种流水线式图像色度格式转换缩放旋转叠加的系统。
为了实现上述目的,本发明是通过以下技术方案实现的:
一种流水线式图像色度格式转换缩放旋转叠加的系统,该系统包括CPU控制器,所述CPU控制器通过APB接口电性连接有配置寄存器,所述配置寄存器电性连接有读取DDR图像模块、输入图像色度格式转换模块、图像旋转模块、图像缩放模块、输出图像色度格式转换模块,所述读取DDR图像模块、输入图像色度格式转换模块、图像旋转模块、图像缩放模块、输出图像色度格式转换模块依次序电性连接,且所述输出图像色度格式转换模块还与读取DDR图像模块电性连接,在所述图像旋转模块、图像缩放模块间插入连接有兵乓缓冲器单元、旋转片缓存单元,所述读取DDR图像模块输出的原始图像分成N*N个图像块,并输入到图像色度格式转换模块内转换成图像旋转、图像缩放处理的格式,所述旋转片缓存单元实时存储经图像旋转模块、图像缩放模块处理后的图像数据,并传输入到输出图像色度格式转换模块内转换格式以传输给读取DDR图像模块存储。
作为一种改进,所述读取DDR图像模块包括AXI总线协议读接口单元和图像块地址产生单元,所述图像块地址产生单元产生的图像块地址包括分量基地地址、图像块首地址、图像块中各行地址,所述读取DDR图像模块、输入图像色度格式转换模块间电性连接有AIX管理器,所述AIX管理器通过AXI总线与读取DDR图像模块的AXI总线协议读接口单元电性连接。
作为一种改进,所述输入图像色度格式转换模块将N*N个图像块组成的原始图像色度格式转换成ARGB8888格式以实现图像旋转模块进行图像旋转、图像缩放模块进行图像缩放。
作为一种改进,所述图像旋转模块首先按照图像块的旋转模式选择图像块读取顺序,然后在读取图像块的像素点、旋转片缓存单元写入缓存时,对图像块的像素点进行重排列以实现原始图像旋转。
作为一种改进,所述读取DDR图像模块输出的原始图像分成32×32的图像块。
作为一种改进,每一个图像块水平和垂直相邻的4个像素点组成一个像素点插值,在图像缩放处理中保存水平方向前一个图像块最右边3列的像素点以保证图像块读取的地址对齐。
作为一种改进,所述输出图像色度格式转换模块包括输出片上缓存单元,所述输出片上缓存单元用于存储经输出图像色度格式转换模块转换格式后的图像。
作为一种改进,还包括与配置寄存器电性连接的写入DDR图像模块,所述写入DDR图像模块内设置有存储数据的突发回写单元。
作为一种改进,按照旋转的模式不同,读取图像块的顺序按照如下方式变化:0°旋转图像块从图像的左上角开始取,从上到下,从左到右;90°旋转图像块从图像的右上角开始取,从上到下,从右到左;180°旋转图像块从图像的右下角开始取,从右到左,从下到上;270°旋转图像块从图像的左下角开始取,从下到上,从左到右;水平镜像翻转图像块从图像的右上角开始取,从右到左,从上到下;垂直镜像翻转图像块从图像的左下角开始取,从左到右,从下到上;对图像块的像素点进行重排列采用如下排列公式:
其中,所述i为图像块的行号,j为图像块的列号。
有益效果:各模块依次电性连接,实现流水线处理,中间结果无需写入DDR就可以完成图像的色度格式转换、图像旋转和图像缩放;低成本基于32×32大小图像块进行图像处理,无需行缓存,系统使用17K字节的片上缓存即可;基于图像块的图像缩放处理,在低面积开销的情况下图像失真小。
附图说明
图1是本发明系统结构原理示意图。
图2是本发明图像放大示意图。
图3是本发明图像缩小示意图。
具实施方式
以下结合说明书附图,对本发明发明作进一步说明,但本发明并不局限于以下实施例。
如图1所示为一种流水线式图像色度格式转换缩放旋转叠加的系统的具体实施例,该实施例一种流水线式图像色度格式转换缩放旋转叠加的系统,该系统包括CPU控制器1,所述CPU控制器1通过APB接口电性连接有配置寄存器2,所述配置寄存器2电性连接有读取DDR图像模块3、输入图像色度格式转换模块4、图像旋转模块5、图像缩放模块6、输出图像色度格式转换模块7,所述读取DDR图像模块3、输入图像色度格式转换模块4、图像旋转模块5、图像缩放模块6、输出图像色度格式转换模块7依次序电性连接,且所述输出图像色度格式转换模块7还与读取DDR图像模块3电性连接,在所述图像旋转模块5、图像缩放模块6间插入连接有兵乓缓冲器单元8、旋转片缓存单元9,所述读取DDR图像模块3输出的原始图像分成N*N个图像块,并输入到输入图像色度格式转换模块4内转换成图像旋转、图像缩放处理的格式,所述旋转片缓存单元9实时存储经图像旋转模块5、图像缩放模块6处理后的图像数据,并传输入到输出图像色度格式转换模块7内转换格式以传输给读取DDR图像模块3存储;
本发明一种流水线式图像色度格式转换缩放旋转叠加的系统,该系统包括CPU控制器1,CPU控制器1通过APB接口电性连接有配置寄存器2,配置寄存器2电性连接有读取DDR图像模块3、输入图像色度格式转换模块4、图像旋转模块5、图像缩放模块6、输出图像色度格式转换模块7,其中CPU控制器1配置原始图像的分辨率、输入图像的色度格式、图像的旋转角度、输出图像的色度格式以及图像缩放倍数的参数以实现对各个模块的控制,读取DDR图像模块3、输入图像色度格式转换模块4、图像旋转模块5、图像缩放模块6、输出图像色度格式转换模块7依次序电性连接,且输出图像色度格式转换模块7还与读取DDR图像模块3电性连接实现将经过格式转换、缩放、叠层的图像存储到读取DDR图像模块3中,在图像旋转模块5、图像缩放模块6间插入连接有兵乓缓冲器单元8和旋转片缓存单元9,通过兵乓缓冲器单元8设置,使得可以减少对旋转片缓存单元9的缓存使用,将读取DDR图像模块3输出的原始图像分成N*N个图像块,并将N*N个图像块输入到输入图像色度格式转换模块4内转换成图像旋转模块5、图像缩放模块6处理的格式,使用旋转片缓存单元9实时存储依次经输入图像色度格式转换模块4、图像旋转模块5处理后的图像数据,并将处理后的图像数据传输入到输出图像色度格式转换模块7内转换格式,该转后的格式与输入图像色度格式转换模块4转换格式前的图像格式一致,使得读取DDR图像模块3可以存储完成图像格式转换、旋转、缩放、叠加的图像,本发明各模块依次电性连接,实现流水线处理,中间结果无需写入DDR就可以完成图像的色度格式转换、图像旋转和图像缩放;采用N*N个图像块进行图像处理,无需行缓存,片上缓存小;N*N个图像块的图像缩放处理,在低面积开销的情况下图像失真小。
作为一种改进的实施例,所述读取DDR图像模块3包括AXI总线协议读接口单元和图像块地址产生单元,所述图像块地址产生单元产生的图像块地址包括分量基地地址、图像块首地址、图像块中各行地址,所述读取DDR图像模块3、输入图像色度格式转换模块4间电性连接有AIX管理器10,所述AIX管理器10通过AXI总线与读取DDR图像模块3的AXI总线协议读接口单元电性连接;
本发明读取DDR图像模块3包括AXI总线协议读接口单元和图像块地址产生单元,其中图像块地址产生单元产生的图像块地址包括分量基地地址addr0、图像块首地址addr1、图像块中各行地址addr2,读取DDR图像模块3、输入图像色度格式转换模块4间电性连接有AIX管理器10,AIX管理器10通过AXI总线与读取DDR图像模块3的AXI总线协议读接口单元电性连接,分量基地地址addr0是指亮度和色度各分量的起始地址,对于亮度和色度分开存储的色度格式其值不同,而对于亮度和色度交错存储的色度格式是同一个值,图像块首地址addr1是每个图像块左上角的地址,其表达式为:
addr1=(i-1)*y_div*Rx*w0+(j-1)*Rx*x_div
其中,i为图像块的行号,j为图像块的列号,x_div为水平相邻图像起始列的偏移值,y_div为垂直相邻图像块的起始行的偏移值,w0为原始图像宽度,Rx和Ry为一个倍数值,由色度格式确定,其表达式如下:
表示图像做缩放过程中,需要缩进读取的行数和列数。
图像块中各行地址addr2为待取图像块每行的起始地址,其表达式为:
addr2=(m-1)*Ry*w0
其中,m为图像块中代取数据的行号,w0为原始图像宽度。
作为一种改进的实施例,所述输入图像色度格式转换模块4将N*N个图像块组成的原始图像色度格式转换成ARGB8888格式以实现图像旋转模块5进行图像旋转、图像缩放模块6进行图像缩放;输入图像色度格式转换模块4将N*N个图像块组成的原始图像色度格式转换成ARGB8888格式以实现图像旋转模块5进行图像旋转、图像缩放模块6进行图像缩放。
作为一种改进的实施例,所述图像旋转模块5首先按照图像块的旋转模式选择图像块读取顺序,然后在读取图像块的像素点、旋转片缓存单元写入缓存时,对图像块的像素点进行重排列以实现原始图像旋转;按照图像块的旋转模式选择图像块读取顺序,然后在读取图像块的像素点、旋转片缓存单元写入缓存时,对图像块的像素点进行重排列以实现原始图像旋转,操作简单、实现原始图像旋转快速。
作为一种改进的实施例,所述读取DDR图像模块3输出的原始图像分成32×32的图像块;原始图像分成32×32的图像块,当图像旋转模块5、图像缩放模块6处理使用ARGB8888的色度格式,如果输入源是其它YUV色度格式,按照如下公式进行转换,
如果是其他RGB格式,则将对应色度分量位数补齐。
作为一种改进的实施例,每一个图像块水平和垂直相邻的4个像素点组成一个像素点插值,在图像缩放处理中保存水平方向前一个图像块最右边3列的像素点以保证图像块读取的地址对齐;图像缩放的每一个像素点插值是由水平和垂直的4个像素点计算得到,其原理如图2、3所示,其中图2中圆圈表示原始像素,五角星表示放大像素,其中图3中圆圈表示原始像素,五角星表示缩小像素。
若以X代表待插值像素点,其水平相位为x_phi,垂直相位为y_phi,所使用原图像起始行为i0,起始列为j0,则图像缩放插值数学表达式如下所示:
其中,dat为原图像数据,kj为水平加权值,pi为垂直加权值,其表达式如下所示:
对于图像缩小的垂直和水平加权值,若其值小于0,则将其置为0。
作为一种改进的实施例,所述输出图像色度格式转换模块7包括输出片上缓存单元11,所述输出片上缓存单元11用于存储经输出图像色度格式转换模块转换格式后的图像;输出图像色度格式转换模块7包括输出片上缓存单元11,输出片上缓存单元11用于存储经输出图像色度格式转换模块7转换格式后的图像数据。
作为一种改进的实施例,还包括与配置寄存器电性连接的写入DDR图像模块,所述写入DDR图像模块内设置有存储数据的突发回写单元;配置寄存器电性连接有写入DDR图像模块,写入DDR图像模块内设置有存储数据的突发回写单元,将得到的结果图像数据写入输出片上缓存单元11,利用突发回写单元(Burst Write Back)处理,当输出片上缓存单元11中的数据满足总线操作的突发长度再进行传输,提高AXI总线效率,减少突发写短操作。
作为一种改进的实施例,按照旋转的模式不同,读取图像块的顺序按照如下方式变化:0°旋转图像块从图像的左上角开始取,从上到下,从左到右;90°旋转图像块从图像的右上角开始取,从上到下,从右到左;180°旋转图像块从图像的右下角开始取,从右到左,从下到上;270°旋转图像块从图像的左下角开始取,从下到上,从左到右;水平镜像翻转图像块从图像的右上角开始取,从右到左,从上到下;垂直镜像翻转图像块从图像的左下角开始取,从左到右,从下到上;对图像块的像素点进行重排列采用如下排列公式:
其中,所述i为图像块的行号,j为图像块的列号。
本发明按照旋转的模式不同,读取图像块的顺序按照如下方式变化:当0°旋转图像块时,从图像的左上角开始取,从上到下,从左到右;当90°旋转图像块时,从图像的右上角开始取,从上到下,从右到左;当180°旋转图像块时,从图像的右下角开始取,从右到左,从下到上;当270°旋转图像块时,从图像的左下角开始取,从下到上,从左到右;当水平镜像翻转图像块时,从图像的右上角开始取,从右到左,从上到下;当垂直镜像翻转图像块时,从图像的左下角开始取,从左到右,从下到上;其中对图像块的像素点进行重排列采用如下排列公式:
其中,所述i为图像块的行号,j为图像块的列号,通过上述旋转角度与公式计算,可以对图像块的像素点进行重排列以快速实现原始图像旋转,需要较少的行偏上缓存存储,且可以实现90°和270°旋转。
最后,需要注意的是,本发明不限于以上实施例,还可以有很多变形。本领域的普通技术人员能从本发明公开的内容中直接导出或联想到的所有变形,均应认为是本发明的保护范围。