车辆中使用基于频率的字典查找表来持续优化数据压缩的方法、发射器和系统与流程

文档序号:30945624发布日期:2022-07-30 04:00阅读:172来源:国知局
车辆中使用基于频率的字典查找表来持续优化数据压缩的方法、发射器和系统与流程
车辆中使用基于频率的字典查找表来持续优化数据压缩的方法、发射器和系统


背景技术:

1.现代车辆可以使用v2x通信将数据传输到其他车辆、中央服务器和/或道路沿线的基础设施实体(比如,交通信号灯)。车辆内部的数据可以在传感器与ecu、信息娱乐系统等之间传输。发射器与接收器之间所需的带宽可能很大。由于需要更多带宽来在系统之间交换大量数据,因此出现了能够在几秒钟内处理千兆字节的数据的系统。
2.系统之间交换的信息可以以可以减少所需带宽的符号方式发送,即传输表示数据的信息但不传输数据本身。这是许多压缩技术的基础。
3.但是,如果对数据块进行压缩和解压缩,当数据块太大时,数据传输的实时性可能会丢失。当数据块太小时,压缩可能并不高效。
4.一种不同的方法是应用概率论找出数据实体的最大到最小出现频率,并给出分配给每个数据实体的符号或码字,使得具有最大出现频率的数据实体具有最小大小的符号或码字,而具有最小出现频率的数据实体具有所需最大大小的符号或码字。符号或码字与数据实体之间的关系可以在字典查找表中找到。这种压缩技术用于许多无损数据压缩算法,如lzw和霍夫曼(huffman)编码。
5.但是,数据实体的出现频率可能随时间变化,这可能导致字典查找表无效或效率较低。
6.发明目的
7.本发明的目的是在车辆中使用基于频率的字典查找表来优化数据压缩。


技术实现要素:

