您的位置 首页 软件

JPEG 2000规范中MQ编码器的VLSI结构设计

引 言JPEG 2000是为了弥补JPEG的不足而提出的新一代静止图像压缩国际标准。其目标是对多种类型的静止图像实现高效压缩,并要求压缩码流具有较好

引 言
JPEG 2000是为了补偿JPEG的缺乏而提出的新一代静止图画紧缩世界规范。其方针是对多种类型的静止图画完结高效紧缩,并要求紧缩码流具有较好的抗误码功用,用户可对图画进行多种形式的累进传输,还可以对紧缩码流进行随机拜访和处理。
JPEG 2000用依据上下文的自习惯算术编码替代JPEG体系中的赫夫曼编码,对量化后小波改换系数的二进制位平面进行算术编码。算术编码对每一小波子带分块独立进行位平面编码,并将每个位平面分在3个子位平面通道内进行编码。尽管现有算术编码在算法上做了许多改善,但算法的杂乱性和很多的编码数据导致MQ编码器的实践作业功率依然很低。为了进步MQ编码器的编码速度,对编码流程进行优化,提出一种依据三级流水线的MQ编码器的VLSI结构。

1 MQ编码器原理
JPEG 2000的编码体系流程如图1所示。

在JPEG中,作为无损紧缩DCT系数的熵编码办法,选用了霍夫曼编码(算术编码为选项)。霍夫曼编码因按DCT系数巨细来分配可变码长,所以查表处理构成主体,可以简略完结霍夫曼编码。可是,因为预先查询了解符号系列的核算性质后制表,所以尔后一旦有与其性质相违反的符号输入进来,就不免使紧缩特性恶化,这个缺乏约束了其运用规模。
弥补霍夫曼编码这一缺陷的便是JPEG 2000中被选用的自习惯算术编码。算术编码的构思是作为Elias编码,依据为人们所了解的区分递归概率区间的想象,在Elias编码中,关于具有 “0”或“1”值的二进制符号系列,以各自概率值比率将当时概率区间区分红两个子区间,被分配给实践发生符号的概率值区间下限值构成代码串。即代码串按二进制符号系列的输入逐次被递归地批改下去。
JPEG 2000中选用算术编码,其根本规矩像Elias编码那样,不是以符号“0”和“1”的实践值来差异,而是别离作为MPS(大概率符号)或LPS(小概率符号)中一个子区间来差异的。并且,将当时概率区间区分红两个子区间时的次序是MPS子区间可装备到LPS子区间的上面。因而,若符号是MPS,就在给代码串附加LPS子区间的一起,设概率区间宽度为MPS子区间;若符号是LPS,就不改动代码串,设概率区间宽度为LPS子区间。按判定输入将此处理递归地重复下去。MQ编码器的输入/输出框图如图2所示。其间,D是二进制判定;CX是上下文索引;D和CX二者均事先由算术编码之前进行的系数位建模确认。 CD是输出的紧缩数据。

在MQ算术编码器中,用寄存器A标明当时子区间的宽度,寄存器C标明子区间的开始方位。它们均具有16 b有用长度,在发生从头归一化时,为了防止16 b的C寄存器溢出,而选用28 b标明。经过选用从头归一化计划,使A的取值规模保持在[0.75,1.5]。当编码器接收到一个新的待紧缩码,编码器从概率估值表查找相应的概率Qe。依据承受的待紧缩码类型,寄存器A的值和寄存器C的值被进行更新,然后区间更新可近似为:当编码MPS时,A=A-Qe,C=C+Qe;当编码LPS时, A=Qe,C=C,防止了乘法运算。
一起,因为MQ算法在进行区间核算时省掉了乘法的近似,使得或许发生LPS子区间大于MPS子区间的状况。为了防止这种状况,选用区间条件交流,行将 MPS与LPS交流。MQ编码器经过重归一化办法处理核算的有限精度问题:当AO.75时,对A进行左移直至不小于0.75停止,一起C也左移相同位数,并按必定距离将不再改动的高位移入存储区。
MQ编码器所运用的概率估值表是一个可以对原始数据快速习惯的杂乱概率主动估量模型。该模型是一个具有47个状况的有限状况机。每个状况包含小概率符号 LPS的概率Qe、下一个状况的索引NMPS和NLPS。是否需求交流MPS和LPS所代表符号的标志SWITCH。
MQ编码器中设置了一个专用计数器CT作为已紧缩字节输出操控。当A左移1位时,CT也一起减1;当CT=0时,输出1个字节。为防止区间更新进程中发生的进位向前传达,在MQ编码器中,选用位填充技能来处理进位问题。依据字节缓冲B及C进位位的值,编码器挑选是否进行位填充。

2 MQ编码器的优化
MQ编码器选用串行履行方法,且编码算法杂乱、耗时,然后导致编码器履行速度慢,功率低下。为了进步MQ编码器的运转速度,运用FPGA的大容量和并发履行等特性,对MQ编码器进行规划,在不改动原算法理论的条件下,对整个流程进行改善和优化。
只要当时一输入的成果被输出后才能读人下一输入的串行履行方法,极大地约束了编码速度的进步。为处理这个问题,将整个编码流程分红三个大的模块(如图3所示)串接起来,选用流水线的方法进行作业。

