最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

一种基于流水线的MQ编码器FPGA设计

IT圈 admin 25浏览 0评论

2024年5月17日发(作者:轩辕苑)

维普资讯

第30卷第4期 

2007年8月 

电子器件 

Chinese Joumal Of Electron Devices 

V01.3O No.4 

Aug.2007 

FPGA Design of Pipeline-Based MQ Coder 

LUYan,WANG Chao,LJJie,CAOPeng 

(National Engineering Research Center forApplication Specific Integrate Circuit System,Southeast University,Na ing 210096,China) 

Abstract:A four-stage pipelined architecture MQ coder for JPEG2000 standard is presented.To solve the 

problem of feedback in the conventional MQ coder in JPEG2000,we used a new method of updating CX ta— 

ble.Through the technology of leading zero forwarding detection and byte out buffer we improved the effi— 

ciency of encoding.In addition,we optimized the arithmetic of critical path and then increased the clock 

rate of the system.We have implemented the design in VHDL RTL on the FPGA.Experimenta1 result 

shows that the new MQ coder can process one symbol per clock cycle and can work up to 99.66 MHz on 

Altera'StratixII EP2S6O1O2OC4. 

Key words:JPEG2000;pipeline;MQ coder 

EEACC:6120B 

种基于流水线的MQ编码器FPGA设计 

陆 燕,王 超,李 杰,曹 鹏 

(东南大学国家专用集成电路系统工程技术研究中心,南京210096) 

摘 要:提出了一种应用于JPEG2000标准的4级流水线MQ编码器设计方案.采用状态超前更新,前导0位超前检测和字 

节输出缓冲策略,解决了在上下文(cx)状态表更新、归一化及字节输出过程中的反馈和循环等问题,提高了编码效率.同时, 

对关键路径处算法进行优化,提高了系统工作的时钟频率.该设计使用VHDL语言在RTL级描述,并在FPGA上对其进行了 

仿真验证.实验表明,在Altera的StratixII EP2S601020CA上,编码器的工作效率可以达到1CxD/cycle,最高工作时钟频率可 

达99.66 MHz. 

关键词:JEPG2000;流水线;MQ编码器 

中图分类号:TN919.3 文献标识码:A 文章编号:l005-9490(2007)04-l3l4-04 

JPEG2000标准_1]是IsO/IEC制定的新一代 

图像压缩标准,在主观图像质量、支持渐进图像传 

输、感兴趣图像编码和抗误码性能上优于传统的 

JEPG标准.JEPG2000中的关键算法是离散小波变 

换(DWT)和优化截断的嵌入式位平面编码(EB- 

消耗了JEPG2000编码系统中大部分的计算时间 

(约70 l2j).MQ编码器继承了JBIG中使用的 

QM编码器,利用Q编码器的字节输出技术.虽然 

MQ编码器省略了乘法运算,但频繁的区间重归一 

化和复杂的字节输出使得JPEG 2000标准中基于 

COT).EBCOT包含两个部分:Tier1和Tier2.Tier1 

是一个基于上下文的熵编码器,由位平面编码和算 

术编码(MQ编码)组成.Tierz是一个压缩后率分配 

处理器. 

软件执行的MQ编码流程效率很低. 

为了提高硬件实现的MQ编码器的执行效 

率,本文设计了一种基于流水线的MQ编码器. 

针对编码过程中的反馈和循环问题,采用了状态 

在JPEG2000中使用MQ编码器作为熵编码 

器,它的编码效率是EBCOT编码的关键.而EB- 

C0T又是JEPG2000中最复杂的部分,其中Tier 

收稿日期:2006—09一.11 

超前更新,前导0位超前检测和字节输出缓冲等 

加速技术.同时,对电路进行优化,缩短关键路 

径,从而提高系统工作的时钟频率.最终,在FP- 

作者简介:陆燕(1982-),女,硕士研究生. 亢方向为数字信号处理的硬件实现以及嵌入式系统的开发,Luyan

