首页 / 专利库 / 多媒体工具与应用 / 静态图像压缩标准 / 变换数字数据的误差减少

变换数字数据的误差减少

阅读:792发布:2020-08-20

专利汇可以提供变换数字数据的误差减少专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种用于降低处理变换编码数据的误差的方法,系统和设备。其中将所述变换数据进行逆变换到实域以形成初始高 精度 数字,将所述初始高精度数字转换为整数并将整数 修剪 到允许的范围内以形成初始转换数据,从所述初始高精度数字减去所述转换数据以形成高精度差分,操作所述初始转换数据以产生一个效果并形成处理的转换数据,及将所述高精度差分加到所述处理的转换数据上以形成处理的高精度数字。,下面是变换数字数据的误差减少专利的具体信息内容。

1 用于数字地处理表示一种现象的变换数据的方法,该方法包括:将所述变换数据进行逆变换到实域以形成初始高精度数字;将所述初始高精度数字转换为整数并将整数修剪到允许的范围内以形成初始转换数据;从所述初始高精度数字减去所述转换数据以形成高精度差分;操作所述初始转换数据以产生一个效果并形成处理的转换数据;及将所述高精度差分加到所述处理的转换数据上以形成处理的高精度数字。
2 根据权利要求1所述的方法,其中所述加法步骤包括智能地进行相加。
3 根据权利要求1所述的方法,其中所述加法步骤包括只有当所述处理的转换数据处于所允许的范围内的极值处时才将大小大于1的所述高精度差分加到所述处理的转换数据上。
4 根据权利要求1所述的方法,其中该现象是一个图像。
5 根据权利要求4所述的方法,其中所述效果是两个数据组的彩色图像组合。
6 根据权利要求4所述的方法,其中所述效果是图像数据的颜色校正。
7 根据权利要求4所述的方法,其中所述效果是图像的90度旋转。
8 根据权利要求1所述的方法,其中所述初始高精度数字是包括小数部分的固定精度数字。
9 根据权利要求1所述的方法,其中执行逆变换的步骤包括使用逆离散余弦变换。
10 根据权利要求1所述的方法,其中进一步包括对所述处理的高精度数字执行正向变换以形成处理的变换数据。
11 根据权利要求10所述的方法,其中所述正向变换的逆操作不同于所述逆变换。
12 根据权利要求11所述的方法,其中所述正向变换是正向离散余弦变换,并且所述逆变换是逆离散子波变换。
13 根据权利要求1所述的方法,进一步包括对变换编码数据进行逆量化以形成变换数据。
14 根据权利要求10所述的方法,进一步包括:对变换编码数据进行逆量化以形成变换数据;对所述处理的变换数据进行量化以形成处理的量化数据。
15 根据权利要求14所述的方法,进一步包括:熵译码编码的数据以形成变换编码数据;及熵编码处理的量化数据。
16 根据权利要求15所述的方法,其中所述编码数据是编码音频数据。
17 根据权利要求15所述的方法,其中所述编码数据是编码图像数据。
18 根据权利要求15所述的方法,其中所述编码数据是编码视频数据。
19 根据权利要求17所述的方法,其中所述编码图像数据是JPEG静态图像国际标准格式。
20 根据权利要求18所述的方法,其中所述编码视频数据是MPEG动态图像国际标准格式。
21 用于数字地处理表示一种现象的变换数据的方法,该方法包括:将所述变换数据进行逆变换到实域以形成初始高精度数字;将所述初始高精度数字转换为整数并将整数修剪到允许的范围内以形成初始转换数据;从所述初始高精度数字减去所述初始转换数据以形成高精度差分;操作所述初始转换数据以产生一个第一效果以形成处理的转换数据;及操作所述高精度差分以产生一个第二效果以形成处理的高精度差分;将所述处理的高精度差分加到所述处理的转换数据上以形成处理的高精度数字。
22 根据权利要求21所述的方法,其中所述加法步骤包括只有当所述处理的转换数据处于所允许的范围内的极值处时才将大小大于1的所述高精度差分加到所述处理的转换数据上。
23 根据权利要求21所述的方法,其中所述第一效果是两个数据组的彩色图像组合。
24 根据权利要求23所述的方法,其中所述第二效果是根据两个数据组的彩色图像组合合并两个高精度差分。
25 根据权利要求21所述的方法,其中所述第一效果是图像数据的颜色校正。
26 根据权利要求21所述的方法,其中所述第一效果是图像的90度旋转,所述第二效果是所述高精度差分的90度旋转。
27 根据权利要求21所述的方法,其中所述高精度数字是浮点数字。
28 根据权利要求21所述的方法,其中执行逆变换的步骤包括使用逆离散子波变换。
29 根据权利要求21所述的方法,其中进一步包括对所述处理的高精度数字执行正向变换以形成处理的变换数据。
30 根据权利要求29所述的方法,其中所述正向变换的逆操作不同于所述逆变换。
31 根据权利要求30所述的方法,其中所述正向变换是正向离散余弦变换,并且所述逆变换是逆离散子波变换。
32 根据权利要求21所述的方法,进一步包括对变换编码数据进行逆量化以形成变换数据。
33 根据权利要求29所述的方法,进一步包括:对变换编码数据进行逆量化以形成变换数据;对所述处理的变换数据进行量化以形成处理的量化数据。
34 根据权利要求33所述的方法,进一步包括:熵译码编码的数据以形成变换编码数据;及熵编码处理的量化数据。
35 根据权利要求34所述的方法,其中所述编码数据是编码视频数据。
36 根据权利要求34所述的方法,其中所述编码图像数据是JPEG静态图像国际标准格式。
37 根据权利要求35所述的方法,其中所述编码视频数据是MPEG动态图像国际标准格式。
38 用于数字地处理表示一种现象的变换数据的方法,该方法包括:将所述变换数据进行逆变换到实域以形成初始高精度数字;将所述初始高精度数字转换为整数并将整数修剪到允许的范围内以形成初始转换数据;操作所述初始转换数据以产生一个效果并形成处理的转换数据;及在所述高精度数字和所述处理的转换数据之间进行选择,以形成处理的高精度数字。
39 根据权利要求38所述的方法,其中所述选择步骤包括,如果处理的转换数据不同于由所述高精度数字形成的转换数据,则选择所述处理的转换数据。
40 根据权利要求38所述的方法,其中该现象是一个图像。
41 根据权利要求38所述的方法,其中所述初始高精度数字是浮点数字。
42 根据权利要求38所述的方法,其中执行逆变换的步骤包括使用逆离散付立叶变换。
43 根据权利要求38所述的方法,其中进一步包括对所述处理的高精度数字执行正向变换以形成处理的变换数据。
44 根据权利要求43所述的方法,进一步包括对变换编码数据进行逆量化以形成变换数据。
45 根据权利要求44所述的方法,进一步包括:对所述处理的变换数据进行量化以形成处理的量化数据。
46 根据权利要求45所述的方法,进一步包括:熵译码编码的数据以形成变换编码数据;及熵编码处理的量化数据。
47 根据权利要求46所述的方法,其中该现象是用JPEG标准格式编码的图像数据以形成编码数据。
48 根据权利要求46所述的方法,其中所述编码数据是编码音频数据。
49 根据权利要求46所述的方法,其中所述编码数据是编码图像数据。
50 根据权利要求46所述的方法,其中所述编码数据是编码视频数据。
51 根据权利要求50所述的方法,其中所述编码视频数据是MPEG动态图像国际标准格式。
52 根据权利要求38所述的方法,其中执行逆变换的步骤使用逆离散余弦变换。
53 根据权利要求34所述的方法,进一步包括操作步骤与正向变换,执行量化,熵编码,熵译码,执行逆量化,及逆变换交替执行所希望的次数。
54 根据权利要求53所述的方法,其中所述编码数据是压缩数据,执行正向变换,执行量化,熵编码,熵译码,执行逆量化,及执行逆变换的步骤实现一个压缩/解压缩循环。
55 使用权利要求53中的方法的系统,用于对编码数据进行再压缩和解压缩,以进行编辑操作。
56 用于数字地处理表示一种现象的实域中的第一级变换编码数据的系统,该系统包括:第一逆量化器,用于从所述变换编码数据生成变换数据;第一逆变换器,用于将所述变换数据进行逆变换到实域以形成高精度数字;第一转换器和修剪器,用于将所述初始高精度数字转换为整数并将整数修剪到允许的范围内以形成转换数据;第一操作器,用于操作所述转换数据以产生一个效果并形成处理的转换数据;及第一选择器,用于在所述高精度数字和所述处理的转换数据之间进行选择,形成处理的高精度数字;第一正向变换器,用于将所述处理的高精度数字进行变换以形成正向变换数据;及第一量化器,用于将所述正向变换数据进行量化以形成量化数据。
57 根据权利要求56所述的系统,其中正向变换器使用不同于由逆变换器所使用的第一变换类型的一种不同的变换类型。
58 根据权利要求56所述的系统,其中所述正向变换器产生正向离散余弦变换,并且所述逆变换器产生逆离散子波变换。
59 根据权利要求56所述的系统,其中所述逆量化器和所述量化器使用相同的量化值。
60 根据权利要求56所述的系统,其中所述逆量化器和所述量化器使用至少一个不相同的量化值。
61 根据权利要求56所述的系统,进一步包括:第一熵译码器,用于形成变换编码数据;及第一熵编码器,用于编码量化的数据。
62 用于数字地处理表示一种现象的变换数据的系统,该系统包括:逆变换器,用于使用高精度数字将所述变换数据进行逆变换到实域;转换器,用于将所述初始高精度数字转换为整数,及修剪器,用于将整数修剪到允许的范围内;减法器,用于从所述初始高精度数字减去所述转换数据以形成高精度差分;操作器,用于操作所述转换数据以产生一个效果形成处理的转换数据;及加法器,用于将所述高精度差分加到所述处理的转换数据上以形成处理的高精度数字。
63 根据权利要求62所述的系统,进一步包括一个正向变换器,用于将所述处理的高精度数字进行变换以形成正向变换数据。
64 根据权利要求63所述的系统,进一步包括一个逆量化器,用于对所述变换编码数据进行逆量化以形成变换数据。
65 根据权利要求64所述的系统,进一步包括一个量化器,用于将所述处理的变换数据进行量化以形成处理的量化数据。
66 根据权利要求65所述的系统,进一步包括:无损熵译码器,用于形成变换编码数据;及无损熵编码器,用于编码量化的数据。
67 根据权利要求56所述的系统,其中量化的数据形成另一级变换编码数据并进一步包括:另一个逆量化器,另一个逆变换器,另一个转换器和修剪器,另一个操作器,另一个选择器,另一个正向变换器,及另一个量化器,象对于第一级变换编码数据所执行的操作一样对于另一级变换编码数据执行相似的操作。
68 根据权利要求67所述的系统,其中由第一操作器所产生的效果不同于由所述另一个操作器所产生的效果。
69 根据权利要求67所述的系统,其中由相同的模执行第一逆量化器,第一逆变换器,第一转换器和修剪器,第一操作器,第一选择器,第一正向变换器,第一量化器的功能,及另一个逆量化器,另一个逆变换器,另一个转换器和修剪器,所述另一个选择器,另一个正向变换器,及另一个量化器的各个功能。
70 根据权利要求1所述的方法,进一步包括提供所述转换数据以供一个输出设备使用。
71 根据权利要求70所述的方法,其中输出设备是一个显示监视器。
72 根据权利要求70所述的方法,其中输出设备是一个光栅显示监视器。
73 根据权利要求1所述的方法,其中变换数据包括频谱分析信息。
74 一种制造产品,包括计算机可以使用的介质,该介质具有嵌入其中的计算机可读程序代码装置,用于数字地处理表示一种现象的变换数据,所述制造产品中的计算机可读程序代码包括计算机可读程序代码装置,用于使计算机产生如下效果:将所述变换数据进行逆变换到实域以形成初始高精度数字;将所述初始高精度数字转换为整数并将整数修剪到允许的范围内以形成初始转换数据;从所述初始高精度数字减去所述转换数据以形成高精度差分;操作所述初始转换数据以产生一个效果并形成处理的转换数据;及将所述高精度差分加到所述处理的转换数据上以形成处理的高精度数字。
75 根据权利要求74所述的制造产品,其中该现象是一个图像。
76 根据权利要求74所述的计算机程序产品,其中所述计算机程序产品中的计算机可读程序代码进一步包括计算机可读程序代码装置,用于使计算机产生如下效果:即对所述处理的高精度数字执行正向变换。
77 根据权利要求76所述的计算机程序产品,其中所述正向变换的逆操作不同于所述逆变换。
78 根据权利要求76所述的计算机程序产品,其中所述正向变换是正向离散余弦变换,并且所述逆变换是逆离散子波变换。
79 一种机器可以读取的程序存储设备,有形地包括机器可以执行的指令程序,以执行数字地处理表示一种现象的变换数据的方法步骤,所述方法步骤包括:将所述变换编码数据进行逆量化以形成变换数据;将所述变换数据进行逆变换到实域以形成初始高精度数字;将所述初始高精度数字转换为整数并将整数修剪到允许的范围内以形成初始转换数据;从所述初始高精度数字减去所述初始高精度数字以形成高精度差分;操作所述初始转换数据以产生一个效果并形成处理的转换数据;及将所述高精度差分加到所述处理的转换数据上以形成处理的高精度数字。
80 根据权利要求79所述的程序存储设备,所述方法步骤包括:对所述处理的高精度数字执行正向变换以形成正向变换数据;对所述正向变换数据进行量化以形成量化数据。
81 根据权利要求80所述的机器可以读取的程序存储设备,所述方法步骤进一步包括:使用熵译码对编码数据进行译码以形成变换编码数据;及使用熵编码对量化数据进行编码以形成编码数据。
82 根据权利要求81所述的机器可以读取的程序存储设备,所述方法步骤进一步包括:将所述减法,操作和增加步骤与执行正向变换,执行量化,熵编码,熵译码,执行逆量化,及执行逆变换的步骤交替执行,并执行所希望的次数。
83 根据权利要求82所述的机器可以读取的程序存储设备,其中所述编码数据是压缩数据,执行正向变换,执行量化,熵编码,熵译码,执行逆量化,及执行逆变换的步骤实现一个压缩/解压缩循环。
84 根据权利要求81所述的机器可以读取的程序存储设备,其中该现象是用JPEG标准格式所编码的图像数据。

