CN104240181B - 一种垂直滤波器的图像垂直尺寸缩小方法 - Google Patents
一种垂直滤波器的图像垂直尺寸缩小方法 Download PDFInfo
- Publication number
- CN104240181B CN104240181B CN201410439171.4A CN201410439171A CN104240181B CN 104240181 B CN104240181 B CN 104240181B CN 201410439171 A CN201410439171 A CN 201410439171A CN 104240181 B CN104240181 B CN 104240181B
- Authority
- CN
- China
- Prior art keywords
- row buffer
- filtering
- caching
- module
- num
- 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.)
- Active
Links
Landscapes
- Image Processing (AREA)
Abstract
本发明公开了一种垂直滤波器的图像垂直尺寸缩小方法。该方法具体包括以下步骤:第一步、确定垂直滤波器需要的行缓存器和选择器数量;第二步、根据第一步中确定的行缓存器数量设计垂直滤波器;第三步、基于第二步中设计出来的垂直滤波器,进行图像垂直尺寸缩小的数据传输。该方法在保证图像缩小质量的前提下,显著的节省行缓存器资源的使用,从而有效的控制图像垂直滤波器设计的成本。该垂直滤波器结构可支持垂直方向上图像尺度的任意比例缩小,在缩小比例较低时滤波计算不丢失任何图像信息,仍然可以保证良好的图像质量。
Description
技术领域
本发明属于图像处理领域,具体是一种垂直滤波器的图像垂直尺寸缩小方法。
背景技术
无论是在静态图像处理还是视频图像处理中,图像尺寸的缩放都是其中一个十分重要的环节,广泛应用于数字电视、视频监控、卫星成像等领域。在对图像垂直方向尺寸进行缩小时,一般是通过使用一定阶数的低通滤波器对图像每一列的像素点数据进行降采样来完成的。视频图像通常是按照行扫描的顺序按像素点逐个传输的,因此传统的尺度缩小方法必须对垂直滤波所需的每一行像素点数据都进行预先缓存,当满足计算条件时再进行垂直方向的滤波计算。为了在降采样后保持缩小图像的质量,所使用的滤波器需要根据图像缩小的最小比例来确定行缓存器数量,缩小比例越小,需要的行缓存器就越多。如图1所示,若垂直缩小比例为1/8,如果滤波阶数不足(图中以2阶滤波器为例),则会出现图像中某些行的像素无法参与滤波而被直接丢弃,因此在这种情况下,至少需要使用8阶滤波器(8个行缓存器)才能保证垂直方向上的每一个像素点都参与滤波运算,从而保证滤波质量,参见图2。
目前视频图像尺寸实时缩放滤波器的实现方式主要是通过FPGA或ASIC来设计,而传统的设计方法行缓存器数量占用大、乘法器资源使用多,这两类资源是导致FPGA逻辑资源以及ASIC功耗、面积增加的直接因素,从而导致了设计实现成本的显著增长,尤其是在多路视频数据并行处理领域,产生的成本消耗十分巨大。
发明内容
针对现有技术的不足,本发明拟解决的技术问题是:设计一种垂直滤波器的图像垂直尺寸缩小方法。该方法在保证图像缩小质量的前提下,显著的节省行缓存器资源的使用,从而有效的控制图像垂直滤波器设计的成本。
本发明解决所述技术问题的技术方案是,设计一种垂直滤波器的图像垂直尺寸缩小方法,该方法具体包括以下步骤:
第一步、确定垂直滤波器需要的行缓存器和选择器数量:将图像垂直方向尺寸缩小比例划分为有限个分立区间(SR0,SR1,……SRn),将分立区间的最大值表示为max(SRx),最小值表示为min(SRx),用min(LB_numx)表示所需的行缓存器数量,tap_numx表示不同分立区间使用的滤波阶数;则对不同分立区间进行滤波所需的行缓存器数量可表示为:
min(LB_num1)=tap_num1*max(SR1);
min(LB_num2)=tap_num2*max(SR2);
……
min(LB_numn)=tap_numn*max(SRn).
将所有分立区间设计统一为一个滤波结构,为满足各个分立区间的滤波需求,行缓存器的数量为LB_num=max(min(LB_num1),min(LB_num2),……min(LB_numn));选择器数量与行缓存器的数量相同;所述n为整数,x为0-n之间的任意整数;
第二步、根据第一步中确定的行缓存器数量设计垂直滤波器:该垂直滤波器包括缓存仲裁模块、缓存管理模块、缓存记录模块、阶数阵列、至少两个选择器、至少两个行缓存器以及输出选择模块;
第三步、基于第二步中设计出来的垂直滤波器,进行图像垂直尺寸缩小的数据传输:缓存仲裁模块根据图像垂直缩小比例预先计算好每一行像素点数据的采样位置,当新的一行像素点数据到来,缓存仲裁模块判断其属于新组滤波运算还是正在进行中的原组滤波运算,新组滤波运算分配到缓存管理模块,原组滤波运算发送到缓存记录模块;新组滤波运算的起始行像素点数据由缓存仲裁模块发送到缓存管理模块,缓存管理模块发出像素点数据,阶数列阵提供滤波阶数,像素点数据乘以滤波阶数后发送至选择器中的一个,经过所述选择器选择,存储至与之对应的行缓存器;同时缓存管理模块发出所述行缓存器被占用的信号给缓存记录模块;当同一组原组滤波运算的新一行像素点数据到来时,缓存仲裁模块将新一行像素点数据发送至缓存记录模块,阶数列阵提供滤波阶数,像素点数据乘以滤波阶数后,与所述行缓存器回读数据相加后,经过所述选择器选择,再次存储至所述行缓存器;直至完成同一组原组滤波运算的所有像素点数据的乘加运算,缓存记录模块通知输出选择模块将滤波运算结果输出,滤波运算结果通过所述选择器发送至输出选择模块,输出选择模块将滤波运算结果输出,即完成了垂直滤波器的图像垂直尺寸的缩小。
所述缓存管理模块,主要是根据行缓存器的占用情况来为新组滤波数据选择行缓存器进行数据缓存,且每当使用一个新的行缓存器,缓存管理模块会发出行缓存器占用信号给缓存记录模块,表示新一组滤波数据运算启动。
所述缓存记录模块负责记录各组滤波数据运算的进行状态和行缓存器的占用情况,每当有新一行的像素点数据进入时都要对迭代次数进行累加,直到一组滤波数据运算完毕,释放相应的行缓存器,同时发出行缓存器释放信号给缓存管理模块,表示一组滤波运算完成。
所述阶数阵列,为每一行像素点数据选择对应的滤波阶数。滤波数据在进入与之相应的行缓存器之前需要进行滤波阶数计算,阶数阵列中储存所有的滤波阶数,根据滤波数据需要进行选择输出。滤波数据运算分为两种情况:1)数据从缓存管理模块输出后与滤波阶数相乘,并送入对应的行缓存器。2)数据从缓存记录模块输出后与滤波阶数相乘,同时该组滤波已经完成的中间运算结果会从对应的行缓存器中进行回读,与相乘结果进行累加,最后再次存储于行缓存器中,如此迭代循环,直到一组滤波运算全部完成为止。
所述选择器,根据缓存仲裁模块对像素点数据的分流结果,为行缓存器选择数据通路。
所述输出选择模块用于输出最终的滤波数据运算结果。当一组滤波运算全部完成时,缓存记录模块通知输出选择模块将完成滤波数据运算的结构输出。
本发明的有益效果是:
1、该垂直滤波器结构可支持垂直方向上图像尺度的任意比例缩小,在缩小比例较低时滤波计算不丢失任何图像信息,仍然可以保证良好的图像质量。
2、通过对行缓存器的仲裁管理与滤波分级操作机制,有效的利用并节约了行缓存器资源和与其对应的乘法器逻辑资源。
3、使用本发明设计图像垂直滤波装置,可以使用低成本的FPGA型号进行设计实现,同时也可以降低ASIC的设计实现成本。为降低成本,本发明将所有区间的设计统一为一个滤波结构。
附图说明
图1是传统1/8缩小比例情况下2阶滤波器滤波信息丢失示意图;
图2是传统垂直方向滤波器数据缓存结构及滤波原理图;
图3是本发明垂直滤波器的图像垂直尺寸缩小方法的一种实施例根据图像缩小比例的区间划分示意图;
图4是本发明垂直滤波器的图像垂直尺寸缩小方法的一种实施例垂直滤波器的工作流程图;
图5是本发明垂直滤波器的图像垂直尺寸缩小方法的一种实施例迭代型滤波数据运算示意图。
具体实施方式
下面给出本发明的具体实施例,但实施例仅是具体说明本发明,并不限制本发明申请权利要求的保护范围。
实施例1
将垂直滤波器的图像最小垂直缩小比例为原尺寸1/8。
第一步、确定垂直滤波器需要的行缓存器和选择器数量:
首先将[0,1]的缩小比例范围分为三个区间(参见图3),并且按照保证所有像素点数据都参与滤波的原则,每个区间对应一个特定的滤波阶数,分别为:
●缩小比:SR2~(1/2,1]对应的滤波阶数为2;
●缩小比:SR1~(1/4,1/2]对应的滤波阶数为4;
●缩小比:SR0~[0,1/4]对应的滤波阶数为8;
min(LB_num1)=tap_num1*max(SR1)=1*2=2;
min(LB_num2)=tap_num2*max(SR2)=1/2*4=2;
min(LB_num3)=tap_num3*max(SR3)=1/4*8=2;
因此,LB_num=max(min(LB_num1),min(LB_num2),min(LB_num3))=2。
可知垂直滤波器结构所使用的行缓存器数量为2。
第二步、根据第一步中确定的行缓存器数量设计垂直滤波器:该垂直滤波器包括缓存仲裁模块、缓存管理模块、缓存记录模块、阶数阵列、两个选择器、两个行缓存器以及输出选择模块。
第三步、基于第二步中设计出来的垂直滤波器,进行图像垂直尺寸缩小的数据传输(参见图4):缓存仲裁模块根据图像垂直缩小比例预先计算好每一行像素点数据的采样位置,当新的一行像素点数据到来,缓存仲裁模块判断其属于新组滤波运算还是正在进行中的原组滤波运算,新组滤波运算分配到缓存管理模块,原组滤波运算发送到缓存记录模块;新组滤波运算的起始行像素点数据发送时,观察行缓存器的状态,以第一行缓存器空闲为例,缓存管理模块发出像素点数据,阶数列阵提供滤波阶数为8阶,像素点数据乘以滤波阶数后,发送至第一选择器,存储至第一行缓存器,同时缓存管理模块发出第一行缓存器被占用的信号给缓存记录模块;当同一组原组滤波运算的新一行像素点数据到来时,缓存仲裁模块将新一行像素点数据发送至缓存记录模块,阶数列阵提供滤波阶数为8阶,像素点数据乘以滤波阶数后,与第一行缓存器回读数据相加后,经过第一选择器,存储至第一行缓存器;直至完成同一组原组滤波运算的所有像素点数据乘加运算(参见图5),缓存记录模块通知输出选择模块将滤波运算结果输出,滤波运算结果通过第一选择器发送至输出选择模块,输出选择模块将滤波运算结果输出,即完成了基于垂直滤波器的图像垂直尺寸的缩小。
同理,第二行缓存器空闲,工作过程相同。
本发明未述及之处适用现有技术。
Claims (1)
1.一种垂直滤波器的图像垂直尺寸缩小方法,其特征在于该方法具体包括以下步骤:
第一步、确定垂直滤波器需要的行缓存器和选择器数量:将图像垂直方向尺寸缩小比例划分为有限个分立区间(SR0,SR1,……SRn),将分立区间的最大值表示为max(SRx),最小值表示为min(SRx),用min(LB_numx)表示所需的行缓存器数量,tap_numx表示不同分立区间使用的滤波阶数;则对不同分立区间进行滤波所需的行缓存器数量可表示为:
min(LB_num1)=tap_num1*max(SR1);
min(LB_num2)=tap_num2*max(SR2);
……
min(LB_numn)=tap_numn*max(SRn).
将所有分立区间设计统一为一个滤波结构,为满足各个分立区间的滤波需求,行缓存器的数量为LB_num=max(min(LB_num1),min(LB_num2),……min(LB_numn));选择器数量与行缓存器的数量相同;所述n为整数,x为0-n之间的任意整数;
第二步、根据第一步中确定的行缓存器数量设计垂直滤波器:该垂直滤波器包括缓存仲裁模块、缓存管理模块、缓存记录模块、阶数阵列、至少两个选择器、至少两个行缓存器以及输出选择模块;
第三步、基于第二步中设计出来的垂直滤波器,进行图像垂直尺寸缩小的数据传输:缓存仲裁模块根据图像垂直缩小比例预先计算好每一行像素点数据的采样位置,当新的一行像素点数据到来,缓存仲裁模块判断其属于新组滤波运算还是正在进行中的原组滤波运算,新组滤波运算分配到缓存管理模块,原组滤波运算发送到缓存记录模块;新组滤波运算的起始行像素点数据由缓存仲裁模块发送到缓存管理模块,缓存管理模块发出像素点数据,阶数列阵提供滤波阶数,像素点数据乘以滤波阶数后发送至选择器中的一个,经过所述选择器选择,存储至与之对应的行缓存器;同时缓存管理模块发出所述行缓存器被占用的信号给缓存记录模块;当同一组原组滤波运算的新一行像素点数据到来时,缓存仲裁模块将新一行像素点数据发送至缓存记录模块,阶数列阵提供滤波阶数,像素点数据乘以滤波阶数后,与所述行缓存器回读数据相加后,经过所述选择器选择,再次存储至所述行缓存器;直至完成同一组原组滤波运算的所有像素点数据的乘加运算,缓存记录模块通知输出选择模块将滤波运算结果输出,滤波运算结果通过所述选择器发送至输出选择模块,输出选择模块将滤波运算结果输出,即完成了垂直滤波器的图像垂直尺寸的缩小;
所述缓存管理模块,根据行缓存器的占用情况来为新组滤波数据选择行缓存器进行数据缓存,且每当使用一个新的行缓存器,缓存管理模块会发出行缓存器占用信号给缓存记录模块,表示新一组滤波数据运算启动;
所述缓存记录模块负责记录各组滤波数据运算的进行状态和行缓存器的占用情况,每当有新一行的像素点数据进入时都要对迭代次数进行累加,直到一组滤波数据运算完毕,释放相应的行缓存器,同时发出行缓存器释放信号给缓存管理模块,表示一组滤波运算完成;
所述阶数阵列,为每一行像素点数据选择对应的滤波阶数;滤波数据在进入与之相应的行缓存器之前需要进行滤波阶数计算,阶数阵列中储存所有的滤波阶数,根据滤波数据需要进行选择输出;滤波数据运算分为两种情况:1)数据从缓存管理模块输出后与滤波阶数相乘,并送入对应的行缓存器;2)数据从缓存记录模块输出后与滤波阶数相乘,同时该组滤波已经完成的中间运算结果会从对应的行缓存器中进行回读,与相乘结果进行累加,最后再次存储于行缓存器中,如此迭代循环,直到一组滤波运算全部完成为止;
所述选择器,根据缓存仲裁模块对像素点数据的分流结果,为行缓存器选择数据通路;
所述输出选择模块用于输出最终的滤波数据运算结果;当一组滤波运算全部完成时,缓存记录模块通知输出选择模块将完成滤波数据运算的结构输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410439171.4A CN104240181B (zh) | 2014-08-29 | 2014-08-29 | 一种垂直滤波器的图像垂直尺寸缩小方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410439171.4A CN104240181B (zh) | 2014-08-29 | 2014-08-29 | 一种垂直滤波器的图像垂直尺寸缩小方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104240181A CN104240181A (zh) | 2014-12-24 |
CN104240181B true CN104240181B (zh) | 2017-09-15 |
Family
ID=52228193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410439171.4A Active CN104240181B (zh) | 2014-08-29 | 2014-08-29 | 一种垂直滤波器的图像垂直尺寸缩小方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104240181B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9749548B2 (en) * | 2015-01-22 | 2017-08-29 | Google Inc. | Virtual linebuffers for image signal processors |
CN111314579B (zh) * | 2020-02-21 | 2021-10-15 | 苏州浪潮智能科技有限公司 | 一种图像垂直滤波处理的方法及芯片 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6301596B1 (en) * | 1999-04-01 | 2001-10-09 | Ati International Srl | Partial sum filter and method therefore |
JP2008098724A (ja) * | 2006-10-06 | 2008-04-24 | Sharp Corp | 画像スケーリング回路 |
CN101520887A (zh) * | 2009-03-30 | 2009-09-02 | 北京中星微电子有限公司 | 一种图像缩放方法、装置及芯片 |
-
2014
- 2014-08-29 CN CN201410439171.4A patent/CN104240181B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6301596B1 (en) * | 1999-04-01 | 2001-10-09 | Ati International Srl | Partial sum filter and method therefore |
JP2008098724A (ja) * | 2006-10-06 | 2008-04-24 | Sharp Corp | 画像スケーリング回路 |
CN101520887A (zh) * | 2009-03-30 | 2009-09-02 | 北京中星微电子有限公司 | 一种图像缩放方法、装置及芯片 |
Non-Patent Citations (2)
Title |
---|
一种改进的低成本自适应双三次插值算法及VLSI实现;庞志勇;《自动化学报》;20130430;第39卷(第4期);第407-417页 * |
视频转换二维去闪烁滤波与缩放电路的设计;薛海卫等;《微电子学与计算机》;20080731;第25卷(第7期);第119-122页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104240181A (zh) | 2014-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105872432B (zh) | 快速自适应帧率变换的装置与方法 | |
WO2022121156A1 (zh) | 图像中目标物检测方法、装置、电子设备及可读存储介质 | |
CN111461083A (zh) | 基于深度学习的快速车辆检测方法 | |
WO2022166865A1 (zh) | 一种文字图像的阴影消除方法、装置及电子设备 | |
JP2022506920A (ja) | 区画線検出方法、装置、電子機器及び可読記憶媒体 | |
CN114253724B (zh) | 一种bim模型渲染方法及系统 | |
CN110706151B (zh) | 一种面向视频的非均匀风格迁移方法 | |
CN106934058A (zh) | 矢量数据读取方法及系统、矢量数据可视化方法及系统 | |
CN104240181B (zh) | 一种垂直滤波器的图像垂直尺寸缩小方法 | |
CN113610912B (zh) | 三维场景重建中低分辨率图像单目深度估计系统及方法 | |
CN113673529B (zh) | 语义分割模型训练方法、硅熔融状态检测方法及电子设备 | |
CN111951368A (zh) | 一种点云、体素和多视图融合的深度学习方法 | |
CN102402918A (zh) | 改善画面画质的方法及lcd显示器 | |
CN112132232A (zh) | 医学图像的分类标注方法和系统、服务器 | |
CN111145074A (zh) | 全液晶仪表图像渲染方法 | |
US11450009B2 (en) | Object detection with modified image background | |
CN104050635B (zh) | 一种模板尺寸可变的图像非线性滤波实时处理系统及方法 | |
CN117037127A (zh) | 一种基于行李类型的托盘分配方法 | |
CN103324956A (zh) | 一种基于分布式视频检测的座位统计方法 | |
CN116403200A (zh) | 基于硬件加速的车牌实时识别系统 | |
CN115238659A (zh) | 一种报表数据处理方法和装置 | |
CN108875733A (zh) | 一种红外小目标快速提取系统 | |
Yang et al. | A feature extraction technique in stereo matching network | |
CN109599056A (zh) | 图像数据处理方法及装置、图像数据处理器及其应用 | |
CN111339863B (zh) | 一种基于物体导向外部记忆模块的视频物体检测模型 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180410 Address after: 300308 Tianjin District of Dongli City Airport Economic Zone bonded Road No. 357 Patentee after: TIANJIN JINHANG INSTITUTE OF COMPUTING TECHNOLOGY Address before: 300308 Tianjin District of Dongli City Airport Economic Zone bonded Road No. 357 Patentee before: NO.8357 Research Institute of the Third Academy of China Aerospace Science & Industry Corp. |