CN112449191B - 压缩多个图像的方法、解压缩图像的方法和装置 - Google Patents

压缩多个图像的方法、解压缩图像的方法和装置 Download PDF

Info

Publication number
CN112449191B
CN112449191B CN201910797239.9A CN201910797239A CN112449191B CN 112449191 B CN112449191 B CN 112449191B CN 201910797239 A CN201910797239 A CN 201910797239A CN 112449191 B CN112449191 B CN 112449191B
Authority
CN
China
Prior art keywords
image
block
blocks
similar
quantized
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
CN201910797239.9A
Other languages
English (en)
Other versions
CN112449191A (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 CN201910797239.9A priority Critical patent/CN112449191B/zh
Publication of CN112449191A publication Critical patent/CN112449191A/zh
Application granted granted Critical
Publication of CN112449191B publication Critical patent/CN112449191B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

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 Of Band Width Or Redundancy In Fax (AREA)

Abstract

本申请实施例提供一种压缩多个图像的方法、解压缩图像的方法和装置,多个图像包括一个参考图像和参考图像的至少一个相似图像,参考图像和相似图像分别包括多个图像块,参考图像的多个图像块与相似图像的多个图像块一一对应,该方法包括:获取参考图像中的每个图像块的量化后的第一DCT系数组;对每一个相似图像执行如下方法进行压缩,得到经编码数据:获取相似图像中的每个图像块的量化后的第二DCT系数组;基于每一对图像块所对应的一对量化后的DCT系数组的比较结果得到每一对图像块的相似度,根据每一对图像块的相似度对相似图像进行压缩编码。本申请实施例可实现图像的压缩且压缩率较高。

Description

压缩多个图像的方法、解压缩图像的方法和装置
技术领域
本申请涉及多媒体技术,尤其涉及一种压缩多个图像的方法、解压缩图像的方法和装置。
背景技术
目前,很多设备(如各种监控设备)输出的图像是以联合图像专家小组(jointphotographic experts group,简称JPEG)格式存储,由于JPEG图像的压缩率低,同时,设备本身可能会产生大量的JPEG格式的图像,此时,这些设备所需传输带宽和存储空间都会比较大,因此业界存在将JPEG图像进一步再压缩的需求。
发明内容
本申请实施例提供了一种压缩多个图像的方法、解压缩图像的方法和装置,实现了图像的压缩且压缩率较高。
第一方面,本申请实施例提供了一种压缩多个图像的方法,所述多个图像包括一个参考图像和至少一个相似图像,所述参考图像和所述相似图像分别包括多个图像块,所述参考图像的多个图像块与所述相似图像的多个图像块一一对应,所述方法包括:获取所述参考图像中的每个图像块的量化后的第一离散余弦变换DCT系数组;对每一个所述相似图像执行如下方法进行压缩,得到经编码数据:获取所述相似图像中的每个图像块的量化后的第二DCT系数组;基于每一对图像块所对应的一对量化后的DCT系数组的比较结果得到每一对图像块的相似度,根据每一对图像块的相似度对所述相似图像进行压缩编码,其中所述每一对图像块包括所述参考图像的一个图像块和所述相似图像中对应的一个图像块,所述每一对图像块所对应的一对量化后的DCT系数组包括所述参考图像的图像块的量化后的第一DCT系数组和所述相似图像中对应的图像块的量化后的第二DCT系数组。
其中,多个图像可为多个JPEG图像,也可为多个原始图像(原始图像经DCT和量化后可得到JPEG图像)。所述经编码数据包括:将所述参考图像的各图像块的量化后的第一DCT系数组经算术编码后得到的参考图像数据与所述至少一个相似图像经过压缩编码后得到的至少一个相似图像数据。
本方案中,具体来说,相似图像由于需要参考参考图像进行编解码,也即相似图像跟参考图像具有一定的相似性,这样,在编码的时候,跟参考图像重复或相似的信息就可以不需要再编码或者用更少比特进行编码以降低相似图像所占用的空间,实现了图像的压缩且压缩率较高。同时,本方案在比较一对图像块的相似度时,使用量化后的DCT系数进行比较,不需要变换到时域,这样处理起来更加方便,降低实现复杂度,减少设计成本。
本申请中,量化后的DCT系数组包括多个量化后的DCT系数,量化DCT系数可通过对YUV信号进行DCT(离散余弦变换),再进行量化后得到,具体方法为本领域技术人员所公知的技术,本申请不对量化后的DCT系数的具体获取方法进行详细介绍。
在一种可能的设计中,所述根据每一对图像块的相似度对所述相似图像进行压缩编码,包括:对于每一对图像块,根据所述一对图像块的相似度,生成用于指示所述一对图像块的相似度的指示符;根据各所述指示符,对所述相似图像进行压缩编码。可选地,所述用于指示所述一对图像块的相似度的指示符包括第一指示符,第二指示符或第三指示符,其中:第一指示符用于指示所述一对图像块完全相同,第二指示符用于指示所述一对图像块部分相同,第三指示符用于指示所述一对图像块不同。本方案中生成了指示一对图像块的相似度的指示符,可以使得解码端正确的解码已恢复相似图像。可以理解,指示符(或者指示符被压缩后生成的数据)的比特位数通常会小于待压缩的图像块的位块,这样,相比直接压缩图像块能够减少压缩位数。
在一种可能的设计中,所述第一指示符占用一个比特位,所述比特位为第一值。本方案中,第一指示符仅占一个比特,有利于实现对图像的高压缩率。
在一种可能的设计中,所述第二指示符占用两个比特,所述两个比特包括第一比特和第二比特,所述第一比特为第二值,所述第二比特为第一值。本方案中,第二指示符仅占2个比特,有利于实现对图像的高压缩率。
在一种可能的设计中,所述第三指示符占用两个比特,所述两个比特包括第一比特和第二比特,所述第一比特为第二值,所述第二比特为第二值。本方案中,第三指示符仅占2个比特,有利于实现对图像的高压缩率。
在一个实施例中,为了最大程度节约比特数,可以使用三个比特来表示上述三种指示符。即上面三个指示符可以复用三个比特中的其中一位或者两位。
在一种可能的设计中,一对图像块的相似度为:所述一对图像块中的两个图像块完全相同;或者,所述一对图像块中的两个图像块部分相同;或者,所述一对图像块中的两个图像块不同。本方案中的将相似度分为完全相同、部分相同和不同,可实现跟参考图像重复或相似的信息就不需要再编码或者用更少比特进行编码,从而降低了相似图像所占用的空间。
在一种可能的设计中,对于一对图像块中的两个图像块:如果所述两个图像块的量化后的DCT系数完全相同,则所述两个图像块完全相同;如果所述两个图像块的量化后的DCT系数组中,零分布相同且非零的量化后的DCT系数部分相同,所述两个图像块部分相同;如果所述两个图像块的量化后的DCT系数组中,零分布不相同,则所述两个图像块不同;或者,如果在所述两个图像块的量化后的DCT系数组中均不存在取值为零的DCT系数且所述两个图像块的量化后的DCT系数不完全相同,所述两个图像块不同。本方案中通过对比一对图像块中的两个图像块的量化后的DCT系数来确定一对图像块中的两个图像块的关系,由于对比一对图像块中的两个图像块的量化后的DCT系数可以准确的反应两个图像块的相似度,因此确定的两个图像块的相似度比较准确,进而按照本方案中相似图像与参考图像之间需要满足的关系来确定的相似图像在压缩编码时,相似图像占用的空间降低明显,保证了图像的高压缩率。
在一种可能的设计中,所述根据各所述指示符,对所述相似图像进行压缩编码,包括:对所述相似图像中的每个完全相同块对应的第一指示符进行算术编码;所述完全相同块与所述参考图像中的对应块的相似度为完全相同;或者,对所述相似图像中的每个部分相同块对应的第一信息进行算术编码;所述部分相同块与所述参考图像中的对应块的相似度为部分相同;或者,对所述相似图像中的每个完全相同块对应的第一指示符以及每个部分相同块对应的第一信息进行算术编码;或者,对所述相似图像中的每个部分相同块对应的第一信息以及每个不同块对应的第二信息进行算术编码;所述不同块与所述参考图像中的对应块的相似度为不同;或者,对所述相似图像中的每个完全相同块对应的第一指示符以及每个不同块对应的第二信息进行算术编码;或者,对所述相似图像中的每个完全相同块对应的第一指示符、每个部分相同块对应的第一信息以及对每个不同块对应的第二信息进行算术编码;其中,所述第一指示符指示所述完全相同块与所述参考图像中的对应块完全相同;所述第一信息包括第二指示符和所述部分相同块的量化后的DCT系数与所述参考图像的对应块的量化后的DCT系数的差值;或者,所述第一信息包括第二指示符和所述部分相同块的非零的量化后的DCT系数与所述参考图像的对应块的非零的量化后的DCT系数的差值;所述第二指示符指示所述部分相同块与所述参考图像中的对应块部分相同;所述第二信息包括第三指示符和所述不同块的量化后的DCT系数,所述第三指示符指示所述不同块与所述参考图像中的对应块不同。
本方案中,对于相似图像的完全相同块,利用与参考图像的对应块重复这一特征仅对第一指示符进行算术编码,对于相似图像的部分相同块,利用与参考图像的对应块部分相同这一特征仅对第二指示符和上述的量化后的DCT系数差值进行算术编码,由于各种指示符只是起指示作用,可以用很少的比特位来表示,并且算术编码本身也是一种压缩算法,因此,压缩各种指示符以及量化后的DCT系数差值可大大降低相似图像占用的空间,实现了图像的高压缩率。此外,相似图像在压缩编码的过程中,没有任何的量化或取整等操作且采用的是算术编码,实现了相似图像的无损压缩。
在一种可能的设计中,还包括:将所述参考图像数据与所述至少一个相似图像数据合成一个或多个文件。本方案中,将参考图像数据与所述至少一个相似图像经过压缩编码后得到的至少一个相似图像数据合成一个或多个文件,便于压缩编码后的数据的存储,以及后续解压缩过程的正常进行。
在一种可能的设计中,所述一个或多个文件为一个;所述文件包括文件头和文件数据两个部分;所述文件头包括相似图像数据数量字段以及每个相似图像数据相对所述文件的起始处的一个或多个偏移量字段;所述文件数据包括所述参考图像数据以及所述至少一个相似图像数据。本方案中,文件头部分指示了相似图像数据数量字段和每个相似图像数据相对所述文件的起始处的一个或多个偏移量字段,可以使得在解压缩过程快速的获取到相似图像数据和参考图像数据,保证了解压缩过程的效率。
在一种可能的设计中,所述图像块包括M行N列的变换系数矩阵,对应于M×N个量化后的DCT系数,所述M×N个量化后的DCT系数组成所述图像块的量化后的DCT系数组;其中,M、N都是大于1的正整数。本方案中,图像块对应多个量化后的DCT系数跟现有的情况可以兼容,降低实现复杂度,减少设计成本。在一个可选的示例中,N=M=16,或者N=M=8,这些都是常用的分块大小,兼容现有设计,减少设计成本。
在一种可能的设计中,所述参考图像是从所有待压缩的图像中任意选取的一个图像,所述多个图像为所述所有待压缩的图像中的部分或全部;或者,所述参考图像是根据文件名排序或文件创建日期排序选取的一个图像。本方案中的参考图像可以是从所有待压缩的图像中任意选取的一个图像还可以是根据文件名排序或文件创建日期排序选取的一个图像,使得图像压缩过程中确定参考图像的方式多样化。
在一种可能的设计中,所述相似图像中与所述参考图像中对应的图像块完全相同的图像块的数量大于或等于第一阈值;或者,所述相似图像中与所述参考图像中对应的图像块为部分相同的图像块的数量大于或等于第二阈值,或者,所述相似图像中与所述参考图像中对应的图像块完全相同的图像块的数量加上所述相似图像中与所述参考图像中对应的图像块部分相同的图像块的数量的总数量大于或等于第三阈值。满足本方案中上述任一条件所确定的相似图像在压缩时,压缩率较高。
第二方面,本申请实施例提供一种解压缩图像的方法,所述方法包括:获取经编码数据,所述经编码数据包括参考图像数据和至少一个相似图像数据;对所述参考图像数据进行算术解码,得到所述参考图像的每个图像块的量化后的第一离散余弦变换DCT系数组;对所述相似图像数据进行算术解码,得到所述相似图像的每个图像块对应的解码数据;所述解码数据包括指示符,所述指示符指示一对图像块的相似度,所述一对图像块包括所述参考图像的一个图像块和所述相似图像中对应的一个图像块;对于每个相似图像的图像块,根据所述图像块对应的解码数据或者根据所述图像块对应的解码数据和所述参考图像中的对应块的量化后的第一DCT系数组,获取所述相似图像的图像块的量化后的第二DCT系数组;根据所述相似图像的每个图像块的量化后的第二DCT系数组,得到所述相似图像
本方案中获取相似图像数据算术解码后得到相似图像的每个图像块对应的解码数据,解码数据中包括指示所述相似图像的图像块与所述参考图像中的对应块的相似度的指示符,可实现根据相似图像的图像块对应的解码数据或者根据所述相似图像的图像块对应的解码数据和参考图像中的对应块的量化后的DCT系数得到相似图像的图像块的量化后的DCT系数组,并最终得到相似图像的目的,即实现了图像的解压缩。此外,由于在得到参考图像数据时是无损编码,因此采用算术解码参考图像数据可以获取准确的参考图像的每个图像块算术编码前的量化后的DCT系数组。同样地,在得到相似图像数据时是无损编码,因此采用算术解码相似图像数据可以准确的获取相似图像的各图像块对应的被编码的数据(即解码数据),因此,可以根据相似图像的各图像块对应的解码数据,准确的获取相似图像的每个图像块的量化后的DCT系数组,从而可相似图像的每个图像块的量化后的DCT系数组精确的还原相似图像。
在一种可能的设计中,所述指示符包括第一指示符,第二指示符或第三指示符,其中:第一指示符用于指示所述一对图像块完全相同,第二指示符用于指示所述一对图像块部分相同,第三指示符用于指示所述一对图像块不同。本方案的有益效果同第一方面中对应方案中的有益效果,此处不再赘述。
在一种可能的设计中,一对图像块的相似度为:所述一对图像块中的两个图像块完全相同;或者,所述一对图像块中的两个图像块部分相同;或者,所述一对图像块中的两个图像块不同。本方案的有益效果同第一方面中对应方案中的有益效果,此处不再赘述。
在一种可能的设计中,对于一对图像块中的两个图像块:如果所述两个图像块的量化后的DCT系数完全相同,则所述两个图像块完全相同;如果所述两个图像块的量化后的DCT系数组中,零分布相同且非零的量化后的DCT系数部分相同,所述两个图像块部分相同;如果所述两个图像块的量化后的DCT系数组中,零分布不相同,则所述两个图像块不同;或者,如果在所述两个图像块的量化后的DCT系数组中均不存在取值为零的DCT系数且所述两个图像块的量化后的DCT系数不完全相同,所述两个图像块不同。本方案的有益效果同第一方面中对应方案中的有益效果,此处不再赘述。
在一种可能的设计中,对于所述相似图像中的与所述参考图像中的对应块的相似度为完全相同的完全相同块,所述完全相同块对应的解码数据中的指示符为第一指示符,所述第一指示符指示所述完全相同块与所述参考图像中的对应块完全相同;根据完全相同块对应的解码数据和所述参考图像中的对应块的量化后的第一DCT系数组,获取所述完全相同块的量化后的第二DCT系数组,包括:根据所述第一指示符,确定所述完全相同块在所述参考图像中的对应块的量化后的第一DCT系数组为所述相似图像的完全相同块的量化后的第二DCT系数组。本方案实现了相似图像中的完全相同块的量化后的第二DCT系数组的准确获取。
在一种可能的设计中,所述第一指示符占用一个比特位,所述比特位为第一值。本方案的有益效果同第一方面中对应方案中的有益效果,此处不再赘述。
在一种可能的设计中,对于所述相似图像中的与所述参考图像中的对应块的相似度为部分相同的部分相同块,所述部分相同块对应的解码数据中的指示符为第二指示符,所述第二指示符指示所述部分相同块与所述参考图像中的对应块部分相同,以及所述解码数据中存在量化后的DCT系数差值;根据所述部分相同块对应的解码数据和所述参考图像中的对应块的量化后的第一DCT系数组,获取所述部分相同块的量化后的第二DCT系数组,包括:根据所述第二指示符,获取所述部分相同块在所述参考图像中的对应块的量化后的DCT系数与所述量化后的DCT系数差值之和,得到所述相似图像的部分相同块的量化后的第二DCT系数组。本方案实现了相似图像中的部分相同块的量化后的第二DCT系数组的准确获取。
在一种可能的设计中,所述量化后的DCT系数差值为所述部分相同块的非零的量化后的DCT系数与所述参考图像的对应块的非零的量化后的DCT系数的差值;则获取所述部分相同块在所述参考图像中的对应块的量化后的DCT系数与所述解码数据中包括的量化后的DCT系数差值之和,包括:获取所述部分相同块在所述参考图像中的对应块的非零的量化后的DCT系数与所述解码数据中包括的量化后的DCT系数差值之和。本方案实现了相似图像中的部分相同块的量化后的第二DCT系数组的准确获取。
在一种可能的设计中,所述第二指示符占用两个比特,所述两个比特包括第一比特和第二比特,所述第一比特为第二值,所述第二比特为第一值。本方案的有益效果同第一方面中对应方案中的有益效果,此处不再赘述。
在一种可能的设计中,对于所述相似图像中的与所述参考图像中的对应块的相似度为不同的不同块,所述不同块对应的解码数据中的指示符为第三指示符,所述第三指示符指示所述不同块与所述参考图像中的对应块不同;所述根据所述不同块对应的解码数据,获取所述不同块的量化后的第二DCT系数组,包括:根据所述第三指示符,确定所述不同块对应的解码数据中除了所述指示符以外的数据为所述不同块的量化后的第二DCT系数组。本方案实现了相似图像中的不同块的量化后的第二DCT系数组的准确获取。
在一种可能的设计中,所述第三指示符占用两个比特,所述两个比特包括第一比特和第二比特,所述第一比特为第二值,所述第二比特为第二值。本方案的有益效果同第一方面中对应方案中的有益效果,此处不再赘述。
在一种可能的设计中,获取经编码数据,包括:获取一个或多个文件,所述一个或多个文件包括所述经编码数据;从所述一个或多个文件中获取所述经编码数据。本方案提供了获取参考图像数据和至少一个相似图像数据的一种实现方法。
在一种可能的设计中,所述获取一个或多个文件包括:获取一个文件;所述文件包括文件头和文件数据两个部分;其中,所述文件头包括相似图像数量字段相似图像数据数量字段,以及每个相似图像数据相对文件起始处的一个或多个偏移量字段;文件数据包括所述经编码数据;所述从所述一个或多个文件中获取所述经编码数据,包括:根据所述文件头,从所述文件的文件数据中获取经编码数据。本方案提供了获取参考图像数据和至少一个相似图像数据的具体实现。
在一种可能的设计中,还包括:根据所述参考图像的每个图像块的量化后的第一DCT系数组,得到所述参考图像。本方案提供了还原参考图像的方法。由于在采用算术解码参考图像数据可以获取准确的参考图像的每个图像块算术编码前的量化后的第一DCT系数组,因此,本方案根据参考图像的每个图像块的量化后的第一DCT系数组,可以精确的还原参考图像。
根据本申请实施例第一方面的方法可由本申请实施例第三方面的装置执行。根据本申请实施例第一方面的方法的其它特征和实现方式直接取决于根据本申请实施例第三方面的装置的功能性及其不同实现方式。
根据本申请实施例第二方面的方法可由本申请实施例第四方面的装置执行。根据本申请实施例第二方面的方法的其它特征和实现方式直接取决于本申请实施例第四方面的装置的功能性及其不同实现方式。
第五方面,本申请实施例提供一种编码设备,包括:编码器和存储器;
所述存储器用于存储计算机可执行指令,以使所述编码器执行所述计算机可执行指令实现第一方面以及第一方面任一可能的设计中的方法中所述的方法。
第六方面,本申请实施例提供一种解码设备,包括:解码器和存储器;
所述存储器用于存储计算机可执行指令,以使所述解码器执行所述计算机可执行指令实现第二方面以及第二方面任一可能的设计中的方法中所述的方法。
第七方面,本申请实施例提供一种图像处理设备,包括:编码器、解码器和存储器;
所述存储器用于存储计算机可执行指令,以使所述编码器执行所述计算机可执行指令实现第一方面以及第一方面任一可能的设计中的方法中所述的方法,以及使所述解码器实现第二方面以及第二方面任一可能的设计中的方法中所述的方法。
第八方面,本申请实施例提供一种计算机存储介质,包括:计算机可执行指令,所述计算机可执行指令用于实现第一方面以及第一方面任一可能的设计中的方法中所述的方法,和/或实现第二方面以及第二方面任一可能的设计中的方法中所述的方法。
第九方面,本发明涉及包括程序代码的计算机程序,所述程序代码在计算机上运行时执行根据第一方面以及第一方面任一可能的设计中的方法中所述的方法,和/或执行根据第二方面以及第二方面任一可能的设计中的方法中所述的方法。
在附图及以下说明中阐述一个或多个实施例的细节。其它特征、目的和优点通过说明书、附图以及权利要求是显而易见的。
附图说明
图1为本申请实施例提供的位置相同的图像块的示意图;
图2为本申请实施例提供的图像处理系统的框图;
图3为本申请实施例提供的图像处理设备的框图;
图4为图2所示的图像处理系统的一种具体的图像处理系统的框图;
图5为图3所示的图像处理系统的一种具体的图像处理设备的框图;
图6为本申请实施例提供的一种压缩多个JPEG图像的方法的流程图;
图7为本申请实施例提供的图像块的示意图;
图8为本申请实施例提供的两个完全相同的图像块的示意图;
图9为本申请实施例提供的两个部分相同的图像块的示意图;
图10为本申请实施例提供的两个不同的图像块的示意图;
图11为本申请实施例提供的两个图像块中对应位置处的元素作差的示意图;
图12为本申请实施例提供的相似图像压缩具体流程示意图;
图13为本申请实施例提供的一种文件的格式示意图;
图14为本申请实施例提供的另一种文件的格式示意图;
图15为本申请实施例提供的JPEG编码器的功能性示意框图;
图16为本申请提供的解压缩JPEG图像的方法的流程图;
图17为本申请实施例提供的解压缩相似图像数据获取相似图像的具体流程示意图;
图18为本申请实施例提供的JPEG解码器的功能性示意框图;
图19为本申请实施例提供的另一种压缩多个图像的方法的流程图;
图20为本申请实施例提供的另一种解压缩图像的方法的流程图;
图21为本申请实施例提供的压缩多个图像的装置的示意图一;
图22为本申请实施例提供的压缩多个图像的装置的示意图二;
图23为本申请实施例提供的解压缩图像的装置的示意图;
图24为本申请实施例的译码设备的一种实现方式的示意性框图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。以下描述中,参考形成本公开一部分并以说明之方式示出本申请实施例的具体方面或可使用本申请实施例的具体方面的附图。应理解,本申请实施例可在其它方面中使用,并可包括附图中未描绘的结构或逻辑变化。因此,以下详细描述不应以限制性的意义来理解,且本申请的范围由所附权利要求书界定。例如,应理解,结合所描述方法的揭示内容可以同样适用于用于执行所述方法的对应设备或系统,且反之亦然。例如,如果描述一个或多个具体方法步骤,则对应的设备可以包含如功能单元等一个或多个单元,来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元,其中每个都执行多个步骤中的一个或多个),即使附图中未明确描述或说明这种一个或多个单元。另一方面,例如,如果基于如功能单元等一个或多个单元描述具体装置,则对应的方法可以包含一个步骤来执行一个或多个单元的功能性(例如,一个步骤执行一个或多个单元的功能性,或多个步骤,其中每个执行多个单元中一个或多个单元的功能性),即使附图中未明确描述或说明这种一个或多个步骤。进一步,应理解的是,除非另外明确提出,本文中所描述的各示例性实施例和/或方面的特征可以相互组合。
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。下面先对本申请实施例可能涉及的一些概念进行简单介绍。
为了更好的理解本申请,下面对本申请中涉及的跟图像编码相关的一些概念进行说明。
1、图像可以划分成多个图像块(通常是矩形的划分,例如,8×8,16×16,16×8等),不同形式的图像对应的图像块所包括的元素的类型不同。其中,JPEG图像经哈夫曼(huffman)解码后的图像块中包括的元素为量化后的离散余弦变换(Discrete CosineTransform,简称DCT)系数,
2、JPEG图像:一种标准化的图像格式,对原始图像以图像块为单位进行DCT变换,也就是将原始图像中各图像块中的元素(可基于YUV格式表示)转换成DCT系数;接着对各图像块中的DCT系数进行重排列并量化,也就是将各图像块中的元素由DCT系数转换成量化后的DCT系数,然后对各图像块中的量化后的DCT系数进行哈夫曼编码后得到JPEG图像。也就是说,本申请中的原始图像为能够经DCT变换以及DCT系数的量化后得到JPEG图像的图像。
3、参考图像:为一个图像,该图像编解码时不需要参考其它图像。
4、相似图像:为一个图像,相似图像与对应的参考图像相似,该图像编解码时需要参考对应的参考图像。
5、图像块a在图像A中的位置与图像块b在图像B中的位置相同:本申请中,图像A与图像B各自划分图像块的方法相同,图像块a在水平方向上与图像A的最左边的图像块之间存在X个图像块,图像块a在垂直方向上与图像A的最上边的图像块之间存在Y个图像块,图像块b在水平方向上与图像B的最左边的图像块之间存在X个图像块,图像块b在垂直方向上与图像B的最上边的图像块之间存在Y个图像块。例如,参见图1,图1中的图像块11在图像1中的位置与图像块22为在图像2中的位置相同。
6、编解码:编码以及解码的缩写,其中,编码通常可视为一个压缩的过程,在本申请中也称“压缩”,相对应的,解码在本申请中可视为一个解压缩的过程,在本申请中也称“解压”。
7、算术编码,是一种熵编码的方法,将输入的二进制比特符号按照符号出现的概率转换成一个小于1且大于等于0的小数,且这个小数也是采用二进制表示的。算术编码器就如一个1比特输入的压缩管道,每输入1比特,就会编码生成一个数值,直到所有比特输入完毕,生成最终数值,以达到压缩输入比特的目的。
图2为本申请实施例提供的一种可能的图像处理系统的框图,如本文所使用,术语“图像处理系统”一般是指图像编码器和图像解码器两者。在本申请中,术语“图像处理”可指代图像编码或图像解码。
如图2所示,图像处理系统包括编码装置210和解码装置220,编码装置210用于根据本申请提出的压缩图像的方法对多个图像进行压缩编码(也称“压缩”,或者“压缩编码”)处理,得到压缩后的数据。解码装置220用于根据本申请提出的解压缩的方法对上述得到的压缩后的数据进行解压缩处理。
具体地,编码装置210经第一输入接口211接收多个图像,采用编码器212对多个图像进行压缩处理,得到的压缩后的数据可存储至第一存储器213中。解码装置220经第二输入接口221接收压缩后的数据,采用解码器222对压缩后的数据进行解压缩处理,得到多个图像,解压缩处理过程中产生的数据可存储至第二存储器223中。
其中,编码装置210可对多个原始图像采用本实施例中的压缩图像的方法进行压缩编码,相应地,解码装置220解压缩后可得到多个原始图像。编码装置210还可对多个JPEG图像进行压缩编码,相应地,解码装置220解压缩后可得到的JPEG图像。
进一步地,编码装置210可将压缩后的数据经第一输出接口214输出后经链路230传输至解码装置220。解码装置220可经第二输出接口224将解压缩后得到的多个图像输出。
其中,链路230可包括能够将多个图像的压缩后的数据从编码装置210移动到解码装置220的一个或多个媒体或装置。所述一个或多个媒体可包含无线和/或有线媒体,例如射频(RF)频谱或一个或多个物理传输线。所述一个或多个装置可形成基于分组的网络的一部分,基于分组的网络可以为局域网、广域网或全球网络(例如,因特网)。所述一个或多个装置具体可包含路由器、交换器、基站或促进从编码装置210到解码装置220的通信的其它设备。
编码装置210可以为如下中的任一:终端设备、服务器。解码装置220可以为如下中的任一:终端设备、服务器。
在另一种方式中,如图3所示,如上的装置210和解码装置220可集成在同一个图像处理设备中。图像处理设备可以为如下中的任一:终端设备、服务器。
图4为图2所示的图像处理系统的一种具体的图像处理系统的框图。
如图4所示,图像处理系统包括JPEG编码装置410和JPEG解码装置420,JPEG编码装置410用于根据本申请提出的压缩多个JPEG图像的方法对多个JPEG图像进行压缩编码处理,得到压缩后的数据。解码装置20用于根据本申请提出的解压缩多个JPEG图像的方法对上述得到的压缩后的数据进行解压缩处理,得到多个JPEG图像。
具体地,JPEG编码装置410经输入接口接收多个JPEG图像,其中的JPEG编码器对多个JPEG图像进行再压缩处理,得到的压缩后的数据。JPEG解码装置420经输入接口接收压缩后的数据,其中的JPEG解码器对压缩后的数据进行解压缩处理,得到多个JPEG图像。
进一步地,编码装置410可将压缩后的数据经输出接口输出后经链路430传输至解码装置420。解码装置420可经输出接口将解压缩后得到的多个PEG图像输出。
在另一种方式中,如图5所示,如上的装置410和解码装置420可集成在同一个图像处理设备中。
下面采用具体的实施例对本申请实施例提供的压缩多个JPEG图像的方法、解压缩获取JPEG图像的方法进行说明。
首先结合图6~图15对压缩多个JPEG图像的方法进行说明,以下图6~图15所示的实施例的执行主体可为图4中所示的JPEG编码装置410中的JPEG编码器或者图5中所示的JPEG编码器。
图6为本申请实施例提供的一种压缩多个JPEG图像的方法的流程图,其中,本申请中的多个JPEG图像包括一个参考图像和参考图像的至少一个相似图像,即参考图像与至少一个相似图像中每个相似图像相似,也可以说本申请中的多个JPEG图像包括的一个参考图像与该多个JPEG图像包括的至少一个相似图像对应。参考图像和相似图像均包括多个图像块,两种图像的图像块划分方法相同,参考图像的多个图像块与相似图像的多个图像块一一对应。
实施例一
参见图6,本申请实施例一的方法包括:
步骤S101、获取参考图像通过哈夫曼解码得到的每个图像块的量化后的第一DCT系数组。
对参考图像的每一个相似图像执行如下方法(S102、S103)进行压缩,得到经编码数据:
步骤S102、获取相似图像通过哈夫曼解码后得到的每个图像块的量化后的第二DCT系数组。
步骤S103、基于每一对图像块所对应的一对量化后的DCT系数组的比较结果得到每一对图像块的相似度,根据每一对图像块的相似度对相似图像进行压缩编码,其中每一对图像块包括参考图像的一个图像块和相似图像中对应的一个图像块,每一对图像块所对应的一对量化后的DCT系数组包括参考图像的图像块的量化后的第一DCT系数组和相似图像中对应的图像块的量化后的第二DCT系数组。
其中,本申请中的“第一”、“第二”之类的前缀并不表示特殊含义,仅表示其修饰的不同的对象。本申请中的每个量化后的DCT系数组都包括多个量化后的DCT系数,因此,图像块的量化后的DCT系数即为该图像块的量化后的DCT系数组中的量化后的DCT系数。
本实施例中的多个JPEG图像包括参考图像和参考图像的至少一个相似图像,由于相似图像与参考图像具有一定的相似性,因此在编码的时候,与参考图像重复或相似的信息就不需要再编码或者用更少比特进行编码,从而降低了相似图像所占用的空间,实现了JPEG图像的压缩且压缩率较高。
实施例二
基于实施例一,本实施例对本申请中的多个JPEG图像包括的参考图像以及相似图像进行具体说明。
如前所述,本申请中的多个JPEG图像包括参考图像和至少一个相似图像,由于相似图像与参考图像具有一定的相似性,因此在编码的时候,跟参考图像重复或相似的信息就不需要再编码或者用更少比特进行编码,从而降低了相似图像所占用的空间。
具体的,本申请中,参考图像的相似图像与参考图像可以满足下列(1)、(2)、(3)中的至少一种。
(1)相似图像中与该参考图像中对应的图像块完全相同的图像块的数量大于或等于第一阈值。
可选地,第一阈值可为参考图像或相似图像包括的子图形块的总数量的Q倍,Q为一个小于1的数,例如,可为20%~40%中的任一值。Q还可为其它的值,本实施例中并不限定。
对于参考图像和相似图像中的图像块:图像块包括M行N列的变换系数矩阵,对应于M×N个量化后的DCT系数(也即M行,N列),该M×N个量化后的DCT系数组成图像块的量化后的DCT系数组。其中M、N都是大于1的正整数,例如,可以是2的幂次方,如M=8,N=8。图7为本申请实施例提供的图像块的示意图,参见图7,图7所示的图像块的尺寸为8×8,对应于8×8=64个量化后的DCT系数。
其中,参考图像的每个图像块的量化后的DCT系数组可通过对参考图像进行哈夫曼解码后得到,相似图像的每个图像块的量化后的DCT系数组可通过对相似图像进行哈夫曼解码后得到。
本申请中,若两个图像块中的第一图像块位于参考图像中,该两个图像块中的第二图像块位于相似图像中,且第一图像块在该参考图像中的位置和第二图像块在该相似图像中的位置相同,则该参考图像中的第一图像块与该相似图像中的第二图像块对应,该相似图像中的第二图像块与该参考图像中的第一图像块对应,即第一图像块和第二图像块互为对方的“对应块”且第一图像块和第二图像块为一对图像块,例如,第一图像块为该相似图像中的第二图像块在参考图像中的对应块,第二图像块为该参考图像中的第一图像块在相似图像中的对应块。
本申请中,如果一对图像块中的两个图像块的量化后的DCT系数完全相同,则该两个图像块完全相同,也即如果相似图像中的图像块与该参考图像中对应的图像块的量化后的DCT系数完全相同,则相似图像中的该图像块与该参考图像中对应的图像块完全相同,相似图像中的该图像块可称为相似图像中的完全相同块。可以理解,在实际中,对各种性能指标(如压缩率、图像质量、处理速度等)的要求可能不同,因此,也可将“一对图像块中两个图像块的量化后的DCT系数绝大部分(例如99%,90%等,具体可结合不同的性能需求来定)完全相同”时,认为“图像块完全相同”。同理,下文在定义“两个图像块是否部分相同”时,也可以基于本申请提供的实施例进行类似的变形得到。
其中,一对图像块中的两个图像块的量化后的DCT系数完全相同是指两个图像块中对应位置处的量化后的DCT系数完全相同。两个图像块中对应位置是指两个图像块中的第一图像块的第i行第j列处的位置和两个图像块中的第二图像块的第i行第j列处的位置对应。
图8为本申请实施例提供的两个完全相同的图像块的示意图。如图8所示,图8中的图像块200与图像块300对应位置处的量化后的DCT系数完全相同,图像块200与图像块300完全相同。
(2)相似图像中与该参考图像中对应的图像块部分相同块的图像块的数量大于或等于第二阈值。
可选地,第二阈值可为参考图像或相似图像包括的子图形块的总数量的W倍,W为一个小于1的数,例如,可为20%~40%中的任一值。W还可为其它的值,本实施例中并不限定。
其中,部分相同是指有一部分相同,具体可以结合实际需求(如压缩率)来指定一些规则确定否是部分相同。示例性地:如果一对图像块中的两个图像块的量化后的DCT系数组中,零分布相同且非零的量化后的DCT系数部分相同,则两个图像块部分相同(即如果在一对图像块中的两个图像块的量化后的DCT系数组中均包括取值为零的DCT系数,那么若在一对图像块中的两个图像块的量化后的DCT系数组中,零分布相同且非零的量化后的DCT系数部分相同,则一对图像块中的两个图像块部分相同)。也就是说,若相似图像中的图像块与参考图像中对应的图像块的量化后的DCT系数组中,零分布相同且非零的量化后的DCT系数部分相同,则相似图像中的该图像块与该参考图像中对应的图像块部分相同,相似图像中的该图像块可称为相似图像中的部分相同块。其中,非零的量化后的DCT系数部分相同是指两个图像块中部分对应位置处的非零的量化后的DCT系数相同,部分对应位置处的非零的量化后的DCT系数不相同。
例如,图9为本申请实施例提供的两个部分相同的图像块的示意图。如图9所示,图9中的图像块400与图像块500的零分布相同且非零的量化后的DCT系数部分相同,图像块400与图像块500部分相同。
(3)相似图像中与该参考图像中对应的图像块完全相同的图像块的数量加上相似图像中与该参考图像中对应的图像块部分相同的图像块的数量的总数量大于或等于第三阈值。
可选地,第三阈值可为参考图像或相似图像包括的子图形块的总数量P倍,P为一个小于1的数,例如,可为20%~80%中的任一值。P还可为其它的值,本实施例中并不限定。其中,“完全相同”以及“部分相同”的概念描述可参见第(1)、(2)部分,这里不再赘述。
可以理解的是,相似图像中除了包括完全相同块和/或分相同块之外,还可能包括不同块,不同块的具体定义也可以有多种,可选的,本申请中,定义“不同块”为相似图像中不是完全相同块,也不是部分相同块的图像块。即相似图像中的不同块与参考图像中对应的图像块既不完全相同也不部分相同。
示例性地,对于不相同块:在一对图像块中的两个图像块的量化后的DCT系数组中,零分布不相同,则两个图像块不同(即如果一对图像块中的两个图像块中存在一个图像块的量化后的DCT系数组中包括取值为零的DCT系数,那么,一对图像块中的两个图像块的量化后的DCT系数组中零分布必然不同,则一对图像块中的两个图像块不相同;或者,如果在一对图像块中的两个图像块的量化后的DCT系数组中均包括取值为零的DCT系数,那么若在一对图像块中的两个图像块的量化后的DCT系数组中,零分布不相同,则一对图像块中的两个图像块不相同);或者,如果在一对图像块中的两个图像块的量化后的DCT系数组中均不存在取值为零的DCT系数,那么若一对图像块中的两个图像块的量化后的DCT系数不完全相同,则一对图像块中的两个图像块不同。
例如,图10为本申请实施例提供的两个不同的图像块的示意图。如图10所示,图10中的图像块600与图像块700不同。
实施例三
基于上述各实施例,本实施例对参考图像和相似图像的确定方法进行说明。
本领域技术人员应当明白:本申请中包括一个参考图像和至少一个相似图像的多个JPEG图像为所有待压缩的JPEG图像的数量的全部或部分。
对于所有待压缩的JPEG图像,确定所有待压缩的JPEG图像中的每个JPEG图像为相似图像还是参考图像包括但不限于如下的三种方式:
方式一
对于所有待压缩的JPEG图像,可以按照文件名或文件创建日期对所有待压缩的JPEG图像进行排序。
对于按照文件名排序:示例性地,所有待压缩的JPEG图像包括JPEG图像1、JPEG图像2、JPEG图像3、JPEG图像4、JPEG图像5、JPEG图像6,文件名依次为1、2、3、4、5、6,则按照文件名排序后的顺序可为JPEG图像1、JPEG图像2、JPEG图像3、JPEG图像4、JPEG图像5、JPEG图像6,或者,按照文件名排序后的顺序可为JPEG图像6、JPEG图像5、JPEG图像4、JPEG图像3、JPEG图像2、JPEG图像1。
对于文件创建日期排序:可按照所有待压缩的JPEG图像的创建日期从早到晚的顺序排序,还可按照所有待压缩的JPEG图像的创建日期从晚到早的顺序排序。
具体地,在该方式中,将文件名排序第一或者文件创建日期排序第一的第一JPEG图像作为参考图像,对于文件名排序第二或者文件创建日期排序第二的第二JPEG图像,对第一JPEG图像和第二JPEG图像进行哈夫曼解码,获取第一JPEG图像的各图像块的量化后的DCT系数组和第二JPEG图像的各图像块的量化后的DCT系数组,以第一JPEG图像作为对比的参考图像,根据第一JPEG图像的各图像块的量化后的DCT系数组和第二JPEG图像的各图像块的量化后的DCT系数组,判断第二JPEG图像与第一JPEG图像是否满足上述实施例二中的(1)、(2)、(3)中的任一种,如果满足,则确定第二JPEG图像为第一JPEG图像这一参考图像的相似图像,即第二JPEG图像与第一JPEG图像相似,若否,则确定第二JPEG图像为参考图像。
对于文件名排序第三或者文件创建日期排序第三的第三JPEG图像,对第三JPEG图像进行哈夫曼解码,获取第三JPEG图像的各图像块的量化后的DCT系数组;按照预置的规则(如第一次确定的参考图像或者最近一次确定的参考图像或者之前确定的任一个参考图像)确定对比的参考图像(本实施中称为第一参考图像),根据第一参考图像的各图像块的量化后的DCT系数组和第三JPEG图像的各图像块的量化后的DCT系数组,判断第三JPEG图像与第一参考图像是否满足上述实施例二中的(1)、(2)、(3)中的任一种,如果满足,则确定第三JPEG图像为第一参考图像这一参考图像的相似图像,即第三JPEG图像与第一参考图像相似,如果不满足,则确定第三JPEG图像为参考图像。
后续按照确定第三JPEG图像是参考图像还是相似图像的完整方法,确定剩余的待压缩的JPEG图像中的每个JPEG图像是相似图像还是参考图像。
其中,本申请在判断所有待压缩的JPEG图像中的任一个JPEG图像中与对比的参考图像是否满足上述实施例二中的(1)、(2)、(3)中的任一种的具体实现时,可以将这几种判断分支中的一个或多个写到产品相关的代码或者逻辑电路中,也即产品在实际运行过程中,可以只有一个判断条件(如只判断(1)条件是否满足,不考虑(2)、(3)条件),或者也可以有两个或者三个判断条件(如将条件(1)以及条件(2)通过“或”的关系写到代码中),满足任何一个条件都可确定该JPEG图像为相似图像。
方式二:
在第二种方式中,首先从所有待压缩的JPEG图像中任意选取一个第一JPEG图像作为参考图像,再从剩余的待压缩的JPEG图像中任意选取一个第二JPEG图像,对第一JPEG图像和第二JPEG图像进行哈夫曼解码,获取第一JPEG图像的各图像块的量化后的DCT系数组和第二JPEG图像的各图像块的量化后的DCT系数组,根据第一JPEG图像的各图像块的量化后的DCT系数组和第二JPEG图像的各图像块的量化后的DCT系数组,以第一JPEG图像作为对比的参考图像,判断第二JPEG图像与第一JPEG图像是否满足上述实施例二中的(1)、(2)、(3)中的任一种,如果满足,则确定第二JPEG图像为第一JPEG图像这一参考图像的相似图像,即第二JPEG图像为与第一JPEG图像相似,若否,则确定第二JPEG图像为参考图像。
接着再从除了第一JPEG图像和第二JPEG图像以外的待压缩的JPEG图像中任意选取一个第三JPEG图像,对第三JPEG图像进行哈夫曼解码,获取第三JPEG图像的各图像块的量化后的DCT系数组,按照预置的规则(如第一次确定的参考图像或者最近一次确定的参考图像或者之前确定的任一个参考图像)确定对比的参考图像(本实施例中称为第一参考图像),根据第一参考图像的各图像块的量化后的DCT系数组第三JPEG图像的各图像块的量化后的DCT系数组,判断第三JPEG图像与第一参考图像是否满足上述实施例二中的(1)、(2)、(3)中的任一种,如果满足,则确定第三JPEG图像为第一参考图像这一参考图像的相似图像,即第三JPEG图像与第一参考图像相似,如果不满足,则确定第三JPEG图像为参考图像。
后续按照确定第三JPEG图像是参考图像还是相似图像的方法,确定剩余的待压缩的JPEG图像中的每个JPEG图像是相似图像还是参考图像。
方式三
在第三种方式中:对于所有待压缩的JPEG图像,可以按照文件名或文件创建日期对所有待压缩的JPEG图像进行排序。
首先,从所有待压缩的JPEG图像中任意选取一个第一JPEG图像作为参考图像,在第一JPEG图像为文件名排序第一或者文件创建日期排序第一的JPEG图像时,第三种方式与第一种方式相同。在第一JPEG图像不为文件名排序第一或者文件创建日期排序第一的JPEG图像时,按照排序并参照第一种方式中的方法依次确定剩余的JPEG图像中的每个JPEG图像是参考图像还是相似图像。
上述三种方式中通过比较JPEG图像解码后中的图像块的量化后的DCT系数组与用于该JPEG图像对比的参考图像解码后的图像块中的量化后的DCT系数组来确定该JPEG图像为相似图像还是参考图像,由于JPEG图像解码后的图像块中的量化后的DCT系数组可以准确的反应两个图像的相似度,因此,本实施例中确定JPEG图像为相似图像还是参考图像的方法,确定的结果比较准确。
对于所有待压缩的JPEG图像中的每个JPEG图像,若确定该JPEG图像为参考图像,可将该JPEG图像的每个图像块的量化后的DCT系数组缓存至参考图像DCT系数缓存器中,若确定该JPEG图像为相似图像,可将该JPEG图像的每个图像块的量化后的DCT系数组缓存至相似图像DCT系数缓存器中。
综上可知,所有待压缩的JPEG图像中存在一个或多个参考图像,以及一个或多个相似图像,且参考图像可以是从所有待压缩的JPEG图像中任意选取的一个图像,参考图像还可以是根据文件名排序或文件创建日期排序选取的一个图像。每个相似图像均具有对应的参考图像。
可以理解的是,所有待压缩的JPEG图像中的一个或多个参考图像包括两种类型的参考图像,第一类型的参考图像具有与其相似的的相似图像,第二类型的参考图像不具有与其相似的相似图像。本申请中的多个JPEG图像中的一个参考图像可以为第一类型的参考图像中的任一参考图像,本申请中的多个JPEG图像中的至少一个相似图像为与本申请中的多个JPEG图像中的一个参考图像的相似图像。
基于上述的说明,确定本申请中的多个JPEG图像中的一个参考图像为参考图像的方法可如下:对该一个参考图像进行哈夫曼解码,获取该一个参考图像的各图像块的量化后的DCT系数组,按照预置的规则(如第一次确定的参考图像或者最近一次确定的参考图像或者之前确定的任一个参考图像)确定对比的参考图像(本实施例中称为第一参考图像),根据第一参考图像的各图像块的量化后的DCT系数组和该一个参考图像的各图像块的量化后的DCT系数组,判断该一个参考图像与第一参考图像是否满足上述实施例二中的(1)、(2)、(3)中的任一种,判断结果为不满足,确定该一个参考图像为参考图像。
确定本申请中的多个JPEG图像中的任意一个相似图像为相似图像的方法可如下:对该相似图像进行哈夫曼解码,获取该相似图像的各图像块的量化后的DCT系数组,以本申请中的多个JPEG图像中的一个参考图像为对比的参考图像,根据该一个参考图像的各图像块的量化后的DCT系数组和该相似图像的各图像块的量化后的DCT系数组,判断该相似图像与该一个参考图像是否满足上述实施例二中的(1)、(2)、(3)中的任一种,判断结果为满足,确定该相似图像为相似图像,且为该一个参考图像的相似图像。
实施例四
基于上述各实施例,本实施例提供对实施例一中的步骤S101~步骤S103进行具体说明。
步骤S101、获取参考图像通过哈夫曼解码得到的每个图像块的量化后的第一DCT系数组。
本申请中,可以有多种方式来获取参考图像中的每个图像块的量化后的第一DCT系数组。例如,若本申请中的多个JPEG图像中的一个参考图像通过哈夫曼解码后得到每个图像块的量化后的第一DCT系数组缓存在参考图像DCT系数缓存器中(如在实施例三中有进行过缓存),则可以从参考图像DCT系数缓存器中获取本申请中的多个JPEG图像中的一个参考图像通过哈夫曼解码后得到每个图像块的量化后的第一DCT系数组。或者,本申请中的多个JPEG图像中的一个参考图像的每个图像块的量化后的第一DCT系数组也可以是对本实施例中的多个JPEG图像中的一个参考图像重新进行哈夫曼解码后得到的。
对于本申请的多个JPEG图像中的一个参考图像的编码:可以对该参考图像中的各图像块的量化后的第一DCT系数组进行算术编码,得到该参考图像编码后的参考图像数据。
可知,本申请中对多个JPEG图像的一个参考图像编码时,对该参考图像的各图像块的量化后的第一DCT系数组进行算术编码,没有任何的量化或取整等操作,可以实现对该参考图像的无损压缩。
对本申请中的多个JPEG图像包括的每一个相似图像执行步骤S102~步骤S103进行压缩,得到经编码数据:
步骤S102、获取相似图像通过哈夫曼解码后得到每个图像块的量化后的第二DCT系数组。
获取相似图像通过哈夫曼解码后得到每个图像块的量化后的第二DCT系数组。
同S101中获取量化后的第一DCT系数组的方法类似,若本实施例中的多个JPEG图像中的相似图像通过哈夫曼解码后得到每个图像块的量化后的第二DCT系数组缓存在相似图像DCT系数缓存器中,则可以从相似图像DCT系数缓存器中获取本实施例中的多个JPEG图像中的相似图像通过哈夫曼解码后得到每个图像块的量化后的第二DCT系数组。或者,本实施例中的多个JPEG图像中的相似图像的每个图像块的量化后的第二DCT系数组也可以是对本实施例中的多个JPEG图像中的相似图像重新进行哈希曼解码后得到的。
步骤S103、基于每一对图像块所对应的一对量化后的DCT系数组的比较结果得到每一对图像块的相似度,根据每一对图像块的相似度对相似图像进行压缩编码,其中每一对图像块包括参考图像的一个图像块和相似图像中对应的一个图像块,每一对图像块所对应的一对量化后的DCT系数组包括参考图像的图像块的量化后的第一DCT系数组和相似图像中对应的图像块的量化后的第二DCT系数组。
其中,每一对图像块包括参考图像的一个图像块和相似图像中对应的一个图像块,且一对图像块中两个图像块在各自的图像中的位置相同。
在本申请的具体实现中,可遍历每一对图像块,对比每一对图像块对应的一对量化后的DCT系数组以得到每一对图像块的相似度,根据每一对图像块的相似度对相似图像进行压缩编码,得到相似图像数据。其中,“遍历”是指依次对每一对图像块进行“对比”、“相似度判断”等操作。其中,一对图像块的相似度为:一对图像块中的两个图像块完全相同;或者,一对图像块的相似度为:一对图像块中的两个图像块部分相同;或者,一对图像块的相似度为:一对图像块中的两个图像块不同。
可以理解的是,本申请中的经编码数据包括:参考图像数据和至少一个相似图像数据。
实施例五
基于上述各实施例,本实施例通过一个具体的示例对相似图像的压缩编码方法进行具体说明,根据相似图像中的图像块与参考图像中对应的图像块的不同相似性,可采用不同的方法,总的思路是在编码与参考图像中的图像块相似的相似图像中的图像块时,对于一些相似的信息不需要再重复编码,而是可以借用参考图像中的图像块的编码信息,从而减少压缩后的大小。同时,为了让解码端知道如何对相似图像数据算术解码得到的解码数据进行后续的解码(例如,是否需要参考参考图像中的图像块),在编码时,可以设置一些指示符来指示待编码的相似图像中的图像块与参考图像中对应的图像块的相似度。其中,每种指示符可以单独使用一个或多个比特,也可以共同一些比特。具体的比特数并不限定,只要能够起到指示的作用即可(但也不能过多,以免造成压缩率下降,本领域技术人员可以结合性能要求选择合适的比特数),在本实施例中,为了尽量节省比特数,采用尽量少的比特来表示这些指示符。例如,当需要表示3种状态时,最多使用两个比特位就能表示3种状态。
下面对压缩编码方法进行具体说明。
在一种方案中,根据每一对图像块的相似度对相似图像进行压缩编码,包括如下的a1~a2:
a1、对于每一对图像块,根据一对图像块的相似度,生成用于指示一对图像块的相似度的指示符。
其中,用于指示一对图像块的相似度的指示符可为第一指示符、第二指示符或第三指示符。其中,第一指示符用于指示一对图像块完全相同,第二指示符用于指示一对图像块部分相同,第三指示符用于指示一对图像块不同。
a11、对于相似图像中的与参考图像中的对应块的相似度为完全相同的图像块,可生成用于指示该图像块与参考图像中的对应块完全相同的第一指示符,该图像块称为相似图像中的完全相同块。即相似图像中的完全相同块对应第一指示符,也可以说第一指示符指示完全相同块与参考图像中的对应块完全相同。其中,第一指示符为相似图像的完全相同块对应的信息。
在一种方式中,第一指示符占用一个比特位,该比特位为第一值;比如,该第一指示符可记为第一比特,该第一比特占用一个比特,该第一比特的取值为第一值(如1)。
参见下表,为第一指示符的一种具体的实现方法。
a12、对于相似图像中的与参考图像中的对应块的相似度为部分相同的图像块,可生成用于指示该图像块与参考图像中的对应块部分相同的第二指示符,该图像块称为相似图像中的部分相同块。即相似图像中的部分相同块对应第二指示符,也可以说第二指示符指示部分相同块与参考图像中的对应块部分相同。
在一种方式中,第二指示符占用两个比特,两个比特包括第一比特和第二比特,第一比特为第二值,第二比特为第一值;比如,第一比特占用一个比特位,第二比特占用一个比特位,第一比特为第二值(如0),第二比特为第一值(如1)。可选地,第二指示符中的第一比特占用的一个比特位可复用第一指示符所占用的一个比特位。
参见下表,为第二指示符的一种具体的实现方法。
对于相似图像的部分相同块:除了需要获取对应的第二指示符,还需获取部分相同块的量化后的DCT系数与参考图像的对应块的量化后的DCT系数的差值(得到量化后的DCT系数差值)或者还需获取部分相同块的非零的量化后的DCT系数与参考图像的对应块的非零的量化后的DCT系数的差值(量化后的DCT系数差值)。可选地,量化后的DCT系数差值位于第二指示符之后,且与第二指示符相邻。该量化后的DCT系数差值和第二指示符为相似图像的部分相同块对应的全部信息,该量化后的DCT系数差值为相似图像的部分相同块对应的部分信息,该第二指示符为相似图像的部分相同块对应的部分信息。
具体地,获取相似图像中的部分相同块的量化后的DCT系数与参考图像的对应块的量化后的DCT系数的差值,包括:获取相似图像的部分相同块的每一个量化后的DCT系数与参考图像的对应块的对应位置处的量化后的DCT系数的差值。获取相似图像中的部分相同块的非零的量化后的DCT系数与参考图像的对应块的非零的量化后的DCT系数的差值,包括:获取相似图像的部分相同块的每一个非零的量化后的DCT系数与参考图像中的对应块的对应位置处的非零的量化后的DCT系数的差值。
图11为本申请实施例提供的两个图像块中对应位置处的元素作差的示意图。参见图11,图11中图像块400中的每个量化后的DCT系数减去与图像块500中对应位置处的量化后的DCT系数后,得到的图像块如图像块800所示。
a13、对于相似图像中的与参考图像中的对应块的相似度为不同的图像块,可生成用于指示该图像块与参考图像中的对应块不相同的第三指示符,该图像块称为相似图像中的不同块。即相似图像中的不同块对应第三指示符,也可以说,第三指示符指示不同块与参考图像中的对应块不同。
在一种方式中,第三指示符占用两个比特,两个比特包括第一比特和第二比特,第一比特为第二值,第二比特为第二值。比如,第一比特占用一个比特位,第二比特占用一个比特位,第一比特为第一值(如1),第二比特为第一值(如1)。可选地,第三指示符中的第一比特占用的一个比特位可复用第二指示符中的第一比特所占用的比特位,第三指示符中的第二比特占用的一个比特位可复用第二指示符中的第二比特所占用的比特位。
参见下表,为第三指示符的一种具体的实现方法。
对于相似图像的不同块:除了需要获取对应的第三指示符,还需获取相似图像中的不同块的各量化后的DCT系数组。可选地,相似图像中的不同块的量化后的DCT系数组位于第三指示符之后,且与第三指示符相邻。第三指示符和相似图像中的不同块的DCT系数为相似图像的不同块对应的全部信息,第三指示符为相似图像的不同块对应的部分信息,相似图像中的不同块的量化后的DCT系数组为相似图像的不同块对应的部分信息。
此外,在另一种方案中,第一指示符可为第一预设值,第二指示符可为第二预设值,第三指示符可为第三预设值。即用于指示一对图像块的相似度的指示符可为第一预设值、第二预设值或第三预设值。
a2、根据各指示符,对相似图像进行压缩编码
根据各指示符,对相似图像进行压缩编码,包括如下的几种情况:
(1)在相似图像包括的图像块均为完全相同块时,对相似图像中的每个完全相同块对应的第一指示符进行算术编码。
(2)在相似图像包括的图像块均为部分相同块时,对相似图像中的每个部分相同块对应的第一信息进行算术编码。
(3)在相似图像包括完全相同块和部分相同块时:对相似图像中的每个完全相同块对应的第一指示符以及每个部分相同块对应的第一信息进行算术编码。
(4)在相似图像包括部分相同块和不相同块时:对相似图像中的每个部分相同块对应的第一信息以及每个不同块对应的第二信息进行算术编码。
(5)在相似图像包括完全相同块和不相同块时:对相似图像中的每个完全相同块对应的第一指示符以及每个不同块对应的第二信息进行算术编码。
(6)在相似图像包括完全相同块、部分相同块和不相同块时:对相似图像中的每个完全相同块对应的第一指示符、每个部分相同块对应的第一信息以及对每个不同块对应的第二信息进行算术编码。
其中,第一信息包括第二指示符和部分相同块的量化后的DCT系数与参考图像的对应块的量化后的DCT系数的差值(量化后的DCT系数差值);或者,第一信息包括第二指示符和部分相同块的非零的量化后的DCT系数与参考图像的对应块的非零的量化后的DCT系数的差值(量化后的DCT系数差值);第二信息包括第三指示符和不同块的量化后的DCT系数组。
在一种可能的具体实现中,每得到相似图像的一个图像块对应的全部或部分信息,就对该全部或部分信息进行算术编码,当前算术编码结果被更新,直至不存在没有被算术编码的图像块的信息,最终得到的算术编码的结果即为相似图像经压缩编码后的相似图像数据。
在一种可能的具体实现中,获取相似图像的多个图像块对应的信息后缓存,然后再从缓存中获取该多个图像块对应的信息进行算术编码,当前算术编码结果被更新,直至不存在没有被算术编码的图像块的信息,最终得到的算术编码的结果即为相似图像经压缩编码后的相似图像数据。
可以理解的是,对于相似图像的压缩编码,可以是确定了相似图像后,就对该相似图像进行压缩编码,也可以是确定了多个相似图像后,再依次对每个相似图像进行压缩编码,本实施例中并不限制。
综上,对相似图像的完全相同块,仅对一个比特的第一指示符进行算术编码,对于相似图像的部分相同块,仅对两个比特第二指示符和上述的量化后的DCT系数差值进行算术编码,且算术编码本身就是一种压缩算法,因此,可大大降低了相似图像占用的空间,实现了JPEG图像的高压缩率。此外,相似图像在压缩编码的过程中,没有任何的量化或取整等操作且采用的是算术编码,实现了相似图像的无损压缩。
为了更好理解相似图像的压缩编码过程,下面结合图12对相似图像的压缩编码过程进行总结性说明。
参见图12,对于相似图像的当前图像块,判断当前图像块与参考图像的对应块的相似度是否为完全相同,即判断当前图像块是否为相似图像的完全相同块。若当前图像块为相似图像的完全相同块,则获取第一指示符,对第一指示符进行算术编码。若当前图像块不为相似图像的完全相同块,判断当前图像块与参考图像的对应块的相似度是否为部分相同,即判断当前图像块是否为相似图像的部分相同块。若当前图像块为相似图像的部分相同块,获取第二指示符,将第二指示符进行算术编码,并获取当前图像块的每个量化后的DCT系数与参考图像的对应块的每个量化后的DCT系数的差值或者获取当前图像块的非零的量化后的DCT系数与参考图像的对应块的非零的量化后的DCT系数的差值,对该差值进行算术编码。若当前图像块不为相似图像的部分相同块,获取第三指示符,将第三指示符进行算术编码,并将当前图像块的量化后的DCT系数进行算术编码。
可以理解的是,“获取第一指示符,对第一指示符进行算术编码”只是说明存在对第一指示符进行算法编码的过程,并不限制第一指示符被算术编码的时机,可以是得到第一指示符后,即对第一指示符进行算术编码,还可以是先将第一指示符缓存起来,和相似图像的其它图像块对应的信息一同进行算术编码。同理“将第二指示符和进行算术编码,并获取当前图像块的量化后的DCT系数与参考图像的对应块的量化后的DCT系数的差值或者当前图像块的非零的量化后的DCT系数与参考图像的对应块的非零的量化后的DCT系数的差值,对该差值进行算术编码”只是说明存在对第二指示符和差值进行算法编码的过程,并不限制第二指示符和差值进行算法编码的具体实现,可以是一同进行算法编码的,也可以是先对第二指示符进行算法编码,再对该差值进行算法编码。其它类似的描述的含义相同,此处不再一一赘述。
实施例六
基于上述各实施例,本实施例对本申请中的多个JPEG图像编码后得到的参考图像数据和相似图像数据的后续处理进行说明。
可选地,在得到本申请实施例中的参考图像的各图像块的量化后的第一DCT系数组经算术编码后得到的参考图像数据后和多个JPEG图像中的至少一个相似图像经压缩编码后的至少一个相似图像数据后,可将该参考图像数据与该至少一个相似图像数据合成一个或多个文件。
在一种方案中:上述的一个或多个文件为一个文件;该一个文件包括文件头和文件数据两个部分;文件头包括相似图像数据数量字段,以及每个相似图像数据相对文件的起始处的一个或多个偏移量字段;文件数据包括参考图像数据以及至少一个相似图像数据。若至少一个相似图像数据包括R个相似图像数据,则该文件中包括R个相似图像数据,相似图像数据数量字段用于指示R,文件头中包括R个偏移量字段,第r个偏移量字段指示文件中的第r个相似图像数据相对文件的起始处的偏移量,r=1,……R,R大于等于1。若文件数据中的第一个数据为参考图像数据,后续依次为R个相似图像数据,则偏移量字段指示的相似图像数据相对文件的起始处的偏移量为的相似图像数据的起始地址。若文件数据中的最后一个数据为参考图像数据,参考图像数据之前依次为R个相似图像数据,则偏移量字段指示的相似图像数据相对文件的起始处的偏移量为的相似图像数据的末地址。
该文件的一种可能的格式可如图13中所示,另一种可能的格式如图14所示。
图13为本申请实施例提供的一种文件的格式示意图。参见图11,从左到右,最前面的两字节为相似图像数据数量字段,该相似图像数据数量字段指示该文件中包括的相似图像数据的数量;偏移量字段1指示文件数据中的第1个相似图像数据相对于文件的起始处的偏移量,即偏移量字段1指示文件数据中的第1个相似图像数据的起始地址,依次类推偏移量字段r为文件中的第r个相似图像数据相对于文件的起始处的偏移量,偏移量字段r指示文件数据中的第r个相似图像数据的起始地址。文件数据中的第一个数据为参考图像数据,后续依次为R个相似图像数据。
图14为本申请实施例提供的另一种文件的格式示意图。参见图14,从左到右,最前面的两字节为相似图像数据数量字段,该相似图像数据数量字段指示该文件中包括的相似图像数据的数量;偏移量字段1指示文件数据中的第1个相似图像数据相对于文件的起始处的偏移量,即偏移量字段1指示文件数据中的第1个相似图像数据的末地址,依次类推偏移量字段r为文件中的第r个相似图像数据相对于文件的起始处的偏移量,偏移量字段r指示文件数据中的第r个相似图像数据的末地址。文件数据中的最后一个数据为参考图像数据,参考图像数据之前依次为R个相似图像数据。
可以理解的是,文件中包括的相似图像数据数量字段所占用的字节并不限于两字节,相似图像数据相对于文件的起始处的偏移量字段并不限于四字节。
在另一种方案中:上述的一个或多个文件为多个文件。
比如,根据上述的参考图像数据得到一个第一文件,根据上述的至少一个相似图像数据得到一个第二文件。第一文件中的第一文件头可包括指示该第一文件为包括参考图像数据的文件的指示字段,文件数据为参考图像数据。第二文件的文件头可包括指示该第二文件为包括相似图像数据的文件的第一指示字段,以及指示该第二文件中的相似图像数据是依赖于第一文件中的参考图像数据编码得到的第二指示字段,还可包括相似图像数据数量字段,还可包括文件数据中的除了第一个或最后一个相似图像数据以外的每个相似图像数据相对文件的起始处的一个或多个偏移量字段(在至少一个相似图像数据的数量大于1时);第二文件的文件数据包括上述的R个相似图像数据。
又比如,根据上述的参考图像数据和上述的至少一个相似图像数据中的部分相似图像数据得到一个第一文件,根据上述的至少一个相似图像数据中剩余的部分相似图像数据得到一个第二文件。第一文件中的第一文件头可包括指示该第一文件为包括参考图像数据的文件的指示字段,还可包括相似图像数据数量字段,还可包括文件数据中的除了第一个或最后一个数据(参考图像数据或相似图像数据)以外的每个数据相对文件的起始处的一个或多个偏移量字段(在第一文件包括的数据的数量大于1时)。第二文件的文件头可包括指示该第二文件为包括相似图像数据的文件的第一指示字段,以及指示该第二文件中的相似图像数据是依赖于第一文件中的参考图像数据编码得到的第二指示字段,还可包括相似图像数据数量字段,还可包括文件数据中的除了第一个或最后一个相似图像数据以外的每个相似图像数据相对文件的起始处的一个或多个偏移量字段(在第二文件包括的相似图像数据的数量大于1时)。
实施例七
基于上述各实施例,本实施例对JPEG图像压缩编码的一种可能的总流程进行说明。
图15为本申请实施例提供的JPEG编码器的功能性示意框图。
参见图15,对于所有待压缩的JPEG图像中的任一图像:
b1、哈夫曼解码器对该JPEG图像进行哈夫曼解码,得到该JPEG图像的各图像块的量化后的DCT系数组,并输出至图像类型判别器。
b2、图像类型判别器根据实施例三中的方法,确定该JPEG图像的类型。
b3、若确定该JPEG图像为参考图像,则将该JPEG图像的各图像块的量化后的DCT系数组缓存至参考图像DCT系数缓存器,并输出至第一算术编码器,第一算术编码器按照实施例四中所述的参考图像的编码方法对该JPEG图像进行编码,得到该JPEG图像编码后的数据(参考图像数据);接着将该参考图像数据输入至文件生成器。
若该JPEG图像不存在与之相似的相似图像,文件生成器根据该JPEG图像编码后的参考图像数据生成一个包括参考图像数据的文件。该文件的文件头可包括指示该文件仅包括参考图像数据的字段;或者,该文件头包括的相似图像数据数量字段指示该文件包括的相似图像数量的数目为0,不包括偏移量字段。
若该JPEG图像存在与其相似的相似图像,文件生成器后续还会接收到与该JPEG图像相似的相似图像编码后的相似图像数据。文件生成器基于该JPEG图像编码后的参考图像数据与该JPEG图像相似的相似图像编码后的相似图像数据按照实施例六中所述的方法生成一个或多个文件。可以理解的是,“文件生成器基于xx与yy生成一个或多个文件”并不限制一定是在得到了xx以及yy后才基于xx与yy生成一个或多个文件,还可以在得到xx就先生成一个文件,得到全部yy再生成一个或多个文件,等等,本实施例并不限制。
b4、若确定该JPEG图像为相似图像,则将该JPEG图像的各图像块的量化后的DCT系数组缓存至相似图像DCT系数缓存器,并输出至第二算术编码器,同时该JPEG图像对应的参考图像的各图像块的量化后的DCT系数组也需要输出至第二算术编码器,第二算术编码器采用实施例五中所述的方法对该JPEG图像进行压缩编码,得到该JPEG图像编码后的数据(相似图像数据);接着将该相似图像数据输入至文件生成器。
文件生成器基于该相似图像数据、与该相似图像数据对应的参考图像编码后的参考图像数据以及与该相似图像数据对应的参考图像所对应的其它相似图像编码后的相似图像数据,按照实施例六中所述的方法生成一个或多个文件。
继续参见图15,对于本申请中的多个JPEG图像:
c1、哈夫曼解码器对该多个JPEG图像进行哈夫曼解码,得到各JPEG图像的各图像块的量化后的DCT系数组,并将各JPEG图像的各图像块的量化后的DCT系数组输出至图像类型判别器。为了描述的清楚,本实施例中的将该多个JPEG图像中的一个参考图像未确定其为参考图像之前称为第一JPEG图像,该多个JPEG图像中的任一个相似图像未确定其为相似图像之前称为第二JPEG图像。
c2、图像类型判别器确定该第一JPEG图像为参考图像,将该参考图像的各图像块的量化后的DCT系数组缓存至参考图像DCT系数缓存器,并输出至第一算术编码器,第一算术编码器按照实施例四中所述的参考图像的编码方法对该该参考图像进行编码,得到该该参考图像编码后的参考图像数据;接着将该参考图像数据输入至文件生成器。
c3、对于任一个第二JPEG图像,图像类型判别器确定第二JPEG图像为相似图像,则将该相似图像的各图像块的量化后的DCT系数组缓存至相似图像DCT系数缓存器,并输出至第二算术编码器,同时将参考图像(第一JPEG图像)的各图像块的量化后的DCT系数组也需要输出至第二算术编码器,第二算术编码器采用实施例五中所述的方法对该相似图像进行压缩编码,得到该第二JPEG图像编码后的相似图像数据;接着将该相似图像数据输入至文件生成器。
c4、文件生成器基于c2中得到的参考图像数据和c3中得到的至少一个相似图像数据根据实施例六中所述的方法生成一个或多个文件。
以上结合图6~图15对压缩多个JPEG图像的方法进行了说明,以下通过具体实施例对采用上述压缩多个JPEG图像的方法得到的编码数据进行解码以得到多个JPEG图像的方法进行说明。后续实施例的执行主体可为图2中所示的解码装置20中的解码器或者图3中所示的解码器。
图16为本申请提供的解压缩JPEG图像的方法的流程图。解压缩JPEG图像的方法包括:根据参考图像数据和k个相似图像数据进行解压缩,得到JPEG图像。该参考图像数据为上述实施例中得到的上述的多个JPEG图像中的一个参考图像编码后的参考图像数据,k个相似图像数据为上述实施例中得到的至少一个相似图像数据(上述实施例中多个JPEG图像中的至少一个相似图像编码后得到的)中的k个相似图像数据。k为正整数。
实施例八
基于上述各实施例,参见图16,本申请实施例八的方法包括:
步骤S301、获取上述的参考图像数据和k个相似图像数据。
步骤S302、对该参考图像数据进行算术解码,得到该参考图像的每个图像块的量化后的第一DCT系数组。
对于k个相似图像数据中的每个相似图像数据,执行如下的解码操作:
步骤S303、对相似图像数据进行算术解码,得到相似图像的每个图像块对应的解码数据;指示符指示一对图像块的相似度,一对图像块包括参考图像的一个图像块和相似图像中对应的一个图像块。
可以理解的是,相似图像中的完全相同块对应的解码数据中的指示符为第一指示符,第一指示符指示相似图像的完全相同块与参考图像中的对应块完全相同。相似图像中的部分相同块对应的解码数据中的指示符为第二指示符,第二指示符指示相似图像的部分相同块与参考图像中的对应块部分相同以及部分相同块对应的解码数据中还包括量化后的DCT系数差值。相似图像中的不同块对应的解码数据中的指示符为第三指示符,第三指示符指示相似图像的不同块与参考图像中的对应块不同。
步骤S304、对于每个相似图像的图像块,根据图像块对应的解码数据或者根据图像块对应的解码数据和参考图像中的对应块的量化后的第一DCT系数组,获取相似图像的图像块的量化后的第二DCT系数组。
其中,本申请中可以将“根据图像块对应的解码数据,获取相似图像的图像块的量化后的第二DCT系数组”的功能以及“根据图像块对应的解码数据和参考图像中的对应块的量化后的第一DCT系数组,获取相似图像的图像块的量化后的第二DCT系数组”的功能写到产品相关的代码或者逻辑电路中。也即用于实现获取相似图像的图像块的量化后的第二DCT系数组的产品,可同时具有“根据图像块对应的解码数据,获取相似图像的图像块的量化后的第二DCT系数组”的功能以及“根据图像块对应的解码数据和参考图像中的对应块的量化后的第一DCT系数组,获取相似图像的图像块的量化后的第二DCT系数组”的功能。
步骤S305、对相似图像的每个图像块的量化后的第二DCT系数组进行哈夫曼编码,得到相似图像。
可选地,在用户需要对参考图像数据进行解压缩得到参考图像时,还可包括对参考图像的每个图像块的量化后的第一DCT系数组进行哈夫曼编码,得到参考图像。
可以理解的是,对于本实施例中的k个相似图像数据的解码过程,可以是在一次解码过程中进行的,也可以是在不同的解码过程中进行的。
本实施例中实现了对JPEG图像压缩后的数据进行解压缩重新得到JPEG图像的方法。
实施例九
基于上述各实施例,本实施例对实施例八中的获取上述的参考图像数据和k个相似图像数据进行说明。
本实施例中的参考图像数据和k个相似图像数据可为实施例四中得到的经编码数据中的全部或部分数据。
在一种方案中:获取参考图像数据和k个相似图像数据,包括:获取一个或多个文件,该一个或多个文件包括参考图像数据以及至少一个相似图像数据;从该一个或多个文件中获取参考图像数据和k个相似图像数据。该一个或多个文件为上述实施例六中生成的一个或多个文件,参见实施例中的阐述,此处不再赘述。
其中,获取一个或多个文件包括:获取一个文件;该文件包括文件头和文件数据两个部分;文件头包括相似图像数据数量字段,以及经过压缩编码后的每个相似图像数据相对文件起始处的一个或多个偏移量字段;文件数据包括上述的参考图像数据以及至少一个相似图像数据。相应地,从该一个文件中获取参考图像数据和k个相似图像数据,包括:根据文件头,从该文件的文件数据中获取参考图像数据以及k个相似图像数据。
在一种实施方式中:获取该一个文件的具体过程可如下:获取该文件的标识,并获取该文件的标识所指示的该文件;该文件的标识可以是用户输入的。在另一种方式中,获取用户通过点击该文件的图标输入的指令,根据该指令获取该文件。
在一种实施方式中:根据文件头,从该文件的文件数据中获取参考图像数据可如下:若文件数据中的第一个数据为参考图像数据,文件数据的起始地址与文件数据中的第一个相似图像数据的起始地址之间的数据(包括文件数据的起始地址上的数据)为参考图像数据。获取文件数据的起始地址与文件数据中的第一个相似图像数据的起始地址之间的数据,得到参考图像数据。其中,文件数据的起始地址可根据文件头包括的各字段占用的字节确定,第一个相似图像数据的起始地址可根据文件中包括的第一个相似图像数据相对文件的起始处的偏移量字段得到。
在一种实施方式中:对于k个相似图像数据中每个相似图像数据,根据文件头,从该文件的文件数据中获取相似图像数据可如下:根据相似图像数据所对应的相似图像的标识,获取相似图像数据,相似图像数据所对应的相似图像的标识可以是用户输入的。
其中,相似图像数据所对应的相似图像是指该相似图像数据是由该相似图像经实施例五中的压缩编码的方法得到的相似图像数据。相似图像的标识可为r,r指示该相似图像对应的相似图像数据为该文件中的第r个相似图像数据。
在r不等于R且相似图像数据相对于该文件的起始处的偏移量指示相似图像数据的起始地址时,根据该相似图像的标识r,获取文件头中的中第r个偏移量字段指示的第r个相似图像数据相对于该文件的起始处的偏移量和第r+1个偏移量字段指示的第r+1个相似图像数据相对于该文件的起始处的偏移量,根据第r个相似图像数据相对于该文件的起始处的偏移量和第r+1个相似图像数据相对于该文件的起始处的偏移量,得到该相似图像数据(该相似图像数据为该文件中的第r个相似图像数据),即获取第r个相似图像数据的起始地址和第r+1个相似图像数据的起始地址之间的数据(包括第r个相似图像数据的起始地址上的数据),得到该相似图像数据。
在r不等于R且相似图像数据相对于该文件的起始处的偏移量指示相似图像数据的末地址时,根据该相似图像的标识r,获取文件头中的中第r-1个偏移量字段指示的第r个相似图像数据相对于该文件的起始处的偏移量和第r个偏移量字段指示的第r个相似图像数据相对于该文件的起始处的偏移量,根据第r-1个相似图像数据相对于该文件的起始处的偏移量和第r个相似图像数据相对于该文件的起始处的偏移量,得到该相似图像数据(该相似图像数据为该文件中的第r个相似图像数据),即获取第r-1个相似图像数据的末地址与第r个相似图像数据的末地址之间的数据(包括第r个相似图像数据的末地址上的数据),得到该相似图像数据。
在r等于R且相似图像数据相对于该文件的起始处的偏移量指示相似图像数据的起始地址时,根据该相似图像的标识r,获取文件头中的中第r个偏移量字段指示的第r个相似图像数据相对于该文件的起始处的偏移量,根据第r个相似图像数据相对于该文件的起始处的偏移量,得到该相似图像数据,即获取第r个相似图像数据的起始地址至该文件的末地址之间的数据(包括第r个相似图像数据的起始地址上的数据和该文件的末地址上的数据),得到该相似图像数据。
在r等于R且相似图像数据相对于该文件的起始处的偏移量指示相似图像数据的末地址时,根据该相似图像的标识r,获取文件头中的中第r-1个偏移量字段指示的第r个相似图像数据相对于该文件的起始处的偏移量,根据第r-1个相似图像数据相对于该文件的起始处的偏移量,得到该相似图像数据,即获取第r-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系数采用0补齐,得到相似图像的部分相同块的量化后的第二DCT系数组。
可以理解的是,相似图像的部分相同块中非零的量化后的DCT系数的位置与参考图像的对应块的非零的量化后的DCT系数的位置相同。
对于相似图像中的与所述参考图像中的对应块的相似度为不同的不同块,不同块对应的解码数据中的指示符为第三指示符,第三指示符指示不同块与参考图像中的对应块不同。
相应地,根据不同块对应的解码数据,获取不同块的量化后的第二DCT系数组,包括:根据第三指示符,确定不同块对应的解码数据中除了指示符以外的数据为不同块的量化后的第二DCT系数组。
为了更好理解相似图像的压缩编码过程,下面结合图17对相似图像数据的解码过程进行总结性说明。
图17基于如下的场景:第一指示符为第一比特,第一比特占用一个比特位,第一比特为第一值。第二指示符由第一比特以及第二比特组成,第一比特占用一个比特位,第二比特占用一个比特位,第一比特为第二值,第二比特为第一值。第三指示符由第一比特以及第二比特组成,第一比特占用一个比特位,第二比特占用一个比特位,第一比特为第二值,第二比特为第二值。
参见图17,对相似图像数据进行算术解码,对于相似图像的当前图像块的算术解码,解码出当前图像块对应的解码数据的第一个比特,判断该第一个比特是否为第一值。若该第一个比特为第一值,说明当前图像块与参考图像中的对应块完全相同,复制当前图像块在参考图像中的对应块的量化后的第一DCT系数组,作为当前图像块的量化后的第二DCT系数组。若该第一个比特为第二值,则继续算术解码出当前图像块对应的解码数据的第二个比特,判断该第二个比特是否为第一值。若该第二个比特为第一值,说明当前图像块与参考图像中的对应块部分相同,继续解码出当前图像块对应的解码数据中包括的量化后的DCT系数差值,根据当前图像块在参考图像中的对应块的量化后的DCT系数与量化后的DCT系数差值之和,获取当前图像块的量化后的第二DCT系数组。若该第二个比特为第二值,说明当前图像块与参考图像中的对应块不同,继续解码出当前图像块对应的解码数据中包括的当前图像块的量化后的第二DCT系数组。
重复上述过程,直至解码出相似图像的各图像块的量化后的第二DCT系数组。
实施例十一
基于上述各实施例,本实施例对解压缩的一种可能的总流程进行说明。
图18为本申请实施例提供的JPEG解码器的功能性示意框图。
参见图18,在需要解压缩得到的JPEG图像中包括本申请中的多个JPEG图像中的至少一个相似图像中的k个相似图像的情况下,该k个相似图像在本实施例中称为k个目标JPEG图像,k个目标JPEG图像编码后的数据称为k个目标相似图像数据,k个目标相似图像数据也就是上述的k个相似图像数据。
文件解析器对实施例六中得到的一个或多个文件进行解析,得到参考图像数据和每个目标相似图像数据,并将该参考图像数据缓存至参考图像数据缓存器,将每个目标JPEG图像目标相似图像数据缓存至相似图像数据缓存器。
参考图像数据缓存器将该参考图像数据输出至第一算术解码器,第一算术解码器对该参考图像数据进行算术解码,得到参考图像的各图像块的量化后的第一DCT系数组,并将该量化后的第一DCT系数组输入至第二算术解码器。
相似图像数据缓存器将每个目标相似图像数据输出至第二算术解码器,第二算术解码器对每个目标相似图像数据进行解码,得到每个目标JPEG图像的各图像块对应的解码数据,第二算术解码器根据实施例十中的解码方法,获取每个目标JPEG图像的各图像块的量化后的第二DCT系数组。
第二算术解码器将每个目标JPEG图像的各图像块的量化后的第二DCT系数组输出至哈夫曼编码器,哈夫曼编码器对每个目标JPEG图像的各图像块的量化后的第二DCT系数组进行哈夫曼编码,得到各目标JPEG图像。若还需要解压缩得到本申请中的多个JPEG图像中的参考图像,则第二算术解码器还将参考图像的各图像块的量化后的第一DCT系数组输出至哈夫曼编码器,哈夫曼编码器进行哈夫曼编码,得到该参考图像。
下面结合实施例十三对本申请提供的另一种压缩多个图像的方法进行说明。
实施例十二
其中,该实施例中压缩的多个图像为多个原始图像。多个原始图像包括一个参考图像和参考图像的至少一个相似图像,参考图像和相似图像均包括多个图像块,两种图像的图像块划分方法相同,参考图像的多个图像块与相似图像的多个图像块一一对应。
图19为本申请实施例提供的另一种压缩多个图像的方法的流程图,参见图19,本实施例的方法包括:
步骤S401、获取参考图像经DCT变换和量化后得到的参考图像中的每个图像块的量化后的第一DCT系数组。
对参考图像的每一个相似图像执行如下方法(S402、S403)进行压缩,得到经编码数据:
步骤S402、获取相似图像经DCT变换和量化后得到的相似图像中的每个图像块的量化后的第二DCT系数组。
步骤S403、基于每一对图像块所对应的一对量化后的DCT系数组的比较结果得到每一对图像块的相似度,根据每一对图像块的相似度对相似图像进行压缩编码,其中每一对图像块包括参考图像的一个图像块和相似图像中对应的一个图像块,每一对图像块所对应的一对量化后的DCT系数组包括参考图像的图像块的量化后的第一DCT系数组和相似图像中对应的图像块的量化后的第二DCT系数组。
本实施例中的具体实现与实施例二至实施例七的不同之处为本实施例中采用“对原始图像进行DCT变换,得到原始图像中每个图像块的DCT系数组,并对每个DCT系数组中的DCT系数进行量化,得到原始图像的每个图像块的量化后的DCT系数组”替换实施例二至实施例七中的采用“对JPEG图像进行哈夫曼解码得到量化后的DCT系数组”,其余的具体实现与实施例二至实施例七相同,此处不再赘述。
本实施例中的多个原始图像包括参考图像和参考图像的至少一个相似图像,由于相似图像与参考图像具有一定的相似性,因此在编码的时候,与参考图像重复或相似的信息就不需要再编码或者用更少比特进行编码,从而降低了相似图像所占用的空间,实现了原始图像的压缩。
下面结合实施例十四对本申请提供的另一种解压缩图像的方法进行说明。
实施例十三
其中,本实施例是对采用实施例十三的压缩编码方法得到的编码数据进行解压缩的方法。
图20为本申请实施例提供的另一种解压缩图像的方法的流程图,参见图20,本实施例的方法包括:
步骤S501、获取参考图像数据和k个相似图像数据。
步骤S502、对该参考图像数据进行算术解码,得到该参考图像的每个图像块的量化后的第一DCT系数组。
对于k个相似图像数据中的每个相似图像数据,执行如下的解码操作:
步骤S503、对相似图像数据进行算术解码,得到相似图像的每个图像块对应的解码数据;解码数据包括指示符,所述指示符指示一对图像块的相似度,一对图像块包括参考图像的一个图像块和相似图像中对应的一个图像块。
步骤S504、对于每个相似图像的图像块,根据图像块对应的解码数据或者根据图像块对应的解码数据和参考图像中的对应块的量化后的第一DCT系数组,获取所述相似图像的图像块的量化后的第二DCT系数组。
步骤S505、对相似图像的每个图像块的量化后的第二DCT系数组进行反量化和反DCT变换,得到相似图像。
可选地,在用户需要对参考图像数据进行解压缩得到参考图像时,还可包括对参考图像的每个图像块的量化后的第一DCT系数组进行反量化和反DCT变换,得到参考图像。
本实施例中的具体实现与实施例八至实施例十二的不同之处为本实施例中采用“对每个图像块的量化后的DCT系数组进行反量化和反DCT变换,得到原始图像”替换实施例八至实施例十二中的采用“对每个图像块的量化后的DCT系数组进行哈夫曼编码,得到JPEG图像”,其余的具体实现与实施例八至实施例十二相同,此处不再赘述。
本实施例中实现了对原始图像压缩后的数据进行解压缩重新得到原始图像的方法。
以上对本申请实施例提供的压缩多个图像的方法和解压缩多个图像的方法进行了说明,下面对本申请实施例提供的装置进行说明。
图21为本申请实施例提供的压缩多个图像的装置的示意图一,参见图21,本实施例的压缩多个图像的装置包括:获取模块2101和编码模块2102。
所述多个图像包括一个参考图像和至少一个相似图像,所述参考图像和所述相似图像分别包括多个图像块,所述参考图像的多个图像块与所述相似图像的多个图像块一一对应。
获取模块2101,用于获取所述参考图像中的每个图像块的量化后的第一离散余弦变换DCT系数组;对每一个所述相似图像执行如下方法进行压缩,得到经编码数据:所述获取模块2101,还用于获取所述相似图像中的每个图像块的量化后的第二DCT系数组;编码模块2102,用于基于每一对图像块所对应的一对量化后的DCT系数组的比较结果得到每一对图像块的相似度,根据每一对图像块的相似度对所述相似图像进行压缩编码,其中所述每一对图像块包括所述参考图像的一个图像块和所述相似图像中对应的一个图像块,所述每一对图像块所对应的一对量化后的DCT系数组包括所述参考图像的图像块的量化后的第一DCT系数组和所述相似图像中对应的图像块的量化后的第二DCT系数组。
可选地,所述编码模块2102,用于根据每一对图像块的相似度对所述相似图像进行压缩编码,包括:所述编码模块2102,具体用于:对于每一对图像块,根据所述一对图像块的相似度,生成用于指示所述一对图像块的相似度的指示符;根据各所述指示符,对所述相似图像进行压缩编码。
可选地,所述用于指示所述一对图像块的相似度的指示符包括第一指示符,第二指示符或第三指示符,其中:第一指示符用于指示所述一对图像块完全相同,第二指示符用于指示所述一对图像块部分相同,第三指示符用于指示所述一对图像块不同。
可选地,所述第一指示符占用一个比特位,所述比特位为第一值。
可选地,所述第二指示符占用两个比特,所述两个比特包括第一比特和第二比特,所述第一比特为第二值,所述第二比特为第一值。
可选地,所述第三指示符占用两个比特,所述两个比特包括第一比特和第二比特,所述第一比特为第二值,所述第二比特为第二值。
可选地,一对图像块的相似度为:所述一对图像块中的两个图像块完全相同;或者,所述一对图像块中的两个图像块部分相同;或者,所述一对图像块中的两个图像块不同。
可选地,对于一对图像块中的两个图像块:如果所述两个图像块的量化后的DCT系数完全相同,则所述两个图像块完全相同;如果所述两个图像块的量化后的DCT系数组中,零分布相同且非零的量化后的DCT系数部分相同,所述两个图像块部分相同;如果所述两个图像块的量化后的DCT系数组中,零分布不相同,则所述两个图像块不同;或者,如果在所述两个图像块的量化后的DCT系数组中均不存在取值为零的DCT系数且所述两个图像块的量化后的DCT系数不完全相同,所述两个图像块不同。
可选地,所述编码模块2102用于根据各所述指示符,对所述相似图像进行压缩编码,包括:所述编码模块2102,具体用于:对所述相似图像中的每个完全相同块对应的第一指示符进行算术编码;所述完全相同块与所述参考图像中的对应块的相似度为完全相同;或者,对所述相似图像中的每个部分相同块对应的第一信息进行算术编码;所述部分相同块与所述参考图像中的对应块的相似度为部分相同;或者,对所述相似图像中的每个完全相同块对应的第一指示符以及每个部分相同块对应的第一信息进行算术编码;或者,对所述相似图像中的每个部分相同块对应的第一信息以及每个不同块对应的第二信息进行算术编码;所述不同块与所述参考图像中的对应块的相似度为不同;或者,对所述相似图像中的每个完全相同块对应的第一指示符以及每个不同块对应的第二信息进行算术编码;或者,对所述相似图像中的每个完全相同块对应的第一指示符、每个部分相同块对应的第一信息以及对每个不同块对应的第二信息进行算术编码;其中,所述第一指示符指示所述完全相同块与所述参考图像中的对应块完全相同;所述第一信息包括第二指示符和所述部分相同块的量化后的DCT系数与所述参考图像的对应块的量化后的DCT系数的差值;或者,所述第一信息包括第二指示符和所述部分相同块的非零的量化后的DCT系数与所述参考图像的对应块的非零的量化后的DCT系数的差值;所述第二指示符指示所述部分相同块与所述参考图像中的对应块部分相同;所述第二信息包括第三指示符和所述不同块的量化后的DCT系数,所述第三指示符指示所述不同块与所述参考图像中的对应块不同。
可选地,所述经编码数据包括:将所述参考图像的各图像块的量化后的第一DCT系数组经算术编码后得到的参考图像数据与所述至少一个相似图像经过压缩编码后得到的至少一个相似图像数据。
可选地,所述图像块包括M行N列的变换系数矩阵,对应于M×N个量化后的DCT系数,所述M×N个量化后的DCT系数组成所述图像块的量化后的DCT系数组;其中,M、N都是大于1的正整数。
可选地,所述参考图像是从所有待压缩的图像中任意选取的一个图像,所述多个图像为所述所有待压缩的图像中的部分或全部;或者,所述参考图像是根据文件名排序或文件创建日期排序选取的一个图像。
可选地,所述相似图像中与所述参考图像中对应的图像块完全相同的图像块的数量大于或等于第一阈值;或者,所述相似图像中与所述参考图像中对应的图像块为部分相同的图像块的数量大于或等于第二阈值,或者,所述相似图像中与所述参考图像中对应的图像块完全相同的图像块的数量加上所述相似图像中与所述参考图像中对应的图像块部分相同的图像块的数量的总数量大于或等于第三阈值。
本实施例的装置,可以用于执行上述压缩多个JPEG图像的实施例中的技术方案或者执行上述压缩多个原始图像的实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
图22为本申请实施例提供的压缩多个图像的装置的示意图二,如图22所示,本实施例的装置在图21所示装置的基础上,进一步地,还可以包括:文件生成模块2103。
文件生成模块2103,用于将所述参考图像数据与所述至少一个相似图像数据合成一个或多个文件。
可选地,所述一个或多个文件为一个;所述文件包括文件头和文件数据两个部分;所述文件头包括相似图像数据数量字段以及每个相似图像数据相对所述文件的起始处的一个或多个偏移量字段;所述文件数据包括所述参考图像数据以及所述至少一个相似图像数据。
本实施例的装置,可可以用于执行上述压缩多个JPEG图像的实施例中的技术方案或者执行上述压缩多个原始图像的实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
图23为本申请实施例提供的解压缩图像的装置的示意图,如图23所示,本实施例的装置包括:解析模块2301、解码模块2302和还原模块2303。
解析模块2301,用于获取经编码数据,所述经编码数据包括参考图像数据和至少一个相似图像数据;解码模块2302,用于对所述参考图像数据进行算术解码,得到所述参考图像的每个图像块的量化后的第一离散余弦变换DCT系数组;所述解码模块2302,还用于对所述相似图像数据进行算术解码,得到所述相似图像的每个图像块对应的解码数据;所述解码数据包括指示符,所述指示符指示所述相似图像的图像块与所述参考图像中的对应块的相似度;以及,对于每个相似图像的图像块,根据所述图像块对应的解码数据或者根据所述图像块对应的解码数据和所述参考图像中的对应块的量化后的第一DCT系数组,获取所述相似图像的图像块的量化后的第二DCT系数组;还原模块2303,用于根据所述相似图像的每个图像块的量化后的第二DCT系数组,得到所述相似图像。
可以理解,本申请中,各个模块的划分是逻辑上的划分,其中一个模块的功能也可以跟其他模块集成到一起,例如,针对本实施例,量化模块可以集成到解码模块中。在具体实现时,本申请中的各个模块可以基于能够处理软件指令的处理器实现,或者也可以是基于硬件(如FPGA、ASIC)来实现。
可选地,一对图像块的相似度为:所述一对图像块中的两个图像块完全相同;或者,所述一对图像块中的两个图像块部分相同;或者,所述一对图像块中的两个图像块不同。
可选地,对于一对图像块中的两个图像块:如果所述两个图像块的量化后的DCT系数完全相同,则所述两个图像块完全相同;如果所述两个图像块的量化后的DCT系数组中,零分布相同且非零的量化后的DCT系数部分相同,所述两个图像块部分相同;如果所述两个图像块的量化后的DCT系数组中,零分布不相同,则所述两个图像块不同;或者,如果在所述两个图像块的量化后的DCT系数组中均不存在取值为零的DCT系数且所述两个图像块的量化后的DCT系数不完全相同,所述两个图像块不同。
可选地,对于所述相似图像中的与所述参考图像中的对应块的相似度为完全相同的完全相同块,所述完全相同块对应的解码数据中的指示符为第一指示符,所述第一指示符指示所述完全相同块与所述参考图像中的对应块完全相同;所述解码模块2302,用于根据完全相同块对应的解码数据和所述参考图像中的对应块的量化后的第一DCT系数组,获取所述完全相同块的量化后的第二DCT系数组,包括:所述解码模块2302,具体用于:根据所述第一指示符,确定所述完全相同块在所述参考图像中的对应块的量化后的第一DCT系数组为所述相似图像的完全相同块的量化后的第二DCT系数组。
可选地,所述第一指示符占用一个比特位,所述比特位为第一值。
可选地,对于所述相似图像中的与所述参考图像中的对应块的相似度为部分相同的部分相同块,所述部分相同块对应的解码数据中的指示符为第二指示符,所述第二指示符指示所述部分相同块与所述参考图像中的对应块部分相同,以及所述解码数据中存在量化后的DCT系数差值;所述解码模块2302用于根据所述部分相同块对应的解码数据和所述参考图像中的对应块的量化后的第一DCT系数组,获取所述部分相同块的量化后的第二DCT系数组,包括:所述解码模块2302,具体用于:根据所述第二指示符,获取所述部分相同块在所述参考图像中的对应块的量化后的DCT系数与所述量化后的DCT系数差值之和,得到所述相似图像的部分相同块的量化后的第二DCT系数组。
可选地,所述量化后的DCT系数差值为所述部分相同块的非零的量化后的DCT系数与所述参考图像的对应块的非零的量化后的DCT系数的差值;所述解码模块2302用于获取所述部分相同块在所述参考图像中的对应块的量化后的DCT系数与所述解码数据中包括的量化后的DCT系数差值之和,包括:所述解码模块2302,具体用于:获取所述部分相同块在所述参考图像中的对应块的非零的量化后的DCT系数与所述解码数据中包括的量化后的DCT系数差值之和。
可选地,所述第二指示符占用两个比特,所述两个比特包括第一比特和第二比特,所述第一比特为第二值,所述第二比特为第一值。
可选地,对于所述相似图像中的与所述参考图像中的对应块的相似度为不同的不同块,所述不同块对应的解码数据中的指示符为第三指示符,所述第三指示符指示所述不同块与所述参考图像中的对应块不同;所述解码模块2302用于根据所述不同块对应的解码数据,获取所述不同块的量化后的第二DCT系数组,包括:所述解码模块2302,具体用于:根据所述第三指示符,确定所述不同块对应的解码数据中除了所述指示符以外的数据为所述不同块的量化后的第二DCT系数组。
可选地,所述第三指示符占用两个比特,所述两个比特包括第一比特和第二比特,所述第一比特为第二值,所述第二比特为第二值。
可选地,所述解析模块2301用于获取经编码数据,包括:所述解析模块2301,具体用于:获取一个或多个文件,所述一个或多个文件包括所述经编码数据;从所述一个或多个文件中获取所述经编码数据。
可选地,所述解析模块2301用于获取一个或多个文件,包括:所述述解析模块2301,具体用于:获取一个文件;所述文件包括文件头和文件数据两个部分;其中,所述文件头包括相似图像数量字段相似图像数据数量字段,以及每个相似图像数据相对文件起始处的一个或多个偏移量字段;文件数据包括所述经编码数据;所述解析模块2301用于从所述一个或多个文件中获取所述经编码数据,包括:所述述解析模块2301,具体用于:根据所述文件头,从所述文件的文件数据中获取经编码数据。
可选地,所述还原模块2303,还用于:根据所述参考图像的每个图像块的量化后的第一DCT系数组,得到所述参考图像。
本实施例的装置,可以用于执行上述解压缩JPEG图像的方法实施例中的技术方案或者用于执行上述解压缩原始图像的方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
图24为本申请实施例的译码设备的一种实现方式的示意性框图(编码设备或解码设备或图像处理设备均可称为译码设备)。其中,译码设备可以包括处理器201、存储器202和总线系统203。其中,处理器201和存储器202通过总线系统203相连,该存储器202用于存储指令,该处理器201用于执行该存储器202存储的指令。在译码设备为编码设备时,编码设备的存储器202存储程序代码,且处理器201可以调用存储器202中存储的程序代码执行本申请描述的压缩多个图像的方法。在译码设备为解码设备时,解码设备的存储器202存储程序代码,且处理器201可以调用存储器202中存储的程序代码执行本申请描述的解压缩图像的方法。在译码设备为图像处理设备时,图像处理设备的存储器202存储程序代码,且处理器201可以调用存储器202中存储的程序代码执行本申请描述的压缩多个图像的方法和解压缩图像的方法。
在本申请实施例中,该处理器201可以是中央处理单元(Central ProcessingUnit,简称为“CPU”),该处理器201还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器202可以包括只读存储器(ROM)设备或者随机存取存储器(RAM)设备。任何其他适宜类型的存储设备也可以用作存储器202。存储器202可以包括由处理器201使用总线系统203访问的代码和数据。存储器202可以进一步包括操作系统和应用程序,该应用程序包括允许处理器201执行本申请描述的压缩多个图像的方法或者解压缩图像的方法的至少一个程序。例如,应用程序可以包括应用1至N,其进一步包括执行在本申请描述的压缩多个图像的方法或者解压缩图像的方法的图像编码或图像解码应用。
该总线系统203除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统203。
可选的,译码设备还可以包括一个或多个输出设备,诸如显示器204。在一个示例中,显示器204可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器204可以经由总线系统203连接到处理器201。
本申请实施例提供一种计算机存储介质,包括:计算机可执行指令,所述计算机可执行指令用于实现本申请描述的压缩多个图像的方法和/或解压缩图像的方法。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (52)

