图象的缩小的制作方法

文档序号:2644947阅读:183来源:国知局
专利名称:图象的缩小的制作方法
技术领域
本发明涉及一种用于为图象和视频译码和可缩放视频编码计算离散余弦变换(DCT)的方法和设备。
本发明的背景和现有技术预期在将来广泛的高质量视频服务、例如高清晰度电视(HDTV)将与标准清晰度电视(SDTV)以及诸如电视电话和电视会议等低质量的视频服务一起可利用。包含视频的多媒体文件最有可能不仅通过计算机网络提取,还通过电话线、综合业务数字网络(ISDN)、异步传输模式(ATM)或甚至移动式网络来提取。
在几种类型的连接或网络上以不同的比特速率和变化的通信负载传输需要比特速率对可用信道容量的适应。系统的主要限制因素是低于一个与所发送格式相联系的级别的任何级别的译码都不应需要对所发送的源进行完全译码。
为了最大程度地集成这些各个质量视频服务,需要一单个可以提供不限范围的视频服务的编码方案。这样一种编码方案使不同质量的用户能够彼此通信。例如,只具有低质量视频服务的用户应该能够译码和重构一个数字发送的较高质量视频信号,纵使是以他预订的较低质量服务级别译码和重构的。同样,较高质量服务用户应该能够译码和重构一个数字发送的较高质量视频信号,虽然当然其主观质量不会好于所发送的质量。
因此,问题与将视频发送给不同需求(图象质量、处理能力、存储器需求、分辨率、带宽、帧频,等等)的用户的方式有关。下列各点概括了这些需求·满足具有不同带宽需求的用户,·满足具有不同计算能力的用户,·将帧频、分辨率和压缩比适合于用户偏好和可用带宽,·将帧频、分辨率和压缩比适合于网络能力,·短延时,以及·如果需要的话,与标准相一致。
对满足接收机的不同需求的问题的一个解决办法是设计可缩放的比特流。在这个可缩放形式中,在发射机和接收机之间通常没有直接的互连。通常,发射机能够产生一个比特流,该比特流包含可以由在分辨率、带宽、帧频、存储器或计算复杂程度方面具有不同需求的接收机使用的各个层。如果增加了与现有接收机具有不同需求的新的接收机,则发射机必须重新编程,以容纳新接收机的需求。简言之,在比特流可缩放形式中,译码器的能力必须事先知道。
对这个问题的一个不同的解决办法是使用代码转换器。代码转换器接受根据第一编码方案编码的所接收数据流,并输出根据第二编码方案编码的编码数据流。如果一个人具有根据第二编码方案操作的译码器,则这样一个代码转换器就允许接收根据第一编码方案编码的发射信号,而不需要修改原来的编码器。
通常在多方会议中专门出现的一种情况是特定接收机具有不同的带宽能力和/或不同的计算需求。例如,在与通过ISDN和公共交换电话网络(PSTN)连接的与会者的多点通信中,带宽可以从28.8kbits/s(PSTN)到多于128kbits/s(ISDN)变化。由于在128kbits/s这样高的比特速率发射的视频不能在PSTN线上传输,所以在多点控制单元(MCU)或网关中必须实现视频代码转换。
这个代码转换可以必须实现视频的空间分辨率的降低,以适合一特定接收机的带宽。例如,ISDN用户可以以公共中间格式(CIF)(288×352个象素)发送视频,而PSTN用户能够仅以四倍公共中间格式(QCIF)(144×176)接收视频。另一个例子是当一特定接收机不具有在一特定分辨率译码的计算能力时因此必须向该接收机发送降低了分辨率的视频。另外,HDTV到SDTV的代码转换需要分辨率的降低。
例如,代码转换器可用于将来自发射的ISDN视频终端的、符合ITU-T标准H.261的CIF格式的128kbit/s视频信号变换成使用ITU-T标准H.263的电话线上的QCIF格式的28.8kbit/s视频信号。
应该注意的是,许多可缩放视频编码系统需要使用8×8和4×4DCT。例如,在1994年9月的L.H.Kieu和K.N.Ngan的“Celllossconcealment technique for layered video codecs in an ATMnetwork”,IEEE Trans.On Image Processing,Vol.3,No.5第666-677页中,描述了一种可缩放视频编码系统,其中,基层与增强层相比具有较低分辨率。在这个系统中,在图象的每个8×8块中运用8×8DCT,并采用8×8DCT压缩增强层。基层采用增强层的每块的8×8DCT中的4×4,并只采用4×4DCT压缩。然而,这样并不好,因为4×4DCT与8×8DCT相比通常会导致性能降低,并且它还需要编码器和译码器必须能够处理4×4DCT/IDCT。
对图象下降采样的传统方法包括两个步骤,参见1996年8月的J.Bao,H.Sun,T.C.Poon,“HDTV down conversion decoder”,IEEETrans.On Consumer Electronics,Vol.42,No.3第402-410页。首先由一个图象保真低通滤波器对图象进行滤波。在每维中以所需因子对滤波图象进行下降采样。对于基于DCT的压缩图象,上述方法隐含着必须由反DCT将压缩图象恢复到空间域,然后进行滤波和下降采样过程。如果图象要再次压缩和发射,在欠采样级之后这需要另外的正DCT。这可以是这种情况,即欠采样在多点控制单元-MCU进行,以满足一特定接收机或可缩放视频编码方案中的需要和带宽。
在一个工作于压缩域的不同的方法中,滤波和下降采样操作都合并在DCT域中。这是通过切除高频的DCT系数并使用较低数目的DCT系数的反DCT以便重构分辨率降低的图象来完成的。例如,可以使用8×8中的4×4并执行这些系数的IDCT,以便在每维以因子2降低分辨率。这不会产生有意义的压缩增益,另外还需要接收机能够处理4×4DCT。
此外,该方法导致明显的方块边缘效应和失真,这是由仅仅舍弃较高阶系数引入的较差近似而产生的。如果具有16×16DCT块,并保持低频8×8DCT系数,以获得下降采样图象,则上述方法更有用。然而,类似JPEG、H.261、MPEG1、MPEG2和H.263的大多数图象和视频压缩标准方法都将图象分成尺寸为8×8象素的矩形块,并在这些块上运用DCT。因此,只有8×8DCT可用。计算16×16DCT系数的一种方法是在每个8×8块上运用反DCT,并重构图象。然后如果需要将每维中的分辨率降低因子2,可以运用在尺寸为16×16的块上的DCT,并保持每个块的16×16DCT系数中的8×8。
然而,这需要完全译码(执行8×8IDCT)并通过执行16×16DCT(需要16×16DCT硬件)重新变换。然而,如果能够只使用8×8变换就计算出16×16DCT系数中的8×8,则这个方法会更快,还比使用8×8中的4×4的方法执行得更好。这还意味着避免了尺寸为16×16的DCT计算,并降低了存储器需求。此外,US A 5 107 345描述了一种编码中使用的适应性DCT方案。该方案使用2×2、4×4、8×8和16×16DCT,以获得灵活的比特速率,可以根据可用的传输容量进行修改。我们的方案提供了对这个适应性方案的快速计算。
发明概述本发明的一个目的是提供克服上述与使用不同尺寸的DCT相联系的问题的方法和设备。这个目的和其他目的是由如权利要求中所述的仅使用尺寸N/2的变换的N-点DCT计算的方法和设备获得的。本发明还提供了一个用于获得从两个相邻块取出的信号块的DCT系数的直接计算算法,即,该算法可用于从2个N/2 DCT直接获得原始序列的N点DCT,2个N/2 DCT分别代表原始序列的前N/2个数据点和原始序列的后N/2个数据点的DCT系数。
此外,还得到了一种可用于降低输入视频的空间分辨率的方法。该方法以良好的图象质量、较低的复杂性和存储器需求提供了较低空间分辨率的重构视频。可以将其运用到在压缩域内图象和/或视频的从一特定分辨率因子到一较低因子的代码转换。还可以将其运用到可缩放视频编码和适应性视频编码方案中。这个方案的主要优点是它需要标准尺寸(在现有视频标准的情况下是8×8)的DCT算法,并且与现有方案相比产生了更好的性能。
附图简要说明下面通过非限制性的例子并参考


