基于时间交织流水线架构的JPEG-LS压缩系统及方法技术方案

技术编号:19353669 阅读:39 留言:0更新日期:2018-11-07 18:03
本发明专利技术公开了一种基于时间交织流水线架构的JPEG‑LS压缩系统,它包括交织器和JPEG‑LS编码器,交织器用于对待压缩的图像数据进行交织处理,输出交织图像数据;JPEG‑LS编码器包括行缓存维护模块、因果模板维护模块、上下文建模和维护模块和残差编码模块,交织器的交织图像数据输出端分别连接缓存维护模块、因果模板维护模块和上下文建模和维护模块的交织图像数据输入端,行缓存维护模块的信号输出端连接因果模板维护模块的输入端,因果模板维护模块的输出端连接上下文建模和维护模块的输入端,上下文建模和维护模块的输出端连接残差编码模块的输入端;本发明专利技术能增加图像压缩时的数据吞吐速率。

【技术实现步骤摘要】
基于时间交织流水线架构的JPEG-LS压缩系统及方法
本专利技术涉及图像压缩
,具体地指一种基于时间交织流水线架构的JPEG-LS压缩系统及方法。
技术介绍
JPEG-LS算法是联合图像专家组(JointPhotographicExpertsGroup-lossless)制定的一种图像压缩标准,相比其它的压缩算法,JPEG-LS在无损和近无损压缩领域具有更高的压缩性能,且计算复杂度适中,在天文遥感、深空弹出、医学影像等领域应用广泛。JPEG-LS标准算法支持无损和近无损压缩模式,采用游程模式或常规模式对图像进行编码和解码,编码的主要步骤包括预测和编码;解码的主要步骤是预测和解码。在常规编码模式下,每一个像素点在进行预测时会用到上一个像素的重建值,而上一个像素的重建需要经过像素预测、残差计算等运算,在近无损模式还包含残差量化,需要用到除法运算。硬件实现计算延时大。通常我们通过硬件上实现RTL级(寄存器传输级)的流水线架构来解决计算路径的延时过大问题,从而来提高数据吞吐速度。然而每一个像素在进行上下文建模的时候会先读取上下文参数,然后更新上下文参数,也就是说在实现硬件流水线架构的时候必须要上一个像素的上下文更新完毕,下一个像素才能开始读取上下文,JPEG-LS的这种反馈机制使得整个编码过程难以流水线进行。目前的JPEG-LS标准压缩算法的实时的硬件实现大概有如下几种方式:1)将图像分块,多个编码核心并行编码。缺点是:1、耗费的硬件资源多。2、外围电路复杂,需要多个码流数据缓存区。3、调度复杂。2)修改算法,取消原标准算法中像素重建值的反馈环路,使得编码过程能够流水线实现。缺点是:压缩比性能下降。
技术实现思路
本专利技术的目的就是要提供一种基于时间交织流水线架构的JPEG-LS压缩系统及方法,该系统和方法能增加图像压缩时的数据吞吐速率。为实现此目的,本专利技术所设计的一种基于时间交织流水线架构的JPEG-LS压缩系统,包括交织器和JPEG-LS编码器,交织器用于对待压缩的图像数据进行交织处理,输出交织图像数据;JPEG-LS编码器包括行缓存维护模块、因果模板维护模块、上下文建模和维护模块和残差编码模块,行缓存维护模块的交织计数器用于记录当前时钟周期,交织图像的像素所在的交织图像子图像的编号,行缓存维护模块的子图像列计数器用于记录当前时钟周期,交织图像的像素所在的交织图像子图像的列坐标,行缓存维护模块每接收一个交织图像的像素,则将该像素存储到与记录的子图像编号和子图像列坐标对应的存储位置,行缓存维护模块读取被记录的子图像的编号的下一个编号对应的像素,该像素记为像素d0;因果模板维护模块用于根据交织图像和像素d0,利用JPEG-LS压缩算法对因果模板维护模块中与交织图像数据中子图像编号对应的多个因果模板寄存器进行数据更新和边界处理;上下文建模和维护模块包括与交织图像数据中子图像编号对应的多个上下文缓存,每个上下文缓存用于在每个时钟周期,读取与交织图像数据中子图像编号对应的因果模板寄存器数据,以及交织图像中对应子图像的当前像素,然后对当前像素和当前像素对应的上下文和因果模板利用JPEG-LS压缩算法进行上下文建模得到交织图像数据中每个子图像的当前像素值与上下文建模预测像素值的残差和一组新的上下文,用这组新的上下文更新对应的上下文缓存;残差编码模块用于对每个时钟周期接收的上述残差进行压缩编码。所述交织器包括行写入缓存模块、读行缓存模块,所述写入缓存模块用于以行排列的顺序依次写入每行待压缩的图像数据,该待压缩的图像数据有M行;读行缓存模块用于在读取待压缩的图像数据时,将M行待压缩的图像数据均等分为N副子图像数据,即待压缩的图像数据由M行N列的子图像数据组成,读行缓存模块还用于在读取待压缩的图像数据时按列顺序读取N列子图像数据,每列子图像数据读取时,按行顺序对该列数据中的每行数据进行读取,输出交织图像数据。一种基于时间交织流水线架构的JPEG-LS压缩方法,它包括如下步骤:步骤1:交织器对待压缩的图像数据进行交织处理,输出交织图像数据;步骤2:行缓存维护模块的交织计数器记录当前时钟周期,交织图像的像素所在的交织图像子图像的编号,行缓存维护模块的子图像列计数器记录当前时钟周期,交织图像的像素所在的交织图像子图像的列坐标,行缓存维护模块每接收一个交织图像的像素,则将该像素存储到与记录的子图像编号和子图像列坐标对应的存储位置,行缓存维护模块读取被记录的子图像的编号的下一个编号对应的像素,该像素记为像素d0;步骤3:因果模板维护模块用于根据交织图像和像素d0,利用JPEG-LS压缩算法对因果模板维护模块中与交织图像数据中子图像编号对应的多个因果模板寄存器进行数据更新和边界处理;步骤4:上下文建模和维护模块包括与交织图像数据中子图像编号对应的多个上下文缓存,每个上下文缓存用于在每个时钟周期,读取与交织图像数据中子图像编号对应的因果模板寄存器数据,以及交织图像中对应子图像的当前像素,然后对当前像素和当前像素对应的上下文和因果模板利用JPEG-LS压缩算法进行上下文建模得到交织图像数据中每个子图像的当前像素值与上下文建模预测像素值的残差和一组新的上下文,用这组新的上下文更新对应的上下文缓存;步骤5:残差编码模块用于对每个时钟周期接收的上述残差进行压缩编码。本专利技术设计了由写入缓存模块、奇数行缓存器、偶数行缓存器和读行缓存模块组成的交织器,以及由缓存维护模块、因果模板维护模块、上下文建模和维护模块和残差编码模块组成的JPEG-LS编码器,本专利技术将交织器和JPEG-LS编码器设计成了一个多通道交织编码的流水线架构,通过单个编码核心多通道交织编码来消除反馈环节引起的数据依赖问题,从而实现单个编码核心的流水线架构。本专利技术采用标准JPEG-LS算法的计算过程,保证了压缩性能。同时实现了单核心的流水线架构,在简化外围电路的同时,大大增加了数据吞吐速率。附图说明图1为本专利技术的结构示意图;图2为本专利技术中交织器的结构示意图;图3为本专利技术中JPEG-LS编码器的结构示意图;图4为本专利技术中图像分块示意图;图5为本专利技术中JPEG-LS交织编码流水线时序图;图6为本专利技术中上下文数据结构图;图7为本专利技术中交织器工作示意图。其中,1—交织器、1.1—行写入缓存模块、1.2—奇数行缓存器、1.3—读行缓存模块、1.4—偶数行缓存器、2—JPEG-LS编码器、2.1—行缓存维护模块、2.2—因果模板维护模块、2.3—上下文建模和维护模块、2.4—残差编码模块具体实施方式以下结合附图和具体实施例对本专利技术作进一步的详细说明:一种基于时间交织流水线架构的JPEG-LS压缩系统,如图1~7所示,它包括交织器1和JPEG-LS编码器2,交织器1用于对待压缩的图像数据进行交织处理,输出交织图像数据;JPEG-LS编码器2包括行缓存维护模块2.1、因果模板维护模块2.2、上下文建模和维护模块2.3和残差编码模块2.4,交织器1的交织图像数据输出端分别连接缓存维护模块2.1、因果模板维护模块2.2和上下文建模和维护模块2.3的交织图像数据输入端,行缓存维护模块2.1的信号输出端连接因果模板维护模块2.2的输入端,因果模板维护模块2.2的输出端连接上下文建模和维护模块2.3的输入本文档来自技高网
...

