CN111741306B - 一种提高熵编码效率的jpeg压缩图像重编码方法 - Google Patents

一种提高熵编码效率的jpeg压缩图像重编码方法 Download PDF

Info

Publication number
CN111741306B
CN111741306B CN202010505633.3A CN202010505633A CN111741306B CN 111741306 B CN111741306 B CN 111741306B CN 202010505633 A CN202010505633 A CN 202010505633A CN 111741306 B CN111741306 B CN 111741306B
Authority
CN
China
Prior art keywords
coding
huffman
data
run length
jpeg
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
CN202010505633.3A
Other languages
English (en)
Other versions
CN111741306A (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.)
Huaqiao University
Original Assignee
Huaqiao University
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 Huaqiao University filed Critical Huaqiao University
Priority to CN202010505633.3A priority Critical patent/CN111741306B/zh
Publication of CN111741306A publication Critical patent/CN111741306A/zh
Application granted granted Critical
Publication of CN111741306B publication Critical patent/CN111741306B/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/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/172Methods 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 picture, frame or field
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

本发明公开了一种提高熵编码效率的JPEG压缩图像重编码方法,属于图像信号处理领域,方法包括:提取JPEG图像各数据分量Huffman编码定义表并构建Huffman树;提取在熵编码数据流中各数据分量行程长度编码并统计个数;对各数据分量的所有行程长度编码值重新分配Huffman编码;修改熵编码段中相应的行程长度编码值对应的Huffman编码;重组JPEG图像数据流,完成JPEG图像重编码。本发明能够提升JPEG图像熵编码效率性能,在保持图像质量完全一致和JPEG图像格式兼容性的情况下,降低JPEG图像文件大小。

Description

