压缩和解压缩图象的制作方法

文档序号:7504805阅读:200来源:国知局
专利名称:压缩和解压缩图象的制作方法
技术领域
本发明涉及本发明涉及用于改进包含图象数据的数据流压缩的系统和方法。
2.现有技术说明许多重要的图象压缩方法将图象作为独立的象素块进行处理。例如,诸如JPEG、MPEG、H.320之类的图象压缩标准指定一个涉及对源图象中的独立的、不重叠的8C8象素块进行离散余弦变换(“DCT”)、然后对所得的变换系数进行量化的步骤。例如,参见Jack,1996,Video Demystified,HighText Interactive Inc.,San Diego,CA.将量化的变化系数从发射-编码器发送到接收-译码器。
这种变换和量化通过采用一般出现在8×8块中的象素值之间的有效的规则性和相关性来一起实现压缩。然而,这种方法忽略了可能出现在由这些方法视为独立的不同象素块中的象素之间的任何规则性和相关性。
对于尝试在象素块或更大规模上识别图象的规则性的一些工作已经被公布了。例如Pennebaker等1993年的JPEG Still ImageCompression,Van Nostrand Reinhard,Chap.16,其中公开了将二次曲面用相邻块中的象素的平均值(等效于“DC”或最低阶变换系数)来表示,这是一个计算复杂的过程;Lakhani的1996年的“Improved Image Reproduction from DC Components”,Opt.Eng.35:3449-2452公开了从JPEG标准中改进的用于从DC系数预测低频变换系数的方程式;以及,Jeon等的1995年的Blocking ArtifactsReduction in Image Coding Based on Minimum Block BoundaryDiscontinuity,Proc SPIE 2501:189-209公开了一种复杂并且计算昂贵的用于内插象素以便使块边界的不连续性为零的迭代方法。
所公布的工作存在着一个或多个问题,例如,不针对最大程度地提高图象压缩,忽略或最多不适当地处理可能存在于级别大于一个象素块的图象中的规则性,需要过多的计算资源,等等。因此,所需要的是一种主要针对通过采用在已知压缩方法和标准中未采用的图象中的另外的规则性和相关性来实现数据压缩提高的计算高效的方法和系统。
在图象压缩期间,可应用本发明的编码器/译码器对将图象从空间域变换到一个变换域,随后对所得的变换系数进行量化,其中在空间域将图象表示为一个空间象素阵列,在变换域将图象表示为在变换方法中使用的基函数的系数。在解压缩期间,译码器反转这些步骤。特别地,相关编码器/译码器对将空间域图象分成多个图象子块,并在图象中的每个子块上独立地执行变换/反变换。
在相关类型的编码器/译码器对中,本发明的改进包括在编码器中的一个预测特定低阶或低频(“LF”)变换系数的附加步骤。然后从实际的LF变换系数中减去预测的LF系数,以形成LF差系数,将LF差系数量化并发送到译码器。在译码器中,反转这些步骤,即,再次预测LF系数,将预测的系数增加到所发送的量化LF差系数中,以得到原始LF系数,直至量化误差。
依据本发明的LF系数预测是基于图象-数据压缩除了已经由子块变换和量化实现之外还可以通过捕获在相邻子块中的象素值之间的规则性和相关性(“块间规则性”)来实现这个事实。可以通过预测平滑相邻子块之间的差所需的LF变换系数来有利地应用这些块间规则性,以便平滑图象的子块边界。在一个最佳实施例中,相邻子块之间的差由相邻子块的平均亮度的差来表示。
图2A-C显示了依据本发明的系统的例示性实施例;图3A-3C显示了例示性的空间加权。
最佳实施例的详细说明在下面首先在总体上说明本发明的系统和方法,然后详细说明这些系统和方法的最佳实施例和替换实施例。本发明的整体描述本发明包括一般可应用于特定类型的用于所有类型的包含图象的数据的编码器和译码器的改进。