本发明,其中图1是显示一个多点通信系统的示意图。
图2是显示在DCT域中将CIF图象代码转换到QCIF时实现的不同步骤的流程图。
图3是显示通过将每维中的分辨率降低因子2而对静止图象进行代码转换时实现的不同步骤的流程图。
图4是视频代码转换器的一般视图。
图5是在执行这里所述算法时在DCT域执行的步骤的示意图。
最佳实施例说明在图1中,表示了数字化图象的传输系统。因此,在这个例子中,三个用户101、103和105通过MCU 107彼此相连。在这种情况下的用户可以具有不同的性能。用户101和105通过128kbit/s ISDN连线相连,而用户103通过28.8kbit/s PSTN连线相连。在点对点通信中,用户101和103还可以通过网关相连。
在这样一种情况下,用户101和105可以以CIF格式相互发送视频信号。然而,如果用户103想要接收在用户101和105之间发送的视频信号,由于他/她的传输线的有限的传输容量,他/她不能这样做,除非在MCU执行某种比特减少。
在MCU获得这种比特减少的一种方式是从用户101和105提取出输入视频的8×8DCT系数的4×4低频系数,并只将这些系数发送给用户103,以便通过运动向量的合适的缩放以QCIF格式重构输入帧。这从压缩和质量的角度上看是不利的。相反,如果从16×16块DCT系数提取出低频8×8DCT系数,则将更有利。这然后可以以下列方式执行,而不必使用除了8×8点之外的DCT/IDCT。
将CIF图象的4个相邻8×8块的DCT系数以形式

存储在2D阵列中,其中Φi(i=1,2,3,4)是(DCT系数的)(N/2×N/2)-点阵列,其中在下列例子中N=16。Z的每行k包括块Φi的行k和块Φj的行k(i=1和j=2或i=3和j=4)。对于Z的每行,现在的问题是在具有Φi和Φi(i=1和j=2或i=3和j=4)的N/2 DCT点时计算N点DCT。
为了解决从两个N/2 DCT序列计算N点DCT的问题,可以采用下列方法。假设存在序列xi,i=0,1,...,N-1。然后考虑下列序列yi=xi,i=0,1,...,(N/2)-1,以及zi=xi+N/2,i=0,1,...,(N/2)-1。并且假设N=2m,假设在MCU 107中有N/2点DCT/IDCT的计算硬件可利用。在N=16这个特定情况下,因为N/2=8所以这是现在计算DCT/IDCT的通常情况,并且8×8 DCT主要用在标准视频编码方案中。
问题是通过具有yi和zi的DCT系数来计算xi的DCT系数。对于因子为2的下降采样,在这种情况下需要半数的xi的DCT系数(低频系数)。
首先给出一些必要的定义。参见K.R.Rao and P.Yip,DiscreteCosine TransformAlgorithms,Advantages and Applications,Academic Press Inc.,1990,由下式给出xi的归一化DCT(DCT-II)Xk=2NϵkΣi=0N-1xicos(2i+1)kπ2N,k=0,1,...,N-1-----(1)]]>反DCT(IDCT)由下式给出xi=2NΣk=0N-1ϵkXkcos(2i+1)kπ2N,i=0,1,...,N-1-----(2)]]>其中

注意,ε2k=εk以及ε2k+1=1。
xi的归一化DCT-IV由下式给出,参见上述提到的K.R.Rao等的书Xk=2NΣi=0N-1xicos(2i+1)(2k+1)π4N,k=0,1,...,N-1-----(4)]]>反DCT-IV(IDCT-IV)由下式给出xi=2NΣk=0N-1Xkcos(2k+1)(2i+1)π4N,i=0,1,...,N-1----(5)]]>注意,DCT-IV和IDCT-IV由相同的式子给出。xi的归一化DST-IV由下式给出Xk=2NΣi=0N-1xisin(2i+1)(2k+1)π4N,k=0,1,...,N-1-----(6)]]>反DST-IV(IDST-IV)由下式给出xi=2NΣk=0N-1Xksin(2k+1)(2i+1)π4N,i=0,1,...,N-1----(7)]]>注意,DST-IV和IDST-IV由相同的式子给出。
应该注意的是,在正变换和反变换中的归一化因子

可以合并成2/N,并移到正变换或反变换中。然而,在下面可以将归一化因子

保持在正变换和反变换中。
此外,可以通过DCT计算DST-IV和DCT-IV。在上面提到的K.R.Rao等的书中,给出了通过DCT计算DCT-IV和DST-IV的软件代码。
假设分别将yi和zi的DCT表示为Yk和Zk,其中k=0,1,…,(N/2)-1。
在这里提出了两个问题(a)只采用(n/2)点变换进行的xi的N点DCT的计算,以及(b)当Yk和Zk已知时(即,每个具有N/2点序列的yi和zi的DCT系数)xi的N点DCT的计算。
考虑Xk的偶指数(even-indexed)输出。
应该注意,变量i和n在下式中可互换。
从式(1),对于k=2k,可得出X2k=2Nϵ2kΣn=0N-1xncos(2n+1)2kπ2N]]>=2Nϵk{Σn=0N2-1xncos(2n+1)kπ2(N/2)+Σn-N/2N-1xncos(2n+1)kπ2(N/2)}]]>=2Nϵk{Σn=0N2-1yncos(2n+1)kπ2(N/2)+Σn=0N2-1xN-1-ncos[[2(N-1-n)+1]kπ2(N/2)]}]]>=12{2N/2ϵkΣn=0N2-1yncos(2n+1)kπ2(N/2)+2N/2ϵkΣn=0N2-1zncos(2n+1)kπ2(N/2)}]]>=12[Yk+(-1)kZk]]]>=12[Yn+Z′k]----k=0,1,...,(N/2)-1-----(8)]]>其中,Z’k是z’n=XN-1-n的DCT-II系数,其中n=0,1,...,(N/2)-1。式(8)表明可以用yi和zi的DCT系数计算xi的偶指数DCT系数,即,可以从两个相邻N/2元素(element)阵列的DCT系数获得N-元素阵列的偶指数DCT系数。
此外,设Rk为奇指数系数,即,Rk=X2k+1。然后,通过定义R′k=Rk+Rk-1(9)则R′k=X2k+1+X2k-1=2N{Σn=0N-1xncos(2n+1)(2k+1)π2N+Σn=0N-1xncos(2n+1)(2k-1)π2N}]]>=1ϵk12{2N/2ϵkΣn=0N2-1(yn-z′n)2cos(2n+1)π2Ncos(2n+1)kπ2(N/2)}]]>(9a)=1ϵk12{2N/2ϵkΣn=0N2-1rncos(2n+1)kπ2(N/2)}]]>或

