一种JPEG图像无损压缩和解压缩方法、系统与装置转让专利

申请号 : CN202111018763.5

文献号 : CN113810693B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 戴文睿骆继祥李成林邹君妮熊红凯

申请人 : 上海交通大学

摘要 :

本发明提供一种JPEG图像无损压缩和解压缩方法、系统与装置,包括:将JPEG图像部分解码,得到亮度和色度的DCT系数和量化表,进行缓存;将所述DCT系数按照对应频带排序,将排序后的DCT系数划分为若干个频率组;对所述频率组,逐个采用卷积神经网络从所属频带的DCT系数提取上下文;根据所述上下文,预测所述DCT系数的概率分布,进行算术编码,得到二进制码流。本发明在仅对JPEG图像部分解码的前提下,提高JPEG图像的压缩率,且不改变图像中的任何内容。本发明能兼容当前广泛使用的JPEG图像编码格式。

权利要求 :

1.一种JPEG图像无损压缩方法,将JPEG图像无损压缩为二进制码流,其特征在于,包括:将JPEG图像部分解码,得到亮度和色度的DCT系数和量化表,进行缓存;

将所述DCT系数按照对应频带排序,将排序后的DCT系数划分为若干个频率组;

对所述频率组,逐个采用卷积神经网络从所属频带的DCT系数提取上下文;

根据所述上下文,预测所述DCT系数的概率分布,进行算术编码,得到二进制码流;

所述将所述DCT系数按照对应频带排序,将排序后的DCT系数划分为若干个频率组,包括:S201,将亮度和色度的DCT系数按对应频带的频率交织,并按照频率大小排序;

S202,将排序后的频带分为若干个频率组,其中包含低频频带的频率组的频带数量,少于包含高频频带的频率组的频带数量。

2.根据权利要求1所述的JPEG图像无损压缩方法,其特征在于,所述将JPEG图像部分解码,得到亮度和色度的DCT系数和量化表,进行缓存,包括:S101,将输入JPEG图像按照JPEG编码标准部分解码,得到未量化的DCT系数和量化表;

S102,将S101得到的所述未量化的DCT系数除以量化表中对应的量化系数,得到DCT系数;

S103,将S102得到的DCT系数和S101得到的量化表分别存入对应的寄存数组。

3.根据权利要求2所述的JPEG图像无损压缩方法,其特征在于,所述寄存数组包括DCT系数寄存数组和量化表寄存数组,分别存储DCT系数、量化表,其中:所述DCT系数寄存数组包括亮度分量DCT系数寄存数组和色度分量DCT系数寄存数组;

所述量化表寄存数组包括亮度量化表寄存数组和色度量化表寄存数组。

4.根据权利要求1所述的JPEG图像无损压缩方法,其特征在于,对所述频率组,逐个采用卷积神经网络从所属频带的DCT系数提取上下文,包括:S301,将所述频率组通过第一卷积神经网络,下采样得到第一特征;

S302,对所述第一特征进行量化;

S303,将量化第一特征通过第二卷积神经网络,上采样得到第二特征;

S304,将所述第二特征通过反卷积层,得到上下文。

5.根据权利要求4所述的JPEG图像无损压缩方法,其特征在于,所述第一卷积神经网络和第二卷积神经网络分别基于不同数量的上采样模块和下采样模块构造,上采样模块和下采样模块的结构对称。

6.根据权利要求4所述的JPEG图像无损压缩方法,其特征在于,所述第二卷积神经网络还包括权重共享的残差网络模块,所述权重共享的残差网络模块由多个结构和系数相同的跨层连接残差块组成。

7.根据权利要求1所述的JPEG图像无损压缩方法,其特征在于,所述方法还包括:根据损失函数 使用梯度下降方法优化,其中,所述损失函数 定义为 ,其中是预测编码计算所述DCT系数的概率分布的对数似然, 是量化第一特征的概率分布的对数似然,是平衡 和 的拉格朗日乘子。

8.一种JPEG图像无损压缩系统,将JPEG图像无损压缩为二进制码流,其特征在于,包括:解码缓存模块:将JPEG图像部分解码,得到亮度和色度的DCT系数和量化表,进行缓存;

频率分组模块:将所述DCT系数按照对应频带排序,将排序后的DCT系数划分为若干个频率组;

