JEPG2000位平面编码(EBC)算法优化及实现

  • 格式:pdf
  • 大小:567.39 KB
  • 文档页数:7

- 20 -

http://www.ivypub.org/cst Transactions on Computer Science and Technology

March 2015, Volume 4, Issue 1, PP.20-26

Algorithm Optimization and Implementation of

JEPG2000 Bit Plane Coding (EBC)

YuanJun Ma#

, Tun Li

School of Computer, National University of Defense Technology, Changsha 410073, China

#Email: mayuanjun258@126.com

Abstract

Tradition of JPEG2000 bit plane coding upon using a single sample data processing channel selection and then encoded output, the

data will be encoded slower inprocessing problems. This paper proposes an efficient bit plane encoding technique, It is through

before coding the premise on a column for encoding data to predict the channel, When the arrival of the sample can be directly

coded into the through-channel encoder for encoding, and the predicted results of using of the encoded data to control the output.

The encoding speed was improved at the same time Andoperation system throughput greatly been improved. So this method can

effectively alleviate the bottleneck of the problems of JPEG2000 image compression algorithm upon itself, and the subsequent MQ

coding provides a better design of assembly line. Paper-based methods have been proposed hardware implementation, the

experimental results show the effectiveness and efficiency of the method.

Keywords: Bit Plane Encode (EBC); JPEG2000; Multi-Parallel; VLSI; Predict

JEPG2000位平面编码(EBC)算法优化及实现

马元君,李暾

国防科学与技术大学 计算机学院,湖南 长沙 410073

摘 要:传统的JPEG2000位平面编码(EBC)一般采用单个样本数据对处理通道选择进而编码输出,会出现对数据编码时

处理速度较慢的问题。提出了一种高效率的位平面编码(EBC)技术,通过在编码前提前对要处理的一列待编码数据进行

通道的预测,在样本编码到来时可以直接进入编码通通道进行编码,同时在编码通道中使用预测的结果对编码完成的数

据完成控制输出,使得编码速度得到提高的同时也对高运算系统的吞吐量得到大幅度的提升。从而有效的缓解了

JPEG2000图像压缩算法本身带来的编码速率的瓶颈问题,并对后续的MQ编码提供了更好的流水线设计。论文基于这种

提出的方法来进行了硬件的实现,最后实验结果表明了该方法的有效性和高效性。

关键词:位平面编码(EBC);JPEG2000;多样本并行;VLSI;预测

引言

2000年12月,联合图片专家组提出了下一代图像的压缩编码标准——JPEG2000。在整个JPEG2000中

位平面编码(EBC)占据了相当大的比例,其中相对无损压缩约占50%之多,所以它处理能力的强弱将会直接

导致对系统的整体性能严重的影响,因此EBCOT算法的加速结构设计和优化成为了解决问题的重点。

目前提出的位平面编码(EBC)技术大致可为以下这几种:

1. 编码块并行结构。它是根据因来自于LL,LH,HL,HH编码块是独立进行编码的,进而可以进行该

并行结构。但同样存在这硬件资源严重浪费的严重问题;

2. 样本的并行结构,是对4个样本进行并行编码。但是并没有对不需要编码的数据进行预测,而是对每

个都进行编码处理,这样会导致大量的逻辑单元的浪费,又因为生成过多的(CX,D)数据对进行选择; - 21 -

http://www.ivypub.org/cst 3. 串行结构,样本跳过、列跳过等。原理是跳过无需编码的数据来节约对时钟消耗[2][3]

传统结构这样就会产生以下结果:1.会浪费很多时序,不利于实现较好的流水线,这也是EBCOT的瓶

颈原因之一;2.因通道的顺序唯一且选择性,传统的实现会浪费硬件资源来完成;3.传统对样本进行一个个

的采样,不能发挥出硬件的并行优势。在JEPG2000算法中,每个样本的重要性状态在编码前可以预测出来,

它取决于待编码的系数本身,这就为并行编码提供的可能。主要针对位平面编码器在选择编码通道进行对

数据编码时处理速度较慢提出了一种预测选择并行结构,使处理能力增强,提高了流水线处理。

1 EBC算法简介

EBCOT算法由两部分组成:位平面编码和算术编码。位平面编码算法是将当前编码块从最高有效位平

面(MSB)到最低有效位平面(LSB)的顺序来进行编码的,而在每个位平面,三个的编码通道(重要性编码通

SP – Significance Pass、幅值细化编码通MR - Magnitude Refinement Pass、清理编码通CP – Cleanup Pass),

按照条带(Stripe)——条带列(Column) ——样本(Sample)的顺序,依此对当前要编码的位平面上的所有系数先

进行扫描,然后对当前系数位上下文窗口内的系数状态生成符号(D)和上下文(CX)数据对序列。这些数据对