1.一种压缩多个图像的方法,其特征在于,所述多个图像包括一个参考图像和至少一个相似图像,所述参考图像和所述相似图像分别包括多个图像块,所述参考图像的多个图像块与所述相似图像的多个图像块一一对应,所述方法包括:
获取所述参考图像中的每个图像块的量化后的第一离散余弦变换DCT系数组;
对每一个所述相似图像执行如下方法进行压缩,得到经编码数据:
获取所述相似图像中的每个图像块的量化后的第二DCT系数组;
基于每一对图像块所对应的一对量化后的DCT系数组的比较结果得到每一对图像块的相似度,根据每一对图像块的相似度对所述相似图像进行压缩编码,其中所述每一对图像块包括所述参考图像的一个图像块和所述相似图像中对应的一个图像块,所述每一对图像块所对应的一对量化后的DCT系数组包括所述参考图像的图像块的量化后的第一DCT系数组和所述相似图像中对应的图像块的量化后的第二DCT系数组;
对于一对图像块中的两个图像块:
如果所述两个图像块的量化后的DCT系数完全相同,则所述两个图像块完全相同;
如果所述两个图像块的量化后的DCT系数组中,零分布相同且非零的量化后的DCT系数部分相同,所述两个图像块部分相同;
如果所述两个图像块的量化后的DCT系数组中,零分布不相同,则所述两个图像块不同;或者,如果在所述两个图像块的量化后的DCT系数组中均不存在取值为零的DCT系数且所述两个图像块的量化后的DCT系数不完全相同,所述两个图像块不同。
2.根据权利要求1所述的方法,其特征在于,所述根据每一对图像块的相似度对所述相似图像进行压缩编码,包括:
对于每一对图像块,根据所述一对图像块的相似度,生成用于指示所述一对图像块的相似度的指示符;
根据各所述指示符,对所述相似图像进行压缩编码。
3.根据权利要求2所述的方法,其特征在于,所述用于指示所述一对图像块的相似度的指示符包括第一指示符,第二指示符或第三指示符,其中:
第一指示符用于指示所述一对图像块完全相同,
第二指示符用于指示所述一对图像块部分相同,
第三指示符用于指示所述一对图像块不同。
4.根据权利要求3所述的方法,其特征在于,
所述第一指示符占用一个比特位,所述比特位为第一值。
5.根据权利要求3所述的方法,其特征在于,
所述第二指示符占用两个比特,所述两个比特包括第一比特和第二比特,所述第一比特为第二值,所述第二比特为第一值。
6.根据权利要求3所述的方法,其特征在于,
所述第三指示符占用两个比特,所述两个比特包括第一比特和第二比特,所述第一比特为第二值,所述第二比特为第二值。
7.根据权利要求1所述的方法,其特征在于,一对图像块的相似度为:
所述一对图像块中的两个图像块完全相同;或者,
所述一对图像块中的两个图像块部分相同;或者,
所述一对图像块中的两个图像块不同。
8.根据权利要求6所述的方法,其特征在于,所述根据各所述指示符,对所述相似图像进行压缩编码,包括:
对所述相似图像中的每个完全相同块对应的第一指示符进行算术编码;所述完全相同块与所述参考图像中的对应块的相似度为完全相同;或者,
对所述相似图像中的每个部分相同块对应的第一信息进行算术编码;所述部分相同块与所述参考图像中的对应块的相似度为部分相同;或者,
对所述相似图像中的每个完全相同块对应的第一指示符以及每个部分相同块对应的第一信息进行算术编码;或者,
对所述相似图像中的每个部分相同块对应的第一信息以及每个不同块对应的第二信息进行算术编码;所述不同块与所述参考图像中的对应块的相似度为不同;或者,
对所述相似图像中的每个完全相同块对应的第一指示符以及每个不同块对应的第二信息进行算术编码;或者,
对所述相似图像中的每个完全相同块对应的第一指示符、每个部分相同块对应的第一信息以及对每个不同块对应的第二信息进行算术编码;
其中,所述第一指示符指示所述完全相同块与所述参考图像中的对应块完全相同;
所述第一信息包括第二指示符和所述部分相同块的量化后的DCT系数与所述参考图像的对应块的量化后的DCT系数的差值;或者,所述第一信息包括第二指示符和所述部分相同块的非零的量化后的DCT系数与所述参考图像的对应块的非零的量化后的DCT系数的差值;所述第二指示符指示所述部分相同块与所述参考图像中的对应块部分相同;
所述第二信息包括第三指示符和所述不同块的量化后的DCT系数,所述第三指示符指示所述不同块与所述参考图像中的对应块不同。
9.根据权利要求1所述的方法,其特征在于,所述经编码数据包括:
将所述参考图像的各图像块的量化后的第一DCT系数组经算术编码后得到的参考图像数据与所述至少一个相似图像经过压缩编码后得到的至少一个相似图像数据。
10.根据权利要求9所述的方法,其特征在于,还包括:
将所述参考图像数据与所述至少一个相似图像数据合成一个或多个文件。
11.根据权利要求10所述的方法,其特征在于,所述一个或多个文件为一个;
所述文件包括文件头和文件数据两个部分;所述文件头包括相似图像数据数量字段以及每个相似图像数据相对所述文件的起始处的一个或多个偏移量字段;所述文件数据包括所述参考图像数据以及所述至少一个相似图像数据。
12.根据权利要求1~11任一项所述的方法,其特征在于:
所述图像块包括M行N列的变换系数矩阵,对应于M×N个量化后的DCT系数,所述M×N个量化后的DCT系数组成所述图像块的量化后的DCT系数组;其中,M、N都是大于1的正整数。
13.根据权利要求1~11任一项所述的方法,其特征在于,
所述参考图像是从所有待压缩的图像中任意选取的一个图像,所述多个图像为所述所有待压缩的图像中的部分或全部;或者,
所述参考图像是根据文件名排序或文件创建日期排序选取的一个图像。
14.根据权利要求1~11任一项所述的方法,其特征在于,
所述相似图像中与所述参考图像中对应的图像块完全相同的图像块的数量大于或等于第一阈值;或者,
所述相似图像中与所述参考图像中对应的图像块为部分相同的图像块的数量大于或等于第二阈值,或者,
所述相似图像中与所述参考图像中对应的图像块完全相同的图像块的数量加上所述相似图像中与所述参考图像中对应的图像块部分相同的图像块的数量的总数量大于或等于第三阈值。
15.一种解压缩图像的方法,其特征在于,所述方法包括:
获取经编码数据,所述经编码数据包括参考图像数据和至少一个相似图像数据;
对所述参考图像数据进行算术解码,得到所述参考图像的每个图像块的量化后的第一离散余弦变换DCT系数组;
对所述相似图像数据进行算术解码,得到所述相似图像的每个图像块对应的解码数据;所述解码数据包括指示符,所述指示符指示一对图像块的相似度,所述一对图像块包括所述参考图像的一个图像块和所述相似图像中对应的一个图像块;
对于每个相似图像的图像块,根据所述图像块对应的解码数据或者根据所述图像块对应的解码数据和所述参考图像中的对应块的量化后的第一DCT系数组,获取所述相似图像的图像块的量化后的第二DCT系数组;
根据所述相似图像的每个图像块的量化后的第二DCT系数组,得到所述相似图像;
对于一对图像块中的两个图像块:
如果所述两个图像块的量化后的DCT系数完全相同,则所述两个图像块完全相同;
如果所述两个图像块的量化后的DCT系数组中,零分布相同且非零的量化后的DCT系数部分相同,所述两个图像块部分相同;
如果所述两个图像块的量化后的DCT系数组中,零分布不相同,则所述两个图像块不同;或者,如果在所述两个图像块的量化后的DCT系数组中均不存在取值为零的DCT系数且所述两个图像块的量化后的DCT系数不完全相同,所述两个图像块不同。
16.根据权利要求15所述的方法,其特征在于,所述一对图像块的相似度为:
所述一对图像块中的两个图像块完全相同;或者,
所述一对图像块中的两个图像块部分相同;或者,
所述一对图像块中的两个图像块不同。
17.根据权利要求16所述的方法,其特征在于,对于所述相似图像中的与所述参考图像中的对应块的相似度为完全相同的完全相同块,所述完全相同块对应的解码数据中的指示符为第一指示符,所述第一指示符指示所述完全相同块与所述参考图像中的对应块完全相同;
根据完全相同块对应的解码数据和所述参考图像中的对应块的量化后的第一DCT系数组,获取所述完全相同块的量化后的第二DCT系数组,包括:
根据所述第一指示符,确定所述完全相同块在所述参考图像中的对应块的量化后的第一DCT系数组为所述相似图像的完全相同块的量化后的第二DCT系数组。
18.根据权利要求17所述的方法,其特征在于,
所述第一指示符占用一个比特位,所述比特位为第一值。
19.根据权利要求18所述的方法,其特征在于,对于所述相似图像中的与所述参考图像中的对应块的相似度为部分相同的部分相同块,所述部分相同块对应的解码数据中的指示符为第二指示符,所述第二指示符指示所述部分相同块与所述参考图像中的对应块部分相同,以及所述解码数据中存在量化后的DCT系数差值;
根据所述部分相同块对应的解码数据和所述参考图像中的对应块的量化后的第一DCT系数组,获取所述部分相同块的量化后的第二DCT系数组,包括:
根据所述第二指示符,获取所述部分相同块在所述参考图像中的对应块的量化后的DCT系数与所述量化后的DCT系数差值之和,得到所述相似图像的部分相同块的量化后的第二DCT系数组。
20.根据权利要求19所述的方法,其特征在于,所述量化后的DCT系数差值为所述部分相同块的非零的量化后的DCT系数与所述参考图像的对应块的非零的量化后的DCT系数的差值;则获取所述部分相同块在所述参考图像中的对应块的量化后的DCT系数与所述解码数据中包括的量化后的DCT系数差值之和,包括:
获取所述部分相同块在所述参考图像中的对应块的非零的量化后的DCT系数与所述解码数据中包括的量化后的DCT系数差值之和。
21.根据权利要求20所述的方法,其特征在于,所述第二指示符占用两个比特,所述两个比特包括第一比特和第二比特,所述第一比特为第二值,所述第二比特为第一值。
22.根据权利要求21所述的方法,其特征在于,对于所述相似图像中的与所述参考图像中的对应块的相似度为不同的不同块,所述不同块对应的解码数据中的指示符为第三指示符,所述第三指示符指示所述不同块与所述参考图像中的对应块不同;
所述根据所述不同块对应的解码数据,获取所述不同块的量化后的第二DCT系数组,包括:
根据所述第三指示符,确定所述不同块对应的解码数据中除了所述指示符以外的数据为所述不同块的量化后的第二DCT系数组。
23.根据权利要求22所述的方法,其特征在于,所述第三指示符占用两个比特,所述两个比特包括第一比特和第二比特,所述第一比特为第二值,所述第二比特为第二值。
24.根据权利要求15~23任一项所述的方法,其特征在于,获取经编码数据,包括:
获取一个或多个文件,所述一个或多个文件包括所述经编码数据;
从所述一个或多个文件中获取所述经编码数据。
25.根据权利要求24所述的方法,其特征在于,所述获取一个或多个文件包括:
获取一个文件;所述文件包括文件头和文件数据两个部分;其中,所述文件头包括相似图像数量字段相似图像数据数量字段,以及每个相似图像数据相对文件起始处的一个或多个偏移量字段;文件数据包括所述经编码数据;
所述从所述一个或多个文件中获取所述经编码数据,包括:
根据所述文件头,从所述文件的文件数据中获取经编码数据。
26.根据权利要求15~23任一项所述的方法,其特征在于,还包括:
根据所述参考图像的每个图像块的量化后的第一DCT系数组,得到所述参考图像。
27.一种压缩多个图像的装置,其特征在于,所述多个图像包括一个参考图像和至少一个相似图像,所述参考图像和所述相似图像分别包括多个图像块,所述参考图像的多个图像块与所述相似图像的多个图像块一一对应,所述装置包括:
获取模块,用于获取所述参考图像中的每个图像块的量化后的第一离散余弦变换DCT系数组;
对每一个所述相似图像执行如下方法进行压缩,得到经编码数据:
所述获取模块,还用于获取所述相似图像中的每个图像块的量化后的第二DCT系数组;
编码模块,用于基于每一对图像块所对应的一对量化后的DCT系数组的比较结果得到每一对图像块的相似度,根据每一对图像块的相似度对所述相似图像进行压缩编码,其中所述每一对图像块包括所述参考图像的一个图像块和所述相似图像中对应的一个图像块,所述每一对图像块所对应的一对量化后的DCT系数组包括所述参考图像的图像块的量化后的第一DCT系数组和所述相似图像中对应的图像块的量化后的第二DCT系数组;
对于一对图像块中的两个图像块:
如果所述两个图像块的量化后的DCT系数完全相同,则所述两个图像块完全相同;
如果所述两个图像块的量化后的DCT系数组中,零分布相同且非零的量化后的DCT系数部分相同,所述两个图像块部分相同;
如果所述两个图像块的量化后的DCT系数组中,零分布不相同,则所述两个图像块不同;或者,如果在所述两个图像块的量化后的DCT系数组中均不存在取值为零的DCT系数且所述两个图像块的量化后的DCT系数不完全相同,所述两个图像块不同。
28.根据权利要求27所述的装置,其特征在于,所述编码模块,用于根据每一对图像块的相似度对所述相似图像进行压缩编码,包括:
所述编码模块,具体用于:
对于每一对图像块,根据所述一对图像块的相似度,生成用于指示所述一对图像块的相似度的指示符;
根据各所述指示符,对所述相似图像进行压缩编码。
29.根据权利要求28所述的装置,其特征在于,所述用于指示所述一对图像块的相似度的指示符包括第一指示符,第二指示符或第三指示符,其中:
第一指示符用于指示所述一对图像块完全相同,
第二指示符用于指示所述一对图像块部分相同,
第三指示符用于指示所述一对图像块不同。
30.根据权利要求29所述的装置,其特征在于,
所述第一指示符占用一个比特位,所述比特位为第一值。
31.根据权利要求29所述的装置,其特征在于,
所述第二指示符占用两个比特,所述两个比特包括第一比特和第二比特,所述第一比特为第二值,所述第二比特为第一值。
32.根据权利要求29所述的装置,其特征在于,
所述第三指示符占用两个比特,所述两个比特包括第一比特和第二比特,所述第一比特为第二值,所述第二比特为第二值。
33.根据权利要求27所述的装置,其特征在于,一对图像块的相似度为:
所述一对图像块中的两个图像块完全相同;或者,
所述一对图像块中的两个图像块部分相同;或者,
所述一对图像块中的两个图像块不同。
34.根据权利要求32所述的装置,其特征在于,所述编码模块用于根据各所述指示符,对所述相似图像进行压缩编码,包括:
所述编码模块,具体用于:
对所述相似图像中的每个完全相同块对应的第一指示符进行算术编码;所述完全相同块与所述参考图像中的对应块的相似度为完全相同;或者,
对所述相似图像中的每个部分相同块对应的第一信息进行算术编码;所述部分相同块与所述参考图像中的对应块的相似度为部分相同;或者,
对所述相似图像中的每个完全相同块对应的第一指示符以及每个部分相同块对应的第一信息进行算术编码;或者,
对所述相似图像中的每个部分相同块对应的第一信息以及每个不同块对应的第二信息进行算术编码;所述不同块与所述参考图像中的对应块的相似度为不同;或者,
对所述相似图像中的每个完全相同块对应的第一指示符以及每个不同块对应的第二信息进行算术编码;或者,
对所述相似图像中的每个完全相同块对应的第一指示符、每个部分相同块对应的第一信息以及对每个不同块对应的第二信息进行算术编码;
其中,其中,所述第一指示符指示所述完全相同块与所述参考图像中的对应块完全相同;
所述第一信息包括第二指示符和所述部分相同块的量化后的DCT系数与所述参考图像的对应块的量化后的DCT系数的差值;或者,所述第一信息包括第二指示符和所述部分相同块的非零的量化后的DCT系数与所述参考图像的对应块的非零的量化后的DCT系数的差值;所述第二指示符指示所述部分相同块与所述参考图像中的对应块部分相同
所述第二信息包括第三指示符和所述不同块的量化后的DCT系数,所述第三指示符指示所述不同块与所述参考图像中的对应块不同。
35.根据权利要求27所述的装置,其特征在于,所述经编码数据包括:
将所述参考图像的各图像块的量化后的第一DCT系数组经算术编码后得到的参考图像数据与所述至少一个相似图像经过压缩编码后得到的至少一个相似图像数据。
36.根据权利要求35所述的装置,其特征在于,还包括:文件生成模块;
将所述参考图像数据与所述至少一个相似图像数据合成一个或多个文件。
37.根据权利要求36所述的装置,其特征在于,所述一个或多个文件为一个;
所述文件包括文件头和文件数据两个部分;所述文件头包括相似图像数据数量字段以及每个相似图像数据相对所述文件的起始处的一个或多个偏移量字段;所述文件数据包括所述参考图像数据以及所述至少一个相似图像数据。
38.根据权利要求27~37任一项所述的装置,其特征在于:
所述图像块包括M行N列的变换系数矩阵,对应于M×N个量化后的DCT系数,所述M×N个量化后的DCT系数组成所述图像块的量化后的DCT系数组;其中,M、N都是大于1的正整数。
39.根据权利要求27~37任一项所述的装置,其特征在于,
所述参考图像是从所有待压缩的图像中任意选取的一个图像,所述多个图像为所述所有待压缩的图像中的部分或全部;或者,
所述参考图像是根据文件名排序或文件创建日期排序选取的一个图像。
40.根据权利要求27~37任一项所述的装置,其特征在于,
所述相似图像中与所述参考图像中对应的图像块完全相同的图像块的数量大于或等于第一阈值;或者,
所述相似图像中与所述参考图像中对应的图像块为部分相同的图像块的数量大于或等于第二阈值,或者,
所述相似图像中与所述参考图像中对应的图像块完全相同的图像块的数量加上所述相似图像中与所述参考图像中对应的图像块部分相同的图像块的数量的总数量大于或等于第三阈值。
41.一种解压缩图像的装置,其特征在于,所述装置包括:
解析模块,用于获取经编码数据,所述经编码数据包括参考图像数据和至少一个相似图像数据;
解码模块,用于对所述参考图像数据进行算术解码,得到所述参考图像的每个图像块的量化后的第一离散余弦变换DCT系数组;
所述解码模块,还用于对所述相似图像数据进行算术解码,得到所述相似图像的每个图像块对应的解码数据;所述解码数据包括指示符,所述指示符指示一对图像块的相似度,所述一对图像块包括所述参考图像的一个图像块和所述相似图像中对应的一个图像块;以及,对于每个相似图像的图像块,根据所述图像块对应的解码数据或者根据所述图像块对应的解码数据和所述参考图像中的对应块的量化后的第一DCT系数组,获取所述相似图像的图像块的量化后的第二DCT系数组;
还原模块,用于根据所述相似图像的每个图像块的量化后的第二DCT系数组,得到所述相似图像;
对于一对图像块中的两个图像块:
如果所述两个图像块的量化后的DCT系数完全相同,则所述两个图像块完全相同;
如果所述两个图像块的量化后的DCT系数组中,零分布相同且非零的量化后的DCT系数部分相同,所述两个图像块部分相同;
如果所述两个图像块的量化后的DCT系数组中,零分布不相同,则所述两个图像块不同;或者,如果在所述两个图像块的量化后的DCT系数组中均不存在取值为零的DCT系数且所述两个图像块的量化后的DCT系数不完全相同,所述两个图像块不同。
42.根据权利要求41所述的装置,其特征在于,一对图像块的相似度为:
所述一对图像块中的两个图像块完全相同;或者,
所述一对图像块中的两个图像块部分相同;或者,
所述一对图像块中的两个图像块不同。
43.根据权利要求42所述的装置,其特征在于,对于所述相似图像中的与所述参考图像中的对应块的相似度为完全相同的完全相同块,所述完全相同块对应的解码数据中的指示符为第一指示符,所述第一指示符指示所述完全相同块与所述参考图像中的对应块完全相同;
所述解码模块,用于根据完全相同块对应的解码数据和所述参考图像中的对应块的量化后的第一DCT系数组,获取所述完全相同块的量化后的第二DCT系数组,包括:
所述解码模块,具体用于:根据所述第一指示符,确定所述完全相同块在所述参考图像中的对应块的量化后的第一DCT系数组为所述相似图像的完全相同块的量化后的第二DCT系数组。
44.根据权利要求43所述的装置,其特征在于,
所述第一指示符占用一个比特位,所述比特位为第一值。
45.根据权利要求44所述的装置,其特征在于,对于所述相似图像中的与所述参考图像中的对应块的相似度为部分相同的部分相同块,所述部分相同块对应的解码数据中的指示符为第二指示符,所述第二指示符指示所述部分相同块与所述参考图像中的对应块部分相同,以及所述解码数据中存在量化后的DCT系数差值;
所述解码模块用于根据所述部分相同块对应的解码数据和所述参考图像中的对应块的量化后的第一DCT系数组,获取所述部分相同块的量化后的第二DCT系数组,包括:
所述解码模块,具体用于:根据所述第二指示符,获取所述部分相同块在所述参考图像中的对应块的量化后的DCT系数与所述量化后的DCT系数差值之和,得到所述相似图像的部分相同块的量化后的第二DCT系数组。
46.根据权利要求45所述的装置,其特征在于,所述量化后的DCT系数差值为所述部分相同块的非零的量化后的DCT系数与所述参考图像的对应块的非零的量化后的DCT系数的差值;所述解码模块用于获取所述部分相同块在所述参考图像中的对应块的量化后的DCT系数与所述解码数据中包括的量化后的DCT系数差值之和,包括:
所述解码模块,具体用于:获取所述部分相同块在所述参考图像中的对应块的非零的量化后的DCT系数与所述解码数据中包括的量化后的DCT系数差值之和。
47.根据权利要求46所述的装置,其特征在于,所述第二指示符占用两个比特,所述两个比特包括第一比特和第二比特,所述第一比特为第二值,所述第二比特为第一值。
48.根据权利要求47所述的装置,其特征在于,对于所述相似图像中的与所述参考图像中的对应块的相似度为不同的不同块,所述不同块对应的解码数据中的指示符为第三指示符,所述第三指示符指示所述不同块与所述参考图像中的对应块不同;
所述解码模块用于根据所述不同块对应的解码数据,获取所述不同块的量化后的第二DCT系数组,包括:
所述解码模块,具体用于:根据所述第三指示符,确定所述不同块对应的解码数据中除了所述指示符以外的数据为所述不同块的量化后的第二DCT系数组。
49.根据权利要求48所述的装置,其特征在于,所述第三指示符占用两个比特,所述两个比特包括第一比特和第二比特,所述第一比特为第二值,所述第二比特为第二值。
50.根据权利要求41~49任一项所述的装置,其特征在于,所述解析模块,用于获取经编码数据,包括:
所述解析模块,具体用于:
获取一个或多个文件,所述一个或多个文件包括所述经编码数据;
从所述一个或多个文件中获取所述经编码数据。
51.根据权利要求50所述的装置,其特征在于,所述解析模块用于获取一个或多个文件,包括:
所述述解析模块,具体用于:获取一个文件;所述文件包括文件头和文件数据两个部分;其中,所述文件头包括相似图像数量字段相似图像数据数量字段,以及每个相似图像数据相对文件起始处的一个或多个偏移量字段;文件数据包括所述经编码数据;
所述解析模块用于从所述一个或多个文件中获取所述经编码数据,包括:
所述述解析模块,具体用于:根据所述文件头,从所述文件的文件数据中获取经编码数据。
52.根据权利要求41~49任一项所述的装置,其特征在于,所述还原模块,还用于:
根据所述参考图像的每个图像块的量化后的第一DCT系数组,得到所述参考图像。
CN201910797239.9A 2019-08-27 2019-08-27 压缩多个图像的方法、解压缩图像的方法和装置 Active CN112449191B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910797239.9A CN112449191B (zh) 2019-08-27 2019-08-27 压缩多个图像的方法、解压缩图像的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910797239.9A CN112449191B (zh) 2019-08-27 2019-08-27 压缩多个图像的方法、解压缩图像的方法和装置

