基于fpga平台的高还原度空域图像缩放方法
【专利摘要】本发明公开了一种基于FPGA平台的高还原度空域图像缩放方法,该方法基于传统的零阶差值算法并进行改进,利用空域中临近像素信息的相关性,对空域彩色图像的亮度和色度分量分别进行缩放处理,从而实现图像细节还原度较高的图像缩放操作。该方法应用于对清晰度要求较高的实时视频图像的缩放功能。该方法所使用的软件包括像素信息缓存模块时钟调整模块、临近相关像素提取模块、双线性系数统计模块和输出值计算模块,应用于对清晰度要求较高的实时视频图像的缩放功能。本发明中公开的方法能够应用在不同场景中来对图像进行任意比例的缩放,同时最大限度的保留图像细节,满足对于图像清晰度和分辨率的要求。
【专利说明】基于FPGA平台的高还原度空域图像缩放方法
【技术领域】
[0001]本发明涉及一种图像处理方法,涉及一种基于FPGA平台的高还原度空域图像缩放方法。
【背景技术】
[0002]目前对于图像缩放的主要方法为临近差值法或零阶差值法,上述方法在进行图像缩放的同时,对图像细节有较大牺牲,会使图像形成马赛克效果,对于清晰度和细节要求较高的视频流或图像往往难以满足要求。
【发明内容】
[0003]本发明就是为了解决上述现有技术中的问题,提供了一种基于FPGA平台的高还原度空域图像缩放方法。
[0004]为了达到上述目的,本发明采用如下技术方案:
本发明的基于FPGA平台的高还原度空域图像缩放方法,该方法所使用的软件包括像素信息缓存模块时钟调整模块、临近相关像素提取模块、双线性系数统计模块和输出值计算模块,该方法的具体步骤如下:
像素信息缓存模块与时钟调整模块,根据视频缩放比例计算需要缓存的像素数量,并利用RAM资源进行缓存,缓存深度由缩放比例决定;基于源图像尺寸和缩放比例对目标图像进行映射,得到目标图像中每个像素点在源图像中的坐标;同时根据缩放后的数据量调整输出的时钟域,以达到输入输出数据效率平衡;
临近相关像素提取模块,根据输入数据和调整后的输出数据速度进行RAM数据的读取和覆盖,并提取出与目标像素点临近的4个参考点的像素值;把缓冲过的数据中相应位置相邻两行各提取出两个像素点,组成需要处理的2*2像素矩阵;
双线性系数统计模块,对每一个像素的2*2参考点矩阵,根据像素信息缓存模块计算出的目标图像各点在源图像中的坐标,计算出源图像每个参考点对于目标点的相应加权系数;
输出值计算模块,利用以上步骤求出的相关点矩阵和系数分别进行加权滤波,计算出滤波后的像素值,并配合相应同步信号输出。
[0005]本发明具有的优点和积极效果是:
本发明的基于FPGA平台的高还原度空域图像缩放方法,该方法基于传统的零阶差值算法并进行改进,利用空域中临近像素信息的相关性,对空域彩色图像的亮度和色度分量分别进行缩放处理,从而实现图像细节还原度较高的图像缩放操作。该方法应用于对清晰度要求较高的实时视频图像的缩放功能。
【专利附图】
【附图说明】
[0006]图1是本发明的图像缩放的示意图; 图2是本发明的图像缩放系统的结构框图。
【具体实施方式】
[0007]下面结合附图和具体实施例对本发明的基于FPGA平台的高还原度空域图像缩放方法做进一步说明。下述各实施例仅用于说明本发明而并非对本发明的限制。
[0008]本发明的基于FPGA (Field Programmable Gate Arrays现场可编程门阵列)平台的高还原度空域图像缩放方法,该方法所使用的软件包括像素信息缓存模块时钟调整模块、临近相关像素提取模块、双线性系数统计模块和输出值计算模块,如图2所示,该方法的具体步骤如下:
像素信息缓存模块与时钟调整模块,根据视频缩放比例计算需要缓存的像素数量,并利用RAM资源进行缓存,同时根据缩放后的数据量整输出的时钟域,以达到输入输出数据效率平衡;
临近相关像素提取模块,根据输入数据和调整后的输出数据速度进行RAM数据的读取和覆盖,并提取出与目标像素点临近的4个参考点的像素值;
双线性系数统计模块,对每一个像素的2*2参考点矩阵,计算出每个参考点的相应加成系数;
输出值计算模块,利用以上步骤求出的相关点矩阵和系数分别进行加权滤波,计算出滤波后的像素值,并配合相应同步信号输出。
[0009]本发明中公开的方法能够应用在不同场景中来对图像进行任意比例的缩放,同时最大限度的保留图像细节,满足对于图像清晰度和分辨率的要求。
[0010]假设源图像F分辨率为M*N,目标图像F’分辨率为M’*N’,消隐区宽度也做相应考虑,可得出行列缩放比例和输出时钟,达到缓存空间中输入输出数据平衡。输出图像中坐标为(x,y)的点(见图1,0形为源图像点,X为目标图像点),在源图像中坐标反推结果为(x*M/M’,y*N/N’),其中横纵坐标的整数部分分别用i,j表示,小数部分分别用p,q表示,则目标点在源图像中坐标反推点坐标可表示为(i+u, j+v),由此可得,与目标点相关的2*2源图像点坐标分别为(i,j)、(i+l,j)、(i,j+l)、(i+l,j+l),F,(x, y) = (l_p) * (l_q) *F(i, j) +p*(l-q)*F(i+l, j) + (l-p)*q*F(i, j+1) + p*q*F(i+l, j+1),即为目标图像中坐标(x, y)点的输出值。
[0011]功能整体实现采用流水线的方式,首先对目标图像做基于源图像的映射,得到每个目标点在源图像中的坐标,坐标用16bit浮点数表示,整数和小数部分各8bit,使用RAM做行缓冲,缓冲深度由缩放比例决定,用缓冲过的上一行像素和当前像素组成需要处理的2*2矩阵,其中左上角点坐标用前面计算出的浮点数的整数部分来定位,然后计算目标点加权后的像素值,加权值用浮点数的小数部分决定,亮度和色度通道同时进行该操作,所得结果即为最终视频缩放的输出值。
[0012]本发明中公开的方法能够应用在不同场景中来对图像进行任意比例的缩放,同时最大限度的保留图像细节,满足对于图像清晰度和分辨率的要求。
【权利要求】
1.一种基于FPGA平台的高还原度空域图像缩放方法,其特征在于,该方法所使用的软件包括像素信息缓存模块时钟调整模块、临近相关像素提取模块、双线性系数统计模块和输出值计算模块,该方法的具体步骤如下: 像素信息缓存模块与时钟调整模块,根据视频缩放比例计算需要缓存的像素数量,并利用RAM资源进行缓存,缓存深度由缩放比例决定;基于源图像尺寸和缩放比例对目标图像进行映射,得到目标图像中每个像素点在源图像中的坐标;同时根据缩放后的数据量调整输出的时钟域,以达到输入输出数据效率平衡; 临近相关像素提取模块,根据输入数据和调整后的输出数据速度进行RAM数据的读取和覆盖,并提取出与目标像素点临近的4个参考点的像素值;把缓冲过的数据中相应位置相邻两行各提取出两个像素点,组成需要处理的2*2像素矩阵; 双线性系数统计模块,对每一个像素的2*2参考点矩阵,根据像素信息缓存模块计算出的目标图像各点在源图像中的坐标,计算出源图像每个参考点对于目标点的相应加权系数; 输出值计算模块,利用以上步骤求出的相关点矩阵和系数分别进行加权滤波,计算出滤波后的像素值,并配合相应同步信号输出。
【文档编号】G06T3/40GK103646378SQ201310567680
【公开日】2014年3月19日 申请日期:2013年11月15日 优先权日:2013年11月15日
【发明者】戴林, 边伟, 白云飞 申请人:天津天地伟业数码科技有限公司