CN113763250B - 一种自适应图像缩放处理方法及*** - Google Patents
一种自适应图像缩放处理方法及*** Download PDFInfo
- Publication number
- CN113763250B CN113763250B CN202111062965.XA CN202111062965A CN113763250B CN 113763250 B CN113763250 B CN 113763250B CN 202111062965 A CN202111062965 A CN 202111062965A CN 113763250 B CN113763250 B CN 113763250B
- Authority
- CN
- China
- Prior art keywords
- vcnt
- data
- image
- hcnt
- target image
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 230000003044 adaptive effect Effects 0.000 title claims description 18
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000004364 calculation method Methods 0.000 claims description 49
- 239000000872 buffer Substances 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000009825 accumulation Methods 0.000 claims description 5
- 230000003139 buffering effect Effects 0.000 claims description 5
- 230000003321 amplification Effects 0.000 claims description 4
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 238000005457 optimization Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005587 bubbling Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20004—Adaptive image processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种自适应图像缩放处理方法及***。所属方法包括以下步骤:确定输入图像的缩放系数;根据获取的目标图像的坐标,采用双线性插值法计算目标图像水平坐标的像素值和垂直坐标的像素值得到全部图像缩放数据。本发明的实施例中,通过对双线性插值法的优化,进一步减少了运算量,最大程度地减少了硬件电路的面积。
Description
技术领域
本发明涉及图像缩放技术领域,具体涉及一种自适应图像缩放处理方法及***。
背景技术
图像缩放处理是指对图像的大小进行放大或者缩小的一种图像处理方式,目前图像缩放处理广泛应用于视频显示领域,常用的图像缩放算法包括最近邻域插值算法、二次线性插值算法、双三次插值算法以及高阶插值算法等图像缩放算法。
随着科学技术的发展,图像传感器性能大幅度提升,输出图像尺寸越来越大,而机器视觉、AI智能等场景对图像的实时性要求较高,为提升智能场景的运算效率,现有的二次线性插值算法的运算效率尚有很多不足,而且在进行高精度运算时需要增大硬件电路的负担,不仅增加硬件成本,硬件电路还占据芯片很大的空间。
鉴于此,本发明提出一种自适应图像缩放处理方法及***。
发明内容
本发明所要解决的技术问题是:对图像的实时性精确性要求较高的场景中,现有的二次线性插值算法的运算效率尚有很多不足,而且在进行高精度运算时需要增大硬件电路的负担,不仅增加硬件成本,硬件电路还占据芯片很大的空间,本发明目的在于提供一种自适应图像缩放处理方法及***,旨在实现减小硬件电路负担的同时提高运算效率,满足对图像的实时性要求较高的应用场景。
本发明通过下述技术方案实现:
本方案提供一种自适应图像缩放处理方法,包括步骤:
S1、基于目标图像的属性使用多次一级运算法确定输入图像的缩放系数;
S2、基于缩放系数通过设置计数器的步进值,获得目标图像的水平坐标和垂直坐标;
S3、根据步骤S2获得的目标图像的坐标,采用双线性插值法分步计算目标图像水平坐标的像素值和垂直坐标的像素值;
S4、对目标图像的水平坐标数据先进行数据对齐后再缓冲处理;
S5、基于垂直坐标数据和缓冲处理后的水平坐标数据输出目标图像。
本方案工作原理:随着科学技术的发展,图像传感器性能大幅度提升,输出图像尺寸越来越大,而机器视觉、AI智能等场景对图像处理的准确性和实时性要求较高。而在图像缩放过程中进行大量的高精度运算,不仅会降低运算效率,且对硬件电路的要求更严格,增加了硬件电路的负担。采用现有的二次线性插值算法计算图像缩放系数时都需要用到除法运算,在进行高精度运算时需要增大硬件电路的负担,导致硬件电路布线困难从而导致面积增大,不仅增加硬件成本,硬件电路还会占据芯片很大的空间。此外,除法运算的计算结果近似取值时会导致目标坐标点漂移。本方案在确定输入图像的缩放系数时使用多次一级运算法来代替除法运算,不仅保证运算精度,且最大程度地减少了硬件电路的面积。同时,在进行线性插值计算时将目标图像的水平坐标的数据计算和垂直坐标的数据计算过程分解开,采用分步计算方式,进一步减小了运算量。
双线性插值法原理为:如图3所示,f(x,y)为双线性插值目标向量,f(0,0)f(0,1)f(1,0)f(1,1)为插值前的原始向量。
计算公式推导如下:
首先,在x方向上对f(0,0)与f(1,0)进行线性插值计算,
f(x,0)=f(0,0)*(1-x)+f(1,0)*x
=f(0,0)+[f(1,0)-f(0,0)]*x 公式A
同样,在x方向上对f(0,1)与f(1,1)进行线性插值计算,
f(x,1)=f(0,1)*(1-x)+f(1,1)*x
=f(0,1)+[f(1,1)-f(0,1)]*x 公式B
然后,在y方向上对f(x,0)与f(x,1)进行线性插值计算,
f(x,y)=f(x,0)*(1-y)+f(x,1)*y
=f(x,0)+[f(x,1)-f(x,0)]*y 公式C
即,f(x,y)
=f(0,0)+[f(1,0)-f(0,0)]*x+{f(0,1)+[f(1,1)-f(0,1)]*x-f(0,0)-[f(1,0)-f(0,0)]*x}*y
=f(0,0)+[f(1,0)-f(0,0)]*x+[f(0,1)-f(0,0)]*y+[f(1,1)-f(0,1)-f(1,0)+f(0,0)]*x*y
=f(0,0)*(1-x-y+xy)+f(1,0)*(x-xy)+f(0,1)*(y-xy)+f(1,1)*x*y 公式D
通过双线性插值算法对图像进行缩小时,假设输入图像尺寸为a*b,目标图像尺寸为m*n,可得缩小目标图像i行j列像素点在输入图像坐标系的位置f(x,y)为
f(x,y)=f(a/m*i,b/n*j)
假定kh=a/m,kv=b/n,(kh和kv分别为水平缩放系数和竖直缩放系数)
即f(x,y)=f(kh*i,kv*j) 公式E
即,(x,y)周边四个像素点分别为:
(int(kh*i),int(kv*j)),
(int(kh*i),int(kv*j)+1),
(int(kh*i)+1,int(kv*j)),
(int(kh*i)+1,int(kv*j)+1);
通过公式A、公式B和公式C对(x,y)周边四个像素点进行插值,即可得到缩放图像i行j列像素点,从而实现图像缩放。
参考公式E可知,缩放系数kh与kv计算时需要用到除法运算,因为硬件电路中高精度除法运算会增大电路负担,并且帧单位时间内完成缩放系数计算即可满足需求,因此采用多次减计算的方法实现除法运算时,电路面积更小。
进一步优化方案为,所述多次一级运算法包括多次减运算或累加运算。
进一步优化方案为,当目标图像为固定尺寸(即1920*1080)时,使用累加运算法确定输入图像的缩放系数,具体步骤包括:
T1、将目标图像的尺寸放大至2k,其中k根据所需精度进行设定;
T2、对输入图像的尺寸进行同比放大;
T3、将步骤T2中得到的尺寸转化为二进制数得到缩放系数;
T4、根据步骤T1-T3确定出输入图像水平方向的缩放系数和竖直方向的缩放系数。
进一步优化方案为,所述多次减运算包括步骤:
A1、将输入图像的尺寸放大2k倍,其中k根据所需精度进行设定;
A2、令步骤A1得到的值多次减去目标图像的尺寸,直至多次减法的计算结果小于目标图像的尺寸,记录减法计算的次数;
A3、将步骤A2中减法计算的次数转化为二进制数并精度简化后得到缩放系数;
A4、根据步骤A1-A3确定出输入图像水平方向的缩放系数和竖直方向的缩放系数。
硬件电路实现过程中,随着缩放系数小数精度保留程度不同,缩小后图像尺寸可能会出现微小偏差,考虑缩小结果尺寸不应小于目标尺寸,所述精度简化时采用直接丢弃下位bit精度的方式,不进行四舍五入,精度简化导致的输出图像尺寸增大的问题,通过后续输出图像坐标生成电路进行尺寸剪裁。
进一步优化方案为,步骤S3具体包括:
H1、基于与输入图像数据时序同步的计数器获得目标图像的水平坐标和垂直坐标并确定插值参考点;
H2、基于插值参考点根据双线性插值法构建分步线性插值模型;
H3、通过线性插值模型进行分步线性插值计算得到目标图像的水平坐标的像素值和垂直坐标的像素值。
进一步优化方案为,步骤H1具体包括:由于硬件图像处理***中,输入图像数据是按照数据流的方式逐行逐个传输数据,因此以与输入图像数据时序同步的行计数器s_hcnt和列计数器s_vcnt作为输入图像数据的坐标位置;设置目标图像虚行计数器d_hcnt与虚列计数器d_vcnt,虚行计数器d_hcnt与虚列计数器d_vcnt的下位设置小数位,小数位表示尺寸计算精度;计数器步进值设置为缩放系数,计数最大值为目标图像尺寸值,当完成一次目标图像坐标输出后计数器累加一次;
令d_hcnt与d_vcnt的整数部分等于s_hcnt与s_vcnt,以(d_hcnt,d_vcnt)周边的(s_hcnt,s_vcnt)、(s_hcnt,s_vcnt+1)、(s_hcnt+1,s_vcnt)、(s_hcnt+1,s_vcnt+1)点作为插值参考点。
进一步优化方案为,步骤H2具体包括:设目标图像在输入图像坐标系中的位置即为f(x,y);将公式A公式B公式C中的插值点(0,0)、(0,1)、(1,0)、(1,1)替换为插值参考点得到:
在水平方向上对f(s_hcnt,s_vcnt)与f(s_hcnt+1,s_vcnt)进行线性插值计算有模型:f(x,s_vcnt)=f(s_hcnt,s_vcnt)+[f(s_hcnt+1,s_vcnt)-f(s_hcnt,s_vcnt)]*(x-s_hcnt)公式A‘;
在水平方向上对f(s_hcnt,s_vcnt+1)与f(s_hcnt+1,s_vcnt+1)进行线性插值计算模型:f(x,s_vcnt+1)=f(s_hcnt,s_vcnt+1)+[f(s_hcnt+1,s_vcnt+1)-f(s_hcnt,s_vcnt+1)]*(x-s_hcnt)公式B‘;
在垂直方向上对f(x,s_vcnt)与f(x,s_vcnt+1)进行线性插值计算有模型:f(x,y)=f(x,s_vcnt)+[f(x,s_vcnt+1)-f(x,s_vcnt)]*(y-s_vcnt)公式C’。
假定d_hcnt与d_vcnt整数部分等于s_hcnt与s_vcnt,又因为f(x,y)=f(d_hcnt,d_vcnt)
因此公式A’、公式B’和公式C’中的乘算系数(x-s_hcnt)与(y-s_vcnt)即为d_hcnt与d_vcnt的小数部分。
图像数据处理硬件***中,数据传输速率通常很高;例如,分辨率3840×2160帧频60fps的***,假定场消隐与行消隐时间占比分别为10%,传输1个图像数据的时间为1s/60/(2160*1.1)/(3840*1.1)=1.66ns;如果采用单通道进行计算,需要时钟频率为1/(1.66*1000 000 000)=602.41MHz,显然对于数字硬件电路设计时,需要采用进行多通道同时并行计算的方案,才能满足高性能需求的场景。
当d_hcnt与d_vcnt整数部分等于s_hcnt与s_vcnt时,可锁定目标点周围四个插值参考点,从而通过线性插值得到目标图像坐标点的值,即当d_hcnt与d_vcnt整数部分不等于s_hcnt与s_vcnt时,没有有效图像值输出;即因为缩小处理后数据量减少,缩小后图像数据的传输在时间上不连续。
进一步优化方案为,所述有效数据对齐方法包括:
先将目标图像的水平坐标的数据传输通道均匀分割成若干个组通道;
再用穷举法对各个组通道的数据进行两次数据对齐。
对于低性能场景采用单通道方案,可以通过判断是否有数据传输,间隔的将数据写入行缓冲器,而对于高性能场景的多通道方案而言,输出传输不连续的问题将变得复杂。例如对于8通道处理***,同一个时钟周期输入8个数据,输出有效数据个数根据缩小比例为0—8之间的任意值,并且每个时钟周期输出的有效数据个数不是固定值;因此需要将输出数据对齐后,再依次写入行缓冲器。
关于数据对齐方案,首先,数据对齐是指把散落在各通道的有效数据汇聚到一起,即有效数据连续的排列在一起,例如8通道***中,如图4所示,假设有5个有效数据分散其中,此处需要把5个有效数据汇聚到连续的5个通道中。
对于高性能多通道场景的数据对齐实现而言,采用用冒泡算法,通过流水线pipeline逐级对齐的方案时,多级流水线会导致硬件电路面积增大。采用穷举法将输入输出的各种可能性列举,一次性完成数据对齐的方案时,虽然相比于pipeline方案面积大幅度减小,但对于8通道以上的场景,有效数据分布可能性太多(如8通道时有 种组合),穷举法会导致硬件电路布线困难从而导致面积增大,因此,此处采用穷举法+流水线的方式对硬件电路进行优化;首先将通道进行分割(如8通道时,分割为2个4通道),然后使用穷举法对分割后的各组通道进行数据对齐,因为4通道时只有2^4=16种组合,不存在硬件电路布线困难的问题。各组通道数据对齐后,再使用穷举法对各组数据进行二次对齐,从而完成最终的数据对齐。
对于N通道的设计而言,每个时钟周期对齐后的数据个数为0~N任意,而行缓冲器入口大小是固定的,因此需要通过前置缓冲器,将对齐后的数据调整为固定大小,从而满足行缓冲器的输入端口宽度。
进一步优化方案为,所述缓冲处理过程为:
构建N*3深度的先入先出缓冲器,N为数据传输通道数;将对齐后数据个数0~N进行累加的结果作为输入地址,超过N*3后复位到0;
每次固定写入N个数据,前一次写入的无效数据通过输入地址控制在下一次写入时进行覆盖,输出地址限制为0、N、2N三个地址值,每次读出N个数据,当判断读出操作不导致缓冲器上下溢出时进行一次读操作,最后将数据写入行缓冲器后输出。
行采用SRAM存储器,考虑SRAM入口需要满足最大传输需求,即N通道的所有数据全部有效,即选用每个地址对应N个图像数据,可以存储整行数据的SRAM作为行缓冲。
基于上述自适应图像缩放处理方法,本方案还提供一种自适应图像缩放处理***,包括:包括:缩放系数计算单元、水平图像数据计算单元、垂直图像数据计算单元、水平图像数据处理单元、缓冲单元和输出单元;
所述缩放系数计算单元基于目标图像的属性使用多次一级运算法确定输入图像的缩放系数;
水平图像数据计算单元基于缩放系数根据双线性插值法计算出目标图像的水平坐标的像素值;
垂直图像数据计算单元基于缩放系数根据双线性插值法计算出目标图像的垂直坐标的像素值;
水平图像数据处理单元用于对目标图像的水平坐标数据先进行有效数据对齐;
缓冲单元用于对有效数据对齐后的数据进行缓冲处理;
输出单元基于垂直坐标数据和缓冲处理后的水平坐标数据输出目标图像。
本发明与现有技术相比,具有如下的优点和有益效果:
1、本发明提供的一种自适应图像缩放处理方法及***,对现有的双线性插值算法进行改进,对算法计算过程的分解,通过水平垂直计算分离的方案,以减少计算量,进而减小硬件电路面积;
2、本发明提供的一种自适应图像缩放处理方法及***,在确定输入图像的缩放系数时使用多次一级运算法来代替除法运算,不仅进一步减少硬件电路的面积,而且保证了运算精度;通过多通道并行处理的方案,实现高性能运算需求;
3、本发明提供的一种自适应图像缩放处理方法及***,通过数据对齐及前置缓冲的方案,以更优化的硬件电路解决并行运算模块与行存储器之间的接口匹配问题。
附图说明
为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在附图中:
图1为自适应图像缩放处理方法流程示意图;
图2为自适应图像缩放处理***结构示意图;
图3为双线性插值法原理示意图;
图4为数据对齐过程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1
如图1所示,本实施例提供一种自适应图像缩放处理方法,包括步骤:
S1、基于目标图像的属性使用多次一级运算法确定输入图像的缩放系数;
S2、基于缩放系数通过设置计数器的步进值,获得目标图像的水平坐标和垂直坐标;
S3、根据步骤S2获得的目标图像的坐标,采用双线性插值法分步计算目标图像水平坐标的像素值和垂直坐标的像素值;
S4、对目标图像的水平坐标数据先进行数据对齐后再缓冲处理;
S5、基于垂直坐标数据和缓冲处理后的水平坐标数据输出目标图像;
目标图像为固定尺寸(1920*1080)时,使用累加运算法确定输入图像的缩放系数,具体步骤包括:
T1、将目标图像的尺寸放大至2k,其中k根据所需精度进行设定;
T2、对输入图像的尺寸进行同比放大;
T3、将步骤T2中得到的尺寸转化为二进制数得到缩放系数;
T4、根据步骤T1-T3确定出输入图像水平方向的缩放系数和竖直方向的缩放系数。
对于图像传感器、ISP图像处理器、图像显示器等硬件使用场景,输出图像尺寸一般为固定值(如水平1920垂直1080),此时可将输出尺寸放大到接近2k(如2048),然后对输入尺寸m做同比放大,放大后的结果即为缩放系数,其中下11位为小数位,此时电路面积将进一步减小。
例如输入尺寸2500输出尺寸1920时,
1920+1920>>4+1920>>8=1920*(1+1/16+1/256)=2047,
同步放大输入尺寸:
2500*(1+1/16+1/256)=2500+2500>>4+2500>>8=2665d=1010 0110 1001b;
(>>表示移位运算符)其中下11位为小数位。
缩小比例1.30126953125,缩小后尺寸2500/1.30126953125=1921.20。
实施例2
本实施例与上一实施例区别在于,多次减运算包括步骤:
A1、将输入图像的尺寸放大2k倍,其中k根据所需精度进行设定;
A2、令步骤A1得到的值多次减去目标图像的尺寸,直至多次减法的计算结果小于目标图像的尺寸,记录减法计算的次数;
A3、将步骤A2中减法计算的次数转化为二进制数并精度简化后得到缩放系数;
A4、根据步骤A1-A3确定出输入图像水平方向的缩放系数和竖直方向的缩放系数。
例如输入图片尺寸为2500,目标图片尺寸1920时,
2500扩大2048倍到5120000;
5120000–1920=2558080,
5118080–1920=5116160
累计减计算2666次后余数小于被除数(即减2666次后的值小于1920),即2666d=1010 0110 1010b为缩放系数值,其中下11位为小数位。2666/2048=1.3017578125,缩小比例1.3017578125,缩小后尺寸2500/1.3017578125=1920.48。
实施例3
基于上述实施例,步骤S3具体包括:
H1、基于与输入图像数据时序同步的计数器获得目标图像的水平坐标和垂直坐标并确定插值参考点;
H2、基于插值参考点根据双线性插值法构建分步线性插值模型;
H3、通过线性插值模型进行分步线性插值计算得到目标图像的水平坐标的像素值和垂直坐标的像素值。
步骤H1具体包括:
以与输入图像数据时序同步的行计数器s_hcnt和列计数器s_vcnt作为输入图像数据的坐标位置;设置目标图像虚行计数器d_hcnt与虚列计数器d_vcnt,虚行计数器d_hcnt与虚列计数器d_vcnt的下位设置小数位,小数位表示尺寸计算精度;计数器步进值设置为缩放系数,计数最大值为目标图像尺寸值,当完成一次目标图像坐标输出后计数器累加一次;
令d_hcnt与d_vcnt的整数部分等于s_hcnt与s_vcnt,以(d_hcnt,d_vcnt)周边的
(s_hcnt,s_vcnt)、
(s_hcnt,s_vcnt+1)、
(s_hcnt+1,s_vcnt)、
(s_hcnt+1,s_vcnt+1)四个点作为插值参考点。
步骤H2具体包括:
设目标图像在输入图像坐标系中的位置为f(x,y);
在水平方向上对f(s_hcnt,s_vcnt)与f(s_hcnt+1,s_vcnt)进行线性插值计算有模型:f(x,s_vcnt)=f(s_hcnt,s_vcnt)+[f(s_hcnt+1,s_vcnt)-f(s_hcnt,s_vcnt)]*(x-s_hcnt);
在水平方向上对f(s_hcnt,s_vcnt+1)与f(s_hcnt+1,s_vcnt+1)进行线性插值计算有模型:
f(x,s_vcnt+1)=f(s_hcnt,s_vcnt+1)+[f(s_hcnt+1,s_vcnt+1)-f(s_hcnt,s_vcnt+1)]*(x-s_hcnt);
在垂直方向上对f(x,s_vcnt)与f(x,s_vcnt+1)进行线性插值计算有模型:
f(x,y)=f(x,s_vcnt)+[f(x,s_vcnt+1)-f(x,s_vcnt)]*(y-s_vcnt)。
所述有效数据对齐方法包括:
先将目标图像的水平坐标的数据传输通道均匀分割成若干个组通道;
再用穷举法对各个组通道的数据进行两次数据对齐。
缓冲处理过程为:
构建N*3深度的先入先出缓冲器,N为数据传输通道数;将对齐后数据个数0—N进行累加的结果作为输入地址,超过N*3后复位到0;
每次固定写入N个数据,前一次写入的无效数据通过输入地址控制在下一次写入时进行覆盖,输出地址限制为0、N、2N三个地址值,每次读出N个数据,当判断读出操作不导致缓冲器上下溢出时进行一次读操作,最后将数据写入行缓冲器后输出。
实施例4
上述实施例中的一种自适应图像缩放处理方法,如图2所示,本实施例提供一种自适应图像缩放处理***,包括:缩放系数计算单元、水平图像数据计算单元、垂直图像数据计算单元、水平图像数据处理单元、缓冲单元和输出单元;
所述缩放系数计算单元基于目标图像的属性使用多次一级运算法确定输入图像的缩放系数;
水平图像数据计算单元基于缩放系数根据双线性插值法计算出目标图像的水平坐标的像素值;
垂直图像数据计算单元基于缩放系数根据双线性插值法计算出目标图像的垂直坐标的像素值;
水平图像数据处理单元用于对目标图像的水平坐标数据先进行有效数据对齐;
缓冲单元用于对有效数据对齐的数据进行缓冲处理;
输出单元基于垂直坐标数据和缓冲处理后的水平坐标数据输出目标图像。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种自适应图像缩放处理方法,其特征在于,包括步骤:
S1、基于目标图像的属性使用多次一级运算法确定输入图像的缩放系数;所述多次一级运算法包括多次减运算或累加运算;
当目标图像为固定尺寸时,使用累加运算法确定输入图像的缩放系数,具体步骤包括:
T1、将目标图像的尺寸放大至2k,其中k根据所需精度进行设定;
T2、对输入图像的尺寸进行同比放大;
T3、将步骤T2中得到的尺寸转化为二进制数得到缩放系数;
T4、根据步骤T1-T3确定出输入图像水平方向的缩放系数和竖直方向的缩放系数;
S2、基于缩放系数通过设置计数器的步进值,获得目标图像的水平坐标和垂直坐标;
S3、根据步骤S2获得的目标图像的坐标,采用双线性插值法分步计算目标图像水平坐标的像素值和垂直坐标的像素值;
S4、对目标图像的水平坐标数据先进行数据对齐后再缓冲处理;
S5、基于垂直坐标数据和缓冲处理后的水平坐标数据输出目标图像。
2.根据权利要求1所述的一种自适应图像缩放处理方法,其特征在于,所述多次减运算包括步骤:
A1、将输入图像的尺寸放大2k倍,其中k根据所需精度进行设定;
A2、令步骤A1得到的值多次减去目标图像的尺寸,直至多次减法的计算结果小于目标图像的尺寸,记录减法计算的次数;
A3、将步骤A2中减法计算的次数转化为二进制数并精度简化后得到缩放系数;
A4、根据步骤A1-A3确定出输入图像水平方向的缩放系数和竖直方向的缩放系数。
3.根据权利要求1所述的一种自适应图像缩放处理方法,其特征在于,步骤S3具体包括:
H1、基于与输入图像数据时序同步的计数器获得目标图像的水平坐标和垂直坐标并确定插值参考点;
H2、基于插值参考点根据双线性插值法构建分步线性插值模型;
H3、通过线性插值模型进行分步线性插值计算得到目标图像的水平坐标的像素值和垂直坐标的像素值。
4.根据权利要求3所述的一种自适应图像缩放处理方法,其特征在于,步骤H1具体包括:
以与输入图像数据时序同步的行计数器s_hcnt和列计数器s_vcnt作为输入图像数据的坐标位置;设置目标图像虚行计数器d_hcnt与虚列计数器d_vcnt,虚行计数器d_hcnt与虚列计数器d_vcnt的下位设置小数位,小数位表示尺寸计算精度;计数器步进值设置为缩放系数,计数最大值为目标图像尺寸值,当完成一次图像坐标输出后计数器累加一次;
令d_hcnt与d_vcnt的整数部分等于s_hcnt与s_vcnt,以(d_hcnt,d_vcnt) 周边的(s_hcnt,s_vcnt)、(s_hcnt,s_vcnt+1)、(s_hcnt+1,s_vcnt)、(s_hcnt+1,s_vcnt+1)点作为插值参考点。
5.根据权利要求4所述的一种自适应图像缩放处理方法,其特征在于,步骤H2具体包括:
设目标图像在输入图像坐标系中的位置为f(x,y);
在水平方向上对f(s_hcnt,s_vcnt)与f(s_hcnt+1,s_vcnt)线性插值计算有模型: f(x,s_vcnt) =f(s_hcnt,s_vcnt)+[f(s_hcnt+1,s_vcnt)-f(s_hcnt,s_vcnt)]*(x-s_hcnt);
在水平方向上对f(s_hcnt,s_vcnt+1)与f(s_hcnt+1,s_vcnt+1)线性插值计算有模型:f(x,s_vcnt+1)=f(s_hcnt,s_vcnt+1)+[f(s_hcnt+1,s_vcnt+1)-f(s_hcnt,s_vcnt+1)]*(x-s_hcnt);
在垂直方向上对f(x, s_vcnt)与f(x, s_vcnt+1)线性插值计算有模型:
f(x,y) = f(x, s_vcnt)+[f(x, s_vcnt+1)-f(x, s_vcnt)]*(y-s_vcnt)。
6.根据权利要求1所述的一种自适应图像缩放处理方法,其特征在于,所述数据对齐方法包括:
先将目标图像的水平坐标的数据传输通道均匀分割成若干个组通道;
再用穷举法对各个组通道的数据进行两次数据对齐。
7.根据权利要求6所述的一种自适应图像缩放处理方法,其特征在于,所述缓冲处理过程为:
构建N*3深度的先入先出缓冲器,N为数据传输通道数;将对齐后数据个数0—N进行累加的结果作为输入地址,超过N*3后复位到0;
每次固定写入N个数据,前一次写入的无效数据通过输入地址控制在下一次写入时进行覆盖,输出地址限制为0、N、2N三个地址值,每次读出N个数据,当判断读出操作不导致缓冲器上下溢出时进行一次读操作,最后将数据写入行缓冲器后输出。
8.一种自适应图像缩放处理***,其特征在于,用于实现权利要求1-7任意一项所述的自适应图像缩放处理方法,包括:缩放系数计算单元、水平图像数据计算单元、垂直图像数据计算单元、水平图像数据处理单元、缓冲单元和输出单元;
所述缩放系数计算单元基于目标图像的属性使用多次一级运算法确定输入图像的缩放系数;
水平图像数据计算单元基于缩放系数根据双线性插值法计算出目标图像的水平坐标的像素值;
垂直图像数据计算单元基于缩放系数根据双线性插值法计算出目标图像的垂直坐标的像素值;
水平图像数据处理单元用于对目标图像的水平坐标数据先进行有效数据对齐;
缓冲单元用于对有效数据对齐的数据进行缓冲处理;
输出单元基于垂直坐标数据和缓冲处理后的水平坐标数据输出目标图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111062965.XA CN113763250B (zh) | 2021-09-10 | 2021-09-10 | 一种自适应图像缩放处理方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111062965.XA CN113763250B (zh) | 2021-09-10 | 2021-09-10 | 一种自适应图像缩放处理方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113763250A CN113763250A (zh) | 2021-12-07 |
CN113763250B true CN113763250B (zh) | 2023-09-01 |
Family
ID=78794790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111062965.XA Active CN113763250B (zh) | 2021-09-10 | 2021-09-10 | 一种自适应图像缩放处理方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113763250B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6067384A (en) * | 1997-09-11 | 2000-05-23 | Canon Kabushiki Kaisha | Fast scaling of JPEG images |
CN1622133A (zh) * | 2004-12-27 | 2005-06-01 | 北京中星微电子有限公司 | 一种图像缩放的方法 |
CN101465954A (zh) * | 2009-01-08 | 2009-06-24 | 杭州华三通信技术有限公司 | 一种对图像进行缩放的方法和装置 |
CN202309858U (zh) * | 2011-06-21 | 2012-07-04 | 深圳市优视技术有限公司 | 一种非线性图像缩放装置 |
CN106775596A (zh) * | 2016-11-22 | 2017-05-31 | 北京航天自动控制研究所 | 一种红外图像线性插值膨胀硬件处理方法 |
CN108986033A (zh) * | 2018-07-26 | 2018-12-11 | 西安电子科技大学 | 基于双线性插值算法处理的图像缩放方法 |
CN111078090A (zh) * | 2019-11-29 | 2020-04-28 | 上海联影医疗科技有限公司 | 一种显示方法、装置、设备和存储介质 |
CN111199515A (zh) * | 2018-11-16 | 2020-05-26 | 西安诺瓦星云科技股份有限公司 | 缩放器、图像缩放方法及装置 |
CN111968033A (zh) * | 2020-07-29 | 2020-11-20 | 青岛经济技术开发区海尔热水器有限公司 | 一种图像缩放处理方法及装置 |
CN112053283A (zh) * | 2020-08-13 | 2020-12-08 | 深圳市洲明科技股份有限公司 | 图像缩放方法、存储介质及电子设备 |
CN112508793A (zh) * | 2020-12-22 | 2021-03-16 | 深圳开立生物医疗科技股份有限公司 | 一种图像缩放方法、装置及电子设备和存储介质 |
-
2021
- 2021-09-10 CN CN202111062965.XA patent/CN113763250B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6067384A (en) * | 1997-09-11 | 2000-05-23 | Canon Kabushiki Kaisha | Fast scaling of JPEG images |
CN1622133A (zh) * | 2004-12-27 | 2005-06-01 | 北京中星微电子有限公司 | 一种图像缩放的方法 |
CN101465954A (zh) * | 2009-01-08 | 2009-06-24 | 杭州华三通信技术有限公司 | 一种对图像进行缩放的方法和装置 |
CN202309858U (zh) * | 2011-06-21 | 2012-07-04 | 深圳市优视技术有限公司 | 一种非线性图像缩放装置 |
CN106775596A (zh) * | 2016-11-22 | 2017-05-31 | 北京航天自动控制研究所 | 一种红外图像线性插值膨胀硬件处理方法 |
CN108986033A (zh) * | 2018-07-26 | 2018-12-11 | 西安电子科技大学 | 基于双线性插值算法处理的图像缩放方法 |
CN111199515A (zh) * | 2018-11-16 | 2020-05-26 | 西安诺瓦星云科技股份有限公司 | 缩放器、图像缩放方法及装置 |
CN111078090A (zh) * | 2019-11-29 | 2020-04-28 | 上海联影医疗科技有限公司 | 一种显示方法、装置、设备和存储介质 |
CN111968033A (zh) * | 2020-07-29 | 2020-11-20 | 青岛经济技术开发区海尔热水器有限公司 | 一种图像缩放处理方法及装置 |
CN112053283A (zh) * | 2020-08-13 | 2020-12-08 | 深圳市洲明科技股份有限公司 | 图像缩放方法、存储介质及电子设备 |
CN112508793A (zh) * | 2020-12-22 | 2021-03-16 | 深圳开立生物医疗科技股份有限公司 | 一种图像缩放方法、装置及电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
数字图像缩放及图像质量评价关键技术研究;王翔;《中国博士学位论文全文数据库 信息科技辑》(第8期);第I138-22页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113763250A (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11151704B2 (en) | Apparatus and methods for artifact detection and removal using frame interpolation techniques | |
CN108986033A (zh) | 基于双线性插值算法处理的图像缩放方法 | |
US6311328B1 (en) | Apparatus and method for enlarging/reducing a video picture size | |
CN100455002C (zh) | 一种基于双三次插值的数字视频图像缩放的方法及其电路 | |
JP6136190B2 (ja) | 画像処理装置、撮像装置 | |
WO2023160426A1 (zh) | 视频插帧方法、训练方法、装置和电子设备 | |
CN114463178A (zh) | 一种图像处理芯片、方法及设备 | |
CN113763250B (zh) | 一种自适应图像缩放处理方法及*** | |
CN104869284B (zh) | 一种双线性插值放大算法的高效率fpga实现方法和装置 | |
CN105427235B (zh) | 一种图像浏览方法及*** | |
KR100494470B1 (ko) | 광 마우스의 이미지 데이터 처리 장치 및 그 방법 | |
US8902474B2 (en) | Image processing apparatus, control method of the same, and program | |
CN101778200B (zh) | 基于非均匀采样的图像校正***及方法 | |
CN115908132A (zh) | 基于三次卷积插值法的图像缩放处理方法及装置 | |
WO2016197393A1 (zh) | 并行多相位图像插值装置和方法 | |
CN106780291A (zh) | 一种实时畸变图像处理加速装置 | |
KR101000036B1 (ko) | 실시간 영상 처리를 위한 서브 샘플링 시스템 | |
US9286654B2 (en) | Image scaling processor and image scaling processing method | |
JPS60225282A (ja) | 画像の縮小方式 | |
CN108833872B (zh) | 一种yuy2颜色空间快速缩放或放大的方法 | |
KR100343463B1 (ko) | 포맷 변환 장치 | |
JPH11155099A (ja) | 電子ズーム処理装置 | |
JP4104526B2 (ja) | 画像縮小装置及び撮像装置 | |
CN117057983A (zh) | 一种灰度图像快速三次样条插值方法及*** | |
JPS63102467A (ja) | 画像デ−タ解像度変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |