一种图像压缩方法、装置、服务器及图像压缩系统转让专利

申请号 : CN202310909137.8

文献号 : CN116647686B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周玉龙张洪宾刘同强刘刚张贞雷王贤坤

申请人 : 苏州浪潮智能科技有限公司

摘要 :

本申请提供一种图像压缩方法、装置、服务器及图像压缩系统,该方法包括:获取原始图像数据及图像压缩配置信息;根据原始图像数据及图像压缩配置信息,确定像素正相关信息;根据像素正相关信息,在原始图像数据中筛选的目标像素点;根据目标像素点的像素信息,生成相应的压缩图像数据。上述方案提供的方法,通过根据像素正相关信息,基于原始图像中的目标像素点进行图像压缩,即便是在高压缩比的情况下,也可以保证压缩图像数据具备较高的质量。

权利要求 :

1.一种图像压缩方法,其特征在于,包括:

获取原始图像数据及图像压缩配置信息;

根据所述原始图像数据及图像压缩配置信息,确定像素正相关信息;

根据所述像素正相关信息,在所述原始图像数据中筛选的目标像素点;

根据所述目标像素点的像素信息,生成相应的压缩图像数据;

所述根据所述原始图像数据及图像压缩配置信息,确定像素正相关信息,包括:根据所述原始图像数据及图像压缩配置信息,确定压缩图像的高度和压缩图像的宽度;

根据所述压缩图像的高度和压缩图像的宽度,确定像素正相关信息;

所述根据所述压缩图像的高度和压缩图像的宽度,确定像素正相关信息,包括:根据所述压缩图像的高度和压缩图像的宽度,确定所述压缩图像的像素点矩阵;

基于预设横向滤波算法及预设纵向滤波算法,根据所述压缩图像的像素点矩阵中各压缩像素点的位置坐标,确定所述压缩图像和原始图像的像素正相关信息;其中,所述像素正相关信息表征所述压缩图像的像素点矩阵中各压缩像素点与原始图像中原始像素点之间的对应关系;

将所述压缩图像和原始图像的像素正相关信息,存储至预设CAM存储单元。

2.根据权利要求1所述的方法,其特征在于,所述根据所述原始图像数据及图像压缩配置信息,确定压缩图像的高度和压缩图像的宽度,包括:根据所述原始图像数据,确定原始图像的高度和原始图像的宽度;

根据原始图像的高度和原始图像的宽度及所述图像压缩配置信息表征的压缩比例,确定压缩图像的高度和压缩图像的宽度。

3.根据权利要求1所述的方法,其特征在于,所述基于预设横向滤波算法及预设纵向滤波算法,根据所述压缩图像的像素点矩阵中各像素点的位置坐标,确定所述压缩图像和原始图像的像素正相关信息,包括:针对所述压缩图像的像素点矩阵中任一压缩像素点,基于预设横向滤波算法,根据该压缩像素点的横向坐标,确定原始图像中与该压缩像素点相对应的原始像素点的横向坐标;

基于预设纵向滤波算法,根据该压缩像素点的纵向坐标,确定原始图像中与该压缩像素点相对应的原始像素点的纵向坐标。

4.根据权利要求3所述的方法,其特征在于,所述基于预设横向滤波算法,根据该压缩像素点的横向坐标,确定原始图像中与该压缩像素点相对应的原始像素点的横向坐标,包括:基于预设横向滤波算法,根据该压缩像素点的横向坐标及所述图像压缩配置信息表征的横向压缩因子,确定原始图像中与该压缩像素点相对应的原始像素点的横向坐标。

5.根据权利要求3所述的方法,其特征在于,所述基于预设纵向滤波算法,根据该压缩像素点的纵向坐标,确定原始图像中与该压缩像素点相对应的原始像素点的纵向坐标,包括:基于预设纵向滤波算法,根据该压缩像素点的纵向坐标及所述图像压缩配置信息表征的纵向压缩因子,确定原始图像中与该压缩像素点相对应的原始像素点的纵向坐标。

6.根据权利要求3所述的方法,其特征在于,所述根据所述像素正相关信息,在所述原始图像数据中筛选的目标像素点,包括:针对所述原始图像中任一原始像素点,根据所述预设CAM存储单元中存储的所述像素正相关信息表征的与各压缩像素点相对应的原始像素点的横向坐标和纵向坐标,判断该原始像素点是否为目标像素点;

若该原始像素点为目标像素点,则将该原始像素点的像素信息存储至预设RAM存储单元。

7.根据权利要求6所述的方法,其特征在于,所述根据所述像素正相关信息表征的与各压缩像素点相对应的原始像素点的横向坐标和纵向坐标,判断该原始像素点是否为目标像素点,包括:针对任一所述压缩像素点,按照预设横向滤波算法及预设纵向滤波算法的滤波特征,根据所述像素正相关信息表征的与该压缩像素点相对应的原始像素点的横向坐标和纵向坐标,确定该压缩像素点对应的目标像素点筛选范围;

