CN112037118B - 图像缩放硬件加速方法、装置、系统及可读存储介质 - Google Patents
图像缩放硬件加速方法、装置、系统及可读存储介质 Download PDFInfo
- Publication number
- CN112037118B CN112037118B CN202010685164.8A CN202010685164A CN112037118B CN 112037118 B CN112037118 B CN 112037118B CN 202010685164 A CN202010685164 A CN 202010685164A CN 112037118 B CN112037118 B CN 112037118B
- Authority
- CN
- China
- Prior art keywords
- data
- image
- scaling
- output
- position table
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000001133 acceleration Effects 0.000 title claims description 27
- 230000015654 memory Effects 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 13
- 238000013135 deep learning Methods 0.000 abstract description 6
- 238000009825 accumulation Methods 0.000 abstract description 3
- 238000012360 testing method Methods 0.000 abstract description 3
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0007—Image acquisition
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种图像缩放硬件加速方法及装置,按照临近插值法的图像缩放比例将需要抽取的数据的位置信息存储至位置表中;通过位置查表法将原图片中的数据按照位置表中的位置信息进行抽取;将从原图片中抽取出的数据存入桶形移位寄存器中;从桶形移位寄存器的最前端将数据按照输出带宽进行输出。本发明实施例采用位置查表法加桶形移位器的算法实现数据输入输出的并行流水操作。经测试,本算法的速度比普通算法串行输出的速度有显著提升。避免对图像数据的处理速度受DDR带宽的限制,缓解了数据处理时的堆积停滞,提升整个深度学习的效率。
Description
技术领域
本发明涉及图像处理技术领域,特别涉及一种图像缩放硬件加速方法、装置、系统及可读存储介质。
背景技术
在计算机图像处理和计算机图形学中,图像缩放是指对数字图像的大小进行调整的过程。图像缩放是一种非平凡的过程,需要在处理效率以及结果的平滑度和清晰度上做一个权衡,而各个图像缩放算法中,临近插值是一种最基本、最简单的图像缩放算法。图像缩放在深度学习算法中是不可或缺的步骤,数据处理时,需要缩放的图像通常缓存在DDR存储器中,而对图像数据的处理速度受DDR带宽的限制,导致数据处理堆积停滞,如果采用普通的算法势必导致图像缩放耗时较长,影响整个深度学习的效率。
发明内容
本发明要解决的技术问题是如何提供一种可加快图像缩放速度的图像缩放硬件加速方法、装置、系统及可读存储介质。
为了解决上述技术问题,本发明的技术方案为:
第一方面,本发明提出一种图像缩放硬件加速方法,包括步骤:
按照临近插值法的图像缩放比例将需要抽取的数据的位置信息存储至位置表中;
通过位置查表法,将原图片中的数据按照所述位置表中的位置信息进行抽取;
将从原图片中抽取出的数据存入桶形移位寄存器中;
从所述桶形移位寄存器的最前端将数据按照输出带宽进行输出。
优选地,在通过位置查表法将原图片中的数据按照所述位置表中的位置信息进行抽取的步骤之前还包括:将原图片缓存至DDR存储器中。
优选地,所述原图片的抽取位置信息的获取过程为:
将输入数据大小除以输出数据大小,获得数据的缩放比例;
按照所述缩放比例抽取或扩充所述输入数据,获得输出数据。
优选地,获取所述缩放比例,将输入数据以所述缩放比例为间隔,取整数后抽取输入数据,获得所述输出数据。
第二方面,本发明还提出一种图像缩放硬件加速装置,包括了:
位置表:按照临近插值法的图像缩放比例将需要抽取的数据的位置信息存储至位置表中;
抽取模块:通过位置查表法,将原图片中的数据按照所述位置表中的位置信息进行抽取;
移位寄存器:将从原图片中抽取出的数据存入桶形移位寄存器中;
输出模块:从所述桶形移位寄存器的最前端将数据按照输出带宽进行输出。
优选地,在通过位置查表法,将原图片中的数据按照所述位置表中的位置信息进行抽取的步骤之前还包括:将原图片缓存至DDR存储器中。
优选地,所述原图片的抽取位置信息的获取过程为:
将输入数据大小除以输出数据大小,获得数据的缩放比例;
按照所述缩放比例抽取或扩充所述输入数据,获得输出数据。
优选地,获取所述缩放比例,将输入数据以所述缩放比例为间隔,取整数后抽取输入数据,获得所述输出数据。
第三方面,本发明提出了一种图像缩放硬件加速系统,包括:处理器、存储器及如上所述的图像缩放硬件加速装置。
第四方面,本发明还提出一种图像缩放硬件加速的可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时间实现如上所述的图像缩放硬件加速方法的步骤。
本发明技术方案采用位置查表法加桶形移位器的算法实现数据输入输出的并行流水操作。经过测试,本算法的速度比普通算法串行输出的速度有显著提升。避免对图像数据的处理速度受DDR带宽的限制,缓解了数据处理时的堆积停滞,提升整个深度学习的效率。
附图说明
图1为本发明图像缩放硬件加速方法一实施例的步骤流程图;
图2为本发明图像缩放硬件加速装置一实施例硬件架构原理图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
参照图1,本发明提出一种图像缩放硬件加速方法,包括步骤:
S10:按照临近插值法的图像缩放比例将需要抽取的数据的位置信息存储至位置表中;
将原图片缓存至DDR存储器中;
S20:通过位置查表法,将原图片中的数据按照位置表中的位置信息进行抽取;
S30:将从原图片中抽取出的数据存入桶形移位寄存器中;将输入数据大小除以输出数据大小,获得数据的缩放比例;
将输入数据以缩放比例为间隔,取整数后抽取输入数据,获得输出数据。将新数据存储至桶形移位寄存器的最后端。
S40:从桶形移位寄存器的最前端将数据按照输出带宽进行输出。
需要说明的是,本发明中使用到的存储器并不仅限于DDR存储器,也可使用其他存储器。
而临近插值,通常被用于图像缩放中,进行缩放图像的方法叫做最临近插值算法,是一种基本、简单的图像缩放算法。
需要说明的是,桶式移位寄存器是一种组合逻辑电路。它具有n个数据输入和n个数据输出,以及指定如何移动数据的控制输入,指定移位方向、移位类型及移动的位数等等。
本发明实施例采用位置查表法加桶形移位器的算法实现数据输入输出的并行流水操作。经过测试,本算法的速度比普通算法串行输出的速度有显著提升。避免对图像数据的处理速度受DDR带宽的限制,缓解了数据处理时的堆积停滞,提升整个深度学习的效率。
另一方面,本发明还提出一种图像缩放硬件加速装置,包括:
位置表:按照临近插值法的图像缩放比例将需要抽取的数据的位置信息存储至位置表中;将原图片缓存至DDR存储器中。
抽取模块:通过位置查表法,将原图片中的数据按照位置表中的位置信息进行抽取;将输入数据大小除以输出数据大小,获得数据的缩放比例;将输入数据以缩放比例为间隔,取整数后抽取输入数据,获得输出数据。
移位寄存器:将从原图片中抽取出的数据存入桶形移位寄存器中;
输出模块:从桶形移位寄存器的最前端将数据按照输出带宽进行输出。
参照图2,本发明图像缩放硬件加速装置的另一实施例中,以图像缩小的加速过程为例:
对于一帧图像做临近插值缩放尺寸,即一行数据输入后,根据缩放比例从中抽取指定位置的数据,对于一帧图像,所有行的处理都是一样的,抽出的位置都是一样的,因此可以计算出行数据对应的要输出的数据的位置,例如一行数据60字节,缩小为13字节,按照临近插值法,缩放比例,既位置间隔P=60/13=4.6,对位置间隔取整后,抽取的位置为:0,4.6,9.2,13.8……取整后是0,4,9,13……50,55。所以对应输入的60个字节数据,输出数据如下:
输入60字节数据:a0a1a2……a58a59
输出13字节数据为:a0a4a9……a50a55
按照DDR接口,每次输入16字节数据为例,以上输入输出转化为如下结果:
输入60字节数据:a0a1a2……a14a15,b0b1b2……b14b15,c0c1c2……c14c15,……。
输出13字节数据为:a0a4a9a13,b2b7b11,c0c4c9c14,……。
如上,对于每次输入的16字节数据,要抽出的数据位置是固定的,因此可以把这些位置存储至位置表中,通过查表的方式,对每次进来的16字节数据一次性取出对应的抽出数据位置,这样输入的数据可以不间断的持续输入,输出的数据存满16字节后输出。
通过桶形移位寄存器进行输出,输出数据满16字节输出,如果当前累积的数据超过16字节,则多余的数据要下次输出,而且要放在下次输出数据的最前面,此时输入数据还在流水输入,并没有停止,使用桶形移位寄存器,对于超出16字节的数据,先存到16之后的位置,在当前16字节数据输出的同时,16字节之后的数据移到输出寄存器的最前面,后面再进来的数据,按顺序往后存,如此形成输入输出的流水操作。
同理,在需要对图像进行放大处理时,同样以一行输入60字节为例,假设要求输出90字节,缩放比例,即位置间隔P=60/90=0.67,抽取的位置为0,0.67,1.34,2.01,2.68……取整后是0,0,1,2,2……,按照DDR接口,每次输入16字节数据,以上输入输出转化为如下
输入60字节数据:a0a1a2……a14a15,b0b1b2……b14b15,c0c1c2……c14c15,……
输出90字节数据为:a0a0a1a2a2……a14a14a15,……
每输入16字节要抽取出24字节,图像放大要根据最大放大倍数,来设计对应的硬件结构,比如限定放大倍数小于2倍,则位置表的16字节对应输出位置要设计能存放32个位置,同样桶形移位寄存器要设计至少32字节深度。
又一方面,本发明提出了一种图像缩放硬件加速系统,包括:处理器、存储器及如上的图像缩放硬件加速装置。该图像缩放硬件加速装置包括:
位置表:按照临近插值法的图像缩放比例将需要抽取的数据的位置信息存储至位置表中;
抽取模块:通过位置查表法,将原图片中的数据按照所述位置表中的位置信息进行抽取;
移位寄存器:将从原图片中抽取出的数据存入桶形移位寄存器中;
输出模块:从所述桶形移位寄存器的最前端将数据按照输出带宽进行输出。
再一方面,本发明还提出一种图像缩放硬件加速的可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时间实现如上的图像缩放硬件加速方法的步骤。该图像缩放硬件加速方法包括步骤:
按照临近插值法的图像缩放比例将需要抽取的数据的位置信息存储至位置表中;
通过位置查表法,将原图片中的数据按照所述位置表中的位置信息进行抽取;
将从原图片中抽取出的数据存入桶形移位寄存器中;
从所述桶形移位寄存器的最前端将数据按照输出带宽进行输出。
本发明可以从硬件层面大大加快图像缩放临近插值法的运行速度,形成输入输出的并行流水操作,进一步加快深度学习算法的学习速度。
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。
Claims (6)
1.一种图像缩放硬件加速方法,其特征在于,包括步骤:
按照临近插值法的图像缩放比例将需要抽取的数据的位置信息存储至位置表中;
将原图片缓存至DDR存储器中;
通过位置查表法,将原图片中的数据按照所述位置表中的位置信息进行抽取;
将从原图片中抽取出的数据存入桶形移位寄存器中;
从所述桶形移位寄存器的最前端将数据按照输出带宽进行输出;
其中,所述原图片的抽取位置信息的获取过程为:
将输入数据大小除以输出数据大小,获得数据的缩放比例;
按照所述缩放比例抽取或扩充所述输入数据,获得输出数据。
2.根据权利要求1所述的图像缩放硬件加速方法,其特征在于,获取所述缩放比例,将输入数据以所述缩放比例为间隔,取整数后抽取输入数据,获得所述输出数据。
3.一种图像缩放硬件加速装置,其特征在于,包括:
位置表:按照临近插值法的图像缩放比例将需要抽取的数据的位置信息存储至位置表中;
抽取模块:通过位置查表法,将原图片中的数据按照所述位置表中的位置信息进行抽取;
移位寄存器:将从原图片中抽取出的数据存入桶形移位寄存器中;
输出模块:从所述桶形移位寄存器的最前端将数据按照输出带宽进行输出;
其中,在通过位置查表法,将原图片中的数据按照所述位置表中的位置信息进行抽取的步骤之前还包括:将原图片缓存至DDR存储器中;
所述原图片的抽取位置信息的获取过程为:
将输入数据大小除以输出数据大小,获得数据的缩放比例;
按照所述缩放比例抽取或扩充所述输入数据,获得输出数据。
4.根据权利要求3所述的图像缩放硬件加速装置,其特征在于,获取所述缩放比例,将输入数据以所述缩放比例为间隔,取整数后抽取输入数据,获得所述输出数据。
5.一种图像缩放硬件加速系统,其特征在于,包括:处理器、存储器及如权利要求3或4任一项所述的图像缩放硬件加速装置。
6.一种图像缩放硬件加速的可读存储介质,其上存储有计算机程序,其特征在于:该计算机程序被处理器执行时实现权利要求1-2任一项所述的图像缩放硬件加速方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010685164.8A CN112037118B (zh) | 2020-07-16 | 2020-07-16 | 图像缩放硬件加速方法、装置、系统及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010685164.8A CN112037118B (zh) | 2020-07-16 | 2020-07-16 | 图像缩放硬件加速方法、装置、系统及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112037118A CN112037118A (zh) | 2020-12-04 |
CN112037118B true CN112037118B (zh) | 2024-02-02 |
Family
ID=73579647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010685164.8A Active CN112037118B (zh) | 2020-07-16 | 2020-07-16 | 图像缩放硬件加速方法、装置、系统及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112037118B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5109348A (en) * | 1987-09-14 | 1992-04-28 | Visual Information Technologies, Inc. | High speed image processing computer |
US5335296A (en) * | 1991-04-30 | 1994-08-02 | Optigraphics Corporation | Process for high speed rescaling of binary images |
JP2006253759A (ja) * | 2005-03-08 | 2006-09-21 | Seiko Epson Corp | 画像処理装置、表示コントローラ及び電子機器 |
EP2101258A1 (en) * | 2008-03-10 | 2009-09-16 | Mobileye Technologies Limited | Enhanced look-up table signal processing |
CN102263880A (zh) * | 2010-05-25 | 2011-11-30 | 安凯(广州)微电子技术有限公司 | 一种图像缩放的方法和装置 |
CN102831576A (zh) * | 2012-06-14 | 2012-12-19 | 北京暴风科技股份有限公司 | 一种视频图像缩放方法及系统 |
CN104952037A (zh) * | 2014-03-27 | 2015-09-30 | 联科集团(中国)有限公司 | 图像文件缩放方法与系统 |
CN106910162A (zh) * | 2017-02-07 | 2017-06-30 | 深圳市爱协生科技有限公司 | 基于fpga的图像缩放处理方法及装置 |
CN110766155A (zh) * | 2019-09-27 | 2020-02-07 | 东南大学 | 一种基于混合精度存储的深度神经网络加速器 |
CN111193873A (zh) * | 2019-12-25 | 2020-05-22 | 新大陆数字技术股份有限公司 | 一种图像快速调光系统及方法 |
CN111241924A (zh) * | 2019-12-30 | 2020-06-05 | 新大陆数字技术股份有限公司 | 基于尺度估计的人脸检测及对齐方法、装置、存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9477999B2 (en) * | 2013-09-20 | 2016-10-25 | The Board Of Trustees Of The Leland Stanford Junior University | Low power programmable image processor |
-
2020
- 2020-07-16 CN CN202010685164.8A patent/CN112037118B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5109348A (en) * | 1987-09-14 | 1992-04-28 | Visual Information Technologies, Inc. | High speed image processing computer |
US5335296A (en) * | 1991-04-30 | 1994-08-02 | Optigraphics Corporation | Process for high speed rescaling of binary images |
JP2006253759A (ja) * | 2005-03-08 | 2006-09-21 | Seiko Epson Corp | 画像処理装置、表示コントローラ及び電子機器 |
EP2101258A1 (en) * | 2008-03-10 | 2009-09-16 | Mobileye Technologies Limited | Enhanced look-up table signal processing |
CN102263880A (zh) * | 2010-05-25 | 2011-11-30 | 安凯(广州)微电子技术有限公司 | 一种图像缩放的方法和装置 |
CN102831576A (zh) * | 2012-06-14 | 2012-12-19 | 北京暴风科技股份有限公司 | 一种视频图像缩放方法及系统 |
CN104952037A (zh) * | 2014-03-27 | 2015-09-30 | 联科集团(中国)有限公司 | 图像文件缩放方法与系统 |
CN106910162A (zh) * | 2017-02-07 | 2017-06-30 | 深圳市爱协生科技有限公司 | 基于fpga的图像缩放处理方法及装置 |
CN110766155A (zh) * | 2019-09-27 | 2020-02-07 | 东南大学 | 一种基于混合精度存储的深度神经网络加速器 |
CN111193873A (zh) * | 2019-12-25 | 2020-05-22 | 新大陆数字技术股份有限公司 | 一种图像快速调光系统及方法 |
CN111241924A (zh) * | 2019-12-30 | 2020-06-05 | 新大陆数字技术股份有限公司 | 基于尺度估计的人脸检测及对齐方法、装置、存储介质 |
Non-Patent Citations (3)
Title |
---|
Raster scan graphics with zoom and pan;O Blazek,et al;《Hewlett-Packard Journal》;6-12 * |
TMS320C50组成的水下视频图像数字化系统的软件设计;许茹等;《海洋科学》(第03期);50-53 * |
应用自回归模型的条码图像盲去模糊算法;何学智;《福建电脑》;第36卷(第01期);1-5 * |
Also Published As
Publication number | Publication date |
---|---|
CN112037118A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109886395B (zh) | 一种面向多核图像处理卷积神经网络的数据读取方法 | |
US7920150B2 (en) | Image scaling system capable of saving memory | |
CN110032538B (zh) | 一种数据读取系统和方法 | |
CN110519603B (zh) | 一种实时视频缩放的硬件电路及其缩放方法 | |
US5973707A (en) | Scan converting method and apparatus for raster to block and block to raster using a shared block buffer and two input/output buffers, one being raster, the other scan | |
JP2002171401A (ja) | 間引き演算命令を備えたsimd型演算装置 | |
CN112037118B (zh) | 图像缩放硬件加速方法、装置、系统及可读存储介质 | |
CN112053283A (zh) | 图像缩放方法、存储介质及电子设备 | |
JPS5853781B2 (ja) | 画像拡大縮小装置 | |
JP2009295159A (ja) | メモリのアクセス方法 | |
KR930001689A (ko) | 이미지 버퍼를 이용한 전자 주밍 시스템 | |
CN112183732A (zh) | 卷积神经网络加速方法、装置和计算机设备 | |
CN116150209A (zh) | 报表计算系统、方法、电子设备及存储介质 | |
US6148376A (en) | Method and apparatus for an improved stack arrangement and operations thereon | |
CN115908132A (zh) | 基于三次卷积插值法的图像缩放处理方法及装置 | |
US20210390379A1 (en) | Data Loading | |
CN114580618A (zh) | 一种反卷积处理方法、装置、电子设备及介质 | |
CN111861920B (zh) | 一种中值滤波方法以及系统 | |
CN114119372A (zh) | 一种基于fpga的高精度图像缩放的方法 | |
CN115516771A (zh) | 内联解压缩 | |
CN113658049A (zh) | 一种图像转置的方法、设备和计算机可读存储介质 | |
CN113689341A (zh) | 图像处理方法及图像处理模型的训练方法 | |
JP5072558B2 (ja) | データ処理装置 | |
EP1039370A1 (en) | Modulo address generator and a method for implementing modulo addressing | |
CN116385269A (zh) | 图像超分方法 |
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 |