CN112887713B - 图片压缩、解压缩方法和装置 - Google Patents

图片压缩、解压缩方法和装置 Download PDF

Info

Publication number
CN112887713B
CN112887713B CN201911208665.0A CN201911208665A CN112887713B CN 112887713 B CN112887713 B CN 112887713B CN 201911208665 A CN201911208665 A CN 201911208665A CN 112887713 B CN112887713 B CN 112887713B
Authority
CN
China
Prior art keywords
dct coefficient
picture
block
sub
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911208665.0A
Other languages
English (en)
Other versions
CN112887713A (zh
Inventor
朱佳凯
罗康文
何欢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201911208665.0A priority Critical patent/CN112887713B/zh
Publication of CN112887713A publication Critical patent/CN112887713A/zh
Application granted granted Critical
Publication of CN112887713B publication Critical patent/CN112887713B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请实施例提供一种图片压缩、解压缩方法和装置,所述方法包括:编码端对原始图片进行解码得到原始图片的量化后的DCT系数块,获取原始图片的有损压缩数据以及原始图片的参考图片的量化后的DCT系数块,参考图片为跟原始图片相似的图片,根据参考图片的量化后的DCT系数块,对原始图片的量化后的DCT系数块进行无损压缩,得到原始图片的无损压缩数据,生成一个或多个码流文件,码流文件中包括无损压缩数据和有损压缩数据,有损压缩数据用于解码端获取参考图片的量化后的DCT系数块。通过将原始图片和参考图片均解码至频域,使用参考图片的量化后的DCT系数对原始图片的量化后的DCT系数进行块进行压缩,该压缩过程为无损压缩,从而提高了图片的压缩率。

Description

图片压缩、解压缩方法和装置
技术领域
本申请涉及图片处理技术领域,尤其涉及一种图片压缩、解压缩方法和装置。
背景技术
随着网络和智能设备的普及,网络中会产生海量图片,图片的存储和传输占用了大量的存储资源和传输资源。通过对图片压缩可以减少图片数据的大小,图片压缩分为单帧压缩和多帧压缩,单帧压缩是指利用单张图片内部信息的相关性进一步去除冗余,多帧压缩是指利用两张及以上图片间的相似性去冗余。由于网络图片间的相关性很差,因此单帧压缩应用更普遍。
联合图片专家小组(Joint photographic experts group,JPEG)是一种常见的图片格式,对JPEG格式的图片压缩称为JPEG压缩,JPEG压缩过程可以包括如下步骤:(1)先将JPEG图片以8×8像素为单位拆分成多个像素块,并依次对每个像素块进行离散余弦变换(Discrete cosine transform,DCT)变换。通过DCT变换将图片从空域转换至频域,频域的基本单元是DCT系数块,每个DCT系数块由8×8=64个DCT系数组成。DCT系数块可以被划分区为三个区域:DC、1×7/7×1AC和7×7AC系数。(2)对DCT系数块中不同位置处的DCT系数进行不同程度的量化。量化后的DCT系数值变小,所需的存储量降低。(3)对三个区域中的DCT系数进行算术编码。在对待编码的DCT块的每个DCT系数进行算术编码时,使用该待编码DCT系数块的三个相邻DCT系数块(例如该待编码的DCT系数块的上方块、左方块和左上方块)中同位置的DCT系数进行线性加权,得到预测值,使用该预测值选择概率表,根据该概率表对该DCT系数进行算术编码。
但是,现有的图片压缩方法只能够降低当前编码块与相邻块间的冗余,而与当前编码块相似的像素块不仅是相邻块,还可能可以距离当前编码块较远的像素块,从而导致现有压缩方法的压缩率仍然较低,无法满足用户需求。
发明内容
本申请实施例提供一种图片压缩、解压缩方法和装置,提高了图片的压缩率。
第一方面,本申请实施例提供了一种图片压缩方法,通过对原始图片进行解码得到所述原始图片的量化后的离散余弦变换DCT系数块;获取所述原始图片的有损压缩数据以及所述原始图片的参考图片的量化后的DCT系数块,所述参考图片为跟所述原始图片相似的图片;根据所述参考图片的量化后的DCT系数块对所述原始图片的量化后的DCT系数块进行无损压缩,得到所述原始图片的无损压缩数据;根据所述无损压缩数据以及所述有损压缩数据生成一个或多个码流文件,所述一个或多个码流文件中包括所述无损压缩数据和所述有损压缩数据,所述有损压缩数据用于解码端获取所述参考图片的量化后的DCT系数块。
所述图片压缩方法,通过将原始图片和参考图片均解码至频域,使用参考图片的量化后的DCT系数对原始图片的量化后的DCT系数进行块进行压缩,该压缩过程为无损压缩,从而提高了图片的压缩率。
其中,所述原始图片可以为联合摄像专家组JPEG格式的图片,所述解码采用的解码方式可以为哈夫曼解码,无损压缩算法可以采用算术编码。原始图片经哈夫曼解码至DCT域为无损可逆过程,原始图片经有损压缩、图像重建、DCT变换及量化过程后得到重建DCT系数,并使用重建DCT系数作为预测值经算术编码对解出的原始图片的DCT系数进行压缩,仍为无损过程,通过保存有损压缩过程的压缩文件,就能通过和编码过程相同的重建、DCT变换及量化过程得到相同的重建DCT系数用于对原始图片的无损压缩数据进行算术解码。
在一种可能的实现方式中,所述根据所述参考图片的量化后的DCT系数块对所述原始图片的量化后的DCT系数块进行无损压缩,得到所述原始图片的无损压缩数据,包括:根据所述参考图片的量化后的DCT系数块,对所述原始图片的量化后的DCT系数块中的每个DCT系数进行第一无损压缩子处理,得到所述每个DCT系数对应的无损压缩子数据;根据所述每个DCT系数对应的无损压缩子数据得到所述无损压缩数据。
其中,所述第一无损压缩子处理包括:根据所述原始图片的量化后的DCT系数块中的当前DCT系数对应的预测DCT系数确定所述当前DCT系数的概率表参数,其中,所述预测DCT系数为所述参考图片的量化后的DCT系数块中与所述当前DCT系数的位置相同的DCT系数;根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表;根据所述当前DCT系数对应的概率表,对所述当前DCT系数进行算术编码,所述当前DCT系数对应的编码结果为所述当前DCT系数对应的无损压缩子数据。
在一种可能的实现方式中,所述根据所述参考图片的量化后的DCT系数块对所述原始图片的量化后的DCT系数块进行无损压缩,得到所述原始图片的无损压缩数据,包括:根据所述参考图片的量化后的DCT系数块,对所述原始图片的量化后的DCT系数块中的每个DCT系数进行第二无损压缩子处理,得到所述每个DCT系数对应的无损压缩子数据;根据所述每个DCT系数对应的无损压缩子数据得到所述无损压缩数据。
其中,所述第二无损压缩子处理包括:根据所述原始图片的量化后的DCT系数块中的当前DCT系数对应的预测DCT系数确定所述当前DCT系数的概率表参数,其中,所述预测DCT系数为所述参考图片的量化后的DCT系数块中与所述当前DCT系数的位置相同的DCT系数;根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表;
计算所述当前DCT系数对应的差值,所述差值为所述当前DCT系数与所述预测DCT系数的差值;根据所述当前DCT系数对应的概率表,对所述当前DCT系数对应的差值进行算术编码,所述当前DCT系数对应的编码结果为所述当前DCT系数对应的无损压缩子数据。
在一种可能的实现方式中,所述根据所述参考图片的量化后的DCT系数块,对所述原始图片的量化后的DCT系数块进行无损压缩,得到所述原始图片的无损压缩数据,包括:对所述原始图片的量化后的DCT系数块采用第一划分方式进行区域划分,得到第一类子块和第二类子块;对所述参考图片的量化后的DCT系数块采用所述第一划分方式进行区域划分,得到第三类子块和第四类子块,所述第三类子块在所述参考图片中的位置与所述第一类子块在所述原始图片中的位置相同,所述第四类子块在所述参考图片中的位置与所述第二类子块在所述原始图片中的位置相同;根据所述第三类子块,对所述第一类子块中的每个DCT系数进行第二无损压缩子处理,得到所述第一类子块中的每个DCT系数对应的无损压缩子数据;根据所述第四类子块,对所述第二类子块中的每个DCT系数进行第一无损压缩子处理,得到所述第二类子块中的每个DCT系数对应的无损压缩子数据;根据所述第一类子块中的每个DCT系数对应的无损压缩子数据,以及所述第二类子块中的每个DCT系数对应的无损压缩子数据,得到所述无损压缩数据。
其中,所述第二无损压缩子处理包括:根据所述第一类子块中的当前DCT系数对应的预测DCT系数,确定所述当前DCT系数的概率表参数,所述预测DCT系数为所述第三类子块中与所述当前DCT系数的位置相同的DCT系数;根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表;计算所述当前DCT系数对应的差值,所述差值为所述当前DCT系数与所述预测DCT系数的差值;根据所述当前DCT系数对应的概率表,对所述当前DCT系数对应的差值进行算术编码,所述当前DCT系数对应的编码结果为所述当前DCT系数对应的无损压缩子数据。
所述第一无损压缩子处理包括:根据所述第二类子块中的当前DCT系数对应的预测DCT系数,确定所述当前DCT系数的概率表参数,所述预测DCT系数为所述第四类子块中与所述当前DCT系数的位置相同的DCT系数;根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表;根据所述当前DCT系数对应的概率表,对所述当前DCT系数进行算术编码,所述当前DCT系数对应的编码结果为所述当前DCT系数对应的无损压缩子数据。
在一种可能的实现方式中,所述根据所述原始图片的量化后的DCT系数块中的当前DCT系数对应的预测DCT系数确定所述当前DCT系数的概率表参数,包括:确定所述预测DCT系数为所述当前DCT系数的概率表参数。所述根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表,包括:根据所述预测DCT系数查询得到所述当前DCT系数对应的概率表。
在一种可能的实现方式中,所述根据所述第一类子块中的当前DCT系数对应的预测DCT系数,确定所述当前DCT系数的概率表参数,包括:确定所述预测DCT系数为所述当前DCT系数的概率表参数。所述根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表,包括:根据所述预测DCT系数查询得到所述当前DCT系数对应的概率表。
在一种可能的实现方式中,所述根据所述第二类子块中的当前DCT系数对应的预测DCT系数,确定所述当前DCT系数的概率表参数,包括:确定所述预测DCT系数为所述当前DCT系数的概率表参数。所述根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表,包括:根据所述预测DCT系数查询得到所述当前DCT系数对应的概率表。
在一种可能的实现方式中,所述根据所述原始图片的量化后的DCT系数块中的当前DCT系数对应的预测DCT系数确定所述当前DCT系数的概率表参数,包括:对所述预测DCT系数进行哥伦布编码,得到所述预测DCT系数对应的哥伦布码流,所述预测DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值;对所述当前DCT系数进行哥伦布编码,得到所述当前DCT系数对应的哥伦布码流,所述当前DCT系数对应的哥伦布码流包括目标码长、目标符号位和目标绝对值;根据所述预测DCT系数对应的哥伦布码流,确定所述当前DCT系数对应的哥伦布码流中每个比特位的概率表参数。所述根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表,包括:根据所述当前DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定所述每个比特位的概率表。所述根据所述当前DCT系数对应的概率表,对所述当前DCT系数进行算术编码,包括:根据所述当前DCT系数对应的哥伦布码流中每个比特位的概率表,对所述当前DCT系数对应的哥伦布码流中每个比特位进行算术编码。
在一种可能的实现方式中,所述根据所述原始图片的量化后的DCT系数块中的当前DCT系数对应的预测DCT系数确定所述当前DCT系数的概率表参数,包括:对所述预测DCT系数进行哥伦布编码,得到所述预测DCT系数对应的哥伦布码流,所述预测DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值;对所述当前DCT系数对应的差值进行哥伦布编码,得到所述当前DCT系数对应的差值的哥伦布码流,所述当前DCT系数对应的差值的哥伦布码流包括目标码长、目标符号位和目标绝对值;根据所述预测DCT系数对应的哥伦布码流,确定所述当前DCT系数对应的差值的哥伦布码流中每个比特位的概率表参数。所述根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表,包括:根据所述当前DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定所述每个比特位的概率表。所述根据所述当前DCT系数对应的概率表,对所述当前DCT系数对应的差值进行算术编码,包括:根据所述当前DCT系数对应的哥伦布码流中每个比特位的概率表,对所述当前DCT系数对应的差值的哥伦布码流中每个比特位进行算术编码。
在一种可能的实现方式中,所述根据所述第一类子块中的当前DCT系数对应的预测DCT系数,确定所述当前DCT系数的概率表参数,包括:对所述预测DCT系数进行哥伦布编码,得到所述预测DCT系数对应的哥伦布码流,所述预测DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值;对所述当前DCT系数对应的差值进行哥伦布编码,得到所述当前DCT系数对应的差值的哥伦布码流,所述当前DCT系数对应的差值的哥伦布码流包括目标码长、目标符号位和目标绝对值;根据所述预测DCT系数对应的哥伦布码流,确定所述当前DCT系数对应的差值的哥伦布码流中每个比特位的概率表参数。所述根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表,包括:根据所述当前DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定所述每个比特位的概率表。所述根据所述当前DCT系数对应的概率表,对所述当前DCT系数对应的差值进行算术编码,包括:根据所述当前DCT系数对应的哥伦布码流中每个比特位的概率表,对所述当前DCT系数对应的差值的哥伦布码流中每个比特位进行算术编码。
在一种可能的实现方式中,所述根据所述第二类子块中的当前DCT系数对应的预测DCT系数,确定所述当前DCT系数的概率表参数,包括:对所述预测DCT系数进行哥伦布编码,得到所述预测DCT系数对应的哥伦布码流,所述预测DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值;对所述当前DCT系数进行哥伦布编码,得到所述当前DCT系数对应的哥伦布码流,所述当前DCT系数对应的哥伦布码流包括目标码长、目标符号位和目标绝对值;根据所述预测DCT系数对应的哥伦布码流,确定所述当前DCT系数对应的哥伦布码流中每个比特位的概率表参数。所述根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表,包括:根据所述当前DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定所述每个比特位的概率表。所述根据所述当前DCT系数对应的概率表,对所述当前DCT系数进行算术编码,包括:根据所述当前DCT系数对应的哥伦布码流中每个比特位的概率表,对所述当前DCT系数对应的哥伦布码流中每个比特位进行算术编码。
在一种可能的实现方式中,所述目标码长中的每个比特位的概率表参数包括:所述预测码长、该DCT系数的位置信息以及该比特位的前一比特位值,其中,该比特位的前一比特位为与该比特位使用相同概率表的前一比特位;所述目标符号位的概率表参数包括所述预测符号位;所述目标绝对值中的每个比特位的概率表参数包括:所述预测绝对值、该DCT系数的位置信息以及该比特位的前一比特位值。
在一种可能的实现方式中,当所述原始图片为联合摄像专家组JPEG格式的图片时,所述对所述原始图片的DCT系数块进行区域划分,得到至少两个子块,包括:将所述原始图片的DCT系数块划分为四个子块:DC子块、7×1AC子块、1×7AC子块和7×7AC子块;对所述第一类子块中的DCT系数采用方式一进行算术编码,对所述第二类子块中的DCT系数采用方式二进行算术编码,包括:对所述DC子块、7×1AC子块和1×7AC子块中的DCT系数采用所述方式一进行算术编码,对所述7×7AC子块中的DCT系数采用所述方式二进行算术编码。
在一种可能的实现方式中,所述获取所述原始图片的有损压缩数据,包括:对所述原始图片进行有损压缩处理得到所述有损压缩数据。所述获取所述原始图片的参考图片的量化后的DCT系数块,包括:对所述有损压缩数据进行图像重建处理得到重建图片,所述重建图片为所述参考图片;对所述重建图片进行解码得到所述参考图片的量化后的DC系数块。
其中,重建图片由原始图片经过有损压缩并重建后得到,重建过程利用所有周边相邻点的信息通过非线性卷积拟合,提高了预测精度。有损压缩的灵活度大于无损压缩,可利用已有的高压缩率的有损压缩方案减小有损压缩数据的大小,进一步提升了压缩率。
在一种可能的实现方式中,所述对所述原始图片进行有损压缩处理得到所述有损压缩数据,包括:使用有损压缩算法对所述原始图片进行压缩,得到所述有损压缩数据。
在一种可能的实现方式中,所述对所述原始图片进行有损压缩处理得到所述有损压缩数据,包括:使用图像下采样方法对所述原始图片进行下采样得到下采样图片,使用有损压缩算法或者无损压缩算法,对所述下采样图片进行压缩,得到所述有损压缩数据。
在一种可能的实现方式中,所述对所述原始图片进行有损压缩处理得到所述有损压缩数据,包括:对所述原始图片进行特征提取,得到所述原始图片的图像特征,所述图像特征为所述有损压缩数据。
在一种可能的实现方式中,所述对所述原始图片进行有损压缩处理得到所述有损压缩数据,包括:使用图像下采样方法对所述原始图片进行下采样得到所述下采样图片,所述下采样图片为所述有损压缩数据。
在一种可能的实现方式中,所述有损压缩数据为所述原始图片的下采样图片的存储地址信息;所述获取所述原始图片的参考图片的量化后的DCT系数块,包括:根据所述下采样图片的存储地址信息,得到所述下采样图片,对所述下采样图片进行图像重建处理得到重建图片,对所述重建图片进行解码得到所述参考图片的量化后的DCT系数块,所述重建图片为所述参考图片。
为了提升图片浏览速度,很多场景下网络中都会生成并保存图片的下采样图片,在用户浏览图片时,先显示图片的下采样图片,该方式中利用已有的下采样图片对原始图片进行无损压缩,使得设备不需要保存下采样图片,进一步提高了压缩率,并且节省了编码端进行有损压缩的计算量。
在一种可能的实现方式中,所述有损压缩数据为所述原始图片的图像特征的存储地址信息;所述获取所述原始图片的参考图片的量化后的DCT系数块,包括:根据所述原始图片的图像特征的存储地址信息,得到所述原始图片的图像特征,对所述原始图片的图像特征进行图像重建处理得到重建图片,所述重建图片为所述参考图片,对所述重建图片进行解码得到所述参考图片的量化后的DCT系数块。
原始图片的图像特征与下采样图片的作用一样,也是用于图片的快速浏览,该方式中利用网络中已有的原始图片的图像特征对原始图片进行有损压缩,使得设备不需要保存原始图片的图像特征,进一步提高了压缩率,并且节省了编码端进行有损压缩的计算量。
在一种可能的实现方式中,所述获取所述原始图片的有损压缩数据,包括:获取所述原始图片所属的视频流,根据所述原始图片的生成时间,从所述视频流中确定所述参考图片,所述有损压缩数据为所述参考图片的存储地址信息。所述获取所述原始图片的参考图片的量化后的DCT系数块,包括:对所述参考图片进行解码,得到所述参考图片的量化后的DCT系数块。
该方式中采用了帧间压缩,利用视频流中连续的多张图片进行图片压缩,通常情况下,在视频监控等场景下,视频流中连续的多张图片相似度很高,因此,可以将相邻时间生成的图片作为参考图片对另一张图片进行压缩。在视频监控场景下,通常需要存储大量的视频数据,而通过本申请的图片压缩方法,大大减少了视频存储占用的存储资源。
在一种可能的实现方式中,所述获取所述原始图片的有损压缩数据,包括:从所述原始图片所属的图片分组中选择一张图片作为所述参考图片,所述有损压缩数据为所述参考图片的存储地址信息,所述图片分组是根据图片的相似度进行分组得到,所述图片分组中的图片的相似度大于预设阈值。所述获取所述原始图片的参考图片的量化后的DCT系数块,包括:对所述参考图片进行解码,得到所述参考图片的量化后的DCT系数块。
在网络中存储有海量的图片资源,大量图片资源中可能存在相似的图片,因此,可以利用图片之间相似性进行图片压缩,从图片资源中获取待压缩的原始图片的相似图片作为参考图片,根据参考图片对原始图片进行压缩。
在一种可能的实现方式中,当只生成一个码流文件时,所述码流文件中还包括文件头,所述文件头中包括所述无损压缩数据的地址偏移和所述无损压缩数据的地址偏移。
在一种可能的实现方式中,所述一个或多个码流文件为两个,一个码流文件中包括所述无损压缩数据,另一个码流文件中包括所述有损压缩数据。
在一种可能的实现方式中,所述方法还包括:在所述码流文件满足删除条件时,只删除所述码流文件中的所述无损压缩数据。
可以在生成码流文件一段时间之后,如果应用环境允许有损压缩原始图片时,可以删除码流文件中的无损压缩数据,只保留有损压缩数据,根据有损压缩数据进行图片重建,根据重建图片恢复得到有损的原始图片。该方式从无损压缩转换为有损压缩的方式十分简单,转换效率高。而现有技术中,将无损压缩转换为有损压缩时,需要先将无损压缩数据解码至原文件,再使用有损压缩方法保存为有损压缩数据,转换过程复杂,转换时间长。
第二方面,本申请实施例提供一种图片解压缩方法,解码端接收编码端发送的一个或者多个码流文件,所述一个或多个码流文件中包括原始图片的无损压缩数据和有损压缩数据;从所述一个或者多个码流文件中获取所述有损压缩数据和所述无损压缩数据;根据所述有损压缩数据,获取所述原始图片的参考图片的量化后的离散余弦变换DCT系数块,所述参考图片为跟所述原始图片相似的图片;根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据进行解码,得到所述原始图片的量化后的DCT系数块;对所述原始图片的量化后的DCT系数块进行编码得到所述原始图片。
其中,所述原始图片可以为JPEG格式的图片,所述解码采用的解码方式可以为哈夫曼解码。
编码端通过将参考图片解码至频域,使用参考图片的量化后的DCT系数对原始图片的DCT系数进行块进行解码,解码过程为无损解码,从而提高了图片的压缩率。
在一种可能的实现方式中,所述根据所述有损压缩数据,获取所述原始图片的参考图片的量化后的DCT系数块,包括:对所述有损压缩数据进行图像重建处理得到重建图片,所述重建图片为所述参考图片,对所述重建图片进行解码得到所述参考图片的量化后的DCT系数块。
在一种可能的实现方式中,当所述有损压缩数据为所述原始图片的下采样图片的存储地址信息时,所述根据所述有损压缩数据,获取所述原始图片的参考图片的量化后的DCT系数块,包括:根据所述下采样图片的存储地址信息,获取到所述下采样图片,对所述下采样图片进行图像重建处理得到重建图片,所述重建图片为所述参考图片,对所述重建图片进行解码得到所述参考图片的量化后的DCT系数块。
在一种可能的实现方式中,当所述有损压缩数据为所述原始图片的图像特征的存储地址信息时,所述根据所述有损压缩数据,获取所述原始图片的参考图片的量化后的DCT系数块,包括:根据所述原始图片的图像特征的存储地址信息,获取所述原始图片的图像特征,对所述原始图片的图像特征进行图像重建处理得到重建图片,所述重建图片为所述参考图片,对所述重建图片进行解码得到所述参考图片的量化后的DCT系数块。
在一种可能的实现方式中,当所述有损压缩数据为所述参考图片的存储地址信息,所述参考图片的大小与所述原始图片相同;所述根据所述有损压缩数据,获取所述原始图片的参考图片的量化后的DCT系数块,包括:根据所述参考图片的存储地址信息,获取所述参考图片,对所述参考图片进行解码得到所述参考图片的量化后的DCT系数块。
在一种可能的实现方式中,所述参考图片为所述原始图片所属视频流中与所述原始图片生成时间相邻的图片;或者,所述参考图片与所述原始图片属于同一个图片分组,所述图片分组是根据图片的相似度进行分组得到,所述图片分组中的图片的相似度大于预设阈值。
在一种可能的实现方式中,所述根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据进行解码,得到所述原始图片的量化后的DCT系数块,包括:根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据中包括的所述原始图片的量化后的DCT系数块中的每个DCT系数对应的编码结果进行第一无损解码子处理,得到所述每个DCT系数;根据所述每个DCT系数得到所述原始图片的量化后的DCT系数块。
其中,所述第一无损解码子处理,包括:根据所述参考图片的量化后的DCT系数块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,所述目标DCT系数为所述原始图片中与所述当前DCT系数相同位置的DCT系数,根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表,根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的编码结果进行算术解码,得到所述目标DCT系数。
在一种可能的实现方式中,所述根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据进行解码,得到所述原始图片的量化后的DCT系数块,包括:根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据中包括的所述原始图片的量化后的DCT系数块中的每个DCT系数对应的编码结果进行第二无损解码子处理,得到所述每个DCT系数,根据所述每个DCT系数得到所述原始图片的量化后的DCT系数块。
其中,所述第二无损解码子处理,包括:根据所述参考图片的量化后的DCT系数块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,所述目标DCT系数为所述原始图片中与所述当前预测DCT系数相同位置的DCT系数,根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表,根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的差值的编码结果进行算术解码,得到所述目标DCT系数对应的差值,所述目标DCT系数对应的差值为所述目标DCT系数与所述当前DCT系数的差值,将所述目标DCT系数对应的差值与所述当前DCT系数相加,得到所述目标DCT系数。
在一种可能的实现方式中,所述根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据进行解码,得到所述原始图片的量化后的DCT系数块,包括:对所述参考图片的量化后的DCT系数块采用与编码端相同的划分方式进行区域划分,得到第三类子块和第四类子块;根据所述第三类子块中的DCT系数块,对所述无损压缩数据中包括的第一类子块中的每个DCT系数对应的编码结果进行第二无损解码子处理,得到所述第一类子块中的每个DCT系数,其中,所述第一类子块为所述原始图片的量化后的DCT系数块中与所述第三类子块相同位置的DCT系数块;根据所述第四类子块中的DCT系数块,对所述无损压缩数据中包括的第二类子块中的每个DCT系数对应的编码结果进行第一无损解码子处理,得到所述第二类子块中的每个DCT系数,其中,所述第二类子块为所述原始图片的量化后的DCT系数块中与所述第四类子块相同位置的DCT系数块;根据所述第一类子块中的每个DCT系数和所述第二类子块中的每个DCT系数得到所述原始图片的量化后的DCT系数块。
其中,所述第二无损解码子处理,包括:根据所述第三类子块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,所述目标DCT系数为所述第一类子块中与所述当前DCT系数相同位置的DCT系数;根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表;根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的差值的编码结果进行算术解码,得到所述目标DCT系数对应的差值,所述目标DCT系数对应的差值为所述目标DCT系数与所述当前DCT系数的差值;将所述目标DCT系数对应的差值与所述当前DCT系数相加,得到所述目标DCT系数。
其中,所述第一无损解码子处理,包括:根据所述第四类子块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,所述目标DCT系数为所述第二类子块中与所述当前DCT系数相同位置的DCT系数;根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表;根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数的编码结果进行算术解码,得到所述目标DCT系数。
在一种可能的实现方式中,所述根据所述参考图片的量化后的DCT系数块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,包括:确定所述当前DCT系数为所述目标DCT系数的概率表参数。所述根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表,包括:根据所述当前DCT系数查询得到所述目标DCT系数对应的概率表。
在一种可能的实现方式中,所述根据所述第三类子块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,包括:确定所述当前DCT系数为所述目标DCT系数的概率表参数。所述根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表,包括:根据所述当前DCT系数查询得到所述目标DCT系数对应的概率表。
在一种可能的实现方式中,所述根据所述第四类子块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,包括:确定所述当前DCT系数为所述目标DCT系数的概率表参数。所述根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表,包括:根据所述当前DCT系数查询得到所述目标DCT系数对应的概率表。
在一种可能的实现方式中,所述根据所述参考图片的量化后的DCT系数块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,包括:对所述当前DCT系数进行哥伦布编码,得到所述当前DCT系数对应的哥伦布码流,所述当前DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值,根据所述当前DCT系数对应的哥伦布码流,确定所述目标DCT系数对应的哥伦布码流中每个比特位的概率表参数。所述根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表,包括:根据所述目标DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定所述每个比特位的概率表。根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数的编码结果进行算术解码,得到所述目标DCT系数,包括:根据所述目标DCT系数对应的哥伦布码流中每个比特位的概率表,对所述无损压缩数据中包括的所述目标DCT系数的编码结果进行算术解码,得到所述目标DCT系数。
在一种可能的实现方式中,所述根据所述参考图片的量化后的DCT系数块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,包括:对所述当前DCT系数进行哥伦布编码,得到所述当前DCT系数对应的哥伦布码流,所述当前DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值。所述根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表,包括:根据所述目标DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定所述每个比特位的概率表。所述根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的差值的编码结果进行算术解码,得到所述目标DCT系数对应的差值,包括:根据所述目标DCT系数对应的哥伦布码流中每个比特位的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的差值的编码结果进行算术解码,得到所述目标DCT系数对应的差值。
在一种可能的实现方式中,所述根据所述第三类子块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,包括:对所述当前DCT系数进行哥伦布编码,得到所述当前DCT系数对应的哥伦布码流,所述当前DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值。所述根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表,包括:根据所述目标DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定所述每个比特位的概率表。根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的差值的编码结果进行算术解码,得到所述目标DCT系数对应的差值,包括:根据所述目标DCT系数对应的哥伦布码流中每个比特位的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的差值的编码结果进行算术解码,得到所述目标DCT系数对应的差值。
在一种可能的实现方式中,所述根据所述第四类子块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,包括:对所述当前DCT系数进行哥伦布编码,得到所述当前DCT系数对应的哥伦布码流,所述当前DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值,根据所述当前DCT系数对应的哥伦布码流,确定所述目标DCT系数对应的哥伦布码流中每个比特位的概率表参数。所述根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表,包括:根据所述目标DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定所述每个比特位的概率表。根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数的编码结果进行算术解码,得到所述目标DCT系数,包括:根据所述目标DCT系数对应的哥伦布码流中每个比特位的概率表,对所述无损压缩数据中包括的所述目标DCT系数的编码结果进行算术解码,得到所述目标DCT系数。
在一种可能的实现方式中,所述目标DCT系数对应的哥伦布码流中包括目标码长、目标符号位和目标绝对值;所述目标码长中的每个比特位的概率表参数包括:所述预测码长、该DCT系数的位置信息以及该比特位的前一比特位值,其中,该比特位的前一比特位为与该比特位使用相同概率表的前一比特位;所述目标符号位的概率表参数包括所述预测符号位;所述目标绝对值中的每个比特位的概率表参数包括:所述预测绝对值、该DCT系数的位置信息以及该比特位的前一比特位值。
在一种可能的实现方式中,所述原始图片为联合摄像专家组JPEG格式的图片,对所述参考图片的DCT系数块采用与编码端相同的划分方式进行区域划分,得到第一类子块和第二类子块,包括:将所述参考图片的DCT系数块划分为四个子块:DC子块、7×1AC子块、1×7AC子块和7×7AC子块;确定所述DC子块、7×1AC子块和1×7AC子块为第一类子块,所述7×7AC子块为第二类子块。
在一种可能的实现方式中,当只接收到一个码流文件时,所述码流文件中还包括文件头,所述文件头中包括所述无损压缩数据的地址偏移和所述有损压缩数据的地址偏移。从所述码流文件中获取所述有损压缩数据和所述无损压缩数据,包括:从所述码流文件中解码得到所述文件头,根据所述无损压缩数据的地址偏移和所述有损压缩数据的地址偏移,从所述码流文件中解码得到所述有损压缩数据和所述无损压缩数据。
在一种可能的实现方式中,当接收到两个码流文件时,从所述码流文件中获取所述有损压缩数据和所述无损压缩数据,包括:分别从所述两个码流文件中解码得到所述有损压缩数据和所述无损压缩数据。
在一种可能的实现方式中,所述方法还包括:在所述码流文件满足删除条件时,只删除所述码流文件中的所述无损压缩数据。
根据本申请实施例第一方面的方法可由本申请实施例第三方面的装置执行。根据本申请实施例第一方面的方法的其它特征和实现方式直接取决于根据本申请实施例第三方面的装置的功能性及其不同实现方式。
根据本申请实施例第二方面的方法可由本申请实施例第四方面的装置执行。根据本申请实施例第二方面的方法的其它特征和实现方式直接取决于本申请实施例第四方面的装置的功能性及其不同实现方式。
第五方面,本申请实施例提供一种图像显示方法,所述方法应用在终端设备中,所述终端设备包括处理器、存储器和显示屏,所述存储器中存储有原始图片的一个或者多个码流文件,所述一个或多个码流文件中包括所述原始图片的无损压缩数据和有损压缩数据;所述处理器获取原始图片的下采样图片;所述显示屏显示所述下采样图片;所述处理器接收用户对所述下采样图片的查看指令,所述查看指令用于查看所述原始图片,采用本申请第二方面以及第二方面任一项可能的涉及所提供的图片解压缩方法对所述原始图片的无损压缩数据和有损压缩数据进行解压缩处理,得到所述原始图片;所述显示屏显示所述原始图片。
在一种可能的实现方式中,所述处理器在所述码流文件满足删除条件时,只删除所述码流文件中的所述无损压缩数据。
第六方面,本申请实施例提供一种编码设备,包括:编码器和存储器;
所述存储器用于存储计算机可执行指令,以使所述编码器执行所述计算机可执行指令实现第一方面以及第一方面任一可能的设计提供的方法。
第七方面,本申请实施例提供一种解码设备,包括:解码器和存储器;
所述存储器用于存储计算机可执行指令,以使所述解码器执行所述计算机可执行指令实现第二方面以及第二方面任一可能的设计提供的方法。
第八方面,本申请实施例提供一种图像处理设备,包括:编码器、解码器和存储器;
所述存储器用于存储计算机可执行指令,以使所述编码器执行所述计算机可执行指令实现第一方面以及第一方面任一可能的设计提供的方法,以及使所述解码器实现第二方面以及第二方面任一可能的设计提供的方法。
第九方面,本申请实施例提供一种计算机存储介质,包括:计算机可执行指令,所述计算机可执行指令用于实现第一方面以及第一方面任一可能的设计提供的方法,和/或实现第二方面以及第二方面任一可能的设计提供的方法。
第十方面,本申请涉及包括程序代码的计算机程序,所述程序代码在计算机上运行时执行根据第一方面以及第一方面任一可能的设计提供的方法,和/或执行根据第二方面以及第二方面任一可能的设计提供的方法。
在附图及以下说明中阐述一个或多个实施例的细节。其它特征、目的和优点通过说明书、附图以及权利要求是显而易见的。
附图说明
图1为本申请适用的一种图片压缩设备的结构示意图;
图2为本申请适用的另一种图片压缩设备的结构示意图;
图3为本申请实施例一提供的图片压缩方法的流程图;
图4为DCT系数块的一种示意图;
图5为原始图片和下采样图片的对比示意图;
图6为DCT系数块的一种划分示意图;
图7为算术编码的一种示意图;
图8为DCT系数对应的哥伦布编码的示意图;
图9为原始图片中的DCT系数块中包括的DCT系数的位置示意图;
图10为目标码长的概率表的确定方式的示意图;
图11为目标符号位的概率表的确定方式的示意图;
图12为目标绝对值的概率表的确定方式的示意图;
图13为本申请实施例二提供的图片解压缩方法的流程图;
图14为编码端的一种结构示意图;
图15为本申请实施例三提供的图片压缩方法的流程图;
图16为码流文件的一种示意图;
图17为解码端的一种结构示意图;
图18为本申请实施例四提供的图片压缩方法的流程图;
图19为编码端的另一种结构示意图;
图20为本申请实施例五提供的图片压缩方法的流程图;
图21为解码端的另一种结构示意图;
图22为本申请实施例六提供的图片解压缩方法的流程图;
图23为编码端的又一种结构示意图;
图24为本申请实施例七提供的图片压缩方法的流程图;
图25为解码端的又一种结构示意图;
图26为本申请实施例八提供的图片解压缩方法的流程图;
图27为本申请实施例提供的图像显示方法的流程图;
图28为本申请实施例十提供的图片压缩装置的一种结构示意图;
图29为本申请实施例十一提供的图片解压缩装置的一种结构示意图;
图30为本申请实施例的译码设备的一种实现方式的示意性框图。
具体实施方式
网络中海量图片的存储和传输占用了大量的存储资源和传输资源,尤其随着视频监控业务的普及,视频存储需要占用更大的存储空间。传统方案中,先对图片进行压缩后再存储或者传输,以减少图片占用的存储资源和传输资源,但是现有的图片压缩方法的压缩率较低,不能满足需求。
本申请实施例提供一种图片压缩方法,能够提高图片压缩率,本实施例的方法可以由编码端执行,编码端对图片进行压缩后再存储或者传输,解码端对编码端压缩后的图片进行解码恢复,得到原始图片。其中,编码端和解码端可以集成在图片压缩设备中,该图片压缩设备可以为具有图片存储和传输功能的任何电子设备,例如,手机、台式电脑、平板电脑、监控设备、存储服务器等。
图1为本申请适用的一种图片压缩设备的结构示意图,如图1所示,该图片压缩设备100包括:输入输出接口11、处理器12和存储器13。输入输出接口11和存储器13通过总线与处理器12连接并通信。
输入输出接口11用于与外部设备通信,例如,接收外部设备发送的数据,或者向外部设备发送数据。该输入输出接口可以包括天线、收发器、触摸屏、语音采集设备、摄像头、传感器、物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮等。
处理器12是图片压缩设备100的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器12是一个中央处理器(central processing unit,CPU),也可以是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digital signalprocessor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)。
处理器12可以通过运行或执行存储在存储器13内的软件程序,以及调用存储在存储器13内的数据,执行图片压缩设备100的各种功能。作为一种实施例,处理器12可以包括一个或多个CPU。
如图1所示,本申请实施例中,处理器12中包括编码端和解码端,编码端和解码端用于执行本申请实施例所描述的图片压缩方法。
存储器13可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器13可以是独立存在,通过通信总线与处理器12相连接。存储器13也可以和处理器12集成在一起。
本申请实施例中,所述存储器13用于存储执行本申请方案的软件程序,并由处理器12中的图片压缩引擎121来控制执行,以实现下述方法实施例提供的方法。
图2为本申请适用的另一种图片压缩设备的结构示意图,如图2所示,该图片压缩设备200包括:输入输出接口21、处理器22、加速器23和存储器24。输入输出接口21、加速器23和存储器24通过总线与处理器22连接并通信。
输入输出接口21和存储器24的作用与图1中输入输出接口11和存储器13的作用和具体形式类似,这里不再赘述。
与图1所示图片压缩设备100不同的是,本申请实施例中,图片压缩设备200多了器件加速器23,加速器23独立于处理器22运行,加速器23能够降低处理器22的负载。
在加速器23中引入了图片压缩引擎231,图片压缩引擎231的作用与图1所示图片压缩引擎121的作用相同,都是用于执行本申请实施例所描述的图片压缩方法。通过将图片压缩引擎231设置在加速器23中,减轻了处理器22的负载。
本申请实施例的图片压缩方法适用于JEPG格式的图片,但不限于JEPG格式,还可以适用于便携式网络图形(Portable Network Graphics,PNG)格式或者图片互换格式(Graphics Interchange Format,GIF)格式和位图(bit map,BMP)格式等。
以下对本申请实施例涉及的一些术语进行定义:
JPEG无损再压缩:对JPEG格式的原始图片(也称为原图)进行压缩,得到压缩文件,解码压缩文件能无损恢复原始JPEG图片。
空域:由图片像素组成的空间。在图片空间中以长度(距离)为自变量直接对像素值进行处理称为空间域处理。
离散余弦变换(Discrete cosine transform,DCT)域:也称频域,由图片在空域上经过DCT得到。
量化:将某个数值除以量化系数,舍弃余数,所得(商)取整即为量化值,为不可逆过程。
帧内:每张图片称为一帧,帧内是指同一张图片内。
帧间:每张图片称为一帧,帧间是指两张或多张图片间。
压缩率:原图大小与其被压缩后的文件大小的差值除以原图大小。
有损压缩:压缩过程会损失原始图片的部分信息,解压缩后得到的图片和原始图片相似但不相同。本申请实施例中,将通过压缩处理后无法恢复原始图片,只能恢复相似图片的压缩方法统称为有损压缩。
常见的有损压缩处理方法包括:(1)使用有损压缩算法对原始图片进行压缩,常见的有损压缩算法包括但不限于:webp、H.265、基于神经网络的自动编码器等压缩算法。(2)使用图像下采样方法对原始图片进行下采样。
图像下采样:主要目的是缩小图像,生成图像对应的缩略图。由于图像下采样后图像的信息得到了压缩,并且后续可以通过上采样恢复到和原始图片尺寸相一致的近似图像,因此,本申请实施例中将图像下采样归为有损压缩。
例如,对于一幅尺寸为M*N的图像I,对其进行s倍下采样,即得到(M/s)*(N/s)尺寸的低分辨率图像,当然s应该是M和N的公约数才行。常用的下采样方法包括:最近邻插值,双三次插值(Bicubic interpolation),双线性插值,均值插值,中值插值等方法。
无损压缩:压缩过程不损失原始图片的任何信息,解压缩处理后得到的图片和原始图片相同。本申请实施例中,将通过压缩处理后能够恢复原始图片的压缩方法统称为有损压缩。
图像重建:是指能根据图像特征或者低分辨率的小图(缩略图)产生高质量、高分辨率图像的过程,通过图像重建处理得到的图像称为重建图像,重建图像的大小与原始图片的大小相同。
常见的图像重建处理方法包括:(1)通过超分辨率重建算法对图像进行重建得到重建图像,超分辨重建通常基于神经网络,将一张低分辨率的小图变为一张高分辨率的大图;(2)通过图像上采样方法对图像进行上采样,得到重建图像。
图像上采样:主要目的是放大图像,从而得到更高分辨率的图像。由于图像上采样能够恢复到和原始图片尺寸相同的图像,因此,本申请实施例中将图像上采样归为图像重建。
可以采用内插值方法进行上采样,即在原有图像像素的基础上在像素点之间采用合适的插值算法插入新的元素。插值方法包括最近邻插值,双线性插值,均值插值,中值插值等方法。
算术编码/解码:算术编码是一种熵编码的方法,它根据输入符号在码流中出现的位置和统计概率对其进行压缩编码。符号出现的概率一般采用概率表计算,概率表根据符号类型进行分类,每个概率表通过累计同类型符号在已编码数值中出现的频率从而得到概率。算术编码器就像一个符号输入的压缩管道,每输入一个符号,就会编码生成一个数值,直到所有符号输入完毕,生成最终数值,以达到压缩输入符号的目的。一般根据周围信息提前预测待编码符号的值,根据预测值选择相应类型的概率表(即预测值作为概率表的分类参数),预测越准确,概率表中符号值越接近和集中,对应的熵越小(熵表示数据的无序程度,数据越集中分布熵越小,数据冗余越小),编码概率值所需的比特数越少,因此压缩率越大。算术解码是上述编码的逆过程。
概率表:也称累计计数表,用于算术编解码时的概率累计,主要有4个参数:二进制比特1的计数、比特0的计数、比特1的概率值、比特0的概率值。开始编码前,比特1和比特0的计数都为1,两者的概率都为0.5;开始编码后,每次遇到一个单比特(1或者0),使其计数递增,概率值也相应地更新,在编码完该比特后进行更新计数和概率值。例如在编码过程中的某时刻遇到比特1,此时已有2个比特1和2个比特0对应该概率表,则编码该比特使用到的概率值就为0.5;编码完该比特1后,概率表内比特1的概率值就更新为0.6,比特0的概率值变为0.4。解码时,用于解码的概率表在解码出比特之后才更新计数和概率。
哈夫曼(Huffman)编码/解码:Huffman编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估源符号出现概率的方法得到的,出现概率高的字母使用较短的编码,反之出现概率低的则使用较长的编码。Huffman解码是上述编码的逆过程。
哥伦布编码:一种变长编码格式,将系数分为三个部分来表示:符号位、码长和绝对值。符号位表示该系数的正负,若系数≤0则用0表示,若系数>0则用1表示;码长为该系数对应二进制数(不含符号位)的位长,用个数等于位长的1个或多个1加上最后的1个0来表示;绝对值为系数对应二进制数(不含符号位)剔除最高位后对应的系数值。如系数值-8,符号位为0,码长为4,绝对值为0,对应的编码格式表示分别为0、11110、和000,符号位和绝对值即为一般的十进制到二进制的转换,而码长则由1和0组成,1的个数为码长的数值,码长部分末尾跟一个0表示该部分的结束。最后将三个部分按照“码长+符号位+绝对值”的格式合并成哥伦布编码码流:111100000。该格式常作为十进制系数值的二值化,再送入算术编码器等熵编码算法中编码。
图像特征:包括图像的颜色特征、纹理特征、形状特征和空间关系特征中等。颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。纹理特征也是一种全局特征,它也描述了图像或图像区域所对应景物的表面性质。形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征,图像的轮廓特征主要针对物体的外边界,而图像的区域特征则关系到整个形状区域。空间关系特征,是指图像中分割出来的多个目标之间的相互的空间位置或相对方向关系,这些关系也可分为连接/邻接关系、交叠/重叠关系和包含/包容关系等。另外,在深度学习算法中,对图像进行卷积、池化等处理得到的数据也可称为图像特征。
下述实施例中涉及的对图片进行解码是指从图片的像素到DCT系数的转换过程,解码前的数据为图片的像素,解码后的数据为DCT系数,即将图片从空域转换为频域,空域由图片的像素组成,频域为量化后的DCT系数。解码方式例如为哈夫曼解码。需要明确的是,本申请实施例中涉及的解码不同于通信领域中的解码,通信领域中的解码是指接收端将接收到的符号或代码还原为信息的过程,与编码过程相对应,例如,把数码还原成它所代表的内容的过程,或将电脉冲信号、光信号、无线电波等转换成它所代表的信息、数据等的过程。
图3为本申请实施例一提供的图片压缩方法的流程图,本实施例的方法由编码端执行,如图3所示,本实施例提供的方法包括以下步骤:
S101、对原始图片进行解码得到原始图片的量化后的DCT系数块。
原始图片是指未经过压缩处理的图片,编码端对不同格式的图片采用不同的解码方式得到该原始图片的量化后的DCT系数块。例如,编码端对GPEG格式的原始图片进行Huffman解码得到原始图片的量化后的DCT系数块。
对其他格式的图片可以直接通过对应的解码方式解码得到量化后的DCT系数块,也可以先将其他格式的图片先转换为GPEG格式的图片,对转换后得到的GPEG格式图片进行Huffman解码得到原始图片的量化后的DCT系数块。
示例性的,以原始图片为GPEG格式为例,编码端先将原始图片以8×8像素为单位拆分成一系列像素块,然后依次对每个像素块进行DCT变换,即将原始图片从空域转换至频域,空域的基本单元是像素块,频域基本单元是DCT系数块,每个DCT系数块由8×8=64个DCT系数组成。
需要明确的是,本申请实施例中的DCT系数块均是值量化后的DCT系数块,量化后的DCT系数块中的每个DCT系数均为整数,量化是一个不可逆过程。
图4为DCT系数块的一种示意图,如图4所示,该DCT系数块包括64个DCT系数,64个DCT系数组成一个8×8的块。DCT系数分为1个DC系数和63个AC系数,DC系数为DCT系数块中第一个DCT系数,其余63个DCT系数为AC系数,从左上角开始,岳接近DCT系数块的右下角,AC系数频率越高,高频AC系数对应物体边缘等细节信息。
S102、获取原始图片的有损压缩数据。
有损压缩会损失原始图片的部分信息,解码端可以通过对有损压缩数据进行解压缩处理得到恢复图片,由于压缩损失了原始图片的信息,因此,无法恢复到与原始图片形同的图片。本申请实施例中,解码端可以通过如下几种方式获取到有损压缩数据。
方式一:使用有损压缩算法对原始图片进行压缩,得到原始图片的有损压缩数据。
常用有损压缩算法包括但不限于:webp、H.265、基于神经网络的自动编码器等压缩算法。其中,Webp是谷歌研发的一种新的图像格式,能够同时提供有损压缩与无损压缩的图片文件格式。H.265是一种视频编解码标准,属于有损压缩。自动编码器是一种数据压缩算法,使用神经网络提取图片中的特征实现降维以压缩数据,其中数据的压缩函数是数据相关的、有损的、从样本中自动学习的。
方式二:使用图像下采样方法对原始图片进行下采样得到下采样图片,将下采样图片作为原始图片的有损压缩数据。
下采样可以认为是一种有损压缩方式,常用的下采样方法包括但不限于:双三次插值、双线性插值、最邻近插值等下采样方法。
下采样图片主要用于图片的快速浏览,通过对原始图片进行下采样得到的下采样图片的尺寸小于原始图片的尺寸,因此,也将下采样图片称为小图或者缩略图,下采样图片的尺寸可以为原始图片尺寸的1/2、1/4或者1/8等,优选的,下采样图片的尺寸为原始图片的尺寸的1/4。
图5为原始图片和下采样图片的对比示意图,如图5所示,下采样图片的尺寸小于原始图片的尺寸。
方式三:使用图像下采样方法对原始图片进行下采样得到下采样图片,使用有损压缩算法或者无损压缩算法,对下采样图片进行压缩,得到原始图片的有损压缩数据。
该方式中使用的有损压缩算法和下采样方法参照方式一和方式二的描述。该方式中还可以采用无损压缩算法对下采样图片进行无损压缩。
方式四:对原始图片进行特征提取,得到原始图片的图像特征,该图像特征为原始图片的有损压缩数据。
特征提取指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征提取的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。
图像特征提取的主要目的是降维,特征抽取的主要思想是将原始图片投影到一个低维特征空间,得到最能反应原始图片本质或进行图像区分的低维样本特征。原始图片的图像特征包括图像的颜色特征、纹理特征、形状特征和空间关系特征中的一个或者多个,编码端可以采用神经网络算法从原始图片中提取原始图片的图像特征,在深度学习算法中,对图像进行卷积、池化等处理得到的数据也可称为图像特征。
方式五:原始图片的有损压缩数据为原始图片的下采样图片的存储地址信息。
该方式不同于前述压缩方式一至压缩方式四,压缩方式一至压缩方式四中,编码端实时的对原始图片进行有损压缩处理得到有损压缩数据。该方式中,相当于对原始图片预先进行了压缩,得到原始图片的下采样图片,本步骤中直接使用预先压缩得到的压缩结果。为了提升图片浏览速度,很多场景下都会生成并保存图片的下采样图片,该方式中不利用已有的下采样图片,节省了编码端进行有损压缩的计算量。
压缩方式六:原始图片的有损压缩数据为原始图片的图像特征的存储地址信息。
原始图片的图像特征与下采样图片的作用一样,也是用于图片的快速浏览,该方式中预先提取并存储了原始图片的图像特征,本步骤中直接使用原始图片的图像特征的存储地址信息。
压缩方式七:获取原始图片所属的视频流,根据原始图片的生成时间,从视频流中确定参考图片,参考图片的地址信息为有损压缩数据。
通常情况下,连续拍摄到的图集中,图片间的相似度很高。例如,在视频监控场景中,相近时间生成的图片相似度很高,因此,可以根据图片的生成时间(或者称为创建时间)从视频中选择与原始图片相似的图片作为参考图片。例如,将视频中在时间上与原始图片相邻的图片作为参考图片。
可选的,一些场景中,图片的文件名中包含时间信息,可以根据文件名中包含的时间信息选择参考图片,图片在存储时可以以图片文件的形式存储,因此图片的文件名是指图片文件的文件名。
压缩方式八:从原始图片所属的图片分组中选择一张图片作为参考图片,该参考图片的地址信息为原始图片的有损压缩数据,图片分组是根据图片的相似度进行分组得到,图片分组中的图片的相似度大于预设阈值。
该方式中,可以对图片进行特征提取,按照相似度对图片进行分类,得到多个图片分组,将与原始图片属于同一图片分组的图片作为参考图片。
图片相似度计算主要用于对于两幅图片之间内容的相似程度进行打分,根据分数的高低来判断图像内容的相近程度,通常情况下分数越高,两张图片越相似。常用的计算图像相似度的方法包括:峰值信噪比(peak signalto noise ratio,PSNR)和结构相似性(structural similarity,SSIM),尺度不变特征转换(Scale-invariant featuretransform,SIFT)算法、感知哈希算法、直方图匹配法等。
S103、获取原始图片的参考图片的量化后的DCT系数块,参考图片为跟原始图片相似的图片。
参考图片为与原始图片相似的图片,参考图片可以为原始图片的下采样图片、重建图片、与原始图片的相似度大于预设阈值的图片或者视频中与原始图片相邻的图片,参考图片的大小与原始图片的大小相同。
针对步骤S102的压缩方式一至压缩方式四,编码端可以采取如下方式获取原始图片的参考图片的量化后的DCT系数块:对有损压缩数据进行图像重建处理得到重建图片,该重建图片为原始图片的参考图片,对重建图片进行解码得到参考图片的量化后的DCT系数块。
当有损压缩数据为下采样图片时,可以采用超分辨率重建或者上采样方法对下采样图片进行重建,得到重建图片。当有损压缩数据为图像特征、采样有损压缩算法压缩得到的数据时采用超分辨率重建得到重建图片。
针对步骤S102的压缩方式五,编码端可以采取如下方式获取原始图片的参考图片的量化后的DCT系数块:根据原始图片的下采样图片的存储地址信息,查询该下采样图片,对该下采样图片进行图像重建处理得到重建图片,重建图片为原始图片的参考图片,对重建图片进行解码得到参考图片的量化后的DCT系数块。
针对步骤S102的压缩方式六,编码端可以采取如下方式获取原始图片的参考图片的量化后的DCT系数块:根据原始图片的图像特征的存储地址信息,查询原始图片的图像特征,对原始图片的图像特征进行图像重建处理得到重建图片,重建图片为参考图片,对重建图片进行解码得到参考图片的量化后的DCT系数块。
步骤S102中的方式七和方式八中不需要图像重建就能够直接获取到参考图片,编码端在确定原始图片的参考图片之后,直接对参考图片进行解码,得到参考图片的量化后的DCT系数块。
S104、根据参考图片的量化后的DCT系数块,对原始图片的量化后的DCT系数块进行无损压缩,得到原始图片的无损压缩数据。
本实施例中,编码端可以通过如下三种编码方式对原始图片的量化后的DCT系数块进行无损压缩:
编码方式一、根据参考图片的量化后的DCT系数块,对原始图片的量化后的DCT系数块中的每个DCT系数进行第一无损压缩子处理,得到原始图片中的每个DCT系数对应的无损压缩子数据,根据原始图片中的每个DCT系数对应的无损压缩子数据得到原始图片的无损压缩数据。
其中,第一无损压缩子处理包括:根据原始图片的量化后的DCT系数块中的当前DCT系数块对应的预测DCT系数确定该当前DCT系数的概率表参数,其中,该预测DCT系数为参考图片的量化后的DCT系数块中与该当前DCT系数的位置相同的DCT系数,根据该当前DCT系数的概率表参数,确定该当前DCT系数对应的概率表。根据该当前DCT系数对应的概率表,对该当前DCT系数进行算术编码,该当前DCT系数对应的编码结果为该当前DCT系数对应的无损压缩子数据。
原始图片的量化后的DCT系数块的个数和大小,与参考图片的量化后的DCT系数块的个数和大小相同,例如,原始图片的量化后的DCT系数块和参考图片的量化后的DCT系数块均包括64个DCT系数,原始图片的量化后的DCT系数块和参考图片的量化后的DCT系数块包括的DCT系数的排列方式如图4所示,如果对两个DCT系数块包括的DCT系数进行标号,编号方式均为从左到右、从上到下依次为0-63,那么取编号相同的DCT系数即为位置相同的DCT系数。
编码端将原始图片的量化后的DCT系数块中的多个DCT系数对应的编码结果按照预设顺序组成原始图片的无损压缩数据。原始图片的无损压缩数据中的包括的各DCT系数对应的编码结果按照预设顺序排列,各DCT系数对应的编码结果可以按照编码的前后顺序排列,也可以不按照编码的前后顺序排列,编码端还可以对DCT系数块进行划分,将划分得到的各个子块对应的编码结果按照预设的顺序排列。
图6为DCT系数块的一种划分示意图,如图6所示,将参考图片的DCT系数块划分为四个子块:DC子块、7×1AC子块、1×7AC子块和7×7AC子块。针对图6所示的DCT系数块,该预设顺序可以为:7×1AC系数的编码结果、1×7AC系数的编码结果、7×7AC系数的编码结果和DC系数的编码结果,其中,各个子块内的DCT系数的编码结果按照从左到右从上到下的顺序排列。这里只是举例说明,四个子块的顺序可以任意调换。
编码方式二,根据参考图片的量化后的DCT系数块,对原始图片的量化后的DCT系数块中的每个DCT系数进行第二无损压缩子处理,得到原始图片中的每个DCT系数对应的无损压缩子数据,根据原始图片中的每个DCT系数对应的无损压缩子数据得到原始图片的无损压缩数据。
其中,该第二无损压缩子处理包括:根据原始图片的DCT系数块中的当前DCT系数对应的预测DCT系数确定该当前DCT系数的概率表参数,其中,预测DCT系数为参考图片的量化后的DCT系数块中与该当前DCT系数的位置相同的DCT系数。根据该当前DCT系数的概率表参数,确定该当前DCT系数对应的概率表,根据该当前DCT系数对应的概率表,对该当前DCT系数进行算术编码,该当前DCT系数对应的编码结果为该当前DCT系数对应的无损压缩子数据。
编码端将原始图片的量化后的DCT系数块中的多个DCT系数对应的编码结果按照预设顺序组成原始图片的无损压缩数据。
编码方式三、对原始图片的量化后的DCT系数块采用第一划分方式进行区域划分,得到第一类子块和第二类子块,对参考图片的量化后的DCT系数块采用该第一划分方式进行区域划分,得到第三类子块和第四类子块。即原始图片和参考图片采用相同的划分方式,相应的,第三类子块在参考图片中的位置与第一类子块在所述原始图片中的位置相同,第四类子块在参考图片中的位置与第二类子块在所述原始图片中的位置相同。
根据第三类子块,对第一类子块中的每个DCT系数进行第二无损压缩子处理,得到第一类子块中的每个DCT系数对应的无损压缩子数据,根据第四类子块,对第二类子块中的每个DCT系数进行第一无损压缩子处理,得到第二类子块中的每个DCT系数对应的无损压缩子数据,根据第一类子块中的每个DCT系数对应的无损压缩子数据,以及第二类子块中的每个DCT系数对应的无损压缩子数据,得到原始图片的无损压缩数据。
编码方式三为编码方式一和编码方式二的结合,即对原始图片的DCT系数块中的部分DCT系数采用编码方式一进行算术编码,对其余DCT系数采用编码方式二进行算术编码。
本实施例中,不对第一划分方式进行限定,第一类子块和第二类子块中包括的DCT系数的个数可以相同,也可以不同。第一类子块中包括的DCT系数的位置可以相连,也可以不相连。同样,第二类子块中包括的DCT系数的位置可以相连,也可以不相连。例如,图6所示DCT系数块中,将DC子块、7×1AC子块和1×7AC子块确定为第一类子块,将7×7AC子块确定为第二类子块。
上述三种编码方式中,概率表参数用于查询概率表,示例性的,当前DCT系数的概率表参数可以为概率表的索引,通过概率表的索引能够找到对应的概率表,不同概率表对应的概率表参数不同,通过概率表参数能够唯一找到一个概率表。可以理解,概率表参数还可以是其他能够用于查询概率表的参数,本实施例不对此进行限制。
在上述任意一种编码方式三中,可以通过如下方式确定当前DCT系数的概率表参数:将参考图片的量化后的DCT系数块中与当前DCT系数位置相同的预测DCT系数作为当前DCT系数的概率表参数。
图7为算术编码的一种示意图,如图7所示,根据参考图片中的DCT系数确定原始图片中DCT系数的概率表参数,不同的概率表参数对应不同的概率表,在获取到概率表之后,编码端的算数编码器根据概率表计算原始图片的DCT系数的概率,算数编码器根据原始图片的DCT系数的概率对原始图片的DCT系数进行算术编码,得到码流。
在上述任意一种编码方式三中,还可以通过如下方式确定当前DCT系数的概率表参数:对预测DCT系数进行哥伦布编码,得到预测DCT系数对应的哥伦布码流,预测DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值。对当前DCT系数进行哥伦布编码,得到当前DCT系数对应的哥伦布码流,当前DCT系数对应的哥伦布码流包括目标码长、目标符号位和目标绝对值。根据预测DCT系数对应的哥伦布码流,确定当前DCT系数对应的哥伦布码流中每个比特位的概率表参数。
图8为DCT系数对应的哥伦布编码的示意图,如图8所示,对任意一个DCT系数进行哥伦布编码得到的哥伦布码流,哥伦布码流包括符号位、码长和绝对值。以DCT系数为-8为例,符号位为0,码长为4,绝对值为0,将三个部分按照“码长+符号位+绝对位”的格式合并成哥伦布码流:111100000。
本实施例中,编码端先对参考图片中的预测DCT系数进行哥伦布编码,得到预测DCT系数对应的哥伦布码流,该预测DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值,进而根据该预测DCT系数对应的哥伦布码流,确定原始图片中与该预测DCT系数相同位置的当前DCT系数对应的哥伦布码流中每个比特位的概率表参数。然后根据当前DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定每个比特位的概率表,根据每个比特位的概率表,对对应比特位进行算术编码。
当前DCT系数对应的哥伦布码流中不同比特位的概率表参数不同,且不同比特位的概率表参数的确定方式不同。可选的,目标码长中的每个比特位的概率表参数包括:预测码长、当前DCT系数的位置信息以及该比特位的前一比特位值。目标符号位的概率表参数包括预测符号位。目标绝对值中的每个比特位的概率表参数包括:预测绝对值、目标DCT系数的位置信息以及该比特位的前一比特位值。
其中,该比特位的前一比特位为与该比特位使用相同概率表的前一比特位,并不是编码顺序中该比特位的前一编码比特位。假设目标DCT系数对应的哥伦布码流为111010100,在编码时按照先后顺序依次进行编码,假设第1个比特位“1”使用的概率表为概率表1,第2个比特位“1”使用的概率表为概率表2,第3个比特位“1”使用的概率表为概率表3,第4个比特位“0”使用的概率表为概率表1,那么第4个比特位“0”的前一比特位为第一个比特位“1”,其中,第4个比特位“0”和第1个比特位“1”使用相同的概率表。
当前DCT系数的位置信息是指当前DCT在原始图片的DCT系数块中的位置信息,当前DCT系数的位置信息也称为zigzag位置。图9为原始图片中的DCT系数块中包括的DCT系数的位置示意图,如图9所示,当前DCT系数的位置信息可以为位置的编号。
图10为目标码长的概率表的确定方式的示意图,如图10所示,目标码长通常包括多个比特位,需要确定目标码长中每个比特位的概率表,例如,目标码长共有3个比特位,则需要分别确定3个比特位的概率表。在确定目标码长中的当前比特位的概率表时,将预测DCT系数对应的哥伦布编码的预测码长、当前DCT系数的位置信息以及当前比特位的前一比特位值作为目标码长中当前比特位的概率表参数,根据当前比特位的概率表参数查询得到当前比特位对应的概率表。
图11为目标符号位的概率表的确定方式的示意图,如图11所示,在确定目标符号位的概率表时,将预测DCT系数对应的哥伦布编码的预测符号位作为目标符号位的概率表参数,根据目标符号位的概率表参数查询得到目标符号位对应的概率表。目标符号位的取值为0或1,0和1对应的概率表不同。
图12为目标绝对值的概率表的确定方式的示意图,如图12所示,目标绝对值通常包括多个比特位,需要确定目标码长中每个比特位的概率表,在确定目标绝对值中的当前比特位的概率表时,将预测DCT系数对应的哥伦布编码的预测绝对值、当前DCT系数的位置信息以及当前比特位的前一比特位值作为当前比特位的概率表参数,根据当前比特位的概率表参数查询得到当前比特位对应的概率表。
需要明确的是,本实施例中以无损压缩方式为算术编码为例进行说明,但并不限于算术编码,还可以采用其他熵编码算法进行无损压缩,例如香农(Shannon)编码、哈夫曼(Huffman)编码等。解码端采用对应的解码方式进行解码即可。
S105、根据无损压缩数据以及有损压缩数据生成一个或多个码流文件,该一个或多个码流文件中包括无损压缩数据和有损压缩数据,该有损压缩数据用于解码端获取参考图片的量化后的DCT系数块。
当编码端只生成一个码流文件时,该码流文件中包括无损压缩数据和有损压缩数据,该码流文件中还包括文件头,文件头中包括无损压缩数据的地址偏移和无损压缩数据的地址偏移。
无损压缩数据的地址偏移用于表示无损压缩数据在码流文件中的起始位置,起始位置即无损压缩数据在码流文件中的起始比特位或者字节。同样,有损压缩数据的地址偏移表示有损压缩数据在码流文件中的起始位置。可选的,无损压缩数据的地址偏移还包括无损压缩数据在码流文件中的终止位置,有损压缩数据的地址偏移还包括有损压缩数据在码流文件中的终止位置。
解码端根据接收到码流文件后,先解码得到文件头,进一步根据文件头中包括的无损压缩数据的地址偏移和无损压缩数据的地址偏移,从码流文件中获取到无损压缩数据和有损压缩数据。
当编码端生成多个码流文件时,无损压缩数据可以存储在一个码流文件中,有损压缩数据可以分开存储在剩余的码流文件中;或者,有损压缩数据可以存储在一个码流文件中,无损压缩数据可以分开存储在剩余的码流文件中;或者,有损压缩数据和无损压缩数据均分开存储在多个码流文件中。
以编码端生成两个码流文件为例,一个码流文件中包括无损压缩数据,另一个码流文件中包括有损压缩数据。或者,一个码流文件中包括无损压缩数据的一部分以及有损压缩数据的一部分,另一个码流文件中包括无损压缩数据的另一部分以及有损压缩数据的另一部分。解码端分别从两个码流文件中获取无损压缩数据和有损压缩数据。
以编码端生成三个码流文件为例,其中一个码流文件用于存储无损压缩数据,剩余两个码流文件用于存储有损压缩数据,或者,一个码流文件用于存储有损压缩数据,剩余两个码流文件用于存储无损压缩数据。每个码流文件均用于存储无损压缩数据和有损压缩数据的一部分。
当编码端生成多个码流文件时,可以在每个码流文件的文件头中包括有损压缩数据的地址偏移和/或无损压缩数据的地址偏移,当各码流文件中只包括部分有损压缩数据和/或部分无损压缩数据时,各码流文件中有损压缩数据的地址偏移是指该码流文件中包括的部分有损压缩数据的地址偏移,各码流文件中无损压缩数据的地址偏移是指该码流文件中包括的部分无损压缩数据的地址偏移。
也可以在多个码流文件的其中一个码流文件中携带文件头,其他码流文件不携带文件头,该文件头中包括多个码流文件中的有损压缩数据的地址偏移和/或无损压缩数据的地址偏移。
本实施例中,编码端对原始图片进行解码得到原始图片的量化后的DCT系数块,获取原始图片的有损压缩数据以及原始图片的参考图片的量化后的DCT系数块,参考图片为跟原始图片相似的图片,根据参考图片的量化后的DCT系数块,对原始图片的量化后的DCT系数块进行无损压缩,得到原始图片的无损压缩数据,根据原始图片的无损压缩数据和有损压缩数据生成一个或多个码流文件,码流文件中包括无损压缩数据和有损压缩数据,有损压缩数据用于解码端获取参考图片的量化后的DCT系数块。通过将原始图片和参考图片均解码至频域,使用参考图片的量化后的DCT系数对原始图片的量化后的DCT系数进行块进行压缩,该压缩过程为无损压缩,从而提高了图片的压缩率。
图13为本申请实施例二提供的图片解压缩方法的流程图,本实施例的方法由解码端执行,解码端的解码过程与编码端的编码过程对应,如图13所示,本实施例提供的方法包括以下步骤:
S201、接收编码端发送的一个或者多个码流文件,该一个或多个码流文件中包括原始图片的无损压缩数据和有损压缩数据。
S202、从该一个或多个码流文件中获取原始图片的有损压缩数据和无损压缩数据。
当解码端只接收到一个码流文件时,码流文件中还包括文件头,文件头中包括无损压缩数据的地址偏移和有损压缩数据的地址偏移,解码端从码流文件中解析获取文件头,根据文件头中的无损压缩数据的地址偏移和有损压缩数据的地址偏移从码流文件中截取到无损压缩数据码流和有损压缩数据码流。
当解码端接收到多个码流文件时,每个码流文件的文件头中包括无损压缩数据的地址偏移和/或有损压缩数据的地址偏移,解码端每个码流文件中包括的文件头截取到无损压缩数据码流和有损压数据码流,将多个码流文件中截取到的无损压缩数据码流按照顺序组成原始图片的无损压缩数据,以及将多个码流文件中截取到的有损压缩数据码流按照顺序组成原始图片的有损压缩数据。
当有损压缩数据的地址偏移和无损压缩数据的地址偏移只携带在多个码流文件中的一个码流文件时,解码端从该码流文件中获取到有损压缩数据的地址偏移和无损压缩数据的地址偏移,进而分别从每个码流文件中截取有损压缩数据和无损压缩数据。
S203、根据有损压缩数据,获取原始图片的参考图片的量化后的DCT系数块,参考图片为跟原始图片相似的图片。
解码端可以通过如下几种方式获取参考图片的量化后的DCT系数块:
方式一:对有损压缩数据进行图像重建处理得到重建图片,重建图片为参考图片,对重建图片进行解码得到参考图片的量化后的DCT系数块。
该有损压缩数据可以是编码端通过实施例一中压缩方式一至压缩方式四进行有损压缩得到的有损压缩数据。
方式二:当有损压缩数据为原始图片的下采样图片的存储地址信息时,解码端根据下采样图片的存储地址信息,获取到该下采样图片,对下采样图片进行图像重建处理得到重建图片,对重建图片进行解码,得到参考图片的量化后的DCT系数块。
方式三:当有损压缩数据为原始图片的图像特征的存储地址信息时,根据原始图片的图像特征的存储地址信息,获取原始图片的图像特征,对原始图片的图像特征进行图像重建处理得到重建图片,重建图片为原始图片的参考图片,对重建图片进行解码得到参考图片的量化后的DCT系数块。
方式四:当有损压缩数据为参考图片的存储地址信息时,解码端根据参考图片的存储地址信息获取参考图片,对参考图片进行解码得到参考图片的量化后的DCT系数块。
方式四中的该参考图片可以为网络中保存的图片,因此,编码端不需要将参考图片发送给解码端,只需要将参考图片的存储地址信息发送给解码端,解码端根据参考图片的存储地址信息,能够下载或者读取到参考图片。
该参考图片可以是原始图片所属的视频流中与原始图片的生成时间相邻的图片,如在视频流中原始图片的前一帧图片或者后一帧图片。该参考图片还可以是原始图片所属的图片分组中的任意一张图片,图片分组是根据图片的相似度进行分组得到,图片分组中的图片的相似度大于预设阈值,该参考图片与该原始图片属于同一图片分组。
本申请实施例中,解码端使用的图像重建方式与编码端使用的图像重建方式相同,例如,解码端和编码端均是使用超分辨率重建方式对图片进行重建。图像重建方式可以预先规定或者约定好,可选的,还可以携带在码流文件中。
S204、根据参考图片的量化后的DCT系数块,对无损压缩数据进行解码,得到原始图片的量化后的DCT系数块。
解码端使用的解码方式与编码端使用的编码方式相对应,不同编码方式对应不同的解码方式。实施例一中步骤S104部分介绍了三种算术编码方式,相应的,在解码端也采用三种对应的算术解码方式进行解码,解码方式如下所示。
解码方式一:根据参考图片的量化后的DCT系数块,对无损压缩数据中包括的原始图片的量化后的DCT系数块中的每个DCT系数对应的编码结果进行第一无损解码子处理,得到每个DCT系数,根据原始图片中的每个DCT系数得到原始图片的量化后的DCT系数块。
其中,第一无损解码子处理包括:根据参考图片的量化后的DCT系数块中的当前DCT系数,确定该当前DCT系数对应的目标DCT系数的概率表参数,该目标DCT系数为原始图片中与该预测DCT系数相同位置的DCT系数。根据该目标DCT系数对应的概率表参数,确定该目标DCT系数对应的概率表,根据该目标DCT系数对应的概率表,对无损压缩数据中包括的该目标DCT系数对应的编码结果进行算术解码,得到该目标DCT系数。
解码端将解码得到的各目标DCT系数按照预设顺序组成原始图片的量化后的DCT系数块。
解码方式二:根据参考图片的量化后的DCT系数块,对无损压缩数据中包括的原始图片的量化后的DCT系数块中的每个DCT系数对应的编码结果进行第二无损解码子处理,得到原始图片中的每个DCT系数,根据原始图片中的每个DCT系数得到原始图片的量化后的DCT系数块。
其中,第二无损解码子处理包括:根据参考图片的量化后的DCT系数块中的当前DCT系数,确定该当前DCT系数对应的目标DCT系数的概率表参数,该目标DCT系数为原始图片中与该预测DCT系数相同位置的DCT系数。根据该目标DCT系数对应的概率表参数,确定该目标DCT系数对应的概率表,根据该目标DCT系数对应的概率表,对无损压缩数据中包括的该目标DCT系数对应的差值的编码结果进行算术解码,得到该目标DCT系数对应的差值,该目标DCT系数对应的差值为该目标DCT系数与该当前DCT系数的差值,即编码端对原始图片和参考图片中位于相同位置的DCT系数的差值进行了算术编码,将该目标DCT系数对应的差值与该当前DCT系数相加,得到该目标DCT系数。
在对原始图片中的每个DCT系数的编码结果进行算术解码之后,将算术解码得到的各目标DCT系数按照预设顺序组成原始图片的量化后的DCT系数块。
解码方式三、对参考图片的量化后的DCT系数块采用与编码端相同的划分方式进行区域划分,得到第三类子块和第四类子块,根据第三类子块中的DCT系数块,对无损压缩数据中包括的第一类子块中的每个DCT系数对应的编码结果进行第二无损解码子处理,得到第一类子块中的每个DCT系数,其中,第一类子块为原始图片的量化后的DCT系数块中与该第三类子块相同位置的DCT系数块。根据第四类子块中的DCT系数块,对无损压缩数据中包括的第二类子块中的每个DCT系数对应的编码结果进行第一无损解码子处理,得到第二类子块中的每个DCT系数,其中,第二类子块为原始图片的量化后的DCT系数块中与第四类子块相同位置的DCT系数块。根据第一类子块中的每个DCT系数和第二类子块中的每个DCT系数得到原始图片的量化后的DCT系数块。
具体划分方式可以参照实施例一编码端的描述。该划分方式可以预先规定好或者预先协商好,或者,划分方式携带在码流文件中。解码端可以对第类子块中的DCT系数采用解码方式一解码,对第二类子块中的DCT系数采用解码方式二解码。或者,对第一类子块中的DCT系数采用解码方式二解码,对第二类子块中的DCT系数采用解码方式一解码。
解码方式三为解码方式一和解码方式二的结合,即对原始图片中的部分DCT系数采用解码方式一解码,对其余DCT系数采用解码方式二。
在上述任意一种解码方式中,解码端可以将相同位置的当前DCT系数作为目标DCT系数的概率表参数。在本申请其他实施例中,解码端还可以通过如下方式获取目标DCT系数的概率表参数:
对该当前DCT系数进行哥伦布编码,得到该当前DCT系数对应的哥伦布码流,该当前DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值。根据该当前DCT系数对应的哥伦布码流,确定目标DCT系数对应的哥伦布码流中每个比特位的概率表参数。
相应的,根据目标DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定每个比特位的概率表,根据目标DCT系数对应的哥伦布码流中每个比特位的概率表,对无损压缩数据中包括的目标DCT系数的编码结果进行算术解码,得到目标DCT系数。
目标DCT系数对应的哥伦布码流中包括:目标码长、目标符号位和目标绝对位,解码端根据当前DCT系数对应的预测码长、预测绝对值和预测符号位确定目标DCT系数对应的哥伦布码流中目标码长、目标符号位和目标绝对位的概率表。其中,目标码长、目标符号位和目标绝对位分别对应不同的概率表参数。
一种示例性的方式中,确定预测码长、该目标DCT系数的位置信息以及当前解码的比特位的前一比特位值为目标码长中的每个比特位的概率表参数,其中,当前解码的比特位的前一比特位为与该当前解码的比特位使用相同概率表的前一比特位。确定预测符号位为目标符号位的概率表参数。确定预测绝对值、该当前DCT系数的位置信息以及当前解码的比特位的前一比特位值为目标绝对值中的每个比特位的概率表参数。
无损压缩数据中包括的目标DCT系数的编码结果包括目标DCT系数的目标码长对应的编码结果、目标符号位对应的编码结果和目标绝对值对应的编码结果。解码端使用目标码长对应的概率表对目标码长对应的编码结果进行算术解码,使用目标符号位对应的概率表对目标符号位对应的编码结果进行算术解码,使用目标绝对值对应的概率表对目标码长对应的编码结果进行算术解码。
S205、对原始图片的量化后的DCT系数块进行编码得到原始图片。
在获取到原始图片的量化后的DCT系数块后,对原始图片的量化后的DCT系数进行编码,完成原始图片从频域到空域的转换,得到原始图片。需要明确的是,这里的编码是指从DCT系数到图片的像素的转换过程,编码前的数据为DCT系数,编码后的数据为图片的像素,即将图片从频域转换到空域的过程,这里的编码方式可以为哈夫曼编码。可以理解,本申请实施例中涉及的编码不同于通信领域中的解码,通信领域中的编码是指将编码端生成的原始数据通过一系列处理过程转换给待发送给接收端的过程,一系列转换过程称为广义上的编码。
本实施例中,解码端接收编码端发送的一个或者多个码流文件,该一个或多个码流文件中包括原始图片的无损压缩数据和有损压缩数据,从该一个或多个码流文件中获取有损压缩数据和无损压缩数据,根据有损压缩数据,获取原始图片的参考图片的量化后的DCT系数块,参考图片为跟原始图片相似的图片,根据参考图片的量化后的DCT系数块,对无损压缩数据进行解码,得到原始图片的量化后的DCT系数块,对原始图片的量化后的DCT系数块进行编码得到原始图片。编码端通过将参考图片解码至频域,使用参考图片的量化后的DCT系数对原始图片的DCT系数进行块进行解码,解码过程为无损解码,从而提高了图片的压缩率。
图14为编码端的一种结构示意图,如图14所示,该编码端包括哈夫曼解码模块、算术编码模块、有损压缩模块、重建模块、DCT变换模块、重建块缓存器以及码流文件生成器。
图15为本申请实施例三提供的图片压缩方法的流程图,本实施例的方法由图14所示的编码端执行,本实施例以原始图片的参考图片为重建图片为例进行说明,参考图14和图15,本实施例提供的方法包括以下步骤:
S301、编码端获取原始图片。
编码端的输入为原始图片,该原始图片可以是其他设备发送给编码端的,也可以是编码端上存储的已有图片。
S302、哈夫曼解码模块对原始图片进行哈夫曼解码得到原始图片的量化后的DCT系数块。
S303、有损压缩模块采用有损压缩算法对原始图片进行压缩得到有损压缩数据。
在本申请其他实施例中,有损压缩模块还可以采用实施例一中步骤S102描述的方式二至方式四中任意一种方式对原始图片进行有损压缩得到有损压缩数据,具体压缩过程参照实施例一中步骤S102的相关描述,这里不再赘述。
S304、重建模块对有损压缩数据进行图像重建处理得到重建图片。
重建模块可以根据有损压缩数据进行超分辨率重建得到重建图片,重建图片的尺寸与原始图片的尺寸相同。
S305、DCT变换模块对重建图片进行哈夫曼解码得到重建图片的量化后的DCT系数块。
S306、重建块缓存器缓存重建图片的量化后的DCT系数块。
S307、算术编码模块根据重建图片的量化后的DCT系数块,对原始图片的量化后的DCT系数块进行算术编码,得到原始图片的无损压缩数据。
无损压缩模块可以采用实施例一步骤S104所述的三种编码方式对原始图片的量化后的DCT系数块进行算术编码。三种编码方式的具体实现方式参照实施例一中步骤S104的详细描述,这里不再赘述。
S308、码流文件生成器根据无损压缩数据和有损压缩数据生成一个码流文件。
该码流文件中包括无损压缩数据、有损压缩数据和文件头,该码流文件中还包括文件头,文件头中包括无损压缩数据的地址偏移和无损压缩数据的地址偏移。
在本申请其他实施例中,如果有损压缩模块采用图像下采样方式先对原始图片进行了有损压缩,进一步使用有损压缩算法或者无损压缩算法对原始图片的下采样图片进行了压缩,那么,可选的,文件头中还包括压缩指示信息,该压缩指示信息用于指示是否对原始图片的下采样图片进行了压缩。
图16为码流文件的一种示意图,如图16所示,文件头包括压缩指示信息、有损压缩数据的地址偏移和无损压缩数据的地址偏移,压缩指示信息占用1比特,有损压缩数据的地址偏移占用4字节,无损压缩数据的地址偏移占用4字节。
本实施例中,将原始图片通过哈夫曼解码至频域,避免了不可逆的量化过程,保证无损特性。并且通过超分辨率重建图像的过程中进行了多层非线性卷积拟合,可以利用周边所有相邻点信息,优于简单的线性加权,得到的重建图片和原始图片更加相似。通常情况下,重建图片与原始图片越相近,在对原始图片进行算术编码时,通过重建图片的DCT系数预测得到的概率表越准确,从而提高了压缩率。
可选的,在实施例三的基础上,如果码流文件满足删除条件,则删除码流文件中的无损压缩数据。例如,在生成码流文件一段时间之后,如果应用环境允许有损压缩原始图片时,可以删除码流文件中的无损压缩数据,只保留有损压缩数据,根据有损压缩数据进行图片重建,根据重建图片恢复得到有损的原始图片。如果编码端只生成了一个码流文件,编码端根据码流文件中的文件头中包括的无损压缩数据的地址偏移,删除无损压缩数据。该方式从无损压缩转换为有损压缩的方式十分简单,转换效率高。
而现有技术中,将无损压缩转换为有损压缩时,需要先将无损压缩数据解码至原文件,再使用有损压缩方法保存为有损压缩数据,转换过程复杂,转换时间长。
另外,需要说明的是,在实施例三中,可以将有损压缩模块得到的有损压缩数据保存为JPEG格式,编码端可以直接保存有损压缩数据,也可以对有损压缩数据进一步进行有损压缩,保存二次有损压缩后的数据,通过二次无损压缩,可以提高压缩率,
图17为解码端的一种结构示意图,如图17所示,该解码端包括文件头解析模块、解压模块、重建模块、DCT变换模块、重建块缓存器、算术解码模块和哈夫曼编码模块。图17所示的解码端用于对图14所示的编码端压缩得到的码流文件进行解压缩,得到原始文件。
图18为本申请实施例四提供的图片压缩方法的流程图,本实施例的方法由图17所示的解码端执行,参考图17和图18,本实施例提供的方法包括以下步骤:
S401、文件头解析模块对码流文件进行解析,得到无损压缩数据码流和有损压缩数据码流。
文件头解析模块读取到码流文件后,解析获取到文件头,根据文件头中的无损压缩数据的地址偏移和有损压缩数据的地址偏移从码流文件中截取到无损压缩数据码流和有损压缩数据码流。将无损压缩数据码流发送给算术解码模块,将有损压缩数据码流发送给有损压缩数据解压模块。
S402、解压模块对有损压缩数据码流解压至空域。
S403、重建模块对解压模块解码的空域数据进行图像重建处理,得到重建图片。
通常情况下,编码端和解码端采用的图像重建方法相同,例如,都使用超分辨率重建方式对图片进行图像重建,或者,采用上采样进行图像重建。
S404、DCT变换模块对重建图片进行解码得到重建图片的量化后的DCT系数块。
S405、重建块缓存器缓存重建图片的量化后的DCT系数块。
S406、算术解码模块根据重建图片的量化后的DCT系数块,对无损压缩数据进行解码,得到原始图片的量化后的DCT系数块。
算术解码模块可以采用实施例二步骤S204所述的三种解码方式对无损压缩数据进行解码,具体实现方式参照实施例二中步骤S204的详细描述,这里不再赘述。
S407、哈夫曼编码模块对原始图片的量化后的DCT系数块进行哈夫曼编码得到原始图片。
图19为编码端的另一种结构示意图,如图19所示,该编码端包括哈夫曼解码模块、算术编码模块、重建模块、DCT变换模块、重建块缓存器以及码流文件生成器。其中,哈夫曼解码模块、算术编码模块、重建模块、DCT变换模块、重建块缓存器的作用均为图14所示编码端中各功能模块的作用相同,本实施例中不再赘述。与图14所示的编码端相比,图19所示编码端少了有损压缩模块,即使用该编码端对原始图片进行压缩的过程中,不需要对原始图片进行有损压缩处理,进而通过图片重建处理获取到原始图片的相似图片,而是利用本地或者网络上已经存在的原始图片的下采样图片或者原始图片的图像特征进行图片重建处理获取得到原始图片的相似图片。
图20为本申请实施例五提供的图片压缩方法的流程图,本实施例的方法由图19所示的编码端执行,参考图20和图19,本实施例提供的方法包括以下步骤:
S501、编码端获取原始图片。
S502、哈夫曼解码模块对原始图片进行哈夫曼解码得到原始图片的量化后的DCT系数块。
S503、重建模块对已经存在的原始图片的下采样图片或者图像特征进行图像重建处理得到重建图片。
本实施例中,重建模块可以通过超分辨率重建或者上采样得到重建图片,重建图片的尺寸与原始图片的尺寸相同,重建图片为原始图片的相似图片。
S504、DCT变换模块对重建图片进行解码得到重建图片的量化后的DCT系数块。
S505、重建块缓存器缓存重建图片的量化后的DCT系数块。
S506、算术编码模块根据重建图片的量化后的DCT系数块,对原始图片的量化后的DCT系数块进行算术编码,得到原始图片的无损压缩数据。
S507、码流文件生成器将原始图片的下采样图片或者图像特征的存储地址信息作为有损压缩数据,根据无损压缩数据和有损压缩数据生成一个码流文件。
本实施例中,有损压缩数据包括原始图片的下采样图片的存储地址信息,或者原始图片你的图像特征的存储地址信息。
本实施例中利用原始图片已存在的下采样图片或者图像特征,在图像压缩过程中编码端不需要对原始图片进行有损压缩处理,而是能够直接下载或者请求到原始下采样图片或者图像特征,节省了有损压缩所需的处理时间和资源,而且也不需要保存原始图片的下采样图片或者图像特征,只需要保存二者的存储地址信息,从而进一步的提高压缩率。实施例三中存储的有损压缩数据需要占码流文件的10%-20%,而本实施例中只需要存储一个地址信息,从而能够提高10%-20%的压缩率。
图21为解码端的另一种结构示意图,如图21所示,该解码端包括文件头解析模块、重建模块、DCT变换模块、重建块缓存器、算术解码模块和哈夫曼编码模块。图21所示的解码端用于对图20所示的编码端压缩得到的码流文件进行解压缩,得到原始图片。
图22为本申请实施例六提供的图片解压缩方法的流程图,本实施例的方法由图21所示的解码端执行,参考图21和图22,本实施例提供的方法包括以下步骤:
S601、文件头解析模块对码流文件进行解析,得到无损压缩数据码流和有损压缩数据码流。
S602、重建模块根据有损压缩数据中包括的原始图片的下采样图片或者图像特征的存储地址信息,获取原始图片的下采样图片或者图像特征,对原始图片的下采样图片或者图像特征进行图像重建处理得到重建图片。
S603、DCT变换模块对重建图片进行解码得到重建图片的量化后的DCT系数块。
S604、重建块缓存器缓存重建图片的量化后的DCT系数块。
S605、算术解码模块根据重建图片的量化后的DCT系数块,对无损压缩数据进行算术解码,得到原始图片的量化后的DCT系数块。
S606、哈夫曼编码模块对原始图片的DCT系数块进行哈夫曼编码,得到原始图片。
图23为编码端的又一种结构示意图,如图23所示,该编码端包括哈夫曼解码模块、算术编码模块以及码流文件生成器。其中,哈夫曼解码模块、算术编码模块的作用均与图14所示编码端中各功能模块的作用相同,本实施例中不再赘述。
图24为本申请实施例七提供的图片压缩方法的流程图,本实施例的方法由图23所示的编码端执行,本实施例以原始图片的参考图片为同一视频流或者同一图片分组中的相似图片为例进行说明,本实施例中的参考图片不需要通过重建或者压缩等方式得到,而是采用直接拍摄得到的图片。参考图23和图24,本实施例提供的方法包括以下步骤:
S701、编码端从原始图片所属的视频流或者图片分组中确定原始图片和相似图片。
编码端可以获取原始图片所属的视频流,根据原始图片的生成时间,从视频流中确定相似图片。或者,从原始图片所属的图片分组中选择一张图片作为相似图片,图片分组是根据图片的相似度进行分组得到,图片分组中的图片的相似度大于预设阈值。该相似图片为原始图片的参考图片,相似图片的大小与原始图片相同。
S702、哈夫曼解码模块对原始图片进行哈夫曼解码得到原始图片的量化后的DCT系数块。
S703、哈夫曼解码模块对相似图片进行哈夫曼解码得到相似图片的量化后的DCT系数块。
S704、算术编码模块根据相似图片的量化后的DCT系数块,对原始图片的量化后的DCT系数块进行算术编码,得到原始图片的无损压缩数据。
S705、码流文件生成器根据相似图片的存储地址信息作为有损压缩数据,根据无损压缩数据和有损压缩数据生成一个码流文件。
本实施例中,有损压缩数据为相似图片的存储地址信息。
该方案中使用原始图片所属的视频流或者图片分组中的相似图片辅助对原始图片进行压缩,编码端不需要对相似图片进行有损压缩处理以及图像重建处理等操作,直接对相似图片进行解码得到原始图片的参考图片的量化后的DCT系数块,从而提高了编码端的编码效率。而且不需要保存相似图片,只需要保存相似图片的存储地址信息,从而进一步的提高压缩率。实施例三中存储的有损压缩数据需要占码流文件的10%-20%,而本实施例中只需要存储一个地址信息,从而能够提高10%-20%的压缩率。
图25为解码端的又一种结构示意图,如图25所示,该解码端包括文件头解析模块、算术解码模块、哈夫曼编码模块和哈夫曼解码模块。图25所示的解码端用于对图24所示的编码端压缩得到的码流文件进行解压缩,得到原始文件。
图26为本申请实施例八提供的图片解压缩方法的流程图,本实施例的方法由图25所示的解码端执行,参考图25和图26,本实施例提供的方法包括以下步骤:
S801、文件头解析模块对码流文件进行解析,得到无损压缩数据码流和有损压缩数据码流。
S802、哈夫曼解码模块根据有损压缩数据中包括的相似图片的存储地址信息,获取相似图片,对相似图片进行哈夫曼解码得到相似图片的量化后的DCT系数块。
S803、算术解码模块根据相似图片的量化后的DCT系数块,对无损压缩数据进行算数解码,得到原始图片的量化后的DCT系数块。
S804、哈夫曼编码模块对原始图片的量化后的DCT系数块进行哈夫曼编码,得到原始图片。
本申请实施例九提供一种图像显示方法,该方法应用在终端设备中,终端设备包括处理器、存储器和显示屏,存储器中存储有原始图片的一个或者多个码流文件,该一个或多个码流文件中包括原始图片的无损压缩数据和有损压缩数据。图27为本申请实施例提供的图像显示方法的流程图,如图27所示,本实施例提供的方法包括以下步骤:
S901、处理器获取原始图片的下采样图片。
S902、显示屏显示下采样图片。
为了方便图像的快速浏览,网络中的图片大都存在下采样图片,在用户浏览图像时,优先显示原始图片的下采样图片。
S903、处理器接收用户对下采样图片的查看指令,该查看指令用于查看原始图片。
例如,用户A通过即时通讯工具接收到用户B发送的一张图片时,用户点击查看之后在显示频上显示的图片为下采样图片,用户选择查看原图操作后,才会向用户显示原始图片,显示原始图片的过程可以采用本实施例的方法。或者,用户在网页上浏览图片时,先向用户显示各图片的下采样图片,在用户点击该图片后,才会加载原始图片并向用户显示原始图片。当然,也可以在显示下采样图片后,根据网络情况,主动向用户显示原始图片。
S904、处理器对原始图片的无损压缩数据和有损压缩数据进行解压缩处理,得到原始图片。
处理器可以采用上述任意一个实施例提供的图片解压缩方法进行解压缩得到原始图片,本实施了不再赘述。
S905、显示屏显示原始图片。
可选的,处理器在码流文件满足删除条件时,只删除码流文件中的无损压缩数据,保留码流文件中的有损压缩数据,后续根据有损压缩数据能够恢复到原始图片的相似图片。
图28为本申请实施例十提供的图片压缩装置的一种结构示意图,如图28所示,本实施例的图片压缩装置包括:解码模块31、第一获取模块32、第二获取模块33、无损压缩模块34和生成模块35。
解码模块31,用于对原始图片进行解码得到所述原始图片的量化后的离散余弦变换DCT系数块;第一获取模块32,用于获取所述原始图片的有损压缩数据;第二获取模块33,用于获取所述原始图片的参考图片的量化后的DCT系数块,所述参考图片为跟所述原始图片相似的图片;无损压缩模块34,用于根据所述参考图片的量化后的DCT系数块对所述原始图片的量化后的DCT系数块进行无损压缩,得到所述原始图片的无损压缩数据;生成模块35,用于根据所述无损压缩数据以及所述有损压缩数据生成一个或多个码流文件,所述一个或多个码流文件中包括所述无损压缩数据和所述有损压缩数据,所述有损压缩数据用于解码端获取所述参考图片的量化后的DCT系数块。
一种可能的实现方式中,无损压缩模块34具体用于:根据所述参考图片的量化后的DCT系数块,对所述原始图片的量化后的DCT系数块中的每个DCT系数进行第一无损压缩子处理,得到所述每个DCT系数对应的无损压缩子数据;根据所述每个DCT系数对应的无损压缩子数据得到所述无损压缩数据。
其中,所述第一无损压缩子处理包括:根据所述原始图片的量化后的DCT系数块中的当前DCT系数对应的预测DCT系数确定所述当前DCT系数的概率表参数,其中,所述预测DCT系数为所述参考图片的量化后的DCT系数块中与所述当前DCT系数的位置相同的DCT系数;根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表;根据所述当前DCT系数对应的概率表,对所述当前DCT系数进行算术编码,所述当前DCT系数对应的编码结果为所述当前DCT系数对应的无损压缩子数据。
另一种可能的实现方式中,无损压缩模块34具体用于:根据所述参考图片的量化后的DCT系数块,对所述原始图片的量化后的DCT系数块中的每个DCT系数进行第二无损压缩子处理,得到所述每个DCT系数对应的无损压缩子数据;根据所述每个DCT系数对应的无损压缩子数据得到所述无损压缩数据。
其中,所述第二无损压缩子处理包括:根据所述原始图片的量化后的DCT系数块中的当前DCT系数对应的预测DCT系数确定所述当前DCT系数的概率表参数,其中,所述预测DCT系数为所述参考图片的量化后的DCT系数块中与所述当前DCT系数的位置相同的DCT系数;根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表;计算所述当前DCT系数对应的差值,所述差值为所述当前DCT系数与所述预测DCT系数的差值;根据所述当前DCT系数对应的概率表,对所述当前DCT系数对应的差值进行算术编码,所述当前DCT系数对应的编码结果为所述当前DCT系数对应的无损压缩子数据。
又一种可能的实现方式中,无损压缩模块34具体用于:对所述原始图片的量化后的DCT系数块采用第一划分方式进行区域划分,得到第一类子块和第二类子块;对所述参考图片的量化后的DCT系数块采用所述第一划分方式进行区域划分,得到第三类子块和第四类子块,所述第三类子块在所述参考图片中的位置与所述第一类子块在所述原始图片中的位置相同,所述第四类子块在所述参考图片中的位置与所述第二类子块在所述原始图片中的位置相同;根据所述第三类子块,对所述第一类子块中的每个DCT系数进行第二无损压缩子处理,得到所述第一类子块中的每个DCT系数对应的无损压缩子数据;根据所述第四类子块,对所述第二类子块中的每个DCT系数进行第一无损压缩子处理,得到所述第二类子块中的每个DCT系数对应的无损压缩子数据;根据所述第一类子块中的每个DCT系数对应的无损压缩子数据,以及所述第二类子块中的每个DCT系数对应的无损压缩子数据,得到所述无损压缩数据。
其中,所述第二无损压缩子处理包括:根据所述第一类子块中的当前DCT系数对应的预测DCT系数,确定所述当前DCT系数的概率表参数,所述预测DCT系数为所述第三类子块中与所述当前DCT系数的位置相同的DCT系数;根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表;计算所述当前DCT系数对应的差值,所述差值为所述当前DCT系数与所述预测DCT系数的差值;根据所述当前DCT系数对应的概率表,对所述当前DCT系数对应的差值进行算术编码,所述当前DCT系数对应的编码结果为所述当前DCT系数对应的无损压缩子数据。
所述第一无损压缩子处理包括:根据所述第二类子块中的当前DCT系数对应的预测DCT系数,确定所述当前DCT系数的概率表参数,所述预测DCT系数为所述第四类子块中与所述当前DCT系数的位置相同的DCT系数;根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表;根据所述当前DCT系数对应的概率表,对所述当前DCT系数进行算术编码,所述当前DCT系数对应的编码结果为所述当前DCT系数对应的无损压缩子数据。
可选的,所述无损压缩模块34根据所述原始图片的量化后的DCT系数块中的当前DCT系数对应的预测DCT系数确定所述当前DCT系数的概率表参数,包括:确定所述预测DCT系数为所述当前DCT系数的概率表参数;所述无损压缩模块34根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表,包括:根据所述预测DCT系数查询得到所述当前DCT系数对应的概率表。
可选的,所述无损压缩模块34根据所述第一类子块中的当前DCT系数对应的预测DCT系数,确定所述当前DCT系数的概率表参数,包括:确定所述预测DCT系数为所述当前DCT系数的概率表参数;所述无损压缩模块34根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表,包括:根据所述预测DCT系数查询得到所述当前DCT系数对应的概率表。
可选的,所述无损压缩模块34根据所述第二类子块中的当前DCT系数对应的预测DCT系数,确定所述当前DCT系数的概率表参数,包括:确定所述预测DCT系数为所述当前DCT系数的概率表参数;所述无损压缩模块34根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表,包括:根据所述预测DCT系数查询得到所述当前DCT系数对应的概率表。
可选的,所述无损压缩模块34根据所述原始图片的量化后的DCT系数块中的当前DCT系数对应的预测DCT系数确定所述当前DCT系数的概率表参数,包括:对所述预测DCT系数进行哥伦布编码,得到所述预测DCT系数对应的哥伦布码流,所述预测DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值;对所述当前DCT系数进行哥伦布编码,得到所述当前DCT系数对应的哥伦布码流,所述当前DCT系数对应的哥伦布码流包括目标码长、目标符号位和目标绝对值;根据所述预测DCT系数对应的哥伦布码流,确定所述当前DCT系数对应的哥伦布码流中每个比特位的概率表参数。所述无损压缩模块34根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表,包括:根据所述当前DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定所述每个比特位的概率表。所述无损压缩模块34根据所述当前DCT系数对应的概率表,对所述当前DCT系数进行算术编码,包括:根据所述当前DCT系数对应的哥伦布码流中每个比特位的概率表,对所述当前DCT系数对应的哥伦布码流中每个比特位进行算术编码。
可选的,所述无损压缩模块34根据所述原始图片的量化后的DCT系数块中的当前DCT系数对应的预测DCT系数确定所述当前DCT系数的概率表参数,包括:对所述预测DCT系数进行哥伦布编码,得到所述预测DCT系数对应的哥伦布码流,所述预测DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值;对所述当前DCT系数对应的差值进行哥伦布编码,得到所述当前DCT系数对应的差值的哥伦布码流,所述当前DCT系数对应的差值的哥伦布码流包括目标码长、目标符号位和目标绝对值;根据所述预测DCT系数对应的哥伦布码流,确定所述当前DCT系数对应的差值的哥伦布码流中每个比特位的概率表参数。所述无损压缩模块34根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表,包括:根据所述当前DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定所述每个比特位的概率表。所述无损压缩模块34根据所述当前DCT系数对应的概率表,对所述当前DCT系数对应的差值进行算术编码,包括:根据所述当前DCT系数对应的哥伦布码流中每个比特位的概率表,对所述当前DCT系数对应的差值的哥伦布码流中每个比特位进行算术编码。
可选的,所述无损压缩模块34根据所述第一类子块中的当前DCT系数对应的预测DCT系数,确定所述当前DCT系数的概率表参数,包括:对所述预测DCT系数进行哥伦布编码,得到所述预测DCT系数对应的哥伦布码流,所述预测DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值;对所述当前DCT系数对应的差值进行哥伦布编码,得到所述当前DCT系数对应的差值的哥伦布码流,所述当前DCT系数对应的差值的哥伦布码流包括目标码长、目标符号位和目标绝对值;根据所述预测DCT系数对应的哥伦布码流,确定所述当前DCT系数对应的差值的哥伦布码流中每个比特位的概率表参数。所述无损压缩模块34根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表,包括:根据所述当前DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定所述每个比特位的概率表。所述无损压缩模块34根据所述当前DCT系数对应的概率表,对所述当前DCT系数对应的差值进行算术编码,包括:根据所述当前DCT系数对应的哥伦布码流中每个比特位的概率表,对所述当前DCT系数对应的差值的哥伦布码流中每个比特位进行算术编码。
可选的,所述无损压缩模块34根据所述第二类子块中的当前DCT系数对应的预测DCT系数,确定所述当前DCT系数的概率表参数,包括:对所述预测DCT系数进行哥伦布编码,得到所述预测DCT系数对应的哥伦布码流,所述预测DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值;对所述当前DCT系数进行哥伦布编码,得到所述当前DCT系数对应的哥伦布码流,所述当前DCT系数对应的哥伦布码流包括目标码长、目标符号位和目标绝对值;根据所述预测DCT系数对应的哥伦布码流,确定所述当前DCT系数对应的哥伦布码流中每个比特位的概率表参数。所述无损压缩模块34根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表,包括:根据所述当前DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定所述每个比特位的概率表。所述无损压缩模块34根据所述当前DCT系数对应的概率表,对所述当前DCT系数进行算术编码,包括:根据所述当前DCT系数对应的哥伦布码流中每个比特位的概率表,对所述当前DCT系数对应的哥伦布码流中每个比特位进行算术编码。
可选的,所述目标码长中的每个比特位的概率表参数包括:所述预测码长、该DCT系数的位置信息以及该比特位的前一比特位值,其中,该比特位的前一比特位为与该比特位使用相同概率表的前一比特位;所述目标符号位的概率表参数包括所述预测符号位;所述目标绝对值中的每个比特位的概率表参数包括:所述预测绝对值、该DCT系数的位置信息以及该比特位的前一比特位值。
可选的,所述原始图片为联合摄像专家组JPEG格式的图片,所述无损压缩模块34对所述原始图片的DCT系数块进行区域划分,得到至少两个子块,包括:将所述原始图片的DCT系数块划分为四个子块:DC子块、7×1AC子块、1×7AC子块和7×7AC子块。无损压缩模块34对所述第一类子块中的DCT系数采用方式一进行算术编码,对所述第二类子块中的DCT系数采用方式二进行算术编码,包括:对所述DC子块、7×1AC子块和1×7AC子块中的DCT系数采用所述方式一进行算术编码,对所述7×7AC子块中的DCT系数采用所述方式二进行算术编码。
可选的,所述第一获取模块32具体用于:对所述原始图片进行有损压缩处理得到所述有损压缩数据。所述第二获取模块33具体用于:对所述有损压缩数据进行图像重建处理得到重建图片,所述重建图片为所述参考图片,对所述重建图片进行解码得到所述参考图片的量化后的DC系数块。
可选的,所述第一获取模块32对所述原始图片进行有损压缩处理得到所述有损压缩数据,包括:使用有损压缩算法对所述原始图片进行压缩,得到所述有损压缩数据。
可选的,所述第一获取模块32对所述原始图片进行有损压缩处理得到所述有损压缩数据,包括:使用图像下采样方法对所述原始图片进行下采样得到下采样图片,使用有损压缩算法或者无损压缩算法,对所述下采样图片进行压缩,得到所述有损压缩数据。
可选的,所述第一获取模块32对所述原始图片进行有损压缩处理得到所述有损压缩数据,包括:对所述原始图片进行特征提取,得到所述原始图片的图像特征,所述图像特征为所述有损压缩数据。
可选的,所述第一获取模块32对所述原始图片进行有损压缩处理得到所述有损压缩数据,包括:使用图像下采样方法对所述原始图片进行下采样得到所述下采样图片,所述下采样图片为所述有损压缩数据。
可选的,所述有损压缩数据为所述原始图片的下采样图片的存储地址信息;所述第二获取模块33具体用于:根据所述下采样图片的存储地址信息,得到所述下采样图片,对所述下采样图片进行图像重建处理得到重建图片,对所述重建图片进行解码得到所述参考图片的量化后的DCT系数块,所述重建图片为所述参考图片。
可选的,所述有损压缩数据为所述原始图片的图像特征的存储地址信息;所述第二获取模块33具体用于:根据所述原始图片的图像特征的存储地址信息,得到所述原始图片的图像特征,对所述原始图片的图像特征进行图像重建处理得到重建图片,所述重建图片为所述参考图片,对所述重建图片进行解码得到所述参考图片的量化后的DCT系数块。
可选的,所述第一获取模块32具体用于:获取所述原始图片所属的视频流;根据所述原始图片的生成时间,从所述视频流中确定所述参考图片,所述有损压缩数据为所述参考图片的存储地址信息。所述第二获取模块33具体用于:对所述参考图片进行解码,得到所述参考图片的量化后的DCT系数块。
可选的,所述第一获取模块32具体用于:从所述原始图片所属的图片分组中选择一张图片作为所述参考图片,所述有损压缩数据为所述参考图片的存储地址信息,所述图片分组是根据图片的相似度进行分组得到,所述图片分组中的图片的相似度大于预设阈值。所述第二获取模块33具体用于:对所述参考图片进行解码,得到所述参考图片的量化后的DCT系数块。
可选的,当只生成一个码流文件时,所述码流文件中还包括文件头,所述文件头中包括所述无损压缩数据的地址偏移和所述无损压缩数据的地址偏移。
可选的,所述一个或多个码流文件为两个,一个码流文件中包括所述无损压缩数据,另一个码流文件中包括所述有损压缩数据。
可选的,所述装置还包括删除模块,所述删除模块,用于在所述码流文件满足删除条件时,只删除所述码流文件中的所述无损压缩数据。
可选的,所述原始图片为联合摄像专家组JPEG格式的图片,所述解码采用的解码方式为哈夫曼解码。
本实施例的装置,可以用于执行上述图片压缩方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
图29为本申请实施例十一提供的图片解压缩装置的一种结构示意图,如图29所示,本实施例的图片解压缩装置包括:接收模块41、第一获取模块42、第二获取模块43、解码模块44和编码模块45。
接收模块41,用于接收编码端发送的一个或者多个码流文件,所述一个或多个码流文件中包括原始图片的无损压缩数据和有损压缩数据;第一获取模块42,用于从所述一个或者多个码流文件中获取所述有损压缩数据和所述无损压缩数据;第二获取模块43,用于根据所述有损压缩数据,获取所述原始图片的参考图片的量化后的离散余弦变换DCT系数块,所述参考图片为跟所述原始图片相似的图片;解码模块44,用于根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据进行解码,得到所述原始图片的量化后的DCT系数块;编码模块45,用于对所述原始图片的量化后的DCT系数块进行编码得到所述原始图片。
可选的,所述第二获取模块43具体用于:对所述有损压缩数据进行图像重建处理得到重建图片,所述重建图片为所述参考图片,对所述重建图片进行解码得到所述参考图片的量化后的DCT系数块。
可选的,当所述有损压缩数据为所述原始图片的下采样图片的存储地址信息时,所述第二获取模块43具体用于:根据所述下采样图片的存储地址信息,获取到所述下采样图片;对所述下采样图片进行图像重建处理得到重建图片,所述重建图片为所述参考图片;对所述重建图片进行解码得到所述参考图片的量化后的DCT系数块。
可选的,当所述有损压缩数据为所述原始图片的图像特征的存储地址信息时,所述第二获取模块43具体用于:根据所述原始图片的图像特征的存储地址信息,获取所述原始图片的图像特征;对所述原始图片的图像特征进行图像重建处理得到重建图片,所述重建图片为所述参考图片;对所述重建图片进行解码得到所述参考图片的量化后的DCT系数块。
可选的,当所述有损压缩数据为所述参考图片的存储地址信息,所述参考图片的大小与所述原始图片相同;所述第二获取模块43具体用于:根据所述参考图片的存储地址信息,获取所述参考图片;对所述参考图片进行解码得到所述参考图片的量化后的DCT系数块。
可选的,所述参考图片为所述原始图片所属视频流中与所述原始图片生成时间相邻的图片;或者,所述参考图片与所述原始图片属于同一个图片分组,所述图片分组是根据图片的相似度进行分组得到,所述图片分组中的图片的相似度大于预设阈值。
一种可能的实现方式中,所述解码模块44具体用于:根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据中包括的所述原始图片的量化后的DCT系数块中的每个DCT系数对应的编码结果进行第一无损解码子处理,得到所述每个DCT系数;根据所述每个DCT系数得到所述原始图片的量化后的DCT系数块。
其中,所述第一无损解码子处理,包括:根据所述参考图片的量化后的DCT系数块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,所述目标DCT系数为所述原始图片中与所述当前DCT系数相同位置的DCT系数;根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表;根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的编码结果进行算术解码,得到所述目标DCT系数。
另一种可能的实现方式中,所述解码模块44具体用于:根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据中包括的所述原始图片的量化后的DCT系数块中的每个DCT系数对应的编码结果进行第二无损解码子处理,得到所述每个DCT系数;根据所述每个DCT系数得到所述原始图片的量化后的DCT系数块。
其中,所述第二无损解码子处理,包括:根据所述参考图片的量化后的DCT系数块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,所述目标DCT系数为所述原始图片中与所述当前预测DCT系数相同位置的DCT系数;根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表;根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的差值的编码结果进行算术解码,得到所述目标DCT系数对应的差值,所述目标DCT系数对应的差值为所述目标DCT系数与所述当前DCT系数的差值;将所述目标DCT系数对应的差值与所述当前DCT系数相加,得到所述目标DCT系数。
又一种可能的实现方式中,所述解码模块44具体用于:对所述参考图片的量化后的DCT系数块采用与编码端相同的划分方式进行区域划分,得到第三类子块和第四类子块;根据所述第三类子块中的DCT系数块,对所述无损压缩数据中包括的第一类子块中的每个DCT系数对应的编码结果进行第二无损解码子处理,得到所述第一类子块中的每个DCT系数,其中,所述第一类子块为所述原始图片的量化后的DCT系数块中与所述第三类子块相同位置的DCT系数块;根据所述第四类子块中的DCT系数块,对所述无损压缩数据中包括的第二类子块中的每个DCT系数对应的编码结果进行第一无损解码子处理,得到所述第二类子块中的每个DCT系数,其中,所述第二类子块为所述原始图片的量化后的DCT系数块中与所述第四类子块相同位置的DCT系数块;根据所述第一类子块中的每个DCT系数和所述第二类子块中的每个DCT系数得到所述原始图片的量化后的DCT系数块。
其中,所述第二无损解码子处理,包括:根据所述第三类子块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,所述目标DCT系数为所述第一类子块中与所述当前DCT系数相同位置的DCT系数;根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表;根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的差值的编码结果进行算术解码,得到所述目标DCT系数对应的差值,所述目标DCT系数对应的差值为所述目标DCT系数与所述当前DCT系数的差值;将所述目标DCT系数对应的差值与所述当前DCT系数相加,得到所述目标DCT系数。
其中,所述第一无损解码子处理,包括:根据所述第四类子块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,所述目标DCT系数为所述第二类子块中与所述当前DCT系数相同位置的DCT系数;根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表;根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数的编码结果进行算术解码,得到所述目标DCT系数。
可选的,所述解码模块44根据所述参考图片的量化后的DCT系数块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,包括:确定所述当前DCT系数为所述目标DCT系数的概率表参数;所述解码模块44根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表,包括:根据所述当前DCT系数查询得到所述目标DCT系数对应的概率表。
可选的,所述解码模块44根据所述第三类子块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,包括:确定所述当前DCT系数为所述目标DCT系数的概率表参数。所述解码模块44根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表,包括:根据所述当前DCT系数查询得到所述目标DCT系数对应的概率表。
可选的,所述解码模块44根据所述第四类子块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,包括:确定所述当前DCT系数为所述目标DCT系数的概率表参数。所述解码模块44根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表,包括:根据所述当前DCT系数查询得到所述目标DCT系数对应的概率表。
可选的,所述解码模块44根据所述参考图片的量化后的DCT系数块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,包括:对所述当前DCT系数进行哥伦布编码,得到所述当前DCT系数对应的哥伦布码流,所述当前DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值;根据所述当前DCT系数对应的哥伦布码流,确定所述目标DCT系数对应的哥伦布码流中每个比特位的概率表参数。所述解码模块44根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表,包括:根据所述目标DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定所述每个比特位的概率表。所述解码模块44根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数的编码结果进行算术解码,得到所述目标DCT系数,包括:根据所述目标DCT系数对应的哥伦布码流中每个比特位的概率表,对所述无损压缩数据中包括的所述目标DCT系数的编码结果进行算术解码,得到所述目标DCT系数。
可选的,所述解码模块44根据所述参考图片的量化后的DCT系数块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,包括:对所述当前DCT系数进行哥伦布编码,得到所述当前DCT系数对应的哥伦布码流,所述当前DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值。所述解码模块44根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表,包括:根据所述目标DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定所述每个比特位的概率表。所述解码模块44根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的差值的编码结果进行算术解码,得到所述目标DCT系数对应的差值,包括:根据所述目标DCT系数对应的哥伦布码流中每个比特位的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的差值的编码结果进行算术解码,得到所述目标DCT系数对应的差值。
可选的,所述解码模块44根据所述第三类子块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,包括:对所述当前DCT系数进行哥伦布编码,得到所述当前DCT系数对应的哥伦布码流,所述当前DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值。所述解码模块44根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表,包括:根据所述目标DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定所述每个比特位的概率表。所述解码模块44根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的差值的编码结果进行算术解码,得到所述目标DCT系数对应的差值,包括:根据所述目标DCT系数对应的哥伦布码流中每个比特位的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的差值的编码结果进行算术解码,得到所述目标DCT系数对应的差值。
可选的,所述解码模块44根据所述第四类子块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,包括:对所述当前DCT系数进行哥伦布编码,得到所述当前DCT系数对应的哥伦布码流,所述当前DCT系数对应的哥伦布码流包括预测码长、预测符号位和预测绝对值。解码模块44根据所述当前DCT系数对应的哥伦布码流,确定所述目标DCT系数对应的哥伦布码流中每个比特位的概率表参数。所述根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表,包括:根据所述目标DCT系数对应的哥伦布码流中每个比特位的概率表参数,确定所述每个比特位的概率表;根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数的编码结果进行算术解码,得到所述目标DCT系数,包括:根据所述目标DCT系数对应的哥伦布码流中每个比特位的概率表,对所述无损压缩数据中包括的所述目标DCT系数的编码结果进行算术解码,得到所述目标DCT系数。
可选的,所述目标DCT系数对应的哥伦布码流中包括目标码长、目标符号位和目标绝对值;所述目标码长中的每个比特位的概率表参数包括:所述预测码长、该DCT系数的位置信息以及该比特位的前一比特位值,其中,该比特位的前一比特位为与该比特位使用相同概率表的前一比特位;所述目标符号位的概率表参数包括所述预测符号位;所述目标绝对值中的每个比特位的概率表参数包括:所述预测绝对值、该DCT系数的位置信息以及该比特位的前一比特位值。
可选的,所述原始图片为联合摄像专家组JPEG格式的图片,解码模块44对所述参考图片的DCT系数块采用与编码端相同的划分方式进行区域划分,得到第一类子块和第二类子块,包括:将所述参考图片的DCT系数块划分为四个子块:DC子块、7×1AC子块、1×7AC子块和7×7AC子块;确定所述DC子块、7×1AC子块和1×7AC子块为第一类子块,所述7×7AC子块为第二类子块。
可选的,当只接收到一个码流文件时,所述码流文件中还包括文件头,所述文件头中包括所述无损压缩数据的地址偏移和所述有损压缩数据的地址偏移;第一获取模块42具体用于:从所述码流文件中解码得到所述文件头,根据所述无损压缩数据的地址偏移和所述有损压缩数据的地址偏移,从所述码流文件中解码得到所述有损压缩数据和所述无损压缩数据。
当接收到两个码流文件时,第一获取模块42具体用于:分别从所述两个码流文件中解码得到所述有损压缩数据和所述无损压缩数据。
可选的,所述原始图片为JPEG格式的图片,所述解码采用的解码方式为哈夫曼解码。
可选的,还包括删除模块,用于在所述码流文件满足删除条件时,只删除所述码流文件中的所述无损压缩数据。
本实施例的装置,可以用于执行上述图片解压缩方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
以上各个模块或单元都可以通过软件、硬件或软件硬件结合的方式来实现,例如,上述第一获取模块41、第二获取模块42、解码模块43以及编码模块44可以都基于软件实现。
本申请中,“通过软件实现”是指处理器读取并执行存储在存储器中的程序指令来实现上述模块或单元所对应的功能,其中,处理器是指具有执行程序指令功能的处理电路,包括但不限于以下至少一种:中央处理单元(central processing unit,CPU)、微处理器、数字信号处理器(digital signal processing,DSP)、微控制器(microcontroller unit,MCU)、或人工智能处理器等各类能够运行程序指令的处理电路。在另一些实施例中,处理器还可以包括其他处理功能的电路(如用于硬件加速的硬件电路、总线和接口电路等)。处理器可以以集成芯片的形式呈现,例如,以处理功能仅包括执行软件指令功能的集成芯片的形式呈现,或者还可以以SoC(system on a chip,片上系统)的形式呈现,即在一个芯片上,除了包括能够运行程序指令的处理电路(通常被称为“核”)外,还包括其他用于实现特定功能的硬件电路(可以是基于ASIC、FPGA实现),相应的,处理功能除了包括执行软件指令功能外,还可以包括各种硬件加速功能(如AI计算、编解码、压缩解压等)。
本申请中,“通过硬件实现”是指通过不具有程序指令处理功能的硬件处理电路来实现上述模块或者单元的功能,该硬件处理电路可以通过分立的硬件元器件组成,也可以是集成电路。为了减少功耗、降低尺寸,通常会采用集成电路的形式来实现。硬件处理电路可以包括ASIC(application-specific integrated circuit,专用集成电路),或者PLD(programmable logic device,可编程逻辑器件);其中,PLD又可包括FPGA(fieldprogrammable gate array,现场可编程门阵列)、CPLD(complex programmable logicdevice,复杂可编程逻辑器件)等等。这些硬件处理电路可以是单独封装的一块半导体芯片,也可以跟其他电路(如CPU、DSP)集成在一起后封装成一个半导体芯片。例如,可以将ASIC与CPU集成在一起组成SoC,并单独封装成一个芯片,或者也可以将FPGA与CPU集成在一起组成SoPC(system on a programmable chip,可编程片上系统)。
需要说明的是,本申请在通过软件、硬件或者软件硬件结合的方式实现时,可以使用不同的软件、硬件,并不限定只使用一种软件或者硬件。例如,其中,其中一个模块或者单元可以使用CPU来实现,另一个模块或者单元可以使用DSP来实现。同理,当使用硬件实现时,其中一个模块或者单元可以使用ASIC来实现,另一个模块或者单元可以使用FPGA实现。当然,也不限定部分或者所有的模块或者单元使用同一种软件(如都通过CPU)或者同一种硬件(如都通过ASIC)来实现。此外,对于本领域技术人员,可以知道,软件通常来说灵活性更好,但性能不如硬件,而硬件正好相反,因此,本领域技术人员可以结合实际需求来选择软件或者硬件或者两者结合的形式来实现。
图30为本申请实施例的译码设备的一种实现方式的示意性框图(编码设备或解码设备或图像处理设备均可称为译码设备)。其中,译码设备可以包括处理器51、存储器52和总线系统53。其中,处理器51和存储器52通过总线系统53相连,该存储器52用于存储指令,该处理器51用于执行该存储器52存储的指令。在译码设备为编码设备时,编码设备的存储器52存储程序代码,且处理器51可以调用存储器52中存储的程序代码执行本申请描述的图片压缩方法。在译码设备为解码设备时,解码设备的存储器52存储程序代码,且处理器51可以调用存储器52中存储的程序代码执行本申请描述的图片解压缩方法。在译码设备为图像处理设备时,图像处理设备的存储器52存储程序代码,且处理器51可以调用存储器52中存储的程序代码执行本申请描述的图片压缩方法和图片解压缩方法。
在本申请实施例中,该处理器51可以是中央处理单元(Central ProcessingUnit,简称为“CPU”),该处理器51还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器52可以包括只读存储器(ROM)设备或者随机存取存储器(RAM)设备。任何其他适宜类型的存储设备也可以用作存储器52。存储器52可以包括由处理器51使用总线系统53访问的代码和数据。存储器52可以进一步包括操作系统和应用程序,该应用程序包括允许处理器51执行本申请描述的图片压缩方法或者图片解压缩方法的至少一个程序。例如,应用程序可以包括应用1至N,其进一步包括执行在本申请描述的图片压缩方法或者图片解压缩方法的图像编码或图像解码应用。
该总线系统53除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统53。
可选的,译码设备还可以包括一个或多个输出设备,诸如显示器54。在一个示例中,显示器54可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器54可以经由总线系统53连接到处理器51。
本申请实施例提供一种计算机存储介质,包括:计算机可执行指令,所述计算机可执行指令用于实现本申请描述的图片压缩方法和/或图片解压缩方法。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (33)

