实域误差的变换域校正的制作方法

文档序号:7583488阅读:203来源:国知局
专利名称:实域误差的变换域校正的制作方法
技术领域
本发明涉及以下申请美国申请第09/186,247号,标题为“变换数字数据的误差减少的处理”,发明人M.Bright等人;以及,美国申请第09/186,249号,标题为“变换数字数据的误差减少”,发明人M.Bright等人;这些申请在此被作为参考文献。
本发明涉及数字数据的变换编码,更具体地说是涉及变换数据的实域处理。更具体地说,本发明涉及受到再变换的反向变换数据的误差减少的数字处理。
变换编码指的是范围很宽的一类数据编码,其中所要编码的各个数据块在得到进一步处理之前借助某些数学函数而得到变换。一个数据块可以是所要编码的数据对象的一部分,也可以是整个的数据对象。该数据通常代表某种现象,例如可以是频谱分析、图象、音频修剪、视频修剪等。变换功能的选择,通常反映了所编码的现象的某些性质;例如,在音频、静止图象和运动图象编码中,可以采用付立叶变换或离散余弦变换(DCT),以把数据变换成频率项或系数,从而进行分析。如果所要编码的现象给定,通常信息都集中在少数几个频率系数中。因此,变换的数据经常能够得到比原来的数据更为经济的编码或压缩。这意味着变换编码可被用来压缩一定类型的数据,以减小存储空间或在通信线路上的传送时间。
变换编码的一个使用例子,是用于静止图象压缩的联合专家组(JPEG)国际标准,它由ITU-T Rec T.81(1992)|ISO/IEC 10918-11994,“信息技术-连续色调静止图象的数字压缩和编码,部分1要求和指导”所定义。另一个例子是用于运动图象压缩的运动图象专家组(MPEG)国际标准,由ISO/IEC 111721993,“信息技术-用于以至约1.5Mbits/s的速率进行数字存储介质的运动图象和相关音频的编码”所定义。这种MPEG-1标准同时定义了视频压缩(标准的部分2)和音频压缩(部分3)的系统。一种更近的MPEG视频标准(MPEG-2)由ITU-T Rec H.262|ISO/IEC 13818-21996,“信息技术-运动图象和相关音频的类属编码-部分2视频”所定义。一种更新的音频标准是ISO/IEC 13818-31996“信息技术-运动图象和相关音频的类属编码-部分3音频”所定义。所有三种图象国际数据压缩标准都采用了对抽样的8×8块进行DCT以实现图象压缩。图象的DCT压缩在此被用来对以下给出的一般概念进行说明;一种完整的说明可见于W.B.Pennebaker和J.L.Mitchell在JPEG静止图象数据压缩标准,Van Nostrand Reinhold纽约,(1993)上的″离散余弦变换(DCT)″第四章。
子波编码是另一种形式的变换编码。专门的局部化的基函数使子波编码能够保存边缘和小的细节。变换的数据通常被量化以进行压缩。子波编码被用于FBI的指纹识别。子波编码是更一般的子频带编码技术的一个子类。子频带编码采用了滤波器组以把数据分解到具体的频带上。压缩是通过对频率较低的频带进行比频率较高的频带更细的量化并同时对频率较低的频带进行比频率较高的频带更粗的取样而实现的。子波、DCT和其他变换编码的一个概述,可见于Roy Hoffman,数字系统的数据压缩,Chapman与Hall纽约,(1997)″扩散数据的压缩算法″第五章。
在数字数据所代表的任何现象和任何技术中,变换之前的数据被称为“处于实域”。在变换进行之后,新的数据通常被称为“变换数据”或“变换系数”,且被称为是“处于变换域”。用于把数据从实域变换到变换域的过程被称为“正向变换”。把数据从变换域变换到实域的与正向变换反向的数学过程被称为相应的“反向变换”。
一般地,正向变换将产生实值数据,不一定是整数。为了实现数据压缩,变换系数通过量化处理而被转换成整数。假定(λi)是从一个数据单位的正向变换产生的一组实值变换系数。注意一个单位的数据可以是一维或两维的数据抽样块或者是整个数据。“量化值”(qi)是编码处理的参数。“量化变换系数”或“变换编码数据”是由量化函数Q定义的一系列的值(ai)ai=Q(λi)=|λiqi+0.5----(1)]]>其中|x|表示小于等于x的最大整数。所产生的整数随后被进一步编码或压缩,并随后被存储或发送。为了译码该数据,量化系数被乘以量化值,以给出新的由以下公式给定的“去量化系数”λ’i=qiai(2)去量化(也称为逆量化)之后的量化处理因而可被描述为“舍入到qi的最近倍数”。该量化值被适当选择,从而使量化步骤中的信息的损失处于某种指定的范围内。例如,对于音频或图象数据,一种量化级通常是可观测的数据的最小改变。正是量化使得变换编码能够实现良好的数据压缩比。好的变换选择使得量化值的选择能够显著地减小所要编码的数据量。例如,为图象压缩选择DCT,因为所产生的频率分量产生对于人的视觉系统来说几乎是独立的响应。这意味着与视觉系统不敏感的分量有关的系数即高频分量可用大的量化值进行量化而不损失图象质量。与视觉系统更敏感的分量有关的系数即低频分量,则用较小的量化值进行量化。
这种反向变换还通常产生非整数的数据。通常译码数据需要是整数形式的。例如,用于音频数据重放或图象数据显示的系统通常接受整数形式的输入。因此,变换译码器通常包括把来自反向变换的非整数数据借助截断或舍入到最近的整数而转换成整数数据的步骤。
对于从译码处理输出的整数数据的范围通常也有限制,以使该数据能够以给定的位数得到存储。因此,译码器还经常包括一个“修剪”阶段,它保证输出数据处于一个可接受的范围中。如果该可接受的范围是[a,b],则小于a的所有值都被改变为a,且所有大于b的值都被改变成b。
这些舍入和修剪处理经常被认为是译码器的整数部分,且正是这些造成了译码数据特别是当译码数据被再编码时的不准确。例如,JPEG标准(部分1)规定源图象抽样被定义为精确P位的整数,其值可在0至2*P-1的范围内。译码器应该从逆DCT(IDCT)以指定的精度重组该输出。对于基本JPEG编码P被定义为8;对于其他基于DCT的编码P可以是8或12。MPEG-2视频标准在附件A(离散余弦变换)中规定“至正向变换的输入和从反向变换的输出由9位表示”。
对于JPEG,符合的编码器源图象测试数据和译码器基准测试数据是8位/抽样整数。即使舍入到整数是典型的,某些程序语言通过截断进行从浮点转换为整数。在软件中实施接受这种通过截断进行转换为整数,把较大的误差引入了从反向变换输出的实域整数中。
术语“高精度”在此指的是存储至比当以整数的形式存储值时所用的精度更精确的精度的数字。高精度值的例子是数字的浮点或固定点表示考虑到上述有关由于数字处理技术和诸如变换数据的反向变换之后的舍入和修剪而造成的不准确性的问题,本发明的一个方面提供了一种方法,用于处理实域中的变换数据,对处理的数据进行正向变换,并随后校正向变换域中的不准确。这种方法减少了再变换的数据中由于诸如舍入到整数和在反向变换之后修剪到允许的范围的操作所产生的不希望的误差。在一个实施例中,这种方法包括进行变换数据的反向变换,从而使所产生的实域数据具有高度精确的数字的形式;把这种高精度的数转换成整数并修剪到形成转换数据的所允许的范围;从该高精度数减去该转换数据,从而形成高精度差分;对转换的数据进行处理;对高精度差分进行正向变换;对处理之后的转换数据进行正向变换;以及,把变换的处理之后的数据加到变换之后的高精度差分上,以产生变换域校正实域再变换数字数据。
本发明的另一个方面是提供一种方法,用于处理实域中的变换数据,处理由于转换为整数和修剪至允许范围而产生的误差,对这些误差进行正向变换,对处理数据进行正向变换,并随后在变换域中校正这些误差。在一个实施例中,用于这种实域误差的变换域校正的方法包括对变换数据进行反向变换,从而使产生的实域数据具有高精度数的形式;把这种高精度数转换成整数并修剪到允许范围以形成转换数据;从高精度数字减去转换数据以形成高精度差分;对这种高精度差分进行操作以形成处理过的高精度差分;对转换数据进行操作以形成处理过的转换数据;对处理之后的高精度差分进行正向变换;对处理之后的转换数据进行正向变换;以及,把变换的经过处理的转换数据加到变换之后的经过处理的高精度差分上,以产生变换域校正的实域处理的变换数字数据本发明的另一个方面,是提供一种方法,用于在实域中处理变换数据,对在实域中转换为整数和修剪至允许范围所产生的误差进行正向变换,在变换域中对变换的误差进行处理,对经过处理的转换数据进行正向变换,随后在变换域中校正这些误差。在一个实施例中,该方法包括对变换数据进行反向变换,从而使所产生的实域数据具有高精度数的形式;把高精度数转换成整数并修剪到一个允许的范围从而形成转换数据;从高精度数减去该转换数据,从而形成高精度差分;对该高精度差分进行正向变换;对变换的差分进行操作;对转换数据进行操作;对操作之后的转换数据进行正向变换;以及,把经过变换的操作之后的转换数据加到经过操作的变换之后的差分上,以产生新的变换域校正的实域处理过的变换数字数据。
本发明的再一个方面,是提供一种方法,用于在实域中对变换编码数据进行处理以产生新的变换编码数据;它减少了由于转换为整数和在反向变换之后修剪到允许范围所产生的误差。在一个实施例中,这种方法包括对变换编码数据进行逆量化;对如此产生的变换数据进行反向变换,从而使所产生的实域具有高精度数的形式;把高精度数转换成整数并修剪到一个允许范围,从而形成转换数据;从高精度数减去该转换数据,从而形成高精度差分;对高精度差分进行正向变换;对如此产生的变换数据进行量化,从而形成变换编码误差数据;对变换编码的误差数据进行逆量化,从而产生去量化的变换编码误差数据;在实域中对转换数据进行处理;对处理的转换数据进行正向变换;把去量化的变换编码误差数据加到变换的经过处理的转换数据上;以及,对新的变换数据进行量化。如果在正向和反向变换和处理中的误差充分地小,在新的量化变换域数据中不会产生不希望的误差。
本发明的再一个方面是提供一种方法,用于在实域中对初始高精度误差进行处理以产生新的高精度误差,这减少了由于转换为整数和在反向变换之后修剪到允许范围所产生的误差。在一个实施例中,这种方法包括对变换编码数据进行逆量化;对如此产生的变换数据进行反向变换,从而使所产生的实域数据具有高精度数的形式;把该高精度数转换成整数并修剪到一个允许范围,以形成转换数据;从高精度数减去该转换数据,从而形成高精度差分;对这些高精度差分进行操作;对这些经过操作的高精度差分进行正向变换;对如此产生的变换数据进行量化,从而形成变换编码的经过操作的误差数据;对变换编码的操作的误差数据进行逆量化,从而产生去量化的变换的经过操作的误差数据;在实域中对该转换数据进行处理,对处理的转换数据进行正向变换;把去量化的变换的经过操作的误差数据加到变换的经过处理的转换数据上;以及,对新的变换数据进行量化。
本发明的再一个方面是提供一种方法,用于在实域中对编码数据进行处理,它减少了数据中由于转换为整数和在反向变换之后修剪至允许范围所产生的不希望的误差。在一个实施例中,该方法包括对编码数据进行熵译码,从而形成变换编码数据;对如此产生的变换数据进行反向变换,从而使所产生的实域数据具有高精度数的形式;把高精度数转换成整数并修剪到一个允许范围,从而形成转换数据;从高精度数减去该转换数据,从而形成高精度差分;对这些高精度差分进行正向变换;对如此产生的变换数据进行量化,从而形成变换编码误差数据;对该变换编码误差数据进行熵编码,从而形成编码的误差数据;对该编码的误差数据进行熵译码;对该变换编码误差数据进行逆量化,从而产生去量化的变换误差数据;在实域中对该转换数据进行处理;对处理的转换数据进行正向变换;把去量化的变换误差数据加到变换的经过处理的转换数据上;对新的变换数据进行量化;以及,对新的量化数据进行熵编码。如果正向和反向变换中和处理的误差充分地小,在新的量化的变换域数据中不会产生不希望的误差。
本发明的再一个方面,是提供一种方法,用于在实域中对编码数据进行处理以产生新的编码数据,它减少了由于转换为整数和在反向变换之后修剪到一个允许范围所产生的误差。在一个实施例中,这种方法包括对编码数据进行熵译码,以形成变换编码数据,对该变换编码数据进行逆量化;对如此产生的变换数据进行反向变换,从而使所产生的实域数据具有高精度数的形式,把该高精度数转换成整数并修剪到一个允许范围上,以形成转换数据;从该高精度数减去该转换数据,从而形成高精度差分;对这些高精度差分进行正向变换;对如此产生的变换数据进行量化,从而形成整数变换误差数据对该整数变换误差数据进行熵编码,从而形成编码误差数据;对该编码误差数据进行熵译码;对该整数变换误差数据进行逆量化,从而产生去量化的变换误差数据;对该去量化的变换误差数据进行操作;在实域中对转换数据进行处理;对处理之后的转换数据进行正向变换;把操作的去量化的变换误差数据加到变换的处理的转换数据上;以及,对新的变换数据进行量化。如果正向和反向变换和处理中的误差足够地小,在新的量化变换域数据中将不产生不希望的误差。
对于在此描述的方法,其输入数据不要求是来自单个的数据源。因此,本发明不限于来自单个源的数据的实域处理,而是可应用于来自多个源的数据的实域处理,诸如图象或音频数据的合并。
在背景部分中描述的量化是在诸如JPEG和MPEG的国际图象数据压缩标准中采用的线性量化。该量化未被要求是线性的。以确定的方式减小变换数据电平数目的所有变换都可被用于本发明。该量化步骤已经借助公式(1)而以数学的方式进行了描述。实际的实施例可采用查询表或比较序列来实现类似的结果。
本发明的进一步的一个方面是提供一种设备、一种计算机产品和制造品—它包括了体现在其中的具有计算机可读取程序码装置的可用介质,用于使计算机执行本发明的方法。
从以下结合附图对本发明所进行的详细描述,本发明的这些和其他的目的、特征、优点将变得显而易见。在附图中