说明书全文

变换数字数据的误差减少

发明涉及以下申请:美国申请第09/186,247号,标题为“变换数字数据的误差减少的处理”,发明人M.Bright等人;以及,美国申请第09/186,245号,标题为“实域误差的变换域校正”,发明人J.Mitchell等人;这些申请在此被作为参考文献。

本发明涉及数字数据的变换编码,更具体地说是涉及变换数据的实域处理。更具体地说,本发明涉及受到再变换的反向变换数据的误差减少的数字处理。

变换编码指的是范围很宽的一类数据编码,其中所要编码的各个数据在得到进一步处理之前借助某些数学函数而得到变换。一个数据块可以是所要编码的数据对象的一部分,也可以是整个的数据对象。该数据通常代表某种现象,例如可以是频谱分析、图象、音频修剪、视频修剪等。变换功能的选择,通常反映了所编码的现象的某些性质;例如,在音频、静止图象和运动图象编码中,可以采用付立叶变换或离散余弦变换(DCT),以把数据变换成频率项或系数,从而进行分析。如果所要编码的现象给定,通常信息都集中在少数几个频率系数中。因此,变换的数据经常能够得到比原来的数据更为经济的编码或压缩。这意味着变换编码可被用来压缩一定类型的数据,以减小存储空间或在通信线路上的传送时间。