上下文估计模块:对所述频率组,逐个采用卷积神经网络从所属频带的DCT系数提取上下文;

预测编码模块:根据所述上下文,预测所述DCT系数的概率分布,进行算术编码,得到二进制码流;

所述频率分组模块,执行如下步骤:

S201,将亮度和色度的DCT系数按对应频带的频率交织,并按照频率大小排序;

S202,将排序后的频带分为若干个频率组,其中包含低频频带的频率组的频带数量,少于包含高频频带的频率组的频带数量。

9.一种JPEG图像解压缩方法,用于将权利要求1‑7任一项得到的二进制码流解压缩为JPEG图像,其特征在于,包括:对压缩量化第一特征得到的二进制码流解码得到量化第一特征;

将量化第一特征通过第二卷积神经网络,上采样得到第二特征,通过反卷积层从第二特征提取上下文;

根据所述上下文,预测所述DCT系数的概率分布,对DCT系数的二进制码流进行算术解码,得到DCT系数;

将得到的DCT系数,乘上量化表中对应的量化系数,按照JPEG标准反变换过程得到重构的JPEG图像。

10.一种JPEG图像解压缩系统,用于将权利要求1‑7任一项得到的二进制码流解压缩为JPEG图像,其特征在于,包括:特征解码模块:对压缩量化第一特征得到的二进制码流解码得到量化第一特征;

频率上采样模块:将量化第一特征通过第二卷积神经网络,上采样得到第二特征,通过反卷积层从第二特征提取上下文;

预测解码模块:根据所述上下文,预测所述DCT系数的概率分布,对DCT系数的二进制码流进行算术解码,得到DCT系数;

图像恢复模块:将得到的DCT系数,乘上量化表上的量化系数,按照JPEG标准反变换过程得到重构的JPEG图像。

11.一种JPEG图像无损压缩和解压缩方法,其特征在于,包括:对JPEG图像采用权利要求1‑7任一项所述的JPEG图像无损压缩方法进行压缩,得到二进制码流;

对所述二进制码流采用权利要求9所述JPEG图像解压缩方法进行解压缩,得到重构的JPEG图像。

12.一种JPEG图像无损压缩和解压缩装置,其特征在于,包括:压缩装置:对JPEG图像采用权利要求1‑7任一项所述的JPEG图像无损压缩方法进行压缩,得到二进制码流;

解压缩装置:对所述二进制码流采用权利要求9所述JPEG图像解压缩方法进行解压缩,得到重构的JPEG图像。

13.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现以下任一种方法:‑ 权利要求1‑7任一项所述的JPEG图像无损压缩方法,或,‑ 权利要求9所述的JPEG图像解压缩方法。

14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以下任一种方法:‑ 权利要求1‑7任一项所述的JPEG图像无损压缩方法,或,‑ 权利要求9所述的JPEG图像解压缩方法。

说明书 :

一种JPEG图像无损压缩和解压缩方法、系统与装置

技术领域

[0001] 本发明涉及图像处理技术领域,具体的,涉及一种JPEG图像无损压缩和解压缩方法、系统与装置。

背景技术

