测量数据的高效压缩方法

文档序号:7526182阅读:154来源:国知局
专利名称:测量数据的高效压缩方法
技术领域
本发明一般涉及用于压缩数据的方法,更具体地说,涉及用于压缩测量数据的方法,该方法包括将数据中的公共单元分组,将公共数据单
元(data element)分组中的顺序数据单元相减并压缩相减值。
背景技术
现代车辆包含提供测量数据的许多系统、子系统、致动器、传感器等,该数据在车辆上的各种系统和子系统之间传递,所述系统和子系统允许车辆以期望的方式操作。通常,系统和子系统之间的数据传递在一个或多个数据总线上进行,所述数据总线有时称为控制器区域网络(CAN)数据总线。 一个已知的车辆系统使用5个CAN数据总线。当车辆被维修、测试、开发等时,CAN总线上的测量数据通常被传递到与车辆分开的测试设备等。有必要将该数据存储在存储装置中,然后随后从该存储装置分析数据。然而,存在一个问题,因为车辆在某一时间段产生的数据量可能非常大,需要非常大的存储装置,这增大了成本。
本领域中已知各种压缩算法,这些算法压缩各种类型的数据,使得数据可存储在存储器中,而不会使用正常情况下所需的那么多存储空间。这些压缩算法包括WinZip、 MP3等,这都是本领域技术人员众所周知的。已知的无损压缩算法的典型压缩率在2和4之间,意味着数字数据所需的存储空间的平均缩减减少到原始数据的1/2到1/4。
另外,不仅在各种应用中所需的存储空间量相当大,而且用于将数据从存储装置传输到测试设备的传递时间也相当大。由此,从存储装置下载数据通常要花大量的时间,这也增大了成本。
众所周知的MP3压缩算法具有比较高的压缩率,通常在10和12之间,取决于所用的比特率。然而,因为它用于音频压缩,所以该算法作为压缩过程的结果提供了 一定量的损失,其中所恢复的音频或音乐的品质将与原始音频或音乐有所不同。对于音频压缩,这种有损压缩过程通常足够了,因为音乐品质的这种差异对于人耳是无法辨别的。然而,对于测量数据压缩,这种损失将是不可接受的。

发明内容
根据本发明的教导,公开了一种用于压缩测量数据的方法,该方法包括将公共数据消息中的公共数据单元分组。分组中的顺序数据单元彼
此相减以提供差值。使用适当的压缩算法来压缩该差值以提供压缩数据
块。与每个公共数据消息关联的时标周期(time stamp period)也彼此相减以提供时标差值。也压缩该时标差值以提供压缩时标块。然后存储压缩数据块和时标块。
结合附图,根据以下描述和所附的权利要求书,本发明的附加特征将变得显而易见。