变换编码的一个使用例子,是用于静止图象压缩的联合专家组(JPEG)国际标准,它由ITU-T Rec T.81(1992)|ISO/IEC 10918-1:1994,“信息技术-连续色调静止图象的数字压缩和编码,部分1:要求和指导”所定义。另一个例子是用于运动图象压缩的运动图象专家组(MPEG)国际标准,由ISO/IEC 11172:1993,“信息技术-用于以至约1.5Mbits/s的速率进行数字存储介质的运动图象和相关音频的编码”所定义。这种MPEG-1标准同时定义了视频压缩(标准的部分2)和音频压缩(部分3)的系统。一种更近的MPEG视频标准(MPEG-2)由ITU-T Rec H.262|ISO/IEC 13818-2:1996,“信息技术-运动图象和相关音频的类属编码-部分2:视频”所定义。一种更新的音频标准是ISO/IEC 13818-3:1996“信息技术-运动图象和相关音频的类属编码-部分3:音频”所定义。所有三种图象国际数据压缩标准都采用了对抽样的8×8块进行DCT以实现图象压缩。图象的DCT压缩在此被用来对以下给出的一般概念进行说明;一种完整的说明可见于W.B.Pennebaker和J.L.Mitchell在JPEG:静止图象数据压缩标准,VanNostrand 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)是根据本发明具有减少的误差的对变换编码后的数据进行实域操作处理的系统的实施例的方框图,然后再编码到变换域。