【技术保护点】
1.一种基于时间交织流水线架构的JPEG‑LS压缩系统,其特征在于,它包括交织器(1)、行缓存维护模块(2.1)、因果模板维护模块(2.2)、上下文建模和维护模块(2.3)和残差编码模块(2.4),交织器(1)输出交织图像数据,行缓存维护模块(2.1)的交织计数器用于记录当前时钟周期交织图像的像素所在的交织图像子图像的编号,行缓存维护模块(2.1)的子图像列计数器用于记录当前时钟周期交织图像的像素所在的交织图像子图像的列坐标,行缓存维护模块(2.1)每接收一个交织图像的像素,则将该像素存储到与记录的子图像编号和子图像列坐标对应的存储位置,行缓存维护模块(2.1)读取被记录的子图像的编号的下一个编号对应的像素d0;因果模板维护模块(2.2)用于根据交织图像和像素d0,利用JPEG‑LS压缩算法对与交织图像数据中子图像编号对应的多个因果模板寄存器进行数据更新和边界处理;上下文建模和维护模块(2.3)包括与交织图像数据中子图像编号对应的多个上下文缓存,每个上下文缓存用于在每个时钟周期,读取与交织图像数据中子图像编号对应的因果模板寄存器数据,以及交织图像中对应子图像的当前像素,然后对当前像素和当前像素对应的上下文及因果模板利用JPEG‑LS压缩算法进行上下文建模得到交织图像数据中每个子图像的当前像素值与上下文建模预测像素值的残差和一组新的上下文,用这组新的上下文更新对应的上下文缓存;残差编码模块(2.4)用于对每个时钟周期接收的上述残差进行压缩编码。...