1.一种图片压缩方法,其特征在于,包括:
对原始图片进行解码得到所述原始图片的量化后的离散余弦变换DCT系数块;
获取所述原始图片的有损压缩数据;
获取所述原始图片的参考图片的量化后的DCT系数块,所述参考图片为跟所述原始图片相似的图片;
根据所述参考图片的量化后的DCT系数块对所述原始图片的量化后的DCT系数块进行无损压缩,得到所述原始图片的无损压缩数据,其中,所述无损压缩是根据所述原始图片的量化后的DCT系数块中的当前DCT系数的概率表进行,所述概率表是根据概率表参数得到的,所述概率表参数是根据所述原始图片量化后的DCT系数块中的当前DCT系数对应的预测DCT系数确定的;
根据所述无损压缩数据以及所述有损压缩数据生成一个或多个码流文件,所述一个或多个码流文件中包括所述无损压缩数据和所述有损压缩数据,所述有损压缩数据用于解码端获取所述参考图片的量化后的DCT系数块。
2.根据权利要求1所述的方法,其特征在于,所述根据所述参考图片的量化后的DCT系数块对所述原始图片的量化后的DCT系数块进行无损压缩,得到所述原始图片的无损压缩数据,包括:
根据所述参考图片的量化后的DCT系数块,对所述原始图片的量化后的DCT系数块中的每个DCT系数进行第一无损压缩子处理,得到所述每个DCT系数对应的无损压缩子数据;
根据所述每个DCT系数对应的无损压缩子数据得到所述无损压缩数据;
其中,所述第一无损压缩子处理包括:
根据所述原始图片的量化后的DCT系数块中的当前DCT系数对应的预测DCT系数确定所述当前DCT系数的概率表参数,其中,所述预测DCT系数为所述参考图片的量化后的DCT系数块中与所述当前DCT系数的位置相同的DCT系数;
根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表;
根据所述当前DCT系数对应的概率表,对所述当前DCT系数进行算术编码,所述当前DCT系数对应的编码结果为所述当前DCT系数对应的无损压缩子数据。
3.根据权利要求1所述的方法,其特征在于,所述根据所述参考图片的量化后的DCT系数块对所述原始图片的量化后的DCT系数块进行无损压缩,得到所述原始图片的无损压缩数据,包括:
根据所述参考图片的量化后的DCT系数块,对所述原始图片的量化后的DCT系数块中的每个DCT系数进行第二无损压缩子处理,得到所述每个DCT系数对应的无损压缩子数据;
根据所述每个DCT系数对应的无损压缩子数据得到所述无损压缩数据;
其中,所述第二无损压缩子处理包括:
根据所述原始图片的量化后的DCT系数块中的当前DCT系数对应的预测DCT系数确定所述当前DCT系数的概率表参数,其中,所述预测DCT系数为所述参考图片的量化后的DCT系数块中与所述当前DCT系数的位置相同的DCT系数;
根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表;
计算所述当前DCT系数对应的差值,所述差值为所述当前DCT系数与所述预测DCT系数的差值;
根据所述当前DCT系数对应的概率表,对所述当前DCT系数对应的差值进行算术编码,所述当前DCT系数对应的编码结果为所述当前DCT系数对应的无损压缩子数据。
4.根据权利要求1所述的方法,其特征在于,所述根据所述参考图片的量化后的DCT系数块,对所述原始图片的量化后的DCT系数块进行无损压缩,得到所述原始图片的无损压缩数据,包括:
对所述原始图片的量化后的DCT系数块采用第一划分方式进行区域划分,得到第一类子块和第二类子块;
对所述参考图片的量化后的DCT系数块采用所述第一划分方式进行区域划分,得到第三类子块和第四类子块,所述第三类子块在所述参考图片中的位置与所述第一类子块在所述原始图片中的位置相同,所述第四类子块在所述参考图片中的位置与所述第二类子块在所述原始图片中的位置相同;
根据所述第三类子块,对所述第一类子块中的每个DCT系数进行第二无损压缩子处理,得到所述第一类子块中的每个DCT系数对应的无损压缩子数据;
根据所述第四类子块,对所述第二类子块中的每个DCT系数进行第一无损压缩子处理,得到所述第二类子块中的每个DCT系数对应的无损压缩子数据;
根据所述第一类子块中的每个DCT系数对应的无损压缩子数据,以及所述第二类子块中的每个DCT系数对应的无损压缩子数据,得到所述无损压缩数据;
所述第二无损压缩子处理包括:
根据所述第一类子块中的当前DCT系数对应的预测DCT系数,确定所述当前DCT系数的概率表参数,所述预测DCT系数为所述第三类子块中与所述当前DCT系数的位置相同的DCT系数;
根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表;
计算所述当前DCT系数对应的差值,所述差值为所述当前DCT系数与所述预测DCT系数的差值;
根据所述当前DCT系数对应的概率表,对所述当前DCT系数对应的差值进行算术编码,所述当前DCT系数对应的编码结果为所述当前DCT系数对应的无损压缩子数据;
所述第一无损压缩子处理包括:
根据所述第二类子块中的当前DCT系数对应的预测DCT系数,确定所述当前DCT系数的概率表参数,所述预测DCT系数为所述第四类子块中与所述当前DCT系数的位置相同的DCT系数;
根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表;
根据所述当前DCT系数对应的概率表,对所述当前DCT系数进行算术编码,所述当前DCT系数对应的编码结果为所述当前DCT系数对应的无损压缩子数据。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述获取所述原始图片的有损压缩数据,包括:
对所述原始图片进行有损压缩处理得到所述有损压缩数据;
所述获取所述原始图片的参考图片的量化后的DCT系数块,包括:
对所述有损压缩数据进行图像重建处理得到重建图片,所述重建图片为所述参考图片;
对所述重建图片进行解码得到所述参考图片的量化后的DCT系数块。
6.根据权利要求5所述的方法,其特征在于,所述对所述原始图片进行有损压缩处理得到所述有损压缩数据,包括:
使用图像下采样方法对所述原始图片进行下采样得到下采样图片;
使用有损压缩算法或者无损压缩算法,对所述下采样图片进行压缩,得到所述有损压缩数据。
7.根据权利要求1-4中任一项所述的方法,其特征在于,所述有损压缩数据为所述原始图片的下采样图片的存储地址信息;
所述获取所述原始图片的参考图片的量化后的DCT系数块,包括:
根据所述下采样图片的存储地址信息,得到所述下采样图片;
对所述下采样图片进行图像重建处理得到重建图片;
对所述重建图片进行解码得到所述参考图片的量化后的DCT系数块,所述重建图片为所述参考图片。
8.根据权利要求1-4中任一项所述的方法,其特征在于,所述获取所述原始图片的有损压缩数据,包括:
获取所述原始图片所属的视频流;
根据所述原始图片的生成时间,从所述视频流中确定所述参考图片,所述有损压缩数据为所述参考图片的存储地址信息;
所述获取所述原始图片的参考图片的量化后的DCT系数块,包括:
对所述参考图片进行解码,得到所述参考图片的量化后的DCT系数块。
9.根据权利要求1-6中任一项所述的方法,其特征在于,当只生成一个码流文件时,所述码流文件中还包括文件头,所述文件头中包括所述无损压缩数据的地址偏移和所述无损压缩数据的地址偏移。
10.根据权利要求1-6中任一项所述的方法,其特征在于,所述原始图片为联合摄像专家组JPEG格式的图片,所述解码采用的解码方式为哈夫曼解码。
11.一种图片解压缩方法,其特征在于,包括:
接收编码端发送的一个或者多个码流文件,所述一个或多个码流文件中包括原始图片的无损压缩数据和有损压缩数据;
从所述一个或者多个码流文件中获取所述有损压缩数据和所述无损压缩数据;
根据所述有损压缩数据,获取所述原始图片的参考图片的量化后的离散余弦变换DCT系数块,所述参考图片为跟所述原始图片相似的图片;
根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据进行解码,得到所述原始图片的量化后的DCT系数块,其中,所述解码是根据所述参考图片的量化后的DCT系数块中的目标DCT系数的概率表进行,所述概率表是根据概率表参数得到的,所述概率表参数是根据所述参考图片的量化后的DCT系数块中的目标DCT系数对应的当前DCT系数确定的;
对所述原始图片的量化后的DCT系数块进行编码得到所述原始图片。
12.根据权利要求11所述的方法,其特征在于,所述根据所述有损压缩数据,获取所述原始图片的参考图片的量化后的DCT系数块,包括:
对所述有损压缩数据进行图像重建处理得到重建图片,所述重建图片为所述参考图片;
对所述重建图片进行解码得到所述参考图片的量化后的DCT系数块。
13.根据权利要求12所述的方法,其特征在于,当所述有损压缩数据为所述原始图片的下采样图片的存储地址信息时,所述根据所述有损压缩数据,获取所述原始图片的参考图片的量化后的DCT系数块,包括:
根据所述下采样图片的存储地址信息,获取到所述下采样图片;
对所述下采样图片进行图像重建处理得到重建图片,所述重建图片为所述参考图片;
对所述重建图片进行解码得到所述参考图片的量化后的DCT系数块。
14.根据权利要求12所述的方法,其特征在于,当所述有损压缩数据为所述参考图片的存储地址信息,所述参考图片的大小与所述原始图片相同,所述参考图片为所述原始图片所属视频流中与所述原始图片生成时间相邻的图片;
所述根据所述有损压缩数据,获取所述原始图片的参考图片的量化后的DCT系数块,包括:
根据所述参考图片的存储地址信息,获取所述参考图片;
对所述参考图片进行解码得到所述参考图片的量化后的DCT系数块。
15.根据权利要求11-14中任一项所述的方法,其特征在于,所述根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据进行解码,得到所述原始图片的量化后的DCT系数块,包括:
根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据中包括的所述原始图片的量化后的DCT系数块中的每个DCT系数对应的编码结果进行第一无损解码子处理,得到所述每个DCT系数;
根据所述每个DCT系数得到所述原始图片的量化后的DCT系数块;
其中,所述第一无损解码子处理,包括:
根据所述参考图片的量化后的DCT系数块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,所述目标DCT系数为所述原始图片中与所述当前DCT系数相同位置的DCT系数;
根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表;
根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的编码结果进行算术解码,得到所述目标DCT系数。
16.根据权利要求11-14中任一项所述的方法,其特征在于,所述根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据进行解码,得到所述原始图片的量化后的DCT系数块,包括:
根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据中包括的所述原始图片的量化后的DCT系数块中的每个DCT系数对应的编码结果进行第二无损解码子处理,得到所述每个DCT系数;
根据所述每个DCT系数得到所述原始图片的量化后的DCT系数块;
其中,所述第二无损解码子处理,包括:
根据所述参考图片的量化后的DCT系数块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,所述目标DCT系数为所述原始图片中与当前预测DCT系数相同位置的DCT系数;
根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表;
根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的差值的编码结果进行算术解码,得到所述目标DCT系数对应的差值,所述目标DCT系数对应的差值为所述目标DCT系数与所述当前DCT系数的差值;
将所述目标DCT系数对应的差值与所述当前DCT系数相加,得到所述目标DCT系数。
17.根据权利要求11-14中任一项所述的方法,其特征在于,所述根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据进行解码,得到所述原始图片的量化后的DCT系数块,包括:
对所述参考图片的量化后的DCT系数块采用与编码端相同的划分方式进行区域划分,得到第三类子块和第四类子块;
根据所述第三类子块中的DCT系数块,对所述无损压缩数据中包括的第一类子块中的每个DCT系数对应的编码结果进行第二无损解码子处理,得到所述第一类子块中的每个DCT系数,其中,所述第一类子块为所述原始图片的量化后的DCT系数块中与所述第三类子块相同位置的DCT系数块;
根据所述第四类子块中的DCT系数块,对所述无损压缩数据中包括的第二类子块中的每个DCT系数对应的编码结果进行第一无损解码子处理,得到所述第二类子块中的每个DCT系数,其中,所述第二类子块为所述原始图片的量化后的DCT系数块中与所述第四类子块相同位置的DCT系数块;
根据所述第一类子块中的每个DCT系数和所述第二类子块中的每个DCT系数得到所述原始图片的量化后的DCT系数块;
其中,所述第二无损解码子处理,包括:
根据所述第三类子块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,所述目标DCT系数为所述第一类子块中与所述当前DCT系数相同位置的DCT系数;
根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表;
根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的差值的编码结果进行算术解码,得到所述目标DCT系数对应的差值,所述目标DCT系数对应的差值为所述目标DCT系数与所述当前DCT系数的差值;
将所述目标DCT系数对应的差值与所述当前DCT系数相加,得到所述目标DCT系数;
其中,所述第一无损解码子处理,包括:
根据所述第四类子块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,所述目标DCT系数为所述第二类子块中与所述当前DCT系数相同位置的DCT系数;
根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表;
根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数的编码结果进行算术解码,得到所述目标DCT系数。
18.根据权利要求11-14中任一项所述的方法,其特征在于,当只接收到一个码流文件时,所述码流文件中还包括文件头,所述文件头中包括所述无损压缩数据的地址偏移和所述有损压缩数据的地址偏移;
从所述码流文件中获取所述有损压缩数据和所述无损压缩数据,包括:
从所述码流文件中解码得到所述文件头;
根据所述无损压缩数据的地址偏移和所述有损压缩数据的地址偏移,从所述码流文件中解码得到所述有损压缩数据和所述无损压缩数据。
19.根据权利要求11-14中任一项所述的方法,其特征在于,所述原始图片为JPEG格式的图片,所述解码采用的解码方式为哈夫曼解码。
20.一种图像显示方法,所述方法应用在终端设备中,所述终端设备包括处理器、存储器和显示屏,所述存储器中存储有原始图片的一个或者多个码流文件,所述一个或多个码流文件中包括所述原始图片的无损压缩数据和有损压缩数据;
所述处理器获取原始图片的下采样图片;
所述显示屏显示所述下采样图片;
所述处理器接收用户对所述下采样图片的查看指令,所述查看指令用于查看所述原始图片,采用权利要求11-19任一项所述图片解压缩方法对所述原始图片的无损压缩数据和有损压缩数据进行解压缩处理,得到所述原始图片;
所述显示屏显示所述原始图片。
21.一种图片压缩装置,其特征在于,包括:
解码模块,用于对原始图片进行解码得到所述原始图片的量化后的离散余弦变换DCT系数块;
第一获取模块,用于获取所述原始图片的有损压缩数据;
第二获取模块,用于获取所述原始图片的参考图片的量化后的DCT系数块,所述参考图片为跟所述原始图片相似的图片;
无损压缩模块,用于根据所述参考图片的量化后的DCT系数块对所述原始图片的量化后的DCT系数块进行无损压缩,得到所述原始图片的无损压缩数据,其中,所述无损压缩是根据所述原始图片的量化后的DCT系数块中的当前DCT系数的概率表进行,所述概率表是根据概率表参数得到的,所述概率表参数是根据所述原始图片量化后的DCT系数块中的当前DCT系数对应的预测DCT系数确定的;
生成模块,用于根据所述无损压缩数据以及所述有损压缩数据生成一个或多个码流文件,所述一个或多个码流文件中包括所述无损压缩数据和所述有损压缩数据,所述有损压缩数据用于解码端获取所述参考图片的量化后的DCT系数块。
22.根据权利要求21所述的装置,其特征在于,所述无损压缩模块具体用于:
根据所述参考图片的量化后的DCT系数块,对所述原始图片的量化后的DCT系数块中的每个DCT系数进行第一无损压缩子处理,得到所述每个DCT系数对应的无损压缩子数据;
根据所述每个DCT系数对应的无损压缩子数据得到所述无损压缩数据;
其中,所述第一无损压缩子处理包括:
根据所述原始图片的量化后的DCT系数块中的当前DCT系数对应的预测DCT系数确定所述当前DCT系数的概率表参数,其中,所述预测DCT系数为所述参考图片的量化后的DCT系数块中与所述当前DCT系数的位置相同的DCT系数;
根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表;
根据所述当前DCT系数对应的概率表,对所述当前DCT系数进行算术编码,所述当前DCT系数对应的编码结果为所述当前DCT系数对应的无损压缩子数据。
23.根据权利要求22所述的装置,其特征在于,所述无损压缩模块具体用于:
根据所述参考图片的量化后的DCT系数块,对所述原始图片的量化后的DCT系数块中的每个DCT系数进行第二无损压缩子处理,得到所述每个DCT系数对应的无损压缩子数据;
根据所述每个DCT系数对应的无损压缩子数据得到所述无损压缩数据;
其中,所述第二无损压缩子处理包括:
根据所述原始图片的量化后的DCT系数块中的当前DCT系数对应的预测DCT系数确定所述当前DCT系数的概率表参数,其中,所述预测DCT系数为所述参考图片的量化后的DCT系数块中与所述当前DCT系数的位置相同的DCT系数;
根据所述当前DCT系数的概率表参数,确定所述当前DCT系数对应的概率表;
计算所述当前DCT系数对应的差值,所述差值为所述当前DCT系数与所述预测DCT系数的差值;
根据所述当前DCT系数对应的概率表,对所述当前DCT系数对应的差值进行算术编码,所述当前DCT系数对应的编码结果为所述当前DCT系数对应的无损压缩子数据。
24.根据权利要求21-23中任一项所述的装置,其特征在于,所述第一获取模块具体用于:
对所述原始图片进行有损压缩处理得到所述有损压缩数据;
所述第二获取模块具体用于:
对所述有损压缩数据进行图像重建处理得到重建图片,所述重建图片为所述参考图片;
对所述重建图片进行解码得到所述参考图片的量化后的DC系数块。
25.根据权利要求24所述的装置,其特征在于,所述第一获取模块对所述原始图片进行有损压缩处理得到所述有损压缩数据,包括:
使用图像下采样装置对所述原始图片进行下采样得到下采样图片;
使用有损压缩算法或者无损压缩算法,对所述下采样图片进行压缩,得到所述有损压缩数据。
26.根据权利要求21-23中任一项所述的装置,其特征在于,所述第一获取模块具体用于:
获取所述原始图片所属的视频流;
根据所述原始图片的生成时间,从所述视频流中确定所述参考图片,所述有损压缩数据为所述参考图片的存储地址信息;
所述第二获取模块具体用于:
对所述参考图片进行解码,得到所述参考图片的量化后的DCT系数块。
27.一种图片解压缩装置,其特征在于,包括:
接收模块,用于接收编码端发送的一个或者多个码流文件,所述一个或多个码流文件中包括原始图片的无损压缩数据和有损压缩数据;
第一获取模块,用于从所述一个或者多个码流文件中获取所述有损压缩数据和所述无损压缩数据;
第二获取模块,用于根据所述有损压缩数据,获取所述原始图片的参考图片的量化后的离散余弦变换DCT系数块,所述参考图片为跟所述原始图片相似的图片;
解码模块,用于根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据进行解码,得到所述原始图片的量化后的DCT系数块,其中,所述解码是根据所述参考图片的量化后的DCT系数块中的目标DCT系数的概率表进行,所述概率表是根据概率表参数得到的,所述概率表参数是根据所述参考图片的量化后的DCT系数块中的目标DCT系数对应的当前DCT系数确定的;
编码模块,用于对所述原始图片的量化后的DCT系数块进行编码得到所述原始图片。
28.根据权利要求27所述的装置,其特征在于,所述第二获取模块具体用于:
对所述有损压缩数据进行图像重建处理得到重建图片,所述重建图片为所述参考图片;
对所述重建图片进行解码得到所述参考图片的量化后的DCT系数块。
29.根据权利要求27所述的装置,其特征在于,当所述有损压缩数据为所述原始图片的下采样图片的存储地址信息时,所述第二获取模块具体用于:
根据所述下采样图片的存储地址信息,获取到所述下采样图片;
对所述下采样图片进行图像重建处理得到重建图片,所述重建图片为所述参考图片;
对所述重建图片进行解码得到所述参考图片的量化后的DCT系数块。
30.根据权利要求27所述的装置,其特征在于,当所述有损压缩数据为所述参考图片的存储地址信息,所述参考图片的大小与所述原始图片相同,所述参考图片为所述原始图片所属视频流中与所述原始图片生成时间相邻的图片;
所述第二获取模块具体用于:
根据所述参考图片的存储地址信息,获取所述参考图片;
对所述参考图片进行解码得到所述参考图片的量化后的DCT系数块。
31.根据权利要求27-30中任一项所述的装置,其特征在于,所述解码模块具体用于:
根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据中包括的所述原始图片的量化后的DCT系数块中的每个DCT系数对应的编码结果进行第一无损解码子处理,得到所述每个DCT系数;
根据所述每个DCT系数得到所述原始图片的量化后的DCT系数块;
其中,所述第一无损解码子处理,包括:
根据所述参考图片的量化后的DCT系数块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,所述目标DCT系数为所述原始图片中与所述当前DCT系数相同位置的DCT系数;
根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表;
根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的编码结果进行算术解码,得到所述目标DCT系数。
32.根据权利要求27-30中任一项所述的装置,其特征在于,所述解码模块具体用于:
根据所述参考图片的量化后的DCT系数块,对所述无损压缩数据中包括的所述原始图片的量化后的DCT系数块中的每个DCT系数对应的编码结果进行第二无损解码子处理,得到所述每个DCT系数;
根据所述每个DCT系数得到所述原始图片的量化后的DCT系数块;
其中,所述第二无损解码子处理,包括:
根据所述参考图片的量化后的DCT系数块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,所述目标DCT系数为所述原始图片中与当前预测DCT系数相同位置的DCT系数;
根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表;
根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的差值的编码结果进行算术解码,得到所述目标DCT系数对应的差值,所述目标DCT系数对应的差值为所述目标DCT系数与所述当前DCT系数的差值;
将所述目标DCT系数对应的差值与所述当前DCT系数相加,得到所述目标DCT系数。
33.根据权利要求27-30中任一项所述的装置,其特征在于,所述解码模块具体用于:
对所述参考图片的量化后的DCT系数块采用与编码端相同的划分方式进行区域划分,得到第三类子块和第四类子块;
根据所述第三类子块中的DCT系数块,对所述无损压缩数据中包括的第一类子块中的每个DCT系数对应的编码结果进行第二无损解码子处理,得到所述第一类子块中的每个DCT系数,其中,所述第一类子块为所述原始图片的量化后的DCT系数块中与所述第三类子块相同位置的DCT系数块;
根据所述第四类子块中的DCT系数块,对所述无损压缩数据中包括的第二类子块中的每个DCT系数对应的编码结果进行第一无损解码子处理,得到所述第二类子块中的每个DCT系数,其中,所述第二类子块为所述原始图片的量化后的DCT系数块中与所述第四类子块相同位置的DCT系数块;
根据所述第一类子块中的每个DCT系数和所述第二类子块中的每个DCT系数得到所述原始图片的量化后的DCT系数块;
其中,所述第二无损解码子处理,包括:
根据所述第三类子块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,所述目标DCT系数为所述第一类子块中与所述当前DCT系数相同位置的DCT系数;
根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表;
根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数对应的差值的编码结果进行算术解码,得到所述目标DCT系数对应的差值,所述目标DCT系数对应的差值为所述目标DCT系数与所述当前DCT系数的差值;
将所述目标DCT系数对应的差值与所述当前DCT系数相加,得到所述目标DCT系数;
其中,所述第一无损解码子处理,包括:
根据所述第四类子块中的当前DCT系数,确定所述当前DCT系数对应的目标DCT系数的概率表参数,所述目标DCT系数为所述第二类子块中与所述当前DCT系数相同位置的DCT系数;
根据所述目标DCT系数对应的概率表参数,确定所述目标DCT系数对应的概率表;
根据所述目标DCT系数对应的概率表,对所述无损压缩数据中包括的所述目标DCT系数的编码结果进行算术解码,得到所述目标DCT系数。
CN201911208665.0A 2019-11-30 2019-11-30 图片压缩、解压缩方法和装置 Active CN112887713B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911208665.0A CN112887713B (zh) 2019-11-30 2019-11-30 图片压缩、解压缩方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911208665.0A CN112887713B (zh) 2019-11-30 2019-11-30 图片压缩、解压缩方法和装置