图14(a)是根据本发明对具有减少的误差的对变换编码后的数据进行实域操作处理的方法的实施例的方框图,其中该方法包括对高精度差分进行处理,然后再编码到变换域。

图14(b)是根据本发明具有减少的误差的对通过进行再编码到变换域后的变换编码后的数据进行实域操作处理的系统的实施例的方框图,其中该处理包括对高精度差分进行处理,然后再编码到变换域。

图15(a)是示出根据本发明用于对编码的图像数据进行实域处理的方法的实施例的方框图,从而使得减少或消除新的变换编码后的数据中所不希望的误差。

图15(b)是示出根据本发明用于对编码的图像数据进行实域处理的系统的实施例的方框图,从而使得减少或消除新的变换编码后的数据中所不希望的误差。

图16(a)是示出根据本发明用于对编码的图像数据进行实域处理的方法的实施例的方框图,从而使得减少或消除新的变换编码后的数据中所不希望的误差,其中该处理包括对高精度差分进行处理。

图16(b)是示出根据本发明用于对编码的图像数据进行实域处理的系统的实施例的方框图,从而使得减少或消除新的变换编码后的数据中所不希望的误差,其中该处理包括对高精度差分进行处理。

图17(a)是示出根据本发明对变换数据进行减少误差处理的方法的实施例的方框图,该方法包括在操作的高精度数和操作的转换的数据之间进行选择。

图17(b)是示出根据本发明对变换数据进行减少误差处理的系统的实施例的方框图,该处理包括在操作的高精度数和操作的转换的数据之间进行选择。

图18(a)是根据本发明具有减少的误差的具有减少的误差变换编码后的数据进行实域操作处理的方法的实施例的方框图,其中该方法包括在操作的高精度数和操作的转换的数据之间进行选择,然后再编码到变换域。