[0002] 展望未来,5G时代到来后,短视频、直播将成为资讯获取的主流方式,用户可以在电视、手机、平板电脑等多个终端之间自由切换,这将对高清、超高清视频处理及运营服务提出更高的要求,特别是需要更多的存储空间。而媒体云恰好能满足这一需求,未来这一产业的市场规模有望超过300亿元。在这一愿景下,即便使用一台配置较低的笔记本电脑,借助云端媒体计算能力,也可完成多层4K超高分辨率视频节目的编辑工作。媒体云服务瞄准了媒体、教育、政企等机构的视频处理需求,通过构建基于云端的基础资源平台,将专业设备、业务软件“上云”,用户在移动终端即可完成视频采集、编辑、存储、发布等操作。
[0003] 一方面,需要大量数据的深度学习迅速发展,模型的训练数据大部分为JPEG图像,在本地存储这些图像是一个严重的负荷;另一方面,随着直播平台、基于多媒体应用的APP受到广泛关注和应用,图像传输和视频直播的业务需求高速增长,使得图像和视频内容急剧增加,本地存储已经无法满足其要求。将图像和视频上传至云平台是一种有效可行的解决方式,但是随着多媒体内容的指数爆炸式增长,相关云平台依旧面临着不小的压力。同时上传至云平台的图像通常是采用JPEG进行编码,仍然存在较多的冗余,但是云平台不能对用户上传内容做出任何修改,于是针对JPEG图像的无损再压缩成为一个具有巨大应用价值的课题,同时也是一个有巨大挑战的方向。
[0004] 但是,在这些美好愿景背后,也隐藏着技术上的大量问题,其中对于媒体云供应商而言最为棘手的问题便是视频存储问题。举例来说,利用iPhone以30帧每秒的质量拍摄的4K分辨率视频,通过最先进的HEVC视频编码标准编码后,60s视频大概需要占用350MB的容量。以此推算,30分钟的该质量的视频需要5.1GB的空间来存储。可想而知,对于云服务器上的大量视频、图像资源需要海量的存储设备进行存储。因此,如何在保持视频、图像文件不变的前提下尽量减小存储开销成为了当前亟待解决的问题。
[0005] 目前存在一些对于JPEG码流进行再压缩的工作,目前无损压缩工具LZMA,mozjpeg,Brunsli和Lepton等对JPEG进行无损压缩。但是这些传统方法都是手动调节各个模块的参数,同时他们主要针对离散余弦变换(DCT)系数的直流系数(DC),但是无法准确估计DCT系数中的交流系数(AC),因此增益有一定的限制。

发明内容

