一种降低图像缩小处理时系统峰值带宽的方法和装置的制造方法_2

文档序号:9489390阅读:来源:国知局
送数据,第二缓冲器写入数据时,第一缓冲器向行缓冲控制模块传送数据。运算窗口的行列数大小设为4行乘以4列。
[0034]如图7所示,常见的图像缩放模块运算窗口大小是4行4列,在进行2倍缩小时,需要连续输入2行数据才能计算出第一个点的值;在进行3倍缩小时,需要连续输入3行数据才能计算出第一个点的值;在进行4倍以上缩小时,需要连续输入4行数据才能计算出第一个点的值。另外,考虑到DMA连续地址取数的长度需保证至少256bit来保证DRAM效率,于是本发明规定按块取数大小为4行8列(8个像素),在DRAM中占据8*32bit = 256bit。
[0035]如图8所示,DMA地址跳转控制模块主要由四个计数器组成:总列数计数器(最大值为图像宽度)、窗口列数计数器(最大值为8)、总行数计数器(最大值为图像高度)、窗口行数计数器(最大值为4)。
[0036]工作流程如下:
[0037]1.由图像缩放模块提供其运算窗口所需最少行数(小于或等于4);
[0038]2.当总列数计数器大于或等于图像宽度时,表示上述“所需最少行数”已传送完,总列数计数器及窗口列数计数器清零,总行数计数器加上述“所需最少行数”,这时检查总行数计数器,如果其达到图像高度,表示所有行已传送完,取数结束;
[0039]3.当第2步总列数计数器小于图像宽度时,检查窗口列数计数器,当其达到8时使列数计数器清零并产生换行信号,否则列数计数器加1并重新判断;
[0040]4.当第3步产生换行信号时,检查窗口行数计数器,如果等于上述“所需最少行数”,窗口行计数器清零,否则窗口行计数器加1并返回第3步;
[0041]5.当第4步窗口行计数器清零或当第2步的总行数计数器小于图像高度时,检查总列数计数器,如果为0表示第1步图像缩放模块提供的运算窗口最少行数已经取完,返回第1步,否则总列数计数器加8,继续回到第2步。
[0042]如图9和图10所示,以图像缩放模块提供的运算窗口所需最少行数是2,图像的宽度是720为例,DMA发送8像素长度的命令(第一条命令地址为0x000),同时产生换行信号;2.接着发送下一个8像素长度的命令(第二条命令地址跳过了一行的长度,即0X2d0),同时产生换行信号;3.DMA再发送下一个8像素长度的命令(命令地址跳回到了 0x008),同时产生换行信号;4.DMA再发送下一个8像素长度的命令(命令地址跳回到了 0X2d8),同时产生换行信号。可以看到数据的顺序同发送命令的顺序一致,并且在每8个像素的最后一个周期发送换行信号。
[0043]如图11和图12所示,图像缩放模块运算窗口缓冲器是乒乓缓冲区,由缓冲器1和缓冲器2组成,当缓冲器1在写入数据的时候,缓冲器2在向行缓冲控制模块传送数据;当缓冲器2在写入数据的时候,缓冲器1在向行缓冲控制模块传送数据。每个缓冲器的大小是4行8列,当接收到换行信号时,数据换行写入缓冲器。注意在该缓冲器向行缓冲控制模块传送数据时,不是以一个像素为单位,而是以一列像素为单位。
[0044]如图13所示,图像缩放模块行缓冲控制模块根据图像缩放模块需要的行数从运算窗口缓冲器中按列取出数据并写入行缓冲器中,而图像缩放模块则读取该行缓冲器并进行运算。当行缓冲器将运算窗口缓冲器中的数据取完之后,图像缩放模块运算窗口缓冲器为空,于是又可以向DMA取数了。
[0045]如图14所示,以分辨率为720x1920的图像缩小到720x480(垂直方向4倍缩小)为例进行说明,一个像素占据32bit,显示引擎主时钟速度为300MHz,显示时序驱动器主时钟速度为27MHz (分辨率720x480,刷新率60Hz),图像缩放模块窗口大小是4x4。如果使用按行取数方式,图像缩放模块每输出一行数据需要从DRAM读取的数据量是Μ =720x4x4byte,这些数据写入行缓冲器的时间T1 = 720x4x3.3ns,显示时序驱动器会在时间T2 = 858x37ns (858包括了有效区的720个像素和138个周期的行消隐区)内取走图像缩放模块运算得出的这一行数据,平均带宽=M/T2 = 0.36Gbyte/s,峰值带宽=M/T1 =1.2Gbyte/So如果使用按块取数方式,并不会出现上述连续取4行数据的过程,而是将4行数据分成多个4x8的块在显示时序驱动器的一行显示时间里从DRAM取出来,因此大大降低了峰值带宽。
[0046]本领域技术人员不脱离本发明的实质和精神,可以有多种变形方案实现本发明,以上所述仅为本发明较佳可行的实施例而已,并非因此局限本发明的权利范围,凡运用本发明说明书及附图内容所作的等效结构变化,均包含于本发明的权利范围之内。
【主权项】
1.一种降低图像缩小处理时系统峰值带宽的方法,其特征在于,包括步骤:在进行图像缩小处理时,存储器直接访问DMA模块根据运算窗口的行列数大小,读取存储器中的图像数据并控制存储器读取地址的换行和换列,在读取的数据个数达到所述运算窗口的宽度列数或者所述宽度列数的倍数时所述读取地址即进行换行,在读取的数据行数达到所述运算窗口的高度行数时所述读取地址即偏移所述运算窗口的宽度列数或者所述宽度列数的倍数。2.根据权利要求1所述的降低图像缩小处理时系统峰值带宽的方法,其特征在于:在所述存储器直接访问DMA模块内设置地址跳转控制模块,控制存储器读取地址的换行和换列。3.根据权利要求2所述的降低图像缩小处理时系统峰值带宽的方法,其特征在于:所述地址跳转控制模块包括第一计数器、第二计数器、第三计数器和第四计数器,第一计数器用于将计数累计至图像的总列数,第二计数器用于将计数累计至所述运算窗口的宽度列数,第三计数器用于将计数累计至图像的总行数,第四计数器用于将计数累计至所述运算窗口的高度行数。4.根据权利要求3所述的降低图像缩小处理时系统峰值带宽的方法,其特征在于:在图像缩放模块设置双缓冲器,即第一缓冲器和第二缓冲器,以及行缓冲控制模块,第一缓冲器写入数据时,第二缓冲器向所述行缓冲控制模块传送数据,第二缓冲器写入数据时,第一缓冲器向所述行缓冲控制模块传送数据。5.根据权利要求4所述的降低图像缩小处理时系统峰值带宽的方法,其特征在于:所述运算窗口的行列数大小设为4行乘以4列。6.一种降低图像缩小处理时系统峰值带宽的装置,其特征在于:包括存储器、存储器直接访问DMA模块和图像缩放模块,所述存储器、所述存储器直接访问DMA模块和所述图像缩放模块依次相连,所述存储器用于存储图像数据,所述存储器直接访问DMA模块用于在进行图像缩小处理时,根据运算窗口的行列数大小读取存储器中的图像数据并控制存储器读取地址的换行和换列,在读取的数据个数达到所述运算窗口的宽度列数或者所述宽度列数的倍数时所述读取地址即进行换行,在读取的数据行数达到所述运算窗口的高度行数时所述读取地址即偏移所述运算窗口的宽度列数,所述图像缩放模块用于根据所述运算窗口的行列数大小对所述图像数据进行缩小处理。7.根据权利要求6所述的降低图像缩小处理时系统峰值带宽的装置,其特征在于:在所述存储器直接访问DMA模块内设置地址跳转控制模块,控制存储器读取地址的换行和换列。8.根据权利要求7所述的降低图像缩小处理时系统峰值带宽的装置,其特征在于:所述地址跳转控制模块包括第一计数器、第二计数器、第三计数器和第四计数器,第一计数器用于将计数累计至图像的总列数,第二计数器用于将计数累计至所述运算窗口的宽度列数,第三计数器用于将计数累计至图像的总行数,第四计数器用于将计数累计至所述运算窗口的高度行数。9.根据权利要求8所述的降低图像缩小处理时系统峰值带宽的装置,其特征在于:在所述图像缩放模块设置双缓冲器,即第一缓冲器和第二缓冲器,以及行缓冲控制模块,第一缓冲器写入数据时,第二缓冲器向所述行缓冲控制模块传送数据,第二缓冲器写入数据时,第一缓冲器向所述行缓冲控制模块传送数据。10.根据权利要求9所述的降低图像缩小处理时系统峰值带宽的装置,其特征在于:所述运算窗口的行列数大小设为4行乘以4列。
【专利摘要】本发明公开了一种降低图像缩小处理时系统峰值带宽的方法和装置,方法包括步骤:在进行图像缩小处理时,存储器直接访问DMA模块根据运算窗口的行列数大小,读取存储器中的图像数据并控制存储器读取地址的换行和换列,在读取的数据个数达到所述运算窗口的宽度列数或者所述宽度列数的倍数时所述读取地址即进行换行,在读取的数据行数达到所述运算窗口的高度行数时所述读取地址即偏移所述运算窗口的宽度列数或者宽度列数的倍数。本发明改变现有技术图像缩小处理按行取数的方式,DMA按块取数,在进行图像缩小时不用总线干预就能自我控制峰值带宽,本发明无需增加大量缓冲器,因此低成本;无需总线限制峰值带宽,对系统总线的要求低。
【IPC分类】G06F13/16, G06F12/08
【公开号】CN105243028
【申请号】CN201510563803
【发明人】张俊, 张庆
【申请人】珠海全志科技股份有限公司
【公开日】2016年1月13日
【申请日】2015年9月6日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1