CN114119372A - 一种基于fpga的高精度图像缩放的方法 - Google Patents
一种基于fpga的高精度图像缩放的方法 Download PDFInfo
- Publication number
- CN114119372A CN114119372A CN202111430943.4A CN202111430943A CN114119372A CN 114119372 A CN114119372 A CN 114119372A CN 202111430943 A CN202111430943 A CN 202111430943A CN 114119372 A CN114119372 A CN 114119372A
- Authority
- CN
- China
- Prior art keywords
- image
- data
- bram
- pixels
- calculating
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims description 43
- 238000012216 screening Methods 0.000 claims description 8
- 238000009825 accumulation Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 8
- 230000000694 effects Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
Images
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/4023—Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明提供一种基于FPGA的高精度图像缩放的方法,包括通过原始图像的像素的列和目标图像的像素的列计算出列缩放的权重系数;将所述原始图像按行依次缓存到BRAM,读出所述BRAM数据后和所述原始图像数据送入到计算单元,得出目标图像所有列的图像中间数据;通过所述原始图像的像素的行和所述目标图像的像素的行计算出行缩放权重系数;将图像中间数据按行依次缓存到BRAM,读出所述图像中间数据后,送入计算单元,得出所述目标图像所有行的图像;采用流水线的方法,实时处理逻辑运算,对原始图像的缩放处理都是实时的,提升了系统实时性。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种基于FPGA的高精度图像缩放的方法。
背景技术
随着科技的发展,人们对4K高清视频的需求越来越强烈。将低分辨率的视频缩放为4K高清的视频成了一大课题。随着FPGA的应用越来越广泛,基于FPGA实现低清视频转高清视频也逐渐成为主流。
现有的技术背景,常用的缩放算法有最近邻算法,单线性插值算法、双线性插值算法、三线性插值算法、Lanczos算法等。其中,最近邻差值算法、单线性插值算法相对简单,效果较差;三线性插值算法、Lancos算法相对复杂,消耗资源太大。双线性插值算法成为比较主流的缩放算法。
专利公开号CN111935416A提出一种基于FPGA的缩放后的图像存储方法,其侧重点在于缩放后的图像经过fifo缓存写入到到DDR4的实现方法;
专利公开号CN112053283A提出图像缩放方法、存储介质及电子设备,其侧重点在于节省存储资源,节省时间实现图像缩放的方法;
专利公开号CN108986033A也提出基于FPGA实现双线性插值的算法,其重点也在于优化资源,但经图像处理后显示效果不佳。
专利公开号CN104869284A提出的基于FPGA双线性插值放大算法侧重点在于控制乘法器资源的数量节省资源。
现有的处理方式要保证处理的精度,需要消耗大量的逻辑资源。本发明在平衡逻辑资源和计算精度的前提下,节省了逻辑资源,且提高处理的精度,保证图像缩放后的质量。
发明内容
本发明的目的在于针对上述现有技术的不足,提供了一种基于FPGA的高精度图像缩放的方法,优化了乘法、除法运算,利用乘法器资源通过将图像数据定点化后进行缩放运算,提高了计算的精度。
为实现上述目的,本发明采用了如下技术方案:
本发明提供了一种基于FPGA的高精度图像缩放的方法,包括如下步骤:
S1、通过原始图像的像素的列和目标图像的像素的列计算出列缩放的权重系数;
S2、将所述原始图像按行依次缓存到BRAM,读出所述BRAM数据后和所述原始图像数据送入到计算单元,得出目标图像所有列的图像中间数据;
S3、通过所述原始图像的像素的行和所述目标图像的像素的行计算出行缩放权重系数;
S4、将图像中间数据按行依次缓存到BRAM,读出所述图像中间数据后,送入计算单元,得出所述目标图像所有行的图像。
进一步,所述S1包括如下步骤:
S11、获取源端所述原始图像的辨率,筛选出要缓存并参与插值计算的像素的行和列,其中,所述要缓存并参与插值计算的像素的行标记为m,所述要缓存并参与插值计算的像素的列标记为n;
S12、标记目标像素的行和列,其中,所述目标像素的行标记为M,所述目标像素的列标记为N;
S13、计算出列缩放因子step_h=n/N,XILINX FPGA的一个乘法器实现两个18位数据相乘,优化除法运算,设置step_h=A*2-18,计算得到A的值。
进一步,所述S2包括如下步骤:
S21、将所述原始图像首行写入到第一个BRAM中,根据所述原始图像的列总数设置BRAM的深度;
S22、在所述原始图像首行数据完全写入到所述第一个BRAM和第二BRAM完成后,读出BRAM中的数据;
S23、计算所述步骤S13中放大218后A的值和所述目标图像的列像素x的乘积;乘积结果的高13位记为整数f0,低18位记为小数coe0;将所述f0作为读取BRAM的地址,读出的数据记为dou0;
S24、将所述S22中f0作为所述第一BRAM读地址,读出的数据dout0,将f0+1作为所述第二个BRAM读地址,读出的数据dou1;将dout0、dout1和权重coe0、~coe0+1送入到计算单元,通过两个乘法器分别计算出dout0*coe0,dout1*(~coe0+1);
S25、在用一个加法器完成所述dout0、dout1和权重coe0、~coe0+1的累加运算,舍弃低18位数据,得到第一行所有列的图像中间数据,得到图像中间数据p0(x,y);
S26、重复所述S21、S22、S23、S24和S25,即完成所述原始图像到目标图像列的缩放运算,得到图像中间数据p1(x,y),p2(x,y)…,pn(x,y);
进一步,所述S3包括以下步骤:
S31、获取源端所述原始图像的辨率,筛选出要缓存并参与插值计算的像素的行和列,所述要缓存并参与插值计算的像素的行标记为m1,所述要缓存并参与插值计算的像素的列标记为n1;
S32、标记目标像素的行和列,所述标记目标像素的行标记为M1,所述标记目标像素的列标记为N1;
S33、计算出列缩放因子step_w=m1/M1,XILINX FPGA的一个乘法器可以实现两个18位数据相乘,优化除法运算,设置step_w=B*2-18,计算得到B的值。
进一步,所述S4包括以下步骤:
S41、将图像中间数据首行数据完全写入到第三个BRAM完成后,计算step_w和所述目标图像的列像素y的乘积;
S42、乘积结果的高13位记为整数f1,低18位记为小数coe1;随着y不断的增大;
如果下一次行计算的f1和增大前一次行对应的f1的值不相同,则图像中间数据下一行数据写入到第四个BRAM;
否则,不写入所述第四个BRAM;
依次类推,只有当对应的f1不同时,才会执行兵乓缓存,依次将所述图像中间数据更新到第三个BRAM、第四个BRAM;
S43、下一次行计算的f1和增大前一次行对应的f1的值不相同,同时读出所述第三个BRAM的图像数据和即将写入到所述第四个BRAM的图像中间数据,与所述B的权重coe1,~coe1+1送入到计算单元,通过两个乘法器分别计算出dou0*coe0,dout1*(~coe0+1);
在用一个加法器完成所述dou0*coe0,dout1*(~coe0+1)两个数据的累加运算,舍弃抵18位数据,得到插值后第一行所有的目标图像数据,得到所述目标图像数据p(x,y);
S44、重复所述S41、所述S42和所述S43,即完成所述原始图像到所述目标图像列的缩放运算,得到所有的目标图像数据。
本发明的有益效果为:将原始图像缩放到目标图像。通过原始图像的像素和目标图像的像素各自的列计算出缩放列的权重系数;将原始图像数据按行写入到BRAM,首行写入到第一个BRAM,同时将行数据写入到第二个BRAM,然后读出第一个BRAM的图像数据和第二个BRAM的图像数据和各自权重系数送入到计算单元,得出目标图像首行的图像中间数据,依次类推,计算出第二行、第三行,直到最后一行的图像中间数据;通过原始图像的像素和目标图像的像素各自的行计算出缩放行的权重系数;将以上得到的目标图像首行的图像中间数据写入到第三个BRAM,再次通过判断,满足要求后将次行的图像中间数据写入到第四个BRAM的同时,采用乒乓缓存的方式写入,然后读出第三个BRAM的图像中间数据和读出次行的图像中间数据和各自权重系数送入到计算单元,得出目标图像首行的图像,依次类推,计算出第二行、第三行,直到最后一行的图像数据。
采用乒乓缓存的方法优化了缓存资源,通过乒乓缓存的方法将所有的原始数据及中间处理数据全部在片上缓存,提升了计算过程的读写速度和计算速度;采用流水线的方法,实时处理逻辑运算,对原始图像的缩放处理都是实时的,提升了系统实时性。
附图说明
图1为本发明一种基于FPGA的高精度图像缩放的方法的方框图;
图2为本发明一种基于FPGA的高精度图像缩放的方法的图像时序图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
请参阅图1和图2,一种基于FPGA的高精度图像缩放的方法,包括如下步骤:
S1、通过原始图像的像素的列和目标图像的像素的列计算出列缩放的权重系数;
获取源端原始图像的辨率,筛选出要缓存并参与插值计算的像素的行和列,计算出列缩放因子。
所述S1包括如下步骤:
S11、获取源端所述原始图像的辨率,筛选出要缓存并参与插值计算的像素的行和列,其中,所述要缓存并参与插值计算的像素的行标记为m,所述要缓存并参与插值计算的像素的列标记为n;
S12、标记目标像素的行和列,其中,所述目标像素的行标记为M,所述目标像素的列标记为N;
S13、计算出列缩放因子step_h=n/N,XILINX FPGA的一个乘法器实现两个18位数据相乘,优化除法运算,设置step_h=A*2-18,计算得到A的值。
S2、将所述原始图像按行依次缓存到BRAM,读出所述BRAM数据后和所述原始图像数据送入到计算单元,得出目标图像所有列的图像中间数据;
通过优化乘法、除法运算,通过定点的方式完成整数和小数的表示方法,并进行运算,提升了计算速度,将计算精度提升至218。同时,通过同时缓存列数据,消耗两个BRAM,一个乘法器和一个DSP,即可完成所有列的缓存和计算。
所述S2包括如下步骤:
S21、将所述原始图像首行写入到第一个BRAM中,根据所述原始图像的列总数设置BRAM的深度;
S22、在所述原始图像首行数据完全写入到所述第一个BRAM和第二BRAM完成后,读出BRAM中的数据;
S23、计算所述步骤S13中放大218后A的值和所述目标图像的列像素x的乘积;乘积结果的高13位记为整数f0,低18位记为小数coe0;将所述f0作为读取BRAM的地址,读出的数据记为dou0;
S24、将所述S22中f0作为所述第一BRAM读地址,读出的数据dout0,将f0+1作为所述第二个BRAM读地址,读出的数据dou1;将dout0、dout1和权重coe0、~coe0+1送入到计算单元,通过两个乘法器分别计算出dout0*coe0,dout1*(~coe0+1);
S25、在用一个加法器完成所述dout0、dout1和权重coe0、~coe0+1的累加运算,舍弃低18位数据,得到第一行所有列的图像中间数据,得到图像中间数据p0(x,y);
S26、重复所述S21、S22、S23、S24和S25,即完成所述原始图像到目标图像列的缩放运算,得到图像中间数据p1(x,y),p2(x,y)…,pn(x,y)。
根据原始图像的列总数合理设置BRAM的深度,提高BRAM资源利用率;将计算中的乘法、除法优化后,通过定点的方式进行计算,节省了乘法器、除法器使用的数量,同时,只使用了一个乘法器,将数据扩大了218倍后,采用定点方式实现计算出整数和小数部分,将精度提升到218;通过一个DSP完成两组数据相乘然后累加的计算过程,在消耗一个乘法器,一个DSP资源,将计算精度提升到218;
S3、通过所述原始图像的像素的行和所述目标图像的像素的行计算出行缩放权重系数;
获取源端原始图像的辨率,筛选出要缓存并参与插值计算的像素的行和列,计算出行缩放因子。
所述S3包括以下步骤:
S31、获取源端所述原始图像的辨率,筛选出要缓存并参与插值计算的像素的行和列,所述要缓存并参与插值计算的像素的行标记为m1,所述要缓存并参与插值计算的像素的列标记为n1;
S32、标记目标像素的行和列,所述标记目标像素的行标记为M1,所述标记目标像素的列标记为N1;
S33、计算出列缩放因子step_w=m1/M1,XILINX FPGA的一个乘法器可以实现两个18位数据相乘,优化除法运算,设置step_w=B*2-18,计算得到B的值。
S4、将图像中间数据按行依次缓存到BRAM,读出所述图像中间数据后,送入计算单元,得出所述目标图像所有行的图像。
通过优化乘法、除法运算,通过定点的方式完成整数和小数的表示方法,并进行运算,提升了计算速度,同时将计算精度提升至218。同时通过乒乓缓存,消耗了两个BRAM,一个乘法器和一个DSP,即可完成所有行的缓存和计算。
所述S4包括以下步骤:
S41、将图像中间数据首行数据完全写入到第三个BRAM完成后,计算step_w和所述目标图像的列像素y的乘积;
S42、乘积结果的高13位记为整数f1,低18位记为小数coe1;随着y不断的增大;
如果下一次行计算的f1和增大前一次行对应的f1的值不相同,则图像中间数据下一行数据写入到第四个BRAM;
否则,不写入所述第四个BRAM;
依次类推,只有当对应的f1不同时,才会执行兵乓缓存,依次将所述图像中间数据更新到第三个BRAM、第四个BRAM;
S43、下一次行计算的f1和增大前一次行对应的f1的值不相同,同时读出所述第三个BRAM的图像数据和即将写入到所述第四个BRAM的图像中间数据,与所述B的权重coe1,~coe1+1送入到计算单元,通过两个乘法器分别计算出dou0*coe0,dout1*(~coe0+1);
在用一个加法器完成所述dou0*coe0,dout1*(~coe0+1)两个数据的累加运算,舍弃低18位数据,得到插值后第一行所有的目标图像数据,得到所述目标图像数据p(x,y);
S44、重复所述S41、所述S42和所述S43,即完成所述原始图像到所述目标图像列的缩放运算,得到所有的目标图像数据。
根据图像中间数据的列总数合理设置BRAM的深度,提高BRAM资源利用率;将计算中的乘法、除法优化后,通过定点的方式进行计算,节省了乘法器、除法器使用的数量,同时,只使用了一个乘法器,将数据扩大了218倍后,采用定点方式实现计算出整数和小数部分,将精度提升到2-18;
只用两个BRAM通过乒乓缓存的方式即可完成整帧所有行的缩放计算,而不用BRAM缓存一个完整的帧,也不用外置DDR缓存中间计算数据,极大的简化了BRAM的利用;同时通过一个DSP完成两组数据相乘然后累加的计算过程,在消耗一个乘法器,一个DSP资源,将计算精度提升到2-18;
通过原始图像的像素和目标图像的像素各自的列计算出列缩放的权重系数;
将原始图像按行依次缓存到BRAM,读出BRAM数据后和原始图像数据送入到计算单元,得出目标图像所有列的图像中间数据;
通过原始图像的像素和目标图像的像素各自的行计算出行缩放的权重系数;
将图像中间数据按行依次缓存到BRAM,读出图像中间数据后送入到计算单元,得出目标图像所有行的图像;
采用定点的计算方式优化了计算过程中带有小数的乘法、除法运算,且在不增加逻辑资源的前提下,将计算的精度提升至218;
以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (5)
1.一种基于FPGA的高精度图像缩放的方法,其特征在于,包括如下步骤:
S1、通过原始图像的像素的列和目标图像的像素的列计算出列缩放的权重系数;
S2、将所述原始图像按行依次缓存到BRAM,读出所述BRAM数据后和所述原始图像数据送入到计算单元,得出目标图像所有列的图像中间数据;
S3、通过所述原始图像的像素的行和所述目标图像的像素的行计算出行缩放权重系数;
S4、将图像中间数据按行依次缓存到BRAM,读出所述图像中间数据后,送入计算单元,得出所述目标图像所有行的图像。
2.根据权利要求1所述的一种基于FPGA的高精度图像缩放的方法,其特征在于,所述S1包括如下步骤:
S11、获取源端所述原始图像的辨率,筛选出要缓存并参与插值计算的像素的行和列,其中,所述要缓存并参与插值计算的像素的行标记为m,所述要缓存并参与插值计算的像素的列标记为n;
S12、标记目标像素的行和列,其中,所述目标像素的行标记为M,所述目标像素的列标记为N;
S13、计算出列缩放因子step_h=n/N,XILINX FPGA的一个乘法器实现两个18位数据相乘,优化除法运算,设置step_h=A*2-18,计算得到A的值。
3.根据权利要求2所述的一种基于FPGA的高精度图像缩放的方法,其特征在于,所述S2包括如下步骤:
S21、将所述原始图像首行写入到第一个BRAM中,根据所述原始图像的列总数设置BRAM的深度;
S22、在所述原始图像首行数据完全写入到所述第一个BRAM和第二BRAM完成后,读出BRAM中的数据;
S23、计算所述步骤S13中放大218后A的值和所述目标图像的列像素x的乘积;乘积结果的高13位记为整数f0,低18位记为小数coe0;将所述f0作为读取BRAM的地址,读出的数据记为dou0;
S24、将所述S22中f0作为所述第一BRAM读地址,读出的数据dout0,将f0+1作为所述第二个BRAM读地址,读出的数据dou1;将dout0、dout1和权重coe0、~coe0+1送入到计算单元,通过两个乘法器分别计算出dout0*coe0,dout1*(~coe0+1);
S25、在用一个加法器完成所述dout0、dout1和权重coe0、~coe0+1的累加运算,舍弃低8位数据,得到第一行所有列的图像中间数据,得到图像中间数据p0(x,y);
S26、重复所述S21、S22、S23、S24和S25,即完成所述原始图像到目标图像列的缩放运算,得到图像中间数据p1(x,y),p2(x,y)…,pn(x,y)。
4.根据权利要求1所述的一种基于FPGA的高精度图像缩放的方法,其特征在于,所述S3包括以下步骤:
S31、获取源端所述原始图像的辨率,筛选出要缓存并参与插值计算的像素的行和列,所述要缓存并参与插值计算的像素的行标记为m1,所述要缓存并参与插值计算的像素的列标记为n1;
S32、标记目标像素的行和列,所述标记目标像素的行标记为M1,所述标记目标像素的列标记为N1;
S33、计算出列缩放因子step_w=m1/M1,XILINX FPGA的一个乘法器可以实现两个18位数据相乘,优化除法运算,设置step_w=B*2-18,计算得到B的值。
5.根据权利要求1所述的一种基于FPGA的高精度图像缩放的方法,其特征在于,所述S4包括以下步骤:
S41、将图像中间数据首行数据完全写入到第三个BRAM完成后,计算step_w和所述目标图像的列像素y的乘积;
S42、乘积结果的高13位记为整数f1,低18位记为小数coe1;随着y不断的增大;
如果下一次行计算的f1和增大前一次行对应的f1的值不相同,则图像中间数据下一行数据写入到第四个BRAM;
否则,不写入所述第四个BRAM;
依次类推,只有当对应的f1不同时,才会执行兵乓缓存,依次将所述图像中间数据更新到第三个BRAM、第四个BRAM;
S43、下一次行计算的f1和增大前一次行对应的f1的值不相同,同时读出所述第三个BRAM的图像数据和即将写入到所述第四个BRAM的图像中间数据,与所述B的权重coe1,~coe1+1送入到计算单元,通过两个乘法器分别计算出dou0*coe0,dout1*(~coe0+1);
在用一个加法器完成所述dou0*coe0,dout1*(~coe0+1)两个数据的累加运算,舍弃低8位数据,得到插值后第一行所有的目标图像数据,得到所述目标图像数据p(x,y);
S44、重复所述S41、所述S42和所述S43,即完成所述原始图像到所述目标图像列的缩放运算,得到所有的目标图像数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111430943.4A CN114119372A (zh) | 2021-11-29 | 2021-11-29 | 一种基于fpga的高精度图像缩放的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111430943.4A CN114119372A (zh) | 2021-11-29 | 2021-11-29 | 一种基于fpga的高精度图像缩放的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114119372A true CN114119372A (zh) | 2022-03-01 |
Family
ID=80371077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111430943.4A Pending CN114119372A (zh) | 2021-11-29 | 2021-11-29 | 一种基于fpga的高精度图像缩放的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114119372A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396643A (zh) * | 2022-08-23 | 2022-11-25 | 中船重工(武汉)凌久电子有限责任公司 | 一种自动路由图像变换方法及系统 |
-
2021
- 2021-11-29 CN CN202111430943.4A patent/CN114119372A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396643A (zh) * | 2022-08-23 | 2022-11-25 | 中船重工(武汉)凌久电子有限责任公司 | 一种自动路由图像变换方法及系统 |
CN115396643B (zh) * | 2022-08-23 | 2023-08-29 | 中船重工(武汉)凌久电子有限责任公司 | 一种自动路由图像变换方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109886866B (zh) | 一种自适应仿射变换处理方法及装置 | |
WO2022016925A1 (zh) | 神经网络计算装置 | |
CN109658337B (zh) | 一种图像实时电子消旋的fpga实现方法 | |
CN106910162A (zh) | 基于fpga的图像缩放处理方法及装置 | |
US20080049045A1 (en) | Image scaling system capable of saving memory | |
CN1761312A (zh) | 一种基于双三次插值的数字视频图像缩放的方法及其电路 | |
CN102186044A (zh) | 一种边缘相关性图像无极缩放算法及其硬件实现装置 | |
CN114119372A (zh) | 一种基于fpga的高精度图像缩放的方法 | |
CN112053283B (zh) | 图像缩放方法、存储介质及电子设备 | |
CN111626405A (zh) | 一种cnn加速方法、加速装置及计算机可读存储介质 | |
CN105787898A (zh) | 基于fpga的平台直方图均衡化实现方法及其装置 | |
CN114092338B (zh) | 图像缩放快速计算方法 | |
CN102263905A (zh) | 一种图像特效处理方法和装置 | |
CN111107295B (zh) | 基于fpga和非线性插值的视频缩放方法 | |
CN100571325C (zh) | 一种数据缓存方法、垂直缩放电路及终端 | |
CN109215001B (zh) | 基于fpga的高温差自适应平台直方图均衡实现方法 | |
CN116312412A (zh) | 一种基于fpga的双三次插值电路 | |
CN115601223B (zh) | 一种图像预处理装置、方法和芯片 | |
Gong et al. | Design of high-speed real-time sensor image processing based on FPGA and DDR3 | |
CN111191780B (zh) | 均值池化累加电路、装置以及方法 | |
CN100508550C (zh) | 可节省内存的影像缩放系统 | |
CN101452572B (zh) | 基于三次平移算法的图像旋转vlsi结构 | |
CN104776919B (zh) | 基于fpga的红外焦平面阵列条带状非均匀性校正系统和方法 | |
CN104102594A (zh) | 实现图像数据缓存读写控制的系统及方法 | |
Yang et al. | FPGA Implementation of Image Super-Resolution Based on Bicubic Interpolation and CNN |
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 |