一种提高熵编码效率的JPEG压缩图像重编码方法
技术领域
本发明属于图像信号处理领域,特别涉及一种基于Huffman编码修改的JPEG压缩图像重编码方法。
背景技术
JPEG(Joint Photographic Experts Group,联合图像专家组)是用于连续色调静态图像有损压缩的一种标准,能够将图像压缩在很小的储存空间,已被广泛应用于互联网和数码相机等领域。JPEG图像大多采用ITU-T建议T.81(Int.Telecommunication Union,CCITT Recommendation T.81,Information Technology-Digital Compression andCoding of Continuous-tone Still Images-Requirements and Guidelines 1992)中的典型Huffman编码定义表对图像数据进行熵编码,编码后的JPEG图像尚存在编码结构冗余。因此,如果能消除其中的编码结构冗余,则可在保持JPEG图像质量不变及格式兼容性的前提下,提升JPEG压缩图像的熵编码效率,降低JPEG图像文件大小。
发明内容
本发明的目的在于消除JPEG压缩图像的编码结构冗余,提出一种基于Huffman编码修改的JPEG压缩图像重编码方法,本发明方法充分考虑JPEG图像格式兼容性,在保障JPEG图像质量完全一致的前提下,通过修改Huffman编码提高其熵编码效率,从而降低JPEG压缩图像文件大小。
一种提高熵编码效率的JPEG压缩图像重编码方法,包括:
S1:提取JPEG图像各数据分量Huffman编码定义表并构建Huffman树;
S2:提取在熵编码数据流中各数据分量行程长度编码并统计个数;
S3:对各数据分量的行程长度编码按个数进行从大到小排序;
S4:对各数据分量的所有行程长度编码值重新分配Huffman编码;
S5:修改熵编码段中相应的行程长度编码值对应的Huffman编码;
S6:重组JPEG图像数据流,完成JPEG图像重编码。
具体的,重编码前JPEG格式彩色图像文件头定义了用于亮度直流分量、亮度交流分量变长编码的典型哈夫曼表,用于色度Cb和Cr直流分量、色度Cb和Cr交流分量编码的典型哈夫曼表;JPEG格式灰度图像文件头定义了用于亮度直流分量、亮度交流分量变长编码的典型哈夫曼表。
具体的,所述步骤S2具体包括:根据步骤S1构建的Huffman树,从熵编码数据段中分别提取数据分量中使用的行程长度编码值,并统计使用次数。
具体的,所述步骤S4具体包括:根据步骤S3的排序结果,分别在各数据分量的Huffman编码定义表中修改各Huffman编码码字对应的行程长度编码值,使得长度短的Huffman编码码字分配给出现次数多的行程长度编码值,长度长的Huffman编码码字分配给出现次数少的行程长度编码值。
具体的,所述步骤S5具体包括:根据步骤S4后在各数据分量Huffman编码定义表中各Huffman编码码字与所分配行程长度编码值之间的对应关系,将熵编码数据段各数据分量的各行程长度编码值的原Huffman编码码字替换成重新分配后的Huffman编码码字,使得长度为i的第j个Huffman编码码字在熵编码数据段中的出现次数随着i值、j值的增大逐步递减。
具体的,所述步骤S6具体包括:将Huffman编码定义表修改后的各数据分量Huffman编码定义表和熵编码数据段修改后的数据流结合未修改的数据段,重组JPEG图像数据流。
本发明具有如下有益效果:
1、本发明方法只需要修改各数据分量Huffman编码定义表中各Huffman编码码字对应的行程长度编码值,以及熵编码数据段各数据分量行程长度编码值对应的Huffman编码码字,在保障JPEG压缩图像质量不变的前提下,消除JPEG压缩编码的编码结构冗余,提高熵编码效率,从而降低JPEG压缩图像文件量大小。
2、本发明方法保持整个JPEG压缩编码框架不变,重编码后的JPEG图像可直接解码显示,具有良好的格式兼容性。
以下结合附图及实施例对本发明作进一步详细说明,但本发明的一种提高熵编码效率的JPEG压缩图像重编码方法不局限于实施例。
附图说明
图1为本发明方法的主流程图;
图2为Huffman编码定义表数据结构示意图。
具体实施方式
JPEG格式彩色图像采用的是YCbCr(也称为YUV)颜色空间,Y表示亮度分量,Cb和Cr为色度C分量,由于色度分量Cb和Cr共用量化表和哈夫曼表,JPEG格式彩色图像包含四个数据分量集:亮度直流分量集Y_DC、亮度交流分量集Y_AC、色度直流分量集C_DC、色度交流分量集C_AC;
JPEG格式灰度图像只有灰阶值Y分量,包括亮度直流分量集Y_DC和亮度交流分量集Y_AC;
重编码前的JPEG图像采用ITU-T T.81中定义的典型哈夫曼(Huffman)表对直流分量和交流分量进行编码,或者将其他格式图像转换成此类JPEG图像。
另外,重编码前JPEG格式彩色图像和灰度图像均在文件头定义分别用于亮度直流分量、亮度交流分量变长编码的典型哈夫曼表,JPEG格式彩色图像在文件头还定于了用于色度Cb和Cr直流分量、色度Cb和Cr交流分量编码的典型哈夫曼表。
本实施例以JPEG彩色图像为例,提出一种提高熵编码效率的JPEG压缩图像重编码方法,参见图1,解析JPEG压缩数据流,统计各数据分量的行程长度编码值对应Huffman编码在熵编码数据流中的出现次数,并进行从大到小排序,根据排序结果,对各数据分量的所有行程长度编码值重新分配Huffman编码,并修改熵编码段中相应的行程长度编码值对应的Huffman编码,实现对JPEG图像的重编码。方法具体实施步骤如下:
步骤101,提取各数据分量Huffman编码定义表并构建Huffman树。
具体的,根据图2所示的Huffman编码定义表(其中,FFC4H是DHT标记值,Lh代表Huffman定义表长度,Tc代表Huffman表类型(0为DC分量表,0为AC分量表),Th指示表的ID号,Li(1≤i≤16)代表长度为i的Huffman编码码字个数,Vi,j代表长度为i的第j个Huffman编码码字对应的行程长度编码值),解析Y_DC、Y_AC、C_DC、C_AC这四个数据分量的Huffman编码定义表,根据定义的Li数值构建用于各数据分量Huffman编码的Huffman树。
步骤102,提取在熵编码数据流中各数据分量行程长度编码RSV并统计个数。
具体的,根据构建的Huffman树,从熵编码数据段中分别提取Y_DC、Y_AC、C_DC、C_AC数据分量中使用的行程长度编码值,并统计使用次数。相应的,Y_DC、Y_AC、C_DC、C_AC数据分量各行程长度编码值的使用次数可分别表示为:
F_Y_DC={f(Y_DC_RSV1),f(Y_DC_RSV2),…,f(Y_DC_RSVN1)}
F_Y_AC={f(Y_AC_RSV1),f(Y_AC_RSV2),…,f(Y_AC_RSVN2)}
F_C_DC={f(C_DC_RSV1),f(C_DC_RSV2),…,f(C_DC_RSVN1)}
F_C_AC={f(C_AC_RSV1),f(C_AC_RSV2),…,f(C_AC_RSVN2)}
其中,××_RSVi代表××数据分量中的第i个行程长度编码,f(XX_RSVi)为该行程长度编码值的出现次数,N1、N2、N3、N4分别为Y_DC、Y_AC、C_DC、C_AC数据分量中行程长度编码值的个数。
步骤103,对各数据分量的行程长度编码按个数进行从大到小排序。
具体的,根据步骤102的统计结果,分别Y_DC、Y_AC、C_DC、C_AC数据分量各行程长度编码值按出现次数进行从大到小排序,得到:
F_Y_DC’={f(Y_DC_RSV1’),f(Y_DC_RSV2’),…,f(Y_DC_RSVN1’)}
F_Y_AC’={f(Y_AC_RSV1’),f(Y_AC_RSV2’),…,f(Y_AC_RSVN2’)}
F_C_DC’={f(C_DC_RSV1’),f(C_DC_RSV2’),…,f(C_DC_RSVN1’)}
F_C_AC’={f(C_AC_RSV1’),f(C_AC_RSV2’),…,f(C_AC_RSVN2’)}
步骤104,对各数据分量的所有行程长度编码值重新分配Huffman编码。
具体的,根据步骤103的排序结果,分别在各数据分量的Huffman编码定义表中修改各Huffman编码码字对应的行程长度编码值(即图2中的RSVs assignment段),修改后各数据分量的行程长度编码值依次为:
RSV_Y_DC’={Y_DC_V1,1’,Y_DC_V1,2’,…,Y_DC_V1,L1’,Y_DC_V2,1’,Y_DC_V2,2’,…,Y_DC_V2,L2’,…,Y_DC_V16,1’,Y_DC_V16,2’,…,Y_DC_V16,L16’}
RSV_Y_AC’={Y_AC_V1,1’,Y_AC_V1,2’,…,Y_AC_V1,L1’,Y_AC_V2,1’,Y_AC_V2,2’,…,Y_AC_V2,L2’,…,Y_AC_V16,1’,Y_AC_V16,2’,…,Y_AC_V16,L16’}
RSV_C_DC’={C_DC_V1,1’,C_DC_V1,2’,…,C_DC_V1,L1’,C_DC_V2,1’,C_DC_V2,2’,…,C_DC_V2,L2’,…,C_DC_V16,1’,Y_DC_V16,2’,…,C_DC_V16,L16’}
RSV_C_AC’={C_AC_V1,1’,C_AC_V1,2’,…,C_AC_V1,L1’,C_AC_V2,1’,C_AC_V2,2’,…,C_AC_V2,L2’,…,C_AC_V16,1’,C_AC_V16,2’,…,C_AC_V16,L16’}
其中,××_Vi,j’代表修改后××数据分量长度为i的第j个Huffman编码码字对应的行程长度编码值,使得长度短的Huffman编码码字分配给出现次数多的行程长度编码值,而长度长的Huffman编码码字分配给出现次数少的行程长度编码值。
步骤105,修改熵编码段中相应的行程长度编码值对应的Huffman编码。
具体的,根据步骤104后在各数据分量Huffman编码定义表中各Huffman编码码字与所分配行程长度编码值之间的对应关系,将熵编码数据段各数据分量的各行程长度编码值的原Huffman编码码字替换成重新分配后的Huffman编码码字,使得长度为i的第j个Huffman编码码字在熵编码数据段中的出现次数随着i值、j值的增大逐步递减。
步骤106,重组JPEG图像数据流,完成重编码。
具体的,将DFT段修改后的各数据分量Huffman编码定义表和熵编码数据段修改后的数据流结合其他未修改的数据段,重组JPEG图像数据流,得到具有良好的格式兼容性、保持JPEG图像质量不变且降低了文件大小的JPEG图像。
对于JPEG灰度图像的重编码,由于其不包含色度分量,则省略了JPEG彩色图像的重编码过程中色度分量的行程长度编码值统计及排序、对色度分量的Huffman编码定义表修改、熵编码段色度分量的行程长度编码值的Huffman编码码字修改等步骤。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种提高熵编码效率的JPEG压缩图像重编码方法,其特征在于,包括:
S1:提取JPEG图像各数据分量Huffman编码定义表并构建Huffman树;
S2:提取在熵编码数据流中各数据分量行程长度编码并统计个数;
S3:对各数据分量的行程长度编码按个数进行从大到小排序;
S4:对各数据分量的所有行程长度编码值重新分配Huffman编码;
S5:修改熵编码段中相应的行程长度编码值对应的Huffman编码;
S6:重组JPEG图像数据流,完成JPEG图像重编码;
步骤S2具体包括:根据步骤S1构建的Huffman树,从熵编码数据段中分别提取数据分量中使用的行程长度编码值,并统计使用次数;
所述步骤S4具体包括:根据步骤S3的排序结果,分别在各数据分量的Huffman编码定义表中修改各Huffman编码码字对应的行程长度编码值,使得长度短的Huffman编码码字分配给出现次数多的行程长度编码值,长度长的Huffman编码码字分配给出现次数少的行程长度编码值;
所述步骤S5具体包括:根据步骤S4后在各数据分量Huffman编码定义表中各Huffman编码码字与所分配行程长度编码值之间的对应关系,将熵编码数据段各数据分量的各行程长度编码值的原Huffman编码码字替换成重新分配后的Huffman编码码字,使得长度为i的第j个Huffman编码码字在熵编码数据段中的出现次数随着i值、j值的增大逐步递减。
2.根据权利要求1所述的提高熵编码效率的JPEG压缩图像重编码方法,其特征在于,
重编码前JPEG格式彩色图像文件头定义了用于亮度直流分量、亮度交流分量变长编码的典型哈夫曼表,用于色度Cb和Cr直流分量、色度Cb和Cr交流分量编码的典型哈夫曼表;JPEG格式灰度图像文件头定义了用于亮度直流分量、亮度交流分量变长编码的典型哈夫曼表。
3.根据权利要求1所述的提高熵编码效率的JPEG压缩图像重编码方法,其特征在于,所述步骤S6具体包括:将Huffman编码定义表修改后的各数据分量Huffman编码定义表和熵编码数据段修改后的数据流结合未修改的数据段,重组JPEG图像数据流。
CN202010505633.3A 2020-06-05 2020-06-05 一种提高熵编码效率的jpeg压缩图像重编码方法 Active CN111741306B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010505633.3A CN111741306B (zh) 2020-06-05 2020-06-05 一种提高熵编码效率的jpeg压缩图像重编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010505633.3A CN111741306B (zh) 2020-06-05 2020-06-05 一种提高熵编码效率的jpeg压缩图像重编码方法

