CN104038765A - 面向硬件实现的快速高效无损图像压缩方法 - Google Patents

面向硬件实现的快速高效无损图像压缩方法 Download PDF

Info

Publication number
CN104038765A
CN104038765A CN201410298885.8A CN201410298885A CN104038765A CN 104038765 A CN104038765 A CN 104038765A CN 201410298885 A CN201410298885 A CN 201410298885A CN 104038765 A CN104038765 A CN 104038765A
Authority
CN
China
Prior art keywords
coding
value
pixel
forecast interval
difference
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.)
Pending
Application number
CN201410298885.8A
Other languages
English (en)
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.)
Tianjin University
Original Assignee
Tianjin 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 Tianjin University filed Critical Tianjin University
Priority to CN201410298885.8A priority Critical patent/CN104038765A/zh
Publication of CN104038765A publication Critical patent/CN104038765A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及微电子学的集成电路设计领域和数字图像编码压缩领域,为提供一种面向硬件实现的快速高效无损图像压缩方法。与传统的FELICS算法相比,能够简化Golomn-Rice编码中k参数的选取过程,减小所需存储器的大小并缩短计算周期,提高图像压缩系统的效率。为此,本发明采取的技术方案是,面向硬件实现的快速高效无损图像压缩方法,包括如下步骤:编码一帧图像,采用标准的FELICS算法不进行任何编码直接输出前2个像素,然后按照光栅扫描顺序依次对像素进行编码。本发明主要应用于成电路设计。

Description

