本发明涉及一种离散余弦逆变换(IDCT)装置,该装置用于数字图象处理系统;更具体地讲,本发明涉及这样一种IDCT装置,这种装置能够处理包含多组图象数据和在图象数据之间的各种时间间隙的变换的视频信号。 众所周知,数字视频信号的传输比模拟信号传输的质量要高得多。当以一种数字方式来表示一种包括一个图象“帧”序列的图象信号时,特别是对高清晰度电视系统的情况,会产生大量的数据要进行传输。但是,由于一般的传输信道的可用频带宽度有限,为了通过有限的信道宽度来传输大量数据,就必然要压缩或减少传输数据的数量。
由于在一个图象帧的像素之间以及在相邻帧的像素之间通常存在着一定地相关关系或冗余度,所以,图象信号通常是可以压缩的而不会严重影响图象信号的完整性。因此,已有的大多数图象信号编码方法采用了各种压缩技术(或编码方法),这些技术都是建立在截断或利用冗余度的构思的基础上。
这样的编码方法中有一类涉及的是利用单独一幅帧中的冗余度的变换技术。这样的变换方法之一是两维离散余弦变换(DCT),该方法记载在Chen和Pratt的论文中,“Scene Adaptive Coder”,IEEE Transactions on Communication,COM-32,No.3(1984年3月)。
在这些ISO/IEC MPEG标准的设计方案中,用其它编码方法来使用DCT,例如差分脉码调制(DPCM)和运动补偿预测编码方法。在运动补偿预测编码方法中采用了运动估计和预测(见MPEG Video Simulation Model Three,International Organization for Standardization,1990,ISO-IEC/JTC1/SC2/WG8 MPEG 90/041)。
在采用DCT的图象编码/译码系统中,经常采用商用DCT/IDCT处理器实现DCT/IDCT处理。本发明主要涉及一种在一个采用商用IDCT处理器的图象译码系统中进行IDCT处理的装置。
在一般的图象编码系统中,首先把图象信号的每一帧分为多个码组,每一个码组都含有预定数量,例如64个像素数据,并进行处理,例如逐组进行离散余弦变换。由多个码组一起产生一个宏码组,并对图象信号作进一步处理,例如以宏码组为基础进行运动估计和预测。在两个连续的宏码组之间可以插入一个附加信号,这个附加信号包含有关于编码处理的信息。因此,对编过码的图象信号还要进行象信道编码这样的处理,以便传输图象信号。
另一方面,在一般的图象译码系统中,在进行IDCT处理以前,要对从传输信道接收的图象信号进行一系列译码处理,其中包括例如信道译码,可变长度译码,行程译码和反量化(inverse quantization)。换句话说,输入到IDCT装置中的信号是一个由包括在图象译码系统中的反量化器提供的变换视频信号,这个信号可以包括数据信号和信息信号。数据信号可以含有多个变换系数的宏码组和时间间隙,每个时间间隙都是在两个连续宏码组之间的时间间隙,每个宏码组都包含有多个码组,而每个码组都有预定数量的变换系数,这些变换系数以恒速输入到IDCT装置中。每个时间间隙和每个插入到编码器的附加信号都是相对应的,而且时间间隙的长度可以随系统发生变化。包含在输入信号中的信息信号可以包含各种信号,这些信号都与数据信号的输入时间有关。这些信号的一些共同的例子是宏码组特征位和数据码组开始信号,其中宏码组特征位在包含在宏码组中的变换系数的输入周期中被触发而进入有效的高/低状态,而在两个连续的宏码组之间的时间间隙中被停用,数据码组开始信号在每个码组的第一输入周期中被触发。
众所周知,IDCT处理器是逐组对输入信号进行IDCT处理的。IDCT处理器一般都要具有控制信号的输入导线,控制信号控制数据流输入到IDCT处理器中和从IDCT处理器中输出,由此能够逐组处理输入信号。这些控制信号的一些例子是输出启动信号和码组开始信号,当然,这些控制信号的名称和功能可以随IDCT处理器的类型的不同而发生变化。码组开始信号在每一个码组的第一输入周期中,通过例如启用相应的输入导线而通知IDCT处理器一个码组的开始。输出启动信号控制输出三态,即启动处理器的输出,或通过转入高阻抗状态而阻止处理器的输出。
IDCT处理器对输入信号的形式或时限可以有一些约束条件。通常为,变换系数应该以基本上一个时钟周期一个变换系数的恒速提供给IDCT处理器,而且两个连续宏码组之间的时间间隙应该满足一定的条件。例如,时间间隙应该为一个码组中的变换系数的时钟周期数的倍数,或者应该大于等待时间。等待时间指的是开始码组输入和开始码组输出之间的时间间隔并由IDCT处理器的特性定义。在等待时间之后,IDCT处理器以与输入相似的方式输出逆变换的系数。
如果输入信号不满足IDCT处理器所要求的条件,那么,IDCT处理器的内同步将被扰乱,而且IDCT处理器不会得出正确的结果。
因此,由于在输入信号时限上的约束条件,已有技术的IDCT处理器已不能独立地处理在宏码组之间的长度变化的时间间隙。
本发明的主要目的是提供一种IDCT装置,用于对输入信号和长度变化的时间间隙进行IDCT处理,其中输入信号具有多个变换系数的宏码组,每个时间间隙都是在两个连续的宏码组之间的时间间隙。
根据本发明所提供的IDCT装置,用于对具有数据信号和信息信号的输入信号进行IDCT处理,以产生一个逆变换的数据信号。其中所说的数据信号包括多个变换系数的宏码组和长度可变的时间间隙,每个所说的宏码组包括多个码组,每个所说的码组具有预定数量的变换系数,而且每个所说的时间间隙都是插在两个连续宏码组之间的,所说的逆变换数据信号包括多个逆变换系数的宏码组,该IDCT装置包括:
一个IDCT控制器,用于响应所说的信息信号,并交替产生多个第一组控制信号和多个第二组控制信号,其中所说的多个第一组控制信号与数据信号中的奇数宏码组相对应,所说的多个第二组控制信号与数据信号中的偶数宏码组相对应;
第一IDCT装置,用于响应所说的多个第一组控制信号,把数据信号中的奇数宏码组变换成奇数逆变换宏码组;
第二IDCT装置,用于响应所说的多个第二组控制信号,把数据信号中的偶数宏码组变换成偶数逆变换宏码组;
合成装置,用于响应第一和第二组控制信号,把奇数和偶数逆变换宏码组合成在一起,由此产生逆变换数据信号。
本发明的上述和其它目的以及特点通过下面结合附图对最佳实施例的说明会变得更加清楚,其中:
图1是本发明的IDCT装置的示意框图;
图2是图1所示的IDCT控制器的示意框图;
图3表示的是根据本发明输入到IDCT控制器中和由IDCT控制器产生的各种信号的示例性波形。
图1和图3分别表示的是本发明的IDCT装置和其各种输入和输出信号的波形。
输入到本发明的IDCT装置中的一种输入信号是一种标准型的变换视频信号,它可以由一个图象译码系统的另一部分,如反量化器(没有示出)来提供;输入信号包含一个数据信号DCTCOEF和信息信号MBFLAG和DBS。
如图1和图3所示,DCTCOEF输入到IDCT20和30中进行逆变换。DCTCOEF包括多个变换系数的宏码组和时间间隙,每个时间间隙都插在两个连续的宏码组之间。每个宏码组都包括多个码组,每个码组都含有预定数量的DCT系数。
MBFLAG和DBS是输入到IDCT控制器10中的输入信息信号。MBFLAG包含多个宏码组的特征位,每个特征位都表示每个宏码组的长度,在输入宏码组的变换系数时,MBFLAG被触发,即进入有效高状态;而在图3所表示的两个相邻的宏码组之间的时间间隙中被停用。DBS包括多组数据码组开始信号,每一组与第一个宏码组相对应,而且一组中的每一个数据码组开始信号都代表在相应的一个宏码组中每一个码组的开始。具体讲,DBS在图3所示的每一码组的第一输入周期中被触发。
IDCT控制器10响应后面结合图2所描述的MBFLAG和DBS,向IDCT20和30提供各种控制信号。IDCT控制器10向IDCT20提供OE1,BS1和RESET1;向IDCT30提供OE2,BS2和RESET2。
BS1和BS2包括分别输入到IDCT20和30中的码组开始信号。BS1包含多组码组开始信号,每一组与每一个奇数宏码组相对应,而且在一组中的每一个码组开始信号都代表在相应一个奇数宏码组中每一个码组的开始。具体讲,如图3所示,BS1在包含在奇数,例如第1和第3宏码组中的每一个码组的第一输入周期中被触发;BS2在偶数,例如第2和第4宏码组相应的情况下被触发。
OE1和OE2包含分别输入到IDCT20和30中的输出启动信号。OE1/OE2包含多组输出启动信号,每一组都控制IDCT20/30的输出三态。如图3所示,交替触发OE1和OE2,由此交替接通相应的IDCT20和30的输出导线。当停用OE1和OE2的时候,则中断IDCT20和/或30的输出导线,即转入高阻抗状态。
复位信号包含分别使IDCT20和30初始化的RESET1和RESET2。RESET1/RESET2包含多个复位信号,每个复位信号在OE1/OE2进入低阻抗状态后被触发,而在一个新的宏码组开始以前被停用。如图3所示,交替触发RESET1和RESET2,由此使IDCT20和30交替初始化。
IDCT20和30响应控制信号,对输入到其里面的变换系数进行IDCT处理。IDCT20和30可以是相同的,也可以是具有预定长度的等待时间的商用IDCT处理器。IDCT20和30分别响应BS1,OE1,RESET1和BS2,OE2,RESET2,对变换系数的奇数和偶数宏码组进行IDCT处理。具体讲,如图3所示,IDCT20响应在BS1第一组中的每一个码组开始信号,对包含在第1宏码组中的变换系数的每一个码组进行IDCT处理。在等待时间之后,响应OE1输出反向变换系数。在输出完第1宏码组的所有逆变换系数之后,停用OE1并触发RESET1,由此使IDCT20初始化以便处理第3宏码组。IDCT30所执行的处理与IDCT20基本相同。如上所述,以相同的信号DCTCOEF作为输入数据信号,IDCT20和30对交替的宏码组进行处理并提供结果。
IDCT20和30关于逆变换数据的相应的输出导线是硬线连接的,即直接连在一起。因此,IDCT20输出的奇数逆变换宏码组,即逆变换系数的奇数宏码组,和IDCT30输出的偶数逆变换宏码组,即逆变换系数的偶数宏码组,通过这条硬线连接的线而合成到一起,由此产生一个逆变换数据信号。
图2和图3分别表示的是图1所示的IDCT控制器10和输入到IDCT控制器10各个部分以及由IDCT控制器10输出的各种信号的波形的示意图。
延迟逻辑电路11把MBFLAG延迟一个IDCT处理器的等待时间,向倒相器12和分相器13提供一个如图3所示的延迟的MBFLAG。
分相器13把延迟的MBFLAG分开,分别向IDCT20和30提供图3所示的OE1和OE2。
倒相器12变换延迟的MBFLAG,向分相器14提供一个图3所示的相反的MBFLAG。
分相器14把反相的MBFLAG分开,分别向IDCT20和30提供图3所示的RESET1和RESET2。
一个BS分相器15接收MBFLAG和DBS,并如图3所示,通过分开DBS,而分别向IDCT20和30提供BS1和BS2。延迟逻辑电路11,分相器13,14和BS分相器15通过采用商用的晶体管-晶体管逻辑电路(TTL)装置很容易实现。
虽然本发明是具体结合一种图象译码系统进行说明的,但是,对于本领域普通技术人员显而易见的是,本发明的IDCT装置能够用于其它的图象处理系统,在这些图象处理系统中可以对与本发明具有相似形式的输入信号进行IDCT处理。
实际上,已知的绝大多数IDCT处理器也可以进行DCT处理并对输入信号的形式有相似的约束条件。因此,本发明还可以直接用于DCT装置中,例如用在一种图象编码系统中的DCT装置,以便在逐组的基础上对视频信号进行DCT处理,并且在宏码组的基础上进行运动估计和预测。
虽然本发明已针对具体的实施例进行了说明,但是对于本领域普通技术人员显而易见的是,在不脱离一同提交的权利要求书所限定的本发明的构思和范围的前提下,可以进行各种变化和改进。