用于采用离散变换进行数字视频数据去压缩的方法和系统的制作方法

文档序号:7672553阅读:215来源:国知局
专利名称:用于采用离散变换进行数字视频数据去压缩的方法和系统的制作方法
技术领域
本发明总地来说涉及数据压缩和去压缩的方法和装置,具体讲,涉及对数字视频编码器的离散余弦变换(DCT)和加权处理的方法和系统,以及对数字视频解码器反加权和反离散余弦变换(IDCT)的方法和系统。
背景技术
数字视频为用于描述数字形式出现的视频信号的术语。数字视频相比于传统的模拟系统具有几个优点。例如,数字视频信号的记录可无限地复制而无明显的质量损失。再有,压缩的数字视频信号需要的存储空间在获得相同或好于原画面质量的图象时比模拟信号的存储空间要少。另外,数字格式可使音频、视频和其它数据非常方便地组合、编辑、存储和发送。
但是,具有快速帧频、多彩色和高分辨率的模拟视频信号直接转换成数字格式将使数字视频信号具有高数据率,并产生存储和传输的困难。因此在许多数字视频系统中,通过采用对特定应用最佳的数据压缩工艺来减少数字视频数据的量。数字压缩装置通常被称作编码器,而执行去压缩的装置就称作解码器。执行编码和解码的装置被称作编码译码器。
“DV”格式为主要用于消费者水平的录象机(VTR)中的工业数字视频格式规范。该DV格式规范已被大多数主要的高质量数字视频磁带录像机(DVCR)和数字视频摄像机的制造商所采用。见1994年12月的,高清晰度数字VCR会议的消费者所用的数字VCR的规范。DV格式已在数字摄像机的商业化产品中正被使用。
视频显示具有传统的由一系列静画面或帧构成的画面,该画面是由扫描线描出并以诸如每秒30帧的频率显示的,以提供连续的画面。每帧包括一对交错的“场”。一场包含一帧中的行数一半的行数。该场交替地以其行插在前一场或后一场而产生一帧。当存储或发送视频数据时,通过利用场中(场内)或相邻场间(场间)的空余来减少数据的量。DV格式就是即用场内也用场间的数据减少的格式。
图1为基本流程图,示出已有技术的数字视频编码译器的编码、或数据压缩及处理。采用DV格式的编码译码器采用以DCT数据压缩为基础的方法。在组成块的工作中,图象帧由象素信息的N个块分成N个,该象素信息例如包括每个象素的亮度和彩色数据(阶段100)。公共块的尺寸为水平8个象素乘垂直的8个象素。象素块随后被“混洗”,这样,来自图象不同部分的几个块就被分组在一起(阶段110)。混洗将会提高图象质量的均匀性。
不同的场在不同的时间切入点被录下来。如果视频场景中包括多个动画,在一帧中的两个场将包含有明显差别的图像信息,DV编码器用场内数据减少处理来去除一场中的空余。
在基本上没有动画的视频图像中,一帧的两场将含类似的图像信息,而DV编码器用场间数据减少处理来除去场间的空余。对于每个像素数据块,由动画检测器来发掘一帧中两场之间的差别(阶段115)。动画信息被发送到下一工作阶段(阶段120)。
在阶段120,用DCT将象素信息变换过来。至少存在两个共同的DCT模式8-8(或8点)DCT模式和2-4-8 DCT模式。8-8 DCT模式为在垂直和水平取8个输入和返回8个输出的DCT模式。在2-4-8 DCT模式中,8×8的数据块被分成两个4×8的场,且在每场中执行4×8变换。每个4×8场都包括4个水平行和每个水平行中的8个象素。4×8变换在垂直方向取4个输入并返回4个输出,而在水平方向取8个输入并返回8个输出。当两场间的差很小时,DV格式规范建议可用8-8 DCT模式。相反,当两差的差较大时应采用2-4-8 DCT模式。
在8点DCT模式中,8×8的象素信息块以2维DCT变换成与频率系数对应的8×8矩阵。在下列方程中,P(x,y)代表象素信息输入块,符号X和Y代表DCT块中的象素坐标。Q′(h,v)代表DCT系数结果的输出块。DCT可以用数学方式表达如下Q′(h,v)=C(h)C(v)Σy=07Σx=07P(x,y)COS(πh(2x+1)16)COS(πv(2y+1)16)]]>对于h=0,1,…7和v=0,1,…7则有 和 DCT系数随后通过使每个DCT系数块乘加权常数而被加权(阶段120)。此过程可数学地描述为Q(h,v)=W(h,v)Q′(h,v)以下的加权系数为DVC格式的标准。 其中w(0)=1w(1)=CS4/(4×CS7×CS2)w(2)=CS4/(2×CS6)w(3)=1/(2×CS5)w(4)=7/8w(5)=CS4/CS3w(6)=CS4/CS2
w(7)=CS4/CS1且CSm=COS(mπ/16)。
加权后的DCT系数Q(h,v)被存储到缓存器上(阶段125)。
在下一阶段(阶段140)将加权后的DCT系数量化。量化可以增加视频数据传输效率但却会产生误差。为了减少误差量,每个DCT块被分类成DV格式规范所描述的四个动态级之一。这四个级代表4个不同的量化方案。估计出使用每个量化器的可变长度码字中的数据量(阶段135),并选出最好将一个或多个连续加权的DCT系数压缩成作为同步块的同样大小的块的量化器。
量化在某个范围内使每个DCT系数具有相同的数(阶段140)。量化使频率矩阵的较高频率分量设置为零,使数据或多或少被存储起来。由于人眼对较低频率最为敏感,此一操作只使图象有非常小的可察觉到的质量损失。
量化阶段140包括通过以弯折地读取矩阵值并将量化后的系数的一维线性流分段而将量化后的系数的两维矩阵转换为一维线性数据流,其中每个段都由一串跟有非零量化系数的零系数构成。可变长度编码(VLC)是通过对每个段进行变换来执行的,它包括在该段中的多个零系数和非零系数幅值,从而变为可变长度码字(阶段145)。最后,帧处理将可变长度编码量化的系数分组成每30个块为一组,以成五个固定长度的同步块(阶段150)。
图2示出已有技术DV编码译码器解码处理的基本流程图。解码为上述编码处理的反过程。此数字流首先被除帧(阶段200)。随后,可变长度解码(VLD)对数据去分组,这样就可以被恢复成单个的系数(阶段210)。
在对系数反量化之后(阶段220),对结果进行反加权(阶段230)和反离散余弦变换(IDCT)(阶段235)。反加权W′(h,v)为加到编码处理上的加权W(h,v)的乘法反变换。反加权处理可以数学公式描述如下,其中Q(h,v)代表输入系数Q′(h,v)=W′(h,v)Q(h,v)以下反加权系数为DV格式的标准。 其中w(0)=1w(1)=CS4/(4×CS7×CS2)w(2)=CS4/(2×CS6)w(3)=1/(2×CS5)w(4)=7/8w(5)=CS4/CS3w(6)=CS4/CS2w(7)=CS4/CS1其中CSm=COS(mπ/16)。
随后,由IDCT处理反加权函数的输出Q′(h,v)。IDCT的数学描述如下P(x,y)=Σv=07Σh=07(C(v)C(h)Q′(h,v)COS(πv(2y+1)16)COS(πh(2x+1)16))]]>对于x=0,1,…7和y=0,1,…7则有其中 且
该结果随后被去混洗(阶段240)并且去组成块(阶段250),以形成全图象帧。
在此已大大强调了DCT数据压缩和去压缩工艺的实施方案的生产效率。例如,颁发给Widergren等人的美国专利4385363公开了用于对16×16象素块进行变换的DCT处理器。在上述美国专利中所描述的五步处理对于利用16输入的硬件方案是最佳的,而对8输入的并未被稳定地采用,当采用软件时也不是有效的。
颁发给Cismas等人的美国专利5,574,661描述了一种用于计算反离散余弦变换的装置和方法。该专利初步公开了一种硬件实施方案,其中仅用一个乘法器就可以实现8输入上执行IDCT的处理。无论是4385363还是5574661专利都没有讨论到加权和变换处理。此外,这些专利也没有延伸到DV格式的应用方面。
一些研究者曾建议将加权和DCT处理组合起来以减少乘法的数目,从而加快编码器和解码器的软件和硬件实施方案的速度。例如,见1989年8月在IEEE Transactions on Consumer Electronics的第35卷第3的450-456页上由C.Yamamitsu等人发表的“An Experimental Study for Home-Use Digtial VTR”。Yamamitsu等人讨论了将采样加权函数与DCT和IDCT处理组合以产生“改进的DCT”地及“改进的IDCT”,其每一个在连续执行时都需要比其两个分量函数所需的要少的乘法。修改的DCT和IDCT在Yamamitsu等人的文件中公开,但并没有使用DV格式的标准加权。
实现2-4-8 DCT和加权或反加权以及2-4-8 IDCT的常规方法利用两个运算,需要总数为17或21个运算。加权和反加权处理的每一个需要在垂直方向的三个乘法以及在水平方向的七个乘法。四点DCT或四点IDCT的每一个都需要三个乘法。每个8点DCT或8点IDCT都需要十一个乘法。一种实现8点DCT和加权或反加权和8点IDCT的常规方式用总数18个乘法的两个运算。加权和反加权处理的每个需要7个乘法并且跟随有每个需要11个乘法的8点DCT或8点IDCT。例如,见C.Loeffler等人的“PracticalFast I-D DCT Algorithms with 11 Multiplications”,ICASSP-89,第988-991页,该文章于1989年在IEEE的声、语音和信号处理国际会议上发表的。

