插值方法、图像处理方法、GPU及芯片技术

技术编号:36945605 阅读:50 留言:0更新日期:2023-03-22 19:06
本申请实施例提供了一种插值及图像处理方法、GPU及芯片,其中,GPU包括:计算部件和显存;计算部件,用于确定待插值的多通道源数据对象和待插值生成的多通道目标数据对象;基于多通道源数据对象和多通道目标数据对象,使用线程进行基于数据点的插值位置转换处理,获得多通道目标数据对象中各个数据点对应的位置转换结果,每个线程通过对多通道目标数据对象中至少一个数据点的多个通道进行单次位置转换计算获得对应的多个位置转换结果;使用线程,基于位置转换结果以及从显示中读取的、位置转换结果所指示的位置在多通道源数据对象处的数据点的对象值,生成插值后的多通道数据对象;将生成的多通道数据对象中的数据点的对象值写入显存。象值写入显存。象值写入显存。

【技术实现步骤摘要】
插值方法、图像处理方法、GPU及芯片


[0001]本申请实施例涉及处理器
,尤其涉及一种基于GPU实现的插值方法、图像 处理方法、GPU及芯片。

技术介绍

[0002]插值法是指给出函数f(x)的一些样点值,选定一个便于计算的函数形式,以通过已 知样点来确定函数φ(x)作为f(x)的近似的一种方式。插值法在图像处理或深度学习中 较多使用,例如,基于多通道图像的插值生成采样图像、基于多维数组插值生成采样的 新多维数组,等等。
[0003]因GPU(Graphic Processing Unit,图形处理器)在图像处理和高速计算方面的优 势,越来越多的图像处理和深度学习都交由GPU完成。目前,在GPU上实现上述插值运 算,为保证程序并行性,一般采用一个线程处理一个数据点(如一个像素点或者数组中 的一个元素)的实现方法。但是,插值计算过程中存在着较多重复的部分,例如,根据 输出图像的像素坐标计算对应的输入图像的像素坐标中的数值类型转换(如整型转浮点 型、浮点型转整型等)、浮点数上下取整,等等。这些插值过程中的重复计算会耗费大 量的计算量,导致插值计算过程性能低下,成为通过GPU计算插值的性能瓶颈。

技术实现思路