seu@163.con3. 

_

维普资讯

第4期 陆燕,王超等:一种基于流水线的MQ编码器FPGA设计 1315 

GA上以较优的资源和较高的运行速度实现了该 

算法.本文的结构如下:第二部分主要论述基于 

MQ编码的原理;第三部分详细介绍了MQ编码 

器的流水线架构及其采用的改进技术;第四部分 

给出实验结果和结论. 

1 MQ编码的原理 

二进制算术编码的基本操作是递归划分当前子 

区间.当编码器接收到一个新的待压缩码,当前子区 

间会被划分成更小的两个子区间.子区间的左边界 

值被更新为新子区间的低边界;子区间的间隔值也 

更新为新子区间的间隔. 

在MQ编码器中,用寄存器A来记录当前子 

区间的间隔值,用寄存器C来记录当前子区间的 

左边界值.当编码器接收到一个新的待压缩码, 

编码器从概率估值表查找相应的概率值Qe.根 

据接受的待压缩码的类型,寄存器A的值和寄存 

器C的值被更新,更新情况如下:当接受大概率 

符号时,进行大概率编码MPS:A—A—Qe,C— 

C+Qe;当接受小概率符号时,进行小概率编码 

LPS:A—Qe,C—C. 

在实际操作时,A用16位寄存器表示,C用28 

位寄存器表示(一个进位位,一个部分编码字节,三 

个间隔位和16位的有效区域).由于寄存器位数有 

限,A需满足o.75<A<1.5,当A<0x8000H(即 

0.75)时,需对A和C分别左移,直到A≥ 

0x8000H,称为重归一化.同时,由于MQ算法在进 

行区间计算时省略了乘法的近似,使得可能发生 

LPS子区间大于MPS子区间的情况.为了避免这 

种情况,采用区间条件交换,即当Qe>A—Qe(A< 

2Qe)时,将MPS与LPS互换. 

为了实现自适应,算术编码要使用两种表,CX 

状态表和概率估值表.CX状态表:MQ编码器使用 

基于上下文(CX)的概率估计.在JEPG2000中指定 

的上下文为19个.每一个上下文都有自己的状态, 

每个状态包含概率估值表的索引(用6位表示)和大 

概率符号值mps(1位);概率估值表:是一个可以对 

原始数据快速适应的复杂概率自动估计模型.该模 

型是一个具有47个状态的有限状态机.每个状态包 

含小概率符号LPS的概率值Qe(用15位表示)、下 

个状态的索引NMPS和NI PS(分别用6位表 

示)、是否需要交换MPS和LPS所代表符号的标志 

SWITCH(1位),共28位.具体的概率估值表见文 

献[3]. 

下面是MQ编码的总流程. 

图1 MQ编码流程L j 

2 MQ编码器的流水线设计 

本文设计的MQ编码器,采用4级流水线实 

现.该编码器以文献[2]中MQ编码器的架构为基 

础,并利用了一些加速技术对其进行改进.改进后的 

MQ编码器4级流水线架构如图2所示. 

图2 MQ编码器4级流水线架构图 

下面分析编码的4级流水线: 

阶段1:存放了两张表,CX状态表(用RAM实 

现)和扩展的概率估值表(用R0M实现).其中,扩 

展的概率估值表对标准中的概率估值表进行了扩 

展,把概率值Qe的前导零位数(LZ)也存入当前状 

态.这只需要把原来的概率估值表扩展4位. 

输入CX、D,由输入的CX来查询CX状态表,可 

得到概率估值表的索引和naps值.根据naps的值判 

断对当前输入进行大概率(MPS)编码还是小概率 

(LPS)编码;根据索引值,从概率估值表中得到当前 

输入的概率值Qe,前导零位数LZ以及下一个状态信 

息.当条件满足时,用下一个状态更新CX状态表.CX 