图18(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,以产生新的变换编码数据B1 520。重要的是认识到量化数据只在产生的误差大于量化阶段的一半的情况下才能产生:Q(λi+ε)=Q(λi)若|ε|<0.5qi(3)其中ε是在这种变换系数中产生的误差。这是由于λ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到允许范围(例如[0,255]),以在该允许范围中产生整数值的图象数据754。

如果需要在操作之前显示数据,例如当图象操作是一种交互过程,图象能够可选地被送到一个显示装置758。该图象随后得到操作762,以产生某些所希望的改变。如果操作的结果是非整数数据,则该图象数据可被转换成整数并被修剪到例如[0,255]的范围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(例如至范围[0,255]),以产生允许范围内的整数值图象数据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,以给出新的变换编码数据D1960。这种整个过程被重复几次,且在重复次数为某一数目n之后,最后的变换编码数据Dn 970得到产生。由于各个步骤中的误差,最后的数据Dn 970可能与原来数据非常不同了。

图10中显示了一种情况,它显示出由于变换编码数据的实域操作的多次产生而使这种问题显著地恶化了。除了图9所示的步骤之外,对实域数据进行了某些形式的操作310,随后是转换为整数和修剪320。在正向变换和量化之后,所产生的量化变换系数101包含了某些误差,象图5中那样。在n次产生之后,最后的变换量化系数1020可能具有相当大的不希望的误差。

现在将参考图11(a)描述处理具有降低的误差的变换数据的方法1100的实施例。变换数据‘A’110通过逆变换120以生成高精度的实域数据130,如图1(a)所示。高精度数据130被转换为整数并进行修剪(140)以生成整数实域数据(即转换数据)150。在一些情况下,选择性地将整数值数据发送到输出设备160。整数数据150进行一些形式的操作(310)。如果该操作310不产生整数输出,则操作输出340被再次转换为整数并进行修剪(320)。结果整数数据330可以被存储、发送、及/或选择性地输出给输出设备160。

由于在接受整数输入150的操作之前进行修剪和转换为整数140的步骤,结果的误差导致操作340的数据输出包括至少小的不精确性。可以通过从高精度数字130中提取(1110)转换的数据150及形成高精度的差分1120来消除这种不精确性。该差分1120可以反过来加到操作输出340上以形成操作的高精度数字1140,其中由于修剪及转换为整数所导致的误差可以被减少或消除。

在本发明的一些实施例中,加法步骤1130是作为一个智能加法部分来实现的。这些实施例认为:大小大于0.5以进位及/或1.0以舍位的高精度差分标识数据已经被修剪。这样当对应于修剪的数据的处理转换数据不再具有所允许范围内的极值时,加法步骤智能地只保持处理的转换数据。这时,智能加法部分不把高精度差分加到转换数据上。在智能加法部分的一个替换实施例中,加法步骤定义一个不影响处理的高精度数字的将来应用的允许误差值。在该替换的加法实施例中,只有大小大于预定阀值的误差被加到处理的转换数据上。有时也使用另一个替换的智能加法实现规则。所有这些可替换的具体的加法实现在这里被作为智能加法。这样对于这些实施例,只要在这里标识一个加法步骤,它就作为智能加法而实现。

上述实施例的优点在于常规的操作(即处理)不被打扰。在操作步骤之前生成高精度差分,然后在常规处理之后反过来加到处理数据上。在范围的极值处修剪步骤生成转换数据。如果处理的转换数据不在极值处,则智能加法步骤采用转换数据,而不反过来加上大小大于0.5时进行进位、大于1时进行舍位的差分。

现在将参考图11(b)描述根据本发明处理变换数据的具有降低的误差的系统的实施例1105。变换数据‘A’115通过逆变换器125以生成高精度的实域数据135,如图1(b)所示。整数转换器和修剪器145对高精度数据135进行操作以生成整数实域数据155。在一些情况下,选择性地将整数值数据发送到输出设备165。操作器1115操作实域转换数据155将整数数据作为输入并生成整数数据或高精度数据1175作为输出。该操作器1115与图3所示的操作整数310一样对数据执行相同的处理。操作之后,加法器将操作数据1175加到高精度差分1125上以形成操作高精度数字1145。如果必须将操作的实域数据通过接收整数值输入的输出设备165,则在操作确保了整数数据1195之后整数转换器和修剪器1185进行操作。

在本发明的一些实施例中,加法器1135是作为一个智能加法器来实现的。这些实施例认为:大小大于0.5以进位及/或1.0以舍位的高精度差分标识数据已经被修剪。这样当对应于修剪的数据的处理转换数据不再具有所允许范围内的极值时,加法器智能地只保持处理的转换数据。这时,智能加法器不把高精度差分加到转换数据上。在智能加法器的一个替换实施例中,定义一个不影响处理的高精度数字的将来应用的允许误差阀值。在该替换的加法实施例中,只有大小大于预定阀值的误差被加到处理的转换数据上。有时也使用另一个替换的智能加法实现规则。所有这些可替换的具体的加法器实现在这里被作为智能加法器。这样对于这些实施例,只要在这里标识使用一个加法器,它就作为智能加法器而实现。

图12(a)描述具有降低的误差的操作变换数据的方法1200的实施例。该方法通过扩展于图11(a)中所描述的方法1100来形成。在该实施例中,高精度差分1120传递给操作步骤1210,该步骤将高精度差分数据接受为输入以生成新的操作高精度差分1220。加法步骤1230使用操作高精度差分1220将其反加到来自于常规操作步骤310的输出上以形成处理的高精度输出1240。

例如,在一个实施例中,在操作步骤310对转换数据执行90度旋转,接着高精度差分也被旋转90度。如果操作步骤310例如通过彩色图像组合方法将两个数据组合并,则需要对应于操作的转换数据合并高精度差分。对于一些操作例如转换数据的颜色校正,由于差分不再对应于改变的转换数据,对应的差分数据可以被清除或清零。

图12(b)描述具有降低的误差的操作变换数据的系统1205的实施例。该系统通过修改于图11(b)中所描述的系统1105来形成。在该实施例中,高精度差分1125传递给操作器1215,它将高精度差分数据接受为输入以生成新的操作高精度差分1225。加法器1235使用操作高精度差分1225将其反加到来自于常规操作器1165的输出上以形成处理的高精度输出1245。

图13(a)描述具有降低的误差的用于处理变换编码数据的方法1300的实施例。图13(a)示出将整数变换编码数据‘B’210进行逆量化220并将输出通过一个逆变换120生成高精度实域数据130,如图2(a)和11(a)所述。使用处理高精度数据1140作为正向变换1310的输入,它接受实际值数据作为输入。正向变换1310的输出被量化1320。根据所希望的系统实施,正向变换操作1310可以使用不同于逆变换操作120中的逆变换。例如逆变换120可以使用逆DCT变换而正向变换1310可以使用付立叶变换。如果正向变换操作1310是逆变换操作120的逆操作,则结果整数变换数据‘B1’1330与原始整数变换数据‘B’210相同,该原始数据是逆量化步骤220的输入;在逆量化步骤所使用的量化值与在量化步骤1320的量化值相同;操作310什么也不做。注意在使用不同的正向变换时,正向变换1310将产生不同的整数变换数据‘B1’1330。相同地,在逆量化220和量化1320中使用不同的量化值也产生不同的整数变换数据1330。该方法允许在变换和量化矩阵之间进行转换而不会出现在正向变换1310的输入中因舍入及修剪所引起的误差。

注意量化矩阵之间的转换可以是粗略或精细的量化。例如当将数据从JPEG国际标准转换为MPEG国际标准时,量化可能是粗略的。在编辑处理期间需要质量较高的JPEG独立图像。越粗略,压缩性越好,MPEG图像用于获得所希望的带宽对象。另一方面,在大量手工编辑之后再次压缩JPEG图像时,为了保留变化可能量化地更细。

图13(b)描述具有降低的误差的用于处理变换编码数据的系统1305的实施例。图13(b)示出将整数变换编码数据‘B’215输入逆量化器225并将输出通过一个逆变换器125生成高精度实域数据135,如图2(b)和11(b)所述。使用处理高精度数据1145作为正向变换器1315的输入,它接受实际值数据作为输入。正向变换器1315的输出输出给量化器1325。根据所希望的系统实施,正向变换器1315可以使用不同于逆变换器125中的逆变换。例如逆变换器125可以使用逆DCT变换而正向变换器1315可以使用付立叶变换。如果正向变换器1315是逆变换器125的逆操作,则结果整数变换数据‘B1’1335与原始整数变换数据‘B’215相同,该原始数据是逆量化器225的输入;在逆量化器所使用的量化值与在量化器1325的量化值相同;操作器1165什么也不做。注意在使用不同的正向变换时,正向变换器1315将产生不同的整数变换数据‘B1’。相同地,在逆量化器225和量化器1325中使用不同的量化值也产生不同的整数变换数据1335。该方法允许在变换和量化矩阵之间进行转换而不会出现在正向变换1315的输入1145中因舍入及修剪所引起的误差。

图14(a)描述具有降低的误差的用于处理变换编码数据的方法1400的实施例。该方法通过扩展在图13(a)中所描述的方法1300来形成。在该实施例中,高精度差分1120传递给操作步骤1210,该步骤将高精度差分数据接受为输入以生成新的操作高精度差分1220。加法步骤1230使用操作高精度差分1220将其反加到来自于常规操作步骤310的输出上以形成处理的高精度输出1240。处理的高精度数据1240作为正向变换1310的输入,它接受实际值数据作为输入。正向变换1310的输出被量化1320以形成变换编码数据‘B2’1410。

图14(b)描述具有降低的误差的用于处理变换编码数据的系统1405的实施例。该系统通过扩展在图13(b)中所描述的系统1305来形成。在该实施例中,高精度差分1125传递给操作器1215,它将高精度差分数据接受为输入以生成新的操作高精度差分1225。加法器1235使用操作高精度差分1225将其反加到来自于常规操作器1165的输出上以形成处理的高精度输出1245。处理的高精度数据1245作为正向变换器1315的输入,它接受实际值数据作为输入。正向变换器1315的输出被传递到量化器1325以形成变换编码数据‘B2’1415。

现在将参考图15(a)描述根据本发明实域操作变换编码数据的具有降低的误差的方法的实施例1500。所选择的实施例是用于实域操作编码图像的方法,这些图像是使用DCT进行变换编码的,例如为JPEG编码图像。由无损熵译码步骤720对编码数据‘C’710进行译码以生成量化DCT系数。这些系数被进行逆量化730并通过逆DCT740以生成高精度的实域数据1510。整数转换器和修剪器750对高精度数据1510进行操作以生成整数实域数据754。在一些情况下,选择性地将整数值数据发送到显示器758。减法步骤1520从转换整数数据754减去高精度数字1510形成高精度差分1530。操作步骤762操作实域转换数据754将整数数据作为输入并生成整数数据或高精度数据1580作为输出。操作之后,加法步骤1540将操作数据1580加到高精度差分1530上以形成操作高精度数字1550。如果必须将操作的实域数据通过接收整数值输入的输出设备758或由于某种原因在操作之后生成整数值图像数据772,则在操作762之后执行转换为整数和修剪为允许范围的操作步骤768。

高精度图像数据1550作为输入传递给正向DCT1560,它接受高精度数据作为输入。来自于正向DCT1560的输出值被进行量化780以生成新的整数DCT系数。在无损熵编码步骤将这些系数编码788以生成新的编码数据‘C2’1570。如果正向和逆DCT及操作系统已足够精确从而它们所引入的误差小于量化步骤的一半,如在上述的等式(3)所描述的那样,则根本不会向DCT系数引入误差。

现在将参考图15(b)描述根据本发明实域操作变换编码数据的具有降低的误差的系统的实施例1505。所选择的实施例是用于实域操作编码图像的系统,这些图像是使用DCT进行变换编码的。由无损熵译码器725对编码数据‘C’715进行译码以生成量化DCT系数。这些系数被发送到逆量化器735并通过逆DCT745以生成高精度的实域数据1515。整数转换器和修剪器755对高精度数据1515进行操作以生成整数实域数据759。在一些情况下,选择性地将整数值数据发送到显示器763。减法器1525从转换整数数据759减去高精度数字1515形成高精度差分1535。操作器767操作实域转换数据759将整数数据作为输入并生成整数数据或高精度数据1585作为输出。操作之后,加法器1545将操作数据1585加到高精度差分1535上以形成操作高精度数字1555。如果必须将操作的实域数据通过接收整数值输入的显示器763或由于某种原因在操作之后生成整数值图像数据777,则在操作767之后整数转换器和修剪器773对整数转换数据1585进行操作。操作的高精度图像数据1555作为输入传递给正向DCT器1565,它接受高精度数据作为输入。来自于正向DCT1565的输出值被传递给量化器785以生成新的整数DCT系数。在无损熵编码器793将这些系数编码以生成新的编码数据‘C2’1575。

图16(a)描述具有降低的误差的用于处理编码数据的方法1600的实施例。该方法通过扩展在图15(a)中所描述的方法1500来形成。在该实施例中,高精度差分1530传递给操作步骤1610,该步骤将高精度差分数据接受为输入以生成新的操作高精度差分1620。加法步骤1630使用操作高精度差分1620将其反加到来自于常规操作步骤7620的输出上以形成处理的高精度输出1640。处理的高精度数据1640作为正向变换1560的输入,它接受实际值数据作为输入。正向变换1560的输出被量化780以形成变换编码数据‘B2’。变换编码数据被传递给熵编码步骤788以生成编码数据‘C3’1650。

图16(b)描述操作具有降低的误差的用于处理编码数据的系统1605的实施例。该系统通过扩展在图15(b)中所描述的系统1505来形成。在该实施例中,高精度差分1535传递给操作器1615,它将高精度差分数据接受为输入以生成新的操作高精度差分1625。加法器1635使用操作高精度差分1625将其反加到来自于常规操作器1585的输出上以形成处理的高精度输出1645。处理的高精度数据1645作为正向DCT器1565的输入,它接受实际值数据作为输入。正向变换器1565的输出被传递到量化器785,它输出变换编码数据。变换编码数据传递给熵编码器793以生成编码数据‘C3’1655。

图17(a)示出用于对变换数据执行实域操作的具有降低的误差的方法1700。在该实施例中,高精度数字130被传递给操作步骤1710,它接受高精度数字作为输入,以生成新的操作高精度数字1720。选择步骤1730在操作的高精度数字1720和常规的操作步骤310的输出340之间进行选择以形成处理高精度输出1740。

如果常规的操作步骤310对转换数据执行90度旋转,则高精度数字也需要被旋转90度。如果常规操作步骤310例如通过彩色图像组合方法将两个数据组合并,则在操作步骤1710需要对应于操作的转换数据合并高精度数字。可替换地,可以跳过操作步骤,并且选择步骤1730可以从数据组中选择与处理的转换数据最近的高精度值。如果在转换为整数和修剪步骤140没有任何高精度值转换为处理的转换数据,则处理的转换数据以高精度输出。对应一些操作例如转换数据的颜色校正,由于高精度数据不再与处理的转换数据接近,则总能选择处理转换数据。

图17(b)示出用于对变换数据执行实域操作的具有降低的误差的系统1705。在该实施例中,高精度数字1115被传递给操作器1715,它接受高精度数字作为输入,以生成新的操作高精度数字1725。选择器1735在操作的高精度数字1725和常规的操作器1165的输出之间进行选择以形成处理高精度输出1740。

图18(a)描述具有降低的误差的用于处理变换编码数据的方法1800的实施例。图18(a)示出将整数变换编码数据‘B’210进行逆量化220并将输出通过一个逆变换120生成高精度实域数据130,如图17(a)所述。使用处理高精度数据1740作为正向变换1310的输入,它接受实际值数据作为输入。正向变换1310的输出被量化1320。根据所希望的系统实施,正向变换操作1310可以使用不同于逆变换操作120中的逆变换。例如逆变换120可以使用逆DCT变换而正向变换1310可以使用付立叶变换。如果正向变换操作1310是逆变换操作120的逆操作,则结果整数变换数据‘B3’1810与原始整数变换数据‘B’210相同,该原始数据是逆量化步骤220的输入;在逆量化步骤220所使用的量化值与在量化步骤1320的量化值相同;操作310什么也不做。注意在使用不同的正向变换时,正向变换1310将产生不同的整数变换数据‘B3’1810。相同地,在逆量化220和量化1320中使用不同的量化值也产生不同的整数变换数据1810。该方法允许在变换和量化矩阵之间进行转换而不会出现在正向变换1310的输入1740中因舍入及修剪所引起的误差。

图18(b)描述具有降低的误差的用于处理变换编码数据的系统。图18(b)示出将整数变换编码数据‘B’215输入逆量化器225并将输出通过一个逆变换器125生成高精度实域数据1115,如图17(b)所述。使用处理高精度数据1145作为正向变换器1315的输入,它接受实际值数据作为输入。正向变换器1315输出给量化器1325。根据所希望的系统实施,正向变换器1315可以使用不同于逆变换器125中的逆变换。例如逆变换器125可以使用逆DCT变换而正向变换器1315可以使用付立叶变换。如果正向变换器1315是逆变换器125的逆操作,则结果整数变换数据‘B2’1815与原始整数变换数据‘B’215相同,该原始数据是逆量化器225的输入;在逆量化器所使用的量化值与在量化器1325的量化值相同;操作器1165什么也不做。注意在使用不同的正向变换时,正向变换器1315将产生不同的整数变换数据‘B1’。相同地,在逆量化器225和量化器1325中使用不同的量化值也产生不同的整数变换数据1815。该方法允许在变换和量化矩阵之间进行转换而不会出现在正向变换1315的输入1745中因舍入及修剪所引起的误差。

已经描述了本发明,图18(a)中的具体实施例用于说明在图8(c)中的舍入误差如何不会出现在正向DCT的实际输入中。在矩阵824中给出了高精度数字的矩阵。舍入后转换的数据在矩阵826中给出。选择步骤1730为每个矩阵位置选择高精度值128.5,因为129转换值是128.5的四舍五入版本。由于在高精度数字中没有四舍五入误差,因此具有正规化常量JPEG协议的正向DCT精确地返回矩阵822中的原始值。如果高精度数字与转换数据不同而在正向DCT之前将差分加到数据上则得到相同的结果。

图18(a)所例示的方法用于说明在图8(d)中的修剪误差如何不会出现在正向DCT的实际输入中。在矩阵824中给出了高精度数字的矩阵。舍去后转换的数据在矩阵836中给出。选择步骤1730为每个矩阵位置选择高精度值128.875,因为128转换值是128.875的舍去版本。由于在高精度数字中没有舍去误差,因此具有正规化常量JPEG协议的正向DCT精确地返回矩阵832中的原始值。如果高精度数字与转换数据不同而在正向DCT之前将差分加到数据上则得到相同的结果。

图18(a)所例示的方法用于说明在图8(f)和图8(g)中的修剪(clip)误差如何不会出现在正向DCT的实际输入中。在矩阵882中给出了未修剪值的矩阵。修剪后转换的数据在矩阵886中给出。选择步骤1730选择未修剪值,因为未修剪转换值位于范围(0)的极值处。由于正向DCT的输入中没有修剪误差,因此具有正规化常量JPEG协议的正向DCT精确地返回矩阵878中的原始值。如果高精度数字与转换数据不同而在正向DCT之前将差分加到数据上则得到相同的结果。

在本发明的一个替换实施例中,提供一种通过多个步骤对变换编码数据执行实域操作并具有降低的误差的方法,这些步骤包括将减法、操作和加法步骤与正向变换和量化步骤及逆量化和逆变换步骤交替执行。反过来参考图10,代替通过整数输出执行每个正向变换950,从图17(a)的在高精度数字和处理转换数据之间进行选择1730以形成处理高精度数字输入到正向变换步骤消除了转换为整数及修剪所产生的误差。图18(a)例示了这种多生成系统的一个循环。图13(a)示出多生成方法的一个循环的另一个实施例。图14(a)例示了包括操作高精度误差的操作步骤的多生成方法的一个循环的另一个实施例。

在本发明的另一个替换实施例中,提供一种通过多个步骤对变换编码数据执行实域操作并具有降低的误差的系统。用正向变换器和量化器及逆量化器及逆变换器替换减法器,操作器和加法器。图13(b)示出一个多生成系统的一个循环。图14(b)示出包括对高精度差分进行操作的操作器的一个多生成系统的一个循环的另一个实施例。图18(b)示出包括在处理的高精度数字和处理的转换数据之间进行选择以形成处理的高精度输入从而进行正向变化的选择器的多生成系统的一个循环的另一个实施例。

一般来说,每个操作可以执数据执行另一个操作。例如数字工作室编辑,第一个操作可以对图像进行色彩校正,第二操作可以使用彩色图像组合法将已经进行了色彩校正了的图像与背景进行组合。第三操作可以为图像增加高亮显示。第四操作可以将图像进行裁剪将其从电影的宽高比16∶9转换为电视的宽高比4∶3。如果大于图像,第一操作可以将图像旋转90度以使图像面向打印方向。第二操作可以将几个独立的图像合并为一个组合图像。第三操作可以进行彩色转换。对于编码图像数据,输出设备可以是一个显示器或电视。对于编码声频数据输出设备可以是一个播放器和/或记录器。

在生成之间进行操作的例子包括将两个或多个变换编码数据组进行组合。对于变换编码图像数据组,由于多个小的图像需要集成为一个大点的图像,因此需要组合操作。折叠式的广告小册子一般由多个单独的图片组成。当今的高端激光打印机一次打印两页以上。这些情况下,图像通常不叠加,但不进行相同的量化,相对于8*8块结果的参照网格进行定位,以进行JPEG DCT,或定向。通过在实域中将最终图像进行组合,可以对每个子图像进行标准化处理。接着可以将组合图像进行再压缩以供进行飞击式打印时进行最终的解压缩。

相似的,数字编辑可以包括许多要求串行地执行几个独立操作的特殊效果。数字电影通常使用谈入/谈出的特技效果以在两个关键场景之间进行过渡。这种特技可以跟在对每个场景进行独立处理之后。这样,在编辑时通常需要产生多次解压缩和再压缩以产生特技的组合。

彩色图像组合涉及两个独立的视频数据流。在一个视频流中可以抓取背景。在另一个视频流中,通常组成涉及运动角色的动作的前景是相对于例如深蓝或黑色背景等纯色背景拍摄而成的。接着,用背景视频象素替换前景图像的空白像素。由于像素是在单像素级上进行混合的,因此需要在实域中对图像进行组合。对于这种数字工作室应用,由转换为整数及进行修剪所引入的误差是最不希望的。通过实施本发明可以减少或消除这些误差。

本发明另一个应用例子是应用在使用有时超过100M像素的数字图像的高端数字图像示出。平滑的广告小册子及大的图片交易展台背景幕是使用这种高质量数字图像的两个例子。高质量的有损JPEG压缩有时用于使传输和存储成本降低。当这种图像进行解压缩和再压缩以进行改变和变更时,例如增加高亮显示,校正颜色,增加或改变文本及图像裁剪时,其间所不希望的误差通过本发明的使用可以解决。

上述本发明的概念的例子用于图像和视频变换数据。因特网的广泛使用展示了JPEG和MPEG压缩图像数据的价值。当要打印JPEG图像时,可能需要改变变量或改变定位等的操作。另外变换到另一个颜色空间然后再压缩将使得要存储图像的准备打印版本。本发明的使用克服了在进行四舍五入和修剪时所传播的误差。

声频编码数据也需要以减少的误差进行解压缩,与特殊的声音效果进行混合,与其他声频数据进行组合,在实域中进行编辑和处理。对于其他的工业、商业和军事应用,如果他们要对存储在实域中并标识一种现象的数据进行变换和逆变换数字处理,也执行相似的处理。因此在应用于其他有代表性的应用中时本发明也能发挥很大的效果。

另外,本发明可以作为一个装置或计算机产品。例如,可以作为一个制造产品,它包括计算机可以使用的介质,该介质具有嵌入其中的计算机可读程序代码装置以是计算机执行本发明的方法。

注意虽然参照具体的步骤描述了本发明,本发明的目的和概念适用于其他布局。对于本领域技术人员来说,在不偏离本发明思想和范围的条件下可以对所公开的实施例进行其他修改。

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