(电子科学与技术专业论文)jpeg2000+mq编码器的高速vlsi设计与实现.pdf_第1页
(电子科学与技术专业论文)jpeg2000+mq编码器的高速vlsi设计与实现.pdf_第2页
(电子科学与技术专业论文)jpeg2000+mq编码器的高速vlsi设计与实现.pdf_第3页
(电子科学与技术专业论文)jpeg2000+mq编码器的高速vlsi设计与实现.pdf_第4页
(电子科学与技术专业论文)jpeg2000+mq编码器的高速vlsi设计与实现.pdf_第5页
已阅读5页,还剩81页未读 继续免费阅读

(电子科学与技术专业论文)jpeg2000+mq编码器的高速vlsi设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了论文中特j j t l ;h n 以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均已在论文中作了明确的说明。 作者签名: 妫巯 学位论文版权使用授权书 本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文并根据国家或湖南省有关部门规定送交学位论文, 允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内 容,可以采用复印、缩印或其它手段保存学位论文。同时授权中国科 学技术信息研究所将本学位论文收录到中国学位论文全文数据库, 并通过网络向社会公众提供信息服务。 作者虢上鱼导师签名受域嗍丝年月卫日 中南大学硕士学位论文 摘要 摘要 算术编码作为种重要的熵编码方法,具有优越的编码性能,它 的平均码长在大多数情况下都能逼近信源的熵,因此应用广泛,并已 被纳入多种图像和视频国际标准之中,其中就包括了j p e g 2 0 0 0 。 j p e g 2 0 0 0 与j p e g 不同,它采用了基于上下文自适应更新的二进制 算术编码进行编码运算,其压缩性能超越了传统的j p e g ,而且提供 了更多的新功能,以满足图像编码技术日益增长的需求。 本文在深入研究了算术编码原理的基础上,详尽分析了算术编码 在j p e g 2 0 0 0 环境中各个算法流程的处理步骤,以此为设计的基本思 想,采用了状态机控制和流水线设计思想,在保证时序顺序执行的前 提下,通过分析算术编码中的关键运算细节,在自适应更新的稳定性、 重归一化的冗余循环、字节输出算法等方面进行改进和优化,同时对 各个流水级所消耗的时钟周期进行了有效的压缩,以牺牲一定的时钟 频率为代价,以四级流水线分割的方式,实现了1p a i r c y c l e 的编码 速率,最终该m q 编码器模块达到了高水平的吞吐率的要求。 本设计采用了v e r i l o g 硬件描述语言对提出的方案进行r t l 级描 述,并进行综合优化,完成了功能上的仿真验证,给出了仿真结果和 性能比较分析。通过性能比较分析可以看出,本文给出的编码结构具 有更优越的编码处理速度,能够更好的匹配并行结构的位平面编码器, 为提高整个j p e g 2 0 0 0 系统的编码速度起到了关键的作用。 关键词:算术编码;j p e g 2 0 0 0 ;v l s i ;流水线 中南大学硕士学位论文 a b s t r a c t a bs t r a c t a sa ni m p o r t a n te n t r o p yc o d i n gm e t h o d ,a r i t h m e t i cc o d i n gh a sv e r y e x c e l l e n tp e r f o r m a n c e ;i t sa v e r a g ec o d el e n g t hc a na l w a y sa p p r o a c ht h e i n f o r m a t i o ns o u r c e se n t r o p ya n di tu s e di nm a n ya r e a s n o w , i ti sa d o p t e d b ym a n yi n t e r n a t i o n a ls t a n d a r d sb e s i d ej p e g 2 0 0 0a sa ne s s e n t i a le l e m e n t j p e g 2 0 0 0i sd i f f e r e n tf r o mj p e g ,i ta d o p t sc o n t e x tb a s e da d a p t i v e a r i t h m e t i c c o d i n g a n di t p r o v i d e s n o t o n l ys u p e r i o rc o m p r e s s i o n p e r f o r m a n c eo v e rj p e ( j b u ta l s oar i c hs e to ff e a t u r e s ,i na n s w e rt ot h e g r o w i n gr e q u i r e m e n t sf o ri m a g ec o d i n gt e c h n i q u e s i nt h i st h e s i s ,t h e o r yo fa r i t h m e t i cc o d i n gi sr e s e a r c h e dc a r e f u l l y , e v e r yp r o c e s so fa r i t h m e t i cc o d i n gi sa n a l y z e d b yo p t i m i z i n ga l g o r i t h m s a n da n a l y z i n gt h ed e t a i l so fa r i t h m e t i c e n c o d i n g ,i n c l u d i n gr e n o r m ea n d b y t e o u ta n du p d a t ap r o c e s s ,p i p e l i n e da r c h i t e c t u r eb a s e do nf s m c o n t r o l l i n gi si m p l e m e n t e d s ot h a ti tc a no p e r a t eo no n es y m b o lp e rc l o c k c y c l ea n dt h ee n c o d ec a nw o r kw e l lo na n yc o n d i t o n s a l t h o u t ht h em a x 疔e q u e n c yo ft h ec i r c u i ti ss l o w e r ,t h es p e e do fp r o c e s s i n go ft h ew h o l e c i r c u i ti sr a i s e d t h eg i v e na r c h i t e c t u r ei sd e s c r i b e dw i t hv e r i l o gh d li nr e g i s t e rt r a n s f e rl e v e l ,s y n t h e s i z ea n ds i m u l a t e dt ov e r i f yt h ef u n c t i o n a l c o r r e c t i o n b yc o m p a r e da n da n a l y z e dt h ep e r f o r m a n c e s ,t h eg i v e n a r c h i t e c t u r eh a sh i g h e rs p e e da n dc o u l dm e e tt h eh i g h e rt h r o u g h p u t sd e m a n d st om a t c ht h ep a r a l l e lb i t p l a n ee n c o d e rb e t t e r k e yw o r d s :b i n a r ya r i t h m e t i cc o d i n g ;j p e g 2 0 0 0 ;v l s i ;p i p e l i n e h 中南人学硕士学位论文 目录 目录 摘要i a b s t r a c t i i 第一章绪论1 1 1 弓i 言1 1 2 课题的研究意义1 1 3 算术编码的发展历程及研究现状2 1 4m q 编码器的硬件实现平台3 1 5 本文研究的内容和结构6 第二章m q 编码器的编码分析7 2 1 算术编码原理7 2 1 1e l i a s 编码7 2 1 2 现代算术编码9 2 2 算术编码在m q 编码器中的改进1 4 2 2 一lm q 编码器的结构1 4 2 2 2m q 编码器的编码方式1 5 2 3m q 编码器的操作流程2 0 2 3 1 初始化过程2 0 2 3 2m p s 几p s 编码流程2 0 2 3 3 重归一化流程2 3 2 3 4 字节输出流程。2 4 2 3 5 编码器的终结2 5 2 4 本章小结。2 6 第三章m q 编码器的高速v l s i 设计2 8 3 1m q 编码器各部件的硬件实现分析2 8 3 1 1 状态的启动和迁移2 8 3 1 2 概率区间的划分2 9 3 1 3 字节输出的控制一3 0 3 1 4 终结流程的优化一3 0 3 2m q 编码器的高速流水线设计3 1 3 2 1 第一级流水级3 3 3 2 2 第二级流水级3 5 3 2 3 第三级流水级3 6 3 2 4 第四级流水级3 7 3 3 流水线时序时钟分析4 0 3 4 本章小结4 2 第四章综合仿真验证与分析4 3 4 1 综合结果与静态时序分析4 3 4 2 仿真验证流程4 8 4 3 仿真波形图4 8 4 4 性能分析与比较5 0 4 5 本章小结5 0 第五章总结和展望一5 1 1 i i 中南大学硕士学位论文目录 5 1 总结5l 5 2 展望5 2 参考文献5 3 附j j 乏5 ; 附录一t e s tm q 测试代码56top 附录二m q 编码器状态机控制部分的v e r i l o g 代码。6 l 附录三状态迁移相应的r a m h e x 文件内容7 3 附录四状态迁移相应的r o m h e x 文件内容7 3 附录五项层模块图。7 4 致谢7 5 攻读学位期间主要的研究成果7 6 i v 中南人学硕士学位论文 第一章绪论 1 1 引言 第一章绪论 随着信息化的高速发展,数字图像处理技术在网络图像、数字电视、多媒体 传输、电视会议、可视电话、图像存储和图像识别、图像压缩等诸多图像应用领 域中都起着至关重要的作用。但是图像数据量大多数情况都是十分庞大的,同时 由于相对有限的通信带宽和存储容量,如何有效的对这些图像数据进行存储和压 缩,节约带宽资源,提高数据处理和传输的效率,使得图像压缩技术成为图像信 息处理领域最热门的话题之一。目前有众多的国际标准陆续提出,包括用于电视 电话会议h 2 6 1 t 1 1 和h 2 6 3 t 2 】标准,用于视频传输和存储的m p e g 1 3 1 、m p e g 4 t 4 1 标准等等,还有静态图像压缩标准j p e g t 5 1 、j b i g t 6 1 、g i f t 7 1 等。 随着图像压缩技术的不断更新与发展,j p e g 2 0 0 0 t 8 。1 2 】图像压缩标准应运而 生。与传统的j p e g 压缩标准相比,j p e g 2 0 0 0 不仅克j 艮j p e g 标准在低比特率下产 生的严重的方块效应,提高了编码率,同时添加了新的功能比如渐进编解码、随 机访问和处理、感兴趣区域压缩等这些灵活的特性,预计在医疗图像分析、图书 馆电子图像、印刷和传真图像、互联网传输等领域有广阔的市场应用前景。 j p e g 2 0 0 0 作为一个新一代的静态图像压缩标准,已经成为了二十一世纪图像压 缩编码领域的热点之一。 1 2 课题的研究意义 j p e g 2 0 0 0 是新一代的静态图像压缩标准,在2 0 0 0 年1 2 月正式确定为国际 标准。它主要有四个处理过程:小波变换,量化,位平面编码和m q ( 多路量化) 编码。相对于传统的j p e g 来说,j p e g 2 0 0 0 采用了当前最新的嵌入式编码技术 和高效的算术编码,不仅具有更卓越的压缩性能,而且具有更丰富的功能,不仅 可以应用于传统的j p e g 市场,而且可以应用于视频医疗影像,无线通信,网络 传输等领域。其优越性主要有:更优良的压缩特性;同时支持有损压缩和无损压 缩;对g i f 格式的图像可以实现渐进传输;对图像上的感兴趣域指定进行压缩, 突出重点,忽略次要信息;具有很强的抗误码特性。 虽然j p e g 2 0 0 0 拥有上述众多的优越性,但由于j p e g 2 0 0 0 具有较高的算法 复杂性,尤其是算术编码模块的控制结构和运算单元都比较复杂,另外,算术编 码算法具有很强的串行性,软件实现耗时太多。这样的编码速度很慢,效率低下, 中南大学硕士学位论文 第一章绪论 成为了j p e g 2 0 0 0 系统编码速度的瓶颈。为了提高j p e g 2 0 0 0 系统的编码效率, 就需要对算术编码模块选择有效的硬件加速设计方案,从而达到m q ( 算术编码) 编码器的高速处理的需求。 1 3 算术编码的发展历程及研究现状 算术编码的基本编码思想是用区域划分的方式来表示信源输出序列。信源 输出的任何一种信号或符号都与0 到l 内某一个区域进行一一对应。这个区域用 一个二进制小数来表示。这个小数即为信源输出序列的编码,且唯一可编码。 1 9 4 8 年,香农首先提出用二进制小数来表示一串符号:一个n 符号的消息 可以通过先对符号的概率进行排序,再按照该顺序发送符号的累积概率来传输 【1 3 】。之后,e l i a s 发现可以用递归的划分子区间的方式来替代香农提出的概率排 序的传输方式。 1 9 6 3 年,多人对e l i a s 编码思想进行了深入的研究,然而发现香农和e l i a s 编码存在无限精度运算的问题,即若使用有限精度系统进行编码,则编码每个符 号所需的时间随编码序列的增长而线性增加,编码较长的序列比较困难,这就使 得该编码方式具有很大的局限性。 1 9 7 2 年,s c h a l k w i j k 从索引的角度提出了另一种编码方式【1 4 l 。它提供给码 串一个索引来进行编码字符,随着符号编码的增加,索引的大小也跟着增加。之 后c o v e r 对这种编码方式进行了改进,提出了枚举编码( e n u m e r a t i v ee n c o d i n g ) 1 1 5 】。但这种编码方式在无限精度运算的问题上并没有给出有效的解决方案。 随后,r i s s a n e n 提出了以适当的近似来解决有限长精度问题的方案【1 6 】,改 进了s c h a l k w i j k c o v e r 的后进先出的编码系统,提出了算术编码的思想。而后, p a s c o 使用与r i s s a n e n 本质上相同的方法约束s h a n n o n e l i a s 编码,最终实现了先 进先出的算术编码。 1 9 8 7 年,w i t t e n 等人发表了一个实用的算术编码程序,同期,i b m 公司对 算术编码做了大量的研究,并发表了q 编码器【1 7 】,它的模板包括7 个周边像素, 一共有1 2 8 个上下文( c o n t e x t ) 。随后又提出了q m 编码器【1 8 】( 用于j b i g 标准) 和m q ( m u l t i p l eq u a n t i z a t i o n 多路量化) 编码器( 用于j b i g 2 标准和j p e g 2 0 0 0 标 准) ,前者的模板包括l o 个周边像素,一共有1 0 2 4 个上下文,后者的模板包括 8 个周边像素,一共有1 9 个上下文以及4 7 个概率状态。m q 编码器秉承了q 编 码器的无乘法近似和位缓冲的输出方式,并且增加了条件交换机制和概率估计【1 9 1 状态机中的贝叶斯过程,同时采用了位填充的字节输出方式。 目前,由于其高压缩的编码性能,算术编码的研究与应用r 益受到重视和 关注,并广泛应用于多种数据压缩中。如在h 2 6 3 标准中采用了基于语法的算术 2 中南大学硕士学位论文 第一章绪论 编码;在m p e g 4 标准中采用了基于临近信息的算术编码来编码其形状信息: h 2 6 4 1 2 0 】和j p e g 2 0 0 0 中也采用内容自适应的算术编码作为其熵编码算法。 目前来说,j p e g 2 0 0 0 在专业图形图像软件产品和网络图像等领域还未能广泛 应用,但相关的科研机构已经做了大量的开发工作,为以后j p e g 2 0 0 0 能够在各领 域中普及做好了准备。清华大学微电子研究所与美国w i s 技术公司合作开发了在 f p g a 中使用的运算器,该运算器将用于j p e g 2 0 0 0 设备核心的画质无损有损过 滤器。国内的一些相机制造商也在积极开发j p e g 2 0 0 0 数码相机。在支持j p e g 2 0 0 0 技术和设备的研发上,国外的设备制造商和解决方案提供商投入了大量精力和物 力,目前生产出了许多相关的硬件和软件产品,众多芯片生产厂家如a d 、德州 仪器、飞利浦等也已经或正在研发j p e g 2 0 0 0 的芯片组。i m a g ep o w e r 及l u r a t e c h 两家公司目前能够提供j p e g 2 0 0 0 的开发套件;此外,a m p h i o n 公司在基于通用a r m 处理器上开发了实现j p e g 2 0 0 0 编解码功能的硬件,其资料称可以满足实时解压 缩数字图像的要求;而a d 公司生产的a d v 系歹u j p e g 2 0 0 0 编解码芯片,具有较低 的功耗和成本,在当今市场上众多实时压缩和解压缩标准( s d ) 视频信号和高 清晰度( h d t v ) 视频信号功能的芯片中处于领先地位。 1 4m q 编码器的硬件实现平台 当进行一个电子设计时,会有很多种类的硬件平台进行选择。如嵌入式处理 器、专用集成电路【2 1 1 ( a s i c ) 、可编程微处理器( p i c ) 、现场可编程门阵列【2 2 】 ( f p g a ) 以及可编程逻辑器件( p l d ) 。最终选择哪种硬件平台主要取决于具体 的设计需求。d s p l 2 3 1 、a r m l 2 4 1 和f p g a 这三种芯片都是现在流行应用得很广的 器件,在各个行业中都应用广泛。但由于芯片本身的架构、工艺以及设计定位的 不同,因此在具体应用中也不一样。对于m q 编码器来说,哪一种硬件平台更 适合进行实现呢? a r m ( a d v a n c e dr i s cm a c h i n e s ) 作为微处理器领域中的著名企业之一,生 产了大量廉价的性能优良而耗能低的r i s c 处理器和相关的技术以及软件。a r m 同时也可以认为是最早面向低成本市场的r i s c 微处理器,其行业标准相当于3 2 位的单片机。a r m 公司提供了一系列相关的解决方案,如内核何体系扩展、微 处理器以及系统芯片等等,根据用户的具体要求,生产商根据这四个方面的解决 方案来进行相应的生产。由于所有产品均采用一个通用的软件体系,所以相同的 软件可在所有产品中运行。a r m 芯片凭借着强大的处理能力和极低的功耗,能 够很好的胜任一些复杂的应用如g u i 、t c p i p 、f i l e s y s t e m 等。随着a r m 功 能的增强和完善,某些方面可以取代原先x 8 6 架构的单片机,在工控领域上尤其 明显。 3 中南大学硕士学位论文 第一章绪论 d s p ( d i g i t a ls i n g n a lp r o c e s s o r ) 顾名思义,是一种数字信号处理器,它有一 套丰富完整的指令体系,是一种用数字信号0 或1 来处理信息的器件。一个不大的 d s p 芯片内部有各种功能单元,包括控制、运算、多种寄存器以及不少的存储单 元等等,在d s p 芯片外围可以与几个存储器同时连接,并且可以和一个以上的 外部设备进行通信互访,总体上说,d s p 兼有软件和硬件的功能,可以看成是一 个微型的计算机。d s p 是哈佛设计结构,即数据总线和地址总线是分开的,可以 把程序和数据放在两个不同的空间中进行存储,而且取指令和执行指令可以完全 重叠。这就意味着d s p 能够在执行上一条指令的时下一条指令可以并行的进行 读取操作,同时进行译码,这种并行思想与其他串行执行操作相比,能够很大程 度上提高微处理器的速度。另外,d s p 由于灵活性很高,允许数据在程序空间和 数据空间之间进行传输。d s p 的工作流程是这样的:首先是将模拟信号进行接收, 然后进行模数转换,再对数字信号进行删除和修改以及进一步的强化,然后通过 其他专业处理芯片把数字信号转为模拟信号或其他情景模式。d s p 不仅可编程性 灵活,而且处理速度远远超过其他的通用微处理器,它的实时运算可达每秒钟几 千万条的复杂指令程序,成为了数字电子领域中非常重要的应用芯片之一。它微 具有灵活的数据处理能力和高速的运算速度,是微处理器领域中的佼佼者。由于 d s p 运算能力强,速度快,而体积却很小,由于采用软件编程又具有高度的灵活 性,因此能够从事各种复杂的设计和应用。根据数字信号处理的行业要求标准, d s p 芯片通常来说具有以下主要几个特点:在一个指令周期内可以完成一次乘法 以及一次加法操作;程序和数据是分开的存储空间,可以同时进行访问指令和数 据;d s p 内部有快速r a m ,一般情况可以通过一条独立的数据总线对两个块进 行同时访问;具有低开销甚至是无开销的循环以及跳转的硬件支持;快速的中断 处理以及具有i 0 管脚;具有在单周期内操作的多个硬件地址产生器;可以并行 执行多个操作;另外,支持流水线操作,使取指、译码和执行等操作可以重叠执 行。如果某个设计中需要一种可编程器件,以便与设计的多次变更,而且算法中 又包含了一些乘法和循环这样的复杂操作,而对速度要求不是太高的话,d s p 就是最好的选择。因为可以很容易的用c 或是其他高级语言进行编程。 f p g a 是英文f i e l dp r o g r a m m a b l eg a t ea r r a y ( 现场可编程门阵列) 的缩写, 它是在p l d 、g a l 和p a l 等逻辑器件的基础上发展起来的新一代的可编程器件, 可以说是专用集成电路( a s i c ) 中集成度最高的一种分支。f p g a 内部的基本单 元块叫做逻辑单元阵列l c a ( l o g i cc e l l a r r a y ) ,而这个单元块的内部又是由内 部连线、输出输入模块i o b ( i n p u to u t p u tb l o c k ) 以及可配置逻辑模块c l b ( c o n f i g u r a b l el o g i cb l o c k ) 这三个部分组成的。用户可以根据自己的实际情况 来对f p g a 内部的i 0 模块以及逻辑模块重新进行配置,来实现所需要的逻辑功 4 中南大学硕士学位论文第一章绪论 能。f p g a 还具有静态可重复编程和动态在系统重构的特性,也就是说f p g a 定 义的功能可以和软件一样通过编程来重复的修改。f p g a 这种半定制电路特性, 使得它在专用集成电路领域的应用中,不仅可以很好的解决定制电路的固定性, 而且弥补了传统可编程器件中的门电路数稀少的不足。可以毫不夸张的说,f p g a 能够进行任何数字器件的功能设计,从最简单的逻辑门电路到复杂的高性能的 c p u 系统,都可以用f p g a 来进行设计与实现。硬件工程师都认为,f p g a 就是 一张白纸或是一堆积木,工程师们可以通过硬件描述语言,或是传统的原理图输 入法自由选择来设计一个数字系统。通过软件仿真,可以事先对设计的电路进行 功能验证其正确性。在p c b 布图完成以后,还可以利用f p g a 灵活的在线修改 能力,重复进行修改设计而不需要改动硬件部分。使用f p g a 来开发数字电路, 不仅可以大大缩短设计时间,重要的是可以减少p c b 面积,同时提高系统的可 靠性。f p g a 是将程序先存放在片内r a m 中,设定f p g a 的工作状态。因此下 板时需要对片内的r a m 进行编程。用户根据自己的实际条件可以根据不同的配 置模式,采用不同的编程方式进行配置。加电时,f p g a 芯片将e p r o m 中的数 据读到片内编程r a m 中,配置工作完成后,f p g a 就进入乐工作状态。然而一 旦掉电,f p g a 就会恢复成原状,内部逻辑关系消失不见,但是f p g a 能够反复 使用,功能可以不断的改变和更新。f p g a 的编程不需要专用的f p g a 编程器, 用一般的e p r o m 、p r o m 编程器就可以了。当需要修改f p g a 的功能时,只需 换一片e p r o m 即可。这样,同一片f p g a ,不同的编程数据,可以产生不同的 电路功能。因此,f p g a 的使用非常灵活。目前,f p g a 内部包含了不少的内嵌 的乘法器、乘法累加器以及大量的片上r a m 等所有d s p 操作所需要的特性。 这些特性再加上f p g a 提供的并行性,其性能能够比最快的d s p 芯片还要快上 5 0 0 倍以上。总之,f p g a 拥有众多的优点:在高性能的平台上进行硬件设计, 拥有最优化的资源,并且不需要操作系统,可以重新进行配置等等。随着f p g a 价格的不断下降,f p g a 对嵌入式控制的应用领域也越来越具有吸引力。 总的来说,a r m 相对来说具有很强的事务管理能力,可以用来进行界面设 计以及应用程序等方面,其优势主要体现在控制上,而d s p 主要是用来计算复 杂的算法分析等,比如在调制解调和加密解密等方面,d s p 拥有无以伦比的处理 优势。而f p g a 可以用v h d l 或v e r i l o g h d l 来编程,灵活性也很强,由于能够 进行编程、除错、更新以及功能替换等,f g p a 可以充分地用来进行设计的开发 和验证。当电路有少量改动时,更能显示出f p g a 的优势,其现场编程能力可以 延长产品在市场上的寿命,如果其中的资源还没有使用完全,那么如果内部信息 需要进行改变或更新,f p g a 还可以腾出足够的空间支持多次的变更或升级。但 f p g a 价格昂贵,在硬件性能上要求不是很高的条件下,尽量不选择f p g a 芯片。 中南大学硕士学位论文 第一章绪论 对于m q 编码器来说,虽然编码算法并不复杂,但大量的时序控制以及达 到与位平面编码相匹配的高速编码性能是设计的难点。对于d s p 来说,虽然可 以很好的实现循环和复杂的算法操作,但在实时处理速度上无法满足设计需求。 而在f p g a 平台上可以用流水线的方式很容易的进行硬件的优化,同时又具备可 编程逻辑的灵活性和可重用性,能够方便的进行定制出专用的硬件功能。因此采 用f p g a 芯片作为m q 编码器的硬件开发平台是最合适的选择。 1 5 本文研究的内容和结构 本文以j p e g 2 0 0 0 中的m q 编码器作为研究对象,通过对算术编码基本原理 和算法进行研究和分析,利用状态机控制和流水线设计思想,提出了一个高吞吐 率的v l s i 实现架构,并使用v e r i l o g 硬件描述语言对其结构进行描述,最后作 出综合仿真验证和性能比较分析。 本文以下的内容结构如下: 第一章,绪论。对算术编码的发展以及硬件设计的研究现状进行了介绍, 分析了本文研究和设计的对象的意义所在。 第二章,算术编码器的编码分析。首先详细介绍了算术编码的基本原理, 包括早期的e l i a s 编码思想以及在e l i a s 编码基础上进行完善的现代算术编码。然 后对算术编码在j p e g 2 0 0 0 中的实现方式即m q 编码器的编码方式进行详尽的分 析,对m q 编码器的编码特点以及m q 编码算法中各个操作流程进行了详尽说 明。 第三章,m q 编码器的高速v l s i 设计。针对m q 编码器的缓慢的串行编码 方式进行高速v l s i 设计。提出一个能够实现1 个时钟周期内处理一对数据对的 4 级流水线的设计方案。根据算法流程对每级流水线中可能存在的问题进行分析 与优化,之后给出一个该设计的流水时钟分析以及总体的硬件设计架构。 第四章,综合仿真验证与分析。对本文设计的m q 编码器进行综合,然后 对综合的结果进行静态时序分析,找出关键路径所在,再进行电路的综合优化, 之后进行仿真和验证,得出设计的正确性,最后对该电路的性能进行比较分析。 第五章,总结和展望。对本文研究工作内容进行一个总结,同时为下一步 研究提出了相关的研究内容和方向。 6 硕士学位论文 第二章m q 编码器编码分析 第二章m q 编码器的编码分析 m q 编码器采用了二进制白适应的算术编码思想进行编码。算术编码是一种 变长度的编码技术。e l i a s 在二十世纪六十年代为算术编码奠定了一个基本的编码 思想。算术编码与h u f f m a n 编码相比,有更高的编码效率和更广泛的应用范围。 算术编码中通过对一系列的输入符号用个o n l 之间的实数进行代替,输入的符 号序列越长,意味着信息所用的区间越小,编码输出就会越长。对发生概率较大 的符号进行编码时,区间细化的频率会比较慢,所以在编码结果中产生的位数会 比较的少。而对发生概率较小的符号编码的情况正好相反。如果输入的符号概率 统计是精确的,那么算术编码在理论上可以达到无失真条件下给出的极限值。另 外,当信源中包含的参数或者符号比较少时,比如说只包含两种符号样式,算术 编码的编码效果不会受到太多的影响,而h u f f m a n 等编码方法对这种信源几乎起 不到任何的压缩效果。 2 1 算术编码原理 算术编码的编码思想来源于e l i a s 编码,它解决了e l i a s 编码存在的无限长精度 的编码问题,使得算术编码能够有广泛的应用空间。 2 1 1e l i a s 编码 e l i a s 编码【2 5 1 是算术编码思想的基础。与其他编码思想比较,具有下面4 个方 面的特点。 1 递归划分概率区间 在e l i a s 编码中,对于具有0 或l 值的二进制符号系列,是按照各自出现的可能 值比率将当前的概率区间划分成两个不同大小的子区间,这个子区间将和分配给 实际产生符号的概率值区间下限值构成相应的编码代码串,随着二进制符号的输 入概率区间以及区间的下限值逐步地递归地进行更新。e l a i s 区域更新的编码算法 步骤如下所示: 初始化co = 0 ,a0 2 l f o re a c hn = 0 ,1 , a 。+ l 卜彳。f ,( x 。) c 。+ i c 。+ anf ,( 工。) 7 硕士学位论文 第二章m q 编码器编码分析 其中e ( x ) 是输出x - - x 的概率,a n 是概率区间的宽度,c n 是概率区间下限的具 体值,舢表示概率区间的初始宽度,c o 则表示概率区间下限的初始值,f 。( x ) 则 表示累计分布。 也就是说可以按如下的规程进行e l i a s 编码: 设概率区间的初始宽度为1 ,其下限初始值为0 ,而且o 的发生概率为q ,1 的 发生概率为p ( q l 2 时,a n 总是在2 q 和2 之间,所以 4 p o 。ra p o ,。 一般来说,口值定在三分之二左右, 中,式( 2 7 ) 简化为 r 卜瓦= 2 绲。= 2 肌,硪一 ( 2 7 ) 为采用这一近似,将2 口并入概率估计 ( 2 8 ) 这样就消除了乘法运算,但是同时又出现了另外一个新的问题。如果记号是 吒= 1 ,算法继续对t 赋值: 丁卜2p 彳一t = 2 p ( 彳一2 口p :。) ( 2 9 ) 这时,如果有 广石1 ; ( 2 1 0 ) t 的值则可能变为负数,这是在选择了a l 2 的情况下很可能会产生的一种情况。 为了解决这个问题,需要在出现这种异常时是对记号0 和1 进行互换。如果 邑 0 ,1 ) 表示最可能的记号( m p s ) 结果,可以表示成下面的条件等式: sn = a ( 2 1 1 ) 如果把表示为最不可能的记号( l p s ) 出现概率的估计值,则可以表示成下面 1 2 l 一2 1 2 以 “ k 仉 硕士学位论文 第二牵m q 编码器编码分析 的条件等式: 具有无乘法运算特性的具体的编码算法步骤如下所示: ( 2 1 2 ) 无乘法器的近似对编码效率是否具有很大的影响呢? 经过大量的研究和发 现,当编码当记号概率倾斜度很大时,是达到最大压缩率的地方,这时的a 的优 化值接近2 3 。在j p e g 2 0 0 0 静态图像压缩标准环境下,m q 编码中的口值取为 0 7 0 8 。另外,编码效率的最大损失一般是出现在l p s 概率接近1 2 附近。每当 此时就交换m p s 和l p s 的编码方式,确保m p s 分配到了较大的划分区间。而 条件交换的时候总是要进行重归一化过程。 3 自适应概率估计 一般来说,统计的数字都不是一个平稳的状态,通常需要把相对较近或较早 检测到的输出符号进行概率估计。而m q 编码中的自适应概率估计采取的方法 是这样的:将具体环境中检测到的0 或l 符号的个数分别进行计数,当其计数值 l o 和l 超过某个下限值o m 时,通过将计数值进行重归一化来实现概率估计。自 适应概率估计的部分算法如下所示: 一2 。 c t - 1 ; 其中c t 为一个5 位的加法计数器,它对当前剩余的数据进行位数计数。为 了减少路径开销,可以把c r e s u l t 改成: c r e s u l t = c m a s k ,18 1 b 0 ) c t ; 由于剩余的数据位最多为1 8 位,所以b i t b u f 采用一个1 8 位的寄存器作为处 理空间。可以这样把左移数据合并到数据流中: a u g m e n t 3 3 :1 6 = b i t b u f + c r e s u l t 3 3 :1 6 ; a u g m e n t 1 5 :0 2 c r e s u l t 1 5 :0 ; 这是因为仅有高1 8 位的c r e s u l t 需要进行相加,而后1 6 位只进行简单的复 制即可。这样做就可以不必考虑进位位的值及缓冲值b 加1 后是否需要进行位 填充这几个因素,可以在一个时钟内一步到位进行字节输出。同时,为了与标准 输出一致,把c t ( 5 位) 的初始值设为1 ,即为1 1 1 l l 。图3 1 3 为改进的字节输出 的b i t b u f 更新处理部分,图3 1 4 为字节输出的计数更新处理部分。图3 1 5 为数 据融合图。图3 1 6 为对第三流水级和第四流水级的操作进行时序控制的状态机 模块顶层图。改进后相应的字节输出和b i t b u f 更新以及计数更新操作的伪代码如 下: i fb i t s = 2 7 b 0 = a u g m e n t ( 2 6t o3 3 ) ; i fb 0 = 0 x f f b i = 0 ; b 1 = a u g m e n t ( 1 9t o2 5 ) ; b i t b u f = a u g m e n t ( 1t ol8 ) ; b i t s = b i t s 一1 5 ;) e l s e b i = a u g m e n t ( 1 8 t o2 5 ) ; i fb 1 = 0 x f f b i t b u f = - 0 ; b i t b u f = a u g m e n t ( 1t ol7 ) ; b i t s = b i t s 一15 ;) e l s e b i t b u f = - a u g m e n t ( 0t o l7 ) ; b i t s = b i t s 一1 6 ;) ) ) 3 8 硕士学位论文 第三章m q 编码器的高速v l s i 设计 e l s ei fb i t s = l9 b 0 2 a u g m e n t ( 2 6t o3 3 ) ; i fb 0 = 0 x f f b i t b u f = - 0 ; b i t b u f = a u g m e n t ( 9t o2 5 ) ; b i t s = b i t s 7 ; e l s e b i t b u f = a u g m e n t ( 8 t 0 2 5 ) ; b i t s = b i t s 一8 ; e l s ei fb i t s 1 9 b i t b u f = a u g m e n t ( 16t o3 3 ) ; c r e s u l t 图3 13 b i t b u f 更新结构 s h i f t 矿一嚣娜m 唑 图3 1 4 字节计算更新结构 c r e s u l t 右移c 1 位 a u g m e n tx x x ( 缓冲位) 【】【x 图3 1 5 数据融合图 3 9 将c r e s u l t 右移 c t 位,将其最 高位和a u g m e n t 中的缓冲位的 最低位对齐进 行相加,实现 数据融合 硕士学位论文 第三章m q 编码器的高速v l s i 设计 3 3 流水线时序时钟分析 本电路设计共有7 个时序时钟。下面分别对这7 个时序时钟中所需要去执行 的任务一一进行分析。 第一个时序时钟主要是f i f o 进行操作。当第一个时序时钟来临,f i f o 的写 时钟w r e i l 置零,读时钟r d f i f o 置1 ,开始从f i f o 中进行待编码数据对的输出, 根据时钟依次输出6 8 个( c x ,d ) 数据对,同时对输出的数据进行计数,当计数到 6 8 时停止f i f o 的数据输出。这里的输出值为d o u tf i f o ( 6 位) 。 第二个时序时钟主要是以r a m 为核心进行操作。当第二个时序时钟来l 临, 把d o u tf i f o 的值用寄存器进行存储,存储值的高5 位赋给c x ,低0 位赋给d , 硕士学位论文 第三章m q 编码器的高速v l s i 设计 把c x 作为r a m 的读地址,r a m 的输出为d o u t位) ,把其高位赋给,ram(7 6i n d e x 其低o 位赋给m p s 。根据条件c xr e g 是否恒为c x ,对该阶段的输出进行选择 判断,是输出i n d e x 和r a p s 还是输出其更新值i n d e xu p d a t ar e g 和i n d e x u p d a t a ,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论