状态表的更新需要阶段2的反馈信息. 

维普资讯

1316 电 子 器件 第30卷 

在文献E53中首次提出了使用流水线来实现 

JBIG的MQ编码,并解决了流水线实现的关键点, 

即输入连续上下文(CX)时CX状态表的更新和算 

术编码器所用的LPS概率值Qe的读取.但是这种 

结构需要扩展概率估值表,把下一次LPS和MPS 

的概率值也存入当前状态,这就使ROM从原来的 

28位增加到58位.本文采用了超前技术更新CX状 

态表,不需要对概率估值表进行概率值扩展.如图3 

所示,假如两个连续的的CX—D对具有相同的 

CX,并且第一对数据引起了重归一化,更新的下一 

个状态值直接通过多路选择器送到概率估值表.由 

于有19个上下文,每个上下文的状态需要7个数据 

位的RAM;有47个概率估值表索引,每个索引的 

状态需要32个数据位的ROM,因此该MQ编码器 

实现概率估值所占用的资源为19×7+47×32—1 

637个存储位. 

图3采用超前技术的CX表更新 

阶段2:主要功能是有进行区间条件交换判断, 

更新寄存器A中的信息并对A进行重归一化.新的 

间隔为A或者A_Qe. 

寄存器A更新后,当其值小于0x8000H时,对 

其左移.从JPEG2000标准中的概率估值表中可以 

发现,最小的LPS概率为0x0001,因此编码区间重 

归一化流程最坏情况是循环15次,即需要移位15 

次.这造成编码的效率极其低下.为了提高编码效 

率,可以先确定左移的移位值,然后送入移位寄存 

器,在一个周期内完成所有移位l6]. 

移位值的确定需要计算前导零位数.本文采用 

了前导零超前检测方法l7],大大减少了移位值计算 

中的延时.在进行LPS编码时,A—Qe,概率值Qe 

的前导零位数可以从阶段1中的概率估值表中得 

到,这个数即为需要左移的移位值,可以直接送入移 

位寄存器;在进行MPS编码时,注意到A寄存器的 

最小值为0x8000,概率值Qe的最大值为0x5601, 

因此A—Qe的最小值为0x29FF,只有两个前导零, 

只需要检测最高两位. 

在MQ编码的流水线设计完成后,发现关键路 

径存在于stage2.因此对A寄存器的算法进行了优 

化.A<2Qe(比较器)可以用A_2Qe(减法器)是否产 

生了借位来实现,对寄存器A的算法优化后,结构 

如图4所示. 

图4优化的寄存器A算法结构 

阶段3:主要功能是更新C寄存器中的信息和 

对其进行重归一化.标准中的寄存器c为28位,为 

了缩短关键路径,只把寄存器C中的16位有效区 

域放入阶段3中,相应的用来更新C寄存器的28位 

加法器也减少为16位.寄存器C的具体算法和阶 

段2中的寄存器A相似. 

阶段4:主要完成字节输出功能.采用文献[8] 

的字节输出缓冲技术,使复杂的字节输出流程可以 

在一个周期内完成.字节输出过程的结构如图5所 

示. 

移位值 C1 7f带进位位) 

图5字节输出过程的结构 

区间重归一化的过程中伴随着字节输出.有三 

种可能情况:不需要进行字节输出,需要进行1个字 

节或2个字节的字节输出.因此需要对字节输出机 

制作改进.在阶段3中已经限制C寄存器为16位, 

通过观察可以发现只有当寄存器C的有效部分移 

出19位时才会发生字节输出.本文的设计中把标准 

中的4位CT减法计数器调整为5位加法计数器, 

并使用一个18位的辅助缓存器.当同时发射0,1或 

2个字节到压缩位流中时,从寄存器C左移出的所 

有位都可以在一个时钟内存到辅助缓存器中.当加 

法记数器中的值大于27时,有两个字节需要输出; 

