CN103227644A - 一种针对汽车车身小格式数据的压缩方法 - Google Patents
一种针对汽车车身小格式数据的压缩方法 Download PDFInfo
- Publication number
- CN103227644A CN103227644A CN2013101846751A CN201310184675A CN103227644A CN 103227644 A CN103227644 A CN 103227644A CN 2013101846751 A CN2013101846751 A CN 2013101846751A CN 201310184675 A CN201310184675 A CN 201310184675A CN 103227644 A CN103227644 A CN 103227644A
- Authority
- CN
- China
- Prior art keywords
- data
- weights
- node
- format data
- small
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种针对汽车车身小格式数据的压缩方法,其特征在于:是按下列步骤进行:通过CAN总线采集汽车车身小格式数据,然后进行冗余处理,即把8比特ASCII码表示的信号转化为固定4比特二进制信号,并去掉原始数据中的逗号分隔符。获取一帧新数据,对其进行Huffman编码并发送。随后,将窗口下移,累加最后一帧数据中的权值信息,减去第一帧对应的权值信息,更新树中相应叶子节点及其父母节点的权值,根据顶端优势策略更新Huffman树结构。最后,按上述步骤处理数据,直到没有新数据获取。发明的显著效果是:提出了一种基于顶端优势更新策略的自适应Huffman编码方法,比传统Huffman编码方法的压缩率提高了15%且不用发送任何码表信息。
Description
技术领域
本发明涉及一种汽车远程监控数据的压缩编码技术,具体地说是一种结合冗余处理与基于滑动窗自适应Huffman编码的压缩方法。
背景技术
在汽车远程监控系统中,数据的传输有着实时,精准,小格式等特点。小格式的意思是指每帧数据的数据量很小,一般在70~150字节左右。数据以帧为单位进行发送,为了保证数据的实时性,数据的发送周期很短,一般在1~2S左右。随着车身电子设备的逐渐增多,功能的不断完善,车身数据的总量以及精度也在不断地增加,为了在监控系统后台建立完备精度的数据库,在传输时不允许任何程度的精度丢失,如果传送原始数据,会造成系统流量过大,用户流量费过高等问题,所以,在发送之前进行数据的无损压缩就十分重要。
Huffman编码作为无损压缩的重要方法正日益广泛地在文本、图像、视频压缩及通信密码等领域得到应用。但固定码本Huffman编码方法有一个缺陷,就是需要传送一份已压缩数据的概率表的拷贝,这种方式对于大格式数据来说影响不大,但对于小格式数据的影响就非常大,甚至有可能会抵消掉数据压缩的效果。如何用Huffman编码高效地压缩小格式数据是有待解决的一个重要问题。
发明内容
本发明正是针对上述难题,提出了一种基于顶端优势更新策略的自适应Huffman编码方法,能够解决汽车小格式数据的压缩问题。并结合汽车车身数据的冗余处理,进一步提高了汽车车身的小格式数据的压缩率。
基于顶端优势策略的huffman编码树的原理如下:
定义1兄弟特性:每个结点(除根)都有一个兄弟,也就是拥有同一个父结点的另一个结点。如果结点可以按照递增权的次序列出,而且如果每个结点在序列中与其他兄弟相邻,那么这棵树就表现出了兄弟特性。
定义2树的剪接:如果在一棵树中,需要将两个结点(包括叶子结点与非叶子结点)u和v进行交换(非叶子结点包括其左右子树),则称为树的剪接。
定理1一棵满足兄弟特性的树其子树也满足兄弟特性。
如图1所示,树中的叶子结点为a,b,c,d四个字符,权值分别为1、2、3、5,按照兄弟特性进行排序。以原始矩阵来表示数据如下:
对前三行字符作矩阵的行进行统计,得到Σa=2,Σb=4,Σc=3,Σd=3。与原树中权值比较,进行累加后树中4个叶子结点的排序已经不符合兄弟特性,需要对树作出一些调整,本发明在这里提出一种针对Huffman树的更新策略,下文将阐述的这种更新策略称作顶端优势策略。顶端优势策略实现的主要过程如下:
1.完成新的权值统计。
2.将新的权值更新到每个叶子结点并同时更新其父母结点。
3.从序号为1的结点开始,依次与后面的结点进行比较,如果相比较的结点权值较小则继续比较,如果相比较的结点权值较大,则停止比较,并与前一个结点进行剪接。
4.如果发生了剪接,则需要在完成剪接处重复步骤3,直到整棵树满足兄弟特性。
在完成更新过后,形成一个唯一的Huffman编码树。因为采用该策略生成树的过程是一个权值较大的结点都不断地向树的顶端(根)发展的过程,故称作顶端优势策略。
采用顶端优势策略进行树更新的时候需要注意一个问题,就是当叶子结点权值进行更新之后,其相应的父母结点权值也需要进行相应的更新,这样做的目的是为了防止在进行权值比较时出现叶子结点权值大于父母权值的“假排序”现象。
本发明提出了一种基于顶端优势更新策略的自适应Huffman编码方法,具有针对小格式数据进行高效压缩的优点,能够解决小格式数据的数据压缩问题。
为达到上述目的,提出了一种基于顶端优势更新策略的自适应Huffman编码方法,关键在于是按下列步骤进行:
步骤一:通过CAN卡采集汽车车身数据,通过CAN协议解析获取有用的车身小格式数据,包括速度,转速,气压,温度等。
步骤二:对采集到的车身小格式数据进行冗余处理,处理的具体过程如下,把8比特ASCII码表示的信号转化为固定4比特二进制信号。在固定车身小格式数据长度以后,去掉原始数据中的逗号分隔符。
步骤三:获得第一次窗口中数据权值统计,根据权值对00~ff范围内所有字符都进行编码,没有权值的字符权值设置为0。权值计算公式为式中Qk为k字符在窗口内的总权值,w为滑动窗宽度,n为原始矩阵的列数,kij为符号k在矩阵中对应位置的权值。
步骤四:获取新一帧数据,对其进行Huffman编码并发送。
步骤六:根据顶端优势策略更新树结构。
步骤七:重复步骤四,步骤五,步骤六,直到没有新数据获取。
本发明的显著效果是:提供了一种基于顶端优势更新策略的自适应Huffman编码方法,具有针对小格式数据进行高效压缩的优点,能够解决小格式数据的数据压缩问题。新的Huffman编码比固定码表Huffman编码的压缩率提升了约15%,且不用另外的开销。
附图说明
图1:满足兄弟特性的树图。
图2:小格式数据压缩算法的整体流程图。
图3:滑动窗口示意图。
图4:基于顶端优势策略的Huffman树更新流程图。
图5:优化前的Huffman树图。
图6:权值更新后的Huffman树图。
图7:剪接后的Huffman树图。
图8:应用顶端优势策略后的Huffman树图。
具体实施方式
下面结合附图和具体实例对本发明的实施方式作进一步详细说明。
如图2所示,整体编码算法的实现按照如下步骤进行:
步骤一:通过CAN总线采集汽车车身数据,通过CAN协议解析获取有用车身小格式数据,包括速度,转速,气压,温度等。
步骤二:对数据进行冗余处理。删除数据帧中的逗号分隔符,同时屏蔽掉GPS数据中用ASCII码表示的经纬度,时间等数据的高4位,只保留低四位,编码表如表格1。
步骤三:统计第一次窗口中数据权值,根据权值对00~ff范围内所有字符都进行编码,没有权值的字符权值为0。权值计算公式如下:式中Qk为k字符在窗口内的总权值,w为滑动窗宽度,n为原始矩阵的列数,kij为符号k在矩阵中对应位置的权值,生成一颗Huffman树。
步骤四:获取一帧数据,按照Huffman树对一帧数据进行编码,然后发送编码后的数据。
步骤六:采用顶端优势策略更新树结构。
表格1
编码 | 字符 |
0000 | ‘0’ |
0001 | ‘1’ |
0010 | ‘2’ |
0011 | ‘3’ |
0100 | ‘4’ |
0101 | ‘5’ |
0110 | ‘6’ |
0111 | ‘7’ |
1000 | ‘8’ |
1001 | ‘9’ |
1010 | ‘,’ |
1011 | ‘.’ |
步骤七:重复步骤四,步骤五,步骤六,直到没有新数据获取。
上述方法阐述了冗余去除与自适应Huffman编码相结合的压缩方案,在Huffman编码基础上加入了基于滑动窗的动态权值统计方法,结合高效的顶端优势更新策略,解决了对于小格式数据Huffman编码码表过大而造成的压缩效果抵消的问题,在压缩率上比传统Huffman编码提高了15%且不用发送任何码表信息。本算法在实际的应用中对提高数据压缩效率有着积极的作用。
如图4所示,具体顶端策略的实现,按照如下步骤进行:
1,完成新的权值统计。假设我们需要发送a,b,c,d四个字符,在统计之前树中的叶子结点为a,b,c,d四个字符的权值分别为1、2、3、5,按照兄弟特性进行排序,可以得到如图5的结构。以原始矩阵来表示收到的数据如下:
然后统计收到的数据中a,b,c,d四个字符的权值,Σa=2,Σb=4,Σc=3,Σd=3。
2,将新的权值更新到每个叶子结点并同时更新其父母结点。树中相应的叶子结点权值与其父母的权值更新后如图6。
3,从序号为1的结点开始,依次与后面的结点进行比较,如果相比较的结点权值较小则继续比较,如果相比较的结点权值较大,则停止比较,并与前一个结点进行剪接。如当b与3号结点c进行比较时发现b的权值大于c,则继续比较,与4号结点进行比较时权值较小,则停止比较,并将其与3号结点剪接,如图7所示。
4,如果发生了剪接,则需要在完成剪接处重复步骤3,直到整棵树满足兄弟特性。最后完成剪接后如下图8。
用顶端优势策略进行树更新的时候需要注意一个问题,就是当叶子结点权值进行更新之后,其相应的父母结点权值也需要进行相应的更新,这样做的目的是为了防止在进行权值比较时出现叶子结点权值大于父母权值的“假排序”现象。采用顶端优势策略之后,系统可以通过读取样本来完成Huffman树的更新,并不需要发送码表等信息,对于小格式数据压缩来说就极大地减少了因码表发送而产生的冗余。
为了说明本发明中关于一种针对汽车车身小格式数据的压缩方法的效率,有必要给出衡量编码算法优劣的参数:压缩率和发送数据量。
定义1将原始数据量与压缩后数据量的差值与原始数据量相比称为压缩率,其计算式为:ρ=(v-l)/v,其中v为原始数据量,l为压缩后的数据量。
定义2将压缩后数据与编码信息之和称为发送数据量,计算式为:M=c+r,其中M为发送数据量,c为压缩后数据量,r为编码信息。
首先将数据经过冗余处理之后再进行Huffman编码,本次实验采用数据为车身实采数据。另外还采用动态Huffman编码与静态Huffman编码来进行比较,动态Huffman编码在每一帧都重新生成码表,而静态Huffman编码是在一开始基于一个大数据量的样本生成码表之后就不再更改。观察三者在针对小格式数据压缩时的性能。
表格2
表格3
注:固定码表和自适应Huffman编码的总数据量的前9帧用于生成码表,并不参与编码,所以实际为4.2K,13.356K,22.535K,45,485K,对应的压缩率也是按照这个值来进行计算。
从表格2中可以看到,传统Huffman编码的压缩率虽然维持在35%左右,但码表大小却比样本大小更大,在发送过程中由于r大于样本造成M也大于样本,所以并没有起到压缩的效果。静态Huffman编码是采用数据起始的9帧数据形成的编码表,虽然没有码表发送的开销,但是由于编码效率过低造成压缩率也随之降低。自适应滑动窗的Huffman编码保证在局部采用最优码表而使得压缩率相比固定码表提升了约15%,且不用另外的开销。
从表格3可以看到,随着编码样本的增大,三种编码方式的发送数据量呈现出不同斜率的变化方向,自适应Huffman编码斜率最小,变化最为平稳,将数据发送量控制在最小的范围。
结论:针对监控系统中实时小格式数据,结合现有的无损压缩技术,提出了一种结合冗余去除与自适应Huffman编码的压缩方案,在Huffman编码基础上加入了基于滑动窗的动态权值统计方法,结合高效的自适应树更新策略,解决了对于小格式数据Huffman编码码表过大而造成的压缩效果抵消的问题,在压缩率上比传统Huffman编码提高了15%且不用发送任何码表信息。本算法在实际的应用中对于提高数据压缩效率有着积极的作用。
Claims (3)
1.一种针对汽车车身小格式数据的压缩方法,其特征在于是按下列步骤进行:
步骤一:通过CAN总线采集汽车车身数据,通过CAN协议解析获取有用的车身小格式数据,包括速度,转速,气压,温度等;
步骤二:对采集到的车身小格式数据进行冗余处理,处理的具体过程如下,把8比特ASCII码表示的信号转化为固定4比特二进制信号,在固定车身小格式数据长度以后,去掉原始数据中的逗号分隔符;
步骤三:应用滑动窗口对车身小格式数据进行自适应Huffman编码,获得第一次窗口中数据权值统计,根据权值对00~ff范围内所有字符都进行编码,没有出现的字符权值记为0,权值计算公式为式中Qk为k字符在窗口内的总权值,w为滑动窗宽度,n为原始矩阵的列数,kij为符号k在矩阵中对应位置的权值;
步骤四:获取新一帧数据,对其进行Huffman编码并发送;
步骤六:根据顶端优势策略(Apical Dominance Strategy)更新Huffman树结构;
步骤七:重复步骤四,步骤五,步骤六,直到没有新数据获取。
2.根据权利要求1所述的一种针对汽车车身小格式数据的压缩方法,其特征在于:在步骤二中,不损失信息量的情况下,把8比特ASCII码表示的信号转化为固定4比特二进制信号,并去掉原始数据中冗余的逗号分隔符。
3.根据权利要求1所述的一种针对汽车车身小格式数据的压缩方法,其特征在于:在步骤六中的顶端优势策略,首先,完成新的权值统计;然后,将新的权值更新到每个叶子结点并同时更新其父母结点;接着,从序号为1的结点开始,依次与后面的结点进行比较,如果相比较的结点权值较小则继续比较,如果相比较的结点权值较大,则停止比较,并与前一个结点进行剪接;如果发生了剪接,则需要重复权利要求3的所有步骤直到整棵Huffman树满足兄弟特性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101846751A CN103227644A (zh) | 2013-05-17 | 2013-05-17 | 一种针对汽车车身小格式数据的压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101846751A CN103227644A (zh) | 2013-05-17 | 2013-05-17 | 一种针对汽车车身小格式数据的压缩方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103227644A true CN103227644A (zh) | 2013-07-31 |
Family
ID=48837934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101846751A Pending CN103227644A (zh) | 2013-05-17 | 2013-05-17 | 一种针对汽车车身小格式数据的压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103227644A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049055A (zh) * | 2015-06-30 | 2015-11-11 | 郑州宇通客车股份有限公司 | 一种数据压缩方法和数据解压方法 |
CN109831211A (zh) * | 2019-02-10 | 2019-05-31 | 张元囝 | 使用控制符的半动态数据压缩算法 |
CN110111585A (zh) * | 2018-02-01 | 2019-08-09 | 吉旗物联科技(上海)有限公司 | 基于GPS快速获取CANbus速度的方法 |
CN111193678A (zh) * | 2019-12-30 | 2020-05-22 | 华人运通(上海)云计算科技有限公司 | 数据处理方法、装置、设备及计算机可读存储介质 |
CN116527778A (zh) * | 2023-06-26 | 2023-08-01 | 广州中海电信有限公司 | 一种船舶ais数据的压缩方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7737870B1 (en) * | 2007-09-04 | 2010-06-15 | Nortel Networks Limited | Bit-stream huffman coding for data compression |
CN101895298A (zh) * | 2010-07-09 | 2010-11-24 | 东华大学 | 一种智能服装用的gps数据压缩方法 |
-
2013
- 2013-05-17 CN CN2013101846751A patent/CN103227644A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7737870B1 (en) * | 2007-09-04 | 2010-06-15 | Nortel Networks Limited | Bit-stream huffman coding for data compression |
CN101895298A (zh) * | 2010-07-09 | 2010-11-24 | 东华大学 | 一种智能服装用的gps数据压缩方法 |
Non-Patent Citations (3)
Title |
---|
MARK NELSON: "《Data compression theory》", 31 December 1995, article "《Data compression theory》" * |
NAN JIN-RUI ET AL: "《Data Compression Technique in Vehicle Data Acquisition Systems》", 《TRANSACTIONS OF BEIJING INSTITUTE OF TECHNOLOGY》, vol. 23, no. 1, 31 December 2003 (2003-12-31), pages 46 - 49 * |
刘燕清 等: "《基于一次排序动态编码的Huffman编码算法》", 《计算机应用与软件》, vol. 26, no. 12, 31 December 2009 (2009-12-31) * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049055A (zh) * | 2015-06-30 | 2015-11-11 | 郑州宇通客车股份有限公司 | 一种数据压缩方法和数据解压方法 |
CN110111585A (zh) * | 2018-02-01 | 2019-08-09 | 吉旗物联科技(上海)有限公司 | 基于GPS快速获取CANbus速度的方法 |
CN110111585B (zh) * | 2018-02-01 | 2022-04-12 | 吉旗物联科技(上海)有限公司 | 基于GPS快速获取CANbus速度的方法 |
CN109831211A (zh) * | 2019-02-10 | 2019-05-31 | 张元囝 | 使用控制符的半动态数据压缩算法 |
CN111193678A (zh) * | 2019-12-30 | 2020-05-22 | 华人运通(上海)云计算科技有限公司 | 数据处理方法、装置、设备及计算机可读存储介质 |
CN116527778A (zh) * | 2023-06-26 | 2023-08-01 | 广州中海电信有限公司 | 一种船舶ais数据的压缩方法 |
CN116527778B (zh) * | 2023-06-26 | 2023-09-26 | 广州中海电信有限公司 | 一种船舶ais数据的压缩方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103227644A (zh) | 一种针对汽车车身小格式数据的压缩方法 | |
CN109740755B (zh) | 一种基于梯度下降法的数据处理方法及相关装置 | |
CN116506073B (zh) | 一种工业计算机平台数据快速传输方法及系统 | |
CN116910285B (zh) | 基于物联网的智慧交通数据优化存储方法 | |
CN113258935B (zh) | 一种联邦学习中基于模型权值分布的通信压缩方法 | |
US10911066B2 (en) | Method and system of content based dynamic data compression | |
CN104040592A (zh) | 预测位置编码 | |
CN112565777B (zh) | 基于深度学习模型视频数据传输方法、系统、介质及设备 | |
CN108234464B (zh) | 用于信号集中监测系统的采集数据高效压缩方法 | |
CN107644252A (zh) | 一种多机制混合的递归神经网络模型压缩方法 | |
CN118376258B (zh) | 一种基于云网边端的车辆路径规划方法及系统 | |
US20230237306A1 (en) | Anomaly score adjustment across anomaly generators | |
CN114614829A (zh) | 卫星数据帧的处理方法、装置、电子设备和可读存储介质 | |
CN117914951A (zh) | 一种通讯数据传输压缩方法及系统 | |
CN102628948A (zh) | 用于批量发送通用航空器经纬位置数据的压缩方法 | |
CN102684703A (zh) | 一种高效的数字高程模型数据无损压缩的方法 | |
CN106790550A (zh) | 一种适用于配电网监测数据压缩的系统 | |
CN114841370B (zh) | 联邦学习模型的处理方法、装置、电子设备和存储介质 | |
CN105427583A (zh) | 一种基于lzw编码的道路交通数据压缩方法 | |
CN112948639B (zh) | 一种高速公路数据中台数据统一存储管理方法及系统 | |
CN102841356A (zh) | 用于北斗发送通用航空器经纬位置数据的多模型压缩方法 | |
CN110399975A (zh) | 一种面向硬件移植的锂电池深度诊断模型压缩算法 | |
CN113487036A (zh) | 机器学习模型的分布式训练方法及装置、电子设备、介质 | |
CN104113394A (zh) | 通信调制信号的压缩及解压方法 | |
CN111858391A (zh) | 一种数据处理过程中优化压缩存储格式的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130731 |