CN102761735A - 编码方法及装置、图像压缩方法及系统 - Google Patents

编码方法及装置、图像压缩方法及系统 Download PDF

Info

Publication number
CN102761735A
CN102761735A CN2011101038534A CN201110103853A CN102761735A CN 102761735 A CN102761735 A CN 102761735A CN 2011101038534 A CN2011101038534 A CN 2011101038534A CN 201110103853 A CN201110103853 A CN 201110103853A CN 102761735 A CN102761735 A CN 102761735A
Authority
CN
China
Prior art keywords
pixel
coding
golomb
diff
parameter
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.)
Granted
Application number
CN2011101038534A
Other languages
English (en)
Other versions
CN102761735B (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.)
I-Land Technology Co ltd
Original Assignee
Institute of Microelectronics of CAS
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 Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN201110103853.4A priority Critical patent/CN102761735B/zh
Publication of CN102761735A publication Critical patent/CN102761735A/zh
Application granted granted Critical
Publication of CN102761735B publication Critical patent/CN102761735B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种用于实时无损图像压缩的Golomb-Rice编码方法及装置、和FELICS图像压缩方法及系统。该Golomb-Rice编码方法包括:设置参数k为满足公式N*2k≥A的最小非负整数,其中,参数N表示编码处于预判区域外的像素数目,参数A表示编码处于预判区域外的误差累计;根据参数k对diff进行Golomb-Rice编码;以及更新参数N和A。本发明中参数k的选取无需存储空间,不增加额外的操作周期,易于在硬件上实现。

Description

编码方法及装置、图像压缩方法及系统
技术领域
本发明涉及信息技术中图像处理技术领域,尤其涉及一种用于实时无损图像压缩的Golomb-Rice编码方法及装置、和FELICS图像压缩方法及系统。
背景技术
数字图像传感器已经广泛应用在各种视频领域,由于图像的数据量很大,所以在图像传输前都要对图像进行有损或者无损压缩。有损压缩一般应用在对图像质量要求不高的应用领域,但是医学图像等一些高端应用领域要求图像必须采用无损压缩。
FELICS是一种快速、高效的无损图像压缩算法。以下对典型的FELICS算法-最小编码bit数k选取FELICS算法进行描述。一幅图像设置两个变量x、y,分别表示图像的列地址和行地址。一幅图像的第一像素无需编码,直接送至输出缓冲器buffer。一幅图像的非第一像素要进行预判区域[L,H]内inrange或者预判区域[L,H]外outrange编码,其中,预测区间上界H为相邻像素中较大者,预测区间下界L为其中较小者。图1为现有技术FELICS图像压缩方法的流程图。如图1所示,FELICS图像压缩方法包括以下步骤:
1、当前像素P及相邻像素N1、N2的选取
图2为现有技术相邻像素选取规则的示意图。如图2所示,相邻像素选取遵循以下规则:
(1)每幅图像的第二像素(P0),N1、N2同为其左侧第一像素;
(2)每幅图像的第一行除第一、二像素以外的像素(P1),N1为其左侧第二像素,N2为其左侧第一像素;
(3)从第二行开始,每行的第一像素(P2),N1为其上像素,N2为其右上像素;
(4)从第二行开始,每行的除第一像素以外的像素(P3),N1为其左侧第一像素,N2为其上像素。
2、inrange编码
如果L≤P≤H,像素P处于inrange,首先编码1比特0,表示像素P处于相邻像素区间内,然后对P-L在范围[0,delta]内进行调整的二元编码,其中delta为H-L。
对P-L在范围[0,delta]内进行调整的二元编码:如果delta+1是2的幂,使用编码字长为log2(delta+1)的简单二元编码;否则调整编码方式,一些值的编码字长为
Figure BDA0000057230020000021
另一些编码字长为由于编码处于区域中间的概率较大,所以对其采用较短的编码。如delta为4,则需要对0,1,2,3,4进行编码,调整的二元编码(前缀编码)码字为00,01,10,110,111,从范围中间开始分配码字,码字表如表一所示:
表一现有技术中FELICS算法delta为4的调整二元编码码字表
  P-L   0   1   2   3   4
  码字   111   10   00   01   110