图1是要压缩的数据测量消息序列的图示;
图2是包括分组、差分化和压缩图1所示消息中的数据单元的压缩过程的图示;
图3是来自图1中消息的时标和消息ID的列表,示出了公共消息的时标的时间差;
图4是压缩图3所示时标差的压缩过程的图示;图5是存储环境中压缩数据块的图示;以及图6是根据本发明实施例的压缩系统的框图。
具体实施例方式
以下针对用于压缩数据的压缩过程的本发明实施例的讨论实质上是示范性的,并且绝不试图限制本发明或其应用或使用。例如,下面
应用。、然而,'本领域技术人员要理解的是,本发明的压缩过程将具有;于在其它类型环境中压缩其它类型数据的应用。
图1是在车辆中的一个或多个CAN数据总线上顺序提供的12个CAN测量数据消息10的列表的图示。消息10是十六进制格式,其中数字10-15由字母A、 B、 C、 D、 E和F表示。消息1 0包含以毫秒为单位的时标12,其标识消息10在CAN总线上传输的时间。消息10还包含消息ID 14和消息长度16。消息IO还包含分成多个数据字节20的数据部分18,每个字节由两个十六进制值表示。其中所含的消息和信息的格式只是为了示例目的。
图2是作为本发明压缩过程示例的压缩图1所示的CAN数据消息10的压缩过程26的图解。如下面讨论的,压缩过程26基于公共消息中的公共数据单元压缩数据。换句话说,将具有相同消息ID 14的每个消息10中的相同数据字节20分组在一起。测量数据包含存储在一个文件中的几个变量。过程26将属于一个变量的所有字节20分组在一起,其中每个变量将被单独处理。如果变量由几个字节组成,那么将每个字节存储在单独的分组中,并单独处理。
过程26包括具有填充有来自特定数据消息10的特定数据字节20的框30的分组部分28。例如,分组部分28第一行中的分组包含具有消息ID 3FC的消息10的数据部分18中的第一字节20。下一行是相同消息ID的数据部分18中的下一数据字节20。这个过程继续进行,直到来自具有公共消息ID的特定消息的所有公共字节20都分组在一起。这个分组过程继续进行到具有相同消息ID(特别是201)的下一消息10。在消息ID 3FC的所有数据字节20都已经分组在一起之后,将用消息ID 201标识的消息的第一数据字节20分组在一起。因为在图1所示的消息10序列中存在5个具有不同消息ID的消息,所以将存在22个分组,因为在具有不同消息ID的5个消息中存在22个数据字节20。
过程26中的下一步骤是提供每个分组中的数据字节20之间的顺序差值,如差部分32所示。该差值表示测量数据从一个时间到下一时间的变化。正常情况下,测量值变化緩慢,这使字节2G从一个时标12到下一时标12的变化很小。具体地说,车辆的数据在从具有一个消息ID 14的一个消息IO到具有相同消息ID 14的下一消息10的时间帧期间不会变化太快。可能的是,将数据分组并然后以这种方式提供差分化以进行压缩,因为在具有相同消息ID 14的那些消息10的数据部分18的相同位置的每个字节20将具有相同的信息,诸如温度、压力、速度等。对于由几个字节20表示的变量的情况,较高有效字节(the higher moresignificant bytes) 20极少改变。那些字节20除了第一字节只包含具有0的字节。
方法26的差部分32示出了差值行34。对于第一行34,分组中的所有字节20都为0,使得所有差值都为0。对于下一行34,第一字节和在前字节之差为-52,因为没有在前字节,其被假设为0。出于清楚的目的,将十六进制差值转换成十进制值。为所有消息10中的所有字节20提供差值。
然后在过程26的压缩部分36将每个分组的差值传递到压缩装置38,其中压缩装置38采用适当的压缩操作或算法。在一个非限制性实施例中,所用的压缩算法是众所周知的Burrows-Wheeler压缩算法。另一个示例是众所周知的Huffman压缩算法。压缩算法将差值的每行34都压缩成小得多的数据块40。在一个实施例中,压缩率是16,意思是说,对于数据中的每16个字符,将存储单个字符。不同的消息10具有不同的周期,即,多长时间传输一次具有相同消息ID 14的消息,这取决于它们包含什么信息和该消息有多么重要,这将确定行34中未压缩数据块的大小。每个压缩数据块40的大小也将由正在压缩的数据类型确定。
以不同可变周期存储的数据包含具有相同采样点的每个分组的每一个值的时标。因为测量系统中的大部分数据是周期性的,并且周期变化很小,所以以压缩方式仅存储与上一个周期的差异。
图3示出了图1所示的每一个消息10的时标12和消息ID 14。标识具有一个消息ID 14的一个消息到具有相同消息ID 14的下一消息的时标12之间的周期。具体地说,从具有该消息ID 14的下一消息的时标值减去一个消息10的传输时间的时标12的值,并且该值被标识为周期。在这个示例中,具有消息ID 3FC的前两个消息之间的时标12的差是100毫秒。接下来,对于具有相同消息ID 14的消息10的后续时标之间的周期定义差值。在这个示例中,具有消息ID 3FC的前两个消息之间的时间差100是100毫秒,并且从0减去这个值,因为在正在压缩的消息10中不存在具有消息ID 3FC的在前消息。消息ID 3FC的第二次和第三次出现之间的周期也是100毫秒。从100毫秒的第一差减去这个值,以给出零差值。对于具有相同消息ID的所有消息IO继续进行这个过程,其中差值数比具有相同消息ID 14的消息10数小一。
图4示出了用于图1所示消息10的时标12的压缩方法50。对于消息10列表中的每个单独时标12标识时标列52。方法50包括差分化部分54,其中在块56中提供特定消息ID的差值序列。还提供具有相同时标12的所有消息10的差值。然后以与上面讨论的相同方式在方法50
8的压缩部分58中由适当压缩算法64分开处理块56。压缩算法64减小块56中的数据大小以产生时标压缩块62。
一旦提供了所有压缩块40和62,就将它们与描述测量数据的信息一起存储在一个文件中。图5是包含所存储的压缩块72的存储器70的
表示o
图6是示出一种用于緩冲和压缩数据的技术的系统80的框图。在这个实施例中,来自CAN数据总线82的数据通过开关88被提供到第一緩冲器84或第二緩冲器86。当CAN总线72连接到緩冲器84或86之一时,然后之前已经填充有来自CAN总线72的数据的另一緩冲器84或86正将其存储的数据通过开关92下载到在块90处的本发明的压缩过程。由此,当一个緩冲器84或86正在填充数据的同时,正在压缩另一緩冲器84或86中的数据。在一个非限制性实施例中,每个緩冲器84和86可保存大约一百万个消息。通过这种方式,以循环的方式在緩冲器84和86之间来回切换开关88和92,该循环方式允许一个緩冲器84或86被填充数据,同时另一緩冲器84或86中的数据正在被压缩。将来自块90的压缩数据存储在存储器94中。
以压缩过程的相反方式执行压缩数据的解压缩过程,并且对于本领域的技术人员而言,基于上面讨论的压缩过程,解压缩过程是显然的。
对于上面讨论的车辆测量数据的压缩,对于解压缩过程有很大的优势。如果对车辆系统或子系统进行具体研究,或者分析特定问题,则只有与该系统或子系统关联的数据需要被查看和分析。因为基于消息ID和内容将数据分组,所以只有特定数据分组的数据需要被查看。由此,其它数据分组不需要解压缩,大大加速了解压缩过程。
前述论述仅公开和描述了本发明的示范实施例。本领域的技术人员根据这种论述以及附图和权利要求书将容易认识到,在不脱离如以下权利要求书中所定义的本发明精神和范围的前提下,可在其中进行各种改变、^修改和变孑匕。
权利要求
1.一种用于压缩数据的方法,所述方法包括提供时间顺序(time sequenced)消息块,每个消息包含时标、消息ID和数据,其中以多个字节提供所述数据;标识具有相同消息ID的所述消息块中的消息;将所述消息中的数据字节分组,其中对于具有相同消息ID的消息,将所述消息中相同位置的数据字节分组在一起;将每个分组中的数据字节顺序相减,以为每个分组提供一系列相减值;以及将每个分组的每个系列相减值压缩成压缩数据。
2. 如权利要求l所述的方法,其中将所述数椐字节顺序相减包括从 0减去所述分组中的第 一数据字节。
3. 如权利要求l所述的方法,还包括将具有相同消息ID的顺序消 息的时标相减以提供时标系列值,将所述时标系列值顺序相减以提供时 标差值,并且然后压缩所述时标差值以提供压缩时标信息。
4. 如权利要求3所述的方法,其中从O减去第一时标系列值以得到 所述时标差值。
5. 如权利要求l所述的方法,其中压缩每个系列的相减值包括使用 Burrows-Wheel er压缩算法。
6. 如权利要求l所述的方法,其中所述数据是测量数据。
7. 如权利要求l所述的方法,其中提供时间顺序消息块包括提供存 储在至少一个緩冲器中的消息块。
8. 如权利要求7所述的方法,其中提供时间顺序消息块包括提供存 储在两个緩沖器中的消息块,其中一个緩冲器正被装载未压缩消息,而 另 一个緩冲器中的消息正被压缩。
9. 如权利要求l所述的方法,其中提供时间顺序消息块包括从车辆 上的C AN数据总线提供数据消息块。
10. —种用于压缩数据的方法,所述方法包括 将公共数据消息中的公共数据单元分组;系列相减值;以及将每个分组的每个系列的相减值压缩成压缩数据。
11. 如权利要求10所述的方法,其中将所述公共数据单元顺序相 减包括从0减去所述分组中的第一数据单元。
12. 如权利要求10所述的方法,其中所述数据是测量数据。
13. 如权利要求10所述的方法,还包括将未压缩数据消息存储在至 少一个緩沖器中。
14. 如权利要求13所述的方法,其中将未压缩消息存储在两个緩冲 器中,其中一个緩冲器正被装载未压缩数据消息,而另一个緩冲器中的 凄丈据消息正^皮压缩。
15. 如权利要求10所述的方法,其中所述数据消息来自车辆上的CAN 数据总线。
16. —种用于压缩来自车辆上的CAN数据总线的测量数据的方法, 所述方法包括从所述CAN数据总线提供时间顺序消息块,每个消息包含时标、消 息ID和多个数椐字节;标识具有相同消息ID的所述消息块中的消息;将所述消息中的数据字节分组,其中对于具有相同消息ID的消息, 将所述消息中相同位置的数据字节分组在一起;将每个分组中的数据字节顺序相减以为每个分组提供 一 系列相减 值,其中将所述数据字节顺序相减包括从O减去所述分组中的第一数据字节;将每个分组的每个系列的相减值压缩成压缩数据; 将具有相同消息ID的顺序消息的时标相减以提供时标系列值;将所述时标系列值顺序相减以提供时标差值,其中从o减去第一时标系列值以得到所述时标差值;压缩所述时标差值以提供压缩时标信息;以及 存储所述压缩数据和所述压缩时标信息。
17. 如权利要求16所述的方法,其中压缩每个系列的相减值和所述 时标差值包括使用Bu r r ows -Whe e 1 e r压缩算法。
18. 如权利要求16所述的方法,其中提供时间顺序消息块包括提供 存储在至少 一个緩冲器中的消息块。
19. 如权利要求18所述的方法,其中提供时间顺序消息块包括提 供存储在两个緩沖器中的消息块,其中 一个緩冲器正装载未压缩数据,而另 一个緩冲器中的数据正被压缩。
全文摘要
本发明涉及测量数据的高效压缩方法。一种用于压缩测量数据的方法包括将公共数据消息中的公共数据单元分组。分组中的顺序数据单元彼此相减以提供差值。使用适当压缩算法压缩这些差值以提供压缩数据块。与每个公共数据消息关联的时标周期也彼此相减以提供时标差值。还压缩时标差值以提供压缩时标块。然后存储压缩数据块和时标块。
文档编号H03M7/30GK101594150SQ20091014184
公开日2009年12月2日 申请日期2009年5月26日 优先权日2008年5月29日
发明者H·斯滕格林 申请人:通用汽车环球科技运作公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1