Algorithm Optimization and Implementation of JEPG2000 Bit Plane Coding (EBC)

Page 1

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)数据对进行选择; - 20 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 倍,同时由于能够提前对数据 预测并对输出的结果进行选择的结构改进进一步带来了更好的流水线,有利于时序的优化。 现在对该算法结构的可行性进行分析,并行编码时还需要对数据样本的相关性进行考虑。 否 是否样本本身重要性为0

MR

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

SP

CU

图 1 单个数据样本的预测 - 21 http://www.ivypub.org/cst


数据

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

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

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

SP

是 否

RCL(CU)

是否样本本身重要性为0

MR

是 CU

END

图 2 四样本的预测并行 Clk

P1-en

Cx/d

Reset

参数

Spp P1counter

Pre

P2-en

Cx/d

mrp P1counter

P3-en

Cx/d

cup

P1counter

图 3 设计框图

如现在假设在某一列中存在着 4 个样本数据 A1,A2,A3,A4。假如 A1 的幅值为 1,重要性状态为 0,则 A1 将会被选定进入重要性编码通道进行编码,假如 A2 以及 8 领域的重要性都为 0,但是会因 A1 的提起编 码导致 A1 重要性状态参数的发生改变[5],从而 A2 在进行编码时,会进入重要性编码而不是清除编码。由 对样本相关性,在并行处理时对预测模块要实现更新。 上面提到输出的预测,在预测中同样还要考虑到状态量的更新(重要性和幅度细化),这关系到下个 样本数据的编码。 首先,对重要性进行分析,可以得出当样本的幅度值为 1 时编码后,重要性状态量 δ(j)将会被置为 1。 在预测模块中可利用样本数据的幅度值对其进行预测实现,并返回更新值。 - 22 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 个样本。同时 在处理结果根据预测模块得出的结论结果进行选择输出,进而实现并行处理且能准确输出。特别在对于输 出,因在编码时不同的待编码样本的状态变量不同,所产生的上下文数据对 CX/D 的数量不同,所以输出时 输出的个数不是恒定数量的。因此在每个模块中都加入了数据对计数统计变量 P1counter、P2counter、 P3counter,此输出结果将作为输出缓冲模块的输入,按照 JPEG2000 的算法标准,对 3 编码通道产生的上下 文数据对 CX/D 实现顺序输出。

3.3 输出缓冲模块 对三大编码通道输出的数据对 CX/D 进行按算法标准输出,将串行输入的数据对 CX/D,其中包括一些 非必要的数据对 CX/D,通过 3 个编码通道的数据对计数统计变量 P1counter、P2counter、P3counter,完成 选择并且按照顺序依此输入到 FIFO 中,实现串行转为并行的转换,这样以便实现更好地与 MQ 编码器的连 接[6][7]。 输出缓冲模块高效的传输待编码数据,由预测模块来控制并行对 3 个编码通道进行统筹安排,因输入数 据同步到达 2 个模块,从而实现了同步实现处理,该优化的结构较传统的待编码处理方法更快速无误的进行 实现,理论上处理速度上最高会比传统高出 3 倍。

4

硬件实现及验证 为了证明新结构的高速优化,对所提出结构进行了验证。用 Verilog 语言完成了 RTL 级描述,并在

ModelSim 的配搭仿真环境中进行仿真验证。 图 4 为在 QuartusⅡ环境下综合出的该算法结构的模块图。 为了进行比较,在相同工艺下,都采用了 ALTERA 公司 stratix 系列 EP1S25 器件进行 FPGA 搭建测试 和验证,在 QuartusⅡ环境下对该优化的算法结构进行时序分析[8][9],结果见图 5 - 23 http://www.ivypub.org/cst


predict:predict1 clk reset sc_0[5..0] sc_1[5..0] sc_2[5..0] fz[4..1]

cup:cup1

clk

clk

reset

1

en

p1[4..1] sc_0[5..0]

reset

counter[3..0]

p2[4..1] sc_1[5..0]

p3_en[3..0] p3[4..1]

cx_d1[4..0]

1'NC --

sc_2[5..0]

cx_d2[4..0] ch[1..0]

fz[4..1]

cx_d3[4..0] sc0[5..0]

cx_d4[4..0]

sc1[5..0]

cx_d5[4..0]

sc2[5..0]

cx_d6[4..0]

fz[4..1]

cx_d7[4..0]

fh0[5..0]

cx_d8[4..0]

counter3[3..0] cx_d13[3..0] cx_d14[3..0] cx_d15[3..0] cx_d16[3..0] cx_d17[3..0] cx_d18[3..0] cx_d19[3..0] cx_d20[3..0]

fh1[5..0] fh2[5..0]

mrp:mrp1 clk 1

en cx_d1[3..0] p2_en cx_d2[3..0] reset cx_d3[3..0] sc0[5..0] cx_d4[3..0] sc1[5..0] counter[3..0] sc2[5..0]

cx_d9[3..0] cx_d10[3..0] cx_d11[3..0] cx_d12[3..0] counter2[3..0]

fz[4..1]

spp:spp1 clk 1

en counter[3..0] reset cx_d1[4..0] p1_en[3..0] cx_d2[4..0]

