一种WebP图像压缩中Alpha通道调色板生成方法、系统及主机端与流程

文档序号:13283699阅读:300来源:国知局
一种WebP图像压缩中Alpha通道调色板生成方法、系统及主机端与流程

本发明涉及图像压缩领域,特别涉及一种webp图像压缩中alpha通道调色板生成方法、系统及主机端。



背景技术:

近年来,图像压缩逐渐成为计算机视觉和图像处理的重要研究热点,可以提升计算机对图片的处理速度,还可以节省存储空间。其中,webp即为一种支持有损压缩和无损压缩的图片文件格式。

而随着大数据的影响和深度学习的发展,图像压缩的速度问题成为影响数据中心效能的重要因素。



技术实现要素:

有鉴于此,本发明的目的在于提供一种webp图像压缩中alpha通道调色板生成方法、系统及主机端,能够提升webp图像压缩中alpha通道调色板生成速度,进而提升图像压缩的速度。其具体方案如下:

一种webp图像压缩中alpha通道调色板生成方法,应用于主机端,包括:

获取webp图像的alpha通道的像素强度值;

对所述像素强度值进行处理,得到待生成图像数据;

发送所述待生成图像数据至fpga设备端,并调用所述fpga设备端的核函数,以便于所述fpga设备端并行化处理所述待生成图像数据,得到调色板生成结果;

获取所述调色板生成结果。

优选地,所述对所述像素强度值进行处理,得到待生成图像数据的过程,包括:

将所述像素强度值存入数组中,并开辟相应的内存空间,得到调色板空间;

建立所述调色板空间与所述像素强度值的对应关系并排序,得到所述待生成图像数据。

优选地,所述发送所述待生成图像数据至fpga设备端,调用所述fpga设备端的核函数,以便于所述fpga设备端并行化处理所述待生成图像数据,得到调色板生成结果的过程,包括:

将所述待生成图像数据传输到缓存中,其中,所述缓存为所述主机端与所述fpga设备端进行数据通信的缓存;

向所述fpga设备端发送并行启动信号,以控制所述fpga设备端并行化处理从所述缓存中读取的所述待生成图像数据,得到所述调色板生成结果。

优选地,所述获取所述调色板生成结果的过程,包括:

收到所述fpga设备端的完成信号后,从所述缓存中获取所述fpga设备端写入的所述调色板生成结果。

相应地,本发明还提供一种主机端,包括:

数据获取模块,用于获取webp图像的alpha通道的像素强度值;

数据处理模块,用于对所述像素强度值进行处理,得到待生成图像数据;

发送调用模块,用于发送所述待生成图像数据至fpga设备端,并调用所述fpga设备端的核函数,以便于所述fpga设备端并行化处理所述待生成图像数据,得到调色板生成结果;

结果获取模块,用于获取所述调色板生成结果。

优选地,所述数据处理模块包括:

调色板空间单元,用于将所述像素强度值存入数组中,并开辟相应的内存空间,得到调色板空间;

待生成图像单元,用于建立所述调色板空间与所述像素强度值的对应关系并排序,得到所述待生成图像数据。

优选地,所述发送调用模块包括:

缓存单元,用于将所述待生成图像数据传输到缓存中,其中,所述缓存为所述主机端与所述fpga设备端进行数据通信的缓存;

启动单元,用于向所述fpga设备端发送并行启动信号,以控制所述fpga设备端并行化处理从所述缓存中读取的所述待生成图像数据,得到所述调色板生成结果。

优选地,所述结果获取模块包括:

结果获取单元,用于收到所述fpga设备端的完成信号后,从所述缓存中获取所述fpga设备端写入的所述调色板生成结果。

本发明还提供一种webp图像压缩中alpha通道调色板生成系统,包括如前述公开的主机端以及fpga设备端,其中所述fpga设备端用于并行化处理所述主机端发送的待生成图像数据,得到调色板生成结果。

本发明公开的webp图像压缩中alpha通道调色板生成方法、系统及主机端,通过主机端调用fpga设备端的核函数,使经过处理alpha通道的像素强度值得到的待生成图像数据,在fpga设备端实现并行化处理,再从fpga设备端获取并行化处理后得到的调色板生成结果,加速了alpha通道调色板的生成,提升了图像压缩的速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例公开的一种webp图像压缩中alpha通道调色板生成方法的流程图;

图2为本发明实施例中公开的对所述像素强度值进行处理,得到待生成图像数据的流程图;

图3为本发明实施例公开的发送所述待生成图像数据至fpga设备端,调用所述fpga设备端的核函数,以便于所述fpga设备端并行化处理所述待生成图像数据,得到调色板生成结果的流程图;

图4为本发明实施例公开的一种主机端的结构图;

图5为本发明实施例公开的数据处理模块的结构图;

图6为本发明实施例公开的发送调用模块的结构图;

图7为本发明实施例公开的一种webp图像压缩中alpha通道调色板生成系统的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种webp图像压缩中alpha通道调色板生成方法,参见图1所示,图1为本发明实施例公开的一种webp图像压缩中alpha通道调色板生成方法的流程图,包括以下步骤:

步骤s11:获取webp图像的alpha通道的像素强度值;

具体地,alpha通道指图像的透明度和半透明度,例如,一张使用32位存储的图像,每8位表示红、绿、蓝以及alpha通道,此时,alpha通道则可以表示256级的半透明度。

步骤s12:对所述像素强度值进行处理,得到待生成图像数据;

本发明实施例中,步骤s12得到的待生成图像数据为能够直接被fpga设备端的核函数读取的数据。

