本发明涉及一种流水线化优化方法及装置,尤其是涉及一种jpegls上下文计算的流水线化优化方法及装置。
背景技术:
:jpeg-ls是一种针对连续色调静态图像的无损/近无损的压缩标准,iso-14495-1/itu-t.87。它的核心算法是loco-i(lowcomplexitylosslesscompressionforimages)。loco-i算法可以获得和目前的诸多基于算术编码的压缩算法相似甚至更好的压缩效率,同时又能保持较低的复杂度,广泛应用于数字相机、网络传输、无线通讯以及医学成像等领域。jpeg-ls编码框图如图1所示,包括了上下文建模,预测、正常模式编码、游长模式编码等几个步骤。在jpeg-ls标准中,编码模型基于所谓“上下文”的概念。在上下文建模时,对每一个采样值都要以其相邻的一小部分采样为条件。该建模过程用于决定一个对当前采样进行编码的概率分布。如图2是当前采样x及其相邻采样位置的关系示意图。根据在a、b、c和d采样的重建值,该上下文首先决定采样x的信息是否采用正常模式或游长模式进行编码。上下文建模需要对垂直方向和水平方向的边界进行检测。当对图像数据的第一行进行编码时,b、c、d不存在,这三个值设为0,在当前数据位于列头时,a、c不存在,当数据位于列尾时,d不存在,a、d取b得重建值b,c取上一行的a得重建值a。如图3所示,方框内为带编码的图像数据。传统方法a、d的取值需要在b值获取之后才能取得。在流水线设计中,当前像素的上下文会滞后一个时钟才能获取完整的模板。其流水线示意如图4所示:当对图像数据的第一行进行编码时,b、c、d不存在,这三个值设为0,在当前数据位于列头时,a、c不存在,当数据位于列尾时,d不存在,a、d取b得重建值b,c取上一行的a得重建值a。如图3所示,方框内为带编码的图像数据。以分辨率为m×n的图像为例,ix(1,1)表示图像第一行、第一列的像素值,ix(x,y)表示图像第x行、第y列像素值。prevrb表示上一行rb。当x=1时,rb=0;rc=0;rd=0;当y=1时,ra=prevrb;当y=n时,rd=prevrb;由以上分析可见,传统的上下文建模的模板取值需要缓存图像当前像素的上一行的值,以获取rb,在边界判断时,rc、ra的值要根据缓存的上一行的值rb来获得重建值。技术实现要素:本发明针对jpeg-ls标准中无损/近无损图像压缩编码中上下文建模进行了算法优化,在上下文建模时,以减少模板取值中计算存在的反馈环路,降低了上下文建模的计算复杂度,在对压缩率影响不大的情况下,有效的提高了编码器的流水线计算性能。。本发明的上述技术问题主要是通过下述技术方案得以解决的:一种jpegls上下文计算的流水线化优化方法,其特征在于,在第k个时钟周期,对图像的第k个像素及其相关的上下文模板进行赋值,并在第k+1个时钟周期至第k+5个时钟周期循环中,依次读取图像的第k个像素及其相关的上下文模板的值,并同时对图像的第k+1个像素及其相关的上下文模板进行赋值,直至完成第k+3个像素的值的读取以及第k+4个像素的赋值,其中k为正整数。在上述的一种jpegls上下文计算的流水线化优化方法,在第k个时钟周期中,对图像的第k个像素及其相关的上下文模板进行赋值,即对ix(k,k),ra(k,k),rb(k,k),rc(k,k),rd(k,k)进行赋值;其中,ix(x,y)表示图像第x行、第y列像素值;ra(x,y)表示ix(x,y)的上下文模板中的a的重建值;rb(x,y)表示ix(x,y)的上下文模板中的b的重建值;rc(x,y)表示ix(x,y)的上下文模板中的c的重建值;rd(x,y)表示ix(x,y)的上下文模板中的d的重建值;当x=1时,rb=0;rc=0;rd=0;当y=1时,ra=0;当y=n时,rd=0。在上述的一种jpegls上下文计算的流水线化优化方法,在第k+1个时钟周期中,读取图像的第k个像素及其相关的上下文模板的值,即读取ix(k,k),ra(k,k),rb(k,k),rc(k,k),rd(k,k)的值,并对图像的第k+1个像素及其相关的上下文模板进行赋值,即对ix(k,k+1),ra(k,k+1),rb(k,k+1),rc(k,k+1),rd(k,k+1)进行赋值。在上述的一种jpegls上下文计算的流水线化优化方法,在第k+2个时钟周期中,读取图像的第k+1个像素及其相关的上下文模板的值,即读取ix(k,k+1),ra(k,k+1),rb(k,k+1),rc(k,k+1),rd(k,k+1)的值,并对图像的第k+2个像素及其相关的上下文模板进行赋值,即对ix(k,k+2),ra(k,k+2),rb(k,k+2),rc(k,k+2),rd(k,k+2)进行赋值。在上述的一种jpegls上下文计算的流水线化优化方法,在第k+3个时钟周期中,读取图像的第k+2个像素及其相关的上下文模板的值,即读取ix(k,k+2),ra(k,k+2),rb(k,k+2),rc(k,k+2),rd(k,k+2)的值,并对图像的第k+3个像素及其相关的上下文模板进行赋值,即对ix(k,k+3),ra(k,k+3),rb(k,k+3),rc(k,k+3),rd(k,k+3)进行赋值。在上述的一种jpegls上下文计算的流水线化优化方法,在第k+4个时钟周期中,读取图像的第k+3个像素及其相关的上下文模板的值,即读取ix(k,k+3),ra(k,k+3),rb(k,k+3),rc(k,k+3),rd(k,k+3)的值,并对图像的第k+4个像素及其相关的上下文模板进行赋值,即对ix(k,k+4),ra(k,k+4),rb(k,k+4),rc(k,k+4),rd(k,k+4)进行赋值。在上述的一种jpegls上下文计算的流水线化优化方法,当前图像的第k个像素指当前图像的第k行和第k列,……,当前图像的第k+4个像素分别是指当前图像的第k行和第k+4列。一种jpegls上下文计算的流水线化优化装置,其特征在于,包括:首次赋值模块:被配置为在第k个时钟周期,对图像的第k个像素及其相关的上下文模板进行赋值,数值读取及赋值模块::被配置为在第k+1个时钟周期至第k+5个时钟周期循环中,依次读取图像的第k个像素及其相关的上下文模板的值,并同时对图像的第k+1个像素及其相关的上下文模板进行赋值,直至完成第k+3个像素的值的读取以及第k+4个像素的赋值,其中k为正整数。在上述的一种jpegls上下文计算的流水线化优化装置,数值读取及赋值模块的具体操作过程包括:在第k+1个时钟周期中,读取图像的第k个像素及其相关的上下文模板的值,即读取ix(k,k),ra(k,k),rb(k,k),rc(k,k),rd(k,k)的值,并对图像的第k+1个像素及其相关的上下文模板进行赋值,即对ix(k,k+1),ra(k,k+1),rb(k,k+1),rc(k,k+1),rd(k,k+1)进行赋值;……在第k+4个时钟周期中,读取图像的第k+3个像素及其相关的上下文模板的值,即读取ix(k,k+3),ra(k,k+3),rb(k,k+3),rc(k,k+3),rd(k,k+3)的值,并对图像的第k+4个像素及其相关的上下文模板进行赋值,即对ix(k,k+4),ra(k,k+4),rb(k,k+4),rc(k,k+4),rd(k,k+4)进行赋值。一种上下文计算的边界处理的流水线化优化装置,其特征在于,包括存储器、处理器以及存储在该存储器中并可在该处理器上运行的计算机程序,其特征在于,该处理器被配置为执行该计算机程序时实现优化方法的步骤。因此,本发明具有如下优点:1、该发明简化了jpegls在上下文建模时,其上下文模板在边界处理时进行了优化。2、上下文模板在边界处理时,消除了模板中各数据之间的依赖关系,减少了模板取值中存在的反馈环路,降低了上下文建模的计算复杂度。3、实施该优化算法后,在对图像压缩率影响不大的情况下,有效的提高了编码器的流水线计算性能。。附图说明附图1是jpeg-ls编码流程图.附图2是用于上下文建模和预测的因果型模板。附图3是图像数据边界处理示例。附图4是传统上下文建模方法模板取值流水线示意图。附图5是本发明中图像数据边界处理示例图。附图6是本发明改进的上下文建模方法模板取值流水线示意图。具体实施方式下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。实施例:为了实现流水线计算,本发明可以简化上下文模板在边界处理时的取值。在边界处理时,当数据位于列头或列尾时,a、d的取值为0,c由于同样取上一行的a得重建值a,仍为0。改进后上下文模板如图5所示,方框内为图像数据:以分辨率为m×n的图像为例,ix(1,1)表示图像第一行、第一列的像素值,ix(x,y)表示图像第x行、第y列像素值。当x=1时,rb=0;rc=0;rd=0;当y=1时,ra=0;当y=n时,rd=0;改进后的流水线示意图如图6所示:改进后的上下文模板取值方法可实现完全的流水线计算。如上文所述,我们以分辨率为m×n的图像为例,ix(1,1)表示图像第一行、第一列的像素值,ra(1,1)表示ix(1,1)的上下文模板中的a的重建值,rb(1,1)表示ix(1,1)的上下文模板中的b的重建值,rc(1,1)表示ix(1,1)的上下文模板中的c的重建值,rd(1,1)表示ix(1,1)的上下文模板中的d的重建值,以此类推,ix(x,y)表示图像第x行、第y列像素值,ra(x,y)表示ix(x,y)的上下文模板中的a的重建值,rb(x,y)表示ix(x,y)的上下文模板中的b的重建值,rc(x,y)表示ix(x,y)的上下文模板中的c的重建值,rd(x,y)表示ix(x,y)的上下文模板中的d的重建值,其操作步骤如下所述:1)在第一个时钟周期中,对图像的第一个像素(第一行,第一列)及其相关的上下文模板进行赋值,即对ix(1,1),ra(1,1),rb(1,1),rc(1,1),rd(1,1)进行赋值。2)在第二个时钟周期中,读取图像的第一个像素(第一行,第一列)及其相关的上下文模板的值,即读取ix(1,1),ra(1,1),rb(1,1),rc(1,1),rd(1,1)的值,并对图像的第二个像素(第一行,第二列)及其相关的上下文模板进行赋值,即对ix(1,2),ra(1,2),rb(1,2),rc(1,2),rd(1,2)进行赋值。3)在第三个时钟周期中,读取图像的第二个像素(第一行,第二列)及其相关的上下文模板的值,即读取ix(1,2),ra(1,2),rb(1,2),rc(1,2),rd(1,2)的值,并对图像的第三个像素(第一行,第三列)及其相关的上下文模板进行赋值,即对ix(1,3),ra(1,3),rb(1,3),rc(1,3),rd(1,3)进行赋值。4)在第四个时钟周期中,读取图像的第三个像素(第一行,第三列)及其相关的上下文模板的值,即读取ix(1,3),ra(1,3),rb(1,3),rc(1,3),rd(1,3)的值,并对图像的第四个像素(第一行,第四列)及其相关的上下文模板进行赋值,即对ix(1,4),ra(1,4),rb(1,4),rc(1,4),rd(1,4)进行赋值。5)在第五个时钟周期中,读取图像的第四个像素(第一行,第四列)及其相关的上下文模板的值,即读取ix(1,4),ra(1,4),rb(1,4),rc(1,4),rd(1,4)的值,并对图像的第五个像素(第一行,第五列)及其相关的上下文模板进行赋值,即对ix(1,5),ra(1,5),rb(1,5),rc(1,5),rd(1,5)进行赋值。以此类推,即可完成整幅图像的像素及上下文模板的写、读流水线操作。通过对上下文模板取值方法改进的压缩效果进行对比,取5张单通道29m图像进行测试,测试结果如下表所示:单通道改进前(字节)改进后(字节)压缩率变化1465582746561640.007%2999224299924790.002%311369745113702240.004%41120916811208816-0.003%51238996012388711-0.010%如上表所示,改进后的压缩率变化在±0.015%以内,可见改进后的上下文模板取值方法对图像压缩率影响不大。对于解码而言,可以采取同样的上下文模板取值方法实现无损压缩解码。本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属
技术领域:
的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。当前第1页12