1'NC -ch[1..0]

ch

cx_d3[4..0] cx_d4[4..0]

sc0[5..0] cx_d5[4..0] sc1[5..0] cx_d6[4..0] sc2[5..0] cx_d7[4..0]

fh0[5..0] fh1[5..0] fh2[5..0]

fh0[5..0] cx_d8[4..0] fh1[5..0]

counter1[3..0] cx_d1[3..0] cx_d2[3..0] cx_d3[3..0] cx_d4[3..0] cx_d5[3..0] cx_d6[3..0] cx_d7[3..0] cx_d8[3..0]

fh2[5..0]

图 4 综合出的 RTL 级模块图

图5

在参考文献[10]中为传统的 JPEG2000EBCOT-Tier1 编码器结构实现,实验实现的结果工作最高频率为 161MHz,本算法优化结构的最高频率可达 314MHz,约为传统的 2 倍。 使用文献[11]中一组已知编码结果的数据进行实验比对结果,进而来验证优化设计的结论的正确性。将 经过小波变换的数据 8 位深 4x4 的二值图如表 1 输入进行验证。 图 6 为调用 Modelsim SE 10.1C 进行了验证,如其中一组数据当 sc_0=6’b 000000、sc_1=6’b001010、 sc_2=6’b 000000,fz=4’b 1000 时,得出的 p1=1011、p2=1111、p3=0000、,即不会进行第三通道的编码, 其中第一、三、四编码数据要进入一、二通道编码,第二只进人第一通道编码,这与 JPEG2000 的协议一致, 表明了该结构的正确性和可行性,满足处理的要求。 表 1 小波变换后的结果 1 4 0 -3

6 1 5 4

-5 7 -2 -3

- 24 http://www.ivypub.org/cst

0 -4 -5 1


图 6 模拟验证

5

结论 从对传统的 JEPG2000 位平面的基础思想——基于三通道扫描方式介绍 ,到对位平面进行逐步的研究,

提出了一种改进的通道选择并行的编码方案。该方案是以传统通道处理的基础上,对需要进行处理的待编 码数据进行预测分类,处理后对结果进行预测排序输出。通过以上仿真结果可以清楚地看出该结构的并行 处理的处理速度较之传统结构有这至少 4 倍的速度,同时有效的缓解了在图像处时后续模块因 EBC 的瓶颈 带来的处理效率低下[12],使其可以在同一个周期内同时形成对 4 个待测样本产生上下文的算法结构优化, 从而实现提出的高速结构,提高了在对图像处理系统时的吞吐量及编码的速率。

REFERENCES [1]

Baofeng Li, Xingming Zhou; Architecture of Accelerators for Remote Sensing Image Processing Algorithms[D]: [PhD thesis]. Changsha: National University of Defense Technology, 2009

[2]

Zhiyu GAO, We ZHANG; JPEG2000 encoder chip key modules to optimize the design of high-performance with a watermark[D]: [Master's thesis]. tianjing: Tianjin University,2012

[3]

PONG P. CHU, FPGA Prototyping by Verilog Examples, Cleveland State University, 2008

[4]

TAUBMAM. High performance scalable image compression with EBCOT.IEEE Trans[J]. on Image Processing, 2000, 9(7)

[5]

SUN Hongyan, WANG Hongjun; VLSI Design and Softcore Realization on Bit-plane Coding in JPEG2000[D]: [Master's thesis] Shandong: Shandong University, 2009

[6]

WALA, M.; BOULDIN, D.; Integrating and verifying intellectual property blocks using platform express and Modelsim[J]. Aug. 2005

[7]

MATELA, J., HOLUB, P. Efficient JPEG2000 EBCOT Context Modeling for Massively Parallel Architectures. 29-31, March, 2011

[8]

RICHARD MUNDEN, ASIC and FPGA Verification: A Guide to Component Modeling, Morgan Kaufmann Publishers, 2005

[9]

Xiangnan Qi, Xia Xiao; Research and Design of a High-efficiency and Low-consumption Bit-plane Encoder [D]: [Master's thesis] tianjing: Tianjin University, 2009

[10] Xinyue ZHU, Jing; Full ZHANG, channel EBCOT-Tier1 JPEG2000 encoder design[J]. Electronics & Information Technology. 2006 [11] Huiyan Su; Bit-plane coding in JPEG2000 and FPGA Implementation Study [D]: [Master's thesis]changsha: Central South University, 2010 [12] Baofeng Li, DOU Yong; Bit-plane coding algorithm and FPGA design storage optimization. Computer Aided Design and Computer Graphics, 2008, 120(12): 1542-1545

- 25 http://www.ivypub.org/cst


【作者简介】 1

马元君(1989-)男,汉,硕士研究生,

2

李暾(1974-),男,汉,博士,副教授,研究方向研究方

研究方向图像压缩处理编码算法、集成

向电路可靠性分析,多核处理器验证,卫星综合电子系统体

电路物理设计,就读于国防科学与技术

系结构。Email: tunlee@sina.com

大学。Email: mayuanjun258@126.com

- 26 http://www.ivypub.org/cst


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.