微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > JPEG2000编码器IP核设计,包括具体算法与结构

JPEG2000编码器IP核设计,包括具体算法与结构

时间:01-05 来源:3721RD 点击:

经过这段时间的调用,阅读文献,决定采用"High-Speed VLSI Implementation of 2-D Discrete Wavelet Transform",Chao Cheng and Keshab K. Parhi文中描述的算法。该算法具有对称统一的结构,可以方便的均衡硬件使用和分解效率,通过选取适当的并行级别,我们可以得到满足需要的DWT分解元件。具体介绍见下面2部分。

5.3.1 基于并行FIR滤波器的1-D DWT结构

为了便于说明问题,假设滤波器的长度为4,初始图像大小为NxN=8x8。低通滤波器:H={a,b,c,d}; 高通滤波器:G={e,f,g,h};原始图像

首先在行方向通过低通滤波器,并进行下抽样,得到(2)式

从(2)式中可以简化得到(2a)式

该式可以转换成矩阵形式,并可变换为(2b)式

从(2b)式,我们看到1-D DWT(2a)已经转换成2个只有原始滤波器一半长度的FIR滤波器。

当对(2b)式使用2输入FIR结构,对于的计算只需要2个时钟周期,首先得到,接着得到。对(1)式的行滤波可以用如图1所示的滤波器结构实现。

以上结构所需要的硬件资源为3个乘法器,4个加法器和1个延时元件。输入数据流见图2所示,对应的输出数据流见图3所示(即mij输出)

从数据流中可以看出,图1(b)中的每个D要用4D代替。

5.3.2 2-D DWT结构(N2/2结构)

使用1输入的FIR滤波器代替之前的2输入滤波器我们可以得到N2/2速率的结构。其对应的数据流如图5和图6所示。进一步,可以进行列方向的分解,具体过程如同行方向分解,如图7所示。但若将行和列部分同步起来,还存在一个问题,可以从数据流中看出,例如计算出m00和m10需要2个周期,而列分解需同时处理m00和m10。要在N2/2个时钟周期内完成该分辨率级分解,还需要一个DEM元件,即Delay Element Matrix,其内部结构如图8。

最终我们得到了进行一级分解的完整结构如图9

若进行多级小波分解,还需要缓存HH子带的数据,并进行同样过程的处理。

利用此算法,我们可以轻易的扩展到JPEG2000编码器中所使用的9/7和5/3小波的硬件结构,该结构在计算速率上有着很大的优势,同时也会在资源使用上耗费更多的资源,但硬件资源的耗费可以控制在一个合理的范围内。一个9/7小波算法实现的技术参数比较见下表:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top