Publications (2)

Publication Number Publication Date
CN112449191A CN112449191A (zh) 2021-03-05
CN112449191B true CN112449191B (zh) 2024-05-17

Family

ID=74742070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910797239.9A Active CN112449191B (zh) 2019-08-27 2019-08-27 压缩多个图像的方法、解压缩图像的方法和装置

Country Status (1)

Country Link
CN (1) CN112449191B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114845119B (zh) * 2022-07-04 2022-10-04 光谷技术有限公司 一种物联网关验证及压缩系统
CN115858832B (zh) * 2023-03-01 2023-05-02 天津市邱姆预应力钢绞线有限公司 一种用于钢绞线生产数据存储方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6640012B1 (en) * 1999-02-09 2003-10-28 Motorola, Inc. Image compression system and method of determining quantization parameters therefor
CN1461564A (zh) * 2001-04-09 2003-12-10 株式会社Ntt都科摩 图像编码方法与装置、图像解码方法与装置以及图像处理系统
CN106998470A (zh) * 2016-01-25 2017-08-01 华为技术有限公司 解码方法、编码方法、解码设备和编码设备
CN109842803A (zh) * 2018-09-19 2019-06-04 华为技术有限公司 一种图像压缩的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6640012B1 (en) * 1999-02-09 2003-10-28 Motorola, Inc. Image compression system and method of determining quantization parameters therefor
CN1461564A (zh) * 2001-04-09 2003-12-10 株式会社Ntt都科摩 图像编码方法与装置、图像解码方法与装置以及图像处理系统
CN106998470A (zh) * 2016-01-25 2017-08-01 华为技术有限公司 解码方法、编码方法、解码设备和编码设备
CN109842803A (zh) * 2018-09-19 2019-06-04 华为技术有限公司 一种图像压缩的方法及装置