其中,r′n=(yn-z′n)2cos(2n+1)π2N]]>={2N/2Σl=0N2-1ϵlYlcos(2n+1)lπ2(N/2)-2N/2Σl=0N2-1ϵlZ′lcos(2n+1)lπ2(N/2)}2cos(2n+1)π2N]]>={2N/2Σl=0N2-1ϵl(Yl-Z′l)cos(2n+1)lπ2(N/2)}2cos(2n+1)π2N]]>=gn2cos(2n+1)π2N-----(9b)]]>其中,gn是(Y1-Z’1)的N/2长度的IDCT。
因此通过rn的DCT-II计算出R’k,其中rn是由差Y1-Z’1的IDCT-II乘以余弦因子计算出的。DCT和IDCT都是N/2长度的。
从式(9)将xn的长度为N的DCT的奇指数输出Rk计算为Rk=R′k-Rk-1(10)由于余弦函数的对称性,得到R0=R1(11a)由上式和式(9)得出R0=12R′0------(11b)]]>对于偶指数系数的计算只需要N/2次加法。对于奇指数系数的计算需要N/2+(N/2-1)次加法、N/2次乘法、一次长度为N/2的IDCT和一次长度为N/2的DCT。这导致总共需要MN次乘法和AN次加法,其中MN和AN如下式所示MN=(N/2)+2MN/2(12a)AN=(3N/2)-1+2AN/2(12b)其中MN/2/AN/2是长度为N/2的DCT的乘法/加法的次数。
根据初始值M2=1,A2=2,上式变为MN=(N/2)log2N (13a)AN=(3N/2)log2N-N+1 (13b)复杂性与依据公知的快速算法的长度为N的快速DCT计算是一样的,公知的快速算法例如为H.S.Hou“A Fast Recursive Algorithmfor Computing the Discrete Cosine Transform”,IEEE Trans onASSP,Vol.ASSP-35,pp.1445-1461,Oct.1987,S.C.Chan and K.L.Ho“Direct Methods for Computing Discrete SinusoidalTransform”,IEE Proceedings,Vol.137,Pt.F,No.6,pp.433-442,Dec.1990以及C.W.Kok“Fast Algorithm for Computing DiscreteCosine Transform”,IEEE Trans on Signal Processing,Vol.45,No.3,pp.757-760,Mar.1997中所描述的。
如果考虑1/√2的乘法,则在加法中需要N-1次乘法和用以完成乘以1/2的一次“右移”。然而,可以将所有这些乘法吸收在DCT级之后的数字转换器中。如果考虑数据和加权矩阵的稀少(sparseness),则可以大大降低上述给出的计算的复杂性。注意,对于因子为2的下降采样,计算复杂性甚至更加降低,因为式(7b)和(9a)中只有一半的系数需要计算。计算Xk的奇指数DCT系数的另一种方法如下。对于k=2k+1,式(1)变为X2k+1=2Nϵ2k+1Σi=0N-1xicos(2i+1)(2k+l)π2N]]>=2N{Σi=0N2-1xicos(2i+1)(2k+1)π2N+Σi=0N2-1xi+N/2cos(2i+N+1)(2k+1)π2N}]]>=2N{Σi=0N2-1yicos(2i+1)(2k+1)π2N+Σi=0N2-1zicos[(2i+1)(2k+1)π2N+(kπ+π2)]}]]>=2N{Σi=0N2-1yicos(2i+1)(2k+1)π2N+(-1)k+1Σi=0N2-1zisin(2i+1)(2k+1)π2N}]]>=2N(X1k-(-1)kX2k),----k=0,1,...,(N/2)-1-----(14)]]>注意,X1k是yi的DCT-IV,X2k是zi的DST-IV。这意味着X2k+1可以由N/2点变换来计算。由于DCT-IV和DST-IV可以通过DCT计算,从而得出X2k+1可以由N/2点DCT计算。从式(8),X2k可以由N/2点DCT计算,因此不需要N点DCT。
下面进一步分析式(14)的X1k项和X2k。X1k=Σi=0N2-1yicos(2i+1)(2k+1)π2N]]>=N/222N/2Σi=0N2-1cos(2i+1)(2k+1)π2N(2N/2Σp=0N2-1ϵpYpcos(2i+1)pπ2(N/2))]]>k=0,1,...,(N/2)-1(15)其中,定义yi=2N/2Σp=0N2-1ϵpYpcos(2i+1)pπ2(N/2)=IDCTN/2II(Yp),i=0,1,...,(N/2)-1---(16)]]>因此,X1k可以由IDCT后面跟着一个N/2大小的正DCT-IV(并乘以

)来计算。注意,式(15)中的cos(.)项可以预先计算并存储。
以同样的方式,可以计算出X2kX2k=Σi=0N2-1zisin(2i+1)(2k+1)π2N]]>=N/22(2N/2Σi=0N2-1sin(2i+1)(2k+1)π2N2N/2Σp=0N2-1ϵpZpcos(2i+1)pπ2(N/2))]]>k=0,1,...,(N/2)-1(17)其中,定义zi=2N/2Σp=0N2-1ϵpZpcos(2i+1)pπ2(N/2)=IDCTN/2II(Zp),i=0,1,...,(N/2)-1---(18)]]>因此,X2k可以由反DCT后面跟着一个N/2大小的正DST-IV(并乘以

)来计算。注意,式(17)中的cos(.)项可以预先计算并存储。
注意,在式(15)和(17)中,可以使用如H.C.Chiang and J.C.Liu,“A progressive structure for on-line computation ofarbitrary length DCT-IV and DST-IV transforms”,IEEE Trans.On Circuits and Systems for Video Technology,Vol.6,No.6,pp.692-695,Dec.1996中所描述的快速算法来计算DST-IV和DCT-IV。
或者,可以通过如Z.Wang,“On computing the DiscreteFourier and Cosine Transforms”,IEEE Trans.On Acoustics,Speech and Signal Processing,Vol.ASSP-33,No.4,pp.1341-1344,October 1985中所描述的DCT来计算DCT-IV和DST-IV。
因此,不需要单独的DCT-IV和DST-IV模块。只采用DCT和IDCT。此外,对于N=16,不需要16点DCT,可以采用标准的8点DCT。这进一步降低了所需电路的复杂性。还应该注意的是,大小为N/2的IDCT和DCT-IV(式15)以及IDCT和DST-IV(式17)的级联操作可以由单个N点IDCT来代替,单个N点IDCT可以在多路复用的基础上使用,如同在N.R.Murthy and M.N.S.Swamy,“On a noveldecomposition of the DCT and its applications”,IEEE Trans.On Signal Processing,Vol.41,No.1,pp.480-485,Jan.1993中所描述的。
这在算法的硬件实施中具有一些优点。因此,由于具有构成N点的2个N/2点相邻块的DCT系数,这些式子意味着标准现有DCT硬件可用于计算N点DCT。
算法的计算复杂性依赖于计算DCT和IDCT所使用的算法。计算复杂程度与实现两个N/2大小的反DCT和一个大小为N的正DCT的方案的复杂程度是一样的。然而,这样的方案需要不利的N点DCT,因为这假设有N/2点DCT可用。此外,由于不需要N点DCT,在这个方案中降低了对存储器的需求。
注意,上述算法将计算所有N个DCT点。在实际中,对于执行图像下降采样的应用这是不需要的。例如,对于因子为2的下降采样,我们必须保持xi的每16个DCT点中的8点。因此,在式8、9、10、12中k=0,1,...,(N/4)-1。在A.N.Skodras,“Fast Discrete CosineTransform Pruning”,IEEE Trans.On Signal Processing,Vol.42,No.7,pp.1833-1837,July 1994中所描述的修剪(pruning)DCT算法可用在这种情况中,只计算所需数目的DCT点。
上面给出的式子还可以进一步地分析和简化。下面根据式(14)和X1k和X2k的单独分析进行详细分析。处于清楚的目的,将重复在前一段中导出的部分式子。
从式(14)得到X1k=Σi=0N2-1yicos(2i+1)(2k+1)π2N=]]>=Σi=0N2-1cos(2i+1)(2k+1)π2N(2N/2Σp=0N2-1ϵpYpcos(2i+1)pπ2(N/2))]]>=Σi=0N2-1cos(2i+1)(2k+1)π2N]]>2N/2{Σp=0N4-1ϵ2pY2pcos(2i+1)pπ2(N/4)+Σp=0N4-1ϵ2p+1Y2p-1cos(2i+1)(2p+1)π2(N/2)}---(19)]]>通过将序列Y1和Y2定义为Y1p=Y2p(20)Y2p=Y2p+1对于p=0,1,...,N/4式(19)变为X1k=Σi=1N2-1cos(2i+1)(2k+1)π2N]]>2N/2{Σp=0N4-1ϵpY1pcos(2i+1)pπ2(N/4)+Σp=0N4-1Y2pcos(2i+1)(2p+1)π2(N/2)}]]>=Σi=0N2-1cos(2i+1)(2k+1)π2N]]>12{2N/4Σp=0N4-1ϵpY1pcos(2i+1)pπ2(N/4)+2N/4Σp=0N4-1Y2pcos(2i+1)(2p+1)π4(N/4)}---(21)]]>式(21)可进一步再分为X1k=Σi=0N4-1cos(2i+1)(2k+1)π2N]]>12{2N/4Σp=0N4-1ϵpY1pcos(2i+1)pπ2(N/4)+2N/4Σp=0N4-1Y2pcos(2i+1)(2p+1)π4(N/4)}]]>+Σi=N/4N2-1cos(2i+1)(2k+1)π2N]]>12{2N/4Σp=0N4-1ϵpY1pcos(2i+1)pπ2(N/4)+2N/4Σp=0N4-1Y2pcos(2i+1)(2p+1)π4(N/4)}---(22)]]>通过定义y1′i=2N/4Σp=0N4-1ϵpY1pcos(2i+1)pπ2(N/4),i=0,1,...(N/4)-1----(23)]]>以及y2′i=2N/4Σp=0N4-1Y2pcos(2i+1)(2p+1)π4(N/4),i=0,1,...,(N/4)-1----(24)]]>可以看到,y1’i是Y1p的N/4点IDCT,y2’i是Y2p的N/4点IDCT-IV。
注意,当Y1和/或Y2为零时,则不需要计算y1’i和/或y2’i。这将加速式(22)的计算。
对式(22)的第二项的进一步分析给出Σi=N/4N2-1cos(2i+1)(2k+1)π2N]]>12{2N/4ΣP=0N4-1ϵpY1pcos(2i+1)pπ2(N/4)+2N/4Σp=0N4-1Y2pcos(2i+1)(2p+1)π4(N/4)}]]>=Σi=0N4-1cos(2i+1+N2)(2k+1)π2N]]>12{2N/4Σp=0N4-1ϵpY1pcos(2i+1+N2)pπ2(N/4)+2N/4Σp=0N4-1Y2pcos(2i+1+N2)(2p+1)π4(N/4)}]]>=Σi=0N4-1cos(2i+1+N2)(2k+1)π2N]]>12{2N/4Σp=0N4-1ϵp(-1)pY1pcos(2i+1)pπ2(N/4)+2N/4Σp=0N4-1(-1)p+1Y2psin(2i+1)(2p+1)π4(N/4)}---(25)]]>通过定义y1i′′2N/4Σp=0N4-1ϵp(-1)pY1pcos(2i+1)pπ2(N/4),i=0,1,...,(N/4)-1----(26)]]>y2i′′=2N/4Σp=0N4-1(-1)p+1Y2psin(2i+1)(2p+1)π4(N/4),i=0,1,...,(N/4)-1---(27)]]>将y1”i识别为N/4点的序列(-1)pY1p的IDCT,将y2”i识别为N/4点的序列(-1)p+1Y2p的IDST-IV。
注意,当Y1和/或Y2为零时,则不需要计算y1”i和/或y2”i。这将加速式(25)的计算。
从式(15)、(16)、(18)和(19)可以看出,X1k=12{Σi=0N4-1cos(2i+1)(2k1)π2N(y1i′+y2i′)+Σi=0N4-1cos(2i+1+N2)(2k+1)π2N(y1i′′+y2i′′)}]]>k=0,1,...,(N/2)-1(28)同样,可以如下分析式(14)的第二项X2k=Σi=0N2-1zisin(2i+1)(2k+1)π2N=]]>=Σi=0N2-1sin(2i+1)(2k+1)π2N2N/2Σp=0N2-1ϵpZpcos(2i+1)pπ2(N/2)]]>=Σi=0N2-1sin(2i+1)(2k+1)π2N]]>2N/2{Σp=0N4-1ϵ2pZ2pcos(2i+1)pπ2(N/4)+Σp=0N4-1ϵ2p+1Z2p+1cps(2i+1)(2p+1)π2(N/2)}]]>=Σi=0N2-1sin(2i+1)(2k+1)π2N]]>12{2N/4Σp=0N4-1ϵpZ1pcos(2i+1)pπ2(N/4)+2N/4Σp=0N4-1Z2pcps(2i+1)(2p+1)π4(N/4)}---(29)]]>其中Z1p=Z2p(30)Z2p=Z2p+1对于p=0,1,...,N/4可以将式(29)进一步分成X2k=Σi=0N4-1sin(2i+1)(2k+1)π2N]]>12{2N/4Σp=0N4-1ϵpZ1pcos(2i+1)pπ2(N/4)+2N/4Σp=0N4-1Z2pcps(2i+1)(2p+1)π4(N/4)}]]>+Σi=N/4N2-1sin(2i+1)(2k+1)π2N]]>12{2N/4Σp=0N4-1ϵpZ1pcos(2i+1)pπ2(N/4)+2N/4Σp=0N4-1Z2pcos(2i+1)(2p+1)π4(N/4)}---(31)]]>通过定义z1i′=2N/4Σp=0N4-1ϵpX1pcos(2i+1)pπ2(N/4)--i=0,1,...,(N/4)-1---(32)]]>z2i′=2N/4Σp=0N4-1Z2pcos(2i+1)(2p+1)π4(N/4),i=0,1,...(N/4)-1---(33)]]>可以看到,z1’i是N/4点的Z1p的IDCT,z2’i是N/4点的Z2p的IDCT-IV。
注意,当Z1p和/或Z2p为零时,则不需要计算z1’i和/或z2’i。这将加速式(31)的计算。
对式(31)的第二项的进一步分析给出Σi=N/4N2-1sin(2i+1)(2k+1)π2N]]>12{2N/4Σp=0N4-1ϵpZ1pcos(2i+1)pπ2(N/4)+2N/4Σp=0N4-1Z2pcos(2i+1)(2p+1)π4(N/4)}]]>=Σi=0N4-1sin(2i+1+N2)(2k+1)π2N]]>12{2N/4Σp=0N4-1ϵpZ1pcos(2i+1+N2)pπ2(N/4)+2N/4Σp=0N4-1Z2pcos(2i+1+N2)(2p+1)π4(N/4)}]]>=Σi=0N4-1sin(2i+1+N2)(2k+1)π2N]]>12{2N/4Σp=0N4-1ϵp(-1)pZ1pcos(2i+1)pπ2(N/4)+2N/4Σp=0N4-1(-1)p-1Z2psin(2i+1)(2p+1)π4(N/4)}---(34)]]>通过定义zli′′=2N/4Σp=0N4-1ϵp(-1)pZ1pcos(2i+1)pπ2(N/4)--i=0,1,...,(N/4)-1---(35)]]>z2i′′=2N/4Σp=0N4-1(-1)p+1Z2psin(2i+1)(2p+1)π4(N/4),i=0,1,...,(N/4)-1---(36)]]>可以看到,z1”I是N/4点的序列(-1)pZ1p的IDCT,z2”I是N/4点的序列(-1)p+1Z2p的IDST-IV。注意,当Z1p和/或Z2p为零时,则不需要计算z1”i和/或z2”i。这将加速式(34)的计算。
从式(31)、(32)、(33)、(34)、(35)和(36)可以看出,x2k=12{Σi=0N4-1sin(2i+1)(2k+1)π2N(z1i′+z2i′)+Σi=0N4-1sin(2i+1+N2)(2k+1)π2N(z1i′′+z2i′′)}---(37)]]>因此,可以从下式计算奇指数DCT系数X2k+1=2N(X1k-(-1)kX2k),k=0,1,...,(N/2)-1---(38)]]>注意,在式(8b)和(38)中,对于因子为2的下降采样,k的值可以为k=0,1,...,(N/4)-1。
在图5中,显示了在执行依据式(8)和(9)的算法时在DCT域中执行的步骤。因此,首先在501输入长度为N/2(在这个例子中N=8)的两个序列Y和Z。接着,在步骤503将第二个序列Z反向,产生序列Z’。
图5中的上面四条线显示了是如何根据式8计算偶指数系数的。在步骤505,Y的系数与Z’的适当的系数相加,并在步骤513乘以1/√2,以便在步骤517产生偶指数系数。
下面四条线显示了X的奇指数DCT系数是如何产生的。在步骤505产生第一序列Y-Z’(参见式9b),并在步骤507将反DCT变换(IDCT)运用到这个序列上。在步骤509将得到的系数乘以合适的因子,即