当值小于27并且大于19时有1个字节输出;小于 

19时没有字节输出. 

维普资讯

第4期 陆燕,王超等:一种基于流水线的MQ编码器FPGA设计 1317 

3实现结果及性能分析 

t,2272个存储位(FI ̄A实现需要的存储位个数与 

本文第三部分预测的存储位个数不同,因为综合器把 

文中所描述的MQ编码器用VHDL语言进行 

RAM和ROM的地址位取成2的整数倍).该MQ编码 

RTL级描述,并且在Modelsim环境下进行仿真仿真 

器工作效率可以达到1CxD/cycle,最高工作时钟频率 

结果与JEll2000推荐的标准算法软件Jasper的计算 

可达99.66MHa因此,该编码器的工作速度可以达到 

结果一致.将实现的代码进行FPGA验证,选用的器件 

99.66MCxD/s.将本文所描述的编码器与文献[8]中设 

为Altera公司的StratixII EP2S601020CA,并用Quar— 

计的一种3级流水线结构的算术编码器进行比较,结 

tusII进行综合.结果表明该MQ编码器使用了757个 

果见表1. 

表1性能比较 

从比较结果可以看出,本文描述的算术编码的 

Lian C J,Chen K F,Chen H H,and Chen L G.Analysis and 

优点在于改进了算法,提高了编码器工作的时钟频 

Architecture Design of Block-Coding Engine for EBCOT in 

率,从而提高了编码器的吞吐率. 

JPEG 2ooo ,lJ].IEEE Trans.Circuits Syst.Video Technol, 

Ma r.2003,13(3):219—230. 

4结论 

IS()/IEC.FCD 1544421,Fina1 oCmmittee Draft,JPEG2000 

Image oCding SystemSl,Z]. 

在JPEG2000编码系统中,针对MQ编码器的 

Acharya Tinku,Tsai Ping-Sing,JPEG2000 Standard for Im— 

硬件实现,提出了一种4级流水线设计方案.该方案 

age Compression Concepts,Algorithms and VI SI Architec— 

采用了流水线设计思想以提高系统时钟的工作频 

turesl,M].WILEY—INTERSCIENCE.2005. 

Tarui M,Oshita M,Onoye T,and Shirakawa I,High-Speed Im— 

率,为了进一步提高运算速度,给出了改进方案,通 

plementation of JBIG Arithmetic coder[-C]//Proceedings of the 

过零位超前检测和字节输出缓冲策略以及对寄存器 

IEEE Region 10 Conference,September 1999,2:1291—1294. 

A的算法优化,缩短关键路径.并且在FPGA上得 

Hsiao Yun_Tai,Lin Hung-eDr,Lee Kun-Bin and Jen Chein- 

以实现.结果验证了该设计在功能上的正确性. 

Wei.High—Speed Memory-Saving Architecture ofr the Embed— 

流水线结构的MQ编码器设计,对JPEG2000 

ded Block Coding in JPEG2000 ,IC]//IEEE International Sym— 

posium on Circuits and Systems,May 2002,5:133—136. 

ASIC的设计意义重大,该方案实现了1个时钟编码 

Dyer M,Taubman D,and Nooshabadi S,Improved Through— 

1个输入,提高了整个系统数据流的实时I生. 

put Arithmetic oCder ofr JPEG2000I,J].Proc.Internation oCn— 

ference on Image Processing(ICIP’O4),2004. 

参考文献: 

Michae1 Dyer,David Taubman,Saled Nooshabadi and Amit 

Eli Taubman David S,Marcellim Michael W编著,魏江力、柏正尧 

Kumar Gupta.Concurrency Techniques for Arithmetic Coding 

等译,赵保军审校,JPEG2000图像压缩基础、标准和实践I-M]. 

in JPEG2000 ,lJ].Circuits and Systems I:Regular Papers, 

电子工、l 出版社,2005. 

IEEE Transactions,June 2006,53(6):1203—1213. 