面向硬件实现的快速高效无损图像压缩方法
技术领域
本发明涉及微电子学的集成电路设计领域和数字图像编码压缩领域,尤其涉及一种面向硬件实现的快速高效无损图像压缩方法。
技术背景
数字图像传感器广泛应用在各种视频应用领域,由于图像的数据量很大,所以在图像传输前要对图像进行有损或无损压缩,有损压缩一般应用在对图像质量要求不高的应用领域,但是医学图像等一些高端应用领域要求图像必须采用无损压缩。快速高效无损图像压缩系统(fast and efficient lossless image compression system,FELICS)是一个快速高效的无损图像压缩算法,比工作在无损模式下的JPEG(Joint Photographic Experts Group)算法快5倍,且能够达到相同的压缩比,同时快速高效无损图像压缩系统算法复杂度低,因此非常适合应用于医疗内窥镜系统。但是算法中哥伦布·莱斯(Golomb-Rice)编码的k参数选取需要一块大容量的存储器,更新存储器的过程更是消耗大量功耗与时钟周期,对面积和功耗提出了很大的要求并且限制了系统的吞吐率。
发明内容
为了克服现有技术的不足,提供一种面向硬件实现的快速高效无损图像压缩方法。与传统的FELICS算法相比,能够简化Golomn-Rice编码中k参数的选取过程,减小所需存储器的大小并缩短计算周期,提高图像压缩系统的效率。为此,本发明采取的技术方案是,面向硬件实现的快速高效无损图像压缩方法,包括如下步骤:编码一帧图像,采用标准的FELICS算法不进行任何编码直接输出前2个像素,然后按照光栅扫描顺序依次对像素进行编码,具体编码步骤如下:
1)选取当前像素P和2个相邻像素N1、N2,N1与N2已知,且已编码,为P提供相关信息;其中按照当前像素P点的位置分为四种情况对相邻像素进行选取:若P点为第一行的前两个像素,则不对P进行编码,直接输出;若P为第一行的其余像素,则选取左边两个像素值作为参考值;若P为第一列而非第一行的像素,则选取P上方和右上方两个像素作为参考值;若P在上述三种情况以外的位置则选取P左侧和上方两个像素作为参考值;
2)计算预测区间下界L=min{N1,N2},上界H=max{N1,N2},预测上下文Δ=H-L;其中L为两个参考像素值中较小者,H为较大者,Δ为较大者与较小者的差值,即预测区间;
3)如果L≤P≤H,像素P落在预测区间[L,H],编码1bit的0并置于该像素输出编码的最高位,表示像素P落在预测区间内,然后对P-L在[0,Δ]内进行修正的二元编码;如果L>P,则像素P低于预测区间,编码1bit的1,表示像素P落在预测区间外,再用1bit的0表示低于预测区间,并将‘10’置于输出编码的最高位,然后计算出P点与预测区间边界的差值D=L-P-1,对该差值D进行Golomb-Rice编码;如果P>H,则像素P处于高于预测区间,编码1bit的1,表示像素P落在预测区间外,再用1bit的 1表示高于预测区间,并将‘11’置于输出编码的最高位;然后计算出P点与预测区间边界的差值D,D=P-H-1,对该差值D进行Golomb-Rice编码;
当像素值落在预测区间外时将采用Golomb-Rice编码,在开始一帧图像处理前建立一个编码累加表C[Δ][k],其中Δ取值范围同像素值的变化范围,k取值范围为0至像素位深度;每次Golomb-Rice codes编码时,根据Δ0=H-L确定k,即选取最小的k0,使
C[Δ0][k0]≤C[Δ0][k],k=0,1,..., (1)
对于每一个预测上下文的Δ,编码累加表C[Δ][k]记录了使用每一个可能的k值(0,1,…)时Golomb-Rice编码的编码总长度,同时使用令编码总长度最小的k值进行下一次编码;
参数k确定后,对D/2k进行一元编码;后对差值D剩余的低k位进行二元编码
最后要更新编码累加表:
C[Δ0][k]=C[Δ0][k]+D/2k+k+1,k=0,1,...,7 (2)
观察FELICS的编码过程,编、解码器要在Golomb-Rice编码下对Δ(0~255),在k(0~像素位深度)下累计编码位,从而需要256×8W bits的存储空间,W表示编码累加值的位宽。更新编码累加表的过程也要消耗额外的操作周期。
其中修正的二元编码就是将落在预测区间的像素点进行变长编码,即对出现频率较高的值赋予较短的码值,对出现频率较低的值赋予较长的码值。
参数k的确定基于预测误差绝对值的期望,使用误差的平均值来代替期望值,为每一个可能出现的Δ值(0~255)设置2个变量N和A,其中N表示到目前为止该Δ值下出现的误差的个数,A表示到目前为止误差绝对值的累计值,每一个Δ值只需要两个量就可以完成记录,因此存储空间由256×8W bits下降为256×2W bits。k参数满足k=min{k'|2k'N≥A},即最小的k值使2kN≥A成立;N为到目前为止Δ值相同的像素数目,A为其误差累计;k参数的选取简化为计算A与N的最高非零位的差值,如果N通过左移使之最高非零位与A对齐,且值不小于A,则k参数为A与N的最高非零位的差值,否则为A与N的最高非零位的差值加1。
将原始图像适当分块,来利用像素的局部特性,经过理论分析在硬件消耗和速度之间进行折中以确定最佳的分块大小。
本发明的技术特点与效果:
本发明中,不必计算出可使编码长度达到最小的k值,而是用其期望来代替。首先,将存储器大小由256×8W bits下降为256×2W bits;其次,免去了更新累加表所需的八个周期,只需要一个周期用累计值除以数量就可以得出k值的期望值。因此,本发明与标准的FELICS算法相比,消耗的硬件资源更少并且处理效率更快。
附图说明
图1为当P点位置不同时,其参考像素值选取的四种不同情况。
具体实施方式
编码一帧图像,标准的FELICS算法不进行任何编码直接输出前2个像素,然后按照光栅扫描顺序依次对像素进行编码,编码步骤如下:
1)选取当前像素P和2个相邻像素N1、N2。N1与N2已知,且已编码,为P提供相关信息。其中按照当前像素P点的位置分为四种情况对相邻像素进行选取:若P点为第一行的前两个像素,则不对P进行编码,直接输出;若P为第一行的其余像素,则选取左边两个像素值作为参考值;若P为第一列而非第一行的像素,则选取P上方和右上方两个像素作为参考值;若P在上述三种情况以外的位置则选取P左侧和上方两个像素作为参考值。参见图1。
2)计算预测区间下界L=min{N1,N2},上界H=max{N1,N2},预测上下文Δ=H-L。其中L为两个参考像素值中较小者,H为较大者,Δ为较大者与较小者的差值,即预测区间。
3)如果L≤P≤H,像素P落在预测区间[L,H],编码1bit的0并置于该像素输出编码的最高位,表示像素P落在预测区间内,然后对P-L在[0,Δ]内进行修正的二元编码;如果L>P,则像素P低于预测区间,编码1bit的1,表示像素P落在预测区间外,再用1bit的0表示低于预测区间,并将‘10’置于输出编码的最高位,然后计算出P点与预测区间边界的差值D=L-P-1,对该差值D进行Golomb-Rice编码。如果P>H,则像素P处于高于预测区间,编码1bit的1,表示像素P落在预测区间外,再用1bit的1表示高于预测区间,并将‘11’置于输出编码的最高位;然后计算出P点与预测区间边界的差值D,D=P-H-1,对该差值D进行Golomb-Rice编码。
其中修正的二元编码就是将落在预测区间的像素点进行变长编码,即对出现频率较高的值赋予较短的码值,对出现频率较低的值赋予较长的码值,由于本发明未对标准FELICS算法中修正的二元编码模块进行改动,故其工作原理不再赘述。
当像素值落在预测区间外时将采用Golomb-Rice编码,由于Golomb-Rice编码中k值的选取将会对最后的编码结果产生很大的影响。为了选取合适的k值,FELICS算法在开始一帧图像处理前建立一个编码累加表C[Δ][k],其中Δ取值范围同像素值的变化范围,k取值范围为0至像素位深度。对于像素位深度为8的图像,累加表为256×8的二维数组。每次Golomb-Rice codes编码时,根据Δ0=H-L确定k,即选取最小的k0,使
C[Δ0][k0]≤C[Δ0][k],k=0,1,...,7 (3)
对于每一个预测上下文的Δ,编码累加表C[Δ][k]记录了使用每一个可能的k值(0,1,…,7)时Golomb-Rice编码的编码总长度,同时使用令编码总长度最小的k值进行下一次编码。
参数k确定后,对D/2k进行一元编码;后对差值D剩余的低k位进行二元编码。
最后要更新编码累加表:
C[Δ0][k]=C[Δ0][k]+D/2k+k+1,k=0,1,...,7 (4)
观察FELICS的编码过程,编、解码器要在Golomb-Rice编码下对Δ(0~255),在k(0~7)下累计编码位,从而需要256×8W bits的存储空间,W表示编码累加值的位宽。更新编码累加表的过程也要消耗额外的操作周期。
本发明中参数k的确定基于预测误差绝对值的期望,但由于准确的计算量化误差绝对值的期望比较困难,故使用误差的平均值来代替期望值,为每一个可能出现的Δ值(0~255)设置2个变量N和A,其中N表示到目前为止该Δ值下出现的误差的个数,A表示到目前为止误差绝对值的累计值,每一个Δ值只需要两个量就可以完成记录,因此存储空间由256×8W bits下降为256×2W bits。k参数满足k=min{k'|2k'N≥A},即最小的k值使2kN≥A成立。在本设计中,N为到目前为止Δ值相同的像素数目,A为其误差累计。因此,k参数的选取简化为计算A与N的最高非零位的差值,如果N通过左移使之最高非零位与A对齐,且值不小于A,则k参数为A与N的最高非零位的差值,否则为A与N的最高非零位的差值加1。本方法用k值的期望来代替可使编码长度达到最小的k值,压缩比会略有减小,但是硬件复杂度得到了极大降低,更易于VLSI实现,并且无需像标准FELICS算法中那样消耗八个周期来更新累加表,只需一个周期就可以选出合适的k值。
另外,在该方法的基础之上,还可以将原始图像适当分块,来利用像素的局部特性,经过理论分析在硬件消耗和速度之间进行折中以确定最佳的分块大小。
为了更详细的说明本发明的工作过程,下面将以具体数值的例子来进一步说明。
在技术方案中曾提到为了兼顾硬件资源消耗和处理速度,可以对图像分块处理,经过分析得出当图像以64×64分块进行处理时其压缩性能和处理速度达到最优,因此选用这种分块方式进行图像压缩编码。
现假定当前处理的像素值为P=40,两个参考像素值分别为L=55,H=60。可以看出P<L,因此需要对P进行Golomn-Rice编码,首先用一个‘1’来表示P落在[L,H]之外,再用一个‘0’表示P<L。
接下来要确定好合适的k值,首先要计算出预测区间的值Δ=H-L=5,接下来查找到累加表中Δ=5的储存器,找到目前为止该Δ对应的N值和A值。假定N=5,A=20,那么就要计算出使k=min{k'|2k'N≥A}成立的k值,来本例子中,k=2。
确定好合适的k值之后就可以对预测差值D=L-P-1=55-40-1=14进行以k=2为基的Golomn-Rice编码,首先确定一进制的编码,即D/2k=14/4=3,因此一进制编码为‘111’,接下来对余数2进行二进制编码,因此二进制编码为‘10’。
接下来将一进制编码与二进制编码结合起来并在中间插入一个‘0’就完成了Golomn-Rice编码,编码结果为‘111010’。
最后将Golomn-Rice编码结果和表示P值位置的‘10’结合之后就是可以输出的码流,即‘10111010’。

