基于CPU+GPU异构平台的无损解压缩算法及存储介质制造技术

技术编号:34693444 阅读:14 留言:0更新日期:2022-08-27 16:28
本发明专利技术的一种基于CPU+GPU异构平台的无损解压缩算法及存储介质,基于包括两个CPU资源和一个GPU资源的工业相机,每当一个工业相机连接系统时,都会从PC端搜索资源利用率最低的两个核心作为处理核心,其中主核心负责和工业相机通讯,接收数据码流,调度和管理GPU线程资源;从核心接受GPU解码后的图像原始数据,并进行显示和存储;GPU资源由主核心进行申请和调度,若同时需要解码M行数据,则会申请M个GPU线程,每个线程单独解码一行数据,解码后的数据传输给CPU从核心进行显示和存储。本发明专利技术将计算量较大的解压缩工作,交给GPU进行完成,节省了主机端的CPU资源,同时CPU+GPU的异构架构,也使得图像码流传输和数据解码工作,可以并行完成,节省了数据总体处理时间。节省了数据总体处理时间。节省了数据总体处理时间。

【技术实现步骤摘要】
基于CPU+GPU异构平台的无损解压缩算法及存储介质


[0001]本专利技术涉及图像处理
,具体涉及一种基于CPU+GPU异构平台的无损解压缩算法及存储介质。

技术介绍

[0002]工业相机为了实现更高的传输带宽,一般会采用压缩数据的方式来传输图像,压缩后数据传输到主机后再由CPU完成解压缩过程。由于同一台主机可能同时连接多台相机,这就会导致,需要同时并行处理多个压缩码流,单核CPU的处理速度无法满足多个码流解码的需求,导致的结果就是解码失败。
[0003]图像压缩是指,以较少的比特有损或无损地表示原来像素矩阵的技术,也称图像编码。图像压缩的基本原理在于原始数据中存在着冗余。其冗余主要包括:空间冗余:表现为图像中邻近像素间的信息相关性;时间冗余:表现为图像序列中不同帧之间的相关性;频谱冗余:表现为不同彩色平面或频谱带的相关性。
[0004]图像压缩的方法很多,主要可以分为两大类:有损压缩和无损压缩。有损压缩通常压缩率比较高,但是会丢失图像细节;无损压缩的压缩率比较低,但可以保证图像信息完整性。
[0005]工业相机在使用过程中为了获取更高的传输带宽,同时要保证图像质量,一般会采用无损压缩的方式进行数据传输,压缩后的图像数据,在主机端解码。若同时传输的压缩码流数量过多,就可能导致主机端的CPU无法及时解码进而产生错误。
[0006]当前较为常见的解决办法如下所述:
[0007]1、使用有损压缩算法代替无损压缩,典型代表算法为JPEG算法,有损压缩的压缩率一般较高,因此传输数据量较小,但是带来的问题是图像细节信息丢失,计算量增加,更占据CPU资源。
[0008]2、使用预测

熵编码技术,比如参考文献Starosolski R.Simple Fast and Adaptive Lossless Image Compression Algorithm[J].Software Practice and Experience,2007,37(1):65

91的SFALC,其基本流程包括预测和编码两部分,在预测阶段,根据待编码像素的周围像素点信息,得到像素的预测值,然后将预测值和像素真实值进行运算得到像素残差,相较于像素原始值,像素残差的动态范围大幅度缩减,更适合进行编码工作;在编码流程中,一般会选择一种熵编码技术,比如哈弗曼编码或算术编码,将残差进行编码后得到压缩的码流数据。
[0009]具体地说,现有技术的主要缺点有三个。第一个是码流数据接受和解码工作,均放在同一个CPU上完成,因此数据处理流程是串行的,必须要先接收到码流数据才能开始解码工作,整体工作效率低且解码时间长;第二个是占用CPU资源,解码工作往往需要使用较多的CPU资源,这样可以同时解码的码流数量,受限于主机端的CPU个数和主频;第三个是使用有损压缩方式传输数据,这会导致图像细节信息丢失和纹理缺失,不适用于检测精度要求较高的场景。

技术实现思路

