Jpeg2000列关联模式下位平面编码器的通道并行实现方法

文档序号:7590481阅读:175来源:国知局
专利名称:Jpeg2000列关联模式下位平面编码器的通道并行实现方法
技术领域
本发明属于VLSI设计技术领域,涉及静止图像压缩标准JPEG2000中的列关联(Vertical Causal)模式,特别涉及利用单一滑动窗口进行控制的一种JPEG2000列关联模式下位平面编码器的通道并行实现方法。
背景技术
JPEG2000是新一代静止图象压缩标准,与JPEG相比,它支持更高的压缩比并具有更加丰富的压缩功能。JPEG2000的一大特点是采用了D.Taubman提出的EBCOT(Embedded Block Coding with Optimized Truncation)算法,即带有理想截断的嵌入式码块编码。这种算法以基于上下文生成的算数编码为基础,集成了通道扫描的概念,为JPEG2000定码率压缩控制提供了有利条件,最终得到的压缩文件大小精确,解码还原效果理想。然而在位平面编码部分由于通道概念的引入,使得EBCOT在上下文生成过程中需要对位平面进行多次扫描编码,在时间上需要付出很大代价,这一缺点导致JPEG2000编码整体效率降低,难以对高质量图象进行实时压缩处理。
EBCOT算法的整体框架结构包含两大部分Tier1与Tier2。Tier1部分完成位平面编码与算术编码,Tier2则负责对码流进行截断和打包。位平面编码采用基于通道的上下文生成方式每一个位平面经过三次扫描后被分割为三个通道1)有效性传播通道(通道1,Significance Propagation Pass,Pass1)量化系数进入Pass1的条件为在当前位平面上有效性状态为0,且其8邻域有效性状态不全为0。由于有效性状态在编码过程中不断刷新,因此可以认为该通道的编码过程即是系数有效性的传播过程;
2)幅度细化通道(通道2,Magnitude Refinement Pass,Pass2)上一个位平面编码后有效性状态为1的点,在当前位平面将归入Pass2编码;3)清除通道(通道3,Cleanup Pass,Pass3)当前位平面中未进入Pass1和Pass2的点,将进入Pass3编码。
在通道扫描过程中需要不断更新以下状态变量δ编码前有效性。若系数在进入当前位平面之前已经变得有效(即MSB已经出现),则δ值为1,否则为0;δ′编码后有效性。当前位平面编码之前δ′=δ,经过通道编码之后若系数变得有效,δ′值为1,否则保持;δ′与其他状态之间存在关联,不需寄存,可以直接由组合逻辑生成。
π编码完成标志。如果系数在当前位平面已被编码,则π=1,否则π=0;ξ幅度细化完成标志。如果系数曾经进入过幅度细化通道,则ξ=1,否则ξ=0。
位平面编码的问题在于扫描次数过多、效率低,难以应用于VLSI设计。提高速度的关键是改进这种串行的通道扫描方法,一次性遍历整个位平面,这样才有可能在硬件上达到实时。目前现有的提速方案有两种Kuan-fu Chen等人在文献“Analysis and Architecture Design of EBCOT forJPEG2000”(The 2001 IEEE International Symposium on Circuits and Systems(ISCAS 2001)[C].Sydney,AustraliaIEEE Circuits and Systems Society Press2001.5(2)765-768)中指出,三个编码通道量化系数的分布具有不均衡性。通过采用编码必要性判断(NBC,Need-Block-Coding)与组跳跃(GOCS,Group-of-column Skipping)方式,可以直接跳过不需要编码的点和组(即8个相邻列),从而削减无效遍历。这种方法的缺点也很明显,从整体效果来看编码过程是串行的每个位平面仍然需要顺序扫描三次。通过实验发现,即使采用NBC与GOCS,编码速度依然无法达到实时。
Jen-Shiun Chiang,Yu-sen Lin等在“Efficient Pass-Parallel Architecture ForEBCOT In JPEG2000”(IEEE International Symposium on Circuits and Systems(ISCAS 2002)[C].ArizonaIEEE Circuits and Systems Society Press,2002(1)773-776)中提出一种多通道并行扫描方案,使用多个滑动窗口编码器对三个通道同时进行扫描编码,算术编码器在不同通道间进行进程切换。该结构速度较快,也不需要进行多余的查询运算。但是采用多窗口设计后,控制复杂度增加。而且严格说来该方案采用的结构是准并行不存在同一个时钟周期输出两个上下文的情况,当算术编码采用三步流水设计时,该结构的处理速度仍显不足。

