CN100405403C - 一种数字图像数据编码方法 - Google Patents

一种数字图像数据编码方法 Download PDF

Info

Publication number
CN100405403C
CN100405403C CNB2006100296928A CN200610029692A CN100405403C CN 100405403 C CN100405403 C CN 100405403C CN B2006100296928 A CNB2006100296928 A CN B2006100296928A CN 200610029692 A CN200610029692 A CN 200610029692A CN 100405403 C CN100405403 C CN 100405403C
Authority
CN
China
Prior art keywords
color
coding
data
piece
pixel
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.)
Expired - Fee Related
Application number
CNB2006100296928A
Other languages
English (en)
Other versions
CN1904943A (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong 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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CNB2006100296928A priority Critical patent/CN100405403C/zh
Publication of CN1904943A publication Critical patent/CN1904943A/zh
Application granted granted Critical
Publication of CN100405403C publication Critical patent/CN100405403C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明是一种数字图像数据编码方法,属于图像编码技术领域。本发明将原始图像数据压缩成小数据量的图像数据,其特征在于:对原始图像按从左到右从上到下的顺序取得像素点8×8矩形图像数据块,然后分别采用色表编码与位编码对每一个数据块进行数据编码,根据编码结果,取编码效率高的编码数据作为最终数据,编码后的图像数据分成三个部分:块单色表部分,色表部分,块编码部分,其中块编码部分中的每一块编码数据包括说明字节与编码数据。本发明将原始图像数据压缩成数据量较小的图像数据,通过较小编码运算来获得较高的压缩效率,适用于16位,24位,32位色数字图像压缩。

Description

一种数字图像数据编码方法
技术领域
本发明涉及一种图像编码技术领域的方法,具体是一种数字图像数据编码方法。
背景技术
随着多媒体与国际互联网的快速发展,图像数据越来越随处可见。因为数字图像的原始数据量通常都具有非常庞大的数据量,一幅宽1024高768的32位色的数字图像需要字3145728节容量来存储,所以为了提高存储与传送图像数据效率,图像数据压缩技术即图像编码技术越来越显得重要。JPEG,GIF,PNG,BMP等图像的编码技术都是常用的静态图像编码技术,MPEG,H264,DIVX,XVID等是常用的运动图像编码技术。GIF,JPEG,PNG图像编码技术具有很高的压缩效率,但是编码运算量相对也较大,BMP图像的编码技术虽然编码运算量很小但对图像数据压缩并无太多贡献;MPEG,H264,DIVX,XVID编码技术同样具有虽然压缩效率高但运算量巨大的问题。
经对现有技术的文献检索发现,美国专利申请号为:US 6,396,955,专利名称为:Image compression and expansion device,该专利描述了一种编解码器,方法是先将图像数据进行离散余弦变换,然后分别经过量子化处理,位分离处理,分组处理,最后进行编码处理,最终完成图像数据的编码;图像数据的解码过程就是对编码过程的一个逆操作过程。该发明与本发明相比较,不足之处是,在对图像数据进行离散余弦变换与量子化处理时对硬件计算能力支持有相对比较高的要求,对计算资源耗费比较大,并且图像编解码后失真现象不可避免。
发明内容
本发明针对现有技术的不足,提供一种数字图像数据编码方法,使其将原始图像数据压缩成数据量较小的图像数据,通过较小编码运算来获得较高的压缩效率,适用于16位,24位,32位色数字图像压缩。
本发明是通过以下技术方案的,本发明首先对原始图像按从左到右从上到下的顺序取得像素点8×8矩形图像数据块,以8×8图像数据块作为编码基本单元,然后分别采用色表编码与位编码对每一个数据块进行数据编码,对于尺寸不足8×8图像数据块,应用色表编码时,用本块中像素点最多的颜色值来补足,应用位编码时,不需要补足。根据两种编码结果,取编码效率较高的编码数据作为最终数据。编码后的图像数据分成三个部分:块单色表部分,色表部分,块编码部分,其中块编码部分中的每一块编码数据包括说明字节与编码数据。块单色表部分用于存储最多126个颜色值,用于8×8图像块为一种颜色值时的编码索引。色表部分用于存储色表编码或者位编码统计出来的颜色值,颜色值按块序列顺序保存。块编码部分,即用于保存对8×8图像块编码后产生的数据;每一块8×8图像块编码后产生的数据之前都有一个说明字节。
所述色表编码,只允许每个8×8图像块中最多有8种颜色,并取块中出现最多的8种颜色,这8种颜色值按顺序放到色表中;对于多出的颜色的像素点值被替换,替换规则是:首先按颜色所拥用的像素点的数量从多到少排序,将最后一种颜色值三元色红(R)绿(G)蓝(B)分别减去前面几中颜色值的三元色,分别将差取绝对值相加,然后找到和为最小那个颜色,就将最后一种颜色的所有像素点数据替换成这个找到的颜色值,然后再按颜色排序重复这种操作,一直到颜色数量少于等于8种,最后对所拥有少于4个像素点的颜色也被同样替换;块中颜色少于等于4种,则像素点编码用2位(bit)数据来表示其在本块颜色序列中的索引;块中颜色等于2种,则像素点编码用1位(bit)数据来表示其在本块颜色序列中的索引;块中颜色多于4种,则像素点编码用3位(bit)数据来表示其在本块颜色序列中的索引。
所述位编码,对每个8×8图像块中的像素点按颜色统计,并按每种颜色所拥有像素点从多到少排序颜色值;并将颜色值按顺序保存到色表中;从像素点最多的颜色开始逐个按颜色做如下编码:在块中从左到右从上到下,将像素点为当前颜色的用1位(bit)数据1表示,不是当前颜色的用1位数据(bit)0表示,对第一种颜色与第二种颜色编码每8位用一个字节保存,对第三种颜色及以后的颜色编码每七位保存到一个字节的低七位中,高一位为1表示是一种颜色编码数据的开始,为0表示与前一个字节编码数据是同一种颜色;第一种颜色编码完成后,将编码为0的像素点数据按从左到右从上到下顺序按次序重新排列,然后重复前面的编码过程,最终完成编码。
对同一8×8图像块分别用色表编码与位编码,块颜色数量少于等于8种时,取编码后数据量较小的编码数据;否则,计算位编码后所得编码数据字节数减去色表编码后所得编码数据字节数,结果小于16个字节则保存位编码的编码数据,否则保存色表编码的编码数据,未保存的编码数据丢弃。
每一块编码数据都包括说明字节与编码数据,说明字节用于说明本块数据如何编码的;最高位为0,表示本图像块只有一种颜色,其余七位(bit)数据值不为127时表示本块颜色值在块单色表中的索引,且编码数据中只有说明字节,否则表示编码数据保存的为本块颜色值;最高位为1,则看第7位(bit),该位为0,表示本图像块数据是用色表编码来编码的,该位为1,表示用位编码,其余低6位保存本图像块中所拥有的颜色数量减1的差值。
编码数据中色表部分可以二次编码,以最大限度压缩数字图像,但本发明不再提供这个编码方法。用本发明的方法编码数字图像,解码图像的编码数据就是编码的逆过程,本发明不再提供详细解码方法。
附图说明
图1为编码数据保存结构图
图2为色表编码流程图
图3为位编码流程图
图4为数字图像编码流程图
具体实现方式
为了更清楚的理解本发明,以下结合附图和实施例对本发明作进一步的详细描述。
如图4所示,首先对原始图像按从左到右从上到下的顺序取得像素点8×8矩形图像数据块,以8×8图像数据块作为编码基本单元,分别进行色表编码和位编码,编码完成后,本块图像的原始颜色如果不多于8种,则保存编码数据量少的编码数据,如果多于8种,计算位编码数据量减色表编码数量的差,如果差不少于16,则保存色表编码数据,否则保存位编码数据,没有被保存的编码数据丢弃。然后检测继续取下一块图像数据,重复如上编码操作,直至最后一块图像编码结束。
如图2所示,是色表编码流程图。首先对本块图像统计颜色,并统计出每种颜色拥有像素点的数量,检查本块图像是否只有一种颜色,如果是一种颜色则完成本块编码,否则继续检查本块图像是否满足高宽都是8个像素,不足8个像素,用本块中出现最多的颜色来补足8×8高宽。然后检测本块中的颜色是否多于8种,如果多于8种,则按如下三步操作:
1)则按所拥有的像素点数量给颜色排序;
2)将排在最后一位的颜色所扔用的像素点替换掉;
3)检测颜色仍是否多于8种,如果多于8种,循环返回第1步继续操作,否则退出循环。
如上第2)步中,替换像素点需遵循如下规则:将最后一种颜色的三元色红(R)绿(G)蓝(B)的值分别减去前面几中颜色的三元色的值,分别将差取绝对值相加,然后找到和为最小那个颜色,将最后一种颜色的所有像素点数据替换成这个找到的颜色值。如上操作完成后,接着按如下步骤循环操作:
A.则按所拥有的像素点数量给颜色排序;
B.按颜色所拥有像素由少到多,检测是否有少于4个像素点的颜色,如果有,则继续操作下面的操作,如果没有,则退出循环;
C.用前面的方法替换少于4个像素点的颜色的所有像素点数据,然后返回第1步;
如上循环完成后,检测本块图像现在的颜色数,多于4种则用3位(bit)数据编码,少于4种用2位(bit)数据编码,等于2种用1位(bit)数据编码,就是将本图像块中的像素点根据基颜色在前面排序的位置,用1,2或者3位来表示它的位置索引,位置索引从0基数开始,即排名第一的颜色序号为0。每8位保存在一个字节中,按照从低位向高位保存,如果当前的字节没有足够空间来保存3位数据,则将未保存的高位数据保存到下一个字节中。最终完成本块图像的色表编码。
如图3所示,是位编码流程图。首先对本块图像统计颜色,并统计出每种颜色拥有像素点的数量,然后按所拥有的像素点数量给颜色排序,接着初始化计数器count为0,然后按如下步骤循环操作:
1.取序号为count的颜色为参照值;
2.如果count大于1,则用7位(bit)数据编码,否则用8位(bit)数据编码;
3.将编码后,非参照颜色的像素点按从左到右从上到下的顺序取出,并按顺序重组;计数器count加1;
4.检测计数器count是否大于等于本块颜色数量,如果否,则循环返回步骤,否则退出循环。
步骤2中,用8位数据编码,即将像素点的颜色与参照颜色相同时,用1位(bit)数据1表示,否则用1位(bit)数据0表示,每8位保存在一个字节中,按照从低向高位保存,不足一个字节用一个字节保存;用7位数据编码,作最高位(bit)有特定意义外,其它都与用8位数据编码一至。用7位数据编码,最高位(bit)数据为1时,表示本字节为一种颜色编码数据的开始,为0,则表示本字节所编码的像素点的颜色与前一个字节相同。
色表编码与位编码完成后,统计两种编码数据量。色表编码,当块为单色是,数据量为0,否则编码数据由经检查替换后的颜色值与编码数据组成,数据量就是二者字节数之和。位编码是则颜色值与编码数据组成,数据量是二者字节数之和。
如图1所示,是编码数据结构图。当色表编码的数据量为0,即当块为单色时,在块单色表中查询是否有相同颜色值,如果没有,则在块单色表中追加新的颜色值;说明字节中保存颜色值在块单色表中的索引,完成编码保存;如果本块图像的原始颜色如果不多于8种,则保存编码数据量少的编码数据,如果多于8种,计算位编码数据量减色表编码数量的差,如果差不少于16,则保存色表编码数据,否则保存位编码数据,没有被保存的编码数据丢弃。保存编码数据时,将块排过序的颜色序列按顺序保存到色表中,每一块颜色序列都紧随上一块的保存。每一块编码数据都前缀一个说明字节数据描述编码信息。说明字节最高位为0,表示本图像块只有一种颜色,其余七位(bit)数据值不为127时表示本块颜色值在块单色表中的索引,否则表示编码数据保存的为本块颜色值;最高位为1,则看第7位(bit)数据,该位为0,表示本图像块数据是用色表编码来编码的,该位为1,表示用位编码,其余低6位保存本图像块中所拥有颜色数量减1的差值。编码信息也是按顺序保存,每一块编码数据紧随前一块的保存。