当该原始像素点属于任一所述压缩像素点对应的目标像素点筛选范围,确定该原始像素点为该压缩像素点的目标像素点。

8.根据权利要求7所述的方法,其特征在于,所述根据所述目标像素点的像素信息,生成相应的压缩图像数据,包括:针对任一所述压缩像素点,根据与该压缩像素点相对应的若干个目标像素点的像素信息,确定该压缩像素点的像素信息;

根据各所述压缩像素点的像素信息,生成相应的压缩图像数据。

9.根据权利要求8所述的方法,其特征在于,所述根据与该压缩像素点相对应的若干个目标像素点的像素信息,确定该压缩像素点的像素信息,包括:基于预设像素信息滤波算法,根据与该压缩像素点相对应的若干个目标像素点的像素信息,确定该压缩像素点的像素信息。

10.根据权利要求9所述的方法,其特征在于,所述基于预设像素信息滤波算法,根据与该压缩像素点相对应的若干个目标像素点的像素信息,确定该压缩像素点的像素信息,包括:基于预设像素信息滤波算法,根据与该压缩像素点相对应的若干个目标像素点的像素信息及各所述目标像素点的滤波系数,确定该压缩像素点的像素信息。

11.根据权利要求10所述的方法,其特征在于,还包括:根据所述图像压缩配置信息,确定各所述压缩像素点所对应的若干个目标像素点的滤波系数。

12.根据权利要求11所述的方法,其特征在于,所述根据所述图像压缩配置信息,确定各所述压缩像素点所对应的若干个目标像素点的滤波系数,包括:针对任一所述压缩像素点,根据所述图像压缩配置信息表征的压缩精度、横向压缩因子及纵向压缩因子之间的大小关系,确定该压缩像素点所对应的若干个目标像素点的滤波系数。

13.根据权利要求1所述的方法,其特征在于,还包括:将所述压缩图像数据,发送至压缩图像接收端。

14.一种图像压缩装置,其特征在于,包括:

获取模块,用于获取原始图像数据及图像压缩配置信息;

确定模块,用于根据所述原始图像数据及图像压缩配置信息,确定像素正相关信息;

筛选模块,用于根据所述像素正相关信息,在所述原始图像数据中筛选的目标像素点;

压缩模块,用于根据所述目标像素点的像素信息,生成相应的压缩图像数据;

所述确定模块,具体用于:

根据所述原始图像数据及图像压缩配置信息,确定压缩图像的高度和压缩图像的宽度;

根据所述压缩图像的高度和压缩图像的宽度,确定像素正相关信息;

所述确定模块,具体用于:

根据所述压缩图像的高度和压缩图像的宽度,确定所述压缩图像的像素点矩阵;

基于预设横向滤波算法及预设纵向滤波算法,根据所述压缩图像的像素点矩阵中各压缩像素点的位置坐标,确定所述压缩图像和原始图像的像素正相关信息;其中,所述像素正相关信息表征所述压缩图像的像素点矩阵中各压缩像素点与原始图像中原始像素点之间的对应关系;

将所述压缩图像和原始图像的像素正相关信息,存储至预设CAM存储单元。

15.一种服务器,其特征在于,包括:BMC;

所述BMC基于如权利要求1至13任一项所述的方法,压缩界面显示图像,以得到压缩图像数据,并将所述压缩图像数据发送至压缩图像接收端。

16.根据权利要求15所述的服务器,其特征在于,所述BMC,具体用于:将所述压缩图像数据写入FIFO存储单元;

若所述FIFO存储单元不为空,则向DDR控制器请求控制权;

在得到所述DDR控制器的控制权后,将所述FIFO存储单元当前存储的压缩图像数据写入DDR存储单元;

当所述DDR存储单元存储有整帧压缩图像数据时,将整帧压缩图像数据发送至压缩图像接收端。

17.一种图像压缩系统,其特征在于,包括:如权利要求15或16所述的服务器及压缩图像接收端;

所述压缩图像接收端设有图像解压缩引擎,所述图像解压缩引擎用于对所述服务器发送的压缩图像进行解压缩处理。

18.一种电子设备,其特征在于,包括:至少一个处理器和存储器;

所述存储器存储计算机执行指令;

所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至13任一项所述的方法。

19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至13任一项所述的方法。

说明书 :

一种图像压缩方法、装置、服务器及图像压缩系统

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种图像压缩方法、装置、服务器及图像压缩系统。

背景技术

[0002] 目前,服务器集群一般通过BMC进行大规模无人值守操作,包括服务器的远程管理、监控、安装、重启等。服务器出现故障时,通过BMC对服务器进行远程管理时,需要查看该服务器的界面,为了减少数据量的传输,往往将远程界面通过JPEG压缩后,通过网络发往本地进行显示。
[0003] 在现有技术中,通常是按照图像缩放需求,对原始图像整体进行相应尺度的缩放,在高压缩比的情况下,常常会出现压缩后的图像质量较低的情况。