将会随后送往算术编码器(Arithmetic Encoder)中进行下一步的算术编码[1][4]

位平面编码(EBC)是在经历了小波变换后,其结果是将图像矩阵变成一个子带矩阵,然后对每个子带分

成固定大小码块,随后对其进行编码处理。每个编码块会根据从最高位到最低位进行平面展开(注意符号

位)。

编码规则是按照高位平面到低位平面进行依此编码的。EBCOT会对位平面完成扫描选择三种编码通道

之一来进行编码,但每个样本仅会在某一个通道进行编码。

2 算法结构优化

针对第2章提到的要求对结构优化改进,对即将要编码的样本数据从输入数据缓冲模块进入预测模块,

在预测模块中对给出的各状态进行分析,利用条件的优先级和数据的本身属性进行判断,对哪一个数据将

在哪一个处理通道进行编码做出判断输出,用该输出的结果来控制待测样本在三中编码通道中是否要进行

编码、如何输出等问题。

图1为传统的一个数据样本的编码流程,图2为改进的4样本的预测并行处理的流程。

通过上图流程图可以明确看出,这样的改进与之传统的结构速度提高了4倍,同时由于能够提前对数据

预测并对输出的结果进行选择的结构改进进一步带来了更好的流水线,有利于时序的优化。

现在对该算法结构的可行性进行分析,并行编码时还需要对数据样本的相关性进行考虑。

CUSP是否某一样本周围重要性都为0是否样本本身重要性为0

是否

MR

图1 单个数据样本的预测 - 22 -

http://www.ivypub.org/cst

是否4个样本周围重要性都为0

是否4样本本身重要性为0

CUSP

RCL(CU)是

是否某一样本周围重要性都为0

是否

是否样本本身重要性为0是

是否

MR

END数据

图2 四样本的预测并行

Pre

cupP3-enCx/d

P1counterSppP1-enCx/d

P1counter

mrpP2-enCx/d

P1counterResetClk

参数

图3 设计框图

如现在假设在某一列中存在着4个样本数据A1,A2,A3,A4。假如A1的幅值为1,重要性状态为0,则

A1将会被选定进入重要性编码通道进行编码,假如A2以及8领域的重要性都为0,但是会因A1的提起编

码导致A1重要性状态参数的发生改变[5]

,从而A2在进行编码时,会进入重要性编码而不是清除编码。由

对样本相关性,在并行处理时对预测模块要实现更新。

上面提到输出的预测,在预测中同样还要考虑到状态量的更新(重要性和幅度细化),这关系到下个

样本数据的编码。

首先,对重要性进行分析,可以得出当样本的幅度值为1时编码后,重要性状态量δ(j)将会被置为1。

在预测模块中可利用样本数据的幅度值对其进行预测实现,并返回更新值。 - 23 -

http://www.ivypub.org/cst 再对幅度细化状态量分析,它的改变条件是若样本j的重要性为1的条件下,在下一个位平面编码(EBC)

时,本身的幅度细化状态ζ(j)被置为1[6]

。也就是在第一次进行幅度细化编码后,ζ(j)被置为1,在预测模块

中可对其进行实现,并返回更新值。这样预测模块和编码通道同步的设计就是是可行的。

同样也要考虑编码通道的顺序性,即重要性编码通道—幅度细化编码通道—清除通道。并且每个通道

要处理的样本数不尽相同,在实现并行时要对输出更要进行预测。

3 EBC的设计

图3为设计时算法的结构图。由图3可以看出该算法结构主要以下模块:

3.1 预测模块

此模块是的核心内容,是控制EBC模块的核心[7]

,它的输入是从待编码系数的各状态存储器读取的即

将被用到的状态量,经输入缓冲模块进入到预测模块,这些状态有待测样本幅值、3x6bit重要性状态量、

3x6bit幅度细化状态量、3x6bit符号信息。将以上这一列4样本的状态输入,按照传统的通道的扫描顺序,

即重要性编码通道(SPP)—幅度细化编码通道(MRP)— 清理编码通道(CUP)的顺序。按照图2所示流程完成判

断,判断结果P1_EN,P2_EN,P3_EN为4bit的数据分别表示重要性编码通道(SPP)、幅度细化编码通道(MRP)、

清理编码通道(CUP)的使能情况,当其中某一数据位为“1”,表示相应的待编码数据要进入相应的编码通

道完成编码,例如P1_EN的值为“0001”即表示第一位的待编码数据将进入重要性编码通道(SPP)进行编码。

3.2 编码三通道

此模块不同于传统的编码通道,该模块是实现并行的基础,因为组成三通道的4种代码原语是由很简单

的组合逻辑加以实现的,采用了一种用以少量的硬件资源来换取时间的方式来并行处理1列4个样本。同时