2024年5月17日发(作者:轩辕苑)

维普资讯

第30卷第4期 

2007年8月 

电子器件 

Chinese Joumal Of Electron Devices 

V01.3O No.4 

Aug.2007 

FPGA Design of Pipeline-Based MQ Coder 

LUYan,WANG Chao,LJJie,CAOPeng 

(National Engineering Research Center forApplication Specific Integrate Circuit System,Southeast University,Na ing 210096,China) 

Abstract:A four-stage pipelined architecture MQ coder for JPEG2000 standard is presented.To solve the 

problem of feedback in the conventional MQ coder in JPEG2000,we used a new method of updating CX ta— 

ble.Through the technology of leading zero forwarding detection and byte out buffer we improved the effi— 

ciency of encoding.In addition,we optimized the arithmetic of critical path and then increased the clock 

rate of the system.We have implemented the design in VHDL RTL on the FPGA.Experimenta1 result 

shows that the new MQ coder can process one symbol per clock cycle and can work up to 99.66 MHz on 

Altera'StratixII EP2S6O1O2OC4. 

Key words:JPEG2000;pipeline;MQ coder 

EEACC:6120B 

种基于流水线的MQ编码器FPGA设计 

陆 燕,王 超,李 杰,曹 鹏 

(东南大学国家专用集成电路系统工程技术研究中心,南京210096) 

摘 要:提出了一种应用于JPEG2000标准的4级流水线MQ编码器设计方案.采用状态超前更新,前导0位超前检测和字 

节输出缓冲策略,解决了在上下文(cx)状态表更新、归一化及字节输出过程中的反馈和循环等问题,提高了编码效率.同时, 

对关键路径处算法进行优化,提高了系统工作的时钟频率.该设计使用VHDL语言在RTL级描述,并在FPGA上对其进行了 

仿真验证.实验表明,在Altera的StratixII EP2S601020CA上,编码器的工作效率可以达到1CxD/cycle,最高工作时钟频率可 

达99.66 MHz. 

关键词:JEPG2000;流水线;MQ编码器 

中图分类号:TN919.3 文献标识码:A 文章编号:l005-9490(2007)04-l3l4-04 

JPEG2000标准_1]是IsO/IEC制定的新一代 

图像压缩标准,在主观图像质量、支持渐进图像传 

输、感兴趣图像编码和抗误码性能上优于传统的 

JEPG标准.JEPG2000中的关键算法是离散小波变 

换(DWT)和优化截断的嵌入式位平面编码(EB- 

消耗了JEPG2000编码系统中大部分的计算时间 

(约70 l2j).MQ编码器继承了JBIG中使用的 

QM编码器,利用Q编码器的字节输出技术.虽然 

MQ编码器省略了乘法运算,但频繁的区间重归一 

化和复杂的字节输出使得JPEG 2000标准中基于 

COT).EBCOT包含两个部分:Tier1和Tier2.Tier1 

是一个基于上下文的熵编码器,由位平面编码和算 

术编码(MQ编码)组成.Tierz是一个压缩后率分配 

处理器. 

软件执行的MQ编码流程效率很低. 

为了提高硬件实现的MQ编码器的执行效 

率,本文设计了一种基于流水线的MQ编码器. 

针对编码过程中的反馈和循环问题,采用了状态 

在JPEG2000中使用MQ编码器作为熵编码 

器,它的编码效率是EBCOT编码的关键.而EB- 

C0T又是JEPG2000中最复杂的部分,其中Tier 

收稿日期:2006—09一.11 

超前更新,前导0位超前检测和字节输出缓冲等 

加速技术.同时,对电路进行优化,缩短关键路 

径,从而提高系统工作的时钟频率.最终,在FP- 

作者简介:陆燕(1982-),女,硕士研究生. 亢方向为数字信号处理的硬件实现以及嵌入式系统的开发,Luyan

seu@163.con3. 