发明内容
本发明通过提供将具有最少的乘法个数的DV编码器的加权/DCT函数组合的方法和装置而减少DCT压缩时间和去压缩时间。最后,本发明还提供将具有最少的乘法个数的DV解码器的IDCT/反加权函数组合的方法和装置。
本发明的数据压缩方法包括接收代表图象象素信息的多个输入分量,并用DCT与加权的组合处理输入分量以产生代表图象数字的输出分量。本发明的其它数据去压缩方法包括接收代表图象的数字的输入分量并用将反加权运算与IDCT组合的方法处理输入分量以产生代表图象象素信息的输出分量。
具体讲,由处理器进行的数据压缩的方法包括接收代表图象象素信息的多个输入分量的操作。通过将输入分量的子集组合以确定第一组中间值。通过将输入分量的第一子集与中间值组合以确定第二组中间值。通过将输入分量的第二子集与带有预定常数和中间值组合以确定第三组中间值。通过将输入分量的第三子集与中间值组合以确定第四组中间值。在某些实施例中,将输入分量的第四子集、中间值和预定常数组合起来以获得输出分量。在本发明的其它实施例中,将输入分量的第四子集、中间值和预定常数组合起来以形成一个第五组中间值。随后通过将输入分量的第五子集与中间值组合来确定第六组中间值。通过将输入分量的第六子集与带有预定常数的中间值组合而确定第七组中间值。该方法随后通过将输入分量的第七子集与中间值组合来确定第八组中间值。通过将输入分量的第八子集与带有预定常数的中间值组合而获得输出分量。
具有5个或9个处理器的数据压缩系统包括接收代表图象象素信息的多个输入分量,并且确定代表图象数字的输出分量。第一处理器通过将输入分量的子集组合而确定第一组中间值。第二处理器通过将输入分量的第一子集与中间值组合以确定第二组中间值。第三处理器通过将输入分量的第二子集与带有预定常数的中间值组合而确定第三组中间值。第四处理器通过将输入分量的第三子集与中间值组合而确定第四组中间值。在本发明的一些实施例中,第五处理器通过将输入分量的第四子集与带有预定常数的中间值组合而确定输出分量。在本发明的一些其它实施例中,第五处理器通过将输入分量的第四子集、中间值和预定常数组合而确定第五组中间值。第六处理器通过将输入分量的第五子集与中间值组合而确定第六组中间值。第七处理器通过将输入分量的第六子集与带有预定常数的中间值组合而确定第七组中间值。第八处理器通过将输入分量的第七子集与中间值组合而确定第八组中间值。在利用9个处理器的系统中,第九个处理器通过将输入分量的第八子集与带有预定常数的中间值组合以确定代表图象的数字的输出分量。
根据本发明的另一方面,由处理器进行的数据去压缩方法包括接收代表图象数字表示的多个输入分量的操作。通过将带有预定常数的选定的输入分量组合而确定第一组中间值。通过将输入分量的第一子集与中间值组合而确定第二组中间值。通过将输入分量的第二子集、中间值和预定常数组合以确定第三组中间值。通过将输入分量的第三子集与中间值组合而确定第四组中间值。在本发明的一些实施例中,将输入分量的第四子集与中间值组合以获得输出分量。在本发明的其它实施例中,将输入分量的第四子集与中间值组合,以确定第五组中间值。将输入分量的第五子集、中间值和预定的常数组合起来以确定第六组中间值。该方法随后通过将输入分量的第六子集与中间值组合以确定第七组中间值。通过将输入分量的第七子集与中间值组合以确定输出分量。
此外,本发明的带有5个或9个处理器的数据压缩系统接收代表图象的数字的多个输入分量,并确定代表图象象素信息的输出分量。第一处理器通过将带有预定常数的选定的输入分量组合以确定第一组中间值。第二处理器通过将输入分量的第一子集与中间值组合以确定第二组中间值。第三处理器通过将输入分量的第二子集与带有预定常数的中间值组合以确定第三组中间值。第四处理器通过将输入分量的第三子集和中间值组合以确定第四组中间值。在本发明的一些实施例中,第五处理器通过将输入分量的第四子集与中间值组合而确定输出分量。在具有九个处理器的实施例中,第六处理器通过将输入分量的第五子集与带有预定常数的中间值组合以确定第六组中间值。第七处理器通过将输入分量的第六子集与中间值组合以确定第七组中间值。第八处理器通过将输入分量的第七子集与中间值组合而确定输出分量。


