数据拷贝方法及装置、计算机可读存储介质、电子设备与流程

文档序号:36132066发布日期:2023-11-22 20:25阅读:36来源:国知局
数据拷贝方法及装置与流程

本发明涉及计算机,尤其涉及一种数据拷贝方法及装置、计算机可读存储介质、电子设备。


背景技术:

1、目前的各种电子设备通常配置有图形处理器(graphics processing unit,gpu),gpu使显卡减少了对中央处理器(central processing unit,cpu)的依赖,gpu能够进行cpu关于图像处理的部分工作。

2、图像拷贝是图像处理的主要任务之一。现有技术中,为了节省cpu资源,通常利用gpu的硬件资源进行图像拷贝,这种方式通常依赖于gpu支持图像的排布方式,然而目前的gpu所支持的图像排布的种类十分有限,对于gpu不支持的图像排布,gpu需要耗费较多的资源开销计算各种偏移,拷贝效率较低,资源的开销也较大。


技术实现思路

1、本发明所要解决的技术问题是如何提高不同排布方式之间的图像拷贝的效率。

2、有鉴于此,本发明提供一种数据拷贝方法,所述方法包括:根据第一排布方式和第二排布方式,确定公共块的尺寸,所述第一排布方式为源图像在第一存储装置中的排布方式,所述第二排布方式为目标图像在第二存储装置中的排布方式,所述第一排布方式和第二排布方式不同,公共块内的多个像素数据在所述第一存储装置中的排布和在所述第二存储装置中的排布是相同的;以所述公共块为单位,将所述源图像拷贝至所述第二存储装置中,得到所述目标图像。

3、可选的,所述第一排布方式的数据结构表示和所述第二排布方式的数据结构表示的最低有效位lsb相同。

4、可选的,根据第一排布方式和第二排布方式,确定公共块的尺寸包括:根据所述第一排布方式的数据结构表示和所述第二排布方式的数据结构表示,确定所述公共块的尺寸。

5、可选的,根据所述第一排布方式的数据结构表示和所述第二排布方式的数据结构表示,确定所述公共块的尺寸包括:自所述第一排布方式的数据结构表示的lsb和所述第二排布方式的数据结构表示的lsb开始,逐位地比较比特位是否相同,若相同则比较更高一位的比特位是否相同,直至被比较的比特位不同,以得到相同的比特位;根据所述相同的比特位以及所述相同的比特位所对应的维度,确定所述公共块的尺寸。

6、可选的,以所述公共块为单位,将所述源图像拷贝至所述第二存储装置中,得到所述目标图像包括:根据所述公共块的尺寸,确定当前次拷贝操作的起始像素数据;确定源地址,所述源地址为所述当前次拷贝操作的起始像素数据在所述第一存储装置中的存储地址;确定目标地址,所述目标地址为所述当前次拷贝操作的起始像素数据在所述第二存储装置中的存储地址;根据所述源地址、所述目标地址和拷贝数据长度,将当前次所拷贝的公共块从所述第一存储装置拷贝至所述第二存储装置中,其中,所述拷贝数据长度根据所述公共块的尺寸和像素数据所占字节数确定。

7、可选的,所述第一排布方式和所述第二排布方式中的至少一个为瓦片排布。

8、可选的,所述第一存储装置和所述第二存储装置均能够被图形处理器gpu访问。

9、可选的,所述源图像为以下任意一种图像:二维图像、三维图像、二维数组图像;和/或,所述目标图像为以下任意一种图像: 二维图像、三维图像、二维数组图像。

10、本技术还提供一种数据拷贝装置,所述装置包括:公共块确定模块,用于根据第一排布方式和第二排布方式,确定公共块的尺寸,所述第一排布方式为源图像在第一存储装置中的排布方式,所述第二排布方式为目标图像在第二存储装置中的排布方式,所述第一排布方式和第二排布方式不同,公共块内的多个像素数据在所述第一存储装置中的排布和在所述第二存储装置中的排布是相同的;拷贝模块,用于以所述公共块为单位,将所述源图像拷贝至所述第二存储装置中,得到所述目标图像。