Claims (4)

1.一种数字图像数据编码方法,将原始图像数据压缩成小数据量的图像数据,其特征在于:对原始图像按从左到右从上到下的顺序取得像素点8×8矩形图像数据块,然后分别采用色表编码与位编码对每一个数据块进行数据编码,根据编码结果,取编码效率高的编码数据作为最终数据,编码后的图像数据分成三个部分:块单色表部分,色表部分,块编码部分,其中块编码部分中的每一块编码数据包括说明字节与编码数据;
所述色表编码,只允许每个8×8图像块中最多有8种颜色,并取块中出现最多的8种颜色,这8种颜色值按顺序放到色表中;对于多出的颜色的像素点被替换,替换规则是:首先按颜色所拥用的像素点的数量从多到少排序,将最后一种颜色的三元色红绿蓝的值分别减去前面几种颜色的三元色的值,分别将差取绝对值相加,然后找到和为最小那个颜色,就将最后一种颜色的所有像素点数据替换成这个找到的颜色值,然后再按颜色排序重复这种操作,一直到颜色数量少于等于8种,最后对所拥有少于4个像素点的颜色也被同样替换;块中颜色少于等于4种,则像素点编码用2位数据来表示其在本块颜色序列中的索引;块中颜色等于2种,则像素点编码用1位数据来表示其在本块颜色序列中的索引;块中颜色多于4种,则像素点编码用3位数据来表示其在本块颜色序列中的索引;
所述位编码,对每个8×8图像块中的像素点按颜色统计,并按每种颜色所拥有像素点从多到少排序颜色值;并将颜色值按顺序保存到色表中;从像素点最多的颜色开始逐个按颜色做如下编码:在块中从左到右从上到下,将像素点为当前颜色的用1位数据1表示,不是当前颜色的用1位数据0表示,对第一种颜色与第二种颜色编码每8位用一个字节保存,对第三种颜色及以后的颜色编码每七位保存到一个字节的低七位中,高一位为1表示是一种颜色编码数据的开始,为0表示与前一个字节编码数据是同一种颜色;第一种颜色编码完成后,将编码为0的像素点数据按从左到右从上到下按顺序重新排列重组,然后重复前面的编码过程,循环操作直至完成本块图像数据编码。
2.如权利要求1所述的一种数字图像数据编码方法,其特征是:对同一8×8图像块分别用色表编码与位编码,块颜色数量少于等于8种时,取编码后数据量较小的编码数据;否则,计算位编码后所得编码数据字节数减去色表编码后所得编码数据字节数,结果小于16个字节则保存位编码的编码数据,否则保存色表编码的编码数据。
3.如权利要求1所述的一种数字图像数据编码方法,其特征是:所述块单色表部分,用于存储8×8图像块中只有一种颜色时的颜色值,最多只保存126种颜色值。
4.如权利要求1所述的一种数字图像数据编码方法,其特征是:所述说明字节,用于说明本块数据如何编码的;最高位为0,表示本图像块只有一种颜色,其余七位数据值不为127时表示本块颜色值在块单色表中的索引,否则表示编码数据保存的为本块颜色值;最高位为1,则看第7位数据,该位为0,表示本图像块数据是用色表编码来编码的,该位为1,表示用位编码,其余低6位保存本图像块中所拥有颜色数量减1的差值。
CNB2006100296928A 2006-08-03 2006-08-03 一种数字图像数据编码方法 Expired - Fee Related CN100405403C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100296928A CN100405403C (zh) 2006-08-03 2006-08-03 一种数字图像数据编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100296928A CN100405403C (zh) 2006-08-03 2006-08-03 一种数字图像数据编码方法