【技术特征摘要】
1.一种基于时间交织流水线架构的JPEG-LS压缩系统,其特征在于,它包括交织器(1)、行缓存维护模块(2.1)、因果模板维护模块(2.2)、上下文建模和维护模块(2.3)和残差编码模块(2.4),交织器(1)输出交织图像数据,行缓存维护模块(2.1)的交织计数器用于记录当前时钟周期交织图像的像素所在的交织图像子图像的编号,行缓存维护模块(2.1)的子图像列计数器用于记录当前时钟周期交织图像的像素所在的交织图像子图像的列坐标,行缓存维护模块(2.1)每接收一个交织图像的像素,则将该像素存储到与记录的子图像编号和子图像列坐标对应的存储位置,行缓存维护模块(2.1)读取被记录的子图像的编号的下一个编号对应的像素d0;因果模板维护模块(2.2)用于根据交织图像和像素d0,利用JPEG-LS压缩算法对与交织图像数据中子图像编号对应的多个因果模板寄存器进行数据更新和边界处理;上下文建模和维护模块(2.3)包括与交织图像数据中子图像编号对应的多个上下文缓存,每个上下文缓存用于在每个时钟周期,读取与交织图像数据中子图像编号对应的因果模板寄存器数据,以及交织图像中对应子图像的当前像素,然后对当前像素和当前像素对应的上下文及因果模板利用JPEG-LS压缩算法进行上下文建模得到交织图像数据中每个子图像的当前像素值与上下文建模预测像素值的残差和一组新的上下文,用这组新的上下文更新对应的上下文缓存;残差编码模块(2.4)用于对每个时钟周期接收的上述残差进行压缩编码。2.根据权利要求1所述的基于时间交织流水线架构的JPEG-LS压缩系统,其特征在于:所述交织器(1)包括行写入缓存模块(1.1)、读行缓存模块(1.3),所述写入缓存模块(1.1)用于以行排列的顺序依次写入每行待压缩的图像数据,该待压缩的图像数据有M行;读行缓存模块(1.3)用于在读取待压缩的图像数据时,将M行待压缩的图像数据均等分为N副子图像数据,读行缓存模块(1.3)还用于在读取待压缩的图像数据时按列顺序读取N列子图像数据,每列子图像数据读取时,按行顺序对该列数据中的每行数据进行读取,输出交织图像数据。3.根据权利要求1所述的基于时间交织流水线架构的JPEG-LS压缩系统,其特征在于,交织器(1)还包括奇数行缓存器(1.2)和偶数行缓存器(1.4),所述奇数行缓存器(1.2)和偶数行缓存器(1.4)分别用于存储待压缩图像数据的奇数行数据和偶数行数据。4.根据权利要求3所述的基于时间交织流水线架构的JPEG-LS压缩系统,其特征在于:所述奇数行缓存器(1.2)和偶数行缓存器(1.4)用于通过乒乓操作的方式对待压缩的图像数据进行存储。5.根据权利要求1所述的基于时间交织流水线架构的JPEG-LS压缩系统,其特征在于:残差编码模块(2.4)用于对每个时钟周期接收的上述残差利用JPEG-LS压缩算法进行无符号化映射,并对无符号化映射的结果使用哥伦布编码算法进行压缩编码。6.一种基于时间交织...

【专利技术属性】
技术研发人员:梅林海
申请(专利权)人:武汉精测电子集团股份有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1