Publications (2)

Publication Number Publication Date
CN112887713A CN112887713A (zh) 2021-06-01
CN112887713B true CN112887713B (zh) 2022-06-28

Family

ID=76039326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911208665.0A Active CN112887713B (zh) 2019-11-30 2019-11-30 图片压缩、解压缩方法和装置

Country Status (1)

Country Link
CN (1) CN112887713B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742003B (zh) * 2021-09-15 2023-08-22 深圳市朗强科技有限公司 一种基于fpga芯片的程序代码执行方法及设备
CN114726380B (zh) * 2022-06-07 2022-09-02 西南交通大学 一种监测数据无损压缩方法、装置、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1163686A (zh) * 1995-06-20 1997-10-29 株式会社理光 编码方法及系统以及译码方法及系统
JP2013110701A (ja) * 2011-11-24 2013-06-06 Samsung Yokohama Research Institute Co Ltd 画像処理装置、画像処理方法、およびプログラム
CN103918261A (zh) * 2011-07-21 2014-07-09 卢卡·罗萨托 分层信号质量层级中的信号处理和继承
CN108141594A (zh) * 2015-10-13 2018-06-08 三星电子株式会社 用于对图像进行编码或解码的方法和设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5274317B2 (ja) * 2009-03-17 2013-08-28 パナソニック株式会社 符号量推定装置、符号量推定方法、符号量推定プログラムおよび、符号量推定集積回路
KR20130085389A (ko) * 2012-01-19 2013-07-29 삼성전자주식회사 서브영역별로 엔트로피 부호화의 병렬 처리가 가능한 비디오 부호화 방법 및 장치, 서브영역별로 엔트로피 복호화의 병렬 처리가 가능한 비디오 복호화 방법 및 장치
US20150256827A1 (en) * 2012-09-28 2015-09-10 Mitsubishi Electric Corporation Video encoding device, video decoding device, video encoding method, and video decoding method
US10986354B2 (en) * 2018-04-16 2021-04-20 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1163686A (zh) * 1995-06-20 1997-10-29 株式会社理光 编码方法及系统以及译码方法及系统
CN103918261A (zh) * 2011-07-21 2014-07-09 卢卡·罗萨托 分层信号质量层级中的信号处理和继承
JP2013110701A (ja) * 2011-11-24 2013-06-06 Samsung Yokohama Research Institute Co Ltd 画像処理装置、画像処理方法、およびプログラム
CN108141594A (zh) * 2015-10-13 2018-06-08 三星电子株式会社 用于对图像进行编码或解码的方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于哈弗曼编码的图像压缩技术研究;田端财,殷晓丽;《科技资讯》;20090320;全文 *

