CN102811113A - 一种字符型报文压缩方法 - Google Patents

一种字符型报文压缩方法 Download PDF

Info

Publication number
CN102811113A
CN102811113A CN2012102412204A CN201210241220A CN102811113A CN 102811113 A CN102811113 A CN 102811113A CN 2012102412204 A CN2012102412204 A CN 2012102412204A CN 201210241220 A CN201210241220 A CN 201210241220A CN 102811113 A CN102811113 A CN 102811113A
Authority
CN
China
Prior art keywords
character
message
coding
frequency
interval
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.)
Granted
Application number
CN2012102412204A
Other languages
English (en)
Other versions
CN102811113B (zh
Inventor
常传文
李玮
茅文深
鉴福升
林明
夏宁
吴杰
姚浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 28 Research Institute
Original Assignee
CETC 28 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 28 Research Institute filed Critical CETC 28 Research Institute
Priority to CN201210241220.4A priority Critical patent/CN102811113B/zh
Publication of CN102811113A publication Critical patent/CN102811113A/zh
Application granted granted Critical
Publication of CN102811113B publication Critical patent/CN102811113B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种字符型报文压缩方法,该方法对于频率表的更新给出了一种优化的自适应更新方法,一是在编码过程中逐字符进行更新,即对本条报文中各个字符进行算术编码后,均更新频率表。对频率表的更新会占用一定的计算量,若计算资源受限,第一种方式无法适用。本发明可采用另外一种方式,即频率表的更新以若干条报文为单位进行,对单条报文逐个字符进行算术编码后,仅记录各个字符出现的次数,在达到设定的若干条报文编码结束后再根据记录情况进行频率表的更新。本发明可有效地实现报文的无损压缩,改善了报文共享、存储、分发等应用过程中遇到的延时较高、占用多余带宽、使用较大存储资源等问题,使压缩比接近或达到熵编码理论的最大值。

Description

一种字符型报文压缩方法
技术领域
本发明涉及一种基于字符型报文的有效压缩方法,根据字符型报文具有一个有限字符集合的特点,引入静态频率空间且自适应地更新,并结合算术编码等相关技术,取得了良好的压缩效果。
本发明适用于任何基于有限字符集合报文压缩的诸如共享、存储、传输等场合,尤其是对报文传输实时性要求比较高的情况下,经实际验证均可良好地满足其应用需求。
背景技术
数据压缩方法按照压缩前后信息量是否有损失可分为两种类型,分别为有损压缩和无损压缩。有损压缩是指使用压缩后的数据进行重构(或者叫做还原,解压缩),重构后的数据与原来的数据有所不同;而无损压缩是指使用压缩后的数据进行重构后,数据与原来的数据完全相同,本发明专利所阐述的方法是一种无损压缩方法。
无损数据压缩按照实现技术划分,可分为预测、字典、统计三大类。预测编码主要是根据离散信号之间存在着一定关联性的特点,利用前面的一个或多个信号对下一个信号进行预测,然后对实际值和预测值的差(预测误差)进行编码,典型的方法有DPCM,ADPCM等,它们较适合用于声音、图像数据的压缩。字典编码主要是利用数据本身包含较多重复的字符串的特性,其基本原理是不断的从字符流中提取新的字符串,然后用代号来代替这个字符串,从而实现压缩,典型的方法有LZW编码等。LZW编码是通过在编码过程中动态生成一个字符串表,用较短的代号来代替较长的字符串来实现压缩。统计编码又称为熵编码方法,主要根据字符出现概率的分布特征而进行压缩,典型的方法有行程编码、霍夫曼编码、算术编码等。行程编码的基本原理是用一个符号值或串代替具有相同值的连续符号,使符号长度少于原始数据的长度,适用于同一符号连续出现多次的场合;霍夫曼编码的基本原理是对出现概率大的信息符号编短码字,对出现概率小的信息符号编长码字;算术编码的概念是由Peter Elias于1960年提出,但是其虽然在数学上成立,并不能通过计算机实现,当时并未得到实际应用。1976年,R.Pasco和J.Rissanen分别用定长的寄存器实现了有限精度的算术编码,使其能够在计算机上实现,其基本原理是将编码的消息表示成实数0和1之间的一个间隔,消息越长,编码表示它的间隔越小,表示这一间隔所需的二进制位就越多,发生概率较大的符号在编码的时候使区间较慢的变化,编码结果中就产生较少的位数,整个编码过程采用了以一个单独的浮点数来代替一串输入符号的思想,避开了使用一个特定码字代替一输入符号,也即霍夫曼编码中比特数必须取整的问题。相比之下,算术编码有更高的效率和优越性,尤其是当信源中包含的符号比较少时,比如只有两个符号,算术编码明显更有优势,而霍夫曼编码几乎起不到任何的压缩效果。
通信报文(后续简称报文)的使用非常普遍,比如雷达目标信息、位置信息、时间信息等,其主要由字符组成。字符是指计算机中使用的字母、数字和符号等,其存储需要一个字节,具体详见ASCⅡ码表。随着信息时代的来临,各种报文的存储呈现海量特性,为共享、存储、分发带来较大压力。比如覆盖整个城市的车辆(公交车、出租车)监控、调度***,各车辆将自身属性(如位置、状态)等通过特定报文格式传输至中心,其移动特性决定必须通过无线方式进行通信,同时,中心会为各车辆建立历史情况数据库,数量巨大的车辆信息给通信、存储带来不便。在实际使用中,为便于观察、交互,大量使用了具有字符特征的报文格式,比如广泛使用的NMEA-0183的报文格式,其是美国国家海洋电子协会为海用电子设备制定的标准格式,目前业已成为GPS导航设备统一的标准协议。
目前,对于字符型报文格式的使用(如传输、存储),基本上都是未经压缩直接处理,从现有的文献和已公开材料查询,采用的压缩方案有:
1.采用BCD码对报文进行压缩
BCD码亦称二进制码十进制数或二-十进制代码,是一种二进制的数字编码形式,适用于对0~9这十个数字进行处理,固定使用4位二进制数来表示十个数字。
该方案适用范围有限,仅适用对数字字符进行压缩,对于字母等并不适用。
2.采用扩展BCD码对报文进行压缩
将字符集合中所有字符二进制化,并使用二进制化后的数据代表字符,以实现压缩。比如有100个字符集合,对其二进制化,则每个字符将分配7个二进制位。
该方案是一种典型的等概率的霍夫曼编码方法,认为各字符是等概率的,并未考虑字符概率特征,存在位浪费,压缩比有限。
3.采用霍夫曼编码对报文进行压缩
霍夫曼编码使用变长编码表对源符号进行编码,其中变长编码表是通过一种评估源符号出现频率的方法得到的,出现频率大的符号使用较短的编码,反之使用较长的编码。传统的霍夫曼编码是一种静态的编码方法,其主要通过统计原始数据中各字符出现的频率,并由此创建霍夫曼树,从而对原始数据进行编码,这种方法在实际应用***中有很大局限性,特别在诸如通信等实时传输、处理***中。因此,在报文压缩上并未得到广泛的应用。自适应霍夫曼编码是对上述方法的一种动态编码方法,已在报文压缩上得到应用,它对数据编码的依据是动态变化的霍夫曼树,即对第N+1个字符的编码是根据原始数据中前N个字符得到的霍夫曼树来进行的,每读入一个字符就要调整字符的计数,并进行霍夫曼树的更新,从而确保编码效率最高。
该方案未考虑联合概率,且由于编码过程中比特数必须取整,使压缩效率产生折扣,造成了输出码流的浪费。
发明内容
发明目的:本发明正是基于上述在处理字符型报文格式所遇到的问题,面向字符型报文格式,提出了一种通用无损报文压缩方法,该方法基于算术编码,并引入静态频率表和自适应频率表的建立,可有效地实现报文的无损压缩,改善了报文共享、存储、分发等应用过程中遇到的延时较高、占用多余带宽、使用较大存储资源等问题,使压缩比接近或达到熵编码理论的最大值。
技术方案:一种字符型报文压缩方法,包括如下步骤:
假设该字符型报文的字符集合为A,其字符个数为n,字符概率为Pi,则有
ai∈A
Σ i = 1 n P i = 1 , 其中1≤i≤n
(1)预处理
在初次使用字符型报文格式进行编码时,需要初始化频率表_Adapt_Table,具体方式有两种:一是针对报文的字符集合特点,结合具体使用环境,分配给Pi具体值,从而创建字符集合的经验值静态频率表_Exper_Table,并将其具体值赋给频率表_Adapt_Table;二是创建等概率静态频率表_EqualPro_Table,即
P i = 1 n
并将其赋给频率表_Adapt_Table。在实际使用过程中,可根据具体需求来选择初始化方式;
(2)接收一条报文
假设所述接收到的一条报文为Message,字符序列为B,序列元素个数为m,即
bj∈A,其中1≤j≤m
(3)读入字符
将所述接收到的报文Message的各字符逐个读入,假设读入字符为bj,1≤j≤m,其概率为Pbj
(4)算术编码
根据当前的频率表_Adapt_Table,并结合当前字符频率Pbj对该字符进行算术编码;
(5)判断是否更新频率表
根据实际需求,在编码过程中,所述频率表_Adapt_Table更新可逐字符进行,即对本条报文Message中各个字符进行算术编码后,均更新频率表;也可以若干条报文为单位进行,即对单条报文逐个字符进行算术编码后,仅记录各个字符出现的次数,在达到设定的若干条报文编码结束后再根据记录情况进行频率表的更新;若需要更新频率表_Adapt_Table,则执行下一步骤(6),否则跳转到步骤(7);
(6)更新频率表
通过更新字符bj的频率Pbj,进而更新频率表_Adapt_Table;
(7)本条报文编码是否结束
如果本条报文Message编码未结束,则跳转到步骤(3),继续编码下一个字符,否则执行下一步骤(8);
(8)判断是否有下一条报文
若是,则执行步骤(9),否则执行步骤(11),即结束本次编码;
(9)判断是否更新频率表
对于采用所述以若干条报文为单位进行更新频率表_Adapt_Table方法的情况下,在本条报文Message编码结束后,如果要更新频率表则执行下一步骤,否则跳转到步骤(2),读入下一条报文,继续编码;
(10)更新频率表
使用所记录的字符出现次数进行频率表_Adapt_Table的更新;
(11)结束
结束本次编码。
所述步骤(4)中算术编码,包括如下步骤:
假设算术编码所采用的初始编码区间为[0,Max],Max为区间最大值,一般设置为0xFFFF,编码过程中区间为[Low,High],区间范围为Range,其中Low为区间下沿,初始为0,High为区间上沿,初始为Max,读入字符为bj,其频率为Pbj,累计频率为CumPbj,即符号值小于该符号的频率的总计。
(41)初始化
初始化编码区间[0,Max],建立频率表;
(42)读入字符bj
将所述报文Message各字符逐个读入,假设读入字符为bj,1≤j≤m,其概率为Pbj
(43)更新区间
根据当前频率表以及Pbj和CumPbj,更新区间[Low,High],具体计算公式如下:
Range=High-Low+1
High=Low+Range*(CumPbj+Pbj)-1
Low=Low+Range*CumPbj
(44)归一化
检查区间[Low,High]是否满足继续编码的条件,如果满足继续编码,否则对区间[Low,High]进行归一化操作;
(45)判断是否更新频率表
若是,则执行下一步骤(46),否则跳转到步骤(47);
(46)更新频率表
更新所述编码字符的频率Pbj以及相应的累计频率CumPbj,即更新频率表;
(47)判断是否结束
若是,则结束此次编码,否则跳转到步骤(42),继续编码下一字符。
所述步骤44中,对区间[Low,High]进行归一化操作,具体分为以下三种情况:
情况一:区间上沿最高位是1,次高位为0,下沿最高位是0,次高位是1,对之做将次高位移出操作,即忽略掉次高位,并记录下忽略次高位的次数Case1Num;
情况二:区间上下沿最高位均是0,则进行将上下沿左移1位,且上沿加1的操作,并将移出位添加到输出码流,此后检查Case1Num是否为0,若不为0,则将最高位取反称为Case1Bit,并输出Case1Num个Case1Bit至输出码流;
情况三:区间上下沿最高位均是1,则进行将上下沿左移1位,且上沿加1的操作,并将移出位添加到输出码流,此后检查Case1Num是否为0,若不为0,则将最高位取反称为Case1Bit,并输出Case1Num个Case1Bit至输出码流。
归一化的目的是防止随着编码的进行,区间变得越来越窄,以至编解码出现错误。
依照本节技术方案,解码是编码的逆过程,不再赘述。
有益效果:本发明通过实际应用以及论证,具有以下有益效果:
(1)基于有限字符集合报文的特点,将算术编码应用在其无损压缩上面,充分发挥了算术编码的优点,相比较BCD码、霍夫曼编码等压缩方式具有更高的压缩比和效率。
(2)通过使用经验值频率表的建立,使报文在压缩过程中的起始阶段就能够达到较好的压缩效果;
(3)引入两种动态更新频率表的方法,其中,在编码过程中逐字符进行更新的方法充分考虑了字符概率问题,尽可能地增大了报文压缩比;以若干条报文为单位进行更新的方法更是满足了计算资源受限的环境;
附图说明
图1为本发明实施例的流程图;
图2为本发明实施例中的算术编码的流程图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,本方案在预处理步骤中完成频率表的初始化,其通过采用等概率静态频率表或者经验值静态概率表两种方式完成。对于频率表的更新给出了一种优化的自适应更新方法,具体体现在步骤(6)和(10),其采用两种方式,一是在编码过程中逐字符进行更新,即对本条报文中各个字符进行算术编码后,均更新频率表。对频率表的更新会占用一定的计算量,若计算资源受限,第一种方式无法适用。本发明可采用另外一种方式,即频率表的更新以若干条报文为单位进行,对单条报文逐个字符进行算术编码后,仅记录各个字符出现的次数,在达到设定的若干条报文编码结束后再根据记录情况进行频率表的更新。
该方案中涉及到的变量说明如下:
①_Exper_Table:根据经验值建立起的静态频率表;
②_EqualPro_Table:字符集合中各字符概率相等,即等概率静态频率表;
③_Adapt_Table:编码过程中的自适应频率表。
假设字符型报文中所有可能字符集合为A,集合元素个数为n,其中,字符ai出现概率为Pi,则有:
ai∈A
Σ i = 1 n P i = 1 , 其中1≤i≤n
本发明采用的技术方案步骤如下,具体流程图见附图1:
(1)预处理
在初次使用该报文格式进行编码时,需要初始化频率表_Adapt_Table。具体方式有两种,一是可针对报文的字符集合特点,结合具体使用环境,分配给Pi具体值,从而创建字符集合的经验值静态频率表_Exper_Table,并将其具体值赋给_Adapt_Table;二是创建等概率静态频率表_EqualPro_Table,即
P i = 1 n
并将其赋给_Adapt_Table。在实际使用过程中,可根据具体需求来选择初始化方式;
(2)接收一条报文
假设该条报文为Message,字符序列为B,序列元素个数为m,即
bj∈B,其中1≤j≤m
(3)读入字符
将该条报文Message各字符逐个读入,假设读入字符为bj,1≤j≤m,其概率为Pbj
(4)算术编码
根据当前的频率表,并结合当前字符频率Pbj对该字符进行算术编码;
(5)是否更新频率表
根据实际需求,在编码过程中,频率表_Adapt_Table更新可逐字符进行,即对本条报文Message中各个字符进行算术编码后,均更新频率表;也可以若干条报文为单位进行,即对单条报文逐个字符进行算术编码后,仅记录各个字符出现的次数,在达到设定的若干条报文编码结束后再根据记录情况进行频率表的更新。
具体步骤为若需要更新频率表_Adapt_Table,则执行下一步骤(6),否则跳转到步骤(7);
(6)更新频率表
通过更新字符bj的频率Pbj,进而更新频率表_Adapt_Table;
(7)本条报文编码是否结束
如果本条报文Message编码未结束,则跳转到步骤(3),继续编码下一个字符,否则执行下一步骤(8);
(8)是否有下一条报文
若是,则执行步骤(9),否则执行步骤(11),即结束本次编码;
(9)是否更新频率表
对于采用上述第二种更新频率表_Adapt_Table方法的情况下,在本条报文Message编码结束后,如果要更新频率表则执行下一步骤,否则跳转到步骤(2),读入下一条报文,继续编码;
(10)更新频率表
具体为使用所记录的字符出现次数进行频率表_Adapt_Table的更新;
(11)结束
结束本次编码。
对于本发明采用的技术方案中的步骤(4)算术编码,其详细过程如下,且具体流程图见附图2:
假设算术编码所采用的初始编码区间为[0,Max],Max为区间最大值,一般设置为0xFFFF,编码过程中区间为[Low,High],区间范围为Range,其中Low为区间下沿,初始为0,High为区间上沿,初始为Max,读入字符为bj,其频率为Pbj,累计频率为CumPbj,即符号值小于该符号的频率的总计。
(41)初始化
初始化编码区间[0,Max],建立频率表等;
(42)读入字符bj
将该条报文Message各字符逐个读入,假设读入字符为bj,1≤j≤m,其概率为Pbj
(43)更新区间
根据当前频率表以及Pbj和CumPbj,更新区间[Low,High],具体计算公式如下:
Range=High-Low+1
High=Low+Range*(CumPbj+Pbj)-1
Low=Low+Range*CumPbj
(44)归一化
检查区间[Low,High]是否满足继续编码的条件,如果满足继续编码,否则对区间[Low,High]进行归一化操作,具体分为一下三种情况:
情况一:区间上沿最高位是1,次高位为0,下沿最高位是0,次高位是1,对之做将次高位移出操作,即忽略掉次高位,并记录下忽略次高位的次数Case1Num;
情况二:区间上下沿最高位均是0,则进行将上下沿左移1位,且上沿加1的操作,并将移出位添加到输出码流,此后检查Case1Num是否为0,若不为0,则将最高位取反称为Case1Bit,并输出Case1Num个Case1Bit至输出码流;
情况三:区间上下沿最高位均是1,则进行将上下沿左移1位,且上沿加1的操作,并将移出位添加到输出码流,此后检查Case1Num是否为0,若不为0,则将最高位取反称为Case1Bit,并输出Case1Num个Case1Bit至输出码流。
归一化的目的是防止随着编码的进行,区间变得越来越窄,以至编解码出现错误;
(45)是否更新频率表
若是,则执行下一步骤(46),否则跳转到步骤(47);
(46)更新频率表
更新该编码字符的频率Pbj以及相应的累计频率CumPbj,即更新频率表;
(47)是否结束
若是,则结束此次编码,否则跳转到步骤(42),继续编码下一字符。
依照本节技术方案,解码是编码的逆过程,不再赘述。
下面以定位信息中广泛使用的NMEA-0183的格式为例,对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
具体以NMEA-0183中表示地理定位信息的报文格式为例,并且假设本条报文Message为”$GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D”,报文中各个字段以逗号隔开,各字段所代表的具体信息如下:
字段0:$GPGLL,语句ID,表明该语句为Geographic Position(GLL)地理定位信息;
字段1:纬度ddmm.mmmm,度分格式(前导位数不足则补0);
字段2:纬度N(北纬)或S(南纬);
字段3:经度dddmm.mmmm,度分格式(前导位数不足则补0);
字段4:经度E(东经)或W(西经);
字段5:UTC时间,hhmmss.sss格式;
字段6:状态,A=定位,V=未定位;
字段7:校验值。
此报文的具体编码步骤如下:
(1)预处理
针对报文字符集合中数字和逗号出现频繁等特点,结合具体使用环境,创建字符集合的经验值静态频率表_Exper_Table,并将_Adapt_Table初始化为_Exper_Table;
(2)读入字符
将该条报文Message各字符逐个读入;
(3)算术编码
根据当前的频率表,并结合当前字符频率对该字符进行算术编码;
(4)是否更新频率表
根据实际需求,在编码过程中,频率表_Adapt_Table的更新可逐字符进行,即对本条报文Message中各个字符进行算术编码后,均更新频率表;也可以若干条报文为单位进行,即对单条报文逐个字符进行算术编码后,仅记录各个字符出现的次数,在达到设定的若干条报文编码结束后再根据记录情况进行频率表的更新。
具体步骤为若需要更新频率表_Adapt_Table,则执行下一步骤(5),否则跳转到步骤(6);
(5)更新频率表
通过更新本次编码字符的频率,进而更新频率表_Adapt_Table;
(6)本条报文编码是否结束
如果本条报文Message编码未结束,则跳转到步骤(2),继续编码下一个字符,否则执行下一步骤(7);
(7)结束
结束本次编码。

Claims (3)

1.一种字符型报文压缩方法,其特征在于:包括如下步骤:
假设该字符型报文的字符集合为A,其字符个数为n,字符概率为Pi,则有
ai∈A
Figure FDA00001877645400011
其中1≤i≤n
(1)预处理
在初次使用字符型报文格式进行编码时,需要初始化频率表_Adapt_Table,并将其赋给频率表_Adapt_Table;
(2)接收一条报文
假设所述接收到的一条报文为Message,字符序列为B,序列元素个数为m,即
bj∈A,其中1≤j≤m
(3)读入字符
将所述接收到的报文Message的各字符逐个读入,假设读入字符为bj,1≤j≤m,其概率为Pbj
(4)算术编码
根据当前的频率表_Adapt_Table,并结合当前字符频率Pbj对该字符进行算术编码;
算术编码的具体步骤为:
假设算术编码所采用的初始编码区间为[0,Max],Max为区间最大值,设置为0xFFFF,编码过程中区间为[Low,High],区间范围为Range,其中Low为区间下沿,初始为0,High为区间上沿,初始为Max,读入字符为bj,其频率为Pbj,累计频率为CumPbj,即符号值小于该符号的频率的总计;
(41)初始化
初始化编码区间[0,Max],建立频率表;
(42)读入字符bj
将所述报文Message各字符逐个读入,假设读入字符为bj,1≤j≤m,其概率为Pbj
(43)更新区间 
根据当前频率表以及Pbj和CumPbj,更新区间[Low,High],具体计算公式如下:
Range=High-Low+1
High=Low+Range*(CumPbj+Pbj)-1
Low=Low+Range*CumPbj
(44)归一化
检查区间[Low,High]是否满足继续编码的条件,如果满足继续编码,否则对区间[Low,High]进行归一化操作;
对区间[Low,High]进行归一化操作,具体分为以下三种情况:
情况一:区间上沿最高位是1,次高位为0,下沿最高位是0,次高位是1,对之做将次高位移出操作,即忽略掉次高位,并记录下忽略次高位的次数Case1Num;
情况二:区间上下沿最高位均是0,则进行将上下沿左移1位,且上沿加1的操作,并将移出位添加到输出码流,此后检查Case1Num是否为0,若不为0,则将最高位取反称为Case1Bit,并输出Case1Num个Case1Bit至输出码流;
情况三:区间上下沿最高位均是1,则进行将上下沿左移1位,且上沿加1的操作,并将移出位添加到输出码流,此后检查Case1Num是否为0,若不为0,则将最高位取反称为Case1Bit,并输出Case1Num个Case1Bit至输出码流。
(45)判断是否更新频率表
若是,则执行下一步骤(46),否则跳转到步骤(47);
(46)更新频率表
更新所述编码字符的频率Pbj以及相应的累计频率CumPbj,即更新频率表;
(47)判断是否结束
若是,则结束此次编码,否则跳转到步骤(42),继续编码下一字符。
(5)判断是否更新频率表
根据实际需求,在编码过程中,所述频率表_Adapt_Table更新或者逐字符进行,即对本条报文Message中各个字符进行算术编码后,均更新频率表;或者以若干条报文为单位进行,即对单条报文逐个字符进行算术编码后,仅记录各个字符出现的次数,在达到设定的若干条报文编码结束后再根据记录情况进行频率表的更新;若需要更新频率表_Adapt_Table,则执行下一步骤(6),否则跳转到步骤(7); 
(6)更新频率表
通过更新字符bj的频率Pbj,进而更新频率表_Adapt_Table;
(7)本条报文编码是否结束
如果本条报文Message编码未结束,则跳转到步骤(3),继续编码下一个字符,否则执行下一步骤(8);
(8)判断是否有下一条报文
若是,则执行步骤(9),否则执行步骤(11),即结束本次编码;
(9)判断是否更新频率表
对于采用所述以若干条报文为单位进行更新频率表_Adapt_Table方法的情况下,在本条报文Message编码结束后,如果要更新频率表则执行下一步骤,否则跳转到步骤(2),读入下一条报文,继续编码;
(10)更新频率表
使用所记录的字符出现次数进行频率表_Adapt_Table的更新;
(11)结束
结束本次编码。
2.如权利要求1所述的字符型报文压缩方法,其特征在于:对频率表的初始化提出按经验值和等概率两种方式,其中,按经验值方式针对报文的字符集合特点,结合具体使用环境,分配给Pi具体值,从而创建字符集合的经验值静态频率表_Exper_Table,并将其赋给频率表_Adapt_Table;而等概率方式则是创建等概率静态频率表_EqualPro_Table,即
Figure FDA00001877645400031
并将其赋给频率表_Adapt_Table。
3.如权利要求1所述的字符型报文压缩方法,其特征在于:解码是编码的逆过程。 
CN201210241220.4A 2012-07-12 2012-07-12 一种字符型报文压缩方法 Active CN102811113B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210241220.4A CN102811113B (zh) 2012-07-12 2012-07-12 一种字符型报文压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210241220.4A CN102811113B (zh) 2012-07-12 2012-07-12 一种字符型报文压缩方法

Publications (2)

Publication Number Publication Date
CN102811113A true CN102811113A (zh) 2012-12-05
CN102811113B CN102811113B (zh) 2014-12-10

Family

ID=47234703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210241220.4A Active CN102811113B (zh) 2012-07-12 2012-07-12 一种字符型报文压缩方法

Country Status (1)

Country Link
CN (1) CN102811113B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107846263A (zh) * 2017-11-01 2018-03-27 中国电子科技集团公司第二十八研究所 一种基于分段计算的信源二进制算术编码方法和编码***
CN116015312A (zh) * 2023-03-28 2023-04-25 山东奔虎智能科技有限公司 基于物联网平台的气体报警***数据存储方法
CN116702708A (zh) * 2023-08-04 2023-09-05 陕西交通电子工程科技有限公司 一种道路路面施工数据管理***
CN116896769A (zh) * 2023-09-11 2023-10-17 深圳市久实电子实业有限公司 一种摩托车蓝牙音响数据优化传输方法
WO2024060351A1 (en) * 2022-09-20 2024-03-28 Hong Kong Applied Science and Technology Research Institute Company Limited Hardware implementation of frequency table generation for asymmetric-numeral-system-based data compression

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1249083A (zh) * 1996-12-30 2000-03-29 艾利森电话股份有限公司 处理信息的方法和设备
US20040075596A1 (en) * 2000-09-28 2004-04-22 Richard Price Huffman data compression method
CN101282121A (zh) * 2007-04-05 2008-10-08 安凯(广州)软件技术有限公司 一种基于条件概率的哈夫曼解码的方法
CN101534124A (zh) * 2008-12-16 2009-09-16 北京航空航天大学 一种用于短小自然语言的压缩算法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1249083A (zh) * 1996-12-30 2000-03-29 艾利森电话股份有限公司 处理信息的方法和设备
US20040075596A1 (en) * 2000-09-28 2004-04-22 Richard Price Huffman data compression method
CN101282121A (zh) * 2007-04-05 2008-10-08 安凯(广州)软件技术有限公司 一种基于条件概率的哈夫曼解码的方法
CN101534124A (zh) * 2008-12-16 2009-09-16 北京航空航天大学 一种用于短小自然语言的压缩算法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107846263A (zh) * 2017-11-01 2018-03-27 中国电子科技集团公司第二十八研究所 一种基于分段计算的信源二进制算术编码方法和编码***
CN107846263B (zh) * 2017-11-01 2020-07-14 南京莱斯电子设备有限公司 一种基于分段计算的信源二进制算术编码方法和编码***
WO2024060351A1 (en) * 2022-09-20 2024-03-28 Hong Kong Applied Science and Technology Research Institute Company Limited Hardware implementation of frequency table generation for asymmetric-numeral-system-based data compression
CN116015312A (zh) * 2023-03-28 2023-04-25 山东奔虎智能科技有限公司 基于物联网平台的气体报警***数据存储方法
CN116702708A (zh) * 2023-08-04 2023-09-05 陕西交通电子工程科技有限公司 一种道路路面施工数据管理***
CN116702708B (zh) * 2023-08-04 2023-11-03 陕西交通电子工程科技有限公司 一种道路路面施工数据管理***
CN116896769A (zh) * 2023-09-11 2023-10-17 深圳市久实电子实业有限公司 一种摩托车蓝牙音响数据优化传输方法
CN116896769B (zh) * 2023-09-11 2023-11-10 深圳市久实电子实业有限公司 一种摩托车蓝牙音响数据优化传输方法

Also Published As

Publication number Publication date
CN102811113B (zh) 2014-12-10

Similar Documents

Publication Publication Date Title
CN101501999B (zh) 数据编码
CN102811113B (zh) 一种字符型报文压缩方法
CN102811114B (zh) 一种采用帧间编码的字符型通信报文压缩方法
US8159374B2 (en) Unicode-compatible dictionary compression
CN101165510A (zh) 星载合成孔径雷达可变位数baq压缩***及方法
CN116506073B (zh) 一种工业计算机平台数据快速传输方法及***
CN102122960A (zh) 一种针对二进制数据的多字符组合无损数据压缩方法
CN103236847A (zh) 基于多层哈希结构与游程编码的数据无损压缩方法
CN106170922A (zh) 数据的源编码和解码的设备和方法
CN101449462A (zh) 基于集合关联高速缓存映射技术的高速数据压缩
CN100367316C (zh) 窗口空闲帧存储器压缩
CN100488056C (zh) 使用贪婪的顺序上下文相关文法变换的改进的无损耗数据压缩方法
CN101534124B (zh) 一种用于短小自然语言的压缩算法
Howard et al. Parallel lossless image compression using Huffman and arithmetic coding
CN106202213A (zh) 一种fpga二进制文件压缩、解压方法及压缩、解压装置
US10897270B2 (en) Dynamic dictionary-based data symbol encoding
CN105306951A (zh) 数据压缩编码的流水线并行加速方法及其***架构
CN104156990A (zh) 一种支持特大型数据窗口的无损压缩编码方法及***
CN112968706A (zh) 数据压缩方法、fpga芯片及fpga在线升级方法
CN113220651B (zh) 运行数据压缩方法、装置、终端设备以及存储介质
CN101847998A (zh) 一种高性能gml流压缩方法
CN101469989B (zh) 一种手机网络导航中导航数据的压缩方法
CN103716056A (zh) 数据压缩方法、数据解压缩方法和设备
Mahmood et al. An Efficient 6 bit Encoding Scheme for Printable Characters by table look up
CN100423453C (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
C14 Grant of patent or utility model
GR01 Patent grant