压缩数据的方法

文档序号:7607450阅读:510来源:国知局
专利名称:压缩数据的方法
技术领域
一般来说,本发明涉及在通信网络中传输时的数据压缩方法,以及具体来说,本发明涉及用于压缩和解压缩数据的改进方法。本发明还涉及计算机可读介质,其中包括用于使计算机执行这种方法的指令。
背景技术
数据压缩和解压缩是适合用于减小分别传送或存储例如视频数据、即电视类型信号、地震数据或者声音或音频数据等的数据所需的带宽或者存储量的技术。压缩通常从信号中消除不必要的信息内容。视频压缩的众所周知的方法包括例如色彩单元压缩(CCC)、联合图像专家组(JPEG)压缩以及块截短编码(BTC)压缩。目前,经由诸如GSM、GPRS和UMTS之类的无线通信网络和经由宽带的视频数据传输以及尤其是现场视频数据传输是网络和通信装置、如计算机系统或移动电话的用户和制造商之中以及网络服务提供商之中极为关注的领域。尤其由于带宽限制和/或由于网络、特别是无线网络的太低容量,以及因为视频信息在每个视频图像或每帧包含大量数据,因此视频数据的质量和/或传输速率常常被推断,这导致接收装置上的低劣图像质量。尤其在现场视频数据传输时、例如在监控应用中,这是默示的。此外,在计算机系统中,经常希望把诸如视频数据、音频数据或者地震数据之类的信息存储在计算机存储器或盘驱动器中,从而,在此上下文中,为了减少所需存储量,压缩也是极重要的。因此,需要压缩方法,它们提供在先有技术之上额外的压缩,它们允许所传送信息、特别是视频信息和现场视频信息的充分再现。
发明概述本发明的一个目的是提供一种用于通信系统中的数据压缩和数据解压缩的改进方法。
根据本发明,通过提供具有独立权利要求所定义的特征的方法和加载装置,来实现这些及其它目的。在从属权利要求中定义了优选实施例。
根据本发明的第一方面,提供一种用于压缩数据的方法,包括以下步骤通过采用熵增加变换方法,把帧的数据变换为第一实数序列;对所述帧的所述第一实数序列进行量化,从而得到第一整数序列;采用表示所述第一整数序列的预测整数序列,对所述帧的所述第一整数序列进行量化,从而产生第二整数序列;以及把所述帧的所述第二序列的所述整数编码为表示所述帧的压缩整数序列的位流。
根据本发明的第二方面,提供一种用于压缩和解压缩数据的系统,包括存储装置,用于存储数据;变换部件,设置成把数据帧变换为实数序列;压缩处理部件,包括设置成对所述第一实数序列进行量化以产生第二整数序列的量化部件;自适应量化部件,设置成通过采用表示所述第一整数序列的预测整数序列来对所述第一整数序列进行量化以产生第二整数序列;以及编码部件,设置成把所述帧的所述第二序列的所述整数编码为表示所述帧的压缩整数序列的位流。
根据本发明的第三方面,提供一种计算机可读介质,其中包含用于使计算机执行根据第一或第二方面的方法的指令。
本发明基于对利用例如地震数据或视频信息之类的连续图像或数据帧的相关性的理解。换言之,本发明利用以下事实仅当数据流中存在活动、即两个连续帧之间的数据的变化时,才需要更新该数据。在视频数据的情况下,变化可能对应于所监测对象的运动,在地震数据的情况下,变化对应于所监测区域的地震活动。当两个连续帧之间没有数据变化时,两个帧的所有像素实质上对应,因此,不需要传送数据的更新。因此,压缩被调整到帧中的活动量。换言之,压缩是动态的。当活动量极低、即连续帧差不多相同时,数据传送少,当活动量、例如地震数据中的地震活动或者视频数据中的运动活动增加时,传送增加的数据量。
因此,在其中移动仅在记录单元所捕捉的图像或画面的较小部分出现并且图像的大部分的背景为静止的应用中,根据本发明的方法特别有用。在例如监控应用、电视会议、新闻广播、访谈或者采用具有内置稳定单元的手持式移动摄像机的录制等中存在这类条件。
另外,根据本发明的方法可用于其它应用中,例如地震数据的压缩或者声音或音频数据的压缩时。实际上,在其中出现特征在于大量相关性的数据的所有应用中,根据本发明的方法是有用的。
本领域的技术人员知道,本发明的方法及其优选实施例适合于作为最好是在a的内容中的计算机程序或者计算机可读介质来实现。
通过以下详细描述以及附图,本发明的这些和其它优点以及各个方面将变得非常清楚。
附图概述在本发明的实施例的以下描述中,将参照附图进行说明,附图包括