其中n从0到N/2-1,在这个例子中即为从0到3,从而产生式9b的序列rn。然后,在步骤511,在这个序列上执行DCT,并与上面相同,在步骤513将得到的系数乘以1/√2。注意,因为式11b,在DCT变换之后的第一个系数还必须乘以1/2,这也是在步骤513执行的。然后,在步骤515,执行式10。于是,在步骤515,从第六个系数中减去第五个系数,从第七个系数中减去新的第六个系数,从第八个系数中减去新的第七个系数。
现在可以在步骤517按照图5中从上到下的顺序输出序列X的系数X(0)X(2)X(4)X(6)X(1)X(3)X(5)X(7)。
于是,例如,通过使用如图2的流程图所示的下述方法,可以从CIF格式的图象导出QCIF格式的图象,而不必采用除了8×8DCT之外的任何其他变换,如果CIF图象是采用在8×8块上的DCT处理的话。
首先,在方框201将CIF格式图象的四个8×8相邻DCT-点阵列作为尺寸为16×16点的阵列加载进一个存储器。接着,在方框203应用分别用于偶系数和奇系数的式(8)和(9)计算16×16阵列的每一行的16点DCT。然后,将该行的系数存储在存储器205中。
随即,在方框207检查当前行是否是16×16阵列的最后一行。如果不是,在方框209将行号递增1,并在方框203对16×16阵列的下一行重复计算。另一方面,如果已经计算出最后一行的16个DCT系数并存储在存储器中,则方框211取出现在存储在存储器205中的16×16DCT系数,并将这些加载进方框211。
过程然后对于列的计算以同样的方式继续进行,即,将该方法以列方式运用到从行计算获得的结果上。
因此,在方框213,应用分别用于偶系数和奇系数的式(8)和(9)计算加载进方框211的阵列的第一列的DCT,并将该列的系数存储在方框215中。随即,在方框217检查当前计算的列的DCT是否是所需的最后一列。如果不是,对于16×16阵列的下一列在方框219将列号递增1,并在方框213对16×16阵列的下一列重复计算。
另一方面,如果已经计算出最后一列的16个DCT系数并存储在存储器块215中,则方框221取出现在存储在存储器215中的16×16DCT系数,并将这些加载进方框221。
接着,在方框221,从16×16DCT系数提取出8×8低频DCT系数。然后在方框223输出8×8DCT系数。
如果只需要M×K(M行和K列)DCT系数,则行的计算保持相同,然而对于每一行只计算前K个系数。然后,在列计算期间,处理前K列,对于这些列中的每一列,计算低频M个系数。这个方法对于在每维以不同因子下降采样(例如,在x维以2下降采样,在y维以4下降采样)是有用的。此后,提取并传送以这种方式获得的16×16点DCT的M×K低频系数。还可以以相同的方式运用该方法来计算每行/列的任意数目的DCT系数。
该方法可以用在许多不同的应用中。例如,假设一个类似JPEG的图象压缩方案使用8×8DCT。假设接收到压缩图象。在每维的因子为2的图象的欠采样(下降采样)将需要从16×16DCT系数中保留低频8×8DCT系数。可以用上述具有构成16×16块的4个(8×8)DCT系数的方法计算这些16×16DCT块。
注意,在行-列(RC)计算中,如果某行/列的系数为零,则还可以进一步加速计算,这通常是高频DCT系数的情况。在实际中,在视频编码中大约80%的DCT系数为零,即,那些对应于高频的系数为零。因此,考虑到这些信息可以加快计算。例如,如果Z的四行的两子行的全部DCT系数为零,则不必计算该行的DCT系数。另一种情况例如可以是如果Φ2的行3的DCT系数为零,则可以跳过涉及这些系数的所有计算。
注意,该方案可以以递归方式运用。例如,如果需要QCIF、CIF和SCIF,则将8×8DCT用于SCIF。通过计算组成SCIF的4个(8×8)DCT系数的16×16块的8×8DCT,得到CIF。然后通过只保留每个8×8块CIF的8×8DCT系数中的4×4或通过再次计算组成CIF的4个(8×8)DCT系数的16×16块的8×8DCT,可以得到QCIF。这在可缩放图象/视频编码方案中和在空间分辨率降低方案的图象/视频代码转换中非常有用。
或者,从每个8×8块DCT系数,可以只保留其中的4×4低频系数。然后可以从4块(4×4)DCT系数计算出一个8×8块DCT系数。
这里所述的方法具有多个优点。因此,可以使用标准的DCT/IDCT硬件,因为在有8×8DCT/IDCT可利用时,不需要使用16×16DCT。
不需要在空间域完全译码、滤波和下降采样并由DCT再完全编码。有较少的存储器需求,因为与8×8的情况相比16×16DCT的计算需要多得多的存储器和数据传输。
该方法可用于各种因子的欠采样。例如,如果采用8×8DCT,并希望在每维进行因子为4的欠采样,则只保留8×8中的低频的2×2DCT系数,这从压缩效率的角度上看是不利的。然而,应用这里所述的方法,可以从可用的4个(8×8)DCT计算出16×16DCT系数,并只保留其中的4×4,或直接计算出来。这比保留4×4中的2×2更有效,并产生更好的图象质量。还可以由4(4×4)块DCT系数计算一个8×8块DCT系数。每个4×4块DCT系数可以是8×8块DCT系数的一部分。
当8×8块的许多DCT系数为零时,该方法将导致计算更快,因为可以避免该行/列的行和列DCT/IDCT的计算。
此外,在L.H.Kieu and K.N.Ngan,“Cell-loss concealmenttechniques for layered video codecs in an ATM network”,IEEETrans.On Image Processing,Vol.3,No.5,pp.666-677,September 1994中,描述了一个可缩放视频编码方案。该方案对较高层采用8×8DCT。采用4×4DCT对基层编码。在基层采用较高层的每个8×8块的低频4×4DCT系数。
应用这里所述的DCT算法,可以将上述引用的L.H.Kieu等的文章中描述的频率可缩放视频编码修改如下-通过在较高层的4个(8×8)块DCT系数中运用所提出的算法,计算低频8×8DCT系数。然后采用8×8DCT算法用标准技术对基层编码。这对于所有频率可缩放系统都是有效的技术。该方法在这种情况下还具有下列优点在8×8块中运用视频编码。其结果与采用4×4块相比具有更好的编码效率。必须对于8×8块计算运动向量。因此,与采用4×4块相比需要传输(或存储)更少的运动向量。并且,与4×4的情况相比,对于8×8DCT系数充分地考虑了可变长度编码。
注意,另一种方法是保留较高层的每个8×8DCT块的4×4低频DCT系数,并用4个(4×4)这种块来计算这些4×4块的8×8DCT。这种方法如图3所示。
因此,在图3中,显示了一个显示当通过在每维以因子2降低分辨率来对一个静止图象进行代码转换时实现的不同步骤的流程图。首先,在方框301,接收DCT域中的压缩图象。然后在方框303例如用霍夫曼译码器或算术译码器对接收的图象进行熵译码。
随即,在方框305,得到译码的全尺寸图象的8×8块DCT系数,并在方框307从每个8×8块提取出低频4×4DCT系数。然后在方框309通过对四个相邻4×4块低频系数运用上述的行-列方法来得到8×8DCT。
接着,在方框311对在方框309中从行-列方法得到的每个8×8块进行熵编码,然后在方框313中传输或存储。注意,DCT系数可能在熵编码之前必须重新量化,以实现特定的压缩因子。
在图4中显示了采用上述方法的教导的视频代码转换器的概略图。代码转换器接收一个压缩视频信号的输入比特流。在方框401对接收的压缩视频信号进行译码,其中,提取出解压缩视频信号的运动向量。将运动向量送到方框403,根据由代码转换器执行的代码转换执行正确的运动向量缩放,例如,在这种情况下执行除以2的除法。将与运动向量无关的图象信息从方框401送到方框405。
在方框405,得到尺寸为8×8的DCT块。然后将尺寸为8×8的DCT块送到方框407,根据上述方法将四个相邻8×8DCT块合并成一个欠采样的8×8DCT块。然后在方框409中则得到新的欠采样的8×8DCT块。然后在方框411与来自方框403的缩放运动向量一起对方框409中的8×8DCT块进行编码,还可以涉及DCT系数的重新量化,然后形成一个合并的压缩输出视频信号。
此外,在US A 5,107,345和US A 5,452,104中提出了适应性块尺寸图象压缩方法和系统。对于16×16象素的块尺寸,系统计算16×16块和组成16×16块的8×8、4×4和2×2块的DCT。这里所述的算法通过具有4(N/2×N/2)DCT可用于计算N×N块。例如,通过具有每个2×2块的DCT系数,可以计算4×4块的DCT系数。通过具有每个4×4块的DCT系数,可以计算8×8块的DCT系数,等等。因此,可以采用DCT算法用于US A 5,107,345和US A 5,452,104中所述的方案中的有效编码。
权利要求
1.一种编码器,具有用于计算长度为N/2的序列的DCT的装置,N是一个正偶整数,其特征在于-用于从表示长度为N的原始序列的第一半和第二半的两个长度为N/2的序列直接计算长度为N的DCT的装置。
2.一种编码器,具有用于计算长度为N/2×N/2的序列的DCT的装置,N是一个正偶整数,其特征在于-用于从表示构成N×N块的四个相邻块的DCT的四个长度为(N/2×N/2)的DCT直接计算N×N DCT的装置。
3.如权利要求1或2中的任何一个所述的编码器,其特征在于,安排用于计算长度为N/2的DCT的装置,将长度为N的DCT的偶系数计算为X2k=2Nϵ2kΣn=0N-1xncos(2n+1)2kπ2N]]>=2Nϵk{Σn=0N2-1xncos(2n+1)kπ2(N/2)+Σn=N/2N-1xncos(2n+1)kπ2(N/2)}]]>=2Nϵk{Σn=0N2-1yncos(2n+1)kπ2(N/2)+Σn=0N2-1xN-1-ncos[[2(N-1-n)+1]kπ2(N/2)]}]]>=12{2N/2ϵkΣn=0N2-1yncos(2n+1)kπ2(N/2)+2N/2ϵkΣn=0N2-1zncos(2n+1)kπ2(N/2)}]]>=12[Yk+(-1)kZk]]]>=12[Yk+Z′k]-----k=0,1,...,(N/2)-1]]>以及,奇系数Rk=X2k+1为Rk=R′k-Rk-1其中R′k=2N{Σn=0N-1xncos(2n+1)(2k+1)π2N+Σn=0N-1xncos(2n+1)(2k-1)π2N}]]>=1ϵk12{2N/2ϵkΣn=0N2-1(yn-z′n)2cos(2n+1)π2Ncos(2n+1)kπ2(N/2)}]]>=1ϵk12{2N/2ϵkΣn=0N2-1rncos(2n+1)kπ2(N/2)}]]>或
其中,rn=(yn-z′n)2cos(2n+1)π2N]]>={2N/2Σl=0N2-1ϵlYlcos(2n+1)lπ2(N/2)-2N/2Σl=0N2-1ϵlZ′lcos(2n+1)lπ2(N/2)}2cos(2n+1)π2N]]>={2N/2Σl=0N2-1ϵl(Yl-Z′l)cos(2n+1)lπ2(N/2)}2cos(2n+1)π2N]]>=gn2cos(2n+1)π2N]]>其中,gn是(Y1-Z’1)的N/2长度的IDCT,以及,其中R′k=X2k+1+X2k-1或者X2k+1=2Nϵ2k+1Σi=0N-1xicos(2i+1)(2k+1)π2N]]>=2N{Σi=0N2-1xicos(2i+1)(2k+1)π2N+Σi=0N2-1xi+N/2cos(2i+N+1)(2k+1)π2N}]]>=2N{Σi=0N2-1yicos(2i+1)(2k+1)π2N+Σi=0N2-1zicos[(2i+1)(2k+1)π2N+(kπ+π2)]}]]>=2N{Σi=0N2-1yicos(2i+1)(2k+1)π2N+(-1)k+1Σi=0N2-1zisin(2i+1)(2k+1)π2N}]]>=2N(X1k-(-1)kX2k),-----k=0,1,...,(N/2)-1]]>。
4.如权利要求1-3中的任何一个所述的编码器,其特征在于,N等于2m,m为大于0的正整数。
5.一种译码器,具有用于计算长度为N/2的序列的DCT的装置,N是一个正偶整数,其特征在于-用于从表示长度为N的原始序列的第一半和第二半的两个长度为N/2的序列直接计算长度为N的DCT的装置。
6.一种译码器,具有用于计算长度为N/2×N/2的序列的DCT的装置,N是一个正偶整数,其特征在于-用于从表示构成N×N块的四个相邻块的DCT的四个长度为(N/2×N/2)的DCT直接计算N×N DCT的装置。
7.如权利要求1或2中的任何一个所述的译码器,其特征在于,安排用于计算长度为N/2的DCT的装置,将长度为N的DCT的偶系数计算为X2k=2Nϵ2kΣn=0N-1xncos(2n+1)2kπ2N]]>=2Nϵk{Σn=0N2-1xncos(2n+1)kπ2(N/2)+Σn=N/2N-1xncos(2n+1)kπ2(N/2)}]]>=2Nϵk{Σn=0N2-1yncos(2n+1)kπ2(N/2)+Σn=0N2-1xN-1-ncos[2(N-1-n)+1]kπ2(N/2)]}]]>=12{2N/2ϵkΣn=0N2-1yncos(2n+1)kπ2(N/2)+2N/2ϵkΣn=0N2-1zncos(2n+1)kπ2(N/2)}]]>=12[Yk+(-1)kZk]]]>=12[Yk+Z′k]-----k=0,1,...,(N/2)-1]]>以及,奇系数Rk=2k+1为Rk=R′k-Rk-1其中R′k=2N{Σn=0N-1xncos(2n+1)(2k+1)π2N+Σn=0N-1xncos(2n+1)(2k-1)π2N}]]>=1ϵk12{2N/2ϵkΣn=0N2-1(yn-z′n)2cos(2n+1)π2Ncos(2n+1)kπ2(N/2)}]]>=1ϵk12{2N/2ϵkΣn=0N2-1rncos(2n+1)kπ2(N/2)}]]>或
其中,rn=(yn-z′n)2cos(2n+1)π2N]]>={2N/2Σl=0N2-1ϵlYlcos(2n+1)lπ2(N/2)-2N/2Σl=0N2-1ϵlz′lcos(2n+1)lπ2(N/2)}2cos(2n+1)π2N]]>={2N/2Σl=0N2-1ϵl(Yl-Z′l)cos(2n+1)lπ2(N/2)}2cos(2n+1)π2N]]>=gn2cos(2n+1)π2N]]>其中,gn是(Y1-Z’1)的N/2长度的IDCT,以及,其中R′k=X2k+1+X2k-1或者X2k+1=2Nϵ2k+1Σi=0N-1xicos(2i+1)(2k+1)π2N]]>=2N{Σi=0N2-1xicos(2i+1)(2k+1)π2N+Σi=0N2-1xi+N/2cos(2i+N+1)(2k+1)π2N}]]>=2N{Σi=0N2-1yicos(2i+1)(2k+1)π2N+Σi=0N2-1zicos[(2i+1)(2k+1)π2N+(kπ+π2)]}]]>=2N{Σi=0N2-1yicos(2i+1)(2k+1)π2N+(-1)k+1Σi=0N2-1zisin(2i+1)(2k+1)π2N}]]>=2N(X1k-(-1)kX2k),-----k=0,1,...,(N/2)-1]]>。
8.如权利要求5-7中的任何一个所述的译码器,其特征在于,N等于2m,m为大于0的正整数。
9.一种代码转换器,包括如权利要求1-8中的任何一个所述的编码器或译码器。
10.一种用于发送DCT变换图象或视频数据的系统包括如权利要求1-8中的任何一个所述的编码器或译码器。
11.一种对压缩(DCT)域的图象进行编码的方法,应用长度为N/2的DCT,其中,压缩帧在每维由一特定因子进行欠采样,其特征在于,从输入的压缩帧的4个相邻N/2×N/2块DCT系数直接计算N×N DCT,N是一个正偶整数。
12.一种对表示为长度N的DCT变换序列的图象进行编码的方法,N是一个正偶整数,其特征在于从表示长度为N的原始序列的第一半和第二半的两个长度为N/2的序列直接计算DCT。
13.如权利要求11或12中的任何一个所述的方法,其特征在于,长度为N的DCT的偶系数的计算如下X2k=2Nϵ2kΣn=0N-1xncos(2n+1)2kπ2N]]>=2Nϵk{Σn=0N2-1xncos(2n+1)kπ2(N/2)+Σn=N/2N-1xncos(2n+1)kπ2(N+2)}]]>=2Nϵk{Σn=0N2-1yncos(2n+1)kπ2(N/2)+Σn=0N2-1xN-1-ncos[[2(N-1-n)+1]kπ2(N/2)]}]]>=12{2N/2ϵkΣn=0N2-1yncos(2n+1)kπ2(N/2)+2N/2ϵkΣn=0N2-1zncos(2n+1)kπ2(N/2)}]]>=12[Yk+(-1)kZk]]]>=12[Yk+Z′k]-----k=0,1,...,(N/2)-1]]>以及,奇系数Rk=X2k+1为Rk=R′k-Rk-1其中R′k=2N{Σn=0N-1xncos(2n+1)(2k+1)π2N+Σn=0N-1xncos(2n+1)(2k+1)π2N}]]>=1ϵk12{2M/2ϵkΣn=0N2-1(yn-z′n)2cos(2n+1)π2Ncos(2n+1)kπ2(N/2)}]]>=1ϵk12{2N/2ϵkΣn=0N2-1rncos(2n+1)kπ2(N/2)}]]>或
其中,rn=(yn-z′n)2cos(2n+1)π2N]]>={2N/2Σl=0N2-1ϵlYlcos(2n+1)lπ2(N/2)-2N/2Σl=0N2-1ϵlZ′lcos(2n+1)lπ2(N/2)}2cos(2n+1)π2N]]>={2N/2Σl=0N2-1ϵl(Yl-Z′l)cos(2n+1)lπ2(N/2)}2cos(2n+1)π2N]]>=gn2cos(2n+1)π2N]]>其中,gn是(Y1-Z’1)的N/2长度的IDCT,以及,其中R′k=X2k+1+x2k-1或者X2k+1=2Nϵ2k+1Σi=0N-1xicos(2i+1)(2k+1)π2N]]>=2N{Σi=0N2-1xicos(2i+1)(2k+1)π2N+Σi=0N2-1xi+N/2cos(2i+N+1)(2k+1)π2N}]]>=2N{Σi=0N2-1yicos(2i+1)(2k+1)π2N+Σi=0N2-1zicos[(2i+1)(2k+1)π2N+(kπ+π2)]}]]>=2N{Σi=0N2-1yicos(2i+1)(2k+1)π2N+(-1)k+1Σi=0N2-1zisin(2i+1)(2k+1)π2N}]]>=2N(X1k-(-1)kX2k),-----k=0,1,...,(N/2)-1]]>。
14.如权利要求11-13中的任何一个所述的方法,其特征在于,N等于2m,m为大于0的正整数。
15.一种对表示为长度N的DCT变换序列的图象进行译码的方法,N是一个正偶整数,其特征在于从表示长度为N的原始序列的第一半和第二半的两个长度为N/2的序列直接计算DCT。
16.一种对压缩(DCT)域的图象进行译码的方法,应用长度为N/2的DCT,其中,压缩帧在每维由一特定因子进行欠采样,其特征在于,从输入的压缩帧的4个相邻N/2×N/2块DCT系数直接计算N×N DCT,N是一个正偶整数。
17.如权利要求15或16中的任何一个所述的方法,其特征在于,长度为N的DCT的偶系数的计算如下X2k=2Nϵ2kΣn=0N-1xncos(2n+1)2kπ2N]]>=2Nϵk{Σn=0N2-1xncos(2n+1)kπ2(N/2)+Σn-N/2N-1xncos(2n+1)kπ2(N/2)}]]>=2Nϵk{Σn=0N2-1yncos(2n+1)kπ2(N/2)+Σn=0N2-1xN-1-ncos[[2(N-1-n)+1]kπ2(N/2)]}]]>=12{2N/2ϵkΣn=0N2-1yncos(2n+1)kπ2(N/2)+2N/2ϵkΣn=0N2-1zncos(2n+1)kπ2(N/2)}]]>=12[Yk+(-1)kZk]]]>=12[Yk+Z′k]-----k=0,1,...,(N/2)-1]]>以及,奇系数Rk=X2k+1为Rk=R′k-Rk-1其中R′k=2N{Σn=0N-1xncos(2n+1)(2k+1)π2N+Σn=0N-1xncos(2n+1)(2k-1)π2N}]]>=1ϵk12{2N/2ϵkΣn=0N2-1(yn-z′n)2cos(2n+1)π2Ncos(2n+1)kπ2(N/2)}]]>=1ϵk12{2N/2ϵkΣn=0N2-1rncos(2n+1)kπ2(N/2)}]]>或
其中,rn=(yn-z′n)2cos(2n+1)π2N]]>={2N/2Σl=0N2-1ϵlYlcos(2n+1)lπ2(N/2)-2N/2Σl=0N2-1ϵlZ′lcos(2n+1)lπ2(N/2)}2cos(2n+1)π2N]]>={2N/2Σl=0N2-1ϵl(Yl-Z′l)cos(2n+1)lπ2(N/2)}2cos(2n+1)π2N]]>=gn2cos(2n+1)π2N]]>其中,gn是(Y1-Z’1)的N/2长度的IDCT,以及,其中R′k=X2K+1+X2K-1或者X2k+1=2Nϵ2k+1Σi=0N-1xicos(2i+1)(2k+1)π2N]]>=2N{Σi=0N2-1xicos(2i+1)(2k+1)π2N+Σi=0N2-1xi+N/2cos(2i+N+1)(2k+1)π2N}]]>=2N{Σi=0N2-1yicos(2i+1)(2k+1)π2N+Σi=0N2-1zicos[(2i+1)(2k+1)π2N+(kπ+π2)]}]]>=2N{Σi=0N2-1yicos(2i+1)(2k+1)π2N+(-1)k+1Σi=0N2-1zisin(2i+1)(2k+1)π2N}]]>=2N(X1k-(-1)kX2k),-----k=0,1,...,(N/2)-1]]>。
18.如权利要求15-17中的任何一个所述的方法,其特征在于,N等于2m,m为大于0的正整数。
19.一种对压缩(DCT)域的图象进行代码转换的方法,应用长度为N/2的DCT,其中,压缩帧在每维由一特定因子进行欠采样,其特征在于,从输入的压缩帧的4个相邻N/2×N/2块DCT系数直接计算N×N DCT,N是一个正偶整数。
20.一种编码器,包括用于执行长度为N/2的序列的DCT变换的装置,N是一个正偶整数,其特征在于,-只采用长度为N/2的DCT从表示长度为N/2的原始序列的第一半和第二半的两个长度为N/2的序列直接计算长度为N的DCT的装置。
21.一种对表示为长度N的序列的图象进行编码的方法,N是一个正偶整数,其特征在于,只采用长度为N/2的DCT从表示长度为N的原始序列的第一半和第二半的两个长度为N/2的序列直接计算长度为N的DCT。
全文摘要
在用于计算离散余弦变换(DCT)的方法和设备中,只需要表示原始序列的第一半和第二半的DCT系数来得到整个原始序列的DCT。因此,该设备和方法在特定长度的DCT计算由硬件和/或软件支持但需要其他尺寸的DCT时非常有用。应用领域例如为静止图象和视频代码转换,以及可缩放图象和/或视频编码。
文档编号G09G5/391GK1255988SQ9880511
公开日2000年6月7日 申请日期1998年3月12日 优先权日1997年3月14日
发明者C·赫里斯托普洛斯, A·斯科德拉斯 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1