图1为已有技术数字视频编码器的基本流程图;图2为已有技术数字视频解码器的基本流程图;图3为本发明的示出详细的一维组合的离散余弦变换/加权(DCT/W)处理的流程图;图4为本发明的示出详细一维组合的反加权/反离散余弦变换(IW/IDCT)处理的流程图;图5示出本发明的9个处理器数据压缩系统;图6示出本发明的9个处理器数据去压缩系统;图7为流程图,详细示出本发明的一维组合的离散余弦变换/加权(DCT/W)处理;图8为流程图,详细示出本发明的一维组合反加权/反离散余弦变换(IW/IDCT)处理;图9示出本发明的五个处理器数据压缩系统;图10示出本发明的五个处理器数据去压缩系统;以及图11示出用于实现本发明的方法的系统。
下面参考附图,详细描述本具体实施方式
发明的方法的实施例。
A.8点模式压缩从数学角度看,DCT处理可与加权处理结合在一起。DV格式的标准DCT方程如下对于h=0,1…7和v=0,1,…7Q′(h,v)=C(h)C(v)Σy=07Σx=07(P(x,y)COS(πh(2x+1)16)COS(πv(2y+1)16))]]>其中 且 在上述DCT方程中,P(x,y)代表象素信息并被输入到DCT。Q′(h,v)代表在两个运算DCT/加权处理中的输出的DCT系数,它成为加权函数的输入。
DV格式的标准加权函数定义如下Q(h,v)=W(h,v)Q′(h,v)其中Q′(h,v)为加权函数的输入,而Q(h,v)为输出的加权系数。加权常数如下 其中w(0)=1w(1)=CS4/(4×CS7×CS2)w(2)=CS4/(2×CS6)w(3)=1/(2×CS5)w(4)=7/8w(5)=CS4/CS3
w(6)=CS4/CS2w(7)=CS4/CS1且CSm=COS(mπ/16)。如果Q″(h,v)定义为 其中Q(h,v)代表最终所需的加权DCT系数,Q″(h,v)为中间表示,在数学上等同于Q′′(h,v)=w(h)w(v)2C(h)C(v)Σy=07Σx=07P(x,y)COS(πh(2x+1)16)COS(πv(2y+1)16)]]>如果C′(h)和C′(v)定义为 和 代入C(h)和C(v)后,Q″(h,v)表示为 其结果就是用标准DV格式加权的两维DCT和加权函数的组合的公式。如上式表示的,两维DCT可以以两维处理来实现。在上述方程中,在水平坐标上进行第一8点1-DCT/加权处理。其结果被用作在垂直坐标上的第二1-DCT/加权处理的输入。
因此,Q″(h,v)可表示为 第二个方程它是一个在垂直坐标上进行的第一个1-DCT/加权处理的数学等式,且以其结果作为在水平坐标上第二1-DCT变换的输入。
图3的示意图也称作“蝶图”。图3示出作为9个工作流水线转换8输入IN0-IN7至8输出OUT0-OUT7的本发明的一维组合DCT/加权处理。在此图中,输入数据从左向右流。连接两点的对角线就代表输入被加到一起。箭头表示在下个计算之前计算的箭头点处加法反向的结果。在线段上的常数代表线段左端的结果被所指示的常数相乘。标号csi代表csi=COS(iπ/16)的计算。例如,2CS2CS4=2COS(2π/16)COS(4π/16),当在数学上被减少后则等于2COS(π/8)COS(π/4)。
作为P(x,y)的象素值分量由执行组合DCT/加权处理的处理器处理两次,一次以水平x坐标作为输入,而一次用垂直坐标为输入。如早前所提到的,两个变换的次序是无形的。本发明将描述首先在水平x坐标上进行的变换。
变换处理从代表水平象素分量P(x,y)的8个输入开始。在运算1中,8个输入IN0-IN7以成对方式如图3所示组合起来,以获得第一中间值a0-a7。组合是以加法和减法(或反加)实现的。在运算2中,第一中间值的子集被组合起来以获得第二中间值b0-b5。在运算3中,中间值a4和a5被常数乘以获得第三个中间值c0和c1。在运算4中,中间值b0-b5的子集c0和c1成对地组合起来以获得第四中间值d0-d4。在运算5中,中间值b2和d0被常数乘或移位以获得第五中间值e0和e1。运算6包括将先前所获的中间值多对组合以获得第六中间值f0-f5。在第7运算中,中间值被常数乘或移位以获得第七组中间值g0-g3。在运算8中,进行另一成对组合,以产生中间值h0-h3。在运算9中,选定的中间值被常数所乘或移位以获得8个输出值OUT0-OUT7。输出值与图3相同随后被用作对第二1-DCT/加权变换的输入。
在第二变换后的象素信息的输入矩阵为系数矩阵,每个系数代表总图象那部分的加权。图3所示的实施方案仅需要8个乘法和一个移位运算。无需改变本发明就可依比例进行图3的蝶图中的计算。具体讲,一个比例系数可用于任何同类的运算上,以保持输出数据之间的数学关系。
B.在8点模式中的去压缩IDCT可与基本为压缩处理反向的反加权处理相结合。首先,系数信息被进行反加权处理。如果Q(h,v)代表加权系数信息。则反加权数学表示为Q′(h,v)=W′(h,v)Q(h,v)其中Q(h,v)代表对反加权函数的输入,而Q′(h,v)为反加权函数的输出。
DV格式中的反处理中所用的加权与前面的压缩处理中所用的相同,即 其中w(0)=1w(1)=CS4/(4×CS7×CS2)w(2)=CS4/(2×CS6)w(3)=1/(2×CS5)w(4)=7/8w(5)=CS4/CS3w(6)=CS4/CS2w(7)=CS4/CS1且CSm=COS(mπ/16)。
换种方式,DV格式IDCT标准方程的数学表示如下对于x=0,1…7,且y=0,1…7,P(x,y)=Σv=07Σh=07(C(v)C(h)Q′(h,v)COS(πv(2y+1)16)COS(πh(2x+1)16))]]>其中Q′(h,v)为用作IDCT输入的反加权函数的输出。在上述方程中,输出P(x,y)由代表解码图象的象素信息构成。另外,在上述方程中还有 将反加权函数与IDCT组合,首先在IDCT方程中对Q’(h,v)代入W’(h,v)。其结果为一个描述组合的反加权/IDCT处理的公式P(x,y)=Σv=07Σh=07(C(v)C(h)W′(h,v)Q(h,v)COS(πv(2y+1)16)COS(πh(2x+1)16))]]>接着 其中Q(h,v)为组合IW/IDCT处理的输入,而Q″(h,v)为中间表达式。在代入Q(h,v)后,则有P(x,y)=Σv=07Σh=07(C(v)C(h)2w(h)w(v)Q′′(h,v)COS(πv(2y+1)16)COS(πh(2x+1)16))]]>当C′(h)=22C(h),]]>对于h=0至7,则有 在再次代入之后,本发明的组合的IDCT/IW处理的方程如下其中Q″(h,v)为中间表达式而P(x,y)为所需的象素信息P(x,y)=Σv=07Σh=07(14·C′(h)C′(v)w(h)w(v)Q′′(h,v)COS(πv(2y+1)16)COS(πh(2x+1)16))]]>其结果就是加权函数和两维IDCT组合的公式。如上所表示的,两维IW/IDCT可分为两个1-DCT变换 在上述方程中,在水平座标上进行第一8点1-DCT反加权/IDCT处理。其结果则用作垂直座标上第二1-D反加权/IDCT处理的输入。
另外,Q″(h,v)可表示为 上面的方程也就是在垂直坐标上进行1-D反加权/IDC处理的数学式,其结果被用作在水平上进行的第二1-D变换的输入。
图4示出本发明的一维组合的反加权/IDCT处理。组合的反加权/IDCT处理可以以图4的蝶图中的8操作流水线来实现。
在反向处理中,通过组合的反加权/IDCT处理器将上述加权系数Q″(h,v)处理两次,一次以水平h坐标为输入,一次以垂直v坐标为输入。在两个变换中的次序是无形的。为了解释的缘故,本发明将描述首先在水平h坐标上进行的变换。
变换处理是从代表水平分量Q″(h,v)的8输入I0-I7开始的。在运算1中,8输入既被常数乘又被移位以获得第一中间值a0-a1。在运算2中,以加和减(或反加)来执行组合,以获得中间值b0-b7。在运算3中0,选定的中间值b2、b4和b6被常数乘或移位以获得第三组中间值c0-c2。在第四运算中,中间值被成对地组合起来以获得第四中间值d0-d2。第五运算包括将先前获得的第五中间值e0-e7中产生的中间值多对组合。在运算6中,中间值e4和e5被常数所乘以获得第六中间值f0和f1。运算7涉及两个成对的组合,以获得第七中间值g0和g1。最后,在运算8中,进行另一组先前所获中间值的成对组合,以获得8个输出值OUT0-OUT7。该输出值随后被用作对第二1-D反加权/IDCT变换的输入。
在第二变换之后的结果为象素信息的矩阵。图4中组合的反加权/IDCT函数仅需要8个乘法和一个移位运算。图4中的蝶图中的计算可依比例进行而不用改变本发明。具体讲,比例系数可用于同类的任何运算中而保持输出数据之间的关系。
C.在2-4-8 DCT模式时的压缩在2-4-8 DCT模式,象素信息的8×8块首先被分成两个4×8块。随后,在每个4×8块上进行4×8 DCT。从数学上讲,DCT处理可与加权处理组合起来。DV格式的标准2-4-8 DCT方程如下对于h=0,1,…7且v=0,1,…3,则有(h,v)′=C(h)C(v)Σm=03Σx=07(P(x,2m)+P(x,2m+1))COS(πh(πx+1)16)COS(πv(2m+1)8)]]>(h,v+4)′=C(h)C(v)Σm=03Σx=07(P(x,2m)-P(x,2m+1))COS(πh(2h+1)16)COS(πv(2m+1)8)]]>其中 且 在上面的DCT等式中,P(x,y)代表象素信息并且为DCT的输入。具体讲,P(x,2m)+P(x,2m+1)代表第一DCT的输入为4×8矩阵,其中每行为8×8象素矩阵行中的一对的和。与之类似,在第二方程中,P(x,2m)-P(x,2m+1)代表对第二DCT的输入为4×8矩阵,其每行为8×8输入象素信息矩阵的行的一对的差。Q′(h,v)代表两个运算的DCT/加权处理的输出的DCT系数,它成为加权函数的输入。
DV格式的标准加权函数如下Q(h,v)=W(h,v)Q′(h,v)其中Q′(h,v)为对加权函数的输入,而Q(h,v)为输出的加权系数。此加权常数如下 其中w(0)=1w(1)=CS4/(4×CS7×CS2)w(2)=CS4/(2×CS6)w(3)=1/(2×CS5)w(4)=7/8
w(5)=CS4/CS3w(6)=CS4/CS2w(7)=CS4/CS1且CSm=COS(mπ/16)。如果Q″(h,v)定义为 其中Q(h,v)代表最所需的加权DCT系数,而Q″(h,v)为中间表达式,它以数学方式表达为Q′′(h,v)=w(h)w(2v)2C(h)C(v)Σm=03Σx=07(P(x,2m)+P(x,2m+1))COS(πh(2x+1)16)]]>COS(πv(2m+1)8)]]>Q′′(h,v+4)=w(h)w(2v)2C(h)C(v)Σm=03Σx=07(P(x,2m)-P(x,2m+1))COS(πh(2x+1)16)]]>COS(πv(2m+1)8)]]>如果C′(h)和C′(v)如下定义 且 代入C(h)和C(v),Q″(h,v)和Q″(h,v+4)表达为 上述方程是用标准DV格式加权将两维DCT和加权函数组合的公式。如上所述的,两维(2-D)DCT可以以两个一维(1-D)处理来进行。在上述第一个方程中,在信息和的水平坐标上进行第一8点1-D DCT/加权处理。其结果被用作信息和垂直坐标上4点1-DCT/加权处理的输入。在上述第二方程,在差信息的水平座标上进行第一8点1-D DCT/加权处理。其结果用作在差信息的垂直坐标上4点1-D DCT/加权处理的输入。
Q″(h,v)和Q″(h,v+4)可表示为 第二组方程代表,它也是用于代表在垂直坐标上进行第一4点1-DDCT/加权处理并将其结果作为在水平坐标上进行的8点1-D DCT/加权处理的输入。
上面所有的8点1-D DCT/加权处理都是部分A中所描述的类型,本发明中的4点1-D DCT/加权处理公开如下。
在2-4-8 DCT模式中,组合的DCT/加权处理也进行两次,一次在信息和的4×8块上,一次在差信息的4×8块上。对于每个块,象素值分量P(x,y)由执行组合DCT/加权处理的处理器处理两次,一次在垂直Y坐标上进行4点DCT/加权处理,一次在水平Y坐标上进行8点DCT/加权处理。如先前所提到的,两个变换的次序是无形的。本发明将借助在和信息上进行4点DCT/加权处理之后进行8点DCT/加权处理来加以描述。
图5图的图也称作“蝶图”。图5示出本发明的4点1-D组合的DCT/加权处理,以五个运算的流水线转换器将4输入IN0-IN3转换为4输出OUT0-OUT3。在此图中,输入数据是从左向右流的。连接两点的对角线代表加到一起的输入。箭头代表在下一计算之前计算箭头点处结果的反加。在线段上的常数代表线段左边的结果被所代表的常数乘。
变换处理从代表象素分量P(x,y)的垂直和信息的4个输入上开始。在运算1中,四个输入I0-I3如图5所示成对地组合起来以获得第一中间值a0-a3。以加和减(或反加)来进行组合。在运算2中,第一中间值的子集被组合起来,以获得第二中间值b0。在运算3中,中间值a2被常数所乘以获得第三中间值C0。在运算4中,先前确定的第一、第二和第三中间值的子集成对地组合起来以获得第四中间值d0-d3。在运算5中。中间值d1和d2被常数所乘或移位以获得四个输出值O0-O3。该输出值随后被用作在水平分量上进行8点1-D DCT/加权变换的输入。在上述专利中,8点1-D DCT/加权变换已得到充分的描述。
下面执行8点DCT/加权处理,和信息的输入4×8矩阵为系数矩阵,每个系数代表总图象的那部分的加权。接着,在差信息的4×8矩阵上进行4点DCT/加权处理,及其后的8点DCT/加权处理,以获得系数的第二4×8矩阵。
图5所示的4点1-D DCT/加权处理的实施方案需要两个乘法和一个移位运算。此外,在图5的蝶图中的计算可依比例进行而不改变本发明。具体讲,比例系数可用于任何同类操作上,以保持输出数据之间的数学关系。
D.去压缩在去压缩时,IDCT可与反加权函数组合,它基本上是压缩处理的反操作。首先,进行将系数信息进行反加权处理。如果Q(h,v)代表加权的信息,则反加权可以数学方式表达为Q′(h,v)=W′(h,v)Q(h,v)其中Q(h,v)代表对反加权函数的输入,而Q′(h,v)为反加权函数的输出。
在DV格式的反处理中所用的加权与先前描述的压缩处理中所用的加权相同,即 其中w(0)=1w(1)=CS4/(4×CS7×CS2)w(2)=CS4/(2×CS6)w(3)=1/(2×CS5)w(4)=7/8
w(5)=CS4/CS3w(6)=CS4/CS2w(7)=CS4/CS1其中CSm=COS(mπ/16)。
此外,DV格式的标准2-4-8 IDCT方程的数学表达式为若y=2m,对于m=0,1,2,3,且x=0,1,…,7,P(x,y)=P(x,2m)=Σv=03Σh=07(C(v)C(h)(Q′(h,v)+Q′(h,v+4))COS(πv(2m+1)8)COS(πh(2x+1)16))]]>另外,若y=2m+1,对于m=0,1,2,3,且x=0,1,…,7,P(x,y)=P(x,2m+1)=Σv=03Σh=07(C(v)C(h)(Q′(h,v)-Q′(h,v+4))COS(πv(2m+1)8)COS(πh(2x+1)16))]]>其中Q′(h,v)为反加权函数的输出,并且作IDCT的输入。在上述方程中,输出P(x,y)包括代表解码图象的象素信息。另外,在上述方程中, 且 为了将反加权函数IDCT组合,首先在IDCT方程中以W′(h,v)Q(h,v)代入Q′(h,v)。得到描述组合的反加权/IDCT处理的公式P(x,y)=Σv=03Σh=07(C(v)C(h)(Q′(h,v)+(-1)yQ′(h,v+4))COS(πv(2·INT(y/2)+1)8)COS(πh(2x+1)16))]]>P(x,y)=Σv=03Σh=07(C(v)C(h)(W′(h,v)Q(h,v)+(-1)yW′(h,v+4)Q′(h,v+4))COS(πv(2·INT(y/2)+1)8)COS(πh(2x+1)16))]]>接着 其中Q(h,v)为对组合后的IW/IDCT处理的输入,且Q”(h,v)为中间表达式。在代入Q(h,v)后,则有P(x,y)=Σv=03Σh=07(C(v)C(h)2w(h)w(2v)(Q′′(h,v)+(-1)y·Q′′(h,v+4))COS(πv(2·INT(y/2)+1)8)COS(πh(2x+1)16))]]>接着 且 在再次代入之后,本发明的组合后的IDCT/IW处理即如下,其中Q″(h,v)为中间表达式,而P(x,y)为所需的象素信息。P(x,y)=Σv=03Σh=07(14·C′(h)C′(v)w(h)w(2v)(Q′′(h,v)+(-1)y·Q′′(h,v+4))COS(πv(2·INT(y/2)+1)8)COS(πh(2x+1)16))]]>若y=2m,m=0,1,…3,且x=0,1,…7,则 若y=2m+1,m=0,1,…3,且x=0,1,…7,则 其结果即为反加权函数和两维IDCT组合的公式。如上所示,两维IW/IDCT可分成两个1-D变换。在上述方程中,在水平坐标上进行第一8点1-D反加权/IDCT处理。其结果作为垂直坐标上4点1-D反加权/IDCT处理的输入。
另外,Q”(h,v)可表示为若y=2m,m=0,1,…3,且x=0,1,…7, 若y=2m+1,m=0,1,…3,且x=0,1,…7, 上面的方程表示,它也是首先在垂直坐标上进行4点1-D反加权/IDCT处理随后将结果作为水平坐标上8点1-D变换的输入的数学公式。上面所提到的所有8点1-D组合反加权/IDCT处理都是部分B中所描述的类型。本发明所公开的4点1-D反加权/IDCT处理描述如下。
在2-4-8 DCT模式中,组合的反加权/IDCT处理进行两次,一次为获得偶数行信息的4×8块,而另一次为获得奇数行信息的4×8块。每个组分的反加权/IDCT处理都涉及进行4点1-D反加权/IDCT处理和8点1-D反加权/IDCT处理。在每个块上进行的两个变换中的次序是无形的。为了解释本发明,将借助执行4点1-D反加权/IDCT处理及随后的8点1-D反加权/IDCT处理来加以描述。
图6示出本发明的4点1-D组合的反加权/IDCT处理。组合反加权/IDCT处理可以图6中的蝶图所描述的五个运算操作流水线来实现。
变换处理是从代表偶数行信息的四个输入I0-I3开始的。通过将和系数Q″(h,v)与差系数Q″(h,v+4)相加而得到4个输入I0-I3。在运算1中,四个输入被常数乘或移位以得到第一中间值a0和a1。在运算2中,用加法和减法(或反加)将在输入分量的子集与第一中间值组合以获得中间值b0-b3。在运算3中,中间值b2乘以一个常数以得到第三中间值C0。在第四运算中,一对先前确定的值被组合起来以获得第四中间值d0。在运算5中,将四个输出值O0-O3中产生的先前获得的中间值多对组合起来。输出值随后被用作8点1-D反加权/IDCT变换的输入。
下面执行8点变换,其结果为象素信息奇数行的4×8矩阵。该处理被重复进行以得到一个通过使用Q″(h,v)-Q(h,v+4)作为输入的象素信息奇数行的第二矩阵。图4所示的组合反加权/IDCT函数仅要两个乘法和一个移位。图4所示蝶图中的计算可依比例进行而不会改变本发明。该比例系数可用于任何运算中只要能保持输出数据间的数学关系。
E.系统图7示出构成本发明的系统。如图7所示,处理器710经任何适当的数据线接至少一个输入/输出(I/O)装置720。I/O装置720可以任何能将信息送入处理器710或从其上接收数据的装置。I/O装置720可以是经IEEE1394接口相联的数字摄像机。处理器710可以是任何通用的处理器,例如奔腾处理器。处理器速度越快将越减少本发明的执行时间。
本发明的系统还包括存储器730和图形卡740,存储器730中存储可以由处理器710处理的数据,并将数据送到I/O装置720或从其上接收数据。图形卡740将显示图象转换成可由显示监视器750显示的信号。处理器710、I/O装置720、存储器730、图形卡740和监视器750经标准系统总线760相联。图7示出示范性网络,在该网络中,每个硬件都可以常规的市面有售的计算机系统零件来实现。
此外,构成本发明的数据压缩系统可以以图8所示的9高速定制硬件处理器或图10所示5高速定制硬件处理器来实现。
在图8中,每个处理器810-850执行与图3的运算之一对应的运算。处理器810、820和840包括至少一个算术逻辑单元(ALU)。ALU815、825和845为能进行算术和逻辑运算的处理器。处理器830和850的每一个都含有至少一个乘法器832和852和至少一个移位寄存器834和854。每个处理器810-890都进行与图3中的运算之一对应的运算。图8的系统还包括一个输入装置800和一个输出装置895。
如图9所示,构成本发明的数据去压缩系统可以用输入装置900、输出装置995和8高速定制硬件处理器910、920、…990来实现。处理器920、940和950包括至少一个算述逻辑单元(ALU)。ALU925、945和955为能进行算术的逻辑运算的处理器。处理器910和930的每一个都含有至少一个乘法器912和932以及至少一个移位寄存器914和934。每个处理器910-990都执行与图4中的运算之一对应的运算。
图10示出5个处理器1010-1050,每个处理器都进行与图5中的运算之一对应的运算。处理器1010、1012和1014都含有至少一个算术逻辑单元(ALU)。ALU1015、1025和1045为能进行算术和逻辑运算的处理器。处理器1030和1050的每一个都含有至少一个乘法器1032和1052以及至少一个移位寄存器1034和1054。图10的系统还包括一个输入装置1000和一个输出装置1090。
另外,如图11所示,本发明的数据去压缩系统可以用输入装置1100、输出装置1190和5高速定制硬件处理器1110、1120、1130、1140和1150来实现。处理器1120、1140和1150含有至少一个算术逻辑单元(ALU)。ALU1125、1145和1155为能进行算术和逻辑运算的处理器。处理器1110和1130的每一个都含有至少一个乘法器1112和1132以及至少一个移位寄存器1114和1134。每个处理器1110-1150执行与图6中的运算之一对应的运算。
本发明的方法和装置可以软件、硬件或软件与硬件的组合来实现。本发明的软件方案最好实现在计算机可读介质上,例如在磁盘上,或者在计算机可读介质上传输,例如在互联网(Internet)上传输。
权利要求
1.一种在数字视频解码器中执行数据去压缩的方法,其中反离散余弦变换和加权函数被组合,所述方法包括由处理器进行的以下步骤接收多个代表图象的加强的、压缩数字表示的输入分量;通过将所述输入分量的一个子集与一个第一组预定常数组合而确定一个第一组中间值,每一个预定的常数是离散余弦系数和数字视频加权常数的函数;;通过将所述输入分量的一个第一子集与所述第一组中间值组合而确定一个第二组中间值;通过将所述输入分量的一个第二子集与带有一个第二组预定常数的所述第一和第二组中间值组合而确定一个第三组中间值,每一个预定的常数是离散余弦系数和数字视频加权常数的函数;通过将所述输入分量的一个第三子集与所述中间值组合而确定一个第四组中间值;通过将所述输入分量的一个第四子集与所述中间值组合而确定输出分量;并且将代表图象的像素信息的输出分量输出。
2.根据权利要求1所述的方法,其特征在于,所述确定一个第一组中间值的步骤包括以下步骤将所述输入分量的一个第一子集与所述第一组预定常数相乘;并且将所述输入分量的一个第二子集移位。
3.根据权利要求1所述的方法,其特征在于,所述确定一个第三组中间值的步骤包括以下步骤将所述输入分量的一个第一子集与带有所述第二组预定常数的所述第一和第二组中间值相乘;并且将所述输入分量的一个第二子集与所述第一和第二组中间值移位。
4.一种在数字视频编码器中执行数据去压缩的方法,其中离散余弦变换和加权函数被组合,所述方法包括由处理器进行的以下步骤接收代表图象的加权的、压缩数字表示的4个输入值I0-I3;通过移位I1确定一个第一中间值a0;将a0乘以常数8/7以确定一个第一中间值a1;确定一个第二中间值b0=I0+a1;确定一个第二中间值b1=a0+I3;确定一个第二中间值b0=I0-a1;确定一个第二中间值b1=a0-I3;将b2乘以常数1/21/2以确定一个第三中间值c0;确定一个第四中间值d0=b1-b3;确定一个输出O0=b0+b1;确定一个输出O3=b0-b1;确定一个输出O2=c0+d0;确定一个输出O3=c0-d0;确定一个输出O3=d3;并且将O0至O3组合以形成图象的去压缩的像素信息。
5.一种用于在数字视频解码器中执行数据去压缩的数据去压缩系统,其中反离散余弦变换和加权函数被组合,所述系统包括一个输入装置,用于接收多个代表图象的加权的、压缩数字取样的输入分量;一个第一处理器,用于通过将所述输入分量的一个子集与一个第一组预定常数组合而确定一个第一组中间值,每一个预定的常数是离散余弦系数和数字视频加权常数的函数;;一个第二处理器,用于通过将所述输入分量的一个第一子集与所述第一组中间值组合而确定一个第二组中间值;一个第三处理器,用于通过将所述输入分量的一个第二子集与带有一个第二组预定常数的所述第一和第二组中间值组合而确定一个第三组中间值,每一个预定的常数是离散余弦系数和数字视频加权常数的函数;一个第四处理器,用于通过将所述输入分量的一个第三子集与所述第一、第二和第三组中间值组合而确定一个第四组中间值;一个第五处理器,用于通过将所述输入分量的一个第四子集与所述第一、第二、第三和第四组中间值组合;和一个输出装置,用于输出代表图象的去压缩的像素分量的输出分量。
6.根据权利要求5所述的系统,其特征在于,所述第一处理器包括一个乘法器,用于将输入分量的一个第一子集与所述第一组预定常数相乘;和一个移位寄存器,用于将所述输入分量的一个第二子集与所述中间值移位。
7.根据权利要求5所述的系统,其特征在于,所述第三处理器包括一个乘法器,用于将所述输入分量的一个第一子集与带有所述第二组预定常数的所述第一和第二组中间值相乘;和一个移位寄存器,用于将所述输入分量的一个第二子集与所述第一和第二组中间值移位。
8.一种在数字视频编码器中执行数据去压缩的系统,其中离散余弦变换和加权函数被组合,所述系统包括一个输入装置,用于接收代表图象的加权的、压缩数字表示的4个输入值I0-I3;一个处理器,用于执行以下的确定处理通过移位I1确定一个第一中间值a0;将a0乘以常数8/7以确定一个第一中间值a1;确定一个第二中间值b0=I0+a1;确定一个第二中间值b1=a0+I3;确定一个第二中间值b0=I0-a1;确定一个第二中间值b1=a0-I3;将b2乘以常数21/2以确定一个第三中间值c0;确定一个第四中间值d0=b1-b3;确定一个输出O0=b0+b1;确定一个输出O3=b0-b1确定一个输出O2=c0+d0;确定一个输出O3=c0-d0;确定一个输出O3=d3;并且一个输出装置,用于供给代表图象的去压缩的像素分量的输出O0-O3。
全文摘要
公开了一种数据压缩和去压缩的方法和系统。具体讲,本发明的数据压缩方法包括接收代表图象的象素信息的4个或8个8点离散余弦变换(DCT)或将4点和8点DCT与加权函数组合以获得代表图象数字的4个或8个输出。数据去压缩方法接收代表图象的数字的4或8个输入,并进行反加权函数和8点反离散余弦变换或将4和8点IDCT组合以获得图象的象素分量。本发明的方法和系统可用于数字视频编/解码器。
文档编号H04N7/30GK1481171SQ0314549
公开日2004年3月10日 申请日期1998年11月17日 优先权日1997年11月17日
发明者张静方, 李俊杰, 柳原尚史, 史 申请人:索尼电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1