[0004]有鉴于此,本申请实施例提供一种基于GPU实现的插值方案,以至少部分解决上述 问题。
[0005]根据本申请实施例的第一方面,提供了一种插值方法,包括:确定待插值的多通道 源数据对象和待插值生成的多通道目标数据对象;基于所述多通道源数据对象和所述多 通道目标数据对象,使用线程进行基于数据点的插值位置转换处理,获得所述多通道目 标数据对象中各个数据点对应的位置转换结果,其中,每个线程通过对所述多通道目标 数据对象中至少一个数据点的多个通道进行单次位置转换计算获得对应的多个位置转换 结果;使用所述线程,基于所述位置转换结果及其指示的位置在所述多通道源数据对象 处的数据点的对象值,生成插值后的多通道目标数据对象。
[0006]根据本申请实施例的第二方面,提供了一种GPU,包括:计算部件和显存;其中: 所述计算部件,用于确定待插值的多通道源数据对象和待插值生成的多通道目标数据对 象;基于所述多通道源数据对象和所述多通道目标数据对象,使用线程进行基于数据点 的插值位置转换处理,获得所述多通道目标数据对象中各个数据点对应的位置转换结果, 其中,每个线程通过对所述多通道目标数据对象中至少一个数据点的多个通道进行单次 位置转换计算获得对应的多个位置转换结果;使用所述线程,基于所述位置转换结果, 以及从所述显示中读取的、所述位置转换结果所指示的位置在所述多通道源数据对象处 的数据点的对象值,生成插值后的多通道数据对象;并将生成的多通道数据对象中的数 据点的对象值写入所述显存。
[0007]根据本申请实施例的第三方面,提供了一种芯片,包括如第二方面所述的GPU。
[0008]根据本申请实施例的第四方面,提供了一种电子设备,包括如第三方面所述的芯片 或者包括如第二方面所述的GPU。
[0009]根据本申请实施例的第五方面,提供了一种图像处理方法,包括:确定待插值的多 通道源图像和待插值生成的多通道目标图像;基于所述多通道源图像和所述多通道目标 图像,使用线程进行基于像素点的插值位置转换处理,获得所述多通道目标图像中各个 像素点对应的位置转换结果,其中,每个线程通过对所述多通道目标图像中至少一个像 素点的多个通道进行单次位置转换计算获得对应的多个位置转换结果;使用所述线程, 基于所述位置转换结果及其指示的位置在所述多通道源图像处的像素点的像素值,生成 插值后的多通道目标图像。
[0010]根据本申请实施例提供的方案,在需要通过插值生成新的多通道目标数据对象时, 根据插值的共性确定插值涉及的重复计算部分,即,各个数据点的多个通道的插值位置 转换处理相同且转换后的位置相同。由此,采用一个线程对数据点的多个通道进行处理 的方式,使得一个线程能够计算出多通道目标数据对象的数据点在多通道下的相同的位 置坐标,基于该相同的位置坐标和数据点在不同通道下的对象值,即可插值生成新的数 据点。进而,根据插值生成的所有新的数据点,即可生成最终的多通道目标数据对象。 可见,通过本申请实施例,能够实现插值位置转换结果的复用,从而大幅度降低了插值 计算量,提升了GPU进行插值计算的性能。
附图说明
[0011]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有 技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图 获得其他的附图。
[0012]图1A为一种示例性的GPU的架构示意图;
[0013]图1B为图1A所示GPU架构中的一种计算部件的架构示意图;
[0014]图2A为根据本申请实施例一的一种插值方法的步骤流程图;
[0015]图2B为一种线性插值的示意图;
[0016]图2C为一种最邻近插值的示意图;
[0017]图2D为一种三次样条插值的示意图;
[0018]图2E为图2A所示实施例的一种插值过程示意图;
[0019]图2F为使用图2A所示实施例方案的一种双线性插值的示意图;
[0020]图3为根据本申请实施例三的一种图像处理方法的步骤流程图;
[0021]图4为根据本申请实施例四的一种芯片的结构框图。
具体实施方式
[0022]为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实 施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的 实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的 实
施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护 的范围。
[0023]下面结合本申请实施例附图进一步说明本申请实施例具体实现。
[0024]为便于理解本申请实施例的方案,以下结合图1A和图1B,对GPU的架构进行示例 性说明。
[0025]由图1A中可见,GPU主要包括计算部件102和显存104。一般来说,计算部件102 通常包括多个计算单元,图1中示意为8个计算单元,负责根据指令执行相应的任务。 显存104可以存储相应的数据,具有数据访问接口,通过该数据访问接口,可以从显存 104中读取数据或者向显存104写入数据。
[0026]除此之外,GPU通过总线,示例性地,如PCIe线,与CPU连接,以通过该PCIe总 线,GPU与CPU之间进行指令和数据的传输。在GPU内部,还设置有线程引擎,负责将 线程块BLOCK分配给计算单元,由计算单元负责执行。GPU中还设置有缓存(如L2 CACHE)、 内存控制器、高速集线器和GPU互联接口。缓存可分为多级,以在GPU执行任务过程中 缓存数据;内存控制器负责对显存104的访问;高速集线器负责GPU间的内存访问本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种GPU,包括:计算部件和显存;其中:所述计算部件,用于确定待插值的多通道源数据对象和待插值生成的多通道目标数据对象;基于所述多通道源数据对象和所述多通道目标数据对象,使用线程进行基于数据点的插值位置转换处理,获得所述多通道目标数据对象中各个数据点对应的位置转换结果,其中,每个线程通过对所述多通道目标数据对象中至少一个数据点的多个通道进行单次位置转换计算获得对应的多个位置转换结果;使用所述线程,基于所述位置转换结果,以及从所述显示中读取的、所述位置转换结果所指示的位置在所述多通道源数据对象处的数据点的对象值,生成插值后的多通道数据对象;并将生成的多通道数据对象中的数据点的对象值写入所述显存。2.根据权利要求1所述的GPU,其中,所述插值位置转换处理包括插值过程中的与位置相关的计算过程。3.根据权利要求2所述的GPU,其中,所述与位置相关的计算过程包括:基于所述多通道目标数据对象中的数据点的目标位置的数值类型转换处理、所述目标位置至其在所述多通道源数据对象中对应的源位置的映射处理、和基于所述映射处理的映射位置的取整处理中的至少之一。4.根据权利要求3所述的GPU,其中,所述与位置相关的计算过程还包括:根据所述映射处理获得的映射位置及其对应的预设权重进行的权重处理、基于对映射位置取整处理后的位置点范围的确定处理中的至少之一。5.根据权利要求2

4任一项所述的GPU,其中,所述多通道源数据对象为多通道源图像,所述多通道目标数据对象为多通道目标图像,所述数据点为所述多通道源图像或所述多通道目标图像中的像素点;所述每个线程通过对所述多通道目标数据对象中至少一个数据点的多个通道进行单次位置转换计算获得对应的多个位置转换结果,包括:针对每个线程处理的所述多通道目标图像中的每个像素点,使用该线程对该像素点对应的多通道位置点进行一次位置转换计算处理,以获得多通道位置点对应的相同的位置转换结果。6.根据权利要求5所述的GPU,其中,所述使用该线程对该像素点对应的多通道位置点进行一次位置转换计算处理,以获得多通道位置点对应的相同的位置转换结果,包括:使用该线程将该像素点对应的多通道目标位置点的数值类型从整型转换为浮点型;基于从所述多通道源图像至所述多通道目标图像的采样比例,将浮点型的所述多通道目标位置点映射至浮点型的多通道映射位置点;对所述多通道映射位置点进行取整处理,根据取整处理结果确定所述多通道目标位置点在所述多通道源图像中对应的多通道源位置点。7.根据权利要求5所述的GPU,其中,所述使用该线程对该像素点对应的多通道位置点进行一次位置转换计算处理,以获得多通道位置点对应的相同的位置转换结果,包括:使用该线程将该像素点对应的多通道目标位置点的数值类型从整型转换为浮点型;基于从所述多通道源图像至所述多通道目标图像的采样比例,将浮点型的所述多通道目标位置点映射至浮点型的多通道映射位置点;
根据所述多通道映射位置点和预设的权重函数,获得所述多通道映射位置点对应的多个权重;对所述多通道映射位置点进行取整处理,根据取整处理结果和预设的位置点范围,确定所述多通道映射位置点在所述多通道源图像中对应的多个整型的多通道源位置点;根据所述多通道源位...

【专利技术属性】
技术研发人员:李英晗张羽飞
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1