发明内容
针对上述现有技术存在的缺陷或不足,说明位平面编码在硬件实现方面仍然有研究价值与改进余地。因此本发明的目的在于,在通道并行方式下提出一种速度更快、所需存储资源更少,且控制复杂度更低的JPEG2000列关联模式下位平面编码器的通道并行实现方法。
实现上述发明目的的技术解决方案是,采用符合JPEG2000标准的位平面编码器,其特征在于,该平面编码器工作于列关联(Vertical Causal)模式,采用4×5单一滑动窗口生成邻域状态信息,通过SRS、CRS与SignRS三条N+1位行寄存器保存前带(previous stripe)末点(4th pixel)的状态值,对三个通道的量化系数实施并行编码;每个带的最后一列或第一列进行边缘插零处理,使滑动窗口同时跨越位平面上的两个带,借此在带间与位平面间实现连续编码。
滑动窗口第一列直接读入量化系数,采用状态信息即时判断操作,免去状态存储器。
本发明是对Jen-Shiun Chiang等人提出的通道并行位平面编码方法的一种改进。通过JPEG2000所特有的列关联(Vertical Causal)模式,采用单一滑动窗口进行编码,控制复杂度大大降低,并行效率得到进一步提高。实验证明,本发明完全可以进行VLSI实现,编码速度高于现有优化方案。
本发明表现出以下几方面的技术特点1)采用JPEG2000所特有的列关联(Vertical Causal)模式列关联(Vertical Causal)模式要求在进行上下文生成时,有意割裂行方向带(stripe)与带之间的相关性,每一列的最后一个点在判断邻域有效性时,只判断5邻域,而不是8邻域。其优点在于将邻域关联性限制在一个带之内,未被扫描到的带不影响当前点编码。采用这种模式虽然略微降低了压缩效率(约2%),但更容易实现并行运算。
2)单一滑动窗口控制逻辑Jen-Shiun Chiang等人采用的并行方案需要使用两个滑动窗口分别对应3个编码通道。本发明只需要采用一个滑动窗口(窗口大小4×5)就可以达到完全相同的效果,减少了多窗口之间的交互逻辑,控制复杂度降低。
3)无需使用状态存储器本发明采用编码状态即时判断法,可以完全省去状态存储器。所需存储资源比现有结构减少了5N2bits(N为码块尺度)。
4)简化的并行编码邻域组合逻辑位平面编码过程中需要随时参考邻域状态变量(有效性状态δ与符号状态S)。由于采用并行方案同时处理3个编码通道中的系数,因此这3个通道所需的邻域状态变量也必须同时生成。本发明设计了一套组合逻辑同时生成12个点的邻域状态信息;将有效性状态分为δ与δ′两种情况以简化运算,符号编码的处理过程也在一定程度上进行了优化。
5)带间连续编码采用滑动窗口运算时,由于码块外部有效性均为0,因此带(stripe)的边缘位置通常需要进行特殊处理。本算法通过在窗口末尾插零来解决,无需增加额外的硬件逻辑即可实现带间连续编码。对于宽度为N的码块,按照一般方法每个带的实际处理列数为N+3,而采用本方案后可优化为N+1。