11、可选的,所述第一排布方式的数据结构表示和所述第二排布方式的数据结构表示的最低有效位lsb相同。

12、可选的,所述公共块确定模块包括:确定单元,所述确定单元用于根据所述第一排布方式的数据结构表示和所述第二排布方式的数据结构表示,确定所述公共块的尺寸。

13、可选的,所述公共块确定模块包括:比较单元,所述比较单元用于自所述第一排布方式的数据结构表示的lsb和所述第二排布方式的数据结构表示的lsb开始,逐位地比较比特位是否相同,若相同则比较更高一位的比特位是否相同,直至被比较的比特位不同,以得到相同的比特位;确定单元,所述确定单元用于根据所述相同的比特位以及所述相同的比特位所对应的维度,确定所述公共块的尺寸。

14、可选的,拷贝模块包括:更新单元,用于根据所述公共块的尺寸,确定当前次拷贝操作的起始像素数据;源地址确定单元,用于确定源地址,所述源地址为所述当前次拷贝操作的起始像素数据在所述第一存储装置中的存储地址;目标地址确定单元,用于确定目标地址,所述目标地址为所述当前次拷贝操作的起始像素数据在所述第二存储装置中的存储地址;拷贝单元,用于根据所述源地址、所述目标地址和拷贝数据长度,将当前次所拷贝的公共块从所述第一存储装置拷贝至所述第二存储装置中,其中,所述拷贝数据长度根据所述公共块的尺寸和像素数据所占字节数确定。

15、可选的,所述第一排布方式和所述第二排布方式中的至少一个为瓦片排布。

16、可选的,所述第一存储装置和所述第二存储装置均能够被图形处理器gpu访问。

17、可选的,所述源图像为以下任意一种图像:二维图像、三维图像、二维数组图像;和/或,所述目标图像为以下任意一种图像: 二维图像、三维图像、二维数组图像。

18、本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述的数据拷贝方法的步骤。

19、本发明还提供一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述的数据拷贝方法的步骤。

20、与现有技术相比,本发明的技术方案具有以下有益效果:

21、本发明的方案中,根据第一排布方式和第二排布方式,确定公共块的尺寸,所述第一排布方式为源图像在第一存储装置中的排布方式,所述第二排布方式为目标图像在第二存储装置中的排布方式,所述第一排布方式和第二排布方式不同。然后以所述公共块为单位,将所述源图像拷贝至所述第二存储装置中,得到所述目标图像。

22、也即,本发明的方案中,以公共块为粒度进行拷贝,由于公共块内的多个像素数据在第一存储装置中的排布和在所述第二存储装置中的排布是相同的,因此,在拷贝过程中无需针对公共块内的像素数据逐个计算源地址和目标地址,gpu也无需理解公共块内部像素数据的排布方式。因此,以公共块为粒度进行拷贝,在保证准确拷贝的前提下能够节省了拷贝次数,因此有效提高拷贝效率。此外,由于无需针对各个像素数据计算地址,也有利于降低算力资源的开销。本发明实施例提供的方案中,gpu的硬件资源只需支持在从源地址拷贝一定长度的像素数据至目标地址的功能,硬件无需理解图像的排布方式。因此,本发明实施例的方案能够应用于各种gpu上,以使得该gpu能够实现各种排布方式之间的图像拷贝任务。

23、进一步,本发明的方案中,根据所述第一排布方式的数据结构表示和所述第二排布方式的数据结构表示,确定所述公共块的尺寸。也即,本发明的方案中利用数据结构表示对像素数据的排布方式的表征作用,能够快速、准确地确定公共块的尺寸。

24、进一步,本发明的方案中,自所述第一排布方式的数据结构表示的lsb和所述第二排布方式的数据结构表示的lsb开始,逐位地比较比特位是否相同,若相同则比较更高一位的比特位是否相同,直至被比较的比特位不同,以得到相同的比特位;根据所述相同的比特位以及所述相同的比特位所对应的维度,确定所述公共块的尺寸。采用这样的方案,能够得到最大的公共块的尺寸,使得拷贝效率最大化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1