[0010]本专利技术提出的一种基于CPU+GPU异构平台的无损解压缩算法,可解决上述技术问题。
[0011]为实现上述目的,本专利技术采用了以下技术方案:
[0012]一种基于CPU+GPU异构平台的无损解压缩算法,基于包括两个CPU资源和一个GPU资源的工业相机,两个CPU资源的其中一个为主核心,另一个为从核心;其特征在于,包括以下步骤,
[0013]每当一个工业相机连接系统时,都会从PC端搜索资源利用率最低的两个核心作为处理核心,其中主核心负责和工业相机通讯,接受数据码流,调度和管理GPU线程资源;从核心接受GPU解码后的图像原始数据,并进行显示和存储;
[0014]GPU资源由主核心进行申请和调度,若同时需要解码M行数据,则会申请M个GPU线程,每个线程单独解码一行数据,解码后的数据传输给CPU从核心进行显示和存储。
[0015]进一步地,包括以下步骤:
[0016]S01、相机和主机端连接,主机端根据当前CPU使用率情况,选择CPU使用率最低的两个CPU作为主核心和从核心;
[0017]S02、相机向主核心发送解码表;
[0018]S03、相机每压缩M行数据后,向主核心发送码流数据;
[0019]S04、主核心每接受M行码流数据,则会申请M个GPU线程资源,GPU线程的个数和待解码图像的行数相同,每个GPU线程会单独解码一行图像数据;
[0020]S05、每个GPU线程,根据解码表和解码算法单独解码一行数据,获得原始图像数据;
[0021]S06、GPU将解码后的M行数据传输给从核心,从核心负责图像显示和存储;
[0022]S07、重复步骤S02~S06直到所有图像数据传输完毕。
[0023]进一步地,所述步骤S04、S05和S06是并发执行的,假设步骤S04、S05和S06的执行时间均为T,且从T0时刻整个系统开始工作,那么在[T0,T1]时间内,主核心会完成第一个M行码流数据的接受工作,此时GPU解码线程和从核心均尚未工作;在[T1,T2]时间内,主核心完成第二个M行码流数据的接受工作,同时GPU解码线程开始第一个M行码流数据的解码工作,从核心尚未工作;在[T2,T3]时刻内,主核心完成第三个M行码流数据的接受工作,GPU解码线程开始第二个M行码流数据的解码工作,从核心开始第一个M行解码后,图像数据的显示和保存工作,此后的所有时刻步骤S04、S05和S06均并发执行。
[0024]进一步地,GPU解码的步骤包括输入码流图像,进行哈夫曼解码,然后进行残差恢复处理,最后把解码后的M行图像数据传输给从核心进行显示和存储。
[0025]进一步地,对于输入码流图像,每个GPU线程都会解码单独的一行数据,各个GPU核心之间的解码流程相同,解码数据不具有相关性,可同时开始解码工作。
[0026]进一步地,哈夫曼解码步骤为,输入的码流数据是按照哈弗曼编码方式进行编码的,编码表和解码表会由主核心在初始化时候发送给GPU,GPU根据解码表完成哈夫曼解码工作。
[0027]进一步地,残差恢复步骤为哈夫曼解码后的数据为图像残差,假设哈夫曼解码数据为R,那么原始图像数据X=(R+A)mod 256,其中A是X的左侧像素点,R是S2解码后的残差
数据,X是原始图像数据,当X为图像最左侧边缘数据时则A=0;
[0028]残差恢复的整体过程是从一行图像数据的最左侧像素开始,一直恢复到该行图像像素的末尾。
[0029]再一方面,本专利技术还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述方法的步骤。
[0030]由上述技术方案可知,本专利技术提出的基于CPU+GPU异构平台的无损解压缩算法可以同时解决上述三个问题。使用CPU接受码流GPU解码码流的模式,可以将数据接受和图像解码并发执行,节省了总体处理时间;使用GPU代替CPU完成解码工作,降低了对系统CPU的使用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于CPU+GPU异构平台的无损解压缩算法,基于包括两个CPU资源和一个GPU资源的工业相机,两个CPU资源的其中一个为主核心,另一个为从核心;其特征在于,包括以下步骤:每当一个工业相机连接系统时,都会从PC端搜索资源利用率最低的两个核心作为处理核心,其中主核心负责和工业相机通讯,接受数据码流,调度和管理GPU线程资源;从核心接受GPU解码后的图像原始数据,并进行显示和存储;GPU资源由主核心进行申请和调度,若同时需要解码M行数据,则会申请M个GPU线程,每个线程单独解码一行数据,解码后的数据传输给CPU从核心进行显示和存储。2.根据权利要求1所述的基于CPU+GPU异构平台的无损解压缩算法,其特征在于:包括以下步骤:S01、相机和主机端连接,主机端根据当前CPU使用率情况,选择CPU使用率最低的两个CPU作为主核心和从核心;S02、相机向主核心发送解码表;S03、相机每压缩M行数据后,向主核心发送码流数据;S04、主核心每接受M行码流数据,则会申请M个GPU线程资源,GPU线程的个数和待解码图像的行数相同,每个GPU线程会单独解码一行图像数据;S05、每个GPU线程,根据解码表和解码算法单独解码一行数据,获得原始图像数据;S06、GPU将解码后的M行数据传输给从核心,从核心负责图像显示和存储;S07、重复步骤S02~S06直到所有图像数据传输完毕。3.根据权利要求2所述的基于CPU+GPU异构平台的无损解压缩算法,其特征在于:所述步骤S04、S05和S06是并发执行的,假设步骤S04、S05和S06的执行时间均为T,且从T0时刻整个系统开始工作,那么在[T0,T1]时间内,主核心会完成第一个M行码流数据的接受工作,此时GPU解码线程和从核心均尚未工作;在[T1,T2]时间内,主...

【专利技术属性】
技术研发人员:邵云峰曹桂平董宁
申请(专利权)人:合肥埃科光电科技股份有限公司
类型:发明
国别省市:

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

1