Claims (4)

1.一种面向硬件实现的快速高效无损图像压缩方法,其特征是,包括如下步骤:编码一帧图像,采用标准的FELICS算法不进行任何编码直接输出前2个像素,然后按照光栅扫描顺序依次对像素进行编码,具体编码步骤如下:
1)选取当前像素P和2个相邻像素N1、N2,N1与N2已知,且已编码,为P提供相关信息;其中按照当前像素P点的位置分为四种情况对相邻像素进行选取:若P点为第一行的前两个像素,则不对P进行编码,直接输出;若P为第一行的其余像素,则选取左边两个像素值作为参考值;若P为第一列而非第一行的像素,则选取P上方和右上方两个像素作为参考值;若P在上述三种情况以外的位置则选取P左侧和上方两个像素作为参考值;
2)计算预测区间下界L=min{N1,N2},上界H=max{N1,N2},预测上下文Δ=H-L;其中L为两个参考像素值中较小者,H为较大者,Δ为较大者与较小者的差值,即预测区间;
3)如果L≤P≤H,像素P落在预测区间[L,H],编码1bit的0并置于该像素输出编码的最高位,表示像素P落在预测区间内,然后对P-L在[0,Δ]内进行修正的二元编码;如果L>P,则像素P低于预测区间,编码1bit的1,表示像素P落在预测区间外,再用1bit的0表示低于预测区间,并将‘10’置于输出编码的最高位,然后计算出P点与预测区间边界的差值D=L-P-1,对该差值D进行Golomb-Rice编码;如果P>H,则像素P处于高于预测区间,编码1bit的1,表示像素P落在预测区间外,再用1bit的1表示高于预测区间,并将‘11’置于输出编码的最高位;然后计算出P点与预测区间边界的差值D,D=P-H-1,对该差值D进行Golomb-Rice编码;
当像素值落在预测区间外时将采用Golomb-Rice编码,在开始一帧图像处理前建立一个编码累加表C[Δ][k],其中Δ取值范围同像素值的变化范围,k取值范围为0至像素位深度;每次Golomb-Rice codes编码时,根据Δ0=H-L确定k,即选取最小的k0,使
C[Δ0][k0]≤C[Δ0][k],k=0,1,..., (1)
对于每一个预测上下文的Δ,编码累加表C[Δ][k]记录了使用每一个可能的k值(0,1,…)时Golomb-Rice编码的编码总长度,同时使用令编码总长度最小的k值进行下一次编码;
参数k确定后,对D/2k进行一元编码;后对差值D剩余的低k位进行二元编码
最后要更新编码累加表:
C[Δ0][k]=C[Δ0][k]+D/2k+k+1,k=0,1,...,7 (2)
观察FELICS的编码过程,编、解码器要在Golomb-Rice编码下对Δ(0~255),在k(0~像素位深度)下累计编码位,从而需要256×8W bits的存储空间,W表示编码累加值的位宽。更新编码累加表的过程也要消耗额外的操作周期。
2.如权利要求1所述的面向硬件实现的快速高效无损图像压缩方法,其特征是,其中修正的二元编码就是将落在预测区间的像素点进行变长编码,即对出现频率较高的值赋予较短的码值,对出现频率较低的值赋予较长的码值。
3.如权利要求1所述的面向硬件实现的快速高效无损图像压缩方法,其特征是,参数k的确定基于预测误差绝对值的期望,使用误差的平均值来代替期望值,为每一个可能出现的Δ值(0~255)设置2个变量N和A,其中N表示到目前为止该Δ值下出现的误差的个数,A表示到目前为止误差绝对值的累计值,每一个Δ值只需要两个量就可以完成记录,因此存储空间由256×8W bits下降为256×2W bits。k参数满足k=min{k'|2k'N≥A},即最小的k值使2kN≥A成立;N为到目前为止Δ值相同的像素数目,A为其误差累计;k参数的选取简化为计算A与N的最高非零位的差值,如果N通过左移使之最高非零位与A对齐,且值不小于A,则k参数为A与N的最高非零位的差值,否则为A与N的最高非零位的差值加1。
4.如权利要求1所述的面向硬件实现的快速高效无损图像压缩方法,其特征是,将原始图像适当分块,来利用像素的局部特性,经过理论分析在硬件消耗和速度之间进行折中以确定最佳的分块大小。
CN201410298885.8A 2014-06-26 2014-06-26 面向硬件实现的快速高效无损图像压缩方法 Pending CN104038765A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410298885.8A CN104038765A (zh) 2014-06-26 2014-06-26 面向硬件实现的快速高效无损图像压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410298885.8A CN104038765A (zh) 2014-06-26 2014-06-26 面向硬件实现的快速高效无损图像压缩方法