[0006] 本发明针对现有技术的不足,提供了一种JPEG图像无损压缩和解压缩方法、系统与装置,提高压缩增益,并且提供了方便有效的数字实现方法,可以作为一种JPEG图像无损压缩方法进一步应用于多个领域。
[0007] 本发明的第一方面,提供一种JPEG图像无损压缩方法,将JPEG图像无损压缩为二进制码流;所述方法包括:
[0008] 将JPEG图像部分解码得到亮度(Y分量)和色度(Cb、Cr分量)的离散余弦变换(DCT)系数和量化表,进行缓存;
[0009] 将所述DCT系数,按照对应频带排序,将排序后的DCT系数划分为若干个频率组;
[0010] 对所述频率组,逐个采用卷积神经网络从所属频带的DCT系数提取上下文;
[0011] 根据所述上下文,预测所述DCT系数的概率分布,进行算术编码,得到二进制码流。
[0012] 可选地,所述将JPEG图像部分解码,得到亮度和色度的DCT系数和量化表,进行缓存,包括:
[0013] S101,将输入JPEG码流按照JPEG编码标准部分解码,得到未量化的DCT系数和量化表;
[0014] S102,将S101得到的所述未量化的DCT系数除以量化表中对应的量化系数,得到DCT系数;
[0015] S103,将S102得到的DCT系数和S101得到的量化表分别存入对应的寄存数组。
[0016] 进一步地,所述寄存数组包括DCT系数寄存数组和量化表寄存数组,分别存储DCT系数、量化表,其中:
[0017] 所述DCT系数寄存数组包括亮度分量DCT系数寄存数组和色度分量DCT系数寄存数组;
[0018] 所述量化表寄存数组包括亮度量化表寄存数组和色度量化表寄存数组。
[0019] 可选地,将所述DCT系数按照对应频带排序,将排序后的DCT系数划分为若干个频率组,包括:
[0020] S201,将亮度和色度的DCT系数按对应频带的频率交织,并按照频率大小排序;
[0021] S202,将排序后的频带分为若干个频率组,其中包含低频频带的频率组的频带数量,少于包含高频频带的频率组的频带数量。
[0022] 可选地,对所述频率组,逐个采用卷积神经网络从所属频带的DCT系数提取上下文,包括:
[0023] S301,将所述频率组通过第一卷积神经网络,下采样得到第一特征;
[0024] S302,对所述第一特征进行量化;
[0025] S303,将量化第一特征通过第二卷积神经网络,上采样得到第二特征;
[0026] S304,将所述第二特征通过反卷积层,得到上下文。
[0027] 进一步的,所述第一卷积神经网络和第二卷积神经网络分别基于不同数量的上采样模块和下采样模块构造,上采样模块和下采样模块的结构对称。
[0028] 进一步的,所述第二卷积神经网络还包括权重共享的残差网络模块,所述权重共享的残差网络模块由多个结构和系数相同的跨层连接残差块组成。
[0029] 可选地,所述方法还包括:根据损失函数L使用梯度下降方法优化,其中,所述损失函数L定义为L=R1+λ*R2,其中R1是预测编码计算所述DCT系数的概率分布的对数似然,R2是量化第一特征的概率分布的对数似然,λ是平衡R1和R2的拉格朗日乘子。
[0030] 本发明的第二方面,提供一种JPEG图像无损压缩系统,将JPEG图像无损压缩为二进制码流;所述系统包括:
[0031] 解码缓存模块:将JPEG图像部分解码,得到亮度和色度的DCT系数和量化表,进行缓存;
[0032] 频率分组模块:将所述DCT系数按照对应频带排序,将排序后的DCT系数划分为若干个频率组;
[0033] 上下文估计模块:对所述频率组,逐个采用卷积神经网络从所属频带的DCT系数提取上下文;
[0034] 预测编码模块:根据所述上下文,预测所述DCT系数的概率分布,进行算术编码,得到二进制码流。
[0035] 本发明的第三方面,提供一种JPEG图像解压缩方法,用于将得到的二进制码流解压缩为JPEG图像;所述方法包括:
[0036] 对压缩量化第一特征得到的二进制码流解码得到量化第一特征;
[0037] 将量化第一特征通过第二卷积神经网络,上采样得到第二特征,通过反卷积层从第二特征提取上下文;
[0038] 根据所述上下文,预测所述DCT系数的概率分布,对DCT系数的二进制码流进行算术解码,得到DCT系数;
[0039] 将得到的DCT系数,乘上量化表上的量化系数,按照JPEG标准反变换过程得到重构的JPEG图像。
[0040] 本发明的第四方面,提供一种JPEG图像解压缩系统,用于将得到的二进制码流解压缩为JPEG图像;所述系统包括:
[0041] 特征解码模块:对压缩量化第一特征得到的二进制码流解码得到量化第一特征;
[0042] 频率上采样模块:将量化第一特征通过第二卷积神经网络,上采样得到第二特征,通过反卷积层从第二特征提取上下文;
[0043] 预测解码模块:根据所述上下文,预测所述DCT系数的概率分布,对DCT系数的二进制码流进行算术解码,得到DCT系数;
[0044] 图像恢复模块:将得到的DCT系数,乘上量化表上的量化系数,按照JPEG标准反变换过程得到重构的JPEG图像。
[0045] 本发明的第五方面,提供一种JPEG图像无损压缩和解压缩方法,包括:
[0046] 对JPEG图像采用上述的JPEG图像无损压缩方法进行压缩,得到二进制码流;
[0047] 对所述二进制码流采用上述JPEG图像解压缩方法进行解压缩,得到重构的JPEG图像。
[0048] 本发明的第六方面,提供一种JPEG图像无损压缩和解压缩装置,包括:
[0049] 压缩装置:对JPEG图像采用上述的JPEG图像无损压缩方法进行压缩,得到二进制码流;
[0050] 解压缩装置:对所述二进制码流采用上述JPEG图像解压缩方法进行解压缩,得到重构的JPEG图像。
[0051] 本发明的第七方面,提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现以下任一种方法:
[0052] ‑上述的JPEG图像无损压缩方法,或,
[0053] ‑上述的JPEG图像解压缩方法。
[0054] 本发明的第八方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以下任一种方法:
[0055] ‑上述的JPEG图像无损压缩方法,或,
[0056] ‑上述的JPEG图像解压缩方法。
[0057] 与现有技术相比,本发明实施例具有如下至少一种有益效果:
[0058] 本发明提供的是一种JPEG图像无损压缩和解压缩方法、系统、装置,通过对JPEG图像部分解码的DCT系数进行深度网络的建模,不仅准确预测DCT系数中低频的DC值,也可以较好的预测高频的AC值,可以针对不同的DCT系数进行优化,以使其更好地适应于不同的应用领域。本发明在仅对JPEG图像部分解码的前提下,提高JPEG图像的压缩率,且不改变图像中的任何内容,能兼容当前广泛使用的JPEG图像编码格式。
[0059] 本发明提供的JPEG图像无损压缩方法,解码缓存(模块)在保证编解码效率的同时尽量减少存储参数带来的空间开销,保证了计算简便性和高效性。
[0060] 本发明提供的JPEG图像无损压缩和解压缩方法、系统、装置,可以有效地预测DCT系数的概率分布,对一些变化剧烈的自然图像具有不可替代的优势,在提升整个结构的灵活性和可扩展性的基础上,进一步提高JPEG图像的无损压缩增益。