3、outrange编码
如果L>P或者P>H,则像素P处于outrange,首先编码一比特1,表示像素P处于预测区域外,再用一比特表示像素P是高于或是低于预判区域(0表示低于预判区域,1表示高于预判区域);然后计算出P点与预测区间边界的差值,如果P<L,diff=L-P-1,否则diff=P-H-1,对该差值diff进行Golomb-Rice编码。
Golomb-Rice编码方法分为三步:确定参数k,Golomb-Rice编码,以及参数更新。
(1)参数确定:在开始一帧图像处理前建立一个编码最小bit数累加表cumul[delta][k],并初始化数据为零,其中delta取值范围同像素值的变化范围,k取值范围为0至像素深度。对于像素深度为8的Bayer图像,累加表为256x8的二维数组。在图像处理前,累加表中的数据初始化为零。每次outrange编码时,根据delta0=H-L确定k,即选取最小的k0,使cumul[delta0][k0]≤cumul[delta0][k],k=0,1,..7成立。
(2)Golomb-Rice编码:根据Golomb-Rice编码,确定参数之后,对进行一元编码,非负数
Figure BDA0000057230020000032
的一元编码为
Figure BDA0000057230020000033
比特的0和1比特的1;后对剩余的低k位数据进行二元编码,即diff二进制编码的低k位。采用此种编码单个像素的编码长度最长可达258bits。
(3)参数更新:k值确定后,利用以下公式累加此次outrange编码bit数,更新累加表:
Figure BDA0000057230020000034
k=0,1,..7
例如当前处于outrange编码,编码最小bit数累加表如表二,delta=1,diff=1,则k值应该为1;更新编码最小bit数累加表,此次k从0至7的编码bit数分别为2、2、3、4、5、6、7、8,所以编码最小bit数累加表更新为表三。
表二现有技术中FELICS算法编码最小bit数累加表
Figure BDA0000057230020000035
表三现有技术中更新后的编码最小bit数累加表
Figure BDA0000057230020000036
4、缓冲输出
将进行当前像素的编码值通过输出缓冲器buffer输出,至此编码结束。
在实现本发明的过程中,申请人意识到现有技术存在如下技术问题:Golomb-Rice编码方法中,参数k根据最少编码bit位确定,编、译码器均要在outrange编码下对每一种delta,在每一种k下累计编码bit位,从而需要大量的参数k选取存储空间,以及额外的操作周期。
发明内容
(一)要解决的技术问题
为克服现有技术中存在的上述技术问题,本发明提出一种限长Golomb-Rice编码方法、应用该编码方法的FELICS图像压缩方法,及Golomb-Rice编码装置和FELICS图像压缩装置,以简化参数k的获取和维护步骤,节约存储空间,提高处理效率。
(二)技术方案
根据本发明的一个方面,提供了一种Golomb-Rice编码方法。该方法用于在当前像素点的像素值P位于其两相邻像素点的像素值N1与N2构成的预判区域[L,H]外时对该当前像素点的编码,其中,L=min(N1,N2),H=max(N1,N2)。该方法包括:设置参数k为满足公式N*2k≥A的最小非负整数,其中,参数N表示编码处于预判区域外的像素数目,参数A表示编码处于预判区域外的误差累计;根据参数k对diff进行Golomb-Rice编码,其中,如果P<L,diff=L-P-1,否则diff=P-H-1;以及更新参数N和A。
优选地,本发明Golomb-Rice编码方法中,根据参数k对diff进行Golomb-Rice编码的步骤包括:如果[diff/2k]小于第一预设值,则当前像素点的编码包括:[diff/2k]的一元编码和diff二进制编码的低k位,其中:第一预设值由预设像素编码长度确定;[diff/2k]表示对diff/2k的值向下取整。
优选地,本发明Golomb-Rice编码方法中,根据参数k对diff进行Golomb-Rice编码的步骤还包括:如果[diff/2k]大于或等于第一预设值,则当前像素点的编码包括:第一预设长度的“0”和diff的第二预设长度的二进制编码,其中:第一预设长度和第二预设长度由预设像素编码长度确定。
优选地,本发明Golomb-Rice编码方法中,当预设像素编码长度为16位时,第一预设值为6,第一预设长度为6,第二预设长度为8。
优选地,本发明Golomb-Rice编码方法中,更新参数N和A的步骤包括:如果N小于第一预设阈值,则N=N+1,A=A+diff;如果N等于或大于第一预设阈值时,将N和A归零,N介于32至256之间。优选地,第一预设阈值为32。
根据本发明的另一个方面,还提供了一种FELICS图像压缩方法。该压缩方法包括:选取当前像素点和其相邻像素点;如果P位于预判区域[L,H]内时,对P-L在范围[0,delta]内进行调整的二元编码,其中,delta=H-L;如果P位于预判区域[L,H]外时,执行如上述的Golomb-Rice编码方法;将当前像素点的FELICS编码通过输出缓冲器输出,其中的FELICS编码为调整的二元编码或Golomb-Rice编码。
优选地,本发明FELICS图像压缩方法中,对于GBRG格式的Bayer图像,选取当前像素点和其相邻像素点的步骤包括:图像的每个通道的第一像素无需编码,直接送至输出缓冲器;对于图像的其他像素P,在选取相邻像素时越过相邻的行和列,在同通道内按FELICS算法相邻像素规则选取,FELICS算法相邻像素规则包括:(1)通道内第二像素,N1、N2同为通道内其左侧第一像素;(2)通道内第一行除第一、二像素以外的像素,N1为通道内其左侧第二像素,N2为通道内其左侧第一像素;(3)从通道内第二行开始,每行的第一像素,N1为通道内其上像素,N2为通道内其右上像素;(4)从通道内第二行开始,每行的除第一像素以外的像素,N1为通道内其左侧第一像素,N2为通道内其上像素。
优选地,本发明FELICS图像压缩方法中,对同一图像的不同通道的编码随当前像素交叉进行,并对不同通道分别维护参数N和A。
优选地,本发明FELICS图像压缩方法中,如果执行预设像素编码长度为16位的Golomb-Rice编码方法,则将输出缓冲器分为高16位部分和低16位部分,将当前像素点的编码通过输出缓冲器输出的步骤包括:将当前像素点的16位编码送入32位输出缓冲器的高16位部分或低16位部分;当高16位部分或低16位部分的两者其中之一装满数据时,输出该部分的16位FELICS编码。
根据本发明的再一个方面,还提供了一种Golomb-Rice编码装置。该装置包括:参数获取及更新模块,用于设置参数k为满足公式N*2k≥A的最小非负整数,其中,N表示编码处于预判区域外的像素数目,A表示编码处于预判区域外的误差累计,并即时更新参数N和A;Golomb-Rice编码模块,与参数k维护模块相连接,用于根据参数k对diff进行Golomb-Rice编码,其中,如果P<L,diff=L-P-1,否则diff=P-H-1。
优选地,本发明Golomb-Rice编码装置中,Golomb-Rice编码模块包括:判断子模块,用于判断[diff/2k]是否小于第一预设值,如果是,执行第一处理子模块,否则,执行第二处理子模块,其中:所述第一预设值由预设像素编码长度确定;[diff/2k]表示对diff/2k的值向下取整;第一处理子模块,与判断子模块相连接,用于对当前像素点进行编码,该编码包括:[diff/2k]的一元编码和diff二进制编码的低k位;以及第二处理子模块,与判断子模块相连接,用于对当前像素点进行编码,该编码包括:第一预设长度的“0”和diff的第二预设长度的二进制编码,第一预设长度和第二预设长度由预设像素编码长度确定。
优选地,根据本发明的再一个方面,还提供了一种FELICS图像压缩系统。该压缩系统包括:像素选择装置,用于选取当前像素点和其相邻像素点;预判区域内外判断装置,与像素选择装置相连接,用于判断当前像素点的像素值P是否位于其两相邻像素点的像素值N1,N2构成的预判区域[L,H]内,如果是,转入预判区域内编码装置,否则,转入预判区域外编码装置;预判区域内编码装置,与预判区域内外判断装置相连接,用于如果P位于[L,H]内时,对P-L在范围[0,delta]内进行调整的二元编码,其中,delta=H-L;预判区域外编码装置,与预判区域内外判断装置相连接,为如上述的Golomb-Rice编码装置;编码输出装置,与Golomb-Rice编码装置和预判区域内编码装置相连接,用于将当前像素点的编码通过输出缓冲器输出。
(三)有益效果
本发明具有以下有益效果:
1、本发明提供的Golomb-Rice编码k参数选取方法不需要额外的存储空间和操作周期,易于低功耗硬件实现;
2、本发明提供的限长Golomb-Rice编码使得单像素编码不超过16bits,输出装置的输出buffer可在单周期内完成单个像素的编码输出操作,更适合于实时图像压缩,能有效提高系统吞吐率;
3、本发明针对Bayer图像的不同通道分别进行FELICS压缩,能够对Bayer图像进行高效快速无损压缩。
附图说明
图1为现有技术FELICS图像压缩方法的流程图;
图2为现有技术FELICS图像压缩方法中相邻像素选取的示意图;
图3为本发明实施例Golomb-Rice编码方法的流程图;
图4为本发明实施例FELICS图像压缩方法的流程图;
图5为本发明实施例FELICS图像压缩系统的示意图;
图6为本发明实施例GBRG格式Bayer图像相邻像素选择的示意图;
图7为采用本发明实施例FELICS图像压缩方法处理后的12幅医学图像肠胃图;
图8为采用本发明实施例FELICS图像压缩方法处理后的12幅标准图像。
【主要元件符号说明】
500-压缩系统;              502-像素选择装置;
504-预判区域内外判断装置;  506-预判区域内编码装置;
508-预判区域外编码装置;    510-编码输出装置;
5082-参数获取及更新模块;   5084-Golomb-Rice编码模块;
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
在本发明的一个基础实施例中,公开了一种Golomb-Rice编码方法,用于当前像素点的像素值P位于其两相邻像素点的像素值N1,N2构成的预判区域[L,H]外时的编码。其中,L=min(N1,N2),H=max(N1,N2)。图3为本发明实施例Golomb-Rice编码方法的流程图。如图3所示,该方法包括:
步骤S302,设置参数k为满足公式N*2k≥A的最小非负整数,其中,参数N表示编码处于预判区域外的像素数目,参数A表示编码处于预判区域外的误差累计;
步骤S304,根据参数k对diff进行Golomb-Rice编码,其中,如果P<L,diff=L-P-1,否则diff=P-H-1;以及
步骤S306,更新参数N和A。
其中,步骤S306也可以位于步骤S304之前。而在步骤S304中,可以按照现有技术中的方法进行Golomb-Rice编码,也可以按照下文各实施例中提供的方法进行Golomb-Rice编码。
本实施例Golomb-Rice编码方法中,参数k的选取无需存储空间,只要进行简单的计算即可,不增加额外的操作周期,易于在硬件上实现。
如图3所示,在本发明的一个优选实施例中,步骤S304可以包括以下两种情况:
步骤S304a,如果[diff/2k]小于第一预设值,则当前像素点的编码包括:[diff/2k]的一元编码和diff二进制编码的低k位;
步骤S304b,如果[diff/2k]大于或等于第一预设值,则当前像素点的编码包括:第一预设长度的“0”和diff的第二预设长度的二进制编码。
在步骤B1和B2中,第一预设值、第一预设长度和第二预设长度均由预设像素编码长度确定,[diff/2k]表示对diff/2k的值向下取整。典型的,可以分为以下几种情况:
1)当预设像素编码长度为16位时,第一预设值为6,第一预设长度为6,第二预设长度为8;
2)当预设像素编码长度为32位时,第一预设值为22,第一预设长度为22,第二预设长度为8;
3)当预设像素编码长度为64位时,第一预设值为54,第一预设长度为54,第二预设长度为8。
本实施例中,针对现有技术中Golomb-Rice编码方法,单个像素的编码长度最长可达到258bits的情况,对编码的长度进行了限制,即采用限长的Golomb-Rice编码,使得每个像素点的编码长度最大仅为16bits,输出装置的输出缓冲器可在单周期内完成单个像素的编码输出操作,更适合于实时图像压缩,能有效提高系统吞吐率。
在本发明的另一个优选实施例中,在步骤S306中,如果N超过第一预设阈值时,将N和A归零,N介于32至256之间;如果N未超过第一预设阈值,N=N+1,A=A+diff。优选的,第一预设阈值为32,参数N和参数A的初始值设置为0。
本实施例利用的图像所具有的局部特性,当N超过一定阈值(通常为32至256的数时,将N和A归零,从而缩短了编码时间,获得更好的压缩效果。
根据本发明的另一个方面,还提供了一种FELICS图像压缩方法。图4为本发明实施例FELICS图像压缩方法的流程图。如图4所示,该压缩方法包括:
步骤S402,选取当前像素点和其相邻像素点;
步骤S404,判断当前像素点P是否位于其两相邻像素点的像素值N1,N2构成的预判区域[L,H],如果是,执行步骤S406,否则,执行步骤S408;
步骤S406,对P-L在范围[0,delta]内进行调整的二元编码,如在背景技术中提到的方法,执行步骤S410,其中,delta=H-L;
步骤S408,执行上述实施例中提到的Golomb-Rice编码方法,执行步骤S410;
步骤S410,将当前像素点的像素值的编码送入输出缓冲器,在合适的时机,输出该当前像素点的编码值。
其中,步骤S408即上述实施例中的Golomb-Rice编码方法(图3)。如果步骤S304为步骤S304a+S304b,则步骤410可以为:将当前像素点的像素值的编码送入32位的输出缓冲器,输出缓冲器包括高16位部分和低16位部分,当两者其中之一装满数据时,输出该当前像素点的编码值。
其中,步骤S402的相邻像素的选取方法包括:(1)通道内第二像素,N1、N2同为通道内其左侧第一像素;(2)通道内第一行除第一、二像素以外的像素,N1为通道内其左侧第二像素,N2为通道内其左侧第一像素;(3)从通道内第二行开始,每行的第一像素,N1为通道内其上像素,N2为通道内其右上像素;(4)从通道内第二行开始,每行的除第一像素以外的像素,N1为通道内其左侧第一像素,N2为通道内其上像素。
其中,步骤S410中将当前像素点的编码通过输出缓冲器输出包括:将当前像素点的编码送入32位的输出缓冲器,由于每次编码的输出数据位长都是不确定的(本设计中最大为16bits),为了防止数据buffer溢出,将所述输出缓冲器分为高16位部分和低16位部分,当两者其中之一装满数据时,输出该16位FELICS编码,因此输出buffer每次剩余空间都不小于进入数据的位长。
本实施例中,将上述各实施例中当前像素点位于预判区域外的情况和位于预判区域内的情况结合起来进行考虑,使得技术方案更加完整。并且,结合限长的Golomb-Rice编码方法,增加了数据缓冲输出的步骤。本实施例更适合于实时图像压缩,能有效提高系统吞吐率。
在上述的各实施例中,均是对图像的某一个通道的像素编码进行说明。而对多通道图像进行编码可以为:对同一图像的不同通道的压缩随当前像素交叉进行,对不同通道分别维护参数N和A。并且,选取当前像素点和其相邻像素点的步骤中:对于GBRG格式Bayer图像,选取相邻像素点时越过相邻的行和列进行选取。这些内容将在下文实施例中进行详细说明。
根据本发明的再一个方面,还提供了一种FELICS图像压缩系统。图5为本发明实施例FELICS图像压缩系统的示意图。如图5所示,该压缩系统500包括:像素选择装置502,用于选取当前像素点和其相邻像素点;预判区域内外判断装置504,与像素选择装置相连接,用于判断当前像素点的像素值P位于其两相邻像素点的像素值N1,N2构成的预判区域[L,H]内,如果是,转入预判区域内编码装置506,否则,转入预判区域外编码装置508;预判区域内编码装置506,与预判区域内外判断装置504相连接,用于如果P位于[L,H]内时,对P-L在范围[0,delta]内进行调整的二元编码,其中,delta=H-L;预判区域外编码装置508,为下文的Golomb-Rice编码装置,与预判区域内外判断装置504相连接;编码输出装置510,与预判区域内编码装置506和预判区域外编码装置508相连接,用于将当前像素点的像素值的编码送入32位的输出缓冲器,输出缓冲器包括高16位部分和低16位部分,当两者其中之一装满数据时,输出该当前像素点的编码值。
根据本发明的再一个方面,还提供了一种Golomb-Rice编码装置。该装置用于在当前像素点的像素值P位于其两相邻像素点的像素值N1与N2构成的预判区域[L,H]外时对该当前像素点的编码,其中,L=min(N1,N2),H=max(N1,N2)。该装置用于执行上文中的方法,等同于上述的预判区域外编码装置508。如图5所示,该装置508包括:
参数获取及更新模块5082,用于设置参数k为满足公式N*2k≥A的最小非负整数,其中,N表示编码处于预判区域外的像素数目,A表示编码处于预判区域外的误差累计,并即时更新参数N和A;
Golomb-Rice编码模块5084,与参数k维护模块相连接,用于根据参数k对diff进行Golomb-Rice编码,其中,如果P<L,diff=L-P-1,否则diff=P-H-1。
其中,Golomb-Rice编码模块可以包括:判断子模块5084′,用于判断[diff/2k]是否小于第一预设值,如果是,执行第一处理子模块5084a,否则,执行第二处理子模块5084b,其中:所述第一预设值由预设像素编码长度确定;[diff/2k]表示对diff/2k的值向下取整;第一处理子模块5084a,用于对当前像素点进行编码,该编码包括:[diff/2k]的一元编码和diff二进制编码的低k位,第一预设值由预设像素编码长度确定,其中,如果P<L,diff=L-P-1,否则diff=P-H-1,L=min(N1,N2),H=max(N1,N2);或第二处理子模块5084b,用于对当前像素点进行编码,该编码包括:第一预设长度的“0”和diff的第二预设长度的二进制编码,第一预设长度和第二预设长度由预设像素编码长度确定。
该Golomb-Rice编码装置与FELICS图像压缩系统具有同上述Golomb-Rice编码方法相同的有益效果,此处不再赘述。以下将在上述实施例的技术上,给出本发明的一个实施例。需要说明的,该实施例仅用于理解本发明,并不用于限制本发明的保护范围。并且,实施例中的特征,在无特别注明的情况下,均同时适用于各方法实施例和装置实施例,在相同或不同实施例中出现的技术特征在不相互冲突的情况下可以组合使用。
实施例一:
1、对Bayer图像的RGB三色分别进行FELICS压缩。因为Bayer图像的RGB三色各自通道内的像素相关性较大,通道间的像素相关性较小,所以在编码时根据当前像素P所处的通道选取同通道内的相邻像素进行FELICS编码,不同通道的FELICS压缩随着当前像素所处的通道交叉进行,编码依序送入输出缓冲器。同传统FELICS图像压缩方法最大的区别则是在于相邻像素的选择以及各自通道内FELICS参数的维持,因此编码器和译码器对每幅图像的RGB通道分别设置两个变量N和A,N表示编码处于outrange(预判区域外)的像素数目,A表示编码处于outrange的误差累计,k参数为满足公式N*2k≥A的最小非负整数,由于图像具有局部特性,为了获得更好的压缩效果,当N超过一定阈值(通常为32至256的数,本设计采用32)时,将N和A归零。其特征在于此种k参数选取无需存储空间、不增加操作周期、易于硬件实现。
其中,上述的相邻像素选择与现有技术相邻像素选择中的不同点在于:(1)通道内第二像素,N1、N2同为通道内其左侧第一像素;(2)通道内第一行除第一、二像素以外的像素,N1为通道内其左侧第二像素,N2为通道内其左侧第一像素;(3)从通道内第二行开始,每行的第一像素,N1为通道内其上像素,N2为通道内其右上像素;(4)从通道内第二行开始,每行的除第一像素以外的像素,N1为通道内其左侧第一像素,N2为通道内其上像素。
2、P为当前像素,N1、N2为相邻像素,H=MAX(N1,N2),L=MIN(N1,N2),如果L≤P≤H,像素P处于inrange(预判区域内),采用调整的二元编码;否则像素P处于outrange,采用限长的Golomb-Rice编码,编码方式为:
如果P<L,diff=L-P-1,否则diff=P-H-1;
对diff进行限长Golomb-Rice编码,如果
Figure BDA0000057230020000121
小于6,则编码为diff的Golomb-Rice编码,即的一元编码加diff二进制编码的低k位;否则编码为6位0加diff的8位二进制编码;
编码装置(包括预判区域内编码装置506和预判区域外编码装置508)采用限长的Golomb-Rice编码,使得每个像素编码长度最大仅为16bits,能够有效的提高系统频率和降低硬件实现的复杂度。
3、对当前像素P编码,输出编码的数据、位长;编码输出装置将编码根据其数据和位长送入32bits的输出buffer,由于每次编码的输出数据位长都是不确定的(本设计中最大为16bits),为了防止数据buffer溢出,将输出buffer分为高16位(对应于buffer[31:16])和低16位(对应于buffer[15:0])两部分,每有一个装满数据,将其输出,因此输出buffer每次剩余空间都不小于进入数据的位长。
实施例二:对Bayer图像的压缩
如图6所示的GBRG格式Bayer图像,其RGB三色各自通道内的像素相关性较大,通道间的像素相关性较小,所以在编码时为了去除更多图像冗余信息的目的,要对上述的FELICS算法针对Bayer图像进行适当的调整,以达到更高的压缩比。设置两个变量x、y,分别表示图像的列地址和行地址,像素表示为P(x,y)。一幅图像的每个通道的第一像素无需编码,直接送至输出buffer,符合条件的像素包含P(0,0)、P(1,0)、P(0,1)、P(1,1)。一幅图像的其他像素P,选取相邻像素N1、N2,进行inrange或者outrange编码。对Bayer图像的扩展FELICS描述如下:
1、相邻像素选取
对于Bayer图像,同通道内的相邻像素选取规则如FELICS算法描述。但同通道内的像素在整幅图像中是隔一行或者隔一列相邻的,如图6所示的GBRG格式,所以在选取相邻像素时必须越过相邻的行和列,在同通道内按FELICS算法相邻像素规则选取。
2、inrange编码方式与现有技术及FELICS算法中的描述相同。
3、outrange编码采用限长的Golomb-Rice编码,其描述如下:
如果L>P或者P>H像素P处于outrange,首先编码一比特1,表示像素P处于预测区域外,再用一比特表示像素P是高于或是低于预判区域(0表示低于预判区域,1表示高于预判区域);然后计算出P点与预测区间边界的差值,如果P<L,diff=L-P-1,否则diff=P-H-1,对该差值进行限长的Golomb-Rice编码。具体来讲,该限长Golomb-Rice编码方法包括:确定参数k,限长的Golomb-Rice编码,以及参数更新。
参数确定:参数k的确定是根据图像的上下环境关系来确定的。设置两个变量N和A,N表示编码处于outrange的像素数目,A表示编码处于outrange的误差累计。对Bayer的每个通道维持各自的变量N和A,分别重命名为变量NG1、AG1,NB、AB,NR、AR,NG2、AG2,初始化为0。在outrange编码时,判断当前像素P所处的通道,如果当前像素处于R通道,则N=NR,A=AR,如果当前像素处于其他通道同理类推。k参数为满足公式N*2k≥A的最小非负整数。
限长的Golomb-Rice编码:根据Golomb-Rice编码,确定参数之后,对需要一元编码的数据
Figure BDA0000057230020000141
进行判断,如果其小于6,则采用常规的Golomb-Rice编码,对
Figure BDA0000057230020000142
进行一元编码,后对剩余的低k位数据进行二元编码,即diff二进制编码的低k位;否则编码输出6比特的0,然后编码输出diff的8比特二进制表示。
参数更新:在完成限长的Golomb-Rice编码后,对参数进行更新。利用图像的局部特性,为了获得更好的压缩效果,当N超过一定阈值时,将N和A归零,阈值一般取32至256的数,本设计采用32;否则N=N+1,A=A+diff。判断当前像素P所处的通道,如果当前像素处于R通道,则NR=N,AR=A,如果当前像素处于其他通道同理类推。
实施例三:
采用本发明的FELICS图像压缩方法(在不针对Bayer图像扩展时)对12幅医学图像肠胃图(如图7所示)R色彩通道的无损压缩平均压缩比约为2.626,通过最小编码bit数选取k参数的传统FELICS算法平均压缩比约为2.659,压缩比下降约为1.2%。
实施例四:
采用本发明的FELICS图像压缩方法和传统方法对12幅标准图像(如图8所示)的压缩率比较如表四(在不针对Bayer图像扩展时)。由表四可知,本发明方法的压缩率比传统方法下降了约为1.74%,但其硬件实现复杂度和功耗可大幅减小,从而证实本发明是切实可行,并具有现实意义的。同时对Bayer图像扩展的FELICS算法对于插值前的Bayer图像也有较好的压缩效果与现实意义。
表四本发明方法与传统方法对标准图像的压缩率比较
Figure BDA0000057230020000143
综上所述,本发明具有下列有益效果:1、本发明提供的Golomb-Rice编码K参数选取方法无需存储空间,无需额外操作周期,易于低功耗硬件实现;2、本发明提供的限长Golomb-Rice编码使得单像素编码不超过16bits,输出装置的输出buffer可在单周期内完成单个像素的编码输出操作,更适合于实时图像压缩,能有效提高系统吞吐率;3、本发明针对Bayer图像的FELICS扩展能够对Bayer图像进行较好的快速无损压缩。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种Golomb-Rice编码方法,其特征在于,该方法用于在当前像素点的像素值P位于其两相邻像素点的像素值N1与N2构成的预判区域[L,H]外时对该当前像素点的编码,其中,L=min(N1,N2),H=max(N1,N2),该方法包括:
设置参数k为满足公式N*2k≥A的最小非负整数,其中,参数N表示编码处于预判区域外的像素数目,参数A表示编码处于预判区域外的误差累计;
根据所述参数k对diff进行Golomb-Rice编码,其中,如果P<L,diff=L-P-1,否则diff=P-H-1;以及
更新所述参数N和A。
2.根据权利要求1所述的Golomb-Rice编码方法,其特征在于,所述根据参数k对diff进行Golomb-Rice编码的步骤包括:
如果[diff/2k]小于第一预设值,则所述当前像素点的编码包括:[diff/2k]的一元编码和diff二进制编码的低k位,其中:
所述第一预设值由预设像素编码长度确定;[diff/2k]表示对diff/2k的值向下取整。
3.根据权利要求2所述的Golomb-Rice编码方法,其特征在于,所述根据参数k对diff进行Golomb-Rice编码的步骤还包括:
如果[diff/2k]大于或等于所述第一预设值,则所述当前像素点的编码包括:第一预设长度的“0”和所述diff的第二预设长度的二进制编码,其中:
所述第一预设长度和第二预设长度由预设像素编码长度确定。
4.根据权利要求3所述的Golomb-Rice编码方法,其特征在于,当所述预设像素编码长度为16位时,所述第一预设值为6,所述第一预设长度为6,所述第二预设长度为8。
5.根据权利要求1所述的Golomb-Rice编码方法,其特征在于,所述更新参数N和A的步骤包括:
如果N小于第一预设阈值,则N=N+1,A=A+diff;
如果N等于或大于所述第一预设阈值时,将所述N和A归零,所述N介于32至256之间。
6.根据权利要求5所述的Golomb-Rice编码方法,其特征在于,所述第一预设阈值为32。
7.一种FELICS图像压缩方法,其特征在于,该压缩方法包括:
选取当前像素点及其相邻像素点;
如果P位于预判区域[L,H]内时,对P-L在范围[0,delta]内进行调整的二元编码,其中,delta=H-L;如果P位于预判区域[L,H]外时,执行如权利要求1至6中任一项所述的Golomb-Rice编码方法;
将所述当前像素点的FELICS编码通过输出缓冲器输出,其中所述的FELICS编码为所述调整的二元编码或所述Golomb-Rice编码。
8.根据权利要求7所述的FELICS图像压缩方法,其特征在于,对于GBRG格式的Bayer图像,所述选取当前像素点及其相邻像素点的步骤包括:
图像的每个通道的第一像素无需编码,直接送至输出缓冲器;
对于所述图像的其他像素P,在选取相邻像素时越过相邻的行和列,在同通道内按FELICS算法相邻像素规则选取,所述FELICS算法相邻像素规则包括:(1)通道内第二像素,N1、N2同为通道内其左侧第一像素;(2)通道内第一行除第一、二像素以外的像素,N1为通道内其左侧第二像素,N2为通道内其左侧第一像素;(3)从通道内第二行开始,每行的第一像素,N1为通道内其上像素,N2为通道内其右上像素;(4)从通道内第二行开始,每行的除第一像素以外的像素,N1为通道内其左侧第一像素,N2为通道内其上像素。
9.根据权利要求8所述的Golomb-Rice编码方法,其特征在于:
对同一图像的不同通道的编码随当前像素交叉进行,并对所述不同通道分别维护参数N和A。
10.根据权利要求8所述的FELICS图像压缩方法,其特征在于,如果执行如权利要求4所述的Golomb-Rice编码方法,则将所述输出缓冲器分为高16位部分和低16位部分,所述将当前像素点的编码通过输出缓冲器输出的步骤包括:
将当前像素点的16位编码送入所述32位输出缓冲器的高16位部分或低16位部分;
当所述高16位部分或低16位部分的两者其中之一装满数据时,输出该部分的16位FELICS编码。
11.一种Golomb-Rice编码装置,其特征在于,该装置用于在当前像素点的像素值P位于其两相邻像素点的像素值N1与N2构成的预判区域[L,H]外时对该当前像素点的编码,其中,L=min(N1,N2),H=max(N1,N2),该装置包括:
参数获取及更新模块,用于设置参数k为满足公式N*2k≥A的最小非负整数,其中,N表示编码处于预判区域外的像素数目,A表示编码处于预判区域外的误差累计,并即时更新所述参数N和A;
Golomb-Rice编码模块,与所述参数k维护模块相连接,用于根据所述参数k对diff进行Golomb-Rice编码,其中,如果P<L,diff=L-P-1,否则diff=P-H-1。
12.根据权利要求11所述的Golomb-Rice编码装置,其特征在于,所述Golomb-Rice编码模块包括:
判断子模块,用于判断[diff/2k]是否小于第一预设值,如果是,执行第一处理子模块,否则,执行第二处理子模块,其中:所述第一预设值由预设像素编码长度确定;[diff/2k]表示对diff/2k的值向下取整;
第一处理子模块,与所述判断子模块相连接,用于对当前像素点进行编码,该编码包括:[diff/2k]的一元编码和diff二进制编码的低k位,所述第一预设值由预设像素编码长度确定;以及
第二处理子模块,与所述判断子模块相连接,用于对当前像素点进行编码,该编码包括:第一预设长度的“0”和diff的第二预设长度的二进制编码,所述第一预设长度和第二预设长度由预设像素编码长度确定。
13.根据权利要求12所述的Golomb-Rice编码装置,其特征在于,所述N超过第一预设阈值时,将所述N和A归零,所述N介于32至256之间,所述第一预设阈值为32。
14.一种FELICS图像压缩系统,其特征在于,该压缩系统包括:
像素选择装置,用于选取当前像素点和其相邻像素点;
预判区域内外判断装置,与所述像素选择装置相连接,用于判断当前像素点的像素值P是否位于其两相邻像素点的像素值N1,N2构成的预判区域[L,H]内,如果是,转入预判区域内编码装置,否则,转入预判区域外编码装置;
预判区域内编码装置,与所述预判区域内外判断装置相连接,用于如果P位于[L,H]内时,对P-L在范围[0,delta]内进行调整的二元编码,其中,delta=H-L;
预判区域外编码装置,与所述预判区域内外判断装置相连接,为如权利要求11至13中任一项所述的Golomb-Rice编码装置;
编码输出装置,与所述Golomb-Rice编码装置和所述预判区域内编码装置相连接,用于将所述当前像素点的编码通过输出缓冲器输出。
CN201110103853.4A 2011-04-25 2011-04-25 编码方法及装置、图像压缩方法及系统 Active CN102761735B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110103853.4A CN102761735B (zh) 2011-04-25 2011-04-25 编码方法及装置、图像压缩方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110103853.4A CN102761735B (zh) 2011-04-25 2011-04-25 编码方法及装置、图像压缩方法及系统

Publications (2)

Publication Number Publication Date
CN102761735A true CN102761735A (zh) 2012-10-31
CN102761735B CN102761735B (zh) 2014-12-24

Family

ID=47056040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110103853.4A Active CN102761735B (zh) 2011-04-25 2011-04-25 编码方法及装置、图像压缩方法及系统

Country Status (1)

Country Link
CN (1) CN102761735B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104038765A (zh) * 2014-06-26 2014-09-10 天津大学 面向硬件实现的快速高效无损图像压缩方法
CN109379598A (zh) * 2018-09-12 2019-02-22 合肥埃科光电科技有限公司 一种基于fpga实现的图像无损压缩方法
CN113766238A (zh) * 2021-09-16 2021-12-07 沈阳航空航天大学 Jpeg-ls无损压缩标准下基于fpga的图像高速压缩方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0755155A2 (en) * 1995-07-18 1997-01-22 Hewlett-Packard Company System and method for lossless image compression
US5764374A (en) * 1996-02-05 1998-06-09 Hewlett-Packard Company System and method for lossless image compression having improved sequential determination of golomb parameter
CN1870440A (zh) * 2005-05-23 2006-11-29 奥林巴斯映像株式会社 数据编码装置、解码装置、以及数据编码方法、解码方法
CN101243497A (zh) * 2005-07-11 2008-08-13 Lg电子株式会社 编码和解码音频信号的装置和方法
CN101919250A (zh) * 2008-01-21 2010-12-15 艾利森电话股份有限公司 像素块处理

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0755155A2 (en) * 1995-07-18 1997-01-22 Hewlett-Packard Company System and method for lossless image compression
US5764374A (en) * 1996-02-05 1998-06-09 Hewlett-Packard Company System and method for lossless image compression having improved sequential determination of golomb parameter
CN1870440A (zh) * 2005-05-23 2006-11-29 奥林巴斯映像株式会社 数据编码装置、解码装置、以及数据编码方法、解码方法
CN101243497A (zh) * 2005-07-11 2008-08-13 Lg电子株式会社 编码和解码音频信号的装置和方法
CN101919250A (zh) * 2008-01-21 2010-12-15 艾利森电话股份有限公司 像素块处理

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104038765A (zh) * 2014-06-26 2014-09-10 天津大学 面向硬件实现的快速高效无损图像压缩方法
CN109379598A (zh) * 2018-09-12 2019-02-22 合肥埃科光电科技有限公司 一种基于fpga实现的图像无损压缩方法
CN109379598B (zh) * 2018-09-12 2021-11-19 合肥埃科光电科技有限公司 一种基于fpga实现的图像无损压缩方法
CN113766238A (zh) * 2021-09-16 2021-12-07 沈阳航空航天大学 Jpeg-ls无损压缩标准下基于fpga的图像高速压缩方法及系统
CN113766238B (zh) * 2021-09-16 2023-07-04 沈阳航空航天大学 Jpeg-ls无损压缩标准下基于fpga的图像高速压缩方法及系统

Also Published As

Publication number Publication date
CN102761735B (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
US6919828B2 (en) Variable length coding and decoding methods and apparatuses using plural mapping tables
EP2007147B1 (en) Method and system for context-based adaptive binary arithmetic coding
KR101622450B1 (ko) 변환을 이용하는 비디오 인코딩 및 디코딩
CN101500163B (zh) 低数据传输量的编码器与解码器及其编码方法与解码方法
EP2904781B1 (en) Coding and decoding of transform-skipped blocks
CN102668558B (zh) 无线显示编码器架构
US8767823B2 (en) Method and apparatus for frame memory compression
KR20080067637A (ko) 독립 변수들에 대한 적응적 가변 길이 코드들
CN102124742A (zh) 精制深度图
CN105247863A (zh) 三维视频编码中简化的cabac编码方法
EP1352478B1 (en) Method and system for allocating convolutional encoded bits into symbols before modulation
CN102438145A (zh) 一种基于Huffman编码的图片无损压缩方法
CN100425066C (zh) 图像压缩的方法
CN102761735A (zh) 编码方法及装置、图像压缩方法及系统
EP3513558B1 (en) Guided transcoder for encoding and decoding quantized coefficients
CN101710990A (zh) 视频图像编码处理、解码处理方法和装置及编解码系统
Aaron et al. Wyner-Ziv coding of light fields for random access
CN107040780B (zh) 在图像压缩中的熵编码的方法与装置
CN107733562A (zh) 极化码的编解码方法及装置
WO1998052346A1 (en) Lossless image compression with tree coding
CN105791819B (zh) 一种图像的帧压缩方法、图像的解压缩方法及装置
CN103458244B (zh) 一种视频压缩方法及视频压缩器
US6876773B2 (en) Apparatus and method for coding binary image with improved efficiency
EP1841237B1 (en) Method and apparatus for video encoding
Hoon Son et al. An embedded compression algorithm integrated with Motion JPEG2000 system for reduction of off-chip video memory bandwidth

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180306

Address after: 100086 Beijing city Huairou District Yanqi Yanqi Economic Development Zone South four Street No. 25 Building No. 3 hospital No. 307

Patentee after: Beijing Zhongke Micro Intellectual Property Service Co.,Ltd.

Address before: 100029 Beijing city Chaoyang District Beitucheng West Road No. 3

Patentee before: Institute of Microelectronics of the Chinese Academy of Sciences

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190929

Address after: 310000 B1, 11th Floor, 3911 Binsheng Road, Binjiang District, Hangzhou City, Zhejiang Province

Co-patentee after: Cao Ming

Patentee after: I-LAND TECHNOLOGY CO.,LTD.

Co-patentee after: Zhang Ping

Co-patentee after: He Junqiang

Co-patentee after: Xiang Bin

Co-patentee after: Guo Shikai

Co-patentee after: Guo Yulong

Co-patentee after: Mao Jinyang

Co-patentee after: Chen Weizhong

Co-patentee after: Li Hong

Address before: 100086 Beijing city Huairou District Yanqi Yanqi Economic Development Zone South four Street No. 25 Building No. 3 hospital No. 307

Patentee before: Beijing Zhongke Micro Intellectual Property Service Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191114

Address after: 310000 B1, 11th Floor, 3911 Binsheng Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: I-LAND TECHNOLOGY CO.,LTD.

Address before: 310000 B1, 11th Floor, 3911 Binsheng Road, Binjiang District, Hangzhou City, Zhejiang Province

Co-patentee before: Cao Ming

Patentee before: I-LAND TECHNOLOGY CO.,LTD.

Co-patentee before: Zhang Ping

Co-patentee before: He Junqiang

Co-patentee before: Xiang Bin

Co-patentee before: Guo Shikai

Co-patentee before: Guo Yulong

Co-patentee before: Mao Jinyang

Co-patentee before: Chen Weizhong

Co-patentee before: Li Hong