Publications (1)

Publication Number Publication Date
CN104038765A true CN104038765A (zh) 2014-09-10

Family

ID=51469336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410298885.8A Pending CN104038765A (zh) 2014-06-26 2014-06-26 面向硬件实现的快速高效无损图像压缩方法

Country Status (1)

Country Link
CN (1) CN104038765A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105898334A (zh) * 2016-06-22 2016-08-24 合肥工业大学 一种应用于视频编解码的dc预测电路及其方法
CN105898305A (zh) * 2016-04-12 2016-08-24 上海兆芯集成电路有限公司 基于无损联合图像专家小组格式的图像压缩与解压缩方法
CN109379598A (zh) * 2018-09-12 2019-02-22 合肥埃科光电科技有限公司 一种基于fpga实现的图像无损压缩方法
CN110213589A (zh) * 2019-06-18 2019-09-06 合肥安杰特光电科技有限公司 一种高速图像的实时压缩编码方法
CN111885385A (zh) * 2019-05-02 2020-11-03 西克Ivp股份公司 关于实现数字图像的无损压缩的像素值编码方法及编码器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0772364A2 (en) * 1995-11-02 1997-05-07 Canon Kabushiki Kaisha Image processing apparatus and method
WO2006054286A2 (en) * 2004-11-18 2006-05-26 Given Imaging Ltd. In-vivo imaging device providing data compression
CN102761735A (zh) * 2011-04-25 2012-10-31 中国科学院微电子研究所 编码方法及装置、图像压缩方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0772364A2 (en) * 1995-11-02 1997-05-07 Canon Kabushiki Kaisha Image processing apparatus and method
WO2006054286A2 (en) * 2004-11-18 2006-05-26 Given Imaging Ltd. In-vivo imaging device providing data compression
CN102761735A (zh) * 2011-04-25 2012-10-31 中国科学院微电子研究所 编码方法及装置、图像压缩方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
崔振杰等: "内窥镜低功耗复杂度图像压缩算法的ASIC实现", 《中国科技核心期刊》 *
薛金勇等: "快速高效无损图像压缩系统的低功耗硬件实现", 《哈尔滨工程大学学报》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105898305A (zh) * 2016-04-12 2016-08-24 上海兆芯集成电路有限公司 基于无损联合图像专家小组格式的图像压缩与解压缩方法
CN105898305B (zh) * 2016-04-12 2019-02-15 上海兆芯集成电路有限公司 基于无损联合图像专家小组格式的图像压缩与解压缩方法
CN105898334A (zh) * 2016-06-22 2016-08-24 合肥工业大学 一种应用于视频编解码的dc预测电路及其方法
CN105898334B (zh) * 2016-06-22 2017-12-05 合肥工业大学 一种应用于视频编解码的dc预测电路及其方法
CN109379598A (zh) * 2018-09-12 2019-02-22 合肥埃科光电科技有限公司 一种基于fpga实现的图像无损压缩方法
CN109379598B (zh) * 2018-09-12 2021-11-19 合肥埃科光电科技有限公司 一种基于fpga实现的图像无损压缩方法
CN111885385A (zh) * 2019-05-02 2020-11-03 西克Ivp股份公司 关于实现数字图像的无损压缩的像素值编码方法及编码器
CN111885385B (zh) * 2019-05-02 2023-11-28 西克Ivp股份公司 关于实现数字图像的无损压缩的像素值编码方法及编码器
CN110213589A (zh) * 2019-06-18 2019-09-06 合肥安杰特光电科技有限公司 一种高速图像的实时压缩编码方法