其间,GLGJ模块为概率估量模块,其功用是依据上下文索引CX挑选,判定D编码所必需的概率估值和相关数值,在各个上下文自习惯更新数值; PJENCODER模块为判定编码模块,其功用首要是进行MPS编码或LPS编码、从头归一化等首要数据处理进程;ENCODER模块为编码输出模块,首要完结紧缩数据的输出及编码完结等功用;由这三个模块组成三级流水线。
2.1 判定编码的化简
判定编码中先判别D的取值是“0”仍是“1”,假如D=0,就进行0的编码;假如D=1,那就进行1的编码。在“0”或“1”的编码中,又要依据MPS (CX)的取值,判别是进行MPS编码,仍是进行LPS编码;在MPS和LPS编码中,先更新区间宽度A的值,即A=A-Qe[I(CX)],再判别A是大于仍是小于Qe[I(CX)],由此与其他的一些条件决议最终的赋值方法。
上述进程包含ENCODE,CCOE0/CODE1,CO-DELPS/CODEMPS五个子流程,6个条件判别,屡次赋值,降低了编码速度。对编码的判定条件进行收拾,削减不必要的赋值,其Verilog代码如下:


由此可有用地削减不必要的寄存器和位数赋值,加快模块的作业功率,然后进步整个体系的作业频率。
2.2 从头归一化的加快
MQ编码器一方面在编码MPS时,给代码C加上Qe值,将概率区间A减为A-Qe;另一方面,在编码LPS时,代码C不变,将概率区间A置换成Qe。假如将这样的区间区分运算进行下去,在某一时间点上,概率区间A就会比必要精度规模(O.75≤A1.5)小,这时就要经过从头归一化A与C保持精度规模。
从头归一化进程是依据条件(A0.75):当条件成立时,将区间寄存器A和代码寄存器C再左移1次,使其巨细加倍,直到概率区间A的巨细超越0. 75。由此可见,假如A的值很小,则左移操作将会重复进行,大大降低了编码速率。一起因编码中有MPS编码和LPS编码两种,依据D的不同以及编码方法的不同,从头归一化时移位的次数也不同。
因而为了进步速度,并充分运用硬件的优势,将Qe的移位次数作为寄存器数,加入到概率估量表中(表1所示)。不管输入数据D为何值,编码的判定都是以 LPS或MPS为规范,所以当判定为LPS编码时,LZE-ROS中的数据就决议了左移位的次数;当判定为MPS编码时,MZEROS中的数据就决议了左移位的次数。经过编程将扩展后的概率估量表,以寄存器的方法固化在芯片内部,尽管这样增加了硬件电路中寄存器的数量,但可以经过一次性的直接查表得到判定编码和重归一化所需的数据,进步了查找功率。因为每次编码都要用到该表,拜访功率很高,这样大大加快了编码的速率,一起便于流水线结构的完结。

2.3 编码输出模块的改善
规范MQ编码器中当输出计数器CT=0时,MQ编码器输出1个字节。规范中字节输出流程是串行履行的,形成功率低下。又因为从头归一化进程选用了一次性的移位方法,最大的移位次数可达15次,且进程中伴随着字节输出。有三种或许状况:不需求进行字节输出,需求进行1个字节或2个字节的字节输出。因而需求对字节输出机制造改善。这儿将减法记数器CT改为5位的加法记数器,并运用一个16位的数据缓存器。依据CT的取值,判别输出的是0字节仍是1字节或许2字节,由此到达加快字节输出的意图。

3 试验成果及剖析
对所完结的MQ编码模块用Verilog HDL硬件描绘言语进行RTL级描绘,在Xilinx ISE 7.1和:Model-sim 6.1平台下进行功用验证和时序仿真。按字节输入测验码流:00 02 00 51 00 00 00 C0 03 52 87 2A AAAA AA AA 82 C0 20 00 FC D7 9E F6 BF 7F ED 90 4F46 A3 BF,得到成果码流为:84 C7 3B FC E1 A1 43 0402 20 00 00 41 0D BB 86 F4 31 7F FF 88 FF 37 47 1ADB 6A DF FF AC。得到的成果与理论成果共同,仿真波形如图4所示。

图4中D为输入的测验码流,CDH为输出码流。该规划在Xilinx的XA2C32A-6VP44器材上进行验证,成果标明,最高作业频率可达95.47 MHz,较大地进步了编码速度,可以满意JPEG 2000对高速编码的要求。

4 结 语
综上所述,为了满意现在对JPEG 2000高速编码的需求。在对MQ编码器的流程及相关算法进行剖析后,运用现有FPGA的优势,在选用三级流水线结构的一起,对编码进行了优化;经 Xilinx的FPGA器材完结,不只验证了该规划在功用上的正确性,一起标明在编码速度上得到了很大的进步,且最高作业频率可达95.47 MHz。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/ruanjian/133037.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部