Publications (2)

Publication Number Publication Date
CN111741306A CN111741306A (zh) 2020-10-02
CN111741306B true CN111741306B (zh) 2022-11-01

Family

ID=72648337

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010505633.3A Active CN111741306B (zh) 2020-06-05 2020-06-05 一种提高熵编码效率的jpeg压缩图像重编码方法

Country Status (1)

Country Link
CN (1) CN111741306B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003198378A (ja) * 2001-12-25 2003-07-11 Canon Inc 復号化装置および復号化方法ならびに記憶媒体、プログラム
CN101184220A (zh) * 2007-12-03 2008-05-21 浙江大学 一种面向jpeg格式图像序列的无损压缩方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140205199A1 (en) * 2013-01-23 2014-07-24 Qamarul Islam Storage Area and Temporal Based Optimized Run Length Codec For Classic JPEG Image Compression (SAT-BORL CODEC)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003198378A (ja) * 2001-12-25 2003-07-11 Canon Inc 復号化装置および復号化方法ならびに記憶媒体、プログラム
CN101184220A (zh) * 2007-12-03 2008-05-21 浙江大学 一种面向jpeg格式图像序列的无损压缩方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Modified JPEG Huffman coding;G. Lakhani等;《 IEEE Transactions on Image Processing》;20030228;全文 *
基于JPEG标准静止图像压缩算法的分析与研究;张明;《自动化与仪器仪表》;20141225(第12期);全文 *