图1显示了本发明的改进编码器和译码器的例示性实际应用、应用了本发明的改进的编码器和译码器的结构以及依据本发明的改进的一般特征。
在图1的例示性应用中,发射器1通过传输链路3向接收器2发送包含图象的数据,例如独立图象数据或视频数据4。虽然将传输链路3具体显示为一个通信链路,本发明同样还可应用于通过将压缩数据记录在诸如磁盘或光盘之类的存储介质上来传输的情况。为了减少传输链路3的所需带宽或所需存储容量,发射器1包括产生压缩的包含图象的数据5的改进编码器7,压缩的包含图象的数据5然后被发送到接收器2。接收器2包括一个相应的改进译码器8以便从压缩数据5重构原始的包含图象4的数据。应该理解,本发明的改进编码器和译码器的应用并不限于这种例示性的应用,而是包括要对包含图象的数据进行压缩或解压缩的所有情况。
进一步参考图1,可应用本发明的编码器/译码器对在图象压缩期间在编码器7中执行图象从空间域到变换域的象素块变换9、然后对所得的变换系数进行量化11,其中在空间域将图象表示为一个空间象素阵列,在变换域将图象表示为在变换方法中使用的基函数的系数。在解压缩期间,译码器8执行反转步骤,对变换系数进行去量化12,然后反变换14回空间域象素数据。
特别地,相关编码器/译码器对将空间域图象分成多个不重叠的象素子块或窗口,并在图象中的每个子块或窗口上独立地执行变换/反变换。将象素阵列形式的图象完全分成多个象素子块,并且可以从多个象素子块重构。在变换域或频域中,对于多个象素子块中的每一个,图象用变换系数或其随后的编码来表示。
仔细地选择子块的尺寸和形状,使得对于所感兴趣的图象,平均起来,每个子块的象素值都是缓慢变化或大致均匀的。因此,平均起来,随着相应变换基函数的空间频率增大,子块的变换系数的振幅迅速下降。从而,后续对变换系数的量化可以实现图象数据压缩,其中,量化是用一个指示来代替系数的实际值,在所述指示中,实际的系数值位于有限数目的区间中,这些有限数目的区间划分可能的系数值的范围。对量化区间的明智的选择可以在不显著损失可觉察的图象完整性的情况下实现相当大的压缩。
在这种编码器/译码器对中,本发明的改进包括在改进编码器7中的变换步骤9和量化步骤11之间执行的预测低阶或低频(“LF”)变换系数的附加步骤10,在译码器8中的在量化步骤12和反变换步骤14之间执行的预测附加步骤13。这些系数预测步骤、步骤10和13以下列方式提高了平均压缩。在一个改进的编码器中,依据本发明预测LF变换系数,然后从实际的LF变换系数中减去预测的LF变换系数,以形成LF差系数。在改进译码器8中反转这个过程。在步骤1 3,预测LF系数,并将预测值加到所发送的量化LF差系数中,以得到初始LF系数,直至量化误差。
LF系数预测提高了压缩,因为预期LF差系数的可变长度编码会需要平均比实际LF系数的相似编码更少的比特。平均来说,预期预测LF系数会接近实际LF系数,从而预期差系数的振幅在平均上会显著小于实际系数。由于更小,所以差系数需要更少的比特来用于其可变长度编码。
依据本发明的LF系数预测是基于发明人的下列发现的。首先,虽然对图象子块的独立变换通过捕获图象子决内的象素值之间的有效规则性和相关性(“块内规则性”)实现了图象数据压缩,但进一步的图象数据压缩可以通过捕获相邻子块中存在的象素值之间的规则性和相关性(“块间规则性”)来实现。其次,可以通过预测平滑相邻子块之间的差所需的LF变换系数来有利地应用块间规则性,以便平滑图象的子块边界。在一个最佳实施例中,相邻子块之间的差是由相邻子块的平均亮度中的差表示的。由于在所有的相关变换方法,子块的平均亮度与该块的零频率(“DC”)变换系数相同,所以该发明最好从子块和相邻子块的DC系数来预测一个子块的LF变换系数。
为了在编码器和译码器执行LF系数预测,最好以最小或无量化或离散误差发送DC系数。因为精确的DC系数对于获得可察觉的图象完整性非常重要,所以通常需要这样。
由于本发明通过除了捕获块内规则性之外还捕获块间规则性来实现图象数据压缩,所以它进一步包括通过选择子块尺寸以及可选地选择子块形状来优化对一类重要图象的平均压缩,以便使平均压缩最大。这种选择可以仅仅通过测量在各种子块尺寸对该类典型图象的平均压缩、然后选择达到最优压缩的子块尺寸来完成。一般地,可允许的子块尺寸和形状由所使用的变换方法和可用的计算资源所限制。
图象规则性是由本发明所采用的块内和块间的相关性,发明人相信这来自于如下事实,即典型图象是由物体组成的,典型物体平均是由具有基本上均匀或仅仅缓慢变化的亮度的表面所组成的。因此,对于所选择的尺寸小于或明显小于物体表面的平均值的子块存在着有效的块内和块间规则性和相关性。虽然本发明可以有利地用于提高包含这种图象的数据的压缩,但应该理解的是,本发明可以在无压缩损耗的情况下应用于任何类型的包含图象的数据上。
本发明最好运用于所采用的变换方法是离散余弦变换(“DCT”)的编码器/译码器对上,其中,象素子块是方形阵列,例如一边8个象素,并且以最小或无量化或离散误差、即无损耗地发送DC系数。8×8象素子块的DCT变换可以用目前的许多图象压缩方法执行,例如MPEG、JPEG和H.320系列的标准。此外,这些标准一般以无损耗方式发送DC系数。
在MPEG编码器/译码器对的情况下,或在以运动预测执行压缩的编码器/译码器对的一般情况下,本发明一般只可应用于那些在没有运动预测的情况下编码的图象(常常称为“编码内图象”,此后称为“I”类型图象),因为在编码器和译码器对于每个图象子块和其相邻子块都需要DC系数。这种DC系数对于以运动预测编码的子块(常常称为“编码间图象”,此后称为“非-I”类型图象)是不可用的,因为这种编码帧参考前面或后面的图象。根据MPEG标准系列,非-I类型图象或者是从前面的图象有原因地预测(“P”类型),或者是从前面和后面的图象双向预测(“B”类型)。然而,如果DC系数对于以运动预测编码的图象是可用的,则本发明同样也可以运用到这种图象上。
下面,为了具体描述并且没有任何限制,将本发明描述为对标准MPEG编码器和译码器的改进。从上述和下面的说明中,本领域普通技术人员将会立即理解依据本发明如何构造采用JPEG或H.320以及MPEG标准的改进的编码器/译码器对,以及如何构造采用用于独立子块的另一种变换方法或另一种尺寸和形状的改进的编码器/译码器对。进一步地,本领域普通技术人员将会理解,如何选择基本的编码器/译码器参数,例如象素子块尺寸和形状,以便通过采用所感兴趣的一类图象中存在的规则性来提高压缩。最佳系统实施例在这个部分,说明在依据本发明的改进的编码器/译码器中实施的一般方法,然后说明例示性的改进MPEG编码器/译码器系统。
如上所述,首先将划分图象的不重叠子块变换到一个变换域或频域,并将所得的变换系数输入到本发明的一般方法中。优选地,用DCT变换将8×8象素子块变换到频域。对于每个子块,从其零频率或DC变换系数及相邻子块的DC系数预测该块的所选定低频(“LF”)变换系数,其中,已知DC变换系数正比于该子块中的平均象素亮度。然后,通过从相应的DCT系数中减去预测的LF系数来形成差系数。
因此,依据本发明,图象是由下列数据编码和表示的DC变换系数,差变换系数,以及剩余变换系数,即那些除了LF频率变换系数之外的变换系数。可以对这些系数中的一个或多个进行量化,以实现数据压缩。优选地,只有差和剩余变换系数被量化。虽然不是优选的,但DC系数也可以被量化。这些典型数据然后可以被用于各种目的。
系数量化可以根据现有技术中已知的能够量化变换的象素块的任何方法来执行。例如,可以使用JPEG、MPEG和H.320系列标准的量化方法和规定。
特别地,发送或存储表示图象的编码数据。最好以最小或无损耗地发送DC系数。应该理解,可以在最终发送之前在这些图象数据上执行进一步的编码或压缩、例如可变长度编码、霍夫曼编码等等,然后可以在接收到之后执行相应的译码。
在接收或取回之后,用与前面的预测相同的方法再次从DC系数预测LF变换系数。优选地,无损耗地接收DC系数,并采用前面的LF系数预测方法,以使得新预测的LF系数与初始预测的LF系数大致相同。这样,则将重构的DC系数中的误差限制为只是差系数的量化误差。
最后,通过将预测LF系数加到去量化的所发送的差系数来重构LF系数。然后输出包括DC系数、重构的LF系数和去量化的剩余系数的变换系数。
下面参考图2A和2B说明在改进的MPEG编码器和译码器中的这个一般方法的例示性实施例。虽然是就一个基本的MPEG编码器/译码器对描述了这个例示性实施例,但本领域普通技术人员应该立即明白,可以为根据在本发明的前述应用领域内的任何方法或标准工作的编码器/译码器例行地构造其他例示性实施例。
图2A示意性地显示了依据本发明改进的MPEG编码器。图2B示意性地显示了一个改进的MPEG译码器。在这些图中,主要与、尤其是与运动预测有关的部件仅仅示意性地显示或不显示,因为这些部件对于本发明来说是更外围的。在图2A-B中,执行离散余弦变换、系数量化和可变长度编码的部件不是本发明的一部分,在这里不进行描述。此外,应该理解,在下面无论明确指出与否,所有操作都是在覆盖图象的图象阵列表示的单个象素块上执行的。
下面参看图2A的详细显示,部件47-50实施用于I-类型图象的编码数据路径;方框40中的部件41-45实施可应用于I-类型图象的本发明的改进的数据路径;以及,部件51-58示意性地实施用于对P-类型和B-类型图象编码的运动-预测数据路径。
在未改进的MPEG编码器中的表示为象素阵列的I-类型图象的情况下,在无改变地通过加法器58之后,在DCT编码器47中一个象素块一个象素块地对图象进行DCT变换。设置在图中未显示的位置的选择器48将DCT系数传送到量化器49。每个象素块的量化的DCT系数在VLC编码器50中进行可变和/或行程(“VLC”)编码,最后以每个象素块的压缩图象数据流输出。
在本发明的改进存在并有效的情况下,将每个象素块的DC DCT系数存储在DC系数缓冲器41中,以便它们能够以所需的次序用于低频(“LF”)系数预测器42。将来自预测器42的每个象素块的预测LF系数存储在预测系数缓冲器43中,以便它们能够用于加法器44中的自每个象素块的相应DCT系数的减法。在这种情况下,将选择器48设置在位置“I,LF”(指的是I-类型帧的LF系数),差系数在量化器49中量化,在VLC编码器50中进行可变长度编码,然后以压缩图象数据流输出。对于每个象素块的剩余DCT系数,将选择器48设置到未显示的位置,在不进行减法的情况下对这些系数进行量化。
对于运动预测,必须将正要在译码器中译码的I-类型(以及特定的间-类型)图象的复制存储在一个基准存储器64中。对于除了I-类型图象的LF系数之外的其他系数,这是通过用反量化器51和DCT译码器52模拟图象译码来完成的,反量化器51执行去量化,DCT译码器52执行反DCT。选择器59被设置在未显示的位置上。对于I-类型帧的LF系数,将选择器59设置到位置“I,LF”,以使得来自缓冲器43的预测LF系数在加法器45中与去量化的差系数相加,以重构实际的LF系数,就象在译码器中出现的一样。在这个实施例中,假设DC系数在译码器中和在编码器中是以同样的精度可用的。
对于P-类型或B-类型帧,运动预测路径、部件51-58的工作是本领域普通技术人员所公知的。简要地说,选择器55和56被设置到“NON-I”位置,基准存储器/运动补偿器采用由在运动估计器57中实现的运动估计过程产生的运动向量向加法器58提供运动预测帧,以便产生图象,该图象是输入和运动预测图象之间的差。然后在DCT编码器47中对这些差图象进行DCT变换,在量化器49中进行量化,在VLC编码器50中进行VLC编码。通过在加法器53中将反变换的差图象与运动补偿的存储图象相加来用将在译码器中出现的I-类型和P-类型帧更新基准存储器54。
图2B显示了依据本发明改进的MPEG译码器。在这里,部件65-70实施用于I-类型图象的译码数据路径;方框60中的部件61-64实施可应用于I-类型图象的本发明的改进的数据路径;以及,部件71-73示意性地实施用于对P-类型和B-类型图象译码的运动-预测数据路径。对于所有图象类型,首先由部件65对每个象素块的包括量化的变换系数(在改进的编码器/译码器的情况下还包括差系数)的压缩图象数据进行可变长度(“VL”)译码,并由部件66进行反变换。
对于I-类型图象,将每个象素块的DC系数存储在缓冲器61中,以便在需要时可用于LF系数预测器62。将来自预测器62的每个象素块的预测LF系数存储在预测系数缓冲器63中,以便可用于加法器64进行与每个象素块的去量化的LF差系数的加法。对于I-类型图象的LF系数,选择器67被设置为位置“I,LF”,对于除了I-类型图象的LF系数之外的系数、即剩余的高频系数,选择器67被设置为未显示的位置。接着在部件68中对每个象素块的实际的DCT系数进行反变换,从空间域象素块重构所得的I-类型空间域图象,并将图象直接存储在帧缓冲器69和基准存储器72中,因为选择器70和71被设置在位置“I”。
对于非I类型图象,即对于P-类型和B-类型图象,选择器67、70和71被设置在未显示的位置或“NON-I”位置,以便在不与预测的LF系数相加的情况下首先使差图象由部件66去量化,然后由部件68反变换。从所接收的运动向量和存储在基准存储器72中的图象,运动补偿器确定运动预测的图象。在加法器73中将运动预测的图象与译码的差图象进行相加,并将所得的实际空间域图象存储在基准存储器72和帧缓冲器69中。帧缓冲器69存储图象,以供以所需格式以正确的顺序输出。
本发明的改进的编码器和译码器可以以对于本领域普通技术人员显而易见的各种硬件结构实施。例如,在图2A和2B中表示的单个处理部件可以用单独的专用硬件来实现。但目前最好是用一个或多个在通用硬件上运行的、或者是为图象处理优化的、例如在图2C中所示的专用软件例程来实施系统的处理操作。图2C显示了用于编码和译码图象并执行本发明的操作的一个或多个处理器80、用于存储图象数据和/或程序指令的一个或多个RAM模块81、可选地用于存储程序指令的一个或多个ROM模块82、用于在各种链路85上与其他系统进行通信的一个或多个I/O接口设备83、以及用于连接这些各个部件的一个或多个总线84。有利地,处理器包括一个或多个数字信号处理器(“DSP”),例如TM-1000型DSP(Philips Electronics North AmericaCorp.)或TMS-3000型DSP(Texas Instruments,Inc.)。
在系统处理操作是以软件实现的最佳实施例中,本发明还包括计算机可读介质,在其上记录或编码有使处理器执行系统的处理操作的程序指令。这种介质可以包括诸如软盘、硬盘、磁带等等的磁介质、诸如CD-ROM的光介质和本领域可用的其他计算机可读介质。最佳方法实施例这个部分在下面说明依据本发明的用于划分象素阵列的每个象素块的低频(“LF”)系数的预测方法的最佳实施例和替换实施例。这些方法实施了图1中的部件10和13,或图2A中的部件42和图2B中的部件62。这些部件是从发明人的如下发现导出的,即象素块的LF系数可以被简单有效地预测为空间域象素阵列的LF变换系数,所述空间域象素阵列在象素块上平滑地内插在块边界上出现的一个象素块的象素值与相邻块的象素值之间的差(“块对块的差”)。内插象素阵列最好不改变该块的平均象素亮度。由于这种内插象素阵列可能是在具有仅仅缓慢变化亮度的表面的物体的图象中出现的相邻象素块之间的规则性的好的表示,所以其LF变换系数可能是实际的LF变换系数的好的预测值。
输入的用于确定内插象素阵列、从而用于预测LF系数的块对块的差最好是从象素块与其相邻块的平均亮度近似出的。因为LF系数预测是在编码器和译码器中完成的,所以最好是基于在两处都可精确并容易得到的数据的。由于目前的大多数图象压缩方法和标准都发送象素块的平均亮度来作为该块的零频率(“DC”)系数,所以LF系数预测最好只基于该块及其相邻块的这种DC系数。
虽然不是最佳的,但修改图象压缩数据流以便发送有限数目的信息附加项从而能够进行更精确的LF预测落入本发明的范围内。这种附加项以更高的精度有利地表示块对块的差。在一个实施例中,它们可以包括在一个块中的边沿象素与相邻块的边沿象素的实际差的平均值。在一给定情况下发送这种附加项是否有利取决于附加项的发送成本是否可以从得益于更精确的LF系数预测的提高的压缩中收回。这种选择将在该部分的最后进行详细说明。
这些用于一特定象素决的预测方法的全部步骤如下。因此,LF系数预测最好从输入一个象素块及其相邻块的DC系数开始。图3A显示了在本发明的一个最佳实施例中考虑的中心象素块C以及垂直相邻的与中心块具有共同边的四个象素块。将这些块标记为W(在C的西边)、N(在C的北边)、E(在C次东边)以及S(在C的南边)。在这个实施例中不直接考虑对角相邻的象素块。下面,将任何象素块中的象素表示为标准矩阵符号。特别地,图3A显示了在中心块C的西北角的象素C00、C01和C10、在块N的西南角的象素N70、在块E的西北角的象素E00、在块W的东北角的象素W07以及在块S的西北角的象素S00。还将这些象素块的DC系数(零频率系数,或平均亮度)表示为符号CDC、NDC、EDC、WDC和SDC。
从这些DC系数确定了由N、E、W和S表示的、分别近似在中心块C与其相邻块N、E、W和S之间的块对块的差的四个量。下列等式表示这个近似的最佳实施例。N=FA*{NDC-CDC};E=FA*{EDC-CDC}W=FA*{WDC-CDC};S=FA*{SDC-CDC}因子FA是用于换算近似的块对块的差的乘法加权因子。后面将结合第二乘法加权因子FB更加详细地进行说明。本发明适合于用于确定这四个近似块对块的差的替换等式。替换等式可以仅仅取决于上面所使用的五个DC系数,或者,可替换地,取决于另外的例如来自对角相邻的块或更远的相邻块的DC系数。
接着,从近似的块对块的差确定内插象素阵列。将这个内插象素阵列设计为实现块对块的差到中心象素块内的象素值的平滑内插,这种平滑内插在存在这种块对块的差的情况下是可能出现的。注意,所预期的实际象素值是内插象素阵列的值与该块的DC系数的总和。
已经发现,如果这个内插满足某些试探性约束则是有利的。第一试探性约束是内插象素阵列中的象素值的总和是零,以使得象素块的平均亮度不改变。第二试探性约束是边界差对象素值的影响的程度随远离该边界而降低。特别地,由于边界差而得到的最大象素值应该与边界相邻出现,还应该小于或等于该边界差。第三试探性约束是在一个象素块的一个边界的差与在相对边界(沿一行或一列)的另一个相等但符号相反的差的结合应该在两个边界之间内插成一个均一的象素值梯度。
本发明在总体上适合于用于确定满足上述试探性约束的内插象素阵列。在一个最佳实施例中,这个内插象素阵列由以与维数无关的方式完成的块对块的差的线性内插确定。与维数无关的方式的意思是每个象素阵列元素具有独立的、来自每个近似块对块的边界差的乘法加权贡献,每个近似块对块的边界差只独立地对垂直于该特定边界的行或列中的矩阵元素有贡献。例如,沿内插象素阵列的行内插一个用于近似中心块C及其西相邻块W之间的块对块的差的值。最好将相同的权数运用到沿四个象素块边界中的每一个边界的差上。此外,权数最好仅仅取决于与边界的距离。
内插象素阵列的大小不需要与在编码器/译码器中处理的象素块的大小相同。因为是内插象素阵列的变换系数很重要,所以内插象素阵列的大小可以是任何实际大小,以使得其变换系数与要估计的象素块的LF变换系数有确定的关系。事实上,为了计算效率,可以将内插象素阵列的大小有利地选择为小于编码器/译码器象素块的大小。在一个在编码器/译码器对中用离散余弦变换(“DCT”)来变换8×8象素块的最佳实施例中,内插象素阵列的最佳尺寸是4×4(即,一边四个象素的方阵列)。或者,可以使用8×8的内插象素阵列。
选择用于内插块对块的差的乘法权数,使其满足上述试探性约束。在4×4的内插象素阵列的最佳情况下,图3B显示了用于从左边界内插的最佳乘法权数。为了从右边界内插,以相反顺序使用这些权数。这些权数满足上述约束,首先,其总和为零,具有与边界相邻的最大权数。如图3C所示,由于正的左单位边界差与负的右单位边界差的组合是两个边界之间的线性梯度,所以也满足第三约束。
下列等式是这个定义4×4内插象素阵列的最佳实施例的例子。将乘法因子FB选择为内插象素阵列的总换算因子。
array
=FB*{3*N +3*W}array
[1]=FB*{3*N -W -2*E}array
[2]=FB*{3*N -2*W -E}array
[3]=FB*{3*N +3*E}array[1]
=FB*{-N -2*S+3*W}array[1][1]=FB*{-N -2*S-W -2*E}array[1][2]-FB*{-N -2*S-2*W -E}array[1][3]=FB*{-N -2*S +3*E}
array[2]
=FB*{-2*N-S +3*W}array[2][1]=FB*{-2*N-S -W -2*E}array[2][2]=FB*{-2*N-S -2*W -E}array[2][3]=FB*{-2*N-S +3*E}array[3]
=FB*{+3*S+3*W}array[3][1]=FB*{+3*S-W -2*E}array[3][2]=FB*{+3*S-2*W -E}array[3][3]=FB*{+3*S+3*E}选择运用到块对块的象素差上的乘法因子FA和运用到内插象素阵列上的FB,使得总乘法因子FA*FB满足特定约束,以便产生导致最大图象数据流压缩的预测LF系数。依据第一约束,总因子FA*FB最好小于或等于0.500,以使得在相邻象素块之间的边界上象素值不会被过度平滑,即使得在象素块边界的象素值具有减小的块对块的差,但与初始块对块的差具有相同的符号。依据有关的第二约束,总因子最好小于0.500,因为在存在象素值梯度的情况下,特定的块对决的边沿差可以是实际的图象特征,不应该被完全消除。在总加权因子中存在有另外的因子来将最大空间配置加权规格化为1.00(如果最初未选择为1.00的话)。
在最佳实施例中,为方便起见将FA取为1.0,从而块对块的差直接表示未换算的象素值。将FB有利地取为0.375*(1.0/3.0)。因子(1.0/3.0)是规格化最佳内插权数所必须的。因子0.375是为了提供好的数据流压缩,并且在不用乘法的情况下用移位和加法进行计算比较经济。
8×8的内插象素阵列的情况与上述最佳的4×4的内插象素阵列完全相同。用于块对块的差的从左边界的与维数无关的线性内插的最佳乘法权数是八个值+4,+2,0,-1,-2,-2,-1和0。以逆序将权数用于从右边界内插一个块对块的边沿差。以与用于最佳的4×4的内插象素阵列完全相似的与维数无关的方式从这些权数构造内插等式。最佳权数是FA=1.0以及FB=0.375*(1.0/4.0)(因子(1.0/4.0)用于规格化最佳内插权数)。
在已经确定了内插象素阵列之后,用在编码器/译码器对、例如图1中的部件9和14中使用的变换方法将这个阵列变换到相关的变换域或频域。或者,可以使用密切相关但在计算上有较少要求的与相关变换方法近似的变换方法来返回值。在内插象素阵列的尺寸小于象素块的尺寸时,将内插象素阵列的尺寸有利地选择为使得其变换系数与象素块的相应的LF系数有简单的关系,例如等于相应的变换系数。
在最佳实施例的情况下,用DCT对4×4的内插象素阵列进行变换,以产生等于象素块的相应LF系数的变换系数。在8×8的内插阵列的替换实施例中,该阵列也要进行DCT,以产生等于相应象素块变换系数的系数。或者,可以用在计算上有较少要求的Hadamard变换来代替DCT,但这不是最佳的。
接着,从变换的内插象素阵列的变换系数中选择预测LF系数。首先,忽略DC系数。在内插方法满足第一试探性约束的情况下,DC系数是零,这是最优的。其次,已经发现,由于不是所有的变换系数都产生对象素块的相应LF系数的有用的预测,所以最好选择内插象素阵列的最低频率变换系数作为相应Lf系数的预测数。
例如,在4×4或8×8的内插阵列的情况下,一个有用的选择是选择变换系数的左上角的3×3子矩阵(忽略DC系数)。因此,将八个变换系数T10、T20、T01、T11、T21、T02、T12和T22(其中T表示内插象素阵列的变换系数的阵列)用作为相应LF变换坐标的预测数。在一个替换选择中,使用4×4或8×8的变换阵列的上三角形部分。在这种情况下,使用九个变换系数T10、T20、T30、T01、T11、T21、T02、T12和T03作为相应LF变换坐标的预测数。
或者,可以将上述内插象素阵列确定、到频域的变换以及从频域阵列选择LF系数合并成一个步骤,将内插象素阵列的选定LF变换系数直接确定为象素块的DC系数与垂直相邻的象素块的DC系数的差的线性组合。DC系数差的线性内插可以与线性变换过程相组合,以产生选定的LF系数,作为DC系数差的单个线性组合。如同本领域普通技术人员所了解的,用矩阵乘法组合这两组线性等式以便确定用DC系数差表示LF系数的单组线性等式是一个例程问题。
最后,将内插象素阵列的选定LF变换系数作为相应LF变换系数的预测数输出到本发明的方法和系统的后续步骤和/或部件。
上述实施例不需要改变由典型的编码器/译码器对识别的数据流来应用本发明的改进。如上所述,在较佳的替换实施例中,可以将这些数据流增大为包括附加项,以允许对块对决的差的更好的近似,从而更好地预测LF变换系数。
在一个这种替换中,可以在修改的数据流中提供沿一个块的四个边沿中的每一边沿的象素值的实际平均值。这种附加的平均值直接提供关于相邻块的边沿象素值之间的实际差的信息。在另一个替换中,除了仅有的四个量(每个量用于中心块的每个边沿,必然只表示沿整个边沿的平均差)之外,在修改的数据流中还可以提供沿中心块的每个边沿的块对块的象素差中的变化。这个替换方法通过为每个边沿提供不止一个量,以亮度表示变化,其中每个量表示中心块C的边沿相邻象素的一对或多对中的差。在计算两个相邻对象素的差的平均的情况下,下列等式表示这个替换方法。
A=0.250*FA*{(W17-C10)+(W07-C00)+(N70-C00)+(N71-C01)}B=0.500*FA*{(N72-C02)+(N73-C03)}C=0.500*FA*{(N74-C04)+(N75-C05)}D=0.250*FA*{(N76-C06)+(N77-C07)+(E00-C07)+(E01-C17)}E=0.500*FA*{(E20-C27)+(E30-C37)}F=0.500*FA*{(E40-C47)+(E50-C57)}G=0.250*FA*{(E60-C67)+(E70-C77)+(S07-C77)+(S06-C76)}H=0.500*FA*{(S05-C75)+(S04-C74)}I=0.500*FA*{(S03-C73)+(S02-C72)}J=0.250*FA*{(S01-C71)+(S00-C70)+(W77-C70)+(W67-C60)}K=0.500*FA*{(W57-C50)+(W47-C40)}L=0.500*FA*{(W37-C30)+(W27-C20)}通过合并某些上述量,可以采用近似表示。例如,可以采用下面的合并和近似量。
B’=C’=0.500*(B+C);E’=F’=0.500*(E+F)I’=H’=0.500*(I+H);L’=K’=0.500*(L+K)对增大或减小近似的其他类似替换对于本领域普通技术人员来说是显而易见的。
可以采用与上述完全相似的等式以与维数无关的方式对这些附加的块对块的差项进行内插,以形成4×4或8×8的内插象素阵列。在提供了这种附加项的情况下,从内插象素阵列的变换中选择附加系数将是有利的。例如,在4×4内插阵列的情况下,可以选择除了DC系数之外的所有变换系数。在8×8内插阵列的情况下,可以选择内插象素阵列的变换中的除了DC系数之外的左上的4×4或5×5子阵列。
上述等式是所述方法的实施例的例示。本领域普通技术人员应该理解,可以为在各种结构的微处理器和数字信号处理器中的计算效率改进其形式。例如,由于与4×4和8×8内插象素阵列的维数无关,所以可以通过因数分解来减少算术运算的总数。此外,乘法运算、包括总乘法加权因子可以由较便宜的移位和加法取代更贵的乘法来实现。
另外,通过在所提出的系统中可用的处理能力与提高的数据流压缩寻求程度之间的折衷可以规定从上述中选择的替换方法的特定组合。特别地,显而易见的是,对于各类图象和特定的压缩方法,本发明的方法和系统的参数可以由例程方法来优化,以给出最大提高的数据流压缩。
应该理解,已经满足了本发明的目的。虽然已经详细描述了本发明,但应该理解的是,各种修改是可能的,对于本领域普通技术人员是显而易见的。这些修改也将落入本发明的权利要求的范围内。
在权利要求书中,在括号中的任何标号都不是对权利要求的限制。词语“包括”不排除除了在权利要求中所列的部件或步骤之外的其他部件或步骤。在部件之前的词语“一个”不排除多个这种部件的存在。本发明可以通过包括几个分立元件的硬件实施,以及通过适当编程的计算机实施。在列举几个装置的设备权利要求中,这几个装置可以由一个和相同的硬件产品实现。
权利要求
1.一种用于压缩以象素阵列形式的图象数据存在的图象的方法,所述方法包括将覆盖象素阵列的多个象素块(9)变换为频域中的变换系数,其中,变换系数表示每个象素块,包括一个零频率变换系数、一个或多个选定低频变换系数以及剩余的变换系数,为每个象素块从所述象素块和与所述象素块相邻的象素块预测选定低频变换系数(21),为每个象素块从选定的低频变换系数中减去预测的选定低频变换系数(21),以形成差变换系数,为每个象素块量化差系数和剩余的变换系数,以及用多个象素块中的每一个的包括零频率变换系数、量化的差系数以及量化的剩余系数的压缩图象数据表示图象(23)。
2.如权利要求1所述的方法,其中,所述预测步骤包括下列步骤为每个象素块从所述象素块的零频率变换系数和与所述象素块相邻的象素块的零频率变换系数的线性组合预测选定低频变换系数(21)。
3.如权利要求1所述的方法,其中,所述预测步骤包括下列步骤为每个象素块从沿所述块的边沿的象素和沿与所述象素块垂直相邻的象素块的边沿的象素之间的差的线性组合预测选定低频变换系数(21)。
4.如权利要求1所述的方法,其中,所述为每个象素块预测的步骤还包括下列步骤确定一个具有线性地内插所述象素块的零频率变换系数和与所述象素块垂直相邻的象素块的零频率变换系数之间的差的内插象素值的内插象素阵列(29),将内插象素阵列(30)变换到频域中的变换系数(31),以及选择预测的选定低频变换系数作为内插象素阵列的相应变换系数。
5.如权利要求4所述的方法,其中,所述选择步骤选择预测的选定低频变换系数作为那些在变换的内插象素阵列的尺寸为3×3的左上角方形子阵列中存在的变换系数,而将变换的内插象素阵列的零频率变换系数排除在外。
6.如权利要求4所述的方法,其中,内插象素阵列的象素值是在所述象素块的零频率变换系数和与所述象素块垂直相邻的每个象素块的零频率变换系数之间的差的加权总和,并且,其中,象素值是以与维数无关的方式线性内插的。
7.如权利要求6所述的方法,其中,内插象素阵列是一个方阵列,并且,其中,将加权总和的权数选择为使得在所述象素块的一个边界的第一零频率变换系数差和在相对边界的与第一零频率变换系数差具有相等振幅和相反符号的第二零频率变换系数差导致在内插象素阵列中的边界之间的内插象素值的线性梯度。
8.如权利要求7所述的方法,其中,内插象素阵列一边有四个象素,并且,其中,权数是+3、-1、-2和0。
9.如权利要求7所述的方法,其中,内插象素阵列一边有八个象素,并且,其中,权数是+4、+2、0、-1、-2、-2、-1和0。
10.如权利要求1所述的方法,其中,量化步骤还包括量化零频率变换系数。
11.如权利要求3所述的方法,其中,差的线性组合包括沿所述块的边沿的所有象素的平均值和沿与所述象素块垂直相邻的象素块的边沿的所有象素的平均值的线性组合。
12.一种用于重构以覆盖表示图象的象素阵列的多个象素块的压缩图象数据的形式存在的图象的方法,所述方法包括取回压缩图象数据(23),其中,压缩图象数据包括每个象素块的零频率变换系数、量化的差变换系数以及量化的剩余变换系数,对量化的差变换系数以及量化的剩余变换系数进行去量化(12),以分别提供差变换系数以及剩余变换系数,为每个象素块从所述象素块和与所述象素块相邻的象素块的变换系数预测选定低频变换系数(24),为每个象素块将预测的选定低频变换系数加到(25)差变换系数中,以形成选定低频变换系数,为每个象素块反变换(14)零频率变换系数、选定低频变换系数以及剩余变换系数,以便重构多个象素块,以及从多个重构的象素块重构象素阵列(29)。
13.如权利要求12所述的方法,其中,所述为每个象素块预测的步骤还包括下列步骤确定一个具有线性地内插所述象素块的零频率变换系数和与所述象素块垂直相邻的象素块的零频率变换系数之间的差的内插象素值的内插象素阵列(30),将内插象素阵列(30)变换到频域中的变换系数(31),以及选择预测的选定低频变换系数作为内插象素阵列的相应变换系数。
14.一种用于压缩以象素阵列形式的图象数据存在的图象的系统,所述系统包括将覆盖象素阵列的多个象素块变换为频域中的变换系数的装置(41),其中,变换系数表示每个象素块,包括一个零频率变换系数、一个或多个选定低频变换系数以及剩余变换系数,为每个象素块从所述象素块和与所述象素块相邻的象素决预测选定低频变换系数的装置(42),为每个象素块从选定的低频变换系数中减去预测的选定低频变换系数以形成差变换系数的装置(44),为每个象素块量化差系数和剩余变换系数的装置(49),以及用多个象素块中的每一个的包括零频率变换系数、量化的差系数以及量化的剩余系数的压缩图象数据表示图象的装置(1)。
15.如权利要求14所述的系统,其中,所述为每个象素块预测的装置还包括确定一个具有线性地内插所述象素块的零频率变换系数和与所述象素块垂直相邻的象素块的零频率变换系数之间的差的内插象素值的内插象素阵列的装置(42),将内插象素阵列变换到频域中的变换系数的装置(42),以及选择预测的选定低频变换系数作为内插象素阵列的相应变换系数的装置(42)。
16.一种用于重构以覆盖表示图象的象素阵列的多个象素块的压缩图象数据的形式存在的图象的系统,所述系统包括取回压缩图象数据的装置(2),其中,压缩图象数据包括每个象素块的零频率变换系数、量化的差变换系数以及量化的剩余变换系数,对量化的差变换系数以及量化的剩余变换系数进行去量化、以分别提供差变换系数以及剩余变换系数的装置(60),为每个象素块从所述象素块和与所述象素块相邻的象素块的变换系数预测选定低频变换系数的装置(62),为每个象素块将预测的选定低频变换系数加到差变换系数中以形成选定低频变换系数的装置(64),为每个象素块反变换零频率变换系数、选定低频变换系数以及剩余变换系数以便重构多个象素块的装置(68),以及从多个重构的象素块重构象素阵列的装置(69)。
17.一种用于压缩以象素阵列数据形式的图象数据存在的图象的系统,所述系统包括用于执行程序指令的一个或多个处理器(80),以及用于存储要处理的象素阵列和程序指令的一个或多个存储器单元(81,82),其中,所述程序指令使得所述一个或多个处理器执行权利要求1所述的方法。
18.一种用于重构以多个象素块的压缩图象数据形式存在的图象的系统,所述系统包括用于执行程序指令的一个或多个处理器(80),以及用于存储要处理的压缩图象数据和程序指令的一个或多个存储器单元(81,82),其中,所述程序指令使得所述一个或多个处理器执行权利要求12所述的方法。
19.一种以使得一个或多个处理器执行权利要求1或12所述的方法的程序指令编码的计算机可读介质。
全文摘要
一种象素块变换压缩系统包括在编码器中的一个预测特定低阶或低频(“LF”)变换系数的附加步骤。然后从实际的LF变换系数中减去预测的LF系数,以形成LF差系数,将LF差系数量化并发送到译码器中来代替原始的LF变换系数。在译码器中,反转这些步骤,即,再次预测LF系数,将预测的系数加到所发送的量化LF差系数中,以得到原始LF系数,直至量化误差。
文档编号H03M7/30GK1295696SQ99804586
公开日2001年5月16日 申请日期1999年11月18日 优先权日1998年12月3日
发明者A·E·拉克特 申请人:皇家菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1