Also Published As

Publication number Publication date
CN112449191A (zh) 2021-03-05

Similar Documents

Publication Publication Date Title
RU2417518C2 (ru) Эффективное кодирование и декодирование блоков преобразования
US6292114B1 (en) Efficient memory mapping of a huffman coded list suitable for bit-serial decoding
US8254700B1 (en) Optimized method and system for entropy coding
GB2530312A (en) Data compression
GB2530311A (en) Data compression
US10666289B1 (en) Data compression using dictionary encoding
US8682091B2 (en) Real-time image compression
US10171841B2 (en) Method and device for encoding/decoding video bitstream
CN104704825A (zh) 分段图像数据的无损压缩
CN112449191B (zh) 压缩多个图像的方法、解压缩图像的方法和装置
RU2709656C2 (ru) Кодер, декодер и способ, использующие модовые символы
KR20100079121A (ko) 이미지 인코더 및 이미지 인코딩 방법
US20220005229A1 (en) Point cloud attribute encoding method and device, and point cloud attribute decoding method and devcie
JP2005524300A (ja) コードワードインデックスに対してパラメータ値のマッピングを行うための適応型方法およびシステム
CN105163130B (zh) 一种基于离散Tchebichef正交多项式的图像无损压缩方法
US7123656B1 (en) Systems and methods for video compression
CN113630125A (zh) 数据压缩、编码解压缩方法、装置、电子设备及存储介质
CN101657973B (zh) 采用位精度的编码装置和编码方法
US20050232362A1 (en) High-speed image compression apparatus using last non-zero detection circuit
US6947606B2 (en) Skim encoding method for compression of a two dimensional array of data
Hussin et al. A comparative study on improvement of image compression method using hybrid DCT-DWT techniques with huffman encoding for wireless sensor network application
CN105472395B (zh) 一种基于离散Krawtchouk正交多项式的图像无损压缩方法
CN116566397A (zh) 编码、解码方法、编码器、解码器、电子设备及存储介质
US9407918B2 (en) Apparatus and method for coding image, and non-transitory computer readable medium thereof
US20160234529A1 (en) Method and apparatus for entropy encoding and decoding

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