CN101039374B - 一种图像无损压缩方法 - Google Patents

一种图像无损压缩方法 Download PDF

Info

Publication number
CN101039374B
CN101039374B CN 200610057397 CN200610057397A CN101039374B CN 101039374 B CN101039374 B CN 101039374B CN 200610057397 CN200610057397 CN 200610057397 CN 200610057397 A CN200610057397 A CN 200610057397A CN 101039374 B CN101039374 B CN 101039374B
Authority
CN
China
Prior art keywords
pixel value
xor
length coding
run
image
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
CN 200610057397
Other languages
English (en)
Other versions
CN101039374A (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN 200610057397 priority Critical patent/CN101039374B/zh
Publication of CN101039374A publication Critical patent/CN101039374A/zh
Application granted granted Critical
Publication of CN101039374B publication Critical patent/CN101039374B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种图像无损压缩方法,包括以下步骤:从原始图像数据的第一行列开始,本行列的原始像素值与相邻的下一行列原始像素值进行逻辑异或,得到下一行列的异或像素值;在原始像素值和异或像素值中选择,并将选择的像素值进行游程编码,在包头中加上异或标志并输出。本发明还公开了一种图像解码方法,包括以下步骤:解行列的游程编码;解异或,并输出。本发明在尽可能提高其压缩比的同时,其实现复杂度也非常低,编码算法简单,计算量小,不需要采用专用的压缩和解压缩芯片,实现成本低。

Description

一种图像无损压缩方法
技术领域
本发明涉及图像压缩技术领域,特别是涉及一种图像无损压缩和解压缩方法。 
背景技术
随着多媒体信息的传播在人们的生活中起着越来越重要的作用,在很多情况下,需要同时传输的数据量非常大,对传输速率的要求也越来越高。在许多领域,如在无线显示系统中,随着显示解析度的提高,在高清显示情况下需要传输的数据率非常大,一幅1280x1024x24 bits x30帧的图像,每秒的数据率为922Mbps。如果不对图像进行压缩,对于如此高的速率,即便使用高速超宽带(Ultra Wide Band,UWB)无线技术也将难以实现。因此对图像进行适度的压缩对于多媒体信息的传输是必不可少的。 
所谓压缩,就是对要处理的图像源数据用一定的规则进行变换和组合,保留不确定的信息,去掉可推知的确定信息,以达到用尽可能少的代码或符号来表示尽可能多的图像数据信息的目的。通常,压缩是通过编码来实现的,换句话说,压缩过程就是编码过程,解压缩过程就是解码过程。 
图像的压缩基本基于以下两点: 
1.图像信息存在着很大的冗余度,数据之间存在着相关性,如相邻象素之间色彩基本相同。 
2.人的视觉对于边缘急剧变化不敏感,人眼具有对图像的亮度敏感高、对色度敏感低的特点。 
根据这两点特征就可以压缩图像数据,由此发展出图像压缩的两种常用方法:无损压缩和有损压缩。 
无损压缩是将相同的或相似的数据或数据特征归类,使用较少的数据量描述原始数据,达到减少数据量的目的。无损压缩是对文件本身的压缩,和其它数据文件的压缩一样,无损压缩对文件的数据存储方式进行优化,采用 某种算法表示重复的数据信息,文件可以完全还原,不会影响文件内容,对于数码图像而言,也就不会使图像细节有任何损失。 
不同的无损压缩编码方法对于不同的信源其压缩效率是不同的。常用的无损压缩编码方法有:游程编码(run-length encoding,RLE)。 
游程编码(run-length encoding,RLE)是压缩一个图像文件最简单的方法之一。具体做法就是把一系列的重复值(例如图像像素的灰度值)用一个单独的值再加上一个计数值来取代。例如有这样一个字母序列aabbbccccccccdddddd,对它进行游程编码的结果是2a3b8c6d。前一位表示字母的个数,后一位表示具体的字母。如果是图像数据序列55555533330222222211,对它进行游程编码的结果是6543107221,其中,编码位中的第一位代码是“6”,它表示游程长度,即有连续6个像素点具有相同的像素值;“6”后面的“5”表示这6个像素的像素值均为5,依次类推。对比游程编码前后的代码数可以发现,原来用20位代码表示的20个图像数据,现在只用10位代码就表示了20个图像数据。数据量被压缩了一倍。 
现有的多媒体静止图像数据压缩国际标准(Join Photographic experts,JPEG)中的游程编码是是对8×8子块离散余弦变换系数点阵进行游程编码。 
现有的活动图像及其伴音的压缩编码标准(Moving Picture Expert Group,MPEG)及运动静止图像压缩技术(Motion-JPEG,M-JPEG)也采用游程编码技术,其是以余弦变换(DCT)为基础,对其变换的系数量化后,再进行游程编码。 
但是,这些常用技术编码算法复杂,计算量大,实现起来非常复杂,而且由于需要采用专用的压缩和解压缩芯片,成本很高。对于仅包含很少几个灰度级的图像,特别是二值图像的压缩比较有效,而对于彩色图像处理的效果不是很佳。在某些情况下如相邻数据中相同数据的个数很少的时候甚至会造成数据膨胀。 
发明内容
本发明的目的在于克服上述缺陷而提供一种图像无损压缩方法和图像解压缩方法,其既简单,不需要专用芯片,又适用于彩色图像的压缩。 
本发明的图像无损压缩方法,包括以下步骤:
步骤A,从原始图像数据的第一行列开始,本行列的原始像素值与相邻的下一行列原始像素值进行逻辑异或,得到下一行列的异或像素值; 
步骤B,在原始像素值和异或像素值中选择,并将选择的像素值进行游程编码,在包头中加上异或标志并输出;其中所述步骤B包括: 
步骤B1,对原始像素值进行游程编码,并计算压缩比; 
步骤B2,对异或后的像素值进行游程编码,并计算压缩比; 
步骤B3,对压缩比进行比较,传输压缩比高的像素值的游程编码。 
本发明的有益效果是: 
本发明提供了一种新的通用图像无损压缩和图像解压缩方法,该方法在尽可能提高其压缩比的同时,其实现复杂度也非常低,编码算法简单,计算量小,不需要采用专用的压缩和解压缩芯片,实现成本低。而且对于图像,包括二值图像和彩色图像都有较佳的处理效果,不会造成数据膨胀。 
附图说明
图1为本发明的图像无损压缩方法的实施例二具体例子的流程图; 
图2为本发明的图像解压缩方法的具体例子的流程图。 
具体实施方式
下面结合附图1和附图2及具体实施例对本发明再作进一步详细的说明。 
本发明基于的理论依据是:利用视频图像相邻两行或者列的数据的相关性,相邻下两行或者列的数据通过异或操作后提高压缩率。 
在本实施例中,本发明特别是以数据编码信息以行为序列而进行描述,但本发明同样适用以列为序列的情况。 
实施例一: 
基于上述思想,本发明实施例一的图像无损压缩的方法具体包括以下步骤: 
步骤A:从第一行开始,将原始图像数据中相邻两行第N行和第N+1行的原始像素值进行逻辑异或,得到第N+1行的异或像素值; 
步骤B:将第N+1行的异或像素值进行游程编码,并在包头中增加异或标志后传输; 
所述异或标志是一个标志位表示,1代表该结果是原始像素值异或后的游程编码,0表示该结果是非异或的原始像素值的游程编码。 
步骤C:重复所述步骤A和步骤B,对原始图像数据的原始像素值重复执行逻辑异或,直到第M行结束; 
通过最多每隔M行就对该行的原始像素值而不是异或像素值进行一次游程编码,在包头中增加异或标志并传输,防止因前面某一行传输过程中异或像素值的数据包丢失而对下面一系列行的显示产生影响,进一步提高系统的鲁棒性。 
较佳地,所述M的值为10,即每隔10就对该行的原始像素值进行一次游程编码,在包头中增加异或标志后传输。 
步骤D:从第M+1行开始,重复步骤A~C,直到最后一行。 
较佳地,在上述步骤之前进一步包括,将原始图像中第一行的原始像素值进行游程编码,在包头中增加异或标志后传输。 
下面通过一个简单的例子来进行说明: 
例如原来三行数据分别为: 
1 2 3 4 5 6 7 8 
1 2 3 4 5 6 7 8 
1 2 3 4 5 6 7 8 
此时,数据量为24。 
但是通过相邻两行的异或操作后数据变为 
1 2 3 4 5 6 7 8 
0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 
再通过游程编码后变为 
1(0)2(0)3(0)4(0)5(0)6(0)7(0)8(0) 
0(7) 
0(7) 
数据量变为20。 
实施例二: 
本发明实施例二的图像无损压缩方法具体包括以下步骤:
步骤A′:从第一行开始,将原始图像数据中相邻两行第N行和第N+1行的原始像素值进行逻辑异或,得到第N+1行的异或像素值; 
步骤B′:将第N+1行的异或像素值和该行的原始像素值分别进行游程编码,并分别计算压缩比; 
所述压缩比是指压缩前的图像数据量与压缩后的图像数据量之比。 
步骤C′:将第N+1行的异或像素值的游程编码的压缩比与该行的原始像素值的游程编码的压缩比进行比较,对压缩比较大的像素值的游程编码,加上异或标志后传输。 
所述异或标志可以用一个标志位表示,1代表该结果是原始像素值异或后的游程编码,0表示该结果是非异或的原始像素值的游程编码。 
步骤C′还包括下列步骤: 
步骤C1′:如果该行的异或像素值的游程编码的压缩比大于该行的原始像素值的游程编码的压缩比,则对异或像素值的游程编码在包头中增加异或标志1,否则继续; 
步骤C2′:对原始像素值的游程编码的包头中增加异或标志0。 
比较压缩比后根据所传输的是原始像素值还是异或像素值而加上异或标志,使得在解码时能够识别所传输的是原始像素值还是异或像素值。 
步骤D′:重复所述步骤A′~C′,对原始图像数据的原始像素值重复执行逻辑异或,直到最后一行结束。 
较佳地,在上述步骤A′之前进一步包括,将原始图像中第一行的原始像素值进行游程编码,在包头中增加异或标志,并直接传输。 
下面举一个具体的例子来说明上述过程,该过程的流程图如图1所示,具体步骤如下: 
例如一幅原始图像有M行,N表示该图像的某一行值。 
步骤S1:将原始图像中第一行的原始像素值进行游程编码,在包头中增加异或标志,并传输。 
步骤S2:将原始图像中N+1行的原始像素值RGB(N+1)和N行的原始像素值RGBN进行逻辑异或,得到该行的异或像素值RGBX(N+1); 
步骤S3:将N+1行的异或像素值RGBX(N+1)和N+1行的原始像素 值RGB(N+1)分别进行游程编码,并分别计算压缩比CX(N+1)和C(N+1); 
步骤S4:对S3得到的压缩比CX(N+1)和C(N+1)进行比较,如果CX(N+1)大于C(N+1),则对N+1行的异或像素值RGBX(N+1)的游程编码在包头中增加异或标志1,并传输;否则对N+1行的原始像素值RGB(N+1)的游程编码在包头中增加异或标志0,并传输。 
N值从2到M,每一行执行一次上述步骤S2到S4,直到最后一行。 
本发明的无损压缩算法既可用于对黑白图像的压缩,也可用于对彩色图像的压缩。 
彩色图像目前最常用的是RGB色彩空间表示方法。本发明的无损压缩方法在处理采用RGB色彩空间表示方法表示的图像时,对像素值进行游程编码可以采用以下两种方法: 
1.RGB像素值在一起游程编码:把一个像素的RGB值作为一个整体数据,与下一个像素的RGB整体值进行比较,如果数据相等,则游程加1。编码后只有一组数据。 
原始像素值的表示方式为:R1G1B1R2G2B2R3G3B3。 
2.RGB像素值分开游程编码:把每一个像素值的RGB差分成R、G、B三个数据,R数据利用游程编码编成一组R数据;G数据利用游程编码编成一组G数据;B数据利用游程编成一组数据。这样编码后就变成三组数据。 
三组数据的形式分别为: 
R1R2R3 G1G2G3 B1B2B3 
下面进一步详细描述本发明的图像解压缩方法,其包括以下步骤: 
步骤100:当接收到图像数据后,从第一行开始,将图像数据中的像素值中的行数据解游程编码; 
当解压缩端接收到图像数据后,从第一行开始,将行数据解游程编码,其过程是压缩方法的相反过程,在本实施例中不再详细描述。 
步骤200:根据异或标志判断是否需要解异或;如果需要,解异或,并输出数据;否则直接输出数据。 
解异或方法是与本行与上一行再次进行异或运算。 
步骤300:重复执行上述步骤100和步骤200,直到最后一行结束。
下面举一个具体的例子来说明上述过程,该过程的流程图如图2所示,具体步骤如下: 
例如一幅编码后的图像有M行,N表示该图像的某一行值。 
步骤S1′:输入该图像的N行数据; 
步骤S2′:对该行数据解游程编码; 
步骤S3′:根据异或标志判断是否需要解异或;如果需要,与上一行进行异或运算,并输出异或后的数据;否则直接输出该行数据。 
N值从1到M,每一行执行一次上述步骤S1到S3。 
为了验证本方法,我们对6组视频数据(每组500帧,随机抓取)进行压缩仿真。每帧视频大小为1024x768*2=1.5MB,所以每组数据大小为750MB,经过本方法压缩后每组大小分别为159MB,240MB,224MB,262MB,206MB,177MB,压缩率分别为21.2%,32.0%,29.9%,34.9%,27.5%,23.6%,平均压缩率为28.2%。 
一般地,无线传输芯片的底层数据带宽为660Mbps,实际数据带宽约400Mbps,这样需要的压缩率为85%,实验证明本发明的压缩率最大不超过65%,平均值在50%以下,可以满足带宽要求。 
虽然我们的发明是在无线视频传输的背景下实现的,但是这种方法不仅仅用于无线视频传输,也可以适用于对任何图像和视频的处理,是一种通用的无损压缩方法。 
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (6)

1.一种图像无损压缩方法,包括以下步骤:
步骤A,从原始图像数据的第一行列开始,本行列的原始像素值与相邻的下一行列原始像素值进行逻辑异或,得到下一行列的异或像素值;
步骤B,在原始像素值和异或像素值中选择,并将选择的像素值进行游程编码,在包头中加上异或标志并输出;
其中所述步骤B包括:
步骤B1,对原始像素值进行游程编码,并计算压缩比;
步骤B2,对异或后的像素值进行游程编码,并计算压缩比;
步骤B3,对压缩比进行比较,传输压缩比高的像素值的游程编码。
2.如权利要求1所述的图像无损压缩方法,其特征在于,所述的行列为行或列。
3.如权利要求1或2所述的图像无损压缩方法,其特征在于,原始图像中第一行列的原始像素值进行游程编码,在包头中增加异或标志,并直接传输。
4.如权利要求1或2所述的图像无损压缩方法,所述步骤B包括:每隔N行列对原始像素值进行游程编码,并输出。
5.如权利要求4所述的图像无损压缩方法,其特征在于,所述N的值为10。
6.如权利要求1或2所述的图像无损压缩方法,其特征在于,对RGB像素值进行游程编码时将RGB像素值在一起游程编码或将RGB像素值分开游程编码。
CN 200610057397 2006-03-14 2006-03-14 一种图像无损压缩方法 Active CN101039374B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610057397 CN101039374B (zh) 2006-03-14 2006-03-14 一种图像无损压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610057397 CN101039374B (zh) 2006-03-14 2006-03-14 一种图像无损压缩方法

Publications (2)

Publication Number Publication Date
CN101039374A CN101039374A (zh) 2007-09-19
CN101039374B true CN101039374B (zh) 2011-11-02

Family

ID=38889993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610057397 Active CN101039374B (zh) 2006-03-14 2006-03-14 一种图像无损压缩方法

Country Status (1)

Country Link
CN (1) CN101039374B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8335385B2 (en) * 2008-01-21 2012-12-18 Telefonaktiebolaget Lm Ericsson (Publ) Pixel block processing
CN101489019B (zh) * 2009-01-22 2010-11-17 北京航空航天大学 一种无损位图的压缩与解压缩方法
CN102096566B (zh) * 2009-12-11 2013-08-28 北大方正集团有限公司 一种生成页面点阵数据的方法及装置
CN102158485A (zh) * 2011-03-30 2011-08-17 广东电网公司电力科学研究院 一种局部放电在线监测数据的压缩方法
WO2013033895A1 (zh) * 2011-09-07 2013-03-14 速压公司 数据压缩和解压缩方法、程序、存储介质及电子产品
CN102821277B (zh) * 2012-07-20 2015-02-11 西安空间无线电技术研究所 一种基于图像集的数据压缩方法与系统
CN103124350B (zh) * 2012-12-24 2016-01-20 东软集团股份有限公司 基于rle的图像压缩方法及装置
CN107046812B (zh) * 2015-12-08 2021-02-12 华为技术有限公司 一种数据保存方法和装置
CN106358046A (zh) * 2016-11-12 2017-01-25 深圳市迪威码半导体有限公司 一种高清视频图像无线传输方法和系统
CN108632630B (zh) * 2018-05-28 2020-03-31 中国科学技术大学 一种结合位运算和概率预测的二值图像编码方法
CN112235568B (zh) * 2019-07-15 2024-03-26 华为技术有限公司 图像编码方法、解码方法、装置和存储介质
CN110198446B (zh) * 2019-07-18 2021-06-22 格兰菲智能科技有限公司 图像处理方法以及图像处理装置
CN110545106B (zh) * 2019-08-06 2020-07-17 清华大学 时序数据的编码方法及装置
CN115203470B (zh) * 2022-09-16 2023-02-28 苏州浪潮智能科技有限公司 一种视频图像数据存储的方法、装置、设备及可读介质
CN115858832B (zh) * 2023-03-01 2023-05-02 天津市邱姆预应力钢绞线有限公司 一种用于钢绞线生产数据存储方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1259829A (zh) * 1998-11-27 2000-07-12 英业达集团(西安)电子技术有限公司 双向图像压缩方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1259829A (zh) * 1998-11-27 2000-07-12 英业达集团(西安)电子技术有限公司 双向图像压缩方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李世清.图象压缩技术与'异或'压缩算法实现.辽宁大学学报(自然科学版)22 增刊.2005,22(增刊),117-122.
李世清.图象压缩技术与'异或'压缩算法实现.辽宁大学学报(自然科学版)22 增刊.2005,22(增刊),117-122. *

Also Published As

Publication number Publication date
CN101039374A (zh) 2007-09-19

Similar Documents

Publication Publication Date Title
CN101039374B (zh) 一种图像无损压缩方法
RU2417518C2 (ru) Эффективное кодирование и декодирование блоков преобразования
US8902992B2 (en) Decoder for selectively decoding predetermined data units from a coded bit stream
US7016417B1 (en) General purpose compression for video images (RHN)
US7365659B1 (en) Method of context adaptive binary arithmetic coding and coding apparatus using the same
CN115866287B (zh) 一种智慧校园管理平台的数据高效传输方法
CN111787335B (zh) 基于ambtc压缩技术和霍夫曼编码的可逆信息隐藏方法
US8031959B2 (en) Compression system for a bit-plane
CN107105208A (zh) 一种Bayer图像的无损编码与解码方法
CN100425066C (zh) 图像压缩的方法
CN115955569A (zh) 一种用于动物防疫检疫中心的监控视频数据传输方法
US20140010445A1 (en) System And Method For Image Compression
CN101502122A (zh) 编码装置及编码方法
CN110971904B (zh) 一种图像压缩的控制方法
KR100647192B1 (ko) 데이터의 복원 시간을 단축하는 데이터 압축 장치 및 그방법
US7286264B2 (en) None-of-the-above digital halftone compression and decompression
US20090096642A1 (en) Entropy Codec with Variable Divisor
WO2008060040A1 (en) Recorded medium having program for coding and decoding using bit-precision, and apparatus thereof
KR100636370B1 (ko) 결정 비트를 이용한 부호화 장치 및 그 방법과 그에 따른복호화 장치 및 그 방법
US20090304073A1 (en) Systems and Methods for the Bandwidth Efficient Processing of Data
CN115474044A (zh) 一种Bayer域图像有损压缩方法
CN106131575A (zh) 基于小波变换与孙子定理相结合的图像压缩方法
US20090213142A1 (en) Coding system and method for a bit-plane
US20140205199A1 (en) Storage Area and Temporal Based Optimized Run Length Codec For Classic JPEG Image Compression (SAT-BORL CODEC)
TWI446795B (zh) 基於2x2編碼單元之固定壓縮率影像壓縮/解壓縮方法及系統

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant