CN114022366A - 基于数据流架构的图像尺寸调整结构、调整方法及设备 - Google Patents
基于数据流架构的图像尺寸调整结构、调整方法及设备 Download PDFInfo
- Publication number
- CN114022366A CN114022366A CN202210007701.2A CN202210007701A CN114022366A CN 114022366 A CN114022366 A CN 114022366A CN 202210007701 A CN202210007701 A CN 202210007701A CN 114022366 A CN114022366 A CN 114022366A
- Authority
- CN
- China
- Prior art keywords
- data
- unit
- image
- operation unit
- input end
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004364 calculation method Methods 0.000 claims abstract description 46
- 238000004422 calculation algorithm Methods 0.000 claims description 20
- 239000000126 substance Substances 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 4
- 239000002609 medium Substances 0.000 description 17
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000012120 mounting media Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction 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/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本发明实施例公开了一种基于数据流架构的图像尺寸调整结构、调整方法及设备。该结构包括:第一乘法运算单元、第二乘法运算单元、第一数据寄存单元、第二数据寄存单元、第一加法运算单元和第二加法运算单元,各个单元的输入输出端口按照设定的数据流向进行连接。本发明实施例所提供的技术方案,通过在数据流架构中构建用于调整图像尺寸的专用单元,并控制待计算的图像数据依次流经不同的计算单元,避免了调用CPU进行基于指令集的计算,实现了图像数据的快速计算,并释放了CPU的计算压力,从而实现了视频及图像流的快速缩放处理,有效的减缓了AI芯片的前后处理效率低下的瓶颈问题。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种基于数据流架构的图像尺寸调整结构、调整方法及设备。
背景技术
随着深度学习的快速发展,卷积神经网络已经大量应用于机器视觉应用,例如图像识别与图像分类。基于数据流架构的人工智能芯片,由于其极高的芯片利用率,正在越来越多的场景中得到应用。为了提高数据流架构AI芯片的端到端效率,需要对视频、图像流相关数据进行前后端计算处理,比如将图像放大或缩小(resize)为与后续模块相匹配的尺寸。
在传统的计算体系架构中,需要使用CPU基于指令集进行图像的resize功能,由于resize运算数据量大,会占用较多CPU资源,从而降低整个AI系统的端到端性能,导致消耗更多的计算时间成本,影响整体的计算效率。
发明内容
本发明实施例提供一种基于数据流架构的图像尺寸调整结构、调整方法及设备,以释放CPU的计算压力,实现极高效率的运算。
第一方面,本发明实施例提供了一种基于数据流架构的图像尺寸调整结构,该结构包括:第一乘法运算单元、第二乘法运算单元、第一数据寄存单元、第二数据寄存单元、第一加法运算单元和第二加法运算单元;其中,
所述第一乘法运算单元的第一输入端用于接收待计算的图像数据,第二输入端用于接收第一图像位置系数,所述第一乘法运算单元的输出端分别与所述第一数据寄存单元的输入端和所述第一加法运算单元的第三输入端连接,所述第一数据寄存单元的输出端与所述第一加法运算单元的第四输入端连接,所述第一加法运算单元的输出端与所述第二乘法运算单元的第五输入端连接,所述第二乘法运算单元的第六输入端用于接收第二图像位置系数,所述第二乘法运算单元的输出端分别与所述第二数据寄存单元的输入端和所述第二加法运算单元的第七输入端连接,所述第二数据寄存单元的输出端与所述第二加法运算单元的第八输入端连接,所述第二加法运算单元的输出端用于输出所述图像数据的计算结果;所述第一数据寄存单元用于在串行运算中存储所述第一乘法运算单元上一次的运算结果,所述第二数据寄存单元用于在串行运算中存储所述第二乘法运算单元上一次的运算结果。
可选的,在所述第一加法运算单元和所述第二乘法运算单元之间,还包括第一数据选择单元和第一数据分配单元,在所述第一数据选择单元和所述第一数据分配单元之间,还包括第三数据寄存单元和第三加法运算单元;其中,
所述第一加法运算单元的输出端与所述第一数据选择单元的输入端连接,所述第一数据分配单元的输出端与所述第二乘法运算单元的输入端连接,所述第一数据选择单元的第一输出端直接与所述第一数据分配单元的第九输入端连接,所述第一数据分配单元的第十输入端与所述第三加法运算单元的输出端连接,所述第一数据选择单元的第二输出端分别与所述第三数据寄存单元的输入端和所述第三加法运算单元的第十一输入端连接,所述第三数据寄存单元的输出端与所述第三加法运算单元的第十二输入端连接;
在所述第二加法运算单元之后,还包括第二数据选择单元和第二数据分配单元,在所述第二数据选择单元和所述第二数据分配单元之间,还包括第四数据寄存单元和第四加法运算单元;其中,
所述第二加法运算单元的输出端与所述第二数据选择单元的输入端连接,所述第二数据分配单元的输出端用于输出所述图像数据的计算结果,所述第二数据选择单元的第三输出端直接与所述第二数据分配单元的第十三输入端连接,所述第二数据分配单元的第十四输入端与所述第四加法运算单元的输出端连接,所述第二数据选择单元的第四输出端分别与所述第四数据寄存单元的输入端和所述第四加法运算单元的第十五输入端连接,所述第四数据寄存单元的输出端与所述第四加法运算单元的第十六输入端连接。
可选的,若所述第一数据选择单元和所述第一数据分配单元选择使用所述第一输出端到所述第九输入端的数据流向,且所述第二数据选择单元和所述第二数据分配单元选择使用所述第三输出端到所述第十三输入端的数据流向,则所述图像尺寸调整结构采用双线性插值方法。
可选的,若所述第一数据选择单元和所述第一数据分配单元选择使用所述第二输出端到所述第十输入端的数据流向,且所述第二数据选择单元和所述第二数据分配单元选择使用所述第四输出端到所述第十四输入端的数据流向,则所述图像尺寸调整结构采用三次插值方法。
第二方面,本发明实施例还提供了一种图像尺寸调整方法,该方法应用于本发明任意实施例所提供的基于数据流架构的图像尺寸调整结构,包括:
获取待计算的图像数据及所需的图像位置系数,所述图像位置系数包括行方向上的第一图像位置系数和列方向上的第二图像位置系数;
根据预设时序要求,将所述图像数据和所述图像位置系数输入到所述图像尺寸调整结构的对应端口中;
根据所选择的图像尺寸调整算法控制所述图像尺寸调整结构中的数据流向,并通过所述图像尺寸调整结构得到完成放缩后的计算结果。
可选的,所述根据所选择的图像尺寸调整算法控制所述图像尺寸调整结构中的数据流向,并通过所述图像尺寸调整结构得到完成放缩后的计算结果,包括:
若所述图像尺寸调整算法为双线性插值方法,则使用如下公式进行计算:
可选的,所述根据所选择的图像尺寸调整算法控制所述图像尺寸调整结构中的数据流向,并通过所述图像尺寸调整结构得到完成放缩后的计算结果,包括:
若所述图像尺寸调整算法为三次插值方法,则使用如下公式进行计算:
可选的,所述获取所需的图像位置系数,包括:
通过前级模块根据预设图像放缩比例及所述图像尺寸调整算法计算所述图像位置系数。
第三方面,本发明实施例还提供了一种计算机设备,该计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的图像尺寸调整方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的图像尺寸调整方法。
本发明实施例提供了一种基于数据流架构的图像尺寸调整结构,包括第一乘法运算单元、第二乘法运算单元、第一数据寄存单元、第二数据寄存单元、第一加法运算单元和第二加法运算单元,各个单元的输入输出端口按照设定的数据流向进行连接,通过在数据流架构中构建用于调整图像尺寸的专用单元,并控制待计算的图像数据依次流经不同的计算单元,避免了调用CPU进行基于指令集的计算,实现了图像数据的快速计算,并释放了CPU的计算压力,从而实现了视频及图像流的快速缩放处理,有效的减缓了AI芯片的前后处理效率低下的瓶颈问题。
附图说明
图1为本发明实施例一提供的基于数据流架构的图像尺寸调整结构的结构示意图;
图2为本发明实施例一提供的另一种基于数据流架构的图像尺寸调整结构的结构示意图;
图3为本发明实施例二提供的图像尺寸调整方法的流程图;
图4为本发明实施例三提供的计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一输入端称为第二输入端,且类似地,可将第二输入端称为第一输入端。第一输入端和第二输入端两者都是输入端,但其不是同一输入端。术语“第一”、“第二”等不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
实施例一
图1为本发明实施例一提供的基于数据流架构的图像尺寸调整结构的结构示意图,本实施例可适用于对视频及图像流相关数据进行前后端计算处理的情况。如图1所示,该图像尺寸调整结构包括:第一乘法运算单元11、第二乘法运算单元12、第一数据寄存单元13、第二数据寄存单元14、第一加法运算单元15和第二加法运算单元16;其中,所述第一乘法运算单元11的第一输入端111用于接收待计算的图像数据,第二输入端112用于接收第一图像位置系数,所述第一乘法运算单元11的输出端113分别与所述第一数据寄存单元13的输入端131和所述第一加法运算单元15的第三输入端151连接,所述第一数据寄存单元13的输出端132与所述第一加法运算单元15的第四输入端152连接,所述第一加法运算单元15的输出端153与所述第二乘法运算单元12的第五输入端121连接,所述第二乘法运算单元12的第六输入端122用于接收第二图像位置系数,所述第二乘法运算单元12的输出端123分别与所述第二数据寄存单元14的输入端141和所述第二加法运算单元16的第七输入端161连接,所述第二数据寄存单元14的输出端142与所述第二加法运算单元16的第八输入端162连接,所述第二加法运算单元16的输出端163用于输出所述图像数据的计算结果;所述第一数据寄存单元13用于在串行运算中存储所述第一乘法运算单元11上一次的运算结果,所述第二数据寄存单元14用于在串行运算中存储所述第二乘法运算单元12上一次的运算结果。
具体的,可以根据约定的时序要求分别从该结构中第一乘法运算单元11的第一输入端111、第二输入端112和第二乘法运算单元12的第六输入端122输入待计算的图像数据、第一图像位置系数和第二图像位置系数,则该结构可以采用双线性插值方法对输入的图像数据进行计算,以得到放缩后的计算结果。在此之前,可以根据预设图像缩放比例由前级模块先行计算得到行与列方向上对应的第一图像位置系数和第二图像位置系数。其中,双线性插值方法可以采用如下公式进行计算:
其中,表示计算结果,即新图像的像素数据,和表示第一图像位置系数,和表示第二图像位置系数,、、和表示原图像中对应所需的4个像素数据。则可以通过第一乘法运算单元11分别计算、、和,再通过第一加法运算单元15计算得到和,再通过第二乘法运算单元12计算得到和,最后即可通过第二加法运算单元16计算得到并进行输出,其中的加法运算可以分别通过第一数据寄存单元13和第二数据寄存单元14存储其前级单元上一次运算结果来实现。然后通过控制待计算的图像数据依次进入并流经各个计算单元,即可完成整张图像的计算。
在上述技术方案的基础上,可选的,如图2所示,在所述第一加法运算单元15和所述第二乘法运算单元12之间,还包括第一数据选择单元21和第一数据分配单元22,在所述第一数据选择单元21和所述第一数据分配单元22之间,还包括第三数据寄存单元23和第三加法运算单元24;其中,所述第一加法运算单元15的输出端153与所述第一数据选择单元21的输入端211连接,所述第一数据分配单元22的输出端223与所述第二乘法运算单元12的输入端121连接,所述第一数据选择单元21的第一输出端212直接与所述第一数据分配单元22的第九输入端221连接,所述第一数据分配单元22的第十输入端222与所述第三加法运算单元24的输出端243连接,所述第一数据选择单元21的第二输出端213分别与所述第三数据寄存单元23的输入端231和所述第三加法运算单元24的第十一输入端241连接,所述第三数据寄存单元23的输出端232与所述第三加法运算单元24的第十二输入端242连接;在所述第二加法运算单元16之后,还包括第二数据选择单元25和第二数据分配单元26,在所述第二数据选择单元25和所述第二数据分配单元26之间,还包括第四数据寄存单元27和第四加法运算单元28;其中,所述第二加法运算单元16的输出端163与所述第二数据选择单元25的输入端251连接,所述第二数据分配单元26的输出端263用于输出所述图像数据的计算结果,所述第二数据选择单元25的第三输出端252直接与所述第二数据分配单元26的第十三输入端261连接,所述第二数据分配单元26的第十四输入端262与所述第四加法运算单元28的输出端283连接,所述第二数据选择单元25的第四输出端253分别与所述第四数据寄存单元27的输入端271和所述第四加法运算单元28的第十五输入端281连接,所述第四数据寄存单元27的输出端272与所述第四加法运算单元28的第十六输入端282连接。
进一步可选的,若所述第一数据选择单元21和所述第一数据分配单元22选择使用所述第一输出端212到所述第九输入端221的数据流向,且所述第二数据选择单元25和所述第二数据分配单元26选择使用所述第三输出端252到所述第十三输入端261的数据流向,则所述图像尺寸调整结构采用双线性插值方法。以及,可选的,若所述第一数据选择单元21和所述第一数据分配单元22选择使用所述第二输出端213到所述第十输入端222的数据流向,且所述第二数据选择单元25和所述第二数据分配单元26选择使用所述第四输出端253到所述第十四输入端262的数据流向,则所述图像尺寸调整结构采用三次插值方法。
具体的,可以通过成组的数据选择单元和数据分配单元配合进行旁路处理,以使本实施例所提供的图像尺寸调整结构可以选择使用双线性插值方法或者三次插值方法对输入的图像数据进行计算,以得到对应放缩后的计算结果。当第一数据选择单元21和第一数据分配单元22选择使用第一输出端212到第九输入端221的数据流向,且第二数据选择单元25和第二数据分配单元26选择使用第三输出端252到第十三输入端261的数据流向时,该结构可以采用双线性插值方法对输入的图像数据进行计算,具体的计算过程如上所述,在此不再冗述。当第一数据选择单元21和第一数据分配单元22选择使用第二输出端213到第十输入端222的数据流向,且第二数据选择单元25和第二数据分配单元26选择使用第四输出端253到第十四输入端262的数据流向时,该结构可以采用三次插值方法对输入的图像数据进行计算,具体可以采用如下公式:
其中,表示计算结果,即新图像的像素数据,、、和表示第一图像位置系数,、、和表示第二图像位置系数,、、、、、、、、、、、、、、和表示原图像中对应所需的16个像素数据。则可以通过第一乘法运算单元11串行计算、、、、、、、、、、、、、、和,再通过第一加法运算单元15将其中的相邻乘积,串行的两两相加,分别得到、、、、、、和,再通过第三加法运算单元24将其中的相邻加和,串行的两两相加,分别得到、、和,再通过第二乘法运算单元12将得到的各个加和,串行的分别与、、和相乘,分别得到、、和,再通过第二加法运算单元16将其中的相邻乘积,串行的两两相加,得到和,最后即可通过第四加法运算单元28计算得到并进行输出,其中的加法运算可以分别通过第一数据寄存单元13、第二数据寄存单元14、第三数据寄存单元23和第四数据寄存单元27存储其前级单元上一次运算结果来实现,其中,第三数据寄存单元23可用于在串行计算中存储第一加法运算单元15上一次的运算结果,第四数据寄存单元27可用于在串行计算中存储第二加法运算单元16上一次的运算结果。然后通过控制待计算的图像数据依次进入并流经各个计算单元,即可完成整张图像的计算。
本发明实施例所提供的基于数据流架构的图像尺寸调整结构,包括第一乘法运算单元、第二乘法运算单元、第一数据寄存单元、第二数据寄存单元、第一加法运算单元和第二加法运算单元,各个单元的输入输出端口按照设定的数据流向进行连接,通过在数据流架构中构建用于调整图像尺寸的专用单元,并控制待计算的图像数据依次流经不同的计算单元,避免了调用CPU进行基于指令集的计算,实现了图像数据的快速计算,并释放了CPU的计算压力,从而实现了视频及图像流的快速缩放处理,有效的减缓了AI芯片的前后处理效率低下的瓶颈问题。
实施例二
图3为本发明实施例二提供的图像尺寸调整方法的流程图。本实施例可适用于对视频及图像流相关数据进行前后端计算处理的情况,该方法可以应用于本发明任意实施例所提供的基于数据流架构的图像尺寸调整结构,具备该结构相应的方法流程和有益效果。如图3所示,具体包括如下步骤:
S31、获取待计算的图像数据及所需的图像位置系数,所述图像位置系数包括行方向上的第一图像位置系数和列方向上的第二图像位置系数。
S32、根据预设时序要求,将所述图像数据和所述图像位置系数输入到所述图像尺寸调整结构的对应端口中。
S33、根据所选择的图像尺寸调整算法控制所述图像尺寸调整结构中的数据流向,并通过所述图像尺寸调整结构得到完成放缩后的计算结果。
其中,可选的,所述根据所选择的图像尺寸调整算法控制所述图像尺寸调整结构中的数据流向,并通过所述图像尺寸调整结构得到完成放缩后的计算结果,包括:
若所述图像尺寸调整算法为双线性插值方法,则使用如下公式进行计算:
以及,可选的,所述根据所选择的图像尺寸调整算法控制所述图像尺寸调整结构中的数据流向,并通过所述图像尺寸调整结构得到完成放缩后的计算结果,包括:
若所述图像尺寸调整算法为三次插值方法,则使用如下公式进行计算:
可选的,所述获取所需的图像位置系数,包括:
通过前级模块根据预设图像放缩比例及所述图像尺寸调整算法计算所述图像位置系数。
具体的,在需要对视频及图像流相关数据进行前后端计算处理时,首先可以通过本结构的前级模块根据预设图像放缩比例及所选择的图像尺寸调整算法计算所需的图像位置系数,然后可以同获取到的需要调整的图像数据基于约定的时序要求,对应输入到图像尺寸调整结构的相应端口中,如上所述,可以将图像数据输入到该结构中第一乘法运算单元的第一输入端,将第一图像位置系数和第二图像位置系数分别输入到该结构中第一乘法运算单元的第二输入端和第二乘法运算单元的第六输入端,再根据所选择的图像尺寸调整算法控制该结构中的数据流向,具体可以通过控制其中第一数据选择单元、第一数据分配单元、第二数据选择单元和第二数据分配单元所启用的输入输出端口来实现,从而使用该结构进行计算。计算过程具体可以采用双线性插值方法或三次插值方法,具体的计算过程可以参考上述说明,在此将不再冗述。
本发明实施例所提供的技术方案,通过在数据流架构中构建用于调整图像尺寸的专用单元,并控制待计算的图像数据依次流经不同的计算单元,避免了调用CPU进行基于指令集的计算,实现了图像数据的快速计算,并释放了CPU的计算压力,从而实现了视频及图像流的快速缩放处理,有效的减缓了AI芯片的前后处理效率低下的瓶颈问题。
实施例三
图4为本发明实施例三提供的计算机设备的结构示意图,示出了适于用来实现本发明实施方式的示例性计算机设备的框图。图4显示的计算机设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图4所示,该计算机设备包括处理器41、存储器42、输入装置43及输出装置44;计算机设备中处理器41的数量可以是一个或多个,图4中以一个处理器41为例,计算机设备中的处理器41、存储器42、输入装置43及输出装置44可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器42作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的图像尺寸调整方法对应的程序指令/模块。处理器41通过运行存储在存储器42中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的图像尺寸调整方法。
存储器42可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器42可进一步包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置43可用于获取待计算的图像数据及所需的图像位置系数,以及产生与计算机设备的用户设置和功能控制有关的键信号输入等。输出装置44可用于向后续模块传输计算结果等等。
实施例四
本发明实施例四还提供一种包含计算机可执行指令的存储介质,该计算机可执行指令在由计算机处理器执行时用于执行一种图像尺寸调整方法,该方法包括:
获取待计算的图像数据及所需的图像位置系数,所述图像位置系数包括行方向上的第一图像位置系数和列方向上的第二图像位置系数;
根据预设时序要求,将所述图像数据和所述图像位置系数输入到所述图像尺寸调整结构的对应端口中;
根据所选择的图像尺寸调整算法控制所述图像尺寸调整结构中的数据流向,并通过所述图像尺寸调整结构得到完成放缩后的计算结果。
存储介质可以是任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM、兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到计算机系统。第二计算机系统可以提供程序指令给计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的图像尺寸调整方法中的相关操作。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(RandomAccess Memory, RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种基于数据流架构的图像尺寸调整结构,其特征在于,包括:第一乘法运算单元、第二乘法运算单元、第一数据寄存单元、第二数据寄存单元、第一加法运算单元和第二加法运算单元;其中,
所述第一乘法运算单元的第一输入端用于接收待计算的图像数据,第二输入端用于接收第一图像位置系数,所述第一乘法运算单元的输出端分别与所述第一数据寄存单元的输入端和所述第一加法运算单元的第三输入端连接,所述第一数据寄存单元的输出端与所述第一加法运算单元的第四输入端连接,所述第一加法运算单元的输出端与所述第二乘法运算单元的第五输入端连接,所述第二乘法运算单元的第六输入端用于接收第二图像位置系数,所述第二乘法运算单元的输出端分别与所述第二数据寄存单元的输入端和所述第二加法运算单元的第七输入端连接,所述第二数据寄存单元的输出端与所述第二加法运算单元的第八输入端连接,所述第二加法运算单元的输出端用于输出所述图像数据的计算结果;所述第一数据寄存单元用于在串行运算中存储所述第一乘法运算单元上一次的运算结果,所述第二数据寄存单元用于在串行运算中存储所述第二乘法运算单元上一次的运算结果。
2.根据权利要求1所述的基于数据流架构的图像尺寸调整结构,其特征在于,在所述第一加法运算单元和所述第二乘法运算单元之间,还包括第一数据选择单元和第一数据分配单元,在所述第一数据选择单元和所述第一数据分配单元之间,还包括第三数据寄存单元和第三加法运算单元;其中,
所述第一加法运算单元的输出端与所述第一数据选择单元的输入端连接,所述第一数据分配单元的输出端与所述第二乘法运算单元的输入端连接,所述第一数据选择单元的第一输出端直接与所述第一数据分配单元的第九输入端连接,所述第一数据分配单元的第十输入端与所述第三加法运算单元的输出端连接,所述第一数据选择单元的第二输出端分别与所述第三数据寄存单元的输入端和所述第三加法运算单元的第十一输入端连接,所述第三数据寄存单元的输出端与所述第三加法运算单元的第十二输入端连接;
在所述第二加法运算单元之后,还包括第二数据选择单元和第二数据分配单元,在所述第二数据选择单元和所述第二数据分配单元之间,还包括第四数据寄存单元和第四加法运算单元;其中,
所述第二加法运算单元的输出端与所述第二数据选择单元的输入端连接,所述第二数据分配单元的输出端用于输出所述图像数据的计算结果,所述第二数据选择单元的第三输出端直接与所述第二数据分配单元的第十三输入端连接,所述第二数据分配单元的第十四输入端与所述第四加法运算单元的输出端连接,所述第二数据选择单元的第四输出端分别与所述第四数据寄存单元的输入端和所述第四加法运算单元的第十五输入端连接,所述第四数据寄存单元的输出端与所述第四加法运算单元的第十六输入端连接。
3.根据权利要求2所述的基于数据流架构的图像尺寸调整结构,其特征在于,若所述第一数据选择单元和所述第一数据分配单元选择使用所述第一输出端到所述第九输入端的数据流向,且所述第二数据选择单元和所述第二数据分配单元选择使用所述第三输出端到所述第十三输入端的数据流向,则所述图像尺寸调整结构采用双线性插值方法。
4.根据权利要求2所述的基于数据流架构的图像尺寸调整结构,其特征在于,若所述第一数据选择单元和所述第一数据分配单元选择使用所述第二输出端到所述第十输入端的数据流向,且所述第二数据选择单元和所述第二数据分配单元选择使用所述第四输出端到所述第十四输入端的数据流向,则所述图像尺寸调整结构采用三次插值方法。
5.一种图像尺寸调整方法,应用于如权利要求2所述的基于数据流架构的图像尺寸调整结构,其特征在于,包括:
获取待计算的图像数据及所需的图像位置系数,所述图像位置系数包括行方向上的第一图像位置系数和列方向上的第二图像位置系数;
根据预设时序要求,将所述图像数据和所述图像位置系数输入到所述图像尺寸调整结构的对应端口中;
根据所选择的图像尺寸调整算法控制所述图像尺寸调整结构中的数据流向,并通过所述图像尺寸调整结构得到完成放缩后的计算结果。
8.根据权利要求5所述的图像尺寸调整方法,其特征在于,所述获取所需的图像位置系数,包括:
通过前级模块根据预设图像放缩比例及所述图像尺寸调整算法计算所述图像位置系数。
9.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求5-8中任一所述的图像尺寸调整方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求5-8中任一所述的图像尺寸调整方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210007701.2A CN114022366B (zh) | 2022-01-06 | 2022-01-06 | 基于数据流架构的图像尺寸调整装置、调整方法及设备 |
PCT/CN2023/070762 WO2023131252A1 (zh) | 2022-01-06 | 2023-01-05 | 基于数据流架构的图像尺寸调整结构、调整方法及图像缩放方法和装置 |
US18/301,985 US20230252600A1 (en) | 2022-01-06 | 2023-04-17 | Image size adjustment structure, adjustment method, and image scaling method and device based on streaming architecture |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210007701.2A CN114022366B (zh) | 2022-01-06 | 2022-01-06 | 基于数据流架构的图像尺寸调整装置、调整方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114022366A true CN114022366A (zh) | 2022-02-08 |
CN114022366B CN114022366B (zh) | 2022-03-18 |
Family
ID=80069856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210007701.2A Active CN114022366B (zh) | 2022-01-06 | 2022-01-06 | 基于数据流架构的图像尺寸调整装置、调整方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114022366B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023131252A1 (zh) * | 2022-01-06 | 2023-07-13 | 深圳鲲云信息科技有限公司 | 基于数据流架构的图像尺寸调整结构、调整方法及图像缩放方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286226A (zh) * | 2008-05-23 | 2008-10-15 | 杭州华三通信技术有限公司 | 一种缩小图像的数字滤波方法和装置 |
CN101483036A (zh) * | 2008-01-10 | 2009-07-15 | 扬智科技股份有限公司 | 图像缩小装置及其缩小方法 |
CN107656899A (zh) * | 2017-09-27 | 2018-02-02 | 深圳大学 | 一种基于fpga的模板卷积实现方法和系统 |
CN108986033A (zh) * | 2018-07-26 | 2018-12-11 | 西安电子科技大学 | 基于双线性插值算法处理的图像缩放方法 |
CN109902063A (zh) * | 2019-02-01 | 2019-06-18 | 京微齐力(北京)科技有限公司 | 一种集成有二维卷积阵列的系统芯片 |
CN110223232A (zh) * | 2019-06-06 | 2019-09-10 | 电子科技大学 | 一种基于双线性插值算法的视频图像放大方法 |
CN111178495A (zh) * | 2018-11-10 | 2020-05-19 | 杭州凝眸智能科技有限公司 | 用于检测图像中极小物体的轻量卷积神经网络 |
CN111724304A (zh) * | 2020-06-12 | 2020-09-29 | 深圳市爱协生科技有限公司 | 一种图像缩放方法、装置、终端设备及存储介质 |
CN113091699A (zh) * | 2021-03-31 | 2021-07-09 | 中煤科工集团重庆研究院有限公司 | 一种基于视频图像的微小位移放大方法 |
-
2022
- 2022-01-06 CN CN202210007701.2A patent/CN114022366B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483036A (zh) * | 2008-01-10 | 2009-07-15 | 扬智科技股份有限公司 | 图像缩小装置及其缩小方法 |
CN101286226A (zh) * | 2008-05-23 | 2008-10-15 | 杭州华三通信技术有限公司 | 一种缩小图像的数字滤波方法和装置 |
CN107656899A (zh) * | 2017-09-27 | 2018-02-02 | 深圳大学 | 一种基于fpga的模板卷积实现方法和系统 |
CN108986033A (zh) * | 2018-07-26 | 2018-12-11 | 西安电子科技大学 | 基于双线性插值算法处理的图像缩放方法 |
CN111178495A (zh) * | 2018-11-10 | 2020-05-19 | 杭州凝眸智能科技有限公司 | 用于检测图像中极小物体的轻量卷积神经网络 |
CN109902063A (zh) * | 2019-02-01 | 2019-06-18 | 京微齐力(北京)科技有限公司 | 一种集成有二维卷积阵列的系统芯片 |
CN110223232A (zh) * | 2019-06-06 | 2019-09-10 | 电子科技大学 | 一种基于双线性插值算法的视频图像放大方法 |
CN111724304A (zh) * | 2020-06-12 | 2020-09-29 | 深圳市爱协生科技有限公司 | 一种图像缩放方法、装置、终端设备及存储介质 |
CN113091699A (zh) * | 2021-03-31 | 2021-07-09 | 中煤科工集团重庆研究院有限公司 | 一种基于视频图像的微小位移放大方法 |
Non-Patent Citations (2)
Title |
---|
史秀花 等: "一种用于高速数据流的并行数字下变频方法", 《制导与引信》 * |
蔡泽锋等: "基于行列不同插值算法的图像缩放引擎的设计", 《液晶与显示》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023131252A1 (zh) * | 2022-01-06 | 2023-07-13 | 深圳鲲云信息科技有限公司 | 基于数据流架构的图像尺寸调整结构、调整方法及图像缩放方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114022366B (zh) | 2022-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102443546B1 (ko) | 행렬 곱셈기 | |
JP7256914B2 (ja) | ベクトル縮小プロセッサ | |
CN109213962B (zh) | 运算加速器 | |
JP7007488B2 (ja) | ハードウェアベースのプーリングのシステムおよび方法 | |
CN107341547A (zh) | 一种用于执行卷积神经网络训练的装置和方法 | |
CN116541647A (zh) | 运算加速器、处理方法及相关设备 | |
CN114092336B (zh) | 基于双线性插值算法的图像缩放方法、装置、设备及介质 | |
CN107680028B (zh) | 用于缩放图像的处理器和方法 | |
CN111898733A (zh) | 一种深度可分离卷积神经网络加速器架构 | |
CN108765282B (zh) | 基于fpga的实时超分辨方法及系统 | |
CN111583095B (zh) | 图像数据存储方法、图像数据处理方法、系统及相关装置 | |
WO2022226721A1 (zh) | 一种矩阵乘法器及矩阵乘法器的控制方法 | |
CN110147252A (zh) | 一种卷积神经网络的并行计算方法及装置 | |
EP3729254B1 (en) | A programmable multiply-add array hardware | |
CN114022366B (zh) | 基于数据流架构的图像尺寸调整装置、调整方法及设备 | |
CN112836813A (zh) | 一种用于混合精度神经网络计算的可重构脉动阵列系统 | |
CN112905530A (zh) | 片上架构、池化计算加速器阵列、单元以及控制方法 | |
CN115310037A (zh) | 矩阵乘法计算单元、加速单元、计算系统和相关方法 | |
US9058541B2 (en) | Object detection method, object detector and object detection computer program | |
CN110414672B (zh) | 卷积运算方法、装置及系统 | |
CN114461978A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
Lysakov et al. | FPGA-based hardware accelerator for high-performance data-stream processing | |
CN116822616A (zh) | 一种用于大语言模型中Softmax函数训练的装置 | |
CN115328440A (zh) | 一种基于2d脉动阵列的通用稀疏矩阵乘法实现方法及装置 | |
CN114327639A (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 |