发明内容

[0004] 本申请提供一种图像压缩方法、装置、服务器及图像压缩系统,以解决现有技术在高压缩比的情况下,常常会出现压缩后的图像质量较低的情况等缺陷。
[0005] 本申请第一个方面提供一种图像压缩方法,包括:
[0006] 获取原始图像数据及图像压缩配置信息;
[0007] 根据所述原始图像数据及图像压缩配置信息,确定像素正相关信息;
[0008] 根据所述像素正相关信息,在所述原始图像数据中筛选的目标像素点;
[0009] 根据所述目标像素点的像素信息,生成相应的压缩图像数据。
[0010] 可选的,所述根据所述原始图像数据及图像压缩配置信息,确定像素正相关信息,包括:
[0011] 根据所述原始图像数据及图像压缩配置信息,确定压缩图像的高度和压缩图像的宽度;
[0012] 根据所述压缩图像的高度和压缩图像的宽度,确定像素正相关信息。
[0013] 可选的,所述根据所述原始图像数据及图像压缩配置信息,确定压缩图像的高度和压缩图像的宽度,包括:
[0014] 根据所述原始图像数据,确定原始图像的高度和原始图像的宽度;
[0015] 根据原始图像的高度和原始图像的宽度及所述图像压缩配置信息表征的压缩比例,确定压缩图像的高度和压缩图像的宽度。
[0016] 可选的,所述根据所述压缩图像的高度和压缩图像的宽度,确定像素正相关信息,包括:
[0017] 根据所述压缩图像的高度和压缩图像的宽度,确定所述压缩图像的像素点矩阵;
[0018] 基于预设横向滤波算法及预设纵向滤波算法,根据所述压缩图像的像素点矩阵中各压缩像素点的位置坐标,确定所述压缩图像和原始图像的像素正相关信息;其中,所述像素正相关信息表征所述压缩图像的像素点矩阵中各压缩像素点与原始图像中原始像素点之间的对应关系;
[0019] 将所述压缩图像和原始图像的像素正相关信息,存储至预设CAM存储单元。
[0020] 可选的,所述基于预设横向滤波算法及预设纵向滤波算法,根据所述压缩图像的像素点矩阵中各像素点的位置坐标,确定所述压缩图像和原始图像的像素正相关信息,包括:
[0021] 针对所述压缩图像的像素点矩阵中任一压缩像素点,基于预设横向滤波算法,根据该压缩像素点的横向坐标,确定原始图像中与该压缩像素点相对应的原始像素点的横向坐标;
[0022] 基于预设纵向滤波算法,根据该压缩像素点的纵向坐标,确定原始图像中与该压缩像素点相对应的原始像素点的纵向坐标。
[0023] 可选的,所述基于预设横向滤波算法,根据该压缩像素点的横向坐标,确定原始图像中与该压缩像素点相对应的原始像素点的横向坐标,包括:
[0024] 基于预设横向滤波算法,根据该压缩像素点的横向坐标及所述图像压缩配置信息表征的横向压缩因子,确定原始图像中与该压缩像素点相对应的原始像素点的横向坐标。
[0025] 可选的,所述基于预设纵向滤波算法,根据该压缩像素点的纵向坐标,确定原始图像中与该压缩像素点相对应的原始像素点的纵向坐标,包括:
[0026] 基于预设纵向滤波算法,根据该压缩像素点的纵向坐标及所述图像压缩配置信息表征的纵向压缩因子,确定原始图像中与该压缩像素点相对应的原始像素点的纵向坐标。
[0027] 可选的,所述根据所述像素正相关信息,在所述原始图像数据中筛选的目标像素点,包括:
[0028] 针对所述原始图像中任一原始像素点,根据所述预设CAM存储单元中存储的所述像素正相关信息表征的与各压缩像素点相对应的原始像素点的横向坐标和纵向坐标,判断该原始像素点是否为目标像素点;
[0029] 若该原始像素点为目标像素点,则将该原始像素点的像素信息存储至预设RAM存储单元。
[0030] 可选的,所述根据所述像素正相关信息表征的与各压缩像素点相对应的原始像素点的横向坐标和纵向坐标,判断该原始像素点是否为目标像素点,包括:
[0031] 针对任一所述压缩像素点,按照预设横向滤波算法及预设纵向滤波算法的滤波特征,根据所述像素正相关信息表征的与该压缩像素点相对应的原始像素点的横向坐标和纵向坐标,确定该压缩像素点对应的目标像素点筛选范围;
[0032] 当该原始像素点属于任一所述压缩像素点对应的目标像素点筛选范围,确定该原始像素点为该压缩像素点的目标像素点。
[0033] 可选的,所述根据所述目标像素点的像素信息,生成相应的压缩图像数据,包括:
[0034] 针对任一所述压缩像素点,根据与该压缩像素点相对应的若干个目标像素点的像素信息,确定该压缩像素点的像素信息;
[0035] 根据各所述压缩像素点的像素信息,生成相应的压缩图像数据。
[0036] 可选的,所述根据与该压缩像素点相对应的若干个目标像素点的像素信息,确定该压缩像素点的像素信息,包括:
[0037] 基于预设像素信息滤波算法,根据与该压缩像素点相对应的若干个目标像素点的像素信息,确定该压缩像素点的像素信息。
[0038] 可选的,所述基于预设像素信息滤波算法,根据与该压缩像素点相对应的若干个目标像素点的像素信息,确定该压缩像素点的像素信息,包括:
[0039] 基于预设像素信息滤波算法,根据与该压缩像素点相对应的若干个目标像素点的像素信息及各所述目标像素点的滤波系数,确定该压缩像素点的像素信息。
[0040] 可选的,还包括:
[0041] 根据所述图像压缩配置信息,确定各所述压缩像素点所对应的若干个目标像素点的滤波系数。
[0042] 可选的,所述根据所述图像压缩配置信息,确定各所述压缩像素点所对应的若干个目标像素点的滤波系数,包括:
[0043] 针对任一所述压缩像素点,根据所述图像压缩配置信息表征的压缩精度、横向压缩因子及纵向压缩因子之间的大小关系,确定该压缩像素点所对应的若干个目标像素点的滤波系数。
[0044] 可选的,还包括:
[0045] 将所述压缩图像数据,发送至压缩图像接收端。
[0046] 本申请第二个方面提供一种图像压缩装置,包括:
[0047] 获取模块,用于获取原始图像数据及图像压缩配置信息;
[0048] 确定模块,用于根据所述原始图像数据及图像压缩配置信息,确定像素正相关信息;
[0049] 筛选模块,用于根据所述像素正相关信息,在所述原始图像数据中筛选的目标像素点;
[0050] 压缩模块,用于根据所述目标像素点的像素信息,生成相应的压缩图像数据。
[0051] 本申请第三个方面提供一种服务器,包括:BMC;
[0052] 所述BMC基于如上第一个方面以及第一个方面各种可能的设计所述的方法,压缩界面显示图像,以得到压缩图像数据,并将所述压缩图像数据发送至压缩图像接收端。
[0053] 可选的,所述BMC,具体用于:
[0054] 将所述压缩图像数据写入FIFO存储单元;
[0055] 若所述FIFO存储单元不为空,则向DDR控制器请求控制权;
[0056] 在得到所述DDR控制器的控制权后,将所述FIFO存储单元当前存储的压缩图像数据写入DDR存储单元;
[0057] 当所述DDR存储单元存储有整帧压缩图像数据时,将整帧压缩图像数据发送至压缩图像接收端。
[0058] 本申请第四个方面提供一种图像压缩系统,包括:如上第三个方面以及第三个方面各种可能的设计所述的服务器及压缩图像接收端;
[0059] 所述压缩图像接收端设有图像解压缩引擎,所述图像解压缩引擎用于对所述服务器发送的压缩图像进行解压缩处理。
[0060] 本申请第五个方面提供一种电子设备,包括:至少一个处理器和存储器;
[0061] 所述存储器存储计算机执行指令;
[0062] 所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一个方面以及第一个方面各种可能的设计所述的方法。
[0063] 本申请第六个方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一个方面以及第一个方面各种可能的设计所述的方法。
[0064] 本申请技术方案,具有如下优点:
[0065] 本申请提供一种图像压缩方法、装置、服务器及图像压缩系统,该方法包括:获取原始图像数据及图像压缩配置信息;根据原始图像数据及图像压缩配置信息,确定像素正相关信息;根据像素正相关信息,在原始图像数据中筛选的目标像素点;根据目标像素点的像素信息,生成相应的压缩图像数据。上述方案提供的方法,通过根据像素正相关信息,基于原始图像中的目标像素点进行图像压缩,即便是在高压缩比的情况下,也可以保证压缩图像数据具备较高的质量。