Also Published As

Publication number Publication date
CN112887713A (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
JP7261300B2 (ja) 適応ポイントクラウド属性コーディングのための方法、装置、及びコンピュータプログラム
EP4022903A1 (en) Block-based predictive coding for point cloud compression
Yang et al. An overview of lossless digital image compression techniques
CN113424547A (zh) 点云属性编解码的加权中值预测的技术和装置
CN109842803B (zh) 一种图像压缩的方法及装置
RU2769460C1 (ru) Способ и устройство для кодирования коэффициентов трансформации с алфавитным разделением для сжатия облака точек
JP2013518464A (ja) Example−based超解像を用いたビデオ圧縮のためのデータプルーニング
CN114424247A (zh) 用于点云编码的方法及装置
CN113795870B (zh) 一种对点云属性编解码的方法、装置及存储介质
CN105474642A (zh) 使用频域差对图像集合进行重新编码
CN112887713B (zh) 图片压缩、解压缩方法和装置
CN103581684A (zh) 压缩编码和解码方法及装置
Kabir et al. Edge-based transformation and entropy coding for lossless image compression
RU2683614C2 (ru) Кодер, декодер и способ работы с использованием интерполяции
CN114598883A (zh) 点云属性的预测方法、编码器、解码器及存储介质
CN112449191B (zh) 压缩多个图像的方法、解压缩图像的方法和装置
JP2024505798A (ja) 点群符号化・復号化方法及びシステム、点群符号器並びに点群復号器
Padmavati et al. DCT combined with fractal quadtree decomposition and Huffman coding for image compression
US20050232362A1 (en) High-speed image compression apparatus using last non-zero detection circuit
Rao et al. Evaluation of lossless compression techniques
CN113115019B (zh) 视频编解码方法、装置、计算机设备及存储介质
Shaila et al. Block encoding of color histogram for content based image retrieval applications
CN113422965A (zh) 一种基于生成对抗网络的图像压缩方法及装置
WO2024007144A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
CN107172425B (zh) 缩略图生成方法、装置及终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant