适用于Jpeg2000标准的高速比特平面解码方法及电路技术

技术编号:3585970 阅读:223 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种针对ISO/IEC  JPEG2000图像压缩编解码标准中EBCOT系数比特平面快速解码的实现方法及其电路结构,以提高JPEG2000  EBCOT解码效率。本发明专利技术提出的位平面解码电路将原码块扩展虚拟象素构成新的码块,分三个bank存储系数及系数的状态信息,减小了存储器的访问量。并且采用6×4的窗口对系数进行扫描,加速了解码过程;同时利用并行技术进一步提高了总的EBCOT解码吞吐量。本发明专利技术可以提高JPEG2000图像解码效率,可以广泛应用于数码影像产品中。

【技术实现步骤摘要】

本专利技术提出了一种针对JPEG2000标准的位平面解码方法及电路实现,该电路是高速 EBCOT解码器的一部分,广泛应用于计算机网络应用、数码相机、摄像机等领域。
技术介绍
随着多媒体技术的发展,现在的图像压縮技术不仅要求具有较高的压缩性能,而且还要 求有新的特征来满足一些特殊的需求,如在达到较低比特率的同时保留较高的压縮品质,能 够同时具备有损和无损压縮方式,能够支持图像局部编解码处理,支持图像质量渐进传输等, 这些需求使得JPEG2000标准应运而生。JPEG2000是以离散小波变换为主的多解析编码方式。自JPEG2000标准公布以来,诸多文献对其编码原理及其电路实现进行了分析,尤其体 现在EBCOT (Embedded Block Coding Optimized Truncation)方面。EBCOT,即所谓具有优 化截断特性的嵌入式块编码,是JPEG2000编码最关键的技术,也是硬件实现最复杂的部分, 它的主要思想是将重要的信息优先编码、传输,为MQ算术编码器提供上下文CX,实现码 流的按质量渐进传输和断点优化阶段。这种算法使得JPEG2000在码流控制上不仅可 以输出具有丰富特性的码流,而且还可以生成高压縮比的码流。由于EBCOT的运算对象是各个子带内的编码块,每个编码块又是由若干比特平面构成, 每个编码平面又是由若干个条带(stripe),若干列(column)和若干象素(pixel)构成,JPEG2000 编解码的数据处理都是基于这种比特平面进行的,如图1所示,由于每个比特平面需要进行 三个编码过程(pass)的扫描和算术编码,大大降低了 EBCOT的运算速度,使得EBCOT解 码与小波变换之间出现瓶颈。许多文献提出了加速EBCOT运算的VLSI结构,提出了基于象 素跳跃(Pixel Skipping),列组跳跃(Group of Column Skipping)甚至平面跳跃(Plane Skipping) 的加速方法。然而,这些方法一般只适用在JPEG2000编码电路中,因为编码时,每个象素 的每个比特是透明的,也就是说对于编码器,这些系数是已知的,因而只要存储器足够大, 只要缓存足够大,可以将原先串行的三个编码过程改为并行执行,这样就提高了编码效率。 但是对于解码电路,对解码器透明的只有压缩的比特流,解码器需要重新构建各个系数平面, 要想提高解码效率需要综合考虑JPEG2000的码流特点,以及外部存储器的组织。JPEG2000标准中的位平面解码属于EBCOT解码的一部分,它的解码原理如图2所示。一个图像片(tile)经过小波变换后分为四个子带(LL,LH,HL,HH),每个子带的系数分为若T个解码块,每个解码块又分为若干个位平面,每个位平面按照三个解码过程依次逐 列解码,如图3所示。同编码过程一样,解码也是从系数的最高位(MSB)的位平面开始解 码,直到最后一个pass解完,完成所有比特平面的解码。解码时,码块的每个系数分别对应 一个4位的状态寄存器,分别记录符号、重要性、幅度特性及该系数是否被访问这四个系数 特征。解码起始时所有系数均被初始化为不重要的(insignificant),遇到非零比特时,该 系数变为重要的(significant),接着接收该系数的符号位,并根据标准中规定的符号计算公 式解出该系数的符号,并存入状态寄存器。之后,该系数的其他(在后续比特平面中处理的) 比特位即进行幅度精练解码,直到整个系数所有比特平面解完。由于在编码时,小波变 换将图像的大部分能量都集中到低频的子带,即LL子带,因此从系数构成看,初始的几个 位平面为全零的平面,这些平面对整个码块信息量贡献很小,因此在开始解码时,需要 从包头中获取从MSB开始零平面个数的信息,最后根据解得的系数合成最终需要进行反量化 的系数,然后再进行离散小波逆变换。在每个pass进行解码时,位平面解码器为算术解码器提供系数上下文(context, CX),上 下文可以理解为对码块系数及其周围系数特性的一个代数描述,为19个不同的代码,用数字 0到18来表示。算术解码器根据CX查找概率估计表并进行相应的比较计算,输出系数值D, 然后比特平面解码器根据接收的D,产生下一个系数的CX,再输出给算术解码器。上下文的 产生是由当前解码系数周围8个系数的状态信息决定的,如图4所示。处理码块边界系数时, 一律视码块之外系数为非重要的,即重要性状态为零。JPEG2000的嵌入式编码算法对每 个编码通道提供了一个可能的断点,这样可以对码流进行失真度和码率的平衡处理,解码时 根据编码的模式设置,提供对断点的支持。此外,本BPD还提供对算术解码起初始化的控制, 根据编码码流的模式特性决定如何对算术解码器进行查找表和移位寄存器的初始化工作。由于解码时,输入给解码器的码流是具有一定pass顺序的,即按照重要性扩展通道,幅 度细化通道和清除通道的顺序,因此,解码时解得的系数位不是按每个编码块每个比特平面 的条带(Stripe)顺序的,因此要想实现编码通道并行处理的机制十分困难,而且硬件复杂度 非常高,串行解码使得解码效率十分低下,解码引擎不断的产生CX,总是按照三个pass的 解码顺序扫描已解的系数,并不断地判决下一个系数位属于哪个pass,是否具备可解条件, 这样就浪费许多时钟周期。由于同一级各个子带反量化系数都准备好了才能进行小波逆变换 的处理,因此, 一个仅用BPD模块完成整个tile的解码必将出现瓶颈。而在多个BPD并行 处理时,各个BPD的处理速度是不一致的,这样会出现解码快的BPD等待解码慢的BPD的 情况,而不能启动已完成解码的BPD开始下一个码块的解码,这样就降低了工作效率。 为了避免BPD解码瓶颈的出现,最大限度提高整个tile的解码效率,并且减少后续小波 逆变换时RAM地址访问的硬件开销,本专利技术采用的优化方法主要有-(1) 采用与片内RAM位宽对应检测窗口对待解的系数位进行扫描,加速判决过程。(2) 对存储器进行合理组织,在地址产生时减小硬件开销。(3) 并行实列化3个BPD,分别对LL和LH, HL, HH子带的码块进行解码。(4) 将解码完无序的系数按照码块各行列顺序写入外部存储器。在整个JPEG2000解码器层,采用并行的BPD结构,对多个码块并行解码,提高了BPD 和算术解码器、小波逆变换模块的数据吞吐量。
技术实现思路
本专利技术的目的在于提出一种适用于JPEG2000标准的,解码效率高,硬件开销小的EBCOT 比特平面解码器。本专利技术基于现有的JPEG2000标准的EBCOT编码器原理,并将其进行改进提出的。BPD 解码器内部包含象素解析部分,和存储器操作部分,电路结构如图5所示。象素解析部分主 要采用一个象素检测窗口,该窗口大小视片内存储器的位宽决定,位宽越大,意味着一次读 入的系数越多,窗口就可以设置的越大, 一次扫描的信息量就越大,存储器分为多个bank, 分别存放每个条带中各个行的系数,如图6所示。如本专利技术中采用的存储器位宽为64bit, BPD 解码的系数为16位,这样一次可以读取两列系数到内部寄存器。这样构成4X6的扫描窗口, 只需一个时钟周期可以完成窗口内待解系数的定位或者发生skip的判决。如果本文档来自技高网
...

【技术保护点】
一种适用于JPEG2000标准的比特平面解码器(Bit-PlaneDecoder),是对已实现的JPEG2000位平面解码器的改进,其特征在于该解码器与算术解码器(MQDecoder)协同工作,完成JPEG2000解码器中的EBCOT解码,对原有码块进行初始化,扩充虚拟系数,形成一个新的码块,BPD采用一个4×6的检测与解码窗口对新码块的系数进行重构,每个pass解码时采用“窗口跳跃”方法,并采用流水的方式处理解码、寄存器更新、写外部RAM的过程,以提高解码效率,最终将解得的系数存入外部RAM中;BPD解码电路访问片内RAM采用多bank方式,减小存储器访问次数。并在整个JPEG2000解码器实例化多个BPD模块并行解码,以提高解码效率;所述的协同工作是指BPD和MQD通过两个握手信号,即bpd_ready和mqd_ready,仅在两个时钟周期以内完成一次比特平面上下文(Context,CX)和解码比特(D)的传输;所述的对图像系数重构是指在三个pass(重要性通道,幅度细化通道和清除通道)解码时通过输入的比特位重建整个系数;所述的窗口跳跃方法是:对于每个比特平面,在三个通道解码过程中,跳过窗口内无需解码的2×4个系数位;所述的流水方式处理系数包括三个过程:(1)对读入窗口的系数位进行通道解析,筛选出待解的系数,即处理过程;(2)对系数位寄存器的更新过程,即将新的系数值及状态值进行更新;(3)将解得的系数写到对外部存储器的过程。...

【技术特征摘要】
1.一种适用于JPEG2000标准的比特平面解码器(Bit-Plane Decoder),是对已实现的JPEG2000位平面解码器的改进,其特征在于该解码器与算术解码器(MQ Decoder)协同工作,完成JPEG2000解码器中的EBCOT解码,对原有码块进行初始化,扩充虚拟系数,形成一个新的码块,BPD采用一个4×6的检测与解码窗口对新码块的系数进行重构,每个pass解码时采用“窗口跳跃”方法,并采用流水的方式处理解码、寄存器更新、写外部RAM的过程,以提高解码效率,最终将解得的系数存入外部RAM中;BPD解码电路访问片内RAM采用多bank方式,减小存储器访问次数。并在整个JPEG2000解码器实例化多个BPD模块并行解码,以提高解码效率;所述的协同工作是指BPD和MQD通过两个握手信号,即bpd_ready和mqd_ready,仅在两个时钟周期以内完成一次比特平面上下文(Context,CX)和解码比特(D)的传输;所述的对图像系数重构是指在三个pass(重要性通道,幅度细化通道和清除通道)解码时通过输入的比特位重建整个系数;所述的窗口跳跃方法是对于每个比特平面,在三个通道解码过程中,跳过窗口内无需解码的2×4个系数位;所述的流水方式处理系数包括三个过程(1)对读入窗口的系数位进行通道解析,筛选出待解的系数,即处理过程;(2)对系数位寄存器的更新过程,即将新的系数值及状态值进行更新;(3)将解得的系数写到对外部存储器的过程。2. 根据权利要求1所述的JPEG2000位平面解码器,其特征在于解码时采用一个可变的检测 与解码窗口,窗口大小由系数存储器位宽决定,本发明中存储器位宽为64位,故采用4X6 的检测与解码窗口,该窗口锁定当前待解码的8...

【专利技术属性】
技术研发人员:马依迪魏春峰蒙卡娜陈波涛
申请(专利权)人:北京中电华大电子设计有限责任公司
类型:发明
国别省市:11[]

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

1
相关领域技术
  • 暂无相关专利