Similar Documents

Publication Publication Date Title
US10499086B2 (en) Video data encoding and decoding methods and apparatuses
CA2831967C (en) Image compression using sub-resolution images
CN104038765A (zh) 面向硬件实现的快速高效无损图像压缩方法
US7365659B1 (en) Method of context adaptive binary arithmetic coding and coding apparatus using the same
US8144037B2 (en) Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems
CN102970531B (zh) Jpeg-ls近无损图像压缩编码器硬件实现方法
US8604951B2 (en) System and method for optimizing context-adaptive binary arithmetic coding
CN105812804B (zh) 一种确定rdoq过程中最优量化值的方法及装置
CN106797464A (zh) 用于视频编码和解码中的矢量编码的方法和装置
CN101061515A (zh) 表示时变图形模型的数据流的编码方案
RU2750644C2 (ru) Кодирование и декодирование положений спектральных пиков
US20220237454A1 (en) Linear neural reconstruction for deep neural network compression
CN103413287A (zh) 一种jpeg图片合成方法及装置
CN104202605A (zh) 一种通过降低分辨率预测高清图像编码单元cu的划分方式的方法及其实现装置
CN103581676A (zh) 视频编码变换系数的解码方法及装置
CN113573056A (zh) 一种率失真优化量化的方法、装置、存储介质及终端
CN102088607B (zh) 基于jpeg2000标准的mq编码方法和电路
CN102323541A (zh) 基于参考向量和位掩码的soc的测试方法
US20130163893A1 (en) Image processing device and image processing method
CN110035288A (zh) 对视频序列进行编码的方法、编码装置和存储介质
CN103152567A (zh) 一种任意阶数指数哥伦布编码器及其方法
US8861880B2 (en) Image processing device and image processing method
CN116615753A (zh) 利用分层调色板表生成而进行的调色板模式视频编码
CN102298782A (zh) 用于无损视频压缩的参数估计的系统、方法和计算机程序产品
CN111919445B (zh) 使用三角剖分的图像压缩和解压缩的系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140910