附图说明

[0066] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0067] 图1为本申请实施例基于的网络结构示意图;
[0068] 图2为本申请实施例提供的图像压缩方法的流程示意图;
[0069] 图3为本申请实施例提供的图像压缩装置的结构示意图;
[0070] 图4为本申请实施例提供的示例性的服务器的结构示意图;
[0071] 图5为本申请实施例提供的示例性的图像压缩系统的结构示意图;
[0072] 图6为本申请实施例提供的电子设备的结构示意图。
[0073] 通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

[0074] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0075] 此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
[0076] 在现有技术中,通常是按照图像缩放需求,对原始图像整体进行相应尺度的缩放,在高压缩比的情况下,常常会出现压缩后的图像质量较低的情况。
[0077] 针对上述问题,本申请实施例提供的图像压缩方法、装置、服务器及图像压缩系统,该方法包括:获取原始图像数据及图像压缩配置信息;根据原始图像数据及图像压缩配置信息,确定像素正相关信息;根据像素正相关信息,在原始图像数据中筛选的目标像素点;根据目标像素点的像素信息,生成相应的压缩图像数据。上述方案提供的方法,通过根据像素正相关信息,基于原始图像中的目标像素点进行图像压缩,即便是在高压缩比的情况下,也可以保证压缩图像数据具备较高的质量。
[0078] 下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明实施例进行描述。
[0079] 首先,对本申请所基于的网络结构进行说明:
[0080] 本申请实施例提供的图像压缩方法、装置、服务器及图像压缩系统,适用于服务器之间的图像压缩传输。如图1所示,为本申请实施例基于的网络结构示意图,主要包括第一服务器及第二服务器,当第一服务器需要向第二服务器发送图像数据时,第一服务器先对待传输的原始图像数据进行图像压缩处理,得到该原始图像数据对应的压缩图像数据,最后将压缩图像数据发送至第二服务器。
[0081] 本申请实施例提供了一种图像压缩方法,用于对待进行网络传输的图像数据进行压缩处理,以减少图像数据传输的数据量。本申请实施例的执行主体为电子设备,比如服务器、台式电脑、笔记本电脑、平板电脑及其他可用于进行图像压缩的电子设备。
[0082] 如图2所示,为本申请实施例提供的图像压缩方法的流程示意图,该方法包括:
[0083] 步骤201,获取原始图像数据及图像压缩配置信息。
[0084] 其中,原始图像数据包括一帧图像从帧头到帧尾的全部数据,图像压缩配置信息具体可以根据图像压缩需求确定,图像压缩配置信息至少包括压缩比例及压缩精度等图像压缩参数。
[0085] 步骤202,根据原始图像数据及图像压缩配置信息,确定像素正相关信息。
[0086] 具体地,可以根据原始图像数据及图像压缩配置信息,分析原始图像数据中的哪些像素点应当参与图像压缩,哪些像素点应当提前舍弃,得到的分析结果即为像素正相关信息。
[0087] 步骤203,根据像素正相关信息,在原始图像数据中筛选的目标像素点。
[0088] 具体地,可以根据像素正相关信息,在原始图像数据中筛选应当参与图像压缩的目标像素点。
[0089] 步骤204,根据目标像素点的像素信息,生成相应的压缩图像数据。
[0090] 具体地,可以基于预设图像压缩引擎(如JPEG压缩引擎),根据目标像素点的像素信息,对原始图像数据进行图像压缩,生成相应的压缩图像数据。
[0091] 进一步地,在一实施例中,将压缩图像数据,发送至压缩图像接收端。
[0092] 其中,压缩图像数据的数据量远小于原始图像数据的数据量,从而降低了数据传输压力。
[0093] 在上述实施例的基础上,作为一种可实施的方式,在一实施例中,根据原始图像数据及图像压缩配置信息,确定像素正相关信息,包括:
[0094] 步骤2021,根据原始图像数据及图像压缩配置信息,确定压缩图像的高度和压缩图像的宽度;
[0095] 步骤2022,根据压缩图像的高度和压缩图像的宽度,确定像素正相关信息。
[0096] 具体地,在一实施例中,可以根据原始图像数据,确定原始图像的高度和原始图像的宽度;根据原始图像的高度和原始图像的宽度及图像压缩配置信息表征的压缩比例,确定压缩图像的高度和压缩图像的宽度。
[0097] 示例性的,当原始图像的高度为100像素,原始图像的宽度为200像素,图像压缩配置信息表征的压缩比例为1/2,则确定压缩图像的高度为50像素,压缩图像的宽度为100像素。
[0098] 具体地,在一实施例中,可以根据压缩图像的高度和压缩图像的宽度,确定压缩图像的像素点矩阵;基于预设横向滤波算法及预设纵向滤波算法,根据压缩图像的像素点矩阵中各压缩像素点的位置坐标,确定压缩图像和原始图像的像素正相关信息;其中,像素正相关信息表征压缩图像的像素点矩阵中各压缩像素点与原始图像中原始像素点之间的对应关系;将压缩图像和原始图像的像素正相关信息,存储至预设CAM存储单元。
[0099] 具体地,可以根据压缩图像的高度和压缩图像的宽度,确定压缩图像的像素点矩阵的行数和列数,也就确定各压缩像素点在压缩图像中的位置坐标,然后再基于预设横向滤波算法及预设纵向滤波算法,根据压缩图像的像素点矩阵中各压缩像素点的位置坐标,确定压缩图像和原始图像的像素正相关信息,以在原始图像中筛选与各压缩像素点相对应的原始像素点。
[0100] 其中,CAM存储单元也称内容可寻址存储器,以内容进行寻址的存储器,是一种特殊的存储阵列RAM。它的主要工作机制就是将一个输入数据项与存储在CAN存储单元中的所有数据项自动同时进行比较,判别该输入数据项与CAN存储单元中存储的数据项是否相匹配,并输出该数据项对应的匹配信息。
[0101] 其中,像素正相关信息可以按照下表格式存往CAM存储单元:
[0102]
[0103] 其中,p表示压缩图像的高度,q表示压缩图像的宽度。
[0104] 具体地,在一实施例中,针对压缩图像的像素点矩阵中任一压缩像素点,基于预设横向滤波算法,根据该压缩像素点的横向坐标,确定原始图像中与该压缩像素点相对应的原始像素点的横向坐标;基于预设纵向滤波算法,根据该压缩像素点的纵向坐标,确定原始图像中与该压缩像素点相对应的原始像素点的纵向坐标。
[0105] 具体地,在一实施例中,可以基于预设横向滤波算法,根据该压缩像素点的横向坐标及图像压缩配置信息表征的横向压缩因子,确定原始图像中与该压缩像素点相对应的原始像素点的横向坐标。
[0106] 具体地,预设横向滤波算法可以采用横向4x2滤波法,预设横向滤波算法基于如下公式,根据该压缩像素点的横向坐标及图像压缩配置信息表征的横向压缩因子,确定原始图像中与该压缩像素点相对应的原始像素点的横向坐标:
[0107] m=(width_factor×x)>>SCALE_FRAC_BITS
[0108] 其中,m为原始像素点的横向坐标,x为压缩像素点的横向坐标,width_factor为横向压缩因子,SCALE_FRAC_BITS为压缩精度,width_factor的大小必须大于等于2SCALE_FRAC_BITS,压缩图像的宽度=2SCALE_FRAC_BITS×(原始图像的宽度)/width_factor。
[0109] 类似地,在一实施例中,可以基于预设纵向滤波算法,根据该压缩像素点的纵向坐标及图像压缩配置信息表征的纵向压缩因子,确定原始图像中与该压缩像素点相对应的原始像素点的纵向坐标。
[0110] 具体地,预设纵向滤波算法可以采用纵向2x4滤波法,预设纵向滤波算法基于如下公式,根据该压缩像素点的纵向坐标及图像压缩配置信息表征的纵向压缩因子,确定原始图像中与该压缩像素点相对应的原始像素点的纵向坐标:
[0111] n=(height_factor×y)>>SCALE_FRAC_BITS
[0112] 其中,n为原始像素点的纵向坐标,y为压缩像素点的横向坐标,height _factor为横向压缩比例。压缩图像的高度=2SCALE_FRAC_BITS×原始图像的高度/height_factor。
[0113] 进一步地,在一实施例中,针对原始图像中任一原始像素点,可以根据预设CAM存储单元中存储的像素正相关信息表征的与各压缩像素点相对应的原始像素点的横向坐标和纵向坐标,判断该原始像素点是否为目标像素点;若该原始像素点为目标像素点,则将该原始像素点的像素信息存储至预设RAM存储单元。
[0114] 具体地,在一实施例中,可以针对任一压缩像素点,按照预设横向滤波算法及预设纵向滤波算法的滤波特征,根据像素正相关信息表征的与该压缩像素点相对应的原始像素点的横向坐标和纵向坐标,确定该压缩像素点对应的目标像素点筛选范围;当该原始像素点属于任一压缩像素点对应的目标像素点筛选范围,确定该原始像素点为该压缩像素点的目标像素点。
[0115] 示例性的,若预设横向滤波算法采用横向4x2滤波法,预设纵向滤波算法采用纵向2x4滤波法,与该压缩像素点P(x,y)相对应的原始像素点的横向坐标为m,纵向坐标为n,即该原始像素点为P(m,n),则确定该压缩像素图像对应的目标像素点筛选范围如下表所示,即一个压缩像素点对应12个目标像素点。
[0116]
[0117] 其中,上表所有的像素点都必须在原始图像内,如果超出了原始图像,采用它最近邻的像素点来代替。如下表所示,为压缩图像数据与预设RAM存储单元重RAM地址之间的对应关系表:
[0118]
[0119] 具体的,针对任一原始像素点,可以根据该原始像素点位置信息,去索引CAM存储单元中的数据,若确定该原始像素点是任一压缩像素点的目标像素点筛选范围,即原始像素点有与之匹配的压缩像素点,则将该原始像素点存至RAM存储单元,若不属于压缩像素点的目标像素点筛选范围,则丢弃该原始像素点。RAM存储单元的深度为4行数据,每4行数据进行循环覆盖。
[0120] 在上述实施例的基础上,为进一步保证图像压缩质量,作为一种可实施的方式,在一实施例中,根据目标像素点的像素信息,生成相应的压缩图像数据,包括:
[0121] 步骤2041,针对任一压缩像素点,根据与该压缩像素点相对应的若干个目标像素点的像素信息,确定该压缩像素点的像素信息;
[0122] 步骤2042,根据各压缩像素点的像素信息,生成相应的压缩图像数据。
[0123] 需要说明的是,通过根据若干个目标像素点的像素信息,确定对应的压缩像素点的像素信息,提高了该压缩像素点的像素信息的可靠性,从而提高了最终生成的压缩图像数据的质量。
[0124] 具体地,在一实施例中,可以基于预设像素信息滤波算法,根据与该压缩像素点相对应的若干个目标像素点的像素信息,确定该压缩像素点的像素信息。
[0125] 具体地,可以基于预设像素信息滤波算法,根据与该压缩像素点相对应的若干个目标像素点的像素信息的加权融合结果,确定该压缩像素点的像素信息,其中,像素信息具体指该压缩像素点的像素值。
[0126] 具体地,在一实施例中,可以基于预设像素信息滤波算法,根据与该压缩像素点相对应的若干个目标像素点的像素信息及各目标像素点的滤波系数,确定该压缩像素点的像素信息。
[0127] 具体地,预设像素信息滤波算法可以基于如下公式,根据与该压缩像素点P(x,y)相对应的若干个目标像素点的像素信息及各目标像素点的滤波系数,确定该压缩像素点的像素信息:
[0128] P(x,y)= (P(m,n‑1)×F00+ P(m,n)×F01+ P(m,n+1)×F02+P(m,n+2)×F03+ P(m+1,n‑1)×F10+ P(m+1,n)×F11+ P(m+1,n+1)×F12+ P(m+1,n+2)×F13+P(m‑1,n)×F20+ P(m,n)×F21+ P(m+1,n)×F22+ P(m+2,n)×F23+P(m‑1,n+1)×F30+ P(m,n+1)×F31+ P(m+1,n+1)×F32+P(m+2,n+1)×F33)/128
[0129] 其中,P(m,n)为与压缩像素点P(x,y)相对应的原始像素点,F00‑F33为滤波系数,所有滤波系数的和是128。
[0130] 具体地,在一实施例中,根据图像压缩配置信息,确定各压缩像素点所对应的若干个目标像素点的滤波系数。
[0131] 具体地,在一实施例中,针对任一压缩像素点,根据图像压缩配置信息表征的压缩精度、横向压缩比例及纵向压缩比例之间的大小关系,确定该压缩像素点所对应的若干个目标像素点的滤波系数。
[0132] 示例性的,当height_factor=2SCALE_FRAC_BITS时 ,滤波系数F00=0,F01=32,F02=0,F03=0,F10=0,F11=32,F12=0,F13=0;当2SCALE_FRAC_BITS2SCALE_FRAC_BITS+1时, 滤波系数F00=8,F01=8,F02=8,F03=8,F10=8,F11=8,F12=8,F13=8;当width_factor=2SCALE_FRAC_BITS时,滤波系数F20=0,F21=32,F22=0,F23=0,F30=0,F31=32,F32=0,F33=0;当2SCALE_FRAC_BITS2SCALE_FRAC_BITS+1时, 滤波系数F20=8,F21=8,F22=8,F23=8,F30=8,F31=8,F32=8,F33=8。
[0133] 本申请实施例提供的图像压缩方法,通过获取原始图像数据及图像压缩配置信息;根据原始图像数据及图像压缩配置信息,确定像素正相关信息;根据像素正相关信息,在原始图像数据中筛选的目标像素点;根据目标像素点的像素信息,生成相应的压缩图像数据。上述方案提供的方法,通过根据像素正相关信息,基于原始图像中的目标像素点进行图像压缩,即便是在高压缩比的情况下,也可以保证压缩图像数据具备较高的质量。并且,结合压缩算法的特性,提前对与压缩图像数据无相关性的原始图像数据进行丢弃处理,特别是在高压缩比情况下,不但能够大大降低压缩图像数据的存储空间,还能够大大降低压缩图像丢帧次数,使得压缩图像接收端得到的画面更加流畅,还更大程度的真实呈现了服务器的图像界面。并且,通过根据若干个目标像素点的像素信息,确定对应的压缩像素点的像素信息,提高了该压缩像素点的像素信息的可靠性,从而进一步提高了最终生成的压缩图像数据的质量。
[0134] 本申请实施例提供了一种图像压缩装置,用于执行上述实施例提供的图像压缩方法。
[0135] 如图3所示,为本申请实施例提供的图像压缩装置的结构示意图。该图像压缩装置30包括:获取模块301、确定模块302、筛选模块303及压缩模块304。
[0136] 其中,获取模块,用于获取原始图像数据及图像压缩配置信息;确定模块,用于根据原始图像数据及图像压缩配置信息,确定像素正相关信息;筛选模块,用于根据像素正相关信息,在原始图像数据中筛选的目标像素点;压缩模块,用于根据目标像素点的像素信息,生成相应的压缩图像数据。
[0137] 关于本实施例中的图像压缩装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0138] 本申请实施例提供的图像压缩装置,用于执行上述实施例提供的图像压缩方法,其实现方式与原理相同,不再赘述。
[0139] 本申请实施例提供了一种服务器,用于执行上述实施例提供的图像压缩方法,该服务器包括BMC,BMC基于上述实施例提供的图像方法,压缩界面显示图像,以得到压缩图像数据,并将压缩图像数据发送至压缩图像接收端。
[0140] 其中,本申请实施例提供的服务器具体可以为远程服务器,远程服务器可以进行远距离的数据传输,即可以将压缩图像数据传输至远距离的压缩图像接收端。
[0141] 具体地,在一实施例中,BMC,可以将压缩图像数据写入FIFO存储单元;若FIFO存储单元不为空,则向DDR控制器请求控制权;在得到DDR控制器的控制权后,将FIFO存储单元当前存储的压缩图像数据写入DDR存储单元;当DDR存储单元存储有整帧压缩图像数据时,将整帧压缩图像数据发送至压缩图像接收端。
[0142] 其中,通过BMC对服务器进行远程管理时,首先从服务器接收远程画面(页面显示图像),然后对其进行图像压缩,再通过网络发送到本地(压缩图像接收端)进行图像显示。
[0143] 示例性的,如图4所示,为本申请实施例提供的示例性的服务器的结构示意图,服务器包括缩放像素计算模块、像素正相关记录模块、CAM存储单元、图像捕获模块、CAM匹配模块、RAM存储单元、像素重造计算模块,DDR存储单元、DDR控制器、JPEG压缩引擎,输出控制模块及FIFO存储单元,缩放像素计算模块用于根据图像压缩配置信息,确定像素正相关信息,并将得到的像素正相关信息发送至像素正相关记录模块,像素正相关记录模块用于按照固定格式向CAM存储单元存储像素正相关信息,图像捕获模块用于在原始图像数据中到原始图像数据后,根据每一帧的帧头跟帧尾,提取出原始图像数据,并发往CAM匹配模块,CAM匹配模块用于确定各压缩像素点对应的目标像素点,像素重造计算模块用于确定各压缩像素点的像素信息,JPEG压缩引擎用于实现图像数据压缩,向输出控制模块提供压缩后的图像数据(压缩图像数据),输出控制模块用于获取DDR控制器的控制权,并将压缩后的图像存往DDR存储单元中,如果整帧图像已经成功写入DDR存储单元中,则向处理器发起中断,具体可以在接收到JPEG压缩引擎发送来的压缩图像数据后,将其存往FIFO存储单元。若FIFO存储单元中有数据,则向DDR控制器获取控制权,若获取成功则将数据从FIFO存储单元中读出存往DDR存储单元。如果整帧图像已经成功写入DDR存储单元中,则向处理器单元发起中断,按照DDR存储单元的空间大小,将压缩后的图像循环写入DDR存储单元中。其中,DDR控制器负责对DDR存储单元进行读写控制,DDR存储单元为双倍速率同步动态随机存储器。
[0144] 本申请实施例提供的服务器,用于执行上述实施例提供的图像压缩方法,其实现方式与原理相同,不再赘述。
[0145] 本申请实施例提供了一种图像压缩系统,用于执行上述实施例提供的图像压缩方法,如图5所示,为本申请实施例提供的示例性的图像压缩系统的结构示意图,该图像压缩系统包括上述实施例提供的服务器及压缩图像接收端。
[0146] 其中,压缩图像接收端设有图像解压缩引擎,图像解压缩引擎用于对服务器发送的压缩图像进行解压缩处理。
[0147] 具体地,如图5所示,压缩图像接收端与服务器的处理器单元之间设有网络模块A,压缩图像接收端包括网络模块B、JPEG解压缩引擎及图像恢复引擎。其中,网络模块A和B用于对压缩图像数据进行网络传输,网络模块A负责将数据发往对端的网络模块B,网络模块B负责接收对端网络模块A发送来的数据,JPEG解压缩引擎负责压缩图像数据的解压缩,图像恢复引擎负责压缩图像的恢复。
[0148] 本申请实施例提供的图像压缩系统,用于执行上述实施例提供的图像压缩方法,其实现方式与原理相同,不再赘述。
[0149] 本申请实施例提供了一种电子设备,用于执行上述实施例提供的图像压缩方法。
[0150] 如图6所示,为本申请实施例提供的电子设备的结构示意图。该电子设备60包括:至少一个处理器61和存储器62。
[0151] 存储器存储计算机执行指令;至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如上实施例提供的图像压缩方法。
[0152] 本申请实施例提供的一种电子设备,用于执行上述实施例提供的图像压缩方法,其实现方式与原理相同,不再赘述。
[0153] 本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上任一实施例提供的图像压缩方法。
[0154] 本申请实施例的包含计算机可执行指令的存储介质,可用于存储前述实施例中提供的图像压缩方法的计算机执行指令,其实现方式与原理相同,不再赘述。
[0155] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0156] 作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0157] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0158] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0159] 本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0160] 最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。