附图说明

[0061] 通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0062] 图1为本发明一实施例中JPEG图像压缩方法的流程图;
[0063] 图2为本发明一实施例中解码缓存的流程图;
[0064] 图3为本发明一实施例中压缩模块实施例示意图;
[0065] 图4为本发明一实施例中的解压缩实施例示意图;
[0066] 图5为本发明一实施例中的频率分组模块示意图;
[0067] 图6为本发明一实施例中的频率分组示意图。

具体实施方式

[0068] 下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
[0069] 图1为本发明一实施例中JPEG图像压缩方法的流程图。
[0070] 参照图1所示,本实施例中的JPEG图像压缩方法,包括如下步骤:
[0071] S100,将JPEG图像部分解码得到亮度(Y分量)和色度(Cb、Cr分量)的离散余弦变换(DCT)系数和量化表,进行缓存;
[0072] S200,将亮度(Y分量)和色度(Cb、Cr分量)的DCT系数,按照对应频带排序,将排序后的DCT系数划分为若干个频率组;
[0073] S300,对频率组,逐个采用卷积神经网络从所属频带的DCT系数提取上下文;
[0074] S400,根据上下文,预测DCT系数的概率分布,进行算术编码。
[0075] 图2为本发明一实施例中解码缓存的流程图,参照图2所示,本实施例中,为了得到亮度和色度的DCT系数和量化表,进行缓存,进一步包括:
[0076] S101,将输入JPEG码流按照JPEG编码标准部分解码,得到未量化的DCT系数和量化表;
[0077] S102,将S101得到的未量化的DCT系数除以量化表中对应的量化系数,得到DCT系数;
[0078] S103,将S102得到的DCT系数和S101得到的量化表分别存入对应的寄存数组。
[0079] 本实施例将JPEG图像部分解码,通过对JPEG图像部分解码的DCT系数进行深度网络的建模,不仅准确预测DCT系数中的DC值,也可以较好的预测高频的AC值,可以针对不同的DCT系数进行优化,以使其更好地适应于不同的应用领域。
[0080] 作为示例,在执行S200时,为了实现频率分组,可以包括:将亮度和色度的DCT系数按对应频带的频率交织,并按照频率大小排序;将排序后的频带分为若干个频率组,其中包含低频频带的频率组的频带数量,少于包含高频频带的频率组的频带数量。通过该操作,将相同亮度分量(Y)的同一频带划分为同一个通道,相同色度分量(Cb,Cr)的同一频带划分为同一个通道。为后续的上下文估计提前条件。
[0081] 作为示例,在执行S300时,对频率组逐个采用卷积神经网络从所属频带的DCT系数提取上下文,可以包括频率下采样、频率上采样,以及上下文提取,具体的,可以按照以下步骤进行:
[0082] S301,将频率组通过第一卷积神经网络,下采样得到第一特征;
[0083] S302,对S301得到的第一特征进行量化;
[0084] S303,将S302量化第一特征通过第二卷积神经网络,上采样得到第二特征;
[0085] S304,将S303第二特征通过反卷积层,得到上下文。
[0086] 本实施例中第一卷积神经网络和第二卷积神经网络分别基于不同数量的上采样模块和下采样模块构造,上采样模块和下采样模块的结构对称。进一步的,第二卷积神经网络还包括权重共享的残差网络模块,权重共享的残差网络模块由多个结构和系数相同的跨层连接残差块组成。
[0087] 基于相同的技术构思,在本发明另一实施例中还提供一种JPEG图像无损压缩系统,将JPEG图像无损压缩为二进制码流。具体的,系统包括:解码缓存模块、频率分组模块、上下文估计模块和预测编码模块,解码缓存模块将JPEG图像部分解码,得到亮度和色度的DCT系数和量化表,进行缓存;频率分组模块将DCT系数按照对应频带排序,将排序后的DCT系数划分为若干个频率组;上下文估计模块对频率组,逐个采用卷积神经网络从所属频带的DCT系数提取上下文;预测编码模块根据上下文,预测DCT系数的概率分布,进行算术编码,得到二进制码流。
[0088] 具体的,解码缓存模块是量化表寄存数组包括亮度量化表寄存数组和色度量化表寄存数组,存储包括(但不限于)亮度和色度的DCT系数,亮度和色度的量化表以及JPEG相关语法信息等。本实施例中,解码缓存(模块)在保证编解码效率的同时尽量减少存储参数带来的空间开销,保证了计算简便性和高效性。
[0089] 具体的,频率分组模块将相同亮度分量(Y)的同一频带划分为同一个通道,相同色度分量(Cb,Cr)的同一频带划分为同一个通道。因此每个分量各有64个通道,然后将192个通道按照Y→Cb→Cr→Y→…的顺序排列。
[0090] 作为优选的实施例中,上下文估计模块包含频率下采样子模块和频率上采样子模块,以及上下文提取子模块,频率下采样子模块使用卷积网络下采样输入的频率组并得到第一特征,对第一特征进行量化之后输入到频率上采样子模块得到第二特征,频率上采样子模块使用权重共享的残差网络上采样处理输入的第一特征并输出第二特征。由于经过频率分组模块之后192个频率带分为三组,每一组有独立频率上采样子模块和频率下采样子模块。
[0091] 本实施例中,频率下采样子模块由编码模块组成,每一个编码模块由一个卷积网络和Leaky_ReLU激活函数组成,频率下采样子模块由五个编码模块组成;在一具体实施例中,每一个编码模块的卷积核大小为3×3,前两个编码模块的卷积步长为2,其他的卷积步长为1,最后一个编码模块的输出通道数为48,其他模块的输出通道数为384。
[0092] 频率上采样子模块有解码模块和权重共享残差模块组成。解码模块由反卷积层和Leaky_ReLU激活函数组成,在一具体实施例中,所有解码模块的卷积核大小为3×3,最后两个解码模块反卷积步长为2,其他解码模块步长均为1,所有解码模块的输出通道数均为384。权重共享残差模块由三个残差模块和对应的反向输入组成,其中残差模块由一个卷积网络,Leaky_ReLU激活函数和一个直接输出组成,所有模块的卷积核大小为3×3,卷积步长为1,输出通道数为384。
[0093] 上下文提取由两层反卷积组成,其输入是第二特征,输出是上下文。在一具体实施例中,每一层反卷积卷积核大小为3×3,反卷积步长为1,输出的通道数为对应输入频率分组中的通道数。根据频率分组模块中第一组为[0,9),则输出的通道数为9,剩下通道数以此类推。
[0094] 作为优选,解码缓存模块解码和缓存依次进行,解码流程依据JPEG标准中编码部分解码,解码缓存具体包括如下步骤:
[0095] 步骤一,解码JPEG码流中第i个编码单元的DCT系数和量化表并进行缓存;
[0096] 步骤二,将步骤一中编码单元的DCT系数弹出到频率划分模块进行频带划分;
[0097] 步骤三,回到步骤一,解码第i+1个编码单元的DCT系数。
[0098] 优选实施例中,频率划分模块是针对的是经过离散余弦变换且量化之后的DCT系数,使得DCT系数的幅度维持在一个较小的幅度。进一步的,频率划分及分组按照不同频带之间的符号冗余性进行合并分组,将192个相互正交的频带进行合并,具体分为低频,中频和高频三个组,其中每个组的顺序是Y→Cb→Cr→Y→…。
[0099] 如图6左所示所述低频,中频,高频对应的通道范围分别是[0,2],[3,35],[36,64],如图6右所示然后将Y,Cb,Cr对应的低频,中频和高频分别组合,得到组合之后的低频,中频和高频频带。
[0100] 本发明上述实施例中的JPEG图像无损压缩方法和系统,在仅对JPEG图像部分解码的前提下,提高JPEG图像的压缩率,且不改变图像中的任何内容。本实施例可以有效的预测DCT系数的概率分布,对一些变化剧烈的自然图像具有不可替代的优势,在提升了整个结构的灵活性和可扩展性的基础上,进一步提高了JPEG图像的无损压缩增益。
[0101] 基于相同的技术构思,本发明实施例还提供一种JPEG图像解压缩方法,用于将上述实施例中得到的二进制码流解压缩为JPEG图像;所述方法包括:对压缩量化第一特征得到的二进制码流解码得到量化第一特征;将量化第一特征通过第二卷积神经网络,上采样得到第二特征,通过反卷积层从第二特征提取上下文;根据所述上下文,预测所述DCT系数的概率分布,对DCT系数的二进制码流进行算术解码,得到DCT系数;将得到的DCT系数,乘上量化表上的量化系数,按照JPEG标准反变换过程得到重构的JPEG图像。本实施例中各步骤具体实现的方法可以参照上述的JPEG图像无损压缩方法,在此不再赘述。
[0102] 基于相同的技术构思,本发明实施例还提供一种JPEG图像解压缩系统,用于将得到的二进制码流解压缩为JPEG图像;系统包括:特征解码模块、频率上采样模块、预测解码模块、图像恢复模块,特征解码模块对压缩量化第一特征得到的二进制码流解码得到量化第一特征;频率上采样模块将量化第一特征通过第二卷积神经网络,上采样得到第二特征,通过反卷积层从第二特征提取上下文;预测解码模块根据上下文,预测DCT系数的概率分布,对DCT系数的二进制码流进行算术解码,得到DCT系数;图像恢复模块将得到的DCT系数,乘上量化表上的量化系数,按照JPEG标准反变换过程得到重构的JPEG图像。本实施例中各模块具体实现的方法可以参照上述的JPEG图像无损压缩方法的步骤实现技术,在此不再赘述。
[0103] 基于相同的技术构思,本发明实施例还提供一种JPEG图像无损压缩和解压缩方法,包括:对JPEG图像采用上述实施例中的JPEG图像无损压缩方法进行压缩,得到二进制码流;对二进制码流采用上述实施例中的JPEG图像解压缩方法进行解压缩,得到重构的JPEG图像。本实施例中各模块具体实现的方法可以参照上述的JPEG图像无损压缩方法的步骤实现技术,在此不再赘述。
[0104] 基于相同的技术构思,本发明实施例还提供一种JPEG图像无损压缩和解压缩装置,包括:压缩装置和解压缩装置,其中,压缩装置对JPEG图像采用上述任一项实施例中的JPEG图像无损压缩方法进行压缩,得到二进制码流;解压缩装置对二进制码流采用上述任一项实施例中的JPEG图像解压缩方法进行解压缩,得到重构的JPEG图像。本实施例中各模块具体实现的方法可以参照上述的JPEG图像无损压缩方法的步骤实现技术,在此不再赘述。
[0105] 本发明上述实施例中JPEG图像无损压缩和解压缩方法、系统、装置,通过对JPEG中的DCT系数进行深度网络的建模,不仅准确预测DCT系数中的DC值,也可以较好的预测高频的AC值,可以针对不同的DCT系数进行优化,以使其更好地适应于不同的应用领域。
[0106] 基于相同的技术构思,本发明实施例中还提供一种电子设备,电子设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现以下任一种方法:上述的JPEG图像无损压缩方法,或,上述的JPEG图像解压缩方法。
[0107] 基于相同的技术构思,本发明实施例中还提供一种计算机可读存储介质,存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以下任一种方法:上述的JPEG图像无损压缩方法,或,上述的JPEG图像解压缩方法。
[0108] 基于上述JPEG图像无损压缩方法和系统,本发明还提供了实例,具体的,在一基于深度学习的JPEG图像压缩的网络训练实例,具体包括:
[0109] S1:获取JPEG图像;
[0110] S2:对获取的JPEG图像进行部分解码,得到亮度分量和色度分量的离散余弦变换(DCT)系数和量化表,进行缓存;
[0111] S3:将亮度分量和色度分量的DCT系数按照频带排序,划分为若干个频率组;
[0112] S4:根据每个频率组,采用卷积神经网络提取上下文;
[0113] S5:根据估计的上下文,预测DCT系数的概率分布,对第一特征的概率分布的对数似然R1以及DCT系数的概率分布的对数似然R2进行约束优化,具体的损失函数为L=R1+λ*R2,在训练过程,初始学习率设置为0.001,λ设置为1,使用Adam优化器来联合训练上述各个模块,当训练到一个稳定的阶段时,将λ每过10000步之后乘以0.9。然后随着训练地叠加,不断减少λ的值,使得最后总码率达到最低。
[0114] 在一较优实施例中,提供一种基于深度学习的JPEG码流压缩的编码实例,其中包括:
[0115] S210:将JPEG图像部分解码得到亮度(Y)分量和色度(Cb、Cr)分量的未量化的DCT系数以及对应的量化表,将Y、Cb、Cr分量的未量化的DCT系数除以对应的量化表中的量化系数,得到DCT系数,存储DCT系数和量化表;
[0116] S220:将Y、Cb、Cr分量的DCT系数,按照对应频带排序,将排序后的DCT系数划分为若干个频率组;
[0117] S230:将所述频率组通过第一卷积神经网络,下采样得到第一特征,量化第一特征并编码;
[0118] S240:将量化第一特征通过第二卷积神经网络,上采样得到第二特征,通过反卷积层从第二特征提取上下文;
[0119] S250:根据所述上下文,预测所述DCT系数的概率分布,进行算术编码;
[0120] 最终得到三部分码流,分别是量化表,量化第一特征二进制码流以及DCT系数的二进制码流。
[0121] 在本发明另一实例中,还提供一种基于深度学习的JPEG码流压缩的解码实例,其中包括:
[0122] S310:对压缩量化第一特征得到的二进制码流解码得到量化第一特征;
[0123] S320:将量化第一特征通过第二卷积神经网络,上采样得到第二特征,通过反卷积层从第二特征提取上下文;
[0124] S330:根据所述上下文,预测所述DCT系数的概率分布,对DCT系数的二进制码流进行算术解码,得到DCT系数;
[0125] S340:将得到DCT系数乘上量化表中的量化系数,按照JPEG标准反变换过程得到重构的JPEG图像。
[0126] 如图5所示,解码的DCT系数输入到频率划分模块,相同亮度和色度分量的DCT系数划分到同一个通道,将这些划分的频率系数输入到频率分组模块中,依据不同通道之间的符号冗余性将不同通道(频带)划分为同一个组,每一组单独经过频率下采样子模块和频率上采样子模块,得到当前分组的概率分布,同时用这个分布对当前组进行算术编码。
[0127] 如图5所示,JPEG图像部分解码之后得到Y,Cb,Cr的DCT系数以及量化表,对Y,Cb,Cr的DCT系数进行频率划分,划分为低频,中频和高频。
[0128] 如图6所示,JPEG中每一个编码单元中64个频带的划分,按照之字型(Zig‑Zag)的扫描顺序进行频率分组。
[0129] 本实例中,JPEG图像的编码和解码如图3和图4所示,其中量化表使用概率分布为均匀分布的编码器,第一特征使用自适应的算术编码器,DCT系数使用以高斯分布计算概率输出的算术编码器,需要注意的是,替换不同形式的算术编码器仍属于本发明保护范围。
[0130] 本实例中,在Kodak数据集和Set5数据集上取得的平均增益为20%左右。
[0131] 表1:本实施例在Kodak数据集上无损压缩的比特每像素(bpsp)及增益(%)[0132]
[0133] 表2:本实施例在Set5数据集上无损压缩的比特每像素(bpsp)及增益(%)[0134]
[0135]
[0136] 表1和表2中Kodak_50,Kodak_60,Kodak_70,Kodak_80,Kodak_90,Set5_50,Set5_60,Set5_70,Set5_80,Set5_90数据集中的50,60,70,80,90代表将无损格式的Kodak和Set5数据集转化为JPEG格式图像的质量因子,其中因子越大,代表质量越好。
[0137] 实施效果
[0138] 本发明实施例是针对JPEG码流的进一步无损压缩,不改变图像任何内容的情况下,在Kodak和Set5数据集上取得了20%左右的增益,由于云上图像数量逐渐增多,20%左右的增益已经可以带来巨大的经济效益。
[0139] 本发明实施例提出的一种JPEG图像无损压缩方法、系统与装置,包括:JPEG图像获取,频率分组,上下文估计以及预测编码,在云端和移动端可都以部署模型,对高质量JPEG图像等进一步压缩有着显著效果。由于每日上传云端的相关JPEG码流数据可以达到很大量15
级(如PByte≈10 字节量级以上),在云端部署的模块和算法可以提供更加巨大的商业价值,因此本发明提出的模块和算法拥有巨大的工业潜力。
[0140] 本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0141] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0142] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0143] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0144] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0145] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。