当前位置: 首页 > 专利查询>浙江大学专利>正文

离散余弦变换的处理方法及其装置制造方法及图纸

技术编号:3865256 阅读:195 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种离散余弦变换的处理方法及其装置,该处理方法基于对离散余弦变换算法的公式变型,并提出一种与之对应的装置,该装置由三个模块--预处理模块、主处理模块、后处理模块构成的流水线结构。主处理单元是由延迟单元和运算单元组成的脉动阵列结构。通过算法的改进以及脉动阵列的思想,使得整个结构实现了较高的并行度及较低的面积-时间复杂度。本发明专利技术可以应用于在图像信号处理、通信等领域中,尤其是JPEG、MPEG、H26x等国际公用的编码标准中。

【技术实现步骤摘要】

本专利技术涉及在图像信号处理、通信等领域中的离散余弦变换,尤其是涉及一种离散余弦变换的处理方法及其装置
技术介绍
离散余弦变换是N.Ahmed等人在1974年提出的一种正交变换方法。它常被认为是对语音和图像信号进行变换的最佳方法,是性能接近K-L变换的准最佳变换。DCT是H.261、JPEG、MPEG等国际上公用的编码标准的重要环节,在目前的音视频编码中占据着重要地位。鉴于DCT的重要性,因此它的VLSI实现是很有必要的,而且集成电路技术的发展也为此提供了可能。 DCT有多种形式的定义,通常所指的DCT是离散余弦变换二型,其定义如下 对N个实数x(0),x(1),x(2),...,x(N-1)的离散余弦变换为 k=0,1,2,...,N-1 其中 一维DCT的快速变换方法有很多种,例如直接按照定义是来实现的基于快速傅立叶变换的方法,基于PT(Polynomial Transform)的方法,采用脉动结构的算法和FG(flow-graphic)算法实现的变换。在这些实现中,脉动结构由于其高度流水线化、模块化、规则、局部互连、并行处理等特点而备受关注。已有的脉动结构的实现大多是线性的结构,数据串行输入输出,这样虽然可以减少所需的硬件资源的数目,但是并行度较低,数据吞吐率低,设计也较复杂,并不能很好的体现出脉动结构的优点。 其中有一种脉动结构的实现是将DCT变形成某种循环卷积的形式,通过循环卷积的脉动结构来实现离散余弦变换,例如Chao Cheng和Keshab K.Parhi在《A Novel Systolic Array Structure for DCT》(IEEE Transactions on Circuits andSystems-IIExpress Briefs,VOL.52,No.7,2005.1,pp.366-369)中的方法,图6所示为基于该方法的N=13的DCT结构图。 其原理如下 DCT定义为 k=0,1,2,..,N-1(1.1) 其中y(i)和Y(k)分别为输入和输出序列。 上面公式可以变换为如下的形式 其中 k=0,1,...,N-1(1.3) 且序列x(i)定义为 x(N-1)=y(N-1) x(i)=y(i)-x(i+1),i=0,1,...,N-2(1.4) 如果N是一个素数,则对于整数集A={1,2,3,...,N-1},可以在其中找到至少一个素数g使得该整数集中的任意一个元素m经过(gm mod N)运算后所构成的整数集B与A相同,且构成一一映射。 因此(1.2)(1.3)式中的i和k也可作为g的指数代入式中,等式依然成立。此时(1.3)式可以改写为 k=1,...,N-1 其中 并且m做如下定义 gi×gk=gi+k+m×N,i,k=1,2,...,N-1(1.5b) gi表示为(gi mod N)的运算结果。 定义其具有Ci=-C(N-i)的特性。 以N=7为例,g可以取3。则根据(1.5),我们可以得到如下的矩阵等式 交换1和4行,可得 定义 很明显三者具有B3=A3R3的关系,因此(1.7)可以表示为 其中 T0=T T1=T X0=T X1=T 最终一个7点的DCT转换为两个3点的循环卷积运算。 对于长度为N,且N为素数的离散余弦变换,基于循环卷积的快速算法可以总结为如下步骤 1)将(1.5)代入T矩阵,并且根据Ci=-C(N-i)进行化简。 2)通过如下方式对T矩阵进行变形, a)根据(1.5b),定义 b)将所有满足1≤i,k≤(N-1)/2的k值记为集合{r1,r2,...}。 c)将T矩阵行号为{r1,r2,...}和 的对应行进行交换得到新的T矩阵,比如r1行和 行交换。 3)将2)中的到的T矩阵分解为如下所示的形式 式中R(N-1)/2是一个对角矩阵,其对角线上的元素为 且A(N-1)/2和R(N-1)/2都是 的矩阵。 4)将(1.9)式的运算用脉动结构实现。 5)利用(1.2)式完成剩余的计算。 可以计算出其所需的乘法器和加法器的个数分别为(N-1)/2和3(N-1)/2,完成一组DCT所需的平均运算时间为(N-1)T/2,工作周期为T=Tm+3Ta,其中Tm和Ta分别指乘法器和加法器的计算时间。虽然所需乘法器较少,这样可以有效的减小电路面积,但是串行输入输出的结构使得平均运算时间较长,也就是说(N-1)T/2才能得到一组数据,实时性较差,同时模块也较为复杂,这从工作周期中可以看出,每个模块中至少需要按序执行一次乘法操作和3次加法操作。 集成电路技术的发展,使得单个芯片上可集成的晶体管数量越来越多,这一数字有望在2012年突破20亿。虽然集成度越来越高,但是功耗这一问题始终困扰着人们。除此之外,为了满足实时性的要求,芯片的处理速度也必须和系统其他部分相协调,更高的处理速度也是人们的需求。然而,要实现低功耗而不降低处理速度是很难实现的。因此,我们不能再仅仅只单一的关注面积复杂度或时间复杂度,而是两者的平衡,即面积-时间复杂度(area-timecomplexity)。 如果以乘法器个数和平均运算时间分别作为面积复杂度(A)和时间复杂度的衡量指标(τ)。则上述结构的面积-时间复杂度为 面积-时间积 若更重视时间复杂度,则为 面积-时间2积 集成电路技术的发展使得晶体管的集成度越来越高,单个晶体管的成本越来越低,相对人们应用需求,实时性的要求更加凸显,我们需要用Aτ甚至Aτ2为指标去衡量和优化我们的系统。显然,上述的算法和结构在面积时间复杂度上并不够理想,当我们更加重视实时性时就需要并行度更高的结构来降低时间复杂度,从而获得较小的Aτ或Aτ2。 同时,上述的算法和结构并未在整体上体现脉动结构规则、控制及通信简单等特点,无法发挥脉动结构本身的优势。
技术实现思路
本专利技术的目的是克服现有技术的不足,提供一种离散余弦变换的处理方法及其装置,以提高离散余弦变换的并行度,减小面积时间复杂度,发挥脉动结构的优势,从而满足实时性的应用需求。 为实现上述目的,本专利技术提出的技术方案如下 离散余弦变换的处理方法,用于处理N为偶数的离散余弦变换二型,包括以下步骤 步骤一,将每个x(i)与前一项x(N-i)求和得到对应的中间值v(i),将x(0)、(-1)kx(N-1)、 三项求和得到对应的中间值y0(k).其中x(i),i=0,1,2,...,N-1是离散余弦变换的输入; 步骤二,基于乘积累加处理计算的结果值; 步骤三,将步骤二的结果值与相应的常系数 相乘作为离散余弦变换过程的输出值y(k),其中 所述步骤二之前还包括预先计算v(i)、v(N-i)的和与差的步骤。 所述的步骤一计算y0(k)的方法是,计算x(0)加上x(N-1)并加上中间值之一 的值,计算x(0)加上x(N-1)并减去中间值之一 的本文档来自技高网
...

【技术保护点】
一种离散余弦变换的处理方法,用于处理N为偶数的离散余弦变换二型,其特征在于包括以下步骤: 步骤一,将每个x(i)与前一项x(N-i)求和得到对应的中间值v(i),将x(0)、(-1)↑[k]x(N-1)、v(N/2)cos(πk/2) 三项求和得到对应的中间值y0(k),其中x(i),i=0,1,2,...,N-1是离散余弦变换的输入; 步骤二,基于乘积累加处理计算T(k)=y0(k)+∑↓[i=1]↑[N/2-1][v(i)+(-1)↑[k]v(N-i)]cos( πik/N)的结果值; 步骤三,将步骤二的结果值与相应的常系数c(k)/2cos(πk/2N)相乘作为离散余弦变换过程的输出值y(k),其中c(k)=***。

【技术特征摘要】

【专利技术属性】
技术研发人员:潘赟曹晓阳严晓浪
申请(专利权)人:浙江大学
类型:发明
国别省市:86[中国|杭州]

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

1