图1示意说明根据本发明、用于压缩和解压缩数据的方法中的数据流;图2示意说明根据本发明的视频数据压缩系统的压缩部分的一个实施例;图3示意说明图2的视频数据系统的解压缩部分的一个实施例;图4是流程图,说明用于执行图2所示的压缩部分的自适应量化块的操作的步骤;图5是流程图,说明用于执行图3所示的解压缩部分的逆自适应量化块的操作的步骤;以及图6a和图6b示意说明根据本发明的一个备选实施例,其中包括运动预测块。
发明详细说明下面将论述根据本发明、用于压缩视频数据的方法的优选实施例。现在参照附图,其中,相似的参考标号在若干视图中表示相似或相应的部分。如上所述,在其中的移动仅在记录单元所捕捉的图像或画面的较小部分出现并且图像的大部分的背景为静止的应用中,根据本发明的方法特别有用。在例如监控应用、电视会议、新闻广播、访谈或者采用具有内置稳定单元的手持式移动摄像机的录制等中存在这类条件。另外,根据本发明的方法可用于视频压缩以外的应用中,例如地震数据的压缩或者声音或音频数据的压缩时。实际上,在其中出现特征在于大量相关性的数据的所有应用中,根据本发明的方法是有用的。
首先参照图1,示意说明根据本发明、用于压缩和解压缩数据的方法中的数据流。实线表示应用数据、即要被压缩的数据的实际流程,虚线表示控制数据的流程,以及点线表示虚拟数据流。
首先,具有高度相关性的输入数据、例如位图数据被变换10为最好是浮点的系数的第一集合。此后,采用预先选择的静态输入参数把第一集合量化12为最好是整数的系数的第二集合,下面会进行论述。采用与可能是前一个数据集的序列的对应整数或者前一个集合的整数的模拟重构序列的系数的预测集合有关的动态参数和信息,以自适应方式对系数的第二集合进行量化14,从而得到系数的第三集合,下面会进行更详细论述。此外,控制数据与自适应量化数据关联。随后,系数的第三集合被编码16为表示位图数据的位流。在解压缩时,表示位图数据的压缩集合的位流被解码18。然后,通过颠倒如下步骤自适应量化20、量化22以及采用控制数据、预先选择的静态参数和动态参数进行变换24来处理解码数据集,从而得到重构的位图数据集合。
现在来看图2和图3,说明根据本发明的一个实施例的数据压缩和解压缩系统。这个系统适合用于视频数据应用。在系统中,数字录像机105通过图像格式转换器(未示出)连接到具有大容量存储装置、如硬盘的计算机单元100。计算机单元100具有压缩块110,它包括变换块120和压缩处理块130。此外,压缩处理块130包括量化块140、自适应量化块150以及编码块160。压缩处理块130连接到通信单元170、例如操作系统调制解调器或蜂窝电话,从而连接到通信网络180。通信网络180可能是例如GSM、UMTS或GPRS之类的无线通信系统、光网络或者有线网络。
此外,现在参照图3,计算机单元100包括解压缩块210,它经由通信单元170连接到网络180并且包括重构或解压缩块220和逆变换块230。重构块220又包括解码块240、逆自适应量化块250以及逆量化块260。用于显示视频数据的显示单元270设置在计算机单元100上。此外,数据转换器(未示出)设置在逆量化块260与显示单元270之间,用于把来自块260的数据转换为可在显示单元270上显示的格式。
在图2和图3所示的视频数据压缩和解压缩系统中,帧或图像的数字视频数据由数字录像机100来记录。图像格式转换器把所接收的视频数据转换为位图数据。然后,数据流被传送给小波变换块120,在其中,采用熵增加变换方法、例如小波变换把数据流、即位图数据变换为实数序列。为了简洁起见,假定一个数据序列对应于一帧或一个图像。或者,数据流可存储在计算机单元100的存储装置中。
然后,各帧的整数序列被馈送到量化块140,在其中,根据已知方法、采用门限值对该序列进行量化。由此得到整数序列。变换块和量化块的功能及实现是本领域的技术人员众所周知的,因此在这里不再进一步说明,例如参见“快速自适应小波分组图像压缩”(IEEETransactions on image processing,9,第792-800页,Meyer,Francois G.,Averbuch,Amir Z.,and Jan-Olof Strmberg),“多媒体应用的视频压缩标准”(Communications of the ACm,34(1991(‘),第46-58页,Le Gall,Didier),或者“地震数据的低比特率有效压缩”(IEEE Transactions onimage processing,10(2001),Meyer,Francois G.,Averbuch,Amir Z.,Jan-Olof Strmberg,Cofman R.,and Vassiliou,A)。
然后,整数序列被馈送到自适应量化块150,在其中,采用自适应量化来处理该序列,以及对于各帧得到整数的所得序列。这个块的功能将结合图4详细说明。来自自适应量化块150的输出被传送给编码块160,在其中,采用例如游程长度编码对各帧的所得序列或差值序列进行编码,以及得到表示帧的压缩序列的位流,它可经由网络传送给接收装置。编码块的功能和实现是本领域的技术人员众所周知的,因此在这里不再进一步说明,例如参见“快速自适应小波分组图像压缩”(IEEE Transactions on image processing,9,第792-800页,Meyer,Francois G.,Averbuch,Amir Z.,and Jan-Olof Strmberg),“多媒体应用的视频压缩标准”(Communications of he ACM,34(1991),第46-58页,Le Gall,Didier),或者“地震数据的低比特率有效压缩”(IEEE Transactions on image processing,10(2001),Meyer,Francois G.,Averbuch,Amir Z.,Jan-Olof Strmberg,Cofman R.,and Vassiliou,A)。
随后,各帧的位流可传送给通信单元170以便以后经由通信网络180传送给可能是例如上述计算机单元110之类的计算机单元的接收单元,或者可存储在计算机单元100的存储装置中,作为帧的序列的压缩表示。
以相似的方式,但是以相反顺序,表示帧的压缩整数序列的位流可被解压缩。在接收到表示其序列已经经由通信网络180传送或者已经从计算机单元100的存储装置中检索供后续解压缩的视频数据帧的压缩整数序列的位流时,位流被馈送到重构块220的解码块240。在解码块240中,采用与编码块的编码方法的颠倒对应的解码方法对各帧的位流进行解码,并得到与所得序列对应的整数序列。解码块的功能和实现是本领域的技术人员众所周知的,因此在这里不再进一步说明,例如参见“快速自适应小波分组图像压缩”(IEEE Transactionson image processing,9,第792-800页,Meyer,Francois G.,Averbuch,Amir Z.,and Jan-Olof Strmberg),“多媒体应用的视频压缩标准”(Communications of the ACm,34(1991(‘),第46-58页,Le Gall,Didier),或者“地震数据的低比特率有效压缩”(IEEE Transactions onimage processing,10(2001),Meyer,Francois G.,Averbuch,Amir Z.,Jan-Olof Strmberg,Cofman R.,and Vassiliou,A)。
此后,整数的解码序列被发送到逆自适应量化块250,在其中,采用逆自适应量化来处理该序列,以便得到各帧的重构整数序列。这个重构序列对应于在块140中的量化之后得到的整数序列。这个块的功能将结合图5详细说明。来自逆自适应量化块250的输出被传送到逆量化块260,在其中,根据已知方法、采用门限值对各帧的重构序列进行逆量化。量化块的功能和实现是本领域的技术人员众所周知的,因此在这里不再进一步说明,例如参见“快速自适应小波分组图像压缩”(IEEE Transactions on image processing,9,第792-800页,Meyer,Francois G.,Averbuch,Amir Z.,and Jan-Olof Strmberg),“多媒体应用的视频压缩标准”(Communications of the ACm,34(1991(‘),第46-58页,Le Gall,Didier),或者“地震数据的低比特率有效压缩”(IEEE Transactions on image processing,10(2001),Meyer,Francois G.,Averbuch,Amir Z.,Jan-Olof Strmberg,Cofman R.,and Vassiliou,A)。
随后,逆量化序列被发送给逆变换块230,在其中,采用逆熵增加变换方法、例如逆小波变换对该序列进行逆变换。由此,得到对应于从变换块120输出的实数序列的重构实数序列。逆变换块的功能和实现是本领域的技术人员众所周知的,因此在这里不再进一步说明,例如参见“快速自适应小波分组图像压缩”(IEEE Transactions onimage processing,9,第792-800页,Meyer,Francois G.,Averbuch,AmirZ.,and Jan-Olof Strmberg),“多媒体应用的视频压缩标准”(Communications of the ACm,34(1991(‘),第46-58页,Le Gall,Didier),或者“地震数据的低比特率有效压缩”(IEEE Transactions onimage processing,10(2001),Meyer,Francois G.,Averbuch,Amir Z.,Jan-Olof Strmberg,Cofman R.,and Vassiliou,A)。
然后,实数序列被转换为可由数据转换器中的显示单元再现的图像格式,即重构位图数据。
根据本发明的用于压缩和解压缩的方法最好是对于352×240大小的24位彩色视频实时(25帧/秒)执行。根据本发明的方法可以容易地例如以当前硬件、如计算机等来实现。例如,该方法可实现为计算机程序。一般来说,采用288×360的帧大小,在没有发生运动时,大约100字节/帧被传送。中等大小的运动可能需要300-400字节/帧,以及大的运动可能需要多达1000字节/帧。
在GSM网络中采用根据本发明的方法,19200b/s的传输速率是可行的,其中6帧/秒对应于400字节/帧。因此,如果在传输中允许数秒的时间移位,则平均可允许400字节/帧。如果运动活动为低,则各帧在蜂窝电话的显示屏大小上需要远低于100字节。如果运动活动增加,则图像质量可能降低,以便补偿所需的每帧增加的字节数。
参照图4,通过流程图来说明自适应量化块的操作。对于其中的摄像机或记录单元是固定或静止的或者在录制期间具有内置稳定单元的视频序列,图像或帧的系数往往可通过前一个图像的对应系数极好地预测。因此,如果两个连续图像之间没有发生变化,则两个图像的对应系数将会相同。详细地说,如果没有发生移动或运动,则两个连续图像的对应系数之间的差异将为零或者至少极小,因为始终存在某种数量的噪声,它可能导致小差异。一般来说,例如,当采用监控摄像机来监视某个区域、例如库房、工厂、办公室等时,系数的大部分在两个连续帧之间没有改变,因为监控通常在这类区域的运动活动在大部分时间是微小的夜间来执行。
在操作中,当前帧的整数序列被输入300到块150。在块310,预测整数序列被确定和存储。这个预测序列例如可能是前一个图像的序列的对应整数。实际上,在作为前一个图像的序列的对应整数的情况下,它是前一帧的整数的模拟重构序列。例如,这种模拟可通过在块150中结合与解码块240类似的解码块来实现。这个解码块以与解码块240处理表示帧的所接收位流类似的方式来处理该帧的入局位流,并且相应地获取与解码块240完全相同的解码整数序列。
此外,如果采用背景/参考帧,则表示这个帧的参考序列也存储在这个块中。
然后,在块320,根据下式把预测序列的各系数与当前序列的对应系数或整数进行比较,以及在必要时与参考序列的对应系数进行比较 其中c是当前帧的序列的系数或整数,r是参考帧的对应参考系数,以及p是对应预测系数。如果参考帧是黑色图像,则参考系数将为0。随后执行选择过程,其中,各系数c’的码长被估算,以及产生最短代码的系数被选择用于所得序列中的各位置。为此,对于各系数c’确定评估值,以及在这个实施例中,对于各系数c’确定绝对值,以及具有最小绝对值的系数c’被选择用于差值序列。
需要为重构算法或重构块220提供与c’系数的选择有关的信息,以及对于各系数,重构块有权访问已经从保存或存储于预测块430(参见图5)的先前重构的量化整数中计算的预测值,下列情况除外 在这类情况下,必须通知重构块220关于当前序列的系数或者当前系数与预测系数之间的差异是否被选择的情况。为此,在块330,产生控制位,其中包含块320中选择的信息。由此,重构或解压缩块220能够识别当前帧的序列的整数、参考帧的对应参考系数以及对应预测系数之间的哪种关系被选择。
控制位实际上是一系列整数、一或零,并且以与差值序列相同的方式被压缩,除了不需要表明整数符号的符号位之外。
由于只有一和零包含在控制位中,因此,所使用的控制位的编码是游程长度编码。
在块150中发生的预测选择基于某些规则,例如以上所述由关系式(1)和(2)表示的规则。如上所述,重构块没有与选择有关的信息,但具有调节选择过程的规则或关系式。
然后,在块340中,由表示图像或帧的数据中包含的噪声所引起的差值序列中的系数的小变化被编码,因而表明系数中的小变化。噪声尤其还通过来自摄像机的照明条件和信号噪声的小变化而产生。若满足以下表达式|差值|<T1(3)其中差值为差值序列的系数,以及T1为系数被设置为零的门限值。门限值最好是等于一,但其它整数也是可行的,例如2、3、4或5。如果差值序列中的系数、即预测值与当前值之间的差异小于T1,则假定预测是前一帧。因此,这使得不需要控制位,以及为了保持控制位序列同步,重要的是不发送与当前系数关联的控制位,它在块350中执行。通过采用系统中使用的摄像机来执行测试,可选取适当的T1。如果摄像机产生大量噪声,则T1可设置为较高的值。类似地,如果预期具有变化亮度的照明条件。把T1设置为高值的缺点在于,可能出现滞后,在对象在图像或帧中移动之后可能被显示为“阴影”。T1优选地设置为2或3。
此后,在块360,在序列上执行字节数量限制。为此,采用门限值T2,并且优选为T2≥1。(4)如果T2=1,则不会出现限制,以及如果T2>1,则从编码器输出的代码将被缩短。较高的T2值涉及较短的代码。实际上,限制过程按照以下方式工作。假定d是差值序列的整数,uid是其位表示(作为正整数),uiT2是T2的位表示(作为正整数),以及ui1.0是浮点1.0的位表示(作为正整数)。例如,如果ui1.0的二进制值为00111111100000000000000000000000且d≥T2,则d将由下舍入为整数的d1取代,其中uid1=uid-(uiT2-ui1.0)。(5)作为位流的uid1表示接近d的浮点数。这个浮点数下舍入为最接近的整数d1。因此,d1将为接近d的整数。
如果d≤-T2,则对应的将出现采用-d来代替,以及符号改变为负整数。如果|d|≤T2,则d由零取代。
这个过程的结果在于,整数的数量被减小,即,整数变得更稀疏,则T2更大。门限值T2的选择可自动执行,其中设置各帧的字节数量的上限。
实际上,这个步骤360在编码块160中执行。该方法基本上根据以下方式来执行。选择较早的门限值。然后模拟编码,其方式是,编码位的数量可被计数,例如,位流没有被计算和计数。假定位数随着增加的门限值而减少。在步骤1,门限值以2为因子逐步增大(或减小),直到门限值提供比所需的更少的位数以及门限值的一半提供比所需的更多的位为止。
通过采用这些门限值和对应的位数,新的门限值在步骤2中插入,新的值对应于所需的位数。此后,在步骤3,新的门限值的位数被计算,它可能大于、小于或等于所需数量。在步骤4,通过采用这些门限值和对应的位数,插入另一个门限值。步骤3和步骤4重复进行,直到一个门限值的所计算位数处于所需位数的预设容限范围之内,或者直到已经执行预设的最大迭代次数。
因此,在块350中,使控制位同步,以便仅发送必要的控制位。如上所述,某些控制位可能由于块340中的处理而变成不必要的。
可选地,可采用低活动触发块370。如果视频画面、即录像机监测的区域的运动活动性极低,则对于每个这种低运动帧可发送等于零的字节。这例如可在采用蜂窝电话作为调制解调器时用来关闭传输,以及当监测区域中的运动活动增加时,电话被连接,并且恢复传输。这可通过在表示帧的代码的字节长度中设置具有最短长度的参数来实现。如果编码块160所产生的代码不超过参数的长度,则该代码不会被发送,以及预测不被更新。这意味着,使用固定预测,直到取得足够数量的字节为止。换言之,编码器正在“睡眠”,但是它不断处理入局数据。最后,整数380的量化序列及关联控制位390被输出到编码块160,然后经由通信网络进一步输出到接收方。
现在参照图5,通过流程图来说明逆量化块250的操作。如400所示,(各帧的)整数的解码序列、即整数的压缩序列以及关联控制位405(如果有的话)例如从计算机单元100的存储装置或者在经由通信网络180接收时被输入到块250。
在操作中,在块410,选择预测。也就是说,如果p=0或者c/p<1/2,则解码序列的系数c’由c-r取代,如果参考帧为黑色图像,则参考系数r将为0,否则,c’由c-p取代。如上所述,当关系式(2)适用时,控制位是必要的,即下式适用p≠r且-12≤c-rp-r<32]]>在这类情况下,如上所述,必须通知重构块220关于当前序列的系数或者当前系数与预测系数之间的差异是否被选择的情况,这相应地由控制位来完成。
在块150中发生的预测选择基于某些规则,例如上述由关系式(1)和(2)表示的规则。又如上所述,重构块没有与选择有关的信息,但具有调节选择过程的规则或关系式。但是,对于各预测和所接收差异、即整数的压缩序列,块220可检查当前序列的整数将是什么,以及如果预测的选择符合预定规则集,则采用例如关系式(1)和(2)。为此,有三种可能性
1.存在几种一致的预测选择,在这种情况中,需要以控制位的形式的更多信息。
2.只存在一种一致的预测选择,在这种情况中,不需要更多信息。
3.没有一致的预测选择。如果块150遵循所实现的规则集,则认为这个备选方案不会出现。
在上述实施例中,当关系式(2)适用时存在第一备选方案。从预测块430中检索块410中所需的所有数据。
此后,在块420,解码序列的系数根据下式来替换 其中c’是压缩序列的整数,r是参考帧的对应整数,以及c是表示当前帧的第一序列的重构序列的对应整数。由此得到整数的重构序列,它完全或大致对应于输入到压缩块130的序列。这个重构序列信息还被反馈450到预测块430,在其中还存储最后一帧的预测以及参考帧(如果有的话)、即背景预测。因此,从块430中取得块410和420中所需的所有数据。
如果采用背景预测,则根据以下方式在块440中执行背景更新。设置参数N。如果当前帧的系数的重构量化整数值a不等于背景/参考帧的对应值,以及如果a在过去的N帧中没有改变,则背景或者实际上是背景序列采用a来更新,并且传送460到块430。
最后,整数的重构量化序列被输出470到逆变换块230。
下面将论述自适应量化块150和逆自适应量化块250中的预测的处理的一般原理。
预测可能是对于系数的全帧(QI)或者对于帧的子集。可能同时具有若干预测。这意味着,对于各个系数可能存在不同数量的预测。不同系数的预测被分别处理,除了在没有预测的最佳选择的一些情况中之外。在这些情况下,必须传送的额外信息、即控制位应当最少。对于任何固定系数ci,具有预测集合。即预测整数值的集合{Pki}k。
相互接近的预测将首先被捆在一起。这个过程由整数参数T0>0来控制。然后,预测的子集{Pki}s{Pki}k被识别,使得 以及对于各预测Pki,在子集中存在预测Psi,使得|pik-pis|<T0---(8)]]>预测的这个子集被排序为有序整数集pi1<pi2<...pin---(9)]]>其中,数字n=n(i)可能逐个系数不同。
此后,执行预测值的主要选择。如果ci是被编码的系数,则采用预测Psi,它将使表达式|ci-Psi|最小。它是使这个表达式最小的唯一预测,除了系数值ci正好在两个预测中间的情况之外,在这种情况中,|ci-Psi|=|ci-Ps+1i|。在这种情况下,预测Psi和Ps+1i之间的选择在辅助选择中进行,下面将会进行描述。
无损ATQI值(自适应量化整数)为di=ci-Psii,其中,Psii是系数ci的所选预测值。从ATQI整数di中确切地重构值ci是可能的,只要预测为已知的,并且它的已知预测被选择。
ADQI值 可能等于上述值di,但它也可能是该值的近似值。这由两个参数T1和T2来控制,它们被结合以便控制来自编码器的位流的上限。当|di|<T1时,设置d~i=0.]]>然后执行进一步量化,使得d~i∈ZT2,]]>其中ZT2是所有整数的集合。进行近似计算,使得当di≠0时,0≤ 通过ATQI值 可重构系数值ci的近似值ci,只要预测的选择为已知的。
c~i=d~i+pisi---(10)]]>
一旦值 和预测集合P1i<P2i<...Pni为已知,则预测的一部分可作为不允许的预测而被排除,因为它们将导致与主要选择规则矛盾 这表示Psi可能不是可能选择的预测。假定Psi为所选预测,则ci≥pis+d~i---(12)]]>因而|ci-pps+i|<d~i≤di=|ci-pis|---(13)]]>它意味着,预测Psi没有给出最小值,因此根据上述主要选择规则,不应当被选择。在d~i<0]]>的情况下,如果下式成立,则预测Psi不允许 同样,这表示Psi可能不是可能选择的预测之一。
一旦预测{Psi}s的列表和ATQI值di为已知,则可找到允许预测的数量ad(i)。数量ad(i)将在自适应量化块150以及逆自适应量化块250中进行计算。
预测的选择的信息是关于选择的信息,它通知各系数(以i为索引)采用ad(i)个允许预测中的哪一个。这例如通过与系数值的游程长度编码相似的迭代游程长度编码来进行,其中,根据在哪个双值区间中系数具有其值把系数分为若干组。在编码关于选择了哪个允许预测的I信息时,函数ad(i)限制各系数的可能选择的数量。
设s(i)是对于系数ci所选择的预测的索引,则1≤s(i)≤ad(i),设Sk={I,s(i)=k}。则{Sk}k≤1是帧的系数的索引的不相交集的集合,使得它们的并集是所有系数的索引的集合S。控制位必须把所有这些集合Sk的信息作为S的子集传送。设Dk∪i≥kSI---(15)]]>
以及Ek={i∈Dk使得a(i)>k}(16)且Fk=Dk\Ek(17)不需要以k=1开始的对于k≤1的归纳。有D1=S(18)以及对于k=1,2,3...,得Fk={i∈Dk使得a(i)=k}(19)Ek=Dk\Fk(20)以及游程长度编码用来查找Dk+1作为Ek的子集。
这对于不断增加的整数k持续进行,以便获得Dk+1作为Dk的子集,只要Dk不是空集。
最后,Sk=Dk+1\Dk(21)被获取。
在存在最佳预测的两种最佳选择Psi和Ps+1i的情况下,在这两种预测之间执行辅助选择。在这种辅助选择中,用于上述迭代游程长度编码中的游程长度为最小。策略是获取具有相同位(0或1)的尽可能长的序列。这样,得到尽可能接近在前系数的预测索引。即s(i)={t∈{s,s+1}最小化|t-s(i-1)|}根据按照本发明的方法的一个备选实施例,可包括运动预测块,以便例如当相关程度因记录单元的振动而减小时,或者当对象在记录空间中移动时、即汽车驶过视频画面时,改进压缩和解压缩数据的质量。
根据上述实施例,实际上采用所谓的自主预测。它基于,在压缩侧和解压缩侧采用完全相同的算法。这种算法是确定性的,即没有涉及随机过程,使得在自适应量化侧的预测结果、即自适应量化块150的输出以及逆自适应量化侧的结果、即逆自适应量化块250的输出将是相同的。因此,不需要预测信息被传送,只不过解压缩块必须知道采用哪一种算法。注意,不允许自主预测算法采用来自要被压缩的当前帧的任何信息。
自主预测的一个实例是零预测所有系数值被预测为零。另一个实例是最后帧预测预测系数被设置为最后帧的重构量化整数。
现在参照图6a和图6b,说明包括运动预测块的一个备选实施例。第一参数控制的预测块610和预测参数估算块620被包括在自适应量化块150处的压缩处理块130中,参见图6a,以及第二参数控制的预测块630被包括在逆自适应量化块250处的解压缩块220中。预测由两个步骤组成。首先,在块620中估算要用于第二步骤的参数。可使用基于在前帧的历史的任何信息以及来自当前帧的信息,即680所示的量化整数。一旦已经估算参数,它们(由640表示)与控制位(由650表示)一起被发送到逆自适应量化块250。第二步骤是一种算法,它分别在第一和第二参数控制的预测块610和630中并行运行,分别采用自适应量化块150的估算参数640和输出660以及逆自适应量化块250的输出670。没有采用来自当前帧的信息,除了估算参数640所提供的信息之外。参数控制预测的一个实例是全局转换预测。通过转换最后帧,使当前帧与最后帧匹配,并获取描述提供最佳匹配的转换的转换参数。然后,从重构量化整数的最后集合重构最后帧,图像或帧被转换,以及转换图像的量化整数的新集合被构建。经转换的最后帧的量化整数的这个新集合则用作预测值。
在这个实施例中,在第一或第二参数控制预测块610、630中实现的算法之一必须了解量化整数和小波算法的几何顺序,这用于预处理中以便进行到图像的这些后向变换,然后,在找到最佳转换之后,进行新量化整数的计算。
通过这种全局转换预测,实现例如通过手持式(不稳定)摄像机拍摄的视频序列的更好压缩。
结合自主预测采用全局转换预测提供了对于固定背景上的移动对象进行编码的有效方式,只要转换参数值对应于从最后帧到当前帧的对象的运动。不需要与对象的形状有关的信息。
还可包括全局仿射变换,这将处理具有旋转和缩放的视频序列。
也可采用局部自主转换预测,其中,转换参数基于来自匹配从重构量化整数的最后集合与重构量化整数的先前集合重构的图像的估算值。它在下列意义上是局部的帧可分为局部框,对其分别估算参数,然后推断预计转换。注意,可能存在多个局部转换参数,但是,它们在各侧产生,即分别在自适应量化块或者逆自适应量化块中产生。
匹配计算可根据以下方式来执行。假定图像为矩阵,其中f为当前矩阵,g为要与其匹配的矩阵,以及xB为局部框B的索引函数。表达式m(y)=∫|f(x)-g(x-y)|2xB(x)dx(22)被最小化,其中x是当前帧的系数,以及y是最后帧的系数。这可通过计算下式来进行∫|f(x)|2xB(x)dx(23)以及卷积(f×B)* 和 其中g~(x)=g(-x).]]>卷积作为傅立叶变换侧上的乘法来执行。采用快速傅立叶变换算法,计算可按照N*log(N)步骤的顺序来进行,其中N为矩阵中的元素的数量。这个匹配过程是本领域的技术人员众所周知的。
为了处理闪光状况的问题,可对当前帧计算平均数据值。这是在得到量化整数之前进行的预处理。在具有小波系数的情况下,这可易于采用本领域的技术人员已知的方法来执行。然后,通过在量化之前修改门限,执行乘法校准。根据用于处理闪光状况的问题的一种备选方法,全局转换可采用乘法因子来执行。表达式m(y,a)=∫|f(x)-ag(x-y)|2dx(24)
其中f是当前帧,g是最后帧,x是当前帧的系数,以及y是最后帧的系数,在转换矢量y和乘法因子a之上。当a=amin(y)时,得到最大值。
amin(y)=f*g~(y)∫|g~|2dx---(25)]]>其中g~(x)=g(-x).]]>把a=amin(y)插入(24),得出m(y,amin(y))=∫|f(x)|2-|f*g~(y)|2∫|g~|2dx---(26)]]>最后,表达式m(y,amin(y))在转换矢量y之上。
虽然本文为了说明和示范目的已经说明和描述了具体实施例,但是,本领域的技术人员要理解,所示和所述的具体实施例可由大量备选方案和/或等效实现来取代,而没有背离本发明的范围。本领域的技术人员易于理解,本发明可通过各种各样的实施例来实现,其中包括硬件和软件实现或者其组合。作为实例,以上所述的功能中的许多可通过微芯片等数据载体中包含的适当软件来取得和执行。本申请意在涵盖本文所述的优选实施例的任何修改或变更。因此,本发明由所附权利要求的用语及其等效物来定义。
权利要求
1.用于压缩数据的方法,包括以下步骤通过采用熵增加变换方法,把帧的数据变换为第一实数序列;对所述帧的所述第一实数序列进行量化而得到第一整数序列;采用表示所述第一整数序列的预测整数序列,对所述帧的所述第一整数序列进行量化,从而产生第二整数序列;以及把所述帧的所述第二序列的所述整数编码为表示所述帧的压缩整数序列的位流。
2.如权利要求1所述的方法,其特征在于,对所述帧的所述第一整数序列进行量化包括以下步骤对于所述第二整数序列的各系数,根据所述帧的所述第一整数序列的整数与参考帧的对应整数以及预测序列的对应整数之间的关系的评估值,选择所述关系。
3.如权利要求2所述的方法,其特征在于,选择的步骤包括以下步骤对于所述第二整数序列的各系数,比较所述帧的所述第一整数序列的整数与参考帧的对应整数之间的第一关系以及所述整数与预测序列的对应整数之间的第二关系;以及根据编码形式中的相应关系来确定各关系的评估值。
4.如权利要求2所述的方法,其特征在于,确定的步骤包括以下步骤确定相应关系的绝对值,其中各关系的评估值被设置为对应的绝对值。
5.如权利要求4所述的方法,其特征在于,选择的步骤包括选择具有最低绝对值的关系的步骤。
6.如权利要求2或3所述的方法,其特征在于,选择的步骤包括以下步骤根据下式选择所述关系c’=c-r若p=r或c-rp-r<12]]>c’=c-p否则其中c’是第二序列的整数,p是预测序列的对应整数,c是当前帧的第一序列的对应整数,以及r是参考帧的对应整数。
7.如权利要求4所述的方法,其特征在于,对所述帧的所述第一整数序列进行量化的步骤还包括以下步骤若p≠r且-12≤c-rp-r<32]]>则关联标识所选关系的控制位。
8.如以上权利要求中的任一项所述的方法,其特征在于,还包括以下步骤存储所述位流作为所述帧的所述序列的压缩表示。
9.如以上权利要求中的任一项所述的方法,其特征在于,还包括通过将变换、对所述第一实数序列进行量化、对所述帧的所述第一整数序列进行量化以及解码的步骤颠倒成相反顺序,对所述压缩序列进行解压缩。
10.如权利要求9所述的方法,其特征在于,颠倒对所述第一整数序列进行量化的步骤的步骤包括以下步骤根据下式重构当前帧的整数序列c=c’+r若p=r或c-rp-r<12]]>c=c’+r否则其中c’是压缩序列的整数,r是参考帧的对应整数,以及c是表示当前帧的第一序列的重构序列的对应整数。
11.如权利要求10所述的方法,其特征在于,重构的步骤包括以下步骤若p≠r且1-12≤c-rp-r<32]]>其中p是预测序列的整数以及c是当前帧的对应整数,则采用关联控制位来标识压缩序列的整数c’、参考帧的对应整数r以及表示当前帧的第一序列的重构序列的对应整数c之间的关系。
12.如权利要求10或11所述的方法,其特征在于,还包括以下步骤存储重构的整数序列。
13.如以上权利要求中的任一项所述的方法,其特征在于,所述预测序列是先前帧的模拟重构序列。
14.如以上权利要求中的任一项所述的方法,其特征在于,所述熵增加变换方法是小波变换方法。
15.用于压缩和解压缩数据的系统,包括存储装置,用于存储数据;变换部件,设置成把数据帧变换为实数序列;压缩处理部件,包括量化部件,设置成对所述第一实数序列进行量化而产生第二整数序列;自适应量化部件,设置成通过采用表示所述第一整数序列的预测整数序列,对所述第一整数序列进行量化而产生第二整数序列;以及编码部件,设置成把所述帧的所述第二序列的所述整数编码为表示所述帧的压缩整数序列的位流。
16.如权利要求15所述的系统,其特征在于,还包括重构部件,其中包括解码部件,设置成把表示压缩整数序列的位流解码为第三整数序列;逆自适应量化部件,设置成通过采用表示所述第一整数序列的预测整数序列,对所述第四整数序列进行逆量化,从而产生重构的第一整数序列;以及逆量化部件,设置成对所述重构的第一整数序列进行逆量化,从而产生第二整数序列第二实数序列;以及逆变换部件,设置成把所述实数序列逆变换为重构的数据帧。
17.计算机可读介质,包括使计算机执行如权利要求1-14中的任一项所述的方法的指令。
全文摘要
一种用于压缩例如地震数据、音频数据或视频数据之类的数据的方法,包括以下步骤通过采用熵增加变换方法,把帧的数据变换为第一实数序列;对所述帧的所述第一实数序列进行量化而得到第一整数序列;采用表示所述第一整数序列的预测整数序列,对所述帧的所述第一整数序列进行量化,从而产生第二整数序列;以及把所述帧的所述第二序列的所述整数编码为表示所述帧的压缩整数序列的位流。此外,该方法还包括通过将变换、对所述第一实数序列进行量化、对所述帧的所述第一整数序列进行量化以及解码的步骤颠倒成相反顺序,对所述压缩序列解压缩。
文档编号H04N7/50GK1857007SQ200480022381
公开日2006年11月1日 申请日期2004年6月2日 优先权日2003年6月10日
发明者简-奥洛夫·斯特龙伯格, O·比约尔卡斯 申请人:简-奥洛夫·斯特龙伯格
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1