CN102801981B - 一种基于jpeg-ls算法的多路压缩内核并行编码的控制方法 - Google Patents
一种基于jpeg-ls算法的多路压缩内核并行编码的控制方法 Download PDFInfo
- Publication number
- CN102801981B CN102801981B CN201210315057.1A CN201210315057A CN102801981B CN 102801981 B CN102801981 B CN 102801981B CN 201210315057 A CN201210315057 A CN 201210315057A CN 102801981 B CN102801981 B CN 102801981B
- Authority
- CN
- China
- Prior art keywords
- jpeg
- pixel
- kernel
- subgraph
- source images
- 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
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种基于JPEG-LS算法的多路压缩内核并行编码的控制方法,该方法采用基于JPEG-LS标准算法实现的压缩内核,形成一种N路压缩内核并行编码的控制方法来完成图像压缩:(1)将源图像分为N个R行和C列的子图像;(2)适时地完成初始化N路JPEG-LS压缩内核的相关参数,并准备编码;(3)通过写控制和读控制N个Ix_FIFO,随机启动N路JPEG-LS压缩内核,能够不间断对源图像进行编码;(4)由该控制方法实现的并行编码系统对源图像进行编码,其处理效果几乎相当于用一个基于JPEG-LS标准算法实现的压缩内核完成对源图像的编码,但是吞吐率和处理速度几乎提高了N倍。
Description
技术领域
本发明涉及一种基于JPEG-LS算法的的并行压缩控制方法,属于图像压缩技术领域。
背景技术
随着科学技术的发展,在图像处理领域中,需要处理的数据量越来越大,提高图像处理的速度成为一个巨大的挑战;如何用最少的时间开销和最小的空间开销来完成图像传输的处理,是该领域的关键点。
通过采用高压缩比的图像压缩算法,或者采用并行压缩方案均可以提高处理速度。当采用高压缩比的图像压缩算法时,现有算法的失真度往往不能满足遥感图像的特殊性要求;目前,遥感图像的压缩算法优选无损、近无损压缩,JPEG-LS算法就是其中之一。与此同时,随着高性能并行处理系统的发展,开发图像并行处理技术,可以为提高图像处理速度提供更广阔的发展空间。
JPEG-LS是联合图像专家组制定的一种图像无损、近无损压缩的国际标准,将其应用到遥感图像的无损、近无损压缩取得了良好的效果,十分适合于遥感图像压缩;其核心算法是采纳自HP(惠普)实验室提供的LOCO-I压缩方案,主要使用了预测误差Golomb熵编码和游长长度编码等技术。
其中,JPEG-LS标准算法中规定了Near、Range、qbpp、LIMIT、T1、T2、T3等相关参数,Near表示点像素误差,Range表示ErrVal编码时钳位值(ErrVal是编码过程产生的变量),qbpp=ceiling(log2Range),LIMIT表示限制输出码流大小,T1、T2、T3表示梯度量化的阈值。
其中,JPEG-LS压缩内核的编码过程分为两种模式进行,正常模式编码和游长模式编码。编码过程中,通过因果模板进行模式选择。当模式切换进入正常编码模式,仅仅对该像素样点做完映射误差编码后,即已做完正常编码模式后跳出该模式,进入循环,重新计算梯度,并且选择编码模式。当模式切换进入游长编码模式,对后续像素样点的扫描编码不再按照先计算梯度矢量,然后判断是否进入平坦区域,而是判断待编码像素Ix与其左边邻域像素的重建值Ra的差值与Near的关系;如果差值≤Near,则继续进行游长编码模式并对当前像素编码;如果差值>Near,则做完游长长度编码后跳出游长模式。
总之,可以通过研究基于JPEG-LS图像压缩算法的并行处理方案,以提高图像压缩的处理速度,同时也可以满足遥感图像的特殊性要求。
发明内容
本发明的技术解决问题是:克服现有技术的不足,针对JPEG-LS图像压缩标准实现时,吞吐率和处理速度不能满足实时需求,本发明提出了一种基于JPEG-LS标准算法的多路压缩内核的并行编码的控制方法,在现有基础上快速方便地完成对图像压缩高吞吐率的需求,该控制方法能够实现高速高效遥感图像压缩,具有非常好的系统扩展性。其硬件实现简单,控制有效,FPGA资源有效利用率较高,系统吞吐率和压缩处理速度几乎提高了N倍,为后续使用JPEG-LS算法提供了优势,在未来的图像压缩领域具有广阔的应用前景。
本发明的技术方案如下:一种基于JPEG-LS算法的多路压缩内核并行编码的控制方法,实现步骤如下:
第一步:将图像源送来的源图像按照同样的大小进行子图像划分,并按源图像中各个像素的排列顺序,依次送出各个像素。即接收行长为H的源图像,将源图像分为N个R行和C列的子图像,并在子图像划分后,按源图像中各个像素的排列顺序,先送出每行的第一个像素,再送出每行的第二个像素,直到送出每行的最后一个像素,一直按照这样的顺序,一行接着一行送出像素至第二步;每个子图像对应一个存储深度不小于D的FIFO:Ix_FIFO和一个JPEG-LS压缩内核;其中H=N*C,D=C;C为所选取的子图像的列,C在编码源图像的过程中为固定常数,C一般选取整数且
第二步:初始化N路JPEG-LS压缩内核的相关参数,所述相关参数为Near、Range、qbpp、LIMIT、T1、T2、T3等,这些参数主要用来初始化压缩内核,在N路压缩内核启动之前需要完成。如果首次编码源图像,需要在源图像帧起始之前已初始化N路JPEG-LS压缩内核的相关参数;如果首次之后编码源图像,需要根据第九步“一帧源图像编码结束”的反馈信号来初始化N路JPEG-LS压缩内核;保证每一个子图像编码前完成初始化对应的JPEG-LS压缩内核的相关参数;
第三步:接收子图像划分后的源图像,判断接收的当前像素属于的哪一个子图像,同时将接收的当前像素写入与该子图像对应的Ix_FIFO中;
第四步:判断接收的当前像素是否属于该子图像的第一个像素,如果不满足则进入第五步,如果满足则跳到第六步;
第五步:根据“像素编码结束”的反馈信号,判断该子图像对应的JPEG-LS压缩内核的上一次的像素编码是否结束,如果满足则进入第六步,如果不满足则等待;
第六步:读取该子图像对应的Ix_FIFO,将读出像素送给对应的JPEG-LS压缩内核,该读出像素刚好是对应的JPEG-LS压缩内核上一次编码结束后需要编码的下一个像素;
第七步:启动该子图像对应的JPEG-LS压缩内核,对第六步的读出像素进行编码,即每一个JPEG-LS压缩内核在完成读出像素的编码后,对应子图像的下一个像素刚好被从Ix_FIFO中读出,对应的JPEG-LS压缩内核不间断地对该子图像编码;通过写控制和读控制N个Ix_FIFO,能够满足不间断地读取图像划分后的源图像,同时能够随机启动对应的JPEG-LS压缩内核,完成不间断地对源图像编码;
第八步:判断该子图像被编码的像素是否完成对应的JPEG-LS压缩内核的编码,满足则表明该像素的编码结束,并送出“像素编码结束”的反馈信号,进入第九步,不满足则等待;
第九步:判断一帧源图像编码结束是否结束,满足则送出“一帧源图像编码结束”的反馈信号到第二步,不满足等待;一帧源图像即N个子图像,也就是N*R*C个像素,通过统计被编码的像素个数,判断一帧源图像编码是否结束。
本发明与现有技术相比有益效果为:
(1)本发明针对JPEG-LS图像压缩标准吞吐率和处理速度不能满足实时需求,提出了一种基于JPEG-LS标准算法的多路压缩内核的并行编码的控制方法,通过基于JPEG-LS标准算法的编码内核,形成一种多路内核并行编码的控制,能够实现高速高效遥感图像压缩;同时,在现有基础上快速方便地完成对图像压缩高吞吐率的需求;该方案具有非常好的系统扩展性,为后续使用JPEG-LS算法提供了优势。
(2)本发明中提出了通过N路JPEG-LS压缩内核不间断并行编码源图像的问题,其对已有的基于JPEG-LS的单路压缩内核不做修改或修改很少,保证N个子图像编码开始前已初始化完成N路JPEG-LS压缩内核的相关参数,N路JPEG-LS压缩内核不间断完成对源图像的编码,编码的效果几乎相当于用一个JPEG-LS标准内核完成源图像的编码,但是吞吐率和处理速度几乎提高了N倍。解决了源图像的输入吞吐率高与JPEG-LS标准算法实现图像压缩处理速度有限之间的矛盾,快速实时地完成图像压缩。
(3)本发明中对图像源送来的源图像进行子图像划分的问题,通过简单有效的子图像划分方法,将源图像按照同样的大小进行子图像划分,使得每个子图像对应一个存储深度不小于D的FIFO:Ix_FIFO,和一个JPEG-LS压缩内核;子图像R*C的大小满足将极大的保留JPEG-LS的压缩性能,因为JPEG-LS的编码性能对幅宽C更敏感。
(4)本发明提出了Ix_FIFO存储深度大小的问题,需要设置为Ix_FIFO的存储深度D不小于子图像列宽C。这是考虑JPEG-LS压缩内核的工作过程中存在着两种极端工作模式:(1)子图像的整行数据均进行正常模式编码,需保证Ix_FIFO不溢出;(2)子图像的整行数据均进行游长模式编码,需保证Ix_FIFO不读空。这是由以下三步来保证的:第一步中C选取整数且且D=C,第三步Ix_FIFO的写过程能够保证其不溢出,第六步Ix_FIFO的读过程能够保证Ix_FIFO不读空,保证不间断的地源图像进行编码。
(5)本发明中提出了写控制和读控制Ix_FIFO策略的问题,被编码的子图像的像素通过这种写控制和读控制Ix_FIFO,不但保证每个JPEG-LS压缩内核在完成读出像素的编码后,立刻对子图像的下一个像素不间断地进行编码,从而也就不间断地对源图像进行编码;而且保证当一个JPEG-LS压缩内核在完成当前像素编码过程中,源图像的下一个像素可以被接收,从而不丢失该像素。
附图说明
图1是子图像划分方式示意图;
图2是本发明处理流程图;
图3是应用本发明的一个子图像划分方式示意图;
图4是应用本发明的一个控制器硬件实现框图;
图5是应用本发明的一个八路JPEG-LS压缩内核并行编码硬件实现框图。
具体实施方式
以下结合附图和具体实现示例来说明本发明一种基于JPEG-LS算法的多路压缩内核并行编码的控制方法的具体实现:
图1是本发明子图像划分方式示意图,介绍如何将图像源送来的源图像按照同样的大小进行子图像划分。其中H为的源图像的行长,N表示将源图像分为N个子图像,R和C表示划分后子图像的行参数和列参数,且
图2是本发明处理流程图,介绍多路压缩内核并行编码的控制方法的实现过程,具体可以参考权利要求书1的步骤说明。
图3是应用本发明的一个子图像划分方式示意图;其中H=4096,R=64,C=512,D=512;即将行长4096,共64行数据作为一帧遥感原始图像数据,针对4096*64大小的10bit图像进行相应操作,经过SRAM的缓存进行操作,数据重新排列输出,即按照分割成8路512*64子图像被从SRAM中顺序读取出来。
图4是应用本发明的一个控制器硬件实现框图,下面结合该框图,以图2流程图及图3所示子图像划分方式进行源图像编码为例,详细介绍本发明控制方法的具体实现,其实现步骤如下:
第一步:图像缓存和分块模块:接收图像源送来的源图像、同步信号等,将送来数据作为SRAM的写数据(SRAM的写数据高位补0);通过状态机控制,将数据乒乓写入到SRAM中,完成图像缓存;并兵乓读取SRAM,读出的像素即为满足分块要求的按顺序输出的源图像的像素;两个SRAM可以通过FPGA来读写。
第二步:初始化参数模块:接收数据压缩率控制信号,当“一帧源图像编码结束”的反馈信号有效时,完成初始化8路JPEG-LS压缩内核的相关参数:Near、Range、qbpp、LIMIT、T1、T2、T3等,为8路压缩内核启动做好准备。
第三步:通过Ix_FIFO读写控制模块,接收子图像划分后的源图像,判断接收的当前像素属于的哪一个子图像,同时将接收的当前像素写入与该子图像对应的Ix_FIFO中;
第四步:通过Ix_FIFO读写控制模块,判断接收的当前像素是否属于该子图像的第一个像素,如果不满足则进入第五步,如果满足则跳到第六步;
第五步:通过Ix_FIFO读写控制模块,接收“像素编码结束”信号,“像素编码结束”信号是该子图像对应的JPEG-LS压缩内核的上一次的像素编码是否结束的标志,是该压缩内核的反馈信号;如果“像素编码结束”满足则进入第六步,如果不满足则等待;
第六步:通过Ix_FIFO读写控制模块,读取该子图像对应的Ix_FIFO,将读出像素送给对应的JPEG-LS压缩内核,该读出像素刚好是对应的JPEG-LS压缩内核上一次编码结束后需要编码的下一个像素;
第七步:判断Ix_FIFO组模块中的8位Ix_FIFO_en信号,每个内核通过Ix_FIFO_en的对应的其中一位来使能,启动该子图像对应的JPEG-LS压缩内核,对第六步的读出像素进行编码,即每一个JPEG-LS压缩内核在完成读出像素的编码后,对应子图像的下一个像素刚好被从Ix_FIFO中读出,对应的JPEG-LS压缩内核不间断地对该子图像编码;通过写控制和读控制N个Ix_FIFO,能够满足不间断地读取图像划分后的源图像,同时能够随机启动对应的JPEG-LS压缩内核,完成不间断地对源图像编码;
第八步:判断该子图像被编码的像素是否完成对应的JPEG-LS压缩内核的编码,满足则表明该像素的编码结束,并送出“像素编码结束”的反馈信号,进入第九步,不满足则等待;
第九步:通过Ix_FIFO读写控制模块,判断一帧源图像编码结束是否结束,满足则送出“一帧源图像编码结束”的反馈信号到第二步,不满足等待;一帧源图像即8个子图像,也就是8*64*512个像素,通过统计被编码的像素个数,判断一帧源图像编码是否结束。
图5是应用本发明的一个八路JPEG-LS压缩内核并行编码硬件实现框图。其中“相机检测模块”完成相机的源图像数据校验检测和全局复位;其中“八路JPEG-LS压缩内核并行编码的控制器”即为图4中的“一个控制器硬件实现框图”,结合图3所示子图像划分方式进行源图像编码的处理过程与图4所示的硬件实现步骤基本一致;“码流处理模块”完成八路压缩码流的处理,是后续解码的输入文件。
本发明的具体实施方式以遥感图像JPEG-LS的并行压缩为例,但本发明的使用范围并不局限于遥感图像领域。
本发明未详细说明部分属本领域技术人员公知常识。
Claims (1)
1.一种基于JPEG-LS算法的多路压缩内核并行编码的控制方法,其特征在于步骤如下:
第一步:接收行长为H的源图像,将源图像分为N个R行和C列的子图像,并在子图像划分后,按源图像中各个像素的排列顺序,先送出每行的第一个像素,再送出每行的第二个像素,直到送出每行的最后一个像素,一直按照这样的顺序,一行接着一行送出像素至第二步;每个子图像对应一个存储深度不小于D的FIFO:Ix_FIFO和一个JPEG-LS压缩内核;其中H=N*C,D=C;C为所选取的子图像的列,C在编码源图像的过程中为固定常数,C选取整数且
第二步:初始化N路JPEG-LS压缩内核的相关参数,所述相关参数为Near、Range、qbpp、LIMIT、T1、T2、T3,这些参数用来初始化压缩内核,在N路压缩内核启动之前需要完成;如果首次编码源图像,需要在源图像帧起始之前已初始化N路JPEG-LS压缩内核的相关参数;如果首次之后编码源图像,需要根据第九步“一帧源图像编码结束”的反馈信号来初始化N路JPEG-LS压缩内核;保证每一个子图像编码前完成初始化对应的JPEG-LS压缩内核的相关参数;Near表示点像素误差,Range表示ErrVaI编码时钳位值,qbpp=ceiling(log2Range),LIMIT表示限制输出码流大小,T1、T2、T3表示梯度量化的阈值;
第三步:接收子图像划分后的源图像,判断接收的当前像素属于的哪一个子图像,同时将接收的当前像素写入与该子图像对应的Ix_FIFO中;
第四步:判断接收的当前像素是否属于该子图像的第一个像素,如果不属于则进入第五步,如果属于则跳到第六步;
第五步:根据“像素编码结束”的反馈信号,判断该子图像对应的JPEG-LS压缩内核的上一次的像素编码是否结束,如果结束则进入第六步,如果未结束则等待;
第六步:读取该子图像对应的Ix_FIFO,将读出像素送给对应的JPEG-LS压缩内核,该读出像素刚好是对应的JPEG-LS压缩内核上一次编码结束后需要编码的下一个像素;
第七步:启动该子图像对应的JPEG-LS压缩内核,对第六步的读出像素进行编码,即每一个JPEG-LS压缩内核在完成读出像素的编码后,对应子图像的下一个像素刚好被从Ix_FIFO中读出,对应的JPEG-LS压缩内核不间断地对该子图像编码;通过写控制和读控制N个Ix_FIFO,能够满足不间断地读取图像划分后的源图像,同时能够随机启动对应的JPEG-LS压缩内核,完成不间断地对源图像编码;
第八步:判断该子图像被编码的像素是否完成对应的JPEG-LS压缩内核的编码,如果完成则表明该像素的编码结束,并送出“像素编码结束”的反馈信号,进入第九步,如果未完成则等待;
第九步:判断一帧源图像编码结束是否结束,如果结束则送出“一帧源图像编码结束”的反馈信号到第二步,如果未结束等待;一帧源图像即N个子图像,也就是N*R*C个像素,通过统计被编码的像素个数,判断一帧源图像编码是否结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210315057.1A CN102801981B (zh) | 2012-08-30 | 2012-08-30 | 一种基于jpeg-ls算法的多路压缩内核并行编码的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210315057.1A CN102801981B (zh) | 2012-08-30 | 2012-08-30 | 一种基于jpeg-ls算法的多路压缩内核并行编码的控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102801981A CN102801981A (zh) | 2012-11-28 |
CN102801981B true CN102801981B (zh) | 2015-04-22 |
Family
ID=47200936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210315057.1A Active CN102801981B (zh) | 2012-08-30 | 2012-08-30 | 一种基于jpeg-ls算法的多路压缩内核并行编码的控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102801981B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150049099A1 (en) | 2013-08-13 | 2015-02-19 | Mediatek Inc. | Data processing apparatus for transmitting/receiving compressed pixel data groups of picture over display interface and related data processing method |
CN105828070B (zh) * | 2016-03-23 | 2016-12-28 | 华中科技大学 | 防误码扩散的jpeg‑ls图像无损/近无损压缩算法硬件实现方法 |
CN107295338B (zh) * | 2016-04-12 | 2020-09-04 | 上海兆芯集成电路有限公司 | 基于无损联合图像专家小组格式的图像压缩与解压缩方法 |
CN107094257B (zh) * | 2017-05-14 | 2018-02-27 | 华中科技大学 | 一种对卫星图像数据实时解压缩的系统 |
CN115022628B (zh) * | 2022-08-04 | 2022-12-13 | 之江实验室 | 基于jpeg-ls的高吞吐率无损图像压缩方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088602A (zh) * | 2010-12-22 | 2011-06-08 | 西安空间无线电技术研究所 | 一种jpeg-ls图像压缩的码率控制方法 |
CN102547281A (zh) * | 2011-12-29 | 2012-07-04 | 沈阳聚德视频技术有限公司 | 基于dsp的jpeg图像压缩并行控制方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7693339B2 (en) * | 2003-12-17 | 2010-04-06 | Andreas Wittenstein | Method and apparatus for faster-than-real-time lossless compression and decompression of images |
JP2010244316A (ja) * | 2009-04-07 | 2010-10-28 | Sony Corp | 符号化装置および方法、並びに、復号装置および方法 |
-
2012
- 2012-08-30 CN CN201210315057.1A patent/CN102801981B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088602A (zh) * | 2010-12-22 | 2011-06-08 | 西安空间无线电技术研究所 | 一种jpeg-ls图像压缩的码率控制方法 |
CN102547281A (zh) * | 2011-12-29 | 2012-07-04 | 沈阳聚德视频技术有限公司 | 基于dsp的jpeg图像压缩并行控制方法 |
Non-Patent Citations (2)
Title |
---|
基于JPEG-LS帧间扩展的图像无损压缩算法;徐盛等;《计算机与数字工程》;20060320(第03期);全文 * |
基于像素纹理分类的图像预测编码方法;徐燕凌等;《计算机工程与应用》;20080221(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN102801981A (zh) | 2012-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11216985B2 (en) | Point cloud attribute compression method based on deleting 0 elements in quantisation matrix | |
CN102801981B (zh) | 一种基于jpeg-ls算法的多路压缩内核并行编码的控制方法 | |
CN105120293B (zh) | 基于cpu和gpu的图像协同解码方法及装置 | |
CN102630011A (zh) | 一种视频传感器网络中的压缩感知编解码方法及系统 | |
CN110691250B (zh) | 结合块匹配和串匹配的图像压缩装置 | |
US20140086309A1 (en) | Method and device for encoding and decoding an image | |
CN102158694B (zh) | 一种基于gpu的遥感图像解压缩方法 | |
CN110728725B (zh) | 一种硬件友好的面向实时系统无损纹理压缩方法 | |
CN106454354B (zh) | 一种avs2并行编码处理系统及方法 | |
CN101883284B (zh) | 基于背景建模和可选差分模式的视频编/解码方法及系统 | |
CN103905819B (zh) | 基于多级树集合分裂编码的系统及其实现方法 | |
KR102227660B1 (ko) | 신호 변환 방법 및 디바이스 | |
CN101860753B (zh) | 一种基于分形的视频压缩与解压缩方法 | |
CN114501029B (zh) | 图像编码、图像解码方法、装置、计算机设备和存储介质 | |
CN101944972B (zh) | 编解码方法、装置以及通信系统 | |
CN104902207A (zh) | 一种高速信号采集方法 | |
CN209486658U (zh) | Qc-ldpc解码器及存储设备 | |
CN104053011B (zh) | 应用于jpeg2000解码器中的二维离散小波逆变换器 | |
CN102547281A (zh) | 基于dsp的jpeg图像压缩并行控制方法 | |
CN104954749A (zh) | 一种信息记录方法 | |
CN104883573A (zh) | 一种信号高效处理方法 | |
CN104270643A (zh) | 基于single-port SRAM的转置矩阵的地址映射算法 | |
CN114222136B (zh) | 运动补偿的处理方法、编码器、解码器以及存储介质 | |
CN103327340A (zh) | 一种整数搜索方法及装置 | |
CN111131836A (zh) | 一种基于fpga的jpeg2000编码并行运算方法 |
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 |