步骤s13:发送所述待生成图像数据至fpga设备端,并调用所述fpga设备端的核函数,以便于所述fpga设备端并行化处理所述待生成图像数据,得到调色板生成结果;

其中,通过主机端调用fpga设备端的核函数可以实现并行化处理,对此,可以采用opencl编程语言,将核函数写在fpga设备端,将控制核函数的控制函数写在主机端。当然也可以使用其他语言实现,对此本发明实施例不做限定。

步骤s14:获取所述调色板生成结果。

需要说明的是,主机端进行上述步骤s11之前,还包括步骤:创建平台、设备、上下文、命令队列、事件以及主机端与fpga设备端用来进行数据通信的缓存,以便后续步骤的进行。

本发明实施例公开的webp图像压缩中alpha通道调色板生成方法,通过主机端调用fpga设备端的核函数,使经过处理alpha通道的像素强度值得到的待生成图像数据,在fpga设备端实现并行化处理,再从fpga设备端获取并行化处理后得到的调色板生成结果,加速了alpha通道调色板的生成,提升了图像压缩的速度。

下面对上述步骤s12中对所述像素强度值进行处理,得到待生成图像数据的过程做出更具体的说明,参见图2所示,图2为本发明实施例中公开的对所述像素强度值进行处理,得到待生成图像数据的流程图,包括以下步骤:

步骤s21:将所述像素强度值存入数组中,并开辟相应的内存空间,得到调色板空间;

具体地,将alpha通道各像素点的强度值存入一个数组中,例如,8位二进制数组可以表示256种不同的像素强度值;开辟与像素强度值相应的内存空间,继续以前述为例,即开辟一组256个值的内存空间,定义为调色板空间。

步骤s22:建立所述调色板空间与所述像素强度值的对应关系并排序,得到所述待生成图像数据。

其中,建立调色板空间与像素强度值的对应关系,即建立调色板与alpha通道的对应关系,并进行排序。

下面再对上述步骤s13中发送所述待生成图像数据至fpga设备端,并调用所述fpga设备端的核函数,以便于所述fpga设备端并行化处理所述待生成图像数据,得到调色板生成结果的过程做出具体说明,参见图3所示,图3为本发明实施例公开的发送所述待生成图像数据至fpga设备端,调用所述fpga设备端的核函数,以便于所述fpga设备端并行化处理所述待生成图像数据,得到调色板生成结果的流程图,包括以下步骤:

步骤s31:将所述待生成图像数据传输到缓存中,其中,所述缓存为所述主机端与所述fpga设备端进行数据通信的缓存;

其中,该缓存存放在fpga板卡的ddr内存上。

步骤s32:向所述fpga设备端发送并行启动信号,以控制所述fpga设备端并行化处理从所述缓存中读取的所述待生成图像数据,得到所述调色板生成结果。

具体地,fpga设备端接收到并行启动信号后,将待生成图像从缓存中批量读取到fpga片上缓存中,按照数据独立的方式并行化处理,得到调色板生成结果,再通过批量的方式写入缓存中以便主机端获取,最后向主机端返回完成信号。相应地,步骤s14更具体的流程包括:主机端收到所述fpga设备端的完成信号后,从所述缓存中获取所述fpga设备端写入的所述调色板生成结果。

相应地,本发明实施例还提供一种主机端,参见图4所示,图4为本发明实施例公开的一种主机端的结构图,该主机端包括:

数据获取模块41,用于获取webp图像的alpha通道的像素强度值;

数据处理模块42,用于对所述像素强度值进行处理,得到待生成图像数据;

发送调用模块43,用于发送所述待生成图像数据至fpga设备端,并调用所述fpga设备端的核函数,以便于所述fpga设备端并行化处理所述待生成图像数据,得到调色板生成结果;

结果获取模块44,用于获取所述调色板生成结果。

具体地,参见图5所示,图5为本发明实施例公开的数据处理模块的结构图,上述数据处理模块42包括:

调色板空间单元51,用于将所述像素强度值存入数组中,并开辟相应的内存空间,得到调色板空间;

待生成图像单元52,用于建立所述调色板空间与所述像素强度值的对应关系并排序,得到所述待生成图像数据。

具体地,参见图6所示,图6为本发明实施例公开的发送调用模块的结构图,上述发送调用模块43包括:

缓存单元61,用于将所述待生成图像数据传输到缓存中,其中,所述缓存为所述主机端与所述fpga设备端进行数据通信的缓存;

启动单元62,用于向所述fpga设备端发送并行启动信号,以控制所述fpga设备端并行化处理从所述缓存中读取的所述待生成图像数据,得到所述调色板生成结果。

其中,上述结果获取模块44包括结果获取单元,用于收到所述fpga设备端的完成信号后,从所述缓存中获取所述fpga设备端写入的所述调色板生成结果。

关于上述主机端中各个模块及单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

同时,本发明实施例再提供了一种webp图像压缩中alpha通道调色板生成系统,参见图7所示,图7为本发明实施例公开的一种webp图像压缩中alpha通道调色板生成系统的结构图,该系统包括如前述实施例公开的主机端71和fpga设备端72;其中:

fpga设备端72,用于并行化处理所述主机端71发送的待生成图像数据,得到调色板生成结果。

本发明实施例公开的webp图像压缩中alpha通道调色板生成方法、系统及主机端,通过主机端调用fpga设备端的核函数,使经过处理alpha通道的像素强度值得到的待生成图像数据,在fpga设备端实现并行化处理,再从fpga设备端获取并行化处理后得到的调色板生成结果,加速了alpha通道调色板的生成,提升了图像压缩的速度。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的webp图像压缩中alpha通道调色板生成方法、系统及主机端进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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