图1是列关联模式下的邻域说明;图2是4×5滑动窗口编码器与行寄存器说明,图中滑动窗口始终对应SRS、CRS与SignRS的第0~4位,完成一列编码后,滑动窗口右移1列,SRS、CRS与SignRS分别左移1位;图3是通道并行编码中各点邻域组合逻辑关系,图中h表示左右邻域有效点总和,0≤h≤2;v表示上下邻域有效点总和,0≤v≤2;d表示对角线邻域有效点总和,0≤d≤4;n表示系数8邻域是否有效性全为0,“是”则n=0,否则n=1;图4是边缘插零处理示意图,其中黑色方框表示4×5的滑动窗口,同时跨越两个带进行编码;图5是采用4×5通道并行方案的EBCOT编码器结构图。
具体实施例方式
下面结合附图对本发明作进一步详细说明。
1)码块输入位平面编码前需要事先读入码块数据,将其写入量化系数存储器以便在编码过程中随时访问。其前级为码块切割(Code-block Division)器,输出start启动脉冲后将量化系数逐行送出。位平面编码器每个时钟周期可以完成一个系数的接收和写入,同时进行当前系数最大值判断。全部量化系数写入完毕后即可计算出该码块的有效位平面个数m。具体步骤如下①.令pmax=0;②.接收前级送出的量化系数p,如果p|p|>pmax,则pmax=|p|,向系数存储器写入p的幅值位与符号位,若码块所有系数处理完毕,转到③,否则转②;③.有效位平面个数 2)通道并行扫描编码a)引入行状态寄存器完成量化系数写入后,将自上而下对所有有效位平面进行扫描编码。本发明采用JPEG2000中的列关联(vertical causal)模式。由于该模式只割裂了中带(current stripe)与次带(next stripe)之间的相关性,中带与前带(previous stripe)间仍然存在关联(见图1)。要进行带内并行编码,必须克服这种情况。本发明通过行状态寄存器结构来预存每列最后一个点的状态信息。
有效性状态的更新只可能发生在Pass1与Pass3,本发明采用两条行寄存器来分别记录Pass1与Pass3中每列最后一个点的有效性状态值;另外对符号编码进行邻域判断时需要用到前带符号,也需要使用行寄存器来存储,我们分别记作SRS、CRS与SignRS。之所以区分SRS与CRS,是因为在JPEG2000标准中通道扫描是有先后顺序的,在Pass3中变的有效的点,绝不会影响Pass1与Pass2的上下文生成。并行处理时,前两个通道必须使用SRS以避免通道3中的有效点干扰,通道3编码时则须使用CRS。通过3条行状态寄存器可以严格将系数邻域限制在当前带之内,对于每列第一个点,只需要读取SRS,CRS与SignRS就可以获取上方三邻域状态信息,从而避免了前带数据的冗余访问。
设码块宽度为N,则SRS,CRS与SignRS均采用N+1位环形移位寄存器结构,原因将在后面说明。
b)4×5滑动窗口编码器设计位平面编码的关键在于邻域生成。本发明设计了一个大小4×5的滑动窗口,每个单元位宽为5,分别寄存对应点的v、s、δ、π与ξ值,可并行产生3个通道的邻域状态(结构见图2)以进行上下文编码。窗口同时覆盖位平面上的5列其中第2~4列按照图3所示的组合逻辑关系表分别生成Pass1、Pass2和Pass3编码所需的所有邻域值。编码完成后,滑动窗口右移一列,同时SRS、CRS与SignRS行寄存器也进行一步循环移位,第5列的最后一个点在行寄存器上进行有效性与符号状态更新,直到整个码块编码过程结束。注意,在这种结构下,每个位平面只需要扫描一次,处理速度大大提高。
c)状态变量即时生成本发明所采用的设计无需附加状态存储器,窗口移动时通过访问量化系数存储器直接计算出第一列所对应的各个状态值。设量化系数符号为sign,幅度为mag,当前位平面序号为p,则v=mag[p]s=signδ=(mag>2P+1)?1:0π=0ξ=(mag>2p+2)?1:0
d)边缘插零处理在带的边缘(第一列或最后一列)位置,左右邻域可能落在码块外部。按照JPEG2000协议规定,外部点的有效性状态一律为零。本发明采用边缘插零处理,不需要改变任何邻域生成逻辑,即可解决边缘问题,实现带间滑动窗口连续编码。具体过程参见图4,窗口滑动到每个带的最后一列时,多插入一列零值(行移位寄存器也需预插一个0,正好与窗口位置对应),随后立即读取次带的第一列量化系数。对宽度为N的码块,窗口在每个带上的滑动次数为N+1。采用这种方案,带间、位平面间都不需要编码缓冲时间,对大小N×N、有效位平面个数为m的码块,可以实现无间断连续编码,扫描总列数为mN(N+1)/4。
3)上下文数据输出由于本发明采用通道并行扫描方案,三个通道的上下文同时输出,因此后级需要3个算术编码器分别对应不同的通道以匹配上下文生成速度。如果算术编码采用3步流水设计(在此设计下处理一个上下文只需要一个时钟),则与位平面编码器之间不需要使用fifo进行数据缓存,存储资源亦可节省。见图5。
有一点需要指出,并行方式下,算术编码必须选择“概率表初始化模式”与“通道结束模式”。这对压缩效率会带来轻微的影响(无损压缩率大约降低2%),但换取硬件的高速实现,代价是值得的。
权利要求
1.一种JPEG2000列关联模式下位平面编码器的通道并行实现方法,采用符合JPEG2000标准的位平面编码器,其特征在于,该编码器工作于列关联模式,采用4×5单一滑动窗口生成邻域状态信息,通过SRS、CRS与SignRS三条N+1位行寄存器保存前带末点的状态值,对三个通道的量化系数实施并行编码;每个带的最后一列或第一列进行边缘插零处理,使滑动窗口同时跨越位平面上的两个带,借此在带间与位平面间实现连续编码。
2.如权利要求1所述的JPEG2000列关联模式下位平面编码器的通道并行实现方法,其特征在于,滑动窗口第一列直接读入量化系数,采用状态信息即时判断操作,免去状态存储器。
全文摘要
本发明公开了一种JPEG2000列关联模式下位平面编码器的通道并行实现方法。该方法处理速度约为串行方法的3倍,且控制逻辑简单,存储需求低。本发明设计出的4×5滑动窗口编码器可以并行生成三个通道的上下文数据,采用边缘插零处理方法实现了带间与位平面间的无间断连续编码。实验证明,本发明的编码效率高于Jen-Shiun Chiang多窗口并行方法,解决了EBCOT的速度瓶颈问题,在频率不超过100Mh的条件下即可使JP EG2000编码达到实时,在多媒体领域具有广阔的应用前景。
文档编号H04N7/26GK1564580SQ20041002601
公开日2005年1月12日 申请日期2004年4月7日 优先权日2004年4月7日
发明者郑南宁, 朱悦心, 刘跃虎, 王勇, 梅魁志 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1