专利名称:图像数据压缩系统和方法
技术领域:
本发明涉及一种用在数字信号处理系统中的数据压缩网络。更具体地说,本发明涉及一种例如可在电视系统中使用的图像信号处理器的数据压缩网络。
具有相关联的大存储器需求的复杂数字信号处理系统变得日益普及。限制存储器需求的必要性在诸如视频和电视系统一类的消费产品中尤为重要,以将这种产品的成本保持在一个合理的水平。
可利用各种数据压缩技术来降低对存储器的要求和促进有限带宽通道上的数据传输,同时保持可接受的图像质量。这些压缩技术包括差分脉冲编码调制(DPCM)、包含变换编码的分频段编码、矢量量化、混合编码、和这些技术的适当改型。图像信号处理的最新发展包括MPEG(运动图像专家组)信号处理标准(ISO/IEC13818-2,1994年5月10日)的开发。这一广泛接受的标准利用图像块处理,尤其令人吸引的是用于卫星、有线和地面广播系统,包括高清晰度电视(HDTV)系统。执行MPEG解码算法需要存储先前解码的数据。按照本发明原理,在此认识到最好是利用一种基于块的压缩系统来降低存储要求。
本发明的目的是提供一种利用两个不同的压缩网络的数据压缩系统。选择来自这两个网络中的一个或另一个的已压缩数据,以获得令人满意的图像质量和所需要的压缩系数。
在所公开的优选实施例中,一个网络提供固定的数据压缩,而另一个网络提供可变的数据压缩。该数据压缩是在块的基础上进行的,且两个数据压缩网络以并行方式同时工作。如果确定可变压缩网络的输出未获得所需的压缩系数,就使用固定压缩网络的输出。
图1是按照本发明原理的一种含数据压缩网络的图像数据处理系统的一部分的方块图。
图2较为详细地示出了图1中的可变长度压缩器。
图3描绘出一个预测编码过程的图像块像素扫描模式。
图4表示有助于理解一部分预测编码过程的操作的一组像素。
图5较为详细地示出了图1的固定长度压缩器。
图6描绘出另一种双路径压缩网络。
将要描述的压缩系统以并行方式使用一个可变压缩网络和一个固定压缩网络。这两个压缩网络在同一像素块上同时工作。可变压缩网络具有无损或基本上无损的优点,并是一种优选的压缩网络。如果可变压缩网络未成功获得预定需要量的数据压缩,则用固定压缩网络的输出代替。虽然固定压缩网络能获得所需的压缩量,但该网络具有有损耗的缺点。
在图1中,来自源10的图像表示数据源施加于含并行独立数据压缩路径14和20的数据压缩网络的输入端12。路径14是一个基本无损的路径,并包括一个提供已压缩数据给多路复用器(MUX)25的信号输入端之一的可变压缩处理器16,和一个位计数器18。计数器18监视被单元16压缩的每一数据块的位计数,并提供一个切换控制信号到MUX25的控制输入端。压缩路径14的其它细节在图2中示出并将结合图2讨论。路径20是一有损路径,它包括一个如图5中较详细示出的固定压缩处理器22。来自单元22的已压缩输出数据被提供到MUX25的另一信号输入端。
如下面将更详细说明的,MUX25提供来自路径14的已压缩数据或来自路径20的已压缩数据到该压缩网络的输出端28。输出的已压缩数据提供给存储器30。在提供到显示处理器35之前,存储器30的输出数据由单元34解压。处理器35基本上是一视频数据接收器,并可包含一个在MPEG解码环路内的运动补偿处理器,或其它类型需要来自诸如存储器30一类的帧存储单元的数据的视频处理器。
在该实施例中,源10提供代表光栅扫描的图像显示的输出数据,该数据是以顺序像素(图像单元)块,即,8×8像素块的形式提供的。这是以众所周知的方式完成的,比如利用带有适当控制的读/写功能的缓存器。每一像素值以一个8位的字来定义。
基于块的压缩网络14、20独立地压缩每一像素块,并基本上保证以预定的或更大的压缩系数压缩每一块。应用网络30、34、35选用压缩路径14或者路径20的输出,以便提供令人满意的图像质量和所需要的压缩系数。该压缩系数表明在存储一个像素块时将节省的存储空间量。例如,一个50%的压缩系数导致一个为其原始大小的50%的压缩块,并且与原始块相比将少占用50%的存储空间。也可使用大于50%的压缩系数。然而,已确定不超过50%的压缩系数产生良好的结果。25%的压缩系数与没有这种压缩的常规解码器处理相比基本上是透明的。在50%压缩的情况下,该结果是不太透明的,但该结果是可接受的且不认为比未作存储器减小的常规解码器处理有显著的不同。
该压缩网络的多路特性获得高图像质量并确保将至少获得固定压缩系数。可变压缩路径14呈现无损或接近无损的压缩,但是由路径14所提供的输出位的数目是可变的。来自路径14的已压缩的块输出位的数目由计数器18监视。如果来自路径14的压缩块位数等于或小于与预定压缩系数相关联的预定目标位计数,则由MUX25选择从路径14输出的压缩数据并传送到存储器30。不然,就使用从固定压缩器22输出的压缩块。如将要说明的,固定压缩器22利用带量化的有损压缩例程,以产生固定的目标位输出。为便于解压,对于每一个压缩块来说,每一压缩网络将信令信息插入数据流中,以指出对该块进行的压缩的类型。信令信息可以是插在每一压缩数据块的起始处,例如,在首标中的一个或多个位。该信令位被解压网络34检测,该网络34执行已用于将与给定信令位相关联的块压缩的压缩过程的逆过程。该首标可包含其它控制信息,例如量化控制信息等。
可变压缩最好用在图像的平滑区域中以避免扰人的边缘人造痕迹。在这种区域上基本上保证高的图像质量,这是因为可变压缩器16没怎么使用量化或根本不使用量化,这是一种基本上无损的过程。另一方面,固定压缩器22可用在包含大量详细信息的图像区域中。由于在这种区域中的量化噪声不可能引入更易感觉到的误差,在路径20中经过固定压缩的图像区域的感觉质量很可能是良好的。但是,没必要以这种方式有选择地使用可变的和固定的压缩,尽管在许多系统中这样做是有益的。根据来自可变压缩器16的压缩块的位计数选择将使用这两个压缩块中的哪一个是简单的。如果该位指出压缩器16已获得所期望的压缩,则使用它。压缩器16是优选压缩器,因为它是无损的。否则,使用压缩器22。
由压缩网络14、20进行的基于块的压缩和每个块的独立压缩允许解码器对每个块解码,而无需涉及任何其它块的信息。由于每块是以预定的压缩系数压缩的,每块的第一像素的存储地址是事先知道的。因此可从存储器访问每个块而无需涉及任何其它块的信息。关于这一点,注意到在存储器中为每个块保留有区域。在50%压缩的情况下,每一保留区域是原始块大小的一半。因此由于对位的计数和必要时对压缩器22输出的利用,每一压缩块将放在为其保留的存储区域中。如果优选压缩器16在达到超过目标压缩量上是成功的,则利用压缩器16的输出,并且某些保留的存储空间未被压缩块数据使用。亦即,这一压缩块开始填充它的保留存储区,该存储区从预定起始地址开始一直持续到小于为该块保留的最末地址的地址。
基于块的压缩最好能够既获得高的压缩效率又易于访问像素块中的每个像素,尽管这两个结果在性质上相冲突。亦即,高压缩效率要求大的块尺寸,而易访问像素需要小的块尺寸。已发现这两种特性实际上均能够以8×8像素和16×4像素的像素块大小来实现。如前所述在单元10中使块成形为所要求的N×N像素大小。
在该实例中,基于像素块的每场以图3所示的光栅方式以向下的方向从左到右扫描。该扫描是在单元16以及22中利用延迟部件52、54和56完成的。图2示出可变压缩网络。该网络利用一带自适应预测功能的DPCM环路,以利用公知技术产生差值信号(余数)。该差值是可变长度编码的,所得到的已编码差值的位数被监视以指出是否获得了当前块的所需压缩系数。图2的结构是一种类似于一MPEG压缩环路的典型预测编码网络。
在图2中差值网络42产生分别表示施加于单元42的正相输入端(+)的输入像素值与加到单元42的反相输入端的预测像素值之间的差值(余数)的输出。该预测值是利用含差值器42的DPCM处理环路、可变长度编码器44和执行单元44编码操作的逆过程的可变长度解码器46获得的。可变长度编码器可以包括一个可选择的高分辨率量化器和一个无损或几乎无损压缩的熵编码器(例如,霍夫曼编码器)。可变长度解码器包括一个逆量化器和一个熵解码器。来自单元46的反相解码输出与来自预测网络的输出在单元48相加,该预测网络包含一个预测器50和有关的像素延迟部件52、54、和56。这些单元分别提供一、七和一个像素的延迟。从单元50输出的预测像素值提供到加法器48和差值器42的输入端。
图4示出了与DPCM网络的预测处理和编码操作相关的一组四个像素A、B、C和X(待预测像素)的示范分布。该像素组也在图3所示的像素块中标出。在该实例中,像素B相对于像素C延迟一个像素的间隔,像素A相对于像素B延迟七个像素的间隔,及像素X相对于像素A延迟一个像素的间隔。DPCM预测过程是公知的并将随后加以说明。在提供到图1中的MUX25之前,由单元60对来自可变长度编码器44输出端的已压缩像素数据进行缓冲处理。缓冲器60存储可变压缩过程的输出直到已处理完整个块,这时可以断定是否已达到目标压缩系数。
从编码器44输出的每压缩块的位计数由位计数器18监视,这也可用若干公知技术中的任何一个来实现。在每个像素块已被可改变地进行压缩以后,如果已压缩位的计数等于或小于预定阈值,计数器18提供一控制输出信号,表明可变压缩器已达到或超过了所期望的压缩量。将该控制信号提供到MUX25的切换控制输入端,以使MUX25将来自可变长度压缩器的输出传输到应用网络。否则,将来自固定长度压缩器的已压缩块输出(同一像素块的)传送到应用网络。
图5示出了固定压缩网络。如同可变压缩器的情形,该网络也使用带自适应预测的DPCM环路。在图5中,单元48、50、52、54、和56执行与图2中作相应标记的单元相同的功能。差值网络42也具有与图2中的单元42相同的目的,用于产生一个剩余像素值,但是如下所述具有略为不同的前后关系。
固定压缩网络使用对由于DPCM处理结果在单元42输出端形成的差值(余数)像素值进行的非线性量化。单元42的正相输入端(+)接收被64-像素延迟单元55延迟了64像素间隔的输入像素值。单元42的反相输入端(-)接收来自预测器50的预测像素值。从单元42输出的剩余像素值分别由单元56和单元58进行量化和逆量化。由单元56提供的量化是固定的并保证所期望的固定数据压缩量。例如,为达到8位数据字的25%压缩,单元56除去后两个最低有效位。固定压缩量不小于所期望的压缩量。单元56和58在最小/最大比较网络60的控制下工作,网络60确定每个像素块的最小和最大像素值。
也可设置量化器56利用固定量化器规则。然而,按照与正被处理的块相关联的最小和最大像素值来采用量化器规则更有效。最小/最大比较单元60确定这些值。在处理给定块的第一个像素以前单元55提供测试该块的所有64个像素的最小和最大值所需的时延。
返回参见图1,压缩器22无固有延迟,但最小/最大比较和延迟单元55的组合(图5)致使压缩器22呈现一个块的延迟,这与可变压缩路径呈现的一个块的延迟相匹配。固定长度压缩网络对每8×8像素块的64个像素值中的每一个估算两次,以确定这个块的最小和最大像素值。单元55提供的64像素(一块)的延迟简化该过程。最小和最大值被用于自适应地在将用于每一正处理块的非线性量化规则间作出选择。对每个块估算两次所需的两遍方法不给系统增加额外的等待时间,这是因为当确定可变压缩器是否已达到所期望的压缩时由可变压缩路径的缓冲器60呈现一个块的等待时间。
如上所述,当压缩器16和22并行设置且固定压缩器使用最小/最大比较时,在压缩器22中存在一个块的延迟。可变压缩器16不具有固有的一个块的延迟,因此位缓冲器60将这些位保持一个块的时间长度,以便等待压缩器22的输出。如果固定压缩器22未使用最小/最大比较,压缩器22不会呈现出一个块的延迟。由于缓冲器60,可变压缩器16不呈现固有的一个块的延迟。在对使用可变或固定压缩输出中的哪一个作出决定以前,缓冲器60存储压缩器16的那些位。当可变和固定压缩网络并行设置时位计数器18确定利用哪一输出。
然而,压缩器16和22没必要并行设置,如图6所示。在这种情况下,压缩器16首先处理像素块,同时最小/最大比较单元60(图5)确定该块的最小和最大像素值,如前所述。在一个块的延迟之后,将会知道压缩器16是否已获得目标压缩系数,因而知道压缩器22是否需要处理此块。如果可变压缩器16已获得目标压缩系数,它将输出可变压缩的块到帧存储器。否则,单元22将压缩该块。由于压缩器16和22可包含类似的结构和功能部件,这种实施方式有益地允许用于单元16中可变压缩的相同部件再次用于单元22中的固定长度压缩。
相对于图5的量化器56适当地改变量化器规则是不重要的。可利用简单的线性量化。按照最小/最大像素值修改量化规则降低了损耗量。为找出最小和最大像素值对每块扫描一次。知道这些值就允许在量化第一(余数)值以前选择适当的量化规则。单元55延迟第一像素直到建立量化规则,逆量化器58也使用这一规则。这可能要求为数据流增加信令位,以通知正使用的量化器规则的解压功能。
可认为量化器是一种形式的查询表,带有来自单元42的表示地址的输出位。在50%压缩的情况下,量化器56输出4位数据。量化器56的输出是被单元58引用的索引,近似单元42的输出。这是可能发生损耗之处,因为若至单元58的输入仅是4位的数据,仅16个数据组合是可能的,尽管单元42可提供高达256个可能的输出。图5的固定压缩网络不需要输出缓冲器。
在该实施例中,图2和5的压缩网络使用相同的DPCM预测编码过程。利用对于解压缩器34来讲是已知的那些先前编码的像素来预测正被编码的当前像素。可参照图4说明该预测过程,其中像素X是待进行预测编码的像素值。像素A、B和C已事先作预测编码,对于解压部分来讲是已知的。X的预测值,X预测按照下列伪码使用A、B和C的值,所述伪码描述了将使用的算法如果 (|A-C|<e1&&|B-C|>e2),X预测=B否则如果 (|B-C|<e1&&|A-C|>e2),X预测=A否则 X预测=(A+B)/2值e1和e2是表示预定阈值的常数。该算法仅用于不位于正进行处理之块的第一行或第一列中的像素。某些例外情况处理如下一个块中第一像素不参照任何其它像素作非常精确的编码,第一行中的像素利用像素值A作为预测值,第一列中的像素利用像素值B作为预测值。基本上讲,该算法试图检测边缘。在第一种情况下,建议垂直边缘在像素C和B之间及像素A和X之间。这样B是最佳预测值。第二种情况建议水平边缘在A和C之间及在B和X之间。这样A是最佳预测值。在第三种情况下,找不到明显的边缘。在该情况下A和B均是同样好的预测值,因此使用它们的平均值。
所公开的基于块的数据压缩网络用于处理MPEG兼容的数据字是有益的。该网络呈现几乎无损的压缩,用于降低存储8×8亮度数据或4×4U、V(色度)数据所需的存储量。压缩量是可选择的,例如可以是25%或50%。低对比度、低细节图像块通常被无损地压缩,而高对比度、高细节数据块可经受某些可接受的损失,尤其在50%数据压缩的情况下。虽然在某些情况下解压的像素块与原始像素块相比可能呈现出差别,在为减小对存储器的需求而作水平细节降低上所公开的压缩系统是最佳的。
所公开的压缩系统可应用于所有形式和所有级别的MPEG规范,以及其它数字数据处理方案。此外,所公开的压缩系统可有益地用在诸如标准清晰度和高清晰度电视系统一类的消费者图像处理产品中。在美国推荐的Grand Alliance HDTV系统中,大小为1920×1088像素的图像序列是用MPEG标准编码的。电视接收机中的相应解码器至少需要71.72兆位的存储器用来存储已解码的帧。由于存储器的成本可能是任何系统的主要成本,尤其是基于帧的解码系统,能降低存储器要求的任何装置都能显著地降低解码系统的成本。
权利要求
1.一种用于处理图像表示数字数据的系统,包括具备以下特征的装置一个呈现第一数据压缩特性的第一数据压缩器(16);一个呈现不同的第二数据压缩特性的第二数据压缩器(22);用于同时将所述图像数据加到所述第一和第二压缩器的输入端(10,12);一个应用网络(30-35);以及一个选择网络(25),用于将来自所述第一和第二压缩器中的一个或另一个的呈现所期望的压缩系数的已压缩数据传送到所述应用网络。
2.如权利要求1所述的系统,其特征在于所述第一压缩器呈现可变压缩特性;所述第二压缩器呈现固定压缩特性。
3.如权利要求2所述的系统,其特征在于所述可变压缩优先于所述固定压缩,以致所述选择网络这样来进行选择(a)当所述可变压缩数据呈现一个预定所期望压缩系数或更大时选择来自所述第一压缩器的可变压缩数据,和(b)当所述可变压缩数据呈现小于所述压缩系数时选择来自所述第二压缩器的固定压缩数据。
4.如权利要求1所述的系统,用于处理以图像单元(像素)块的形式排列的图像表示数字数据,其特征在于所述第一压缩器呈现可变数据压缩特性;所述第二压缩器呈现固定数据压缩特性,所述第二压缩器与所述第一压缩器并行工作;进一步包括耦合到所述第一压缩器用于确定所述第一压缩器所处理的数据块是否呈现所期望的压缩系数的装置;以及所述选择网络有选择地将以下内容传送到所述应用网络(a)当所述可变压缩数据呈现一个所期望的预定压缩系数或更大时选择来自所述第一压缩器的可变压缩数据,和(b)当所述可变压缩数据呈现小于所述压缩系数时选择来自所述第二压缩器的固定压缩数据。
5.如权利要求4所述的系统,其特征在于所述确定装置包含一个用于确定由一个已压缩的块组成的位的数目的位计数器。
6.如权利要求4所述的系统,其特征在于所述应用网络包含一个存储器。
7.如权利要求4所述的系统,其特征在于所述图像数据是MPEG兼容的数据;以及所述应用网络包含一个存储器。
8.如权利要求7所述的系统,其特征在于所述第二压缩器包含一个数据量化器;以及所述第一和第二压缩器各包括一个DPCM网络。
9.一种用于处理以图像单元(像素)块的形式排列的图像表示数字数据的方法,其特征在于包括步骤以第一压缩特性压缩所述图像数据;以不同的第二压缩特性处理所述图像数据;确定经过所述第一压缩的数据是否呈现预定压缩系数的或更大的压缩;如果所述第一压缩数据呈现所述预定压缩系数或一更大压缩系数则将第一压缩数据传送到一输出端;或者如果所述第一压缩数据呈现小于所述预定压缩系数的压缩则将第二压缩数据传送到所述输出端。
10.如权利要求9所述的方法,其特征在于所述第一压缩特性是可变压缩特性;所述第二压缩特性是固定压缩特性;以及所述图像数据是MPEG兼容的数据。
全文摘要
所公开的一种基于块的数据压缩系统利用两个并行、独立的压缩网络。一个网络(20,22)提供固定的压缩,另一个网络(14,16)提供可变的压缩。选择来自这两个网络中的一个或另一个的已压缩数据,以获得令人满意的图像质量和所需要的压缩系数。如果一个位计数器(18)确定可变压缩网络的输出未获得所需要的压缩系数,选择网络(25)就为应用网络选取固定压缩网络的输出。
文档编号G06T9/00GK1158050SQ9612325
公开日1997年8月27日 申请日期1996年12月20日 优先权日1995年12月27日
发明者韦-曼·拉姆, 巴斯·A·坎菲尔德, 比利·W·小拜尔斯 申请人:汤姆森消费电子有限公司