Also Published As

Publication number Publication date
CN111741306A (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
US6526174B1 (en) Method and apparatus for video compression using block and wavelet techniques
US6757438B2 (en) Method and apparatus for video compression using microwavelets
US6677868B2 (en) Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols
Wallace The JPEG still picture compression standard
US6654419B1 (en) Block-based, adaptive, lossless video coder
US6744387B2 (en) Method and system for symbol binarization
CN110301134A (zh) 整合的图像整形和视频编码
US6571016B1 (en) Intra compression of pixel blocks using predicted mean
US20080219578A1 (en) Method and apparatus for context adaptive binary arithmetic coding and decoding
JP2008527789A (ja) エントロピー符号化方法
CN101098473A (zh) 一种图像编码方法及装置
WO2023020560A1 (zh) 视频编解码的方法、装置、电子设备及存储介质
CN100574434C (zh) 一种图像压缩/解压缩方法和系统
WO2023040600A1 (zh) 图像编码方法、图像解码方法、装置、电子设备及介质
US7577302B2 (en) Compressed image data enhancement
CN111741306B (zh) 一种提高熵编码效率的jpeg压缩图像重编码方法
In et al. On RD optimized progressive image coding using JPEG
CN102724381A (zh) 基于jpeg压缩原理的票据类图像压缩方法
CN115037941A (zh) 一种提高压缩率的智能手环图片压缩存储方法
US7031531B1 (en) Image encoding device and method therefor, image decoding apparatus and method therefor, and computer-readable recorded medium on which image encoding program and image decoding program are recorded
JP2002369010A (ja) 画像符号化装置及び画像復号装置
JP2002527013A (ja) データ圧縮エンコーダを構築するシステム
CN105007483B (zh) 一种与h264标准兼容的屏幕内容编码解码方法
JP3347488B2 (ja) 画像処理装置およびその方法
CN108989820B (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