_

维普资讯

第4期 陆燕,王超等:一种基于流水线的MQ编码器FPGA设计 1315 

GA上以较优的资源和较高的运行速度实现了该 

算法.本文的结构如下:第二部分主要论述基于 

MQ编码的原理;第三部分详细介绍了MQ编码 

器的流水线架构及其采用的改进技术;第四部分 

给出实验结果和结论. 

1 MQ编码的原理 

二进制算术编码的基本操作是递归划分当前子 

区间.当编码器接收到一个新的待压缩码,当前子区 

间会被划分成更小的两个子区间.子区间的左边界 

值被更新为新子区间的低边界;子区间的间隔值也 

更新为新子区间的间隔. 

在MQ编码器中,用寄存器A来记录当前子 

区间的间隔值,用寄存器C来记录当前子区间的 

左边界值.当编码器接收到一个新的待压缩码, 

编码器从概率估值表查找相应的概率值Qe.根 

据接受的待压缩码的类型,寄存器A的值和寄存 

器C的值被更新,更新情况如下:当接受大概率 

符号时,进行大概率编码MPS:A—A—Qe,C— 

C+Qe;当接受小概率符号时,进行小概率编码 

LPS:A—Qe,C—C. 

在实际操作时,A用16位寄存器表示,C用28 

位寄存器表示(一个进位位,一个部分编码字节,三 

个间隔位和16位的有效区域).由于寄存器位数有 

限,A需满足o.75<A<1.5,当A<0x8000H(即 

0.75)时,需对A和C分别左移,直到A≥ 

0x8000H,称为重归一化.同时,由于MQ算法在进 

行区间计算时省略了乘法的近似,使得可能发生 

LPS子区间大于MPS子区间的情况.为了避免这 

种情况,采用区间条件交换,即当Qe>A—Qe(A< 

2Qe)时,将MPS与LPS互换. 

为了实现自适应,算术编码要使用两种表,CX 

状态表和概率估值表.CX状态表:MQ编码器使用 

基于上下文(CX)的概率估计.在JEPG2000中指定 

的上下文为19个.每一个上下文都有自己的状态, 

每个状态包含概率估值表的索引(用6位表示)和大 

概率符号值mps(1位);概率估值表:是一个可以对 

原始数据快速适应的复杂概率自动估计模型.该模 

型是一个具有47个状态的有限状态机.每个状态包 

含小概率符号LPS的概率值Qe(用15位表示)、下 

个状态的索引NMPS和NI PS(分别用6位表 

示)、是否需要交换MPS和LPS所代表符号的标志 

SWITCH(1位),共28位.具体的概率估值表见文 

献[3]. 

下面是MQ编码的总流程. 

图1 MQ编码流程L j 

2 MQ编码器的流水线设计 

本文设计的MQ编码器,采用4级流水线实 

现.该编码器以文献[2]中MQ编码器的架构为基 

础,并利用了一些加速技术对其进行改进.改进后的 

MQ编码器4级流水线架构如图2所示. 

图2 MQ编码器4级流水线架构图 

下面分析编码的4级流水线: 

阶段1:存放了两张表,CX状态表(用RAM实 

现)和扩展的概率估值表(用R0M实现).其中,扩 

展的概率估值表对标准中的概率估值表进行了扩 

展,把概率值Qe的前导零位数(LZ)也存入当前状 

态.这只需要把原来的概率估值表扩展4位. 

输入CX、D,由输入的CX来查询CX状态表,可 

得到概率估值表的索引和naps值.根据naps的值判 

断对当前输入进行大概率(MPS)编码还是小概率 

(LPS)编码;根据索引值,从概率估值表中得到当前 

输入的概率值Qe,前导零位数LZ以及下一个状态信 

息.当条件满足时,用下一个状态更新CX状态表.CX 

状态表的更新需要阶段2的反馈信息. 

维普资讯