8.本发明的目的通过提供根据权利要求1所述的方法、根据权利要求7所述的发射器以及根据权利要求9所述的系统来实现。
9.在本发明中,提供了一种方法,该方法用于使用基于频率的字典查找表来持续优化数据压缩,以用于车辆中的发射器与接收器之间的通信,该方法包括以下步骤:
[0010]-在所述发射器中提供第一个和第二个基于频率的字典查找表;
[0011]-在所述发射器中接收数据块;
[0012]-使用所述第一个表在所述发射器中压缩所述数据块;
[0013]-使用所述数据块更新所述第二个表的内容,并针对所述数据块计算该第一个表的压缩效率与该第二个表的压缩效率之间的差值;
[0014]-将所述压缩数据块传输到所述接收器;以及,
[0015]-当所述差值大于预定义阈值时,将所述发射器中该第一个表的内容替换为更新后的第二个表的内容,并将所述更新后的第二个表的内容传输到所述接收器。
[0016]
发射器可以是车辆中的传感器或电子控制单元(ecu)的一部分。该数据可以是传感器数据或/和控制数据。接收器可以是同一车辆中的另一个传感器或另一个ecu的一部分。因此,接收器可以与发射器位于同一车辆内。在一个或多个实施例中,接收器可以位于
发射器所在的车辆的外部。
[0017]
发射器与接收器之间的通信可以基于有线通信协议(如以太网或can),或者也可以基于无线通信协议(如4g/5g或wifi或v2x通信)。
[0018]
车辆可以是汽车、摩托车、货车或卡车。车辆也可能是自行车或踏板车。
[0019]
词语“持续优化数据压缩”指示在持续压缩和传输数据块时,同时使用相同的数据块更新字典查找表,以使下一个数据块的压缩更高效。
[0020]
因此,在所述发射器中压缩所述数据块的步骤和/或将所述压缩数据块传输到所述接收器的步骤可以与更新所述第二个表的内容的步骤和/或计算所述差值的步骤同时执行。
[0021]
基于频率的字典查找表是将数据实体链接到码字的表。在这种情况下,数据实体的码字的长度或大小与数据实体在数据中的出现频率有关。该表可以基于霍夫曼编码。提供了两个表,即,第一个和第二个基于频率的字典查找表。
[0022]
接收到的数据块可以包括第一个表中列出的数据实体,并且可以包括第一个表中未列出的数据实体。
[0023]
在压缩数据块时,可以将第一个表中列出的数据实体替换为这些数据实体对应的码字。第一个表中未列出的数据实体不会被替换,并且以其原始形式传输。因此,压缩数据块可以包括码字和未被替换的数据实体。
[0024]
接收到的数据块不但被压缩,而且还用于更新第二个表。基于接收到的数据块中数据实体的出现频率,调整或更新第二个表。这可以包括从第二个表添加或移除一个或多个数据实体和/或更改第二个表中的一个或多个数据实体的对应码字。
[0025]
表的压缩效率指示使用该表已将数据块压缩到什么程度,或者使用该表压缩的数据块的位大小相对于未压缩数据块小多少。因此,压缩效率可以定义为压缩数据块与未压缩数据块之间的位大小差值除以未压缩数据块的位大小。
[0026]
可以的情况是:对于接收到的数据块,第二个表的压缩效率高于第一个表的压缩效率。在这种情况下,将第一个表的内容替换为第二个表的内容。换句话说,第一个表变得与第二个表相同。利用该第一个表,下一个接收到的数据块将被压缩,而第二个表将使用下一个接收到的数据块进行更新。更新后的第二个表的内容也被传输到接收器,因为对于接收器中的解压缩,需要用于压缩的表的副本。
[0027]
由于第二个表是基于接收到的数据生成的,因此可以预期对于接收到的数据块,第二个表的压缩效率确实高于第一个表的压缩效率。当第一个表的内容被替换为更新后的第二个表的内容时,无法进行数据块的压缩。因此,替换内容对每单位时间传输的数据量产生消极影响。此外,将所述更新后的第二个表的内容传输到接收器也将需要一些带宽,这对每单位时间传输的数据量也会产生消极影响。
[0028]
因此,只有当第一个表与第二个表的压缩效率之间的差值大于预定义阈值时,才替换第一个表的内容,并将更新后的第二个表的内容传输到接收器。这限制了上述两种消极影响的发生。
[0029]
将第一个表的内容替换为更新后的第二个表的内容可以提高压缩效率,并且因此对每单位时间传输的数据量产生积极影响。
[0030]
可以选择预定义阈值,使得上述两个消极影响不会抵消上述积极影响。
[0031]
在一个或多个实施例中,该方法进一步包括以下步骤:
[0032]-在所述接收器中提供所述第一个表的副本;
[0033]-在所述接收器中接收所述压缩数据块;
[0034]-使用所述副本在所述接收器中解压缩所述接收到的压缩数据块;
[0035]-在所述接收器中接收所述更新后的第二个表的内容;以及,
[0036]-将所述接收器中所述副本的内容替换为接收到的更新后的第二个表的内容。
[0037]
在一个或多个实施例中,该数据块包括该第一个表中列出的数据实体和/或该第一个表中未列出的数据实体,并且其中,所述压缩数据块包括该第一个表中未列出的数据实体和/或替换该第一个表中列出的这些数据实体的码字。
[0038]
在一个或多个实施例中,所述压缩和/或解压缩基于霍夫曼数据压缩。
[0039]
提供了一种计算机程序,其中,当在计算机上执行该计算机程序时,该计算机程序适于执行本文档中描述的任何方法。
[0040]
提供了一种计算机可读存储介质,该计算机可读存储介质存储一组控制器可执行代码,该组控制器可执行代码当在设备、处理系统或数字信号处理器中执行时执行本文档中描述的任何方法。
[0041]
提供了一种发射器,该发射器用于使用基于频率的字典查找表来持续优化数据压缩,以用于车辆中的所述发射器与接收器之间的通信,该发射器包括
[0042]-存储器单元,该存储器单元具有第一个和第二个基于频率的字典查找表;
[0043]-压缩器单元,该压缩器单元用于(i)接收数据块,以及(ii)使用所述第一个表在所述发射器中压缩所述数据块;
[0044]-学习单元,该学习单元用于(i)接收所述数据块;(ii)使用所述数据块更新所述第二个表的内容;(iii)针对所述数据块计算第一个表的压缩效率与第二个表的压缩效率之间的差值;以及(iv)当所述差值大于预定义阈值时,将第一个表的内容替换为更新后的第二个表的内容;以及,
[0045]-输出单元,该输出单元用于(i)将所述压缩数据块传输到所述接收器,以及(ii)当所述差值大于所述预定义阈值时,将所述更新后的第二个表的内容传输到所述接收器。
[0046]
在发射器的一个或多个实施例中,该数据块包括该第一个表中列出的数据实体和/或该第一个表中未列出的数据实体,并且其中,所述压缩数据块包括该第一个表中未列出的数据实体和/或替换该第一个表中列出的这些数据实体的码字。
[0047]
提供了一种系统,该系统用于使用基于频率的字典查找表来持续优化数据压缩,以用于车辆中的发射器与接收器之间的通信,该系统包括根据本文档中描述的任何实施例的发射器、以及接收器,其中,所述接收器包括:
[0048]-存储器单元,该存储器单元具有所述第一个基于频率的字典查找表的副本;
[0049]-解压缩器单元,该解压缩器单元用于(i)接收所述压缩数据块,以及(ii)使用所述副本解压缩接收到的压缩数据块;
[0050]-更新单元,该更新单元用于(i)接收所述更新后的第二个表的内容,以及(ii)将所述副本的内容替换为接收到的更新后的第二个表的内容。
[0051]
另外,车辆设置有根据本文档中描述的发射器的任何实施例的发射器或设置有根据本文档中描述的系统的任何实施例的系统。
[0052]
可以理解的是:(i)发射器、系统和/或系统的工作,(ii)相关优点,以及(iii)根据如本文档中描述的对应方法步骤的发射器、系统和/或车辆的进一步实施例。
附图说明
[0053]
为了更全面地理解本发明,将参考以下结合附图所做出的描述,在附图中:
[0054]
图1示意性地示出了根据本发明的一个或多个实施例的发射器、接收器和系统;
[0055]
图2示意性地展示了根据本发明的一个或多个实施例的车辆;以及,
[0056]
图3示意性地展示了根据本发明的一个或多个实施例的方法。
具体实施方式
[0057]
图1示意性地示出了根据本发明的一个或多个实施例的发射器110、接收器120和系统100。在一个或多个实施例中,发射器110可以包括存储器单元160、压缩器单元140、学习单元140和/或输出单元150。在存储器单元160中,在一个或多个实施例中可以存储第一个和第二个基于频率的字典查找表。这种表的示例将在下面讨论。
[0058]
压缩器单元140可以被布置用于(例如,使用数据通信线路105从数据发生器)接收数据块。该数据发生器可以是相机或传感器。发射器和数据发生器可以组合在一个设备中。压缩器单元140被布置用于使用第一个基于频率的字典查找表来压缩接收到的数据块。
[0059]
尽管接收器可以以连续的方式接收数据,但是压缩和解压缩将相继地发生在数据块上。压缩和解压缩可以实时发生,这可以指示数据发生器和数据用户(例如,处理解压缩数据的cpu)都可以例如以100mb/s的速率生成和/或接收数据块而没有由压缩和解压缩引起的任何延迟。
[0060]
在一个或多个实施例中,数据块包括第一个表中列出的数据实体和/或第一个表中未列出的数据实体。数据实体可以是一定长度的字符串。对于第一个表中列出的那些数据实体,这些数据实体在先前数据块中的出现频率以及在压缩时将替换这些数据实体的码字可能已经建立。第一个表中未列出的那些数据实体可以是新的数据实体,这些数据实体未包括在先前的数据块中,或者与其他数据实体相比,这些数据实体的出现频率非常低以至于用码字替换并不能提高压缩效率。并且因此,这些数据实体未在第一个表中列出并且未被压缩。
[0061]
因此,压缩数据块可以包括压缩数据实体和未压缩数据实体。未压缩数据实体可以用唯一标识来标记,使得接收器120或解压缩器单元190将不会尝试解压缩这些数据实体。
[0062]
学习单元140可以被布置用于接收相同的数据块并将该数据块用于更新第二个基于频率的字典查找表。更新后的第二个表被优化用于压缩接收到的数据块。学习单元可以比较第一个和第二个基于频率的字典查找表的压缩效率,并且当所述差值大于预定义阈值时,将(可以存储在存储器单元160中的)第一个表的内容替换为(也可以存储在存储器单元160中的)更新后的第二个表的内容。在一个或多个实施例中,该预定义阈值可以是10%或25%的提高。在一个或多个实施例中,学习单元140可以被布置为将更新后的第二个表的内容发送到输出单元150。
[0063]
在一个或多个实施例中,第一个表和第二个表的压缩效率基于多于一个接收到的
数据块或基于在预定义时间段(例如1秒)内接收到的数据块的数量来确定。
[0064]
当表的内容被替换时,该表不能用于压缩。这将对每单位时间传输的数据量产生消极影响。因此,在一个或多个实施例中,将第一个表的内容替换为更新后的第二个表的内容可以如下进行:可以将临时的第一个基于频率的字典查找表存储在存储器单元160中。学习单元140将该临时的第一个表的内容替换为更新后的第二个表的内容。然后学习单元140将(i)临时的第一个表更改(或重命名)为第一个表,以及将(ii)第一个表更改(或重命名)为临时的第一个表。由于替换表的内容可能比更改或重命名表需要更多时间,因此减少了表不可用于压缩的时间段。
[0065]
输出单元150可以被布置用于使用数据通信连接115将所述压缩数据块传输到接收器120。这种数据通信连接可以是有线的或无线的,它可以基于以太网、wifi或5g标准。输出单元150还可以被布置用于当所述压缩效率差值大于所述预定义阈值时将所述更新后的第二个表的内容传输到接收器120。
[0066]
在一个或多个实施例中,输出单元150进一步被布置为将压缩后的数据块与更新后的第二个表的内容进行组合。更新的第二个表的内容可以用唯一标识标记,使得接收器120或解压单元190不会尝试对该内容进行解压缩,并且更新单元170将标识标记识别为更新的第二个表的内容。
[0067]
在一个或多个实施例中,接收器120可以包括存储器单元180、解压缩器单元190和更新单元170,该存储器单元具有第一个基于频率的字典查找表的副本。解压缩器单元190可以被布置用于通过数据通信连接115接收压缩数据块,并使用存储在存储器单元180上的第一个表的副本解压缩接收到的压缩数据块。
[0068]
解压缩器单元190可以进一步被布置用于使用可以是有线或无线的数据通信连接125来传输解压缩数据块。连接125基于以太网、wifi或5g标准。通过连接125传输的解压缩数据块与通过连接105接收的数据块相同。
[0069]
在一个或多个实施例中,更新单元170可以被布置用于优选地通过连接115接收更新后的第二个表的内容,并且用于将存储在存储器单元180上的第一个表的副本的内容替换为接收到的更新后的第二个表的内容。
[0070]
在一个或多个实施例中,将副本的内容替换为更新后的第二个表的内容可以如下进行:可以将临时副本存储在存储器单元160中。更新单元170将该临时副本的内容替换为更新后的第二个表的内容。然后更新单元170将(i)临时副本更改(或重命名)为副本,以及将(ii)副本更改(或重命名)为临时副本。由于替换表的内容可能比更改或重命名该内容需要更多时间,因此减少了副本不可用于解压缩的时间段。
[0071]
在图1中,示意性地描绘了根据一个或多个实施例的用于使用基于频率的字典查找表来持续优化数据压缩以用于车辆中的发射器110与接收器120之间的通信的系统100。接收器120可以位于所述车辆内部或外部。
[0072]
在图2中,示意性地描绘了根据本发明的一个或多个实施例的车辆200。在一个或多个实施例中,车辆200可以包括根据本文档中描述的一个或多个实施例的发射器110和/或根据本文档中描述的一个或多个实施例的接收器120。
[0073]
图3示意性地展示了根据本发明的一个或多个实施例的方法300。该方法示出了以下步骤:
[0074]
步骤310:在所述发射器中提供第一个和第二个基于频率的字典查找表;
[0075]
步骤315:在所述发射器中接收数据块;
[0076]
步骤320:使用所述第一个表在所述发射器中压缩所述数据块;
[0077]
步骤325:使用所述数据块更新所述第二个表的内容,并针对所述数据块计算第一个表的压缩效率与第二个表的压缩效率之间的差值;
[0078]
步骤330:将所述压缩数据块传输到所述接收器;以及,
[0079]
步骤335:当所述差值大于预定义阈值时,将所述发射器中第一个表的内容替换为更新后的第二个表的内容,并将所述更新后的第二个表的内容传输到所述接收器。
[0080]
在一个或多个实施例中,方法300可以进一步包括以下步骤:
[0081]
步骤340:在所述接收器中提供所述第一个表的副本;
[0082]
步骤345:在所述接收器中接收所述压缩数据块;
[0083]
步骤350:使用所述副本在所述接收器中解压缩所述接收到的压缩数据块;
[0084]
步骤355:在所述接收器中接收所述更新后的第二个表的内容;以及,
[0085]
步骤360:将所述接收器中所述副本的内容替换为接收到的更新后的第二个表的内容。
[0086]
在一个或多个实施例中,不同数据块的数量可能受到限制,例如,当数据块涉及重复步骤或给定系统的最小值与最大值之间的数量时。例如:承载发动机rpm值的can信号可能只有0到8000rpm之间的步长为10rpm的值。2.或者在另一示例中:输入范围为0至10v的12位模数转换器(adc)可能只能产生从0至4095的步长为0.0024的数字输出。由于数据块中可能的数据值是固定的,并且这些数据值是连续的可以服从正态分布的数据,因此可以进行有效的数据压缩。
[0087]
例如,可以考虑两个数据块:
[0088]-数据块1={3a 3a b1 26 26f0 f0 26 17 3a ab ab ab ab ab ab ab ab ab 9c 11}*50次重复;以及,
[0089]-数据块2={3a 3a ab 26 26f0 f0 26 17 3a b1 b1 b1 b1 b1 b1 b1 b1 b1 9c 11}*50次重复。
[0090]
每个数据块有1050个数据实体。在该示例中,仔细选择每个实体的出现频率,使得数据块1中出现最多的实体是“ab”,而数据块2中出现最多的实体是“b1”。
[0091]
对于数据块1,概率分布如下
[0092]
符号符号计数概率b1500.04761904817500.0476190483a2500.238095238261500.142857143ab4500.4285714299c500.04761904811500.047619048
[0093]
基于概率分布,可以生成以下基于频率的字典查找表:
[0094]
符号霍夫曼编码
b10000117000003a0126001ab19c000111100010
[0095]
该表可以用作压缩和解压缩数据块的第一个表。该表可以针对数据块1进行优化。当假设数据块2是发射器接收到的下一个数据块时,学习单元140可以为数据块2生成以下概率分布:
[0096]
符号符号计数概率b14500.42857142917500.0476190483a2500.238095238261500.142857143ab500.0476190489c500.04761904811500.047619048
[0097]
基于概率分布,可以生成以下基于频率的字典查找表:
[0098]
符号霍夫曼编码b1117000013a0126001ab000009c000111100010
[0099]
该表可以用作第二个表。学习单元140现在可以针对数据块2计算第一个表的压缩效率与第二个表的压缩效率之间的差值:
[0100] 第一个表第二个表原始数据大小1150字节1150字节压缩数据大小500字节300字节压缩效率56.5%73.9%
[0101]
计算出的差值为17.4%。当将第一个表的内容替换为第二个表的内容的预定义阈值为20%时,发射器中的第一个表的内容(以及接收器中的副本)将不会被替换或更新。
[0102]
此外,一个或多个实施例可以描述如下:提供了一种方法,该方法用于使用基于频率的字典查找表来持续优化数据压缩,以用于车辆中的发射器与接收器之间的通信。该方法包括以下步骤:在发射器中提供第一个和第二个基于频率的字典查找表。该发射器接收
数据块并使用第一个表对该数据块进行压缩。使用该数据块更新第二个表,并针对该数据块计算第一个表的压缩效率与第二个表的压缩效率之间的差值。将压缩数据块传输到接收器。当该差值大于预定义阈值时,将该发射器中第一个表的内容替换为更新后的第二个表的内容。然后将更新后的第二个表的内容传输到接收器。
[0103]
如本领域技术人员将理解的,本发明的各方面可以实施为一种系统、设备、方法或计算机程序产品。相应地,本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或者在本文中通常被称为“单元”、“模块”、“系统”、“设备”或者“元件”的组合软件和硬件方面的实施例的形式。
[0104]
本文档中描述的功能或步骤可以实施为由计算机的微处理器执行的算法。此外,本发明的各方面还可以采取在一个或多个计算机可读介质中实施的计算机程序产品的形式,该计算机可读介质具有在其上实施(例如,存储)的计算机可读程序代码。
[0105]
应当理解,包括以上描述是为了说明优选实施例的操作,并不旨在限制本发明的范围。根据以上讨论,对于本领域技术人员来说,许多变化将是显而易见的,这些变化仍将包含在本发明的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1