Publications (2)

Publication Number Publication Date
CN1904943A CN1904943A (zh) 2007-01-31
CN100405403C true CN100405403C (zh) 2008-07-23

Family

ID=37674201

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100296928A Expired - Fee Related CN100405403C (zh) 2006-08-03 2006-08-03 一种数字图像数据编码方法

Country Status (1)

Country Link
CN (1) CN100405403C (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101859511A (zh) * 2010-04-01 2010-10-13 浙江大学 环境氛围灯系统及环境氛围灯系统的控制方法
CN102957904A (zh) * 2011-08-24 2013-03-06 上海山景集成电路技术有限公司 对图像信息进行压缩编码的方法、系统及设备
US9466090B2 (en) * 2013-06-20 2016-10-11 Intel Corporation Subset based compression and decompression of graphics data

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08320945A (ja) * 1995-05-25 1996-12-03 Toshiba Corp 動画像編集システム及び動画像再生システム
CN1278089A (zh) * 2000-07-20 2000-12-27 南开大学 动态差分编码和解码方法
US6396955B1 (en) * 1998-06-25 2002-05-28 Asahi Kogaku Kogyo Kabushiki Kaisha Image compression and expansion device
CN1402528A (zh) * 2001-08-29 2003-03-12 佳能株式会社 图像处理装置与方法以及计算机程序和存储媒体
EP1355484A2 (en) * 2002-04-17 2003-10-22 Canon Kabushiki Kaisha Image compression method and apparatus, and image coding method and apparatus
CN1473436A (zh) * 2001-08-09 2004-02-04 ���ṫ˾ 图像编码设备和方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08320945A (ja) * 1995-05-25 1996-12-03 Toshiba Corp 動画像編集システム及び動画像再生システム
US6396955B1 (en) * 1998-06-25 2002-05-28 Asahi Kogaku Kogyo Kabushiki Kaisha Image compression and expansion device
CN1278089A (zh) * 2000-07-20 2000-12-27 南开大学 动态差分编码和解码方法
CN1473436A (zh) * 2001-08-09 2004-02-04 ���ṫ˾ 图像编码设备和方法
CN1402528A (zh) * 2001-08-29 2003-03-12 佳能株式会社 图像处理装置与方法以及计算机程序和存储媒体
EP1355484A2 (en) * 2002-04-17 2003-10-22 Canon Kabushiki Kaisha Image compression method and apparatus, and image coding method and apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于MPEG-4 的高效屏幕编/解码器的设计与实现. 杨,超,申瑞民,吴宗明.计 算 机 工 程,第31卷第21期. 2005
基于MPEG-4 的高效屏幕编/解码器的设计与实现. 杨,超,申瑞民,吴宗明.计 算 机 工 程,第31卷第21期. 2005 *

Also Published As

Publication number Publication date
CN1904943A (zh) 2007-01-31

Similar Documents

Publication Publication Date Title
CN107071514B (zh) 一种图片文件处理方法及智能终端
CN101742317B (zh) 一种带阿尔法透明通道的视频压缩编码方法
CN105933708B (zh) 一种数据压缩和解压缩的方法和装置
CN100484244C (zh) 一种基于像素统计特征和视觉特征的图像编解码处理方法
KR20050027442A (ko) 모바일 디바이스용 정지영상 압축 방법
CN104853211A (zh) 使用多种形式的参考像素存储空间的图像压缩方法和装置
CN101971633A (zh) 压缩参考帧的视频编码系统
CN106791858B (zh) 一种高采样率rgb视频数据无损压缩方法
CN107657228A (zh) 视频场景相似性分析方法及系统、视频编解码方法及系统
CN103702133B (zh) 一种图像压缩展示方法及其装置
CN105323583A (zh) 编码方法、解码方法、编解码系统、编码器与解码器
CN103814573A (zh) 使用系数压缩进行解码的装置和方法
CN107864379A (zh) 一种应用于视频编解码的压缩方法
CN107105208A (zh) 一种Bayer图像的无损编码与解码方法
CN104581177A (zh) 一种结合块匹配和串匹配的图像压缩方法和装置
CN101494788B (zh) 视频图像的压缩/解压缩方法与装置
US10110896B2 (en) Adaptive motion JPEG encoding method and system
CN100405403C (zh) 一种数字图像数据编码方法
CN104093027B (zh) 用于彩色图像的联合标量嵌入式图形编码
CN104935945B (zh) 扩展参考像素样值集的图像编码或解码方法
CN107343203B (zh) 基于open-exr图像的jpeg无损压缩方法
CN105472388B (zh) 一种颜色滤波阵列图像的编解码方法、装置和系统
CN104918050B (zh) 使用动态排列重组的参考像素样值集的图像编解码方法
CN200962655Y (zh) 一种用于移动设备的活动图像压缩系统
CN109361926A (zh) H.264/avc视频视觉质量无损可逆信息隐藏方法

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080723

Termination date: 20150803

EXPY Termination of patent right or utility model