1316 电 子 器件 第30卷 

在文献E53中首次提出了使用流水线来实现 

JBIG的MQ编码,并解决了流水线实现的关键点, 

即输入连续上下文(CX)时CX状态表的更新和算 

术编码器所用的LPS概率值Qe的读取.但是这种 

结构需要扩展概率估值表,把下一次LPS和MPS 

的概率值也存入当前状态,这就使ROM从原来的 

28位增加到58位.本文采用了超前技术更新CX状 

态表,不需要对概率估值表进行概率值扩展.如图3 

所示,假如两个连续的的CX—D对具有相同的 

CX,并且第一对数据引起了重归一化,更新的下一 

个状态值直接通过多路选择器送到概率估值表.由 

于有19个上下文,每个上下文的状态需要7个数据 

位的RAM;有47个概率估值表索引,每个索引的 

状态需要32个数据位的ROM,因此该MQ编码器 

实现概率估值所占用的资源为19×7+47×32—1 

637个存储位. 

图3采用超前技术的CX表更新 

阶段2:主要功能是有进行区间条件交换判断, 

更新寄存器A中的信息并对A进行重归一化.新的 

间隔为A或者A_Qe. 

寄存器A更新后,当其值小于0x8000H时,对 

其左移.从JPEG2000标准中的概率估值表中可以 

发现,最小的LPS概率为0x0001,因此编码区间重 

归一化流程最坏情况是循环15次,即需要移位15 

次.这造成编码的效率极其低下.为了提高编码效 

率,可以先确定左移的移位值,然后送入移位寄存 

器,在一个周期内完成所有移位l6]. 

移位值的确定需要计算前导零位数.本文采用 

了前导零超前检测方法l7],大大减少了移位值计算 

中的延时.在进行LPS编码时,A—Qe,概率值Qe 

的前导零位数可以从阶段1中的概率估值表中得 

到,这个数即为需要左移的移位值,可以直接送入移 

位寄存器;在进行MPS编码时,注意到A寄存器的 

最小值为0x8000,概率值Qe的最大值为0x5601, 

因此A—Qe的最小值为0x29FF,只有两个前导零, 

只需要检测最高两位. 

在MQ编码的流水线设计完成后,发现关键路 

径存在于stage2.因此对A寄存器的算法进行了优 

化.A<2Qe(比较器)可以用A_2Qe(减法器)是否产 

生了借位来实现,对寄存器A的算法优化后,结构 

如图4所示. 

图4优化的寄存器A算法结构 

阶段3:主要功能是更新C寄存器中的信息和 

对其进行重归一化.标准中的寄存器c为28位,为 

了缩短关键路径,只把寄存器C中的16位有效区 

域放入阶段3中,相应的用来更新C寄存器的28位 

加法器也减少为16位.寄存器C的具体算法和阶 

段2中的寄存器A相似. 

阶段4:主要完成字节输出功能.采用文献[8] 

的字节输出缓冲技术,使复杂的字节输出流程可以 

在一个周期内完成.字节输出过程的结构如图5所 

示. 

移位值 C1 7f带进位位) 

图5字节输出过程的结构 

区间重归一化的过程中伴随着字节输出.有三 

种可能情况:不需要进行字节输出,需要进行1个字 

节或2个字节的字节输出.因此需要对字节输出机 

制作改进.在阶段3中已经限制C寄存器为16位, 

通过观察可以发现只有当寄存器C的有效部分移 

出19位时才会发生字节输出.本文的设计中把标准 

中的4位CT减法计数器调整为5位加法计数器, 

并使用一个18位的辅助缓存器.当同时发射0,1或 

2个字节到压缩位流中时,从寄存器C左移出的所 

有位都可以在一个时钟内存到辅助缓存器中.当加 

法记数器中的值大于27时,有两个字节需要输出; 

当值小于27并且大于19时有1个字节输出;小于 

19时没有字节输出. 

维普资讯

第4期 陆燕,王超等:一种基于流水线的MQ编码器FPGA设计 1317 

3实现结果及性能分析 

t,2272个存储位(FI ̄A实现需要的存储位个数与 

本文第三部分预测的存储位个数不同,因为综合器把 

文中所描述的MQ编码器用VHDL语言进行 

RAM和ROM的地址位取成2的整数倍).该MQ编码 

RTL级描述,并且在Modelsim环境下进行仿真仿真 

器工作效率可以达到1CxD/cycle,最高工作时钟频率 

结果与JEll2000推荐的标准算法软件Jasper的计算 

可达99.66MHa因此,该编码器的工作速度可以达到 

结果一致.将实现的代码进行FPGA验证,选用的器件 

99.66MCxD/s.将本文所描述的编码器与文献[8]中设 

为Altera公司的StratixII EP2S601020CA,并用Quar— 

计的一种3级流水线结构的算术编码器进行比较,结 

tusII进行综合.结果表明该MQ编码器使用了757个 

果见表1. 

表1性能比较 

从比较结果可以看出,本文描述的算术编码的 

Lian C J,Chen K F,Chen H H,and Chen L G.Analysis and 

优点在于改进了算法,提高了编码器工作的时钟频 

Architecture Design of Block-Coding Engine for EBCOT in 

率,从而提高了编码器的吞吐率. 

JPEG 2ooo ,lJ].IEEE Trans.Circuits Syst.Video Technol, 

Ma r.2003,13(3):219—230. 

4结论 

IS()/IEC.FCD 1544421,Fina1 oCmmittee Draft,JPEG2000 

Image oCding SystemSl,Z]. 

在JPEG2000编码系统中,针对MQ编码器的 

Acharya Tinku,Tsai Ping-Sing,JPEG2000 Standard for Im— 

硬件实现,提出了一种4级流水线设计方案.该方案 

age Compression Concepts,Algorithms and VI SI Architec— 

采用了流水线设计思想以提高系统时钟的工作频 

turesl,M].WILEY—INTERSCIENCE.2005. 

Tarui M,Oshita M,Onoye T,and Shirakawa I,High-Speed Im— 

率,为了进一步提高运算速度,给出了改进方案,通 

plementation of JBIG Arithmetic coder[-C]//Proceedings of the 

过零位超前检测和字节输出缓冲策略以及对寄存器 

IEEE Region 10 Conference,September 1999,2:1291—1294. 

A的算法优化,缩短关键路径.并且在FPGA上得 

Hsiao Yun_Tai,Lin Hung-eDr,Lee Kun-Bin and Jen Chein- 

以实现.结果验证了该设计在功能上的正确性. 

Wei.High—Speed Memory-Saving Architecture ofr the Embed— 

流水线结构的MQ编码器设计,对JPEG2000 

ded Block Coding in JPEG2000 ,IC]//IEEE International Sym— 

posium on Circuits and Systems,May 2002,5:133—136. 

ASIC的设计意义重大,该方案实现了1个时钟编码 

Dyer M,Taubman D,and Nooshabadi S,Improved Through— 

1个输入,提高了整个系统数据流的实时I生. 

put Arithmetic oCder ofr JPEG2000I,J].Proc.Internation oCn— 

ference on Image Processing(ICIP’O4),2004. 

参考文献: 

Michae1 Dyer,David Taubman,Saled Nooshabadi and Amit 

Eli Taubman David S,Marcellim Michael W编著,魏江力、柏正尧 

Kumar Gupta.Concurrency Techniques for Arithmetic Coding 

等译,赵保军审校,JPEG2000图像压缩基础、标准和实践I-M]. 

in JPEG2000 ,lJ].Circuits and Systems I:Regular Papers, 

电子工、l 出版社,2005. 

IEEE Transactions,June 2006,53(6):1203—1213. 

发布评论

评论列表 (0)

  1. 暂无评论