图1(a)是显示用于执行反向变换的一种方法的框图;图1(b)是显示用于执行一种反向变换的一种系统的框图;图2(a)是显示用于译码变换编码数据的一种方法的框图;图2(b)是显示用于译码变换编码数据的一种系统的框图;图3是显示用于变换数据的实域处理的一种方法的框图;图4是框图,显示了用于进行随后进行有正向变换的反向变换的一种方法并显示了多重产生的问题;图5是显示变换编码数据的译码和再编码的一种方法的框图,并显示了多重产生的问题;图6是框图,显示了用于进行反向变换、实域数据操作和一种正向变换的一种方法,并显示了多重产生的问题;图7(a)是框图,显示了用于进行JPEG DCT编码图象数据的实域处理的一种方法,它呈现了多重产生的问题;图7(b)是框图,显示了用于进行JPEG DCT编码图象数据的实域处理的系统,它呈现了多重产生的问题;图8(a)给出了JPEG例子的光度量化矩阵;图8(b)给出了JPEG例子的色度量化矩阵;图8(c)是实域舍入如何能够产生8×8块DCT编码数据中的显著误差的数值例子;
图8(d)是实域截断如何能够产生8×8块DCT编码数据中的显著误差的数值例子;图8(e)是一系列的曲线图,显示了实域修剪如何能造成一维离散余弦变换编码数据中的误差;图8(f)和图8(g)是实域修剪如何能够造成8×8块DCT编码数据中的显著误差的一个数值例子;图9是框图,显示了用于执行图5描述的处理的多次重复的一种方法,且它呈现了多重产生的问题;图10是框图,显示了进行实域操作的多次重复的一种方法,且它呈现了多重产生的问题;图11(a)是框图,显示了根据本发明的在变换数据处理中用于实域误差的变换域校正的一种方法的一个例子;图11(b)是框图,显示了根据本发明的在变换数据处理中用于实域误差的变换域校正的一种系统的一个例子;图12(a)是框图,显示了用于根据本发明的在变换编码数据的处理中进行实域误差的变换域校正的一种方法的一个例子;图12(b)是框图,显示了用于根据本发明的在变换编码数据的处理中进行实域误差的变换域校正的一种系统的一个例子;图13(a)是框图,显示了根据本发明的用于在编码数据的实域处理中进行实域误差的变换域校正从而使得不希望的误差在新的变换编码数据中得到减少或消除的一种方法的一个示例性实施例;图13(b)是框图,显示了根据本发明的用于在编码数据的实域处理中进行实域误差的变换域校正从而使得不希望的误差在新的变换编码数据中得到减少或消除的一种系统的一个示例性实施例。
本发明提供了减少或消除数字数据的处理而引起的误差的方法、系统和计算机产品。首先,误差源得到分析和描述。随后说明本发明的用于误差减少和消除的概念。特别应该注意的是,以前采用的数字技术的数据操作和/或处理,使得数字处理的各种实施持续引入误差。这些多年来采用的技术,使得随着进行更多的处理而不能保持原来数据的精度和代表现象的数据的持续恶化。这在处理包含了以前的处理所产生的误差的数据的情况下是特别有害的。这导致了数据的继续损坏,从而使数据随着对其的处理的增加而变得越来越无用。
本发明人所理解的这种问题的严重性,已经在上面进行了描述。应该注意的是,在这里所给出的附图中,可选的步骤经常以虚线和/或框来表示。
应该注意的是,本发明的概念在几乎所有的数字处理技术中都是有用的。然而,随后的描述多涉及的是图象数据。这是由于全世界采用的图象数据压缩标准的一般可获得性和持续使用。这些标准要求把将要描述的误差引入数字数据和连续地采用和处理包含误差的数据。这些标准的教导基本上说是与本发明相背离的。因此图象技术是描述本发明的一个非常好的例子。
图1(a)显示了一种反向变换方法100。变换域数据A 110受到反向变换120的作用,从而产生了高精度的实值数据130。该高精度数据130被转换成整数并被修剪140,以产生整数实域数据150。在某些情况下,该整数值数据被可选地送到一个输出装置160。
图1(b)是一种反向变换系统105。变换域数据A 115受到反向变换器125的作用,而反向变换器125产生高精度实值数据135。高精度数据135被输入整数转换器和修剪器145,以产生整数实域数据155。在某些情况下,整数值数据可选地被输入诸如显示监测器、电视机、或音频播放机的输出装置165。
图2(a)显示了译码变换编码(即量化)数据的方法200。整数变换编码数据B 210用如上述公式(2)的量化值进行了逆量化220。这种去量化步骤的结果可随后作为输入而通过反向变换器120,且译码如图1(a)所示地进行。
图2(b)显示了用于译码变换编码(即量化)数据的系统205。整数变换编码数据B 215以如上述公式(2)的量化值被输入逆量化器225。去量化步骤的结果作为输入通过反向变换器125,且译码如图1(b)所示地进行。
本发明的一个方面,涉及变换数据和变换编码数据的操作。术语“操作”和“处理”的使用在这里是可互换的。操作可以是为了实现很多不同的结果。例如,图象数据经常要在打印之前通过缩放和/或转动而进行处理。来自两个源的数据可被合并,如在图象的彩色图象组合或音频数据的混频中所进行的。数据的相互操作通常是编辑或颜色校正所需要的。这种变换数据操作通常是对从图1(a)和/或图2(a)的变换译码产生的整数实域数据进行的。
图3显示了对变换数据300的一种处理。整数数据150经历了某种形式的操作310。如果这种操作310不产生整数输出,操作输出340再次被转换成整数并被修剪320。所产生的整数数据330可被存储、发送、和/或可选地送到输出装置160。由于至整数140的修剪转换的存储是在接受整数输入150的操作之前进行的,所产生的误差使来自操作340的数据输出包含至少小的不准确。
应该注意的是,在上述的数据操作处理中没有要求输入数据完全来自一个源。例如,很多类型的数据操作涉及到来自两或更多源的数据的合并。这包括了诸如音频数据的混频或图象的合并。图中显示且一般地描述的处理同样适用于这些类型的操作。因此用于所述的任何处理的“输入数据”实际上可以来自一个以上的输入源。
操作之后的数据通常需要被再编码到变换域。所希望的是,当对实域数据不进行操作时,译码和再编码处理应该是无损失的。即,当正向变换操作采用了与反向变换变换操作相同的变换类型时,数据应该产生与初始提供的完全相同的变换域数据。然而,转换为整数和修剪至允许范围引入了误差,如图4中所示。图4显示了用作至正向变换装置410的输入的整数数据150,它接受整数值数据作为输入。所产生的变换数据A1 420不同于输入到反向变换的原来的变换数据A 110。这是由于转换为整数和修剪处理140已经引入了误差到处理中。在该过程中在每次重复之后数据的改变所引起的问题,或“产生”的问题,在此被称为“多重产生问题”。
这种多重产生问题也在图5中就变换编码数据进行了说明。在此新的变换域数据420被量化510,以产生新的变换编码数据B1520。重要的是认识到量化数据只在产生的误差大于量化阶段的一半的情况下才能产生Q(λi+ε)=Q(λi)若|ε|<0.5qi其中ε是在这种变换系数中产生的误差。这是由于λi每一个都已经是量化值的倍数,因为它们已经是通过如公式(2)的去量化而产生的。因此,有利的是控制这些误差,从而使它们足够地小。当误差足够小时,新的变换编码数据将与原来的变换编码数据完全相同。通过舍入而转换到整数的最大可能的误差,是通过转换期间的截断而引入的误差的一半。
图6显示了其中图象操作是在数据上进行且所产生的修正数据随后再被变换回变换域的情况。整数数据150如图3所示地得到操作,以产生新的整数值数据610。这些新的整数值数据610被用作至正向变换410的输入,以产生新的变换数据A2 620。上述的没有任何操作过程的处理在变换数据110中改变这一事实,显示出当操作被进行时在变换数据110中有除了从所希望的操作产生的改变之外的不希望的改变。
体现图6所示的处理的一种方法的一个例子,被显示在图7(a)中。所示的方法700对诸如JPEG编码图象数据的编码数据进行了实域操作。编码数据C 710受到熵译码720,它在JPEG标准中被定义为JPEG编码数据。熵译码步骤720把该数据解压缩成了量化的DCT系数。这些量化系数得到逆量化730并通过反向变换—它在该系统中是两维8×8逆DCT 740。所产生的实值图象数据被舍入成整数并被修剪750到允许范围(例如
),以在该允许范围中产生整数值的图象数据754。
如果需要在操作之前显示数据,例如当图象操作是一种交互过程,图象能够可选地被送到一个显示装置758。该图象随后得到操作762,以产生某些所希望的改变。如果操作的结果是非整数数据,则该图象数据可被转换成整数并被修剪到例如
的范围768。以此方式,图象数据772可再次被显示758。新的实域图象数据772可被传送到正向DCT 776且产生的DCT系数得到量化780,以产生新的量化DCT系数784。这些系数784随后被熵编码788,以产生新的编码数据C1 792-它们不同于原来的编码数据C 710。现在新的编码数据C1 792不仅包含所希望的图象操作762对图象的改变,而且还包括从转换和修剪阶段750和768所产生的误差。消除或减小这些误差将是有利的。
体现图6所示的处理的一种系统的一个例子,被显示在图7(b)中。系统705对编码数据进行实域操作。编码数据C 715被输入熵译码器725,后者是在JPEG标准中为JPEG编码数据定义的。熵译码器725把数据解压缩成量化DCT系数。这些量化系数被输入逆量化器735且其输出被传送到反向变换器,在此系统中是两维8×8逆DCT器745。所产生的实值图象数据被舍入成整数并被修剪755(例如至范围
),以产生允许范围内的整数值图象数据759。
如果需要在操作之前显示该数据,例如当图象操作是一种交互过程时,该图象能够可选地被送到一个显示器763。图象受到操作器767的作用,以产生某些所希望的改变。如果操作的结果是非整数数据则该图象数据可被传送到另一整数转换器和修剪器773。以此方式图象数据777可再次得到显示763。新的实域图象数据777被传送到正向DCT器781,且产生的DCT系数被输入量化器785,以产生新的量化DCT系数789。这些系数789随后被输入熵编码器793,以产生新的编码数据C 797,它们不同于原来的编码数据C715。现在新的编码数据C1 797不仅包含了所希望的由图象操作器767进行的图象改变,而且还包含了从整数转换器和修剪器755和773产生的误差。
图8(a)显示了JPEG例子的8×8DCT亮度块的亮度量化矩阵804。图8(b)给出了8×8DCT色度块的JPEG例子的色度量化矩阵814。图8(a)中的最小的量化值是10。图8(b)中的最小的量化值是17。
由于对64个抽样来说舍入的最大可能的误差是0.5,来自通过舍入转换为整数的未量化的正向变换系数是4(图8(c)中所示)。对于图8(a)和8(b)中显示的量化矩阵,这种大小的误差小于所有值的一半且将在量化期间消失。然而,对于诸如高质量打印或数字工作室编辑的高质量应用,量化矩阵值要小得多。在某些情况下,DC(左上角)项小到1,以保存最大的质量。此时这些舍入误差就是显著的。
来自截断的最大可能误差对于各个抽样来说刚好在1以下。这几乎是未量化的正向变换系数中的误差的两倍。对于图8(a)中的量化矩阵,八个量化值对于这种误差来说小得足够潜在地改变变换编码数据。
图8(c)中给出了显示这种多重产生问题的一个数值例子。在此例中,所用的变换是如在JPEG静止图象压缩标准中使用的8×8DCT。其中只有一个(常数或DC项)不为零的一组变换域系数822,受到反向变换作用,以产生实域数据824。在此情况下,数据由都等于128.5的64个值组成。注意8位数据的128JPEG电平的移动已经被施加。实域数据被舍入到最近的整数826,这在此情况下意味着各个值被舍入到129。正向变换随后被施加,以产生新的变换域系数828。可见所产生的新的变换系数828与初始的变换系数822有显著的不同。这是一种非常不希望的结果。
如果DC量化值被置于1、2或4,则这种例子也适用于变换编码数据。此时变换系数822将分别从变换编码值4、2、或1产生。新的变换系数828的量化将所产生的DC量化值分别改变至2、4、或8。
图8(d)中给出了显示这种多重产生问题的另一个数值例子。同样所用的变换是8×8DCT,如在JPEG静止图象压缩标准中采用的。其中只有一个(常数或DC项)不为零的一组变换域系数832,受到反向变换作用,以产生实域数据834。在此情况下,数据由都等于128.875的64个值组成。注意8位数据的128的JPEG电平的移动已经被施加。实域数据被截断到最近的整数836,这在此情况下意味着各个值被减小到128。正向变换随后被施加,以产生新的变换域系数838。可见所产生的新的变换系数838与初始的变换系数832有显著的不同。这是一种非常不希望的结果。
在显示了在转换为整数时进行实域舍入或截断所导致误差之后,我们现在显示实域修剪如何产生误差。图8(e)显示了实域修剪850的一个例子。这种例子采用了一维DCT以说明问题。图8(d)显示了一个直方图854,它显示了构成八个抽样的一个数据块。显示的该数据只有两个频率分量一个是恒定的或DC分量,它由虚线表示;另一个是交变的或AC分量,它给出了相对虚线对称的交变波形。这些分量的幅度即各个DCT系数是高精度的值。当进行量化时,这些DCT系数被舍入到最近的量化电平。直方图858中显示了变换域量化之后的数据。在所示的例子中,DC系数具有小的量化值因而量化不会显著地改变DC电平。所示的AC系数具有大的量化值,因而受到量化的显著改变。这种例子显示了,AC分量的幅度由于量化几乎增加了一倍。这些量化值反映了例如当压缩色度图象数据时采用的值。因此量化之后代表的数据具有带有负值的部分。这显示了在反向变换之后给出实域负值的变换域数据能够由不包含负值的原来实域数据产生。
直方图862显示了在实域修剪之后从图表858中的数据产生的数据。实数据的这些负的部分已经被改变为0。这产生了数据增大的DC系数因而导致了误差的引入。由于DC系数的量化值通常都小,这种误差大得足以造成量化如公式(3)给出的数据的改变。
为了进一步说明实域修剪引入的误差的可能性,在图8(f)和8(g)中给出了一个数值例子870。该例子采用了图5中说明的系统。该例子采用了两维8×8DCT,就象用于图象的变换编码以说明上述问题时一样。初始的量化DCT系数在矩阵874中显示。除了两个系数之外的所有系数都是0;这两个非零系数是DC系数和一个高频系数。这些系数,在利用图8(a)所示的量化矩阵进行量化之后,被显示在矩阵878中,当对这些变换数据进行反向DCT且被加上128的电平移动时,实数据得到产生,如矩阵882所示。矩阵882中所示的该数据已经被舍入到了整数,但还未被修剪到一个允许范围。可见这些实数据包括几个负值。在修剪之后,实数据882产生了修剪的实数据,如矩阵886中所示。这些数据与882相同,只是各个负值已经被0所代替。随后对该实域数据进行正向DCT,以给出新的舍入变换数据890。可见新的变换数据与前面的变换数据878有显著不同。当量化是利用图8(a)所示的量化矩阵进行时,新的变换编码数据894得到产生。变换数据中产生的改变大得足以在量化之后的变换编码数据中产生改变。这是一种非常不希望的结果。
在很多情况下,数据的译码、操作和再编码处理都需要进行多次。在这些情况下,这种处理的每一次重复都被称为“产生”。上述的由于转换为整数和修剪到实域中的一个允许范围而产生的误差,随着多次的重复的进行而累积,并可导致数据的显著恶化。应该理解的是,以上描述的只是舍入(或截断)和/或修剪所引入的误差的代表性的例子。其他的例子所可能产生的误差或多或少。
在如图9所示的译码和再编码的多次产生之后,这种问题通常更为严重。初始的变换编码数据D0 910被去量化和反向变换920,转换成整数并被修剪到允许范围930,以产生整数值的实域数据940。这种实域数据940经过正向变换和量化950,以给出新的变换编码数据D1 960。这种整个过程被重复几次,且在重复次数为某一数目n之后,最后的变换编码数据Dn 970得到产生。由于各个步骤中的误差,最后的数据Dn 970可能与原来数据非常不同了。
图10中显示了一种情况,它显示出由于变换编码数据的实域操作的多次产生而使这种问题显著地恶化了。除了图9所示的步骤之外,对实域数据进行了某些形式的操作310,随后是转换为整数和修剪320。在正向变换和量化之后,所产生的量化变换系数101包含了某些误差,象图5中那样。在n次产生之后,最后的变换量化系数1020可能具有相当大的不希望的误差。
图11(a)中显示了在变换数据1100的处理中的实域误差的一种变换域校正方法的一个示例性的实施例。变换数据A 110通过一种反向变换,以产生高精度实域数据130,如图1(a)所示。高精度数据130被转换成整数并修剪140,以产生整数实域数据(即转换数据)150。在某些情况下,整数值数据可选地被送到输出装置160。整数数据150经历了某些形式的操作310。如果这种操作310不产生整数输出,操作的输出340重新被转换成整数并修剪320。所产生的整数数据330可被存储、发送、和/或可选地送到一个输出装置160。处理的转换数据330被输入到一个正向变换步骤410-它把整数数据作为输入并产生作为输出的变换的处理转换数据620。
由于修剪和转换成整数140的阶段140是在接受整数输入150的操作之前进行的,所产生的误差使来自转换为整数之后的操作的数据操作至少包含小的不准确。这种不准确能够在变换域中通过从高精度值130中减去110转换数据150而得到校正,从而形成高精度误差1120。这些误差1120通过一个操作器1130-它接受作为输入的高精度误差数据。所产生的变换误差数据1160可在操作的变换误差1174被加到1180变换的处理的转换数据620上之前被再次操作1170,以产生变换数据A3。
没有要求操作步骤310、1130和1170中的任何或所有步骤都要出现。如果有未出现的,变换数据A3 1190与输入到反向变换120的原来的变换数据A 110相同。这样是假定正向变换步骤410和1150是反向变换步骤120的反向变换,且由于来自舍入和修剪的误差未出现在变换数据A3 1190中。当采用不同的正向变换时,正向变换410和1150产生了不同变换数据A3 1190。这使得能够在不同变换之间进行转换,并在变换域中对来自舍入和修剪的误差进行校正。
如果操作步骤310产生了两个数据组的合并,则对于其中正向变换在块上操作且合并发生在块边界上的实施例,操作步骤1130或操作步骤1170都用于产生两组误差的合并。对于在作为一个块的整个数据上的正向变换,在误差上的实域操作1130产生了正向变换1150的单个的数据组。
在本发明的某些实施例中,相加步骤1180作为一种智能相加而得到实施。在该智能相加的一种实施例中,对于变换的处理转换数据为不影响将来使用的可容忍的误差定义了一个阈值。在此实施例中,只有幅度比定义的阈值大的误差被加到变换的处理转换数据上。替换的智能相加实施规则有时也得到使用。所有专门的相加实施在此都被称为智能相加。因此对于这些实施例,不论相加步骤在此是何时表示的,它都是作为采用智能相加的智能相加而得到实施。
上述的实施例具有这样的优点,即随后跟有正向变换的传统的操作(即处理)不受干扰。高精度误差是在该操作步骤之前产生的,且随后在传统处理和正向变换之后被加回到变换的处理数据上。
对某些操作,对高精度差分的操作最好是在实域中进行。对于其他操作,变换域是较好的对这些差分进行操作的地方。例如,在其中操作步骤310对转换数据进行90度转动的操作步骤310,则高精度差分也被转动90度。如果操作步骤310合并了两个数据组,诸如在彩色图象组合方法中,则高精度差分也得到合并以对应操作的转换数据。对于某些操作,诸如转换数据的彩色校正,相应的差分数据可被清除或归零,因为这些差分不再对应于改变的转换数据。
图11(b)中显示了根据本发明的变换数据1105的处理中的实域误差的一种变换域校正系统的一个示例性实施例。变换数据A115通过一种反向变换器125以产生高精度实域数据135,如图1(b)所示。整数转换器和修剪器145作用在高精度数据135上,以产生整数的实域数据155。在某些情况下,整数值数据可选地被送到一个输出装置165。操作器1179作用在实域转换数据155上,从而接受作为输入的整数数据并产生整数数据或高精度数据1183作为输出。这种操作器1179对数据进行与结合图3描述的对整数的操作相同的处理。处理的转换数据1191被输入一个正向变换器1195-它接受整数数据作为输入并产生作为输出的变换的处理转换数据1199。由于修剪并转换成整数145的阶段是在接受整数输入155的操作之前进行的,所产生的误差通常使转换为整数1191之后的操作包含至少小的不准确。这种不准确能够在变换域中通过从高精度的值135中减去1115转换数据155而得到校正,从而形成高精度误差1125。这些误差1125通过一种操作器1135-它接受高精度误差数据作为输入,以产生新的操作的高精度误差1145。这种高精度误差1145被用作至正向变换器1155的输入。所产生的变换误差数据1159可在操作的变换误差1167被输入到一个加法器1171之前与变换的处理转换数据1199一起通过另一操作器1163。该加法器的输出是变换域校正的变换数据A3 1175。
未要求操作器1179、1135和1163中的任何或全部都要出现。如果有未出现的,变换数据A3 1175与作为至反向变换125的输入的原来的变换数据A115相同。这是假定正向变换器1195和1155执行反向变换器125的反向变换操作,且由于来自舍入和修剪的误差不出现在变换数据A3 1175中。正向变换器1195和1155,当不同的正向变换得到采用时,产生了不同的变换数据A3 1175。这使得能够进行变换之间的转换,并在变换域中对来自舍入和修剪的误差进行校正。
在本发明的某些实施例中,加法器1171是以智能加法器的形式实施的。在智能加法器的一个实施例中,对于变换的处理转换数据为不影响将来使用的可容忍的误差定义了一个阈值。在此加法器实施例中,只有幅度比定义的阈值大的误差被加到变换的处理转换数据上。替换的智能加法器的实施规则有时也得到使用。所有专门的加法器实施在此都被称为智能加法器。因此对于这些实施例,不论加法器步骤在此是何时使用的,它都是作为智能加法器而得到实施。
图12(a)显示了在变换编码数据1200的处理中的实域误差的变换域校正的一种方法。这种方法是通过延伸图11(a)中描述的方法1100而形成的。在此实施例中,变换编码数据B 210是形成变换数据110的逆量化220。如在图11(a)中,转换数据150能够利用传统的整数处理而得到操作310。在处理之前,转换数据150被从来自反向变换120的高精度输出130中减去,以形成高精度差分1120。高精度差分1120通过操作步骤1130-它接受高精度差分数据作为输入,以产生新的操作高精度差分1140。该操作高精度差分1140被输入到正向变换步骤1150-它接受作为输入的高精度数。变换的高精度差分1160得到量化1210,以产生变换编码误差数据1220。变换编码误差数据1220类似地具有很多零,因为高精度差分数据是小的值(对舍入为0.5或更小且对截断来说小于1.0),除了修剪已经在转换数据中出现的情况。变换编码误差数据被逆量化1230,以形成去量化变换误差数据1240。去量化的变换误差数据1240可受到操作1170,以形成操作的去量化变换误差数据1250。从正向变换410输出的取整数输入的处理转换变换数据620被加到1180操作的去量化变换误差数据1250上。这种变换域校正的处理转换变换数据1260得到量化1270,以形成变换编码数据B2 1280。
根据所希望的系统实施,正向变换操作1150和410可采用与反向变换操作120不同的变换。例如,反向变换120可采用逆DCT变换,而正向变换1150和410可采用付立叶变换。如果正向变换操作1150是反向变换操作120的反向变换;正向变换操作410是反向变换操作120的反向变换;逆量化步骤220与量化步骤1270中使用的量化值相同;且,操作310、1130和1170未作什么,则所产生的变换编码数据B2 1280与输入逆量化步骤220的原来的变换编码数据B210相同。应该注意的是,正向变换410,当采用不同的正向变换时,将产生不同的变换编码数据B2 1280。类似地,在逆量化220和量化1270中采用不同的量化值也产生不同的变换编码数据1280。这种方法因而允许变换与量化矩阵之间的转换,而没有来自舍入和修剪的误差出现在至量化1270的输入1260中。
应该注意的是,量化矩阵之间的转换可以是用于粗或细量化的。例如,当从JPEG国际标准向MPEG国际标准转换数据时,量化可能是粗的。在编辑过程中需要更高质量的JPEG独立图象。较粗的、更大压缩的MPEG图象被用于实现所希望的带宽目的。另一方面,在显著的手动编辑之后对JPEG图象的再压缩中,量化可能较细,以保存这些改变。
步骤1210和1230中的术语“量化”之后的星号,是提醒对这些步骤的量化是最后量化步骤1270的量化的一半是有利的。在此情况下,去量化变换误差数据具有足够的精度来校正转换数据中的实域误差。
在一个替换实施例中,转换数据150的操作310和整数操作转换数据330的正向变换410是与减法110平行进行的,以产生高精度差分和高精度差分的正向变换1150。在此实施例中,量化1210和逆量化1230步骤被消除了。变换误差数据1160被直接输入操作步骤1170。象在图11(a)中一样。
形成变换编码误差数据的变换误差数据的量化,当操作是依次进行且只有有限的可用存储器来存储整数转换数据和高精度差分数据时,是非常有用的。这种变换编码误差数据是高度可压缩的。由于大多数的系数是零,64位字能够有效地以1位的标记来存储零的位置和非零的系数。根据选定的量化,非零的系数能够作为字节或两字节整数来跟随这种64位字。
图12(b)显示了变换编码数据的处理中用于实域误差的变换域校正的的系统1205。这种系统是通过扩展图11(b)中描述的系统1105而形成的。在此实施例中,变换编码数据B 215是形成变换数据115的逆量化器225。如在图11(b)中,转换数据155能够利用传统的整数处理而得到操作1179。在进一步的处理或操作之前,转换数据155被从来自反向变换器125的高精度输出135中减去,以形成高精度差分1125。这种高精度差分1125被送到操作器1135-它接受高精度数据作为输入,以产生新的操作的高精度差分1145。这种操作高精度差分被输入到正向变换器1155-它接受高精度数作为输入。变换的高精度差分1159得到量化1215,以产生变换编码误差数据1225。变换编码误差数据1225可能具有很多零,因为高精度差分数据是小的值(对舍入为0.5或更小且对截断为1.0或更小),只是转换数据中发生了修剪的地方除外。该变换编码误差数据受到逆量化1235,以形成去量化的变换误差数据1245。去量化的变换误差数据1245可得到操作1163,以形成操作的去量化的变换误差数据1255。从以整数作为输入的正向变换器1195输出的处理的转换变换数据1199被加到1171去量化的变换误差数据1255上。变换域校正的处理转换变换数据1265得到量化1275,以形成变换编码数据B2 1285。
根据所希望的系统实施,正向变换器1195可采用与反向变换器125不同的变换。例如,反向变换器125可采用逆DCT变换,而正向变换器1195可实施付立叶变换。如果正向变换器1195执行反向变换器125的反向变换;正向变换器1155是反向变换器125的反向变换;逆量化器225与量化器1275中使用的量化值相同;且,操作器1179、1135和1163未作什么,则所产生的变换编码数据B2 1285与输入逆量化器225的原来的变换编码数据B215相同。应该注意的是,正向变换器1195,当采用不同的正向变换时,将产生不同的变换编码数据B2。类似地,在逆量化器225和量化器1275中采用不同的量化值也产生不同的变换编码数据1285。这种方法因而允许变换与量化矩阵之间的转换,而没有来自舍入和修剪的误差出现在至量化器1275的输入1265中。
步骤1215和1235中的术语“量化器”之后的星号,是提醒对这些步骤的量化是最后量化器1275的量化的一半是有利的。在此情况下,去量化变换误差数据具有足够的精度来校正转换数据中的实域误差。
在一个替换实施例中,转换数据155的操作器1179和整数操作转换数据1191的正向变换器1195是与操作器1135和高精度差分的正向变换器1155平行进行的。在此实施例中,量化器1215和逆量化器1235被消除了。变换误差数据1159被直接输入操作器1163。象在图11(b)中一样。
形成变换编码误差数据的变换误差数据的量化,当操作是依次进行且只有有限的可用存储器来存储整数转换数据和高精度差分数据时,是非常有用的。
图13(a)中显示了根据本发明的编码数据1300的处理中的一种实域误差的变换域校正方法的一个示例性实施例。选定的实施例是用于编码图象的实域操作的一种方法,这种编码是采用诸如JPEG编码图象的DCT的变换编码。编码数据C 710通过无损失熵译码步骤720而得到译码,以产生量化的DCT系数。这些系数得到去量化730并被送到逆DCT740以产生高精度实域数据1310。整数转换器和修剪器750对高精度数据1310进行操作,以产生整数的实域数据754。在某些情况下,整数值数据可选地被送到显示器758。
操作步骤762对实域转换数据754进行操作,并接受整数数据作为输入并产生整数数据或高精度数据作为输出。如果操作得到的数据不是整数,它们在可选地被送到接受整数值数据772的显示器758之前被转换成整数并得到修剪678。
减去步骤1314从高精度的值1310减去转换的整数数据754,以形成高精度差分1318。该高精度差分1318被传送到一个操作步骤1322-它接受高精度差分数据作为输入,以产生新的操作的高精度差分1326。这种操作的高精度差分1326被输入到一个正向变换步骤1330-它接受高精度数作为输入。变换的高精度差分1334被量化1338,以产生变换编码误差数据1342。无损失熵编码步骤1346压缩变换编码误差数据1342。随后编码的误差数据1350得到有效的存储、保存、或发送。
无损失熵译码步骤1354对编码误差数据1350进行译码,并输出量化的变换系数。这些系数被去量化(即逆量化)1358,以产生去量化变换误差数据1362。去量化的变换误差数据1362可受到操作1368,以形成操作的去量化变换误差数据1372。
处理的转换数据772被输入到接受整数数据作为输入的正向DCT776。来自正向DCT 776的输出值被加到1376操作的去量化变换误差数据1372上,从而形成变换域校正向变换数据1380。这种变换域校正向变换数据1380得到量化780,以产生新的整数DCT系数1384。这些系数1384通过无损失熵编码步骤788而得到编码,以产生新的编码数据C2 1388。
应该注意的是,如果正向和逆DCT和操作系统足够准确,因而它们引入的误差比量化步骤的一半小,如上述公式(3)描述的,在DCT系数中完全不会引入误差。
图13(b)中显示了编码数据的处理中的实域误差的变换域校正系统1305的一个本发明的示例性实施例。编码的图象数据C 715受到无损失熵译码器725的译码,以产生量化的DCT系数。这些系数被送到一个逆量化器735且随后通过一个逆DCT器745,以产生实域数据1315。整数转换器和修剪器755对高精度数据1315进行操作,以产生整数实域数据759。在某些情况下,整数值数据可选地被送到一个显示器763。减法器1319从转换的整数数据759减去高精度的值1315,从而形成高精度差分1323。
操作器767对实域转换数据759进行操作,从而接受整数数据作为输入并产生整数数据或高精度数据作为输出。如果操作的数据不是整数,它们在可选地被送到接受整数值输入777的显示器763之前被转换成整数并得到修剪773。
减法器1319从高精度的值1315减去转换的整数数据759,从而形成高精度差分1323。该高精度差分1323被传送到一个操作器1327-它接受高精度差分作为输入,以产生新的操作的高精度差分1331。该操作的高精度差分1331被输入正向DCT器1335-它接受高精度数作为输入。变换的高精度差分1339得到量化1343,以产生变换编码误差数据1347。无损失熵的编码器1351压缩变换编码误差数据1347。随后编码的误差数据1355得到有效存储、保存、或发送。
无损失熵译码器1359对编码的误差数据1355进行译码并输出量化的变换系数。这些系数被去量化(即逆量化)1363,以产生去量化的变换误差数据1367。去量化的变换误差数据1367可受到操作1373,以形成操作的去量化的变换误差数据1377。
处理的转换数据777被输入正向DCT器781-它接受整数数据作为输入。从正向DCT器781输出的值和操作的去量化的变换误差数据1377被输入到加法器1381。从加法器1381输出的变换域校正的变换数据1385被输入量化器785,以产生新的整数DCT系数1389。这些系数1389被输入无损失熵编码器793,后者产生新的编码数据C2 1393。
在本发明的一个替换实施例中,实施了一种方法,用于在多个步骤对具有实域误差的变换编码数据进行实域操作,以正向变换和量化步骤和逆量化步骤和反向变换步骤来交替进行转换数据的操作和变换域中的误差的校正。回到图10,其中整数输出被传送到各个正向变换950,从图11(a)中产生高精度误差输入的步骤至使用该高精度输入并随后把变换的误差智能地加到变换的转换数据中的正向变换步骤,除去了转换为整数和修剪产生的误差。图12(a)显示了这种多产生系统的一个循环。图13(a)显示了这种多重产生方法的另一实施例的一个循环。
本发明的另一个替换实施例实施了一种系统,该系统用于借助多个步骤的变换域校正来进行变换编码数据的实域操作,把减法器、操作器、和加法器与正向变换器和量化器和逆量化和反向变换相交替。参见图12(b),其中显示了一种多重产生系统的一个循环。
一般地,各个操作可对数据进行另一种操作。例如对于数字作品室编辑,第一个操作可能是图象的彩色校正。第二个操作可能是利用彩色图象组合方法来把彩色校正过的图象与背景合并。第三个操作可能是把高亮加到图象上。第四个操作可能是把图象的宽高比从16∶9变成电视的宽高比4∶3。对于图象的打印,第一个操作可能是把图象转动90度,以使图象向着打印方向。第二个操作可能是把几个独立的图象合并成一个复合图象。第三个操作可能是进行颜色转换。对于编码的图象数据输出装置可以是显示器或电视机。对于编码的音频数据输出装置可以是播放机和/或录音机。
产生之间的操作的例子包括合并两或更多的变换编码数据组。对于变换编码图象数据组,合并可能是需要的,因为需要把多个小的图象汇集成一个较大的图象。广告册通常由多个单个的图象组成。今天的最高级的激光打印机一次能够打印一页以上。在此情况下,图象通常不重叠,而可能没有同样的量化,而相对于基准网格进行定位,诸如用于JPEG DCT或取向的8×8块结构。通过在实域组成最后的图象,可对各个子图象进行标准处理。随后复合的图象可得到再压缩,以在飞击式打印中作最终的解压缩。
类似地,数字编辑可包括要求依次进行的若干独立操作的特殊效果。数字电影经常采用淡入/淡出特殊效果以进行两个关键场面之间的平稳切换。这种特殊效果可跟随对各个场面的独立的处理。因此,解压缩和再压缩的多次产生是编辑中经常需要的,以产生特殊效果的复合。
彩色图象组合涉及两个独立的视频数据流。在一个视频流中背景已经被获得。在另一视频流中前景(经常是由涉及演员的动作组成)被印在空白的单色(诸如深蓝或黑)背景上。随后,前景图象中的空白象素被背景视频中的象素所代替。由于这些象素要在单个象素级上混频,这些图象需要在实域中结合。转换为整数和修剪所引入的误差对于这种数字作品室应用是非常不希望的。这些误差通过实施本发明而得到减少或消除。
使用本发明的另一个应用例子是在采用有时高过100兆象素的数字图象的高端数字图形市场。光彩的广告册和展台上的大照片只是这种高质量数字图象技术应用的两个例子。高质量损失JPEG压缩有时被用于限制发送和存储成本。当这样的图象被解压缩和再压缩以进行诸如加高亮光、校正颜色、添加或改变内容和图象标头的改变和修正时,不希望的误差是一个问题,这种问题可利用本发明的原理而得到解决。
本发明的概念的上述例子是图象和视频变换数据中通常可见的。因特网的广泛使用已经显示了JPEG和MPEG压缩图象数据的价值。当JPEG图象将要被打印时,需要进行诸如标度改变或取向改变的修正。另外,在再压缩之后至另一色空间的变换将使准备好打印的版本能够得到存储。采用本发明克服了舍入和修剪所传播的误差的问题。
音频编码数据也需要得到解压缩、与特殊声音效果混频、与其他音频数据合并、在实域中以较少的误差进行编辑和处理。当数据被存储在变换域中时,类似的实施也对其他工业、商业、和军事应用中采用数据变换和反向变换的数字处理所进行。这些因而是其中本发明具有高度利用价值的情况的例子。
进一步地,应该注意的是,本发明还可被作为设备或计算机产品而提供。例如,它可以作为包括其中体现有使计算机实施本发明的方法的计算机可读取程序码装置的制造品,而得到实施。
还应该注意的是,虽然本发明的描述是对于具体的步骤设置而进行的,本发明的原理和概念也适用于和可应用于其他的情况。本领域的技术人员应该理解的是,在不脱离本发明的精神和范围的前提下,可以对所公布的实施例进行其他的修正。
权利要求
1.一种用于对代表一种现象的变换数据进行数字处理的方法,该方法包括对所述变换数据进行至实域的反向变换,从而形成高精度数;把所述高精度数转换成整数并把该整数修剪到一个允许范围,从而形成初始转换数据;从所述高精度数减去所述转换数据,从而形成高精度差分;对所述初始转换数据进行正向变换,从而形成变换的转换数据;对所述高精度差分进行正向变换,从而形成变换差分;以及把所述变换的差分加到所述变换的转换数据上,从而形成校正的变换数据。
2.根据权利要求1的方法,其中对于所述正向变换所述初始转换数据的所述正向变换的反向变换不同于所述反向变换。
3.根据权利要求1的方法,其中所述高精度数是浮点数。
4.根据权利要求1的方法,其中所述高精度数是包括一个小数部分的固定精度的数。
5.根据权利要求1的方法,进一步包括对变换编码数据进行逆量化以形成变换数据。
6.根据权利要求5的方法,进一步包括对所述校正的变换数据进行量化以形成量化数据
7.根据权利要求6的方法,进一步包括对编码数据进行熵译码,以形成变换编码数据;以及对量化的数据进行熵编码,从而形成编码数据。
8.根据权利要求6的方法,其中所述逆量化步骤和所述量化步骤采用了至少一个不同的量化值。
9.用于对代表一种现象的变换数据进行数字处理的一种方法,该方法包括对所述变换数据进行至实域的反向变换,从而形成高精度数;把所述高精度数转换成整数并把该整数修剪到一个允许范围,从而形成初始转换数据;从所述高精度数减去所述转换数据,从而形成高精度差分;对所述初始转换数据进行操作,以产生一种效果并形成经过处理的转换数据;对所述初始转换数据进行正向变换,从而形成变换的转换数据;对所述高精度差分进行正向变换,从而形成变换的差分;以及把所述变换的差分加到所述变换的转换数据上,从而形成校正的变换数据。
10.根据权利要求9的方法,进一步包括对变换编码数据进行逆量化,以形成变换数据。
11.根据权利要求10的方法,进一步包括对所述校正的变换数据进行量化以形成量化数据。
12.根据权利要求11的方法,进一步包括对编码数据进行熵译码,以形成变换编码数据;以及对量化数据进行熵编码以形成编码数据。
13.根据权利要求9的方法,其中所述效果是图象数据的颜色校正。
14.根据权利要求12的方法,其中所述编码数据是编码音频数据
15.根据权利要求12的方法,其中所述编码数据是编码图象数据。
16.根据权利要求12的方法,其中所述编码数据是编码视频数据。
17.根据权利要求15的方法,其中所述编码图象数据是按照JPEG静止图象国际标准格式的。
18.根据权利要求16的方法,其中所述编码图象数据是按照MPEG运动视频国际标准格式的。
19.根据权利要求12的方法,所述方法的步骤进一步包括把所述操作步骤与所述进行正向变换、进行量化、熵编码、熵译码、进行逆量化、和进行反向变换的步骤交替进行所希望的次数。
20.根据权利要求19的方法,其中所述编码数据是压缩数据,且交替的各个步骤实施了一个压缩/解压缩循环。
21.用于对代表现象的变换数据进行数字处理的一种方法,该方法包括对所述变换数据进行至实域的反向变换,从而形成高精度数;把所述高精度数转换成整数并把该整数修剪至一个允许范围,从而形成初始转换数据;从所述高精度数减去初始转换数据,从而形成初始高精度差分;对所述初始转换数据进行操作,以产生一种第一效果,从而形成经过处理的转换数据;对所述经过处理的转换数据进行正向变换,从而形成变换的转换数据;对所述初始高精度差分进行操作,以产生一种第二效果,并形成处理的高精度差分;正向变换所述经过处理的高精度差分,以形成变换差分;以及把所述变换的差分加到所述变换的转换数据上,从而形成校正的变换数据。
22.根据权利要求21的方法,其中所述第一种效果是两个数据组的彩色图象组合合并。
23.根据权利要求22的方法,其中所述第二效果是按照两个数据组的彩色图象组合合并的两个初始高精度差分的合并。
24.根据权利要求21的方法,其中所述第一种效果是图象数据的颜色校正。
25.根据权利要求21的方法,其中所述第一种效果是图象的90度转动且所述第二种效果是所述高精度差分的90度转动。
26.根据权利要求21的方法,其中所述高精度数是浮点数。
27.根据权利要求21的方法,进一步包括对变换编码数据进行逆量化,以形成变换数据。
28.根据权利要求27的方法,进一步包括进行所述校正的变换数据的量化以形成量化数据。
29.根据权利要求28的方法,进一步包括对编码数据进行熵译码以形成变换编码数据;对量化数据进行熵编码以形成编码数据。
30.根据权利要求29的方法,其中所述编码数据是JPEG静止图象国际标准格式的。
31.根据权利要求29的方法,其中所述编码视频数据是MPEG运动视频国际标准格式的。
32.根据权利要求21的方法,其中处理的高精度差分与初始的高精度差分相同。
33.用于对代表现象的的变换数据进行数字处理的一种方法,该方法包括对所述变换数据进行至实域的反向变换,从而形成高精度数;把所述高精度数转换成整数并把该整数修剪至一个允许范围,从而形成初始转换数据;从所述高精度数减去初始转换数据,从而形成高精度差分;对所述高精度差分进行正向变换,以形成初始变换差分;对所述初始转换数据进行操作,以产生一种第一效果,从而形成经过处理的转换数据;对所述经过处理的转换数据进行正向变换,从而形成变换的转换数据;对所述初始高精度差分进行操作,以产生一种第二效果,从而形成处理的高精度差分;把所述处理的变换差分加到所述变换的转换数据上,从而形成校正的变换数据。
34.根据权利要求33的方法,其中所述高精度数是浮点数。
35.根据权利要求33的方法,进一步包括对变换编码数据进行逆量化以形成变换数据。
36.根据权利要求35的方法,进一步包括对所述校正的变换数据进行量化,以形成量化数据。
37.根据权利要求36的方法,进一步包括对编码数据进行熵译码以形成变换编码数据;对量化数据进行熵编码以形成编码数据。
38.根据权利要求37的方法,其中所述编码视频数据是按照MPEG运动视频国际标准格式的。
39.根据权利要求36的方法,其中操作所述变换差分的步骤包括进行所述变换差分的量化以形成量化的差分;对所述量化的差分进行逆量化以形成去量化的差分;对所述去量化的差分进行操作以产生一种第二效果,从而形成处理的变换差分。
40.根据权利要求39的方法,进一步包括对量化的差分进行熵编码以形成编码差分的步骤。
41.根据权利要求40的方法,进一步包括对编码差分进行熵译码以再形成量化差分的步骤。
42.根据权利要求39的方法,其中进行量化的步骤和进行逆量化的步骤采用了第一个量的量化值—它等于用于形成所述校正的变换数据的量化的步骤中使用的量化值的一个第二个量的一半。
43.根据权利要求36的方法,其中操作所述变换差分的步骤进一步包括对所述变换差分进行操作以产生一种第二效果并形成操作的变换差分;进行操作的变换差分的量化以形成量化差分;以及进行所述量化差分的逆量化以形成处理的变换差分。
44.根据权利要求43的一种方法,进一步包括对量化差分进行熵编码以形成编码差分的步骤。
45.根据权利要求44的方法,进一步包括对编码差分进行熵译码以再形成量化差分的步骤。
46.根据权利要求43的方法,其中进行操作的变换差分的量化的步骤和进行所述量化差分的逆量化的步骤采用了在进行所述校正的变换数据的量化的步骤中采用的量化值的一半。
47.根据权利要求36的方法,其中操作所述变换差分的步骤进一步包括对所述变换差分进行操作以产生一种第二效果并形成操作的变换差分;对操作的变换差分进行量化,以形成量化差分;进行所述量化差分的逆量化,以形成去量化差分;以及对所述去量化差分进行操作以产生一种第三效果并形成处理的变换差分。
48.根据权利要求47的方法,进一步包括对量化差分进行熵编码以形成编码差分的步骤。
49.根据权利要求48的方法,进一步包括对编码差分进行熵译码以再形成量化差分的步骤。
50.根据权利要求47的方法,其中进行操作的变换差分的量化的步骤和进行量化差分的逆量化的步骤采用了在进行校正的变换数据的量化的步骤中采用的量化值的一半量的量化值。
51.用于对代表一种现象的变换数据进行数字处理的一种系统,该系统包括一种反向变换器,用于利用高精度数把所述变换数据反向变换到实域;一种用于把所述高精度数转换成整数的转换器和用于把该整数修剪到一个允许范围的修剪,以形成初始转换数据;一个减法器,用于从所述高精度数减去所述初始转换数据以形成高精度差分;一个正向变换器,用于对所述初始转换数据进行正向变换以形成变换的转换数据;一种正向变换器,用于对所述高精度差分进行正向变换,以形成变换差分;以及一种加法器,用于把所述变换差分加到所述变换编码数据上以形成校正的变换数据。
52.根据权利要求51的系统,其中正向变换器中采用的把所述初始转换数据进行正向变换的第一变换类型不同于反向变换中采用的第二种变换类型。
53.根据权利要求51的系统,进一步包括一种逆量化器,用于对变换编码数据进行逆量化以形成变换数据。
54.根据权利要求53的系统,进一步包括一种量化器,用于对所述校正的变换数据进行量化以形成量化数据。
55.根据权利要求54的系统,其中所述逆量化器和所述量化器采用了至少一个不同的量化值。
56.用于对代表一种现象的变换数据进行数字处理的一种系统,该系统包括一种反向变换器,用于利用高精度数把所述变换数据反向变换到实域;一种用于把所述高精度数转换成整数的转换器和用于把该整数修剪到一个允许范围的修剪,以形成初始转换数据;一个减法器,用于从所述高精度数减去所述初始转换数据以形成高精度差分;一种操作器,用于操作所述初始转换数据以产生一种效果并形成经过处理的转换数据;一种正向变换器,用于对所述经过处理的转换数据进行正向变换以形成变换的转换数据;一种正向变换器,用于对所述高精度差分进行正向变换,以形成变换差分;以及一种加法器,用于把所述变换差分加到所述变换编码数据上以形成校正的变换数据。
57.根据权利要求56的一种系统,进一步包括一种逆量化器,用于对变换编码数据进行逆量化以形成变换数据。
58.根据权利要求57的系统,进一步包括用于对所述校正的变换数据进行量化以形成量化数据的一种量化器。
59.根据权利要求58的系统,进一步包括用于对编码数据进行译码以形成变换编码数据的熵译码器。
60.根据权利要求59的系统,进一步包括用于对量化数据进行编码以形成编码数据的熵编码器。
61.用于对代表一种现象的变换数据进行数字处理的一种系统,该系统包括反向变换器,用于利用高精度数把所述变换数据反向变换到实域;一种转换器,用于把所述高精度数转换成整数并修剪器该整数到一个允许范围,从而形成初始转换数据;一个减法器,用于从所述高精度数减去初始转换数据,从而形成高精度差分;一个操作器,用于对所述初始转换数据进行操作以产生第一种效果,从而形成经过处理的转换数据;一种正向变换器,用于对所述经过处理的转换数据进行正向变换,从而形成变换的转换数据;一种操作器,用于对所述高精度差分进行操作以产生一种第二效果并形成经过处理的高精度差分;一个正向变换,用于对所述经过处理的高精度差分进行正向变换,以形成变换差分;以及一个加法器,用于把所述变换差分加到所述变换的转换数据上从而形成校正的变换数据。
62.根据权利要求61的系统,进一步包括用于对变换的转换数据进行逆量化以形成变换数据的逆量化器。
63.根据权利要求62的系统,进一步包括用于对所述校正的变换数据进行量化以形成量化数据的量化器。
64.用于对代表一种现象的变换数据进行数字处理的一种系统,该系统包括一种反向变换器,用于利用高精度数把所述变换数据反向变换到实域;一种用于把所述高精度数转换成整数的转换器和用于把该整数修剪到一个允许范围的修剪,以形成初始转换数据;一个减法器,用于从所述高精度数减去所述初始转换数据以形成高精度差分;一个第一正向变换器,用于对所述高精度差分进行正向变换以形成变换差分;第一操作器,用于操作所述初始转换数据以产生一种第一效果并形成经过处理的转换数据;第二正向变换器,用于对所述经过处理的转换数据进行正向变换以形成变换的转换数据;第二操作器,用于对所述变换差分进行操作以产生第二效果,从而形成处理的变换差分;以及一种加法器,用于把所述变换差分加到所述变换编码数据上以形成校正的变换数据。
65.根据权利要求64的系统,进一步包括用于对变换编码数据进行逆量化以形成变换数据的第一逆量化器。
66.根据权利要求65的系统,进一步包括用于对所述校正的变换数据进行量化以形成量化数据的第一量化器。
67.根据权利要求66的系统,其中用于操作所述变换差分的操作器进一步包括用于进行所述变换差分的量化以形成量化差分的第二量化器;用于进行所述量化差分的逆量化以形成量化差分的第二逆量化器;以及用于对所述去量化差分进行操作以产生第二效果从而形成处理的变换差分的第三操作器。
68.根据权利要求67的系统,进一步包括用于对量化差分进行编码以形成编码差分熵编码器。
69.根据权利要求68的系统,进一步包括用于对编码差分进行熵译码以再形成量化差分的熵译码器。
70.根据权利要求67的系统,其中第二量化器和第二逆量化器均采用了第一量化器中使用的量化值的量的一半。
71.根据权利要求66的系统,其中第二操作器包括一种差分操作器,用于对所述变换差分进行操作以产生第二效果并形成操作的变换差分;差分量化器,用于对所述操作的变换差分进行量化从而形成量化差分;以及差分逆量化器,用于对所述量化差分进行逆量化从而形成处理的变换差分。
72.根据权利要求71的系统,进一步包括用于对量化差分进行编码以形成编码差分的熵编码器。
73.根据权利要求72的系统,进一步包括用于对编码差分进行译码以形成量化差分的熵译码器。
74.根据权利要求71的系统,其中第二操作器包括一个替换操作器,用于对所述去量化差分进行操作以产生第三效果并形成处理的变换差分。
75.一种制造产品,它包括具有体现在其中的用于对代表一种现象的变换数据进行数字处理的计算机可读取程序码装置的计算机可用介质,所述制造品中的该计算机可读取程序码装置包括用于使计算实现以下操作的计算机可读取程序码装置把所述变换数据反向变换到实域从而形成高精度数;把所述高精度数转换成整数并把该整数修剪到允许范围从而形成初始转换数据;从所述高精度数减去所述初始转换数据以形成高精度差分;正向变换所述初始转换数据以形成变换的转换数据;对所述高精度差分进行正向变换以形成变换差分;以及把所述变换差分加到所述变换的转换数据上从而形成校正的变换数据。
76.根据权利要求75的制造品,其中所述制造品中的计算机可读取程序码装置进一步包括用于使计算机执行对变换编码数据的逆量化以形成变换数据的计算机可读取程序码装置。
77.根据权利要求76的制造品,其中所述制造品中的计算机可读取程序码装置进一步包括用于使计算机执行所述校正的变换数据的量化以形成量化数据的计算机可读取程序码装置。
78.根据权利要求77的制造品,其中所述制造品中的计算机可读取程序码装置使计算机执行以下操作对编码数据进行熵译码以形成变换编码数据;以及对量化数据进行熵编码以形成编码数据。
79.一种计算机程序产品,它包括具有体现在其中的用于对实域中代表一种现象的变换数据进行数字处理的计算机可读取程序码装置的计算机可用介质,所述制造品中的该计算机可读取程序码装置包括用于使计算实现以下操作的计算机可读取程序码装置把所述变换数据反向变换到实域从而形成高精度数;把所述高精度数转换成整数并把该整数修剪到允许范围从而形成初始转换数据;从所述高精度数减去所述初始转换数据以形成高精度差分;对所述初始转换数据进行操作以产生一种效果并形成经过处理的转换数据;正向变换所述初始转换数据以形成变换的转换数据;对所述高精度差分进行正向变换以形成变换差分;以及把所述变换差分加到所述变换的转换数据上从而形成校正的变换数据。
80.根据权利要求79的计算机程序产品,其中所述计算机程序产品中的计算机可读取程序码装置进一步包括用于使计算机执行对变换编码数据的逆量化以形成变换数据。
81.根据权利要求80的计算机程序产品,其中所述计算机程序产品中的计算机可读取程序码装置进一步包括用于使计算机执行对所述校正的变换数据进行量化以形成量化数据。
82.可由机器读取的一种程序存储装置,它可触地体现了可由机器执行以执行对代表一种现象的变换数据进行数字处理的方法步骤的指令程序,所述方法步骤包括把所述变换数据反向变换到实域,从而形成初始高精度数;把所述初始高精度数转换到整数并把该整数修剪到一个允许范围编码从而形成初始转换数据;从所述初始高精度数减去所述初始转换数据从而形成高精度差分;对所述初始转换数据进行操作以产生第一效果从而形成经过处理的转换数据;对所述经过处理的转换数据进行正向变换从而形成变换的转换数据;对所述初始高精度差分进行操作以产生第二效果并形成经过处理的高精度差分;对所述经过处理的高精度差分进行正向变换以形成变换差分;以及把所述变换差分加到所述变换的转换数据上以形成校正的变换数据。
83.可由机器读取的一种程序存储装置,它可触地体现了可由机器执行以执行对代表一种现象的变换数据进行数字处理的方法步骤的指令程序,所述方法步骤包括把所述变换数据反向变换到实域,从而形成高精度数;把所述高精度数转换到整数并把该整数修剪到一个允许范围编码从而形成初始转换数据;从所述高精度数减去所述转换数据从而形成高精度差分;对所述初始转换数据进行操作以产生第一效果从而形成经过处理的转换数据;对所述经过处理的转换数据进行正向变换从而形成变换的转换数据;对所述高精度差分进行操作以产生第二效果并形成经过处理的高精度差分;把所述处理的变换差分加到所述变换的转换数据上以形成校正的变换数据。
84.根据权利要求83的可由机器读取的程序存储装置,所述方法步骤进一步包括进行变换的转换数据的逆量化以形成变换数据。
85.根据权利要求84的可由机器读取的程序存储装置,所述方法步骤进一步包括进行所述校正的变换数据的量化以形成量化数据。
86.根据权利要求85的可由机器读取的程序存储装置,所述方法步骤进一步包括对编码数据进行熵译码以形成变换的转换数据;以及对量化数据进行熵编码以形成编码数据。
87.根据权利要求86的可由机器读取的程序存储装置,所述方法步骤进一步包括把所述操作步骤与所述进行正向变换、进行量化、熵编码、熵译码、进行逆量化、以及进行反向变换的步骤交替地进行所希望的次数。
88.根据权利要求87的可由机器读取的程序存储装置,其中所述编码数据是压缩数据,且交替的各个步骤实施了一个压缩/解压缩循环。
全文摘要
本发明解决了数字处理中由于采用误差恶化数据而产生的问题。它提供了用于对变换处理、变换编码、以及编码数据中的实域误差的变换域校正。在变换数据的反向变换之后,高精度数被转换成整数并被修剪到一个允许范围,从而形成转换数据。高精度差分通过从反向变换的高精度输出中减去转换数据而获得。该差分被再变换回到变换域并被保存。随后,在经过处理的转换数据的再变换之后,译码差分、去量化差分、或变换差分可被用于变换域中。
文档编号H04N1/41GK1253338SQ9912342
公开日2000年5月17日 申请日期1999年11月3日 优先权日1998年11月4日
发明者琼·拉沃恩·米切尔, 马丁·詹姆斯·布莱特 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1