CN111342844B - 一种基于lzw编码与改进游程编码的雷达数据无损压缩及解压方法 - Google Patents

一种基于lzw编码与改进游程编码的雷达数据无损压缩及解压方法 Download PDF

Info

Publication number
CN111342844B
CN111342844B CN202010127447.0A CN202010127447A CN111342844B CN 111342844 B CN111342844 B CN 111342844B CN 202010127447 A CN202010127447 A CN 202010127447A CN 111342844 B CN111342844 B CN 111342844B
Authority
CN
China
Prior art keywords
bit
data
coding
lzw
original data
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.)
Active
Application number
CN202010127447.0A
Other languages
English (en)
Other versions
CN111342844A (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.)
Cssc Pengli Nanjing Technology Group Co ltd
China Shipbuilding Pengli Nanjing Atmospheric And Ocean Information System Co ltd
Original Assignee
Cssc Pengli Nanjing Technology Group Co ltd
China Shipbuilding Pengli Nanjing Atmospheric And Ocean Information System Co ltd
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 Cssc Pengli Nanjing Technology Group Co ltd, China Shipbuilding Pengli Nanjing Atmospheric And Ocean Information System Co ltd filed Critical Cssc Pengli Nanjing Technology Group Co ltd
Priority to CN202010127447.0A priority Critical patent/CN111342844B/zh
Publication of CN111342844A publication Critical patent/CN111342844A/zh
Application granted granted Critical
Publication of CN111342844B publication Critical patent/CN111342844B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A90/00Technologies having an indirect contribution to adaptation to climate change
    • Y02A90/10Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation

Abstract

本发明公开了一种基于LZW编码与改进游程编码的雷达数据无损压缩及解压方法,利用LZW编码过程中对N bit数据拓展至(N+M)bit,用(N+M)bit的首位作为标志位对LZW编码与改进游程编码进行区分,同时用(M‑1)bit表示采用改进游程编码时N bit数据重复出现的次数,取消了传统游程编码的压缩标志符与重复出现次数符,一方面节省了输出数据量,且较原始方法中数据需连续重复出现4次才具有压缩效果的情况,该方法在数据重复出现2次即具有压缩效果,压缩率最高能提升66.7%;另一方面本方法还节省了LZW编码的字典库资源,减小了LZW编码的字典深度,大大减小了每次LZW编码时的比较次数,大大节省逻辑资源,具备无损压缩、实时压缩、高效压缩、节省资源且适用范围广的突出优点。

Description

一种基于LZW编码与改进游程编码的雷达数据无损压缩及解 压方法
技术领域
本发明涉及数据压缩与解压缩算法研究领域,特别是一种基于LZW编码与改进游程编码的雷达数据无损压缩及解压方法。
背景技术
随着大规模集成电路与计算机技术的快速发展,信号采集精度越来越高,数据流越来越大,信号采集板与数字处理终端间通信的压力越来越大,为降低数据传输对硬件资源的需求,对数据进行一定的编码以降低带宽的压缩技术变得尤为重要。
据已有资料来看,预测编码、分型图形编码等有损压缩技术因压缩率较高,而且人体感官对图片、声音、视频等丢失的某些信息不易察觉,因此这一类压缩算法在该领域应用十分广泛,但是在一些对于灵敏度要求较高的领域如雷达探测、安防警戒等,压缩过程丢失的信息可能包含某些目标的关键参数,因此编码压缩的可逆性在这些领域尤为重要。
常见的无损压缩算法主要有哈夫曼编码、算数编码、LZW编码及游程编码等,上述无损压缩算法,还存在着如下不足,有待进行改进:
1、哈夫曼编码与算数编码,均需根据原数据发生的概率进行编码,需要对压缩数据进行统计,处理过程缓慢,实时性差。
2、单纯的LZW编码在压缩过程中因字典深度限制,需要反复建立编码字典,且每次压缩过程均需要与字典中的数据进行比较,耗费系统资源且不利于压缩率的提高。
3、传统的游程编码因编码规则限制使其只有在字符连续出现4次以上才具备压缩效果。因此,该方法在雷达信号压缩领域适用性有限。
目前,在部分文献中,虽然有采用变位宽压缩方法对LZW编码,进行改进或将上述算法中两种算法结合得到的新算法,但针对雷达回波信号采集领域,变位宽的编码输出不方便且数据连续重复出现4次以上的情况亦相对少见,在硬件设计中实现较为困难,因此其在压缩率及适用性的提升上仍有较大改进的空间。
发明内容
本发明要解决的技术问题是针对上述现有技术的不足,而提供一种基于LZW编码与改进游程编码的雷达数据无损压缩及解压方法,该基于LZW编码与改进游程编码的雷达数据无损压缩及解压方法具备无损、实时、压缩率高、节省资源且适用性强。
为解决上述技术问题,本发明采用的技术方案是:
一种基于LZW编码与改进游程编码的雷达数据无损压缩及解压方法,包括无损压缩和无损解压。
其中,无损压缩为将N bit的原数据,采用LZW编码或改进游程编码,使拓展为(N+M)bit的压缩数据,其中,M 为正整数且2≤M。
针对(N+M)bit的压缩数据,假设取其首位为标志位,用于识别压缩数据的压缩编码方式,同时假设标志位为“0”时,表示采用LZW编码,则“1”表示采用改进游程编码。
当标志位表示采用LZW编码时,标志位后面的(N+M-1)bit,从右至左的有效bit,则对应原数据。
当标志位表示采用改进游程编码时,假设取(N+M)bit压缩数据的最后(M-1)bit表示N bit原数据重复出现的次数,则位于标志位与最后(M-1)bit之间的N bit数据直接对应N bit原数据。
无损解压为将(N+M)bit的压缩数据,恢复为N bit原数据。无损解压时,通过标志位,识别压缩数据所采用的压缩编码方式,并采用与压缩相反的方式,恢复出N bit原数据。
无损压缩的方法,包括如下步骤。
步骤S1,初始化LZW字典。
步骤S2,建立标志位与编码对应关系:假设取压缩数据的首位为标志位并设定其为“0”时,表示采用LZW编码。设定标志位为“1”时,表示采用改进游程编码。
步骤S3,建立重复次数编码:当采用改进游程编码时,假设取(N+M)bit压缩数据的最后(M-1)bit表示N bit原数据重复出现的次数,则位于标志位与最后(M-1)bit之间的Nbit数据直接对应N bit原数据,同时建立最后(M-1)bit与N bit原数据重复次数cnt的对应关系。
步骤S4,当前N bit原数据的读取及寄存:假设待压缩数据串包含连续的原数据Dc和Dn。先读入当前到来的N bit原数据Dc,并将Dc进行寄存。
步骤S5,下一个N bit原数据的读取与比较:读入下一个N bit原数据Dn。
步骤S6,Dn与Dc比较:将步骤S5读入的Dn与步骤S4寄存的Dc按照如下方式进行比较:
步骤S61:若Dc=Dn,对Dc的重复次数cnt进行自增1运算,然后判断Dn是否为最后一个重复数据。
步骤S61A):若Dn为最后一个重复原数据,则采用改进游程编码,进行压缩数据输出。此时,改进游程编码的压缩输出方式为:先将首位设置为“1”,再根据步骤S3建立的重复次数编码,查找出步骤S61中自增运算后的cnt值所对应的重复次数编码,进行最后(M-1)bit的编码。最后,将读取的N bit原数据Dc,直接放置在标志位与最后(M-1)bit之间,从而形成改进游程编码的压缩输出数据。
步骤S61B):若Dn不是最后一个重复原数据,则读入Dn之后连续重复的N bit原数据,并记录最终自增运算后的重复次数cnt值,并按照步骤S61A)的改进游程编码压缩输出方式,形成改进游程编码的压缩输出数据。
步骤S62:若Dc≠Dn,判断Dc的重复次数变量cnt是否为0。
步骤S62A):若cnt=0,且Dn是最后一个原数据,则将Dc与Dn均采用LZW编码输出,压缩过程结束。
步骤S62B):若cnt=0,且Dn不是最后一个原数据,准备将Dc按照LZW编码输出,将Dn寄存并继续读入Dn后的下一个原数据。随后,将当前读入的Dn和下一个原数据与Dn进行比较,依次类推,直至最后一个原数据或出现相邻两个原数据相等时,将相等的相邻两个原数据前的所有非相等原数据,均准备按照LZW编码的压缩输出方式,依次进行压缩数据的输出。
步骤S62C):若cnt≠0,则表示Dc已经重复出现了cnt次,先准备将Dc采用改进游程编码输出,再判断Dn是否为最后一个重复数据,若是,则将Dc采用LZW编码输出并结束压缩过程,否则令Dc=Dn,并将Dc寄存,然后返回步骤S5继续进行压缩过程。
LZW编码的压缩输出方式为:先将首位设置为“0”,再将N bit原数据Dc和Dn经LZW编码后的压缩数据放置在待输出的编码数据的末尾,同时根据需要在首位和LZW编码数据有效位之前补“0”,从而形成(N+M)bitLZW编码的压缩输出数据。
无损解压的方法,包括如下步骤:
步骤Y1:读入待解压数据Di。
步骤Y2,选择解压方式:通过判断标志位的值,选择对应的解压方式。若标志位的值为1,则选择游程解码规则进行解压Di。若标志位的值为0,则选择LZW解码规则进行解压Di。
步骤Y3,解压:按照步骤Y2选择的解压方式,对Di进行解压,其中:
A)游程解码规则为:读取最后(M-1)bit的值,根据步骤S3建立的重复次数编码,查找得出Di的重复次数cnt值,再读取标志位与最后(M-1)bit之间的N bit原数据Dc,然后将Dc重复cnt次后输出。
B)LZW解码规则为:读取标志位后的(N+M-1)bit的值,按照传统LZW编码的解码规则进行解码。
步骤Y4:判断Di是否为最后一位待解压数据,若是,则结束此次解压过程。否则,返回步骤Y1,继续执行解压过程。
本发明具有如下有益效果:
1、充分利用了LZW编码与改进游程编码无损压缩、实时压缩的特性,同时利用LZW编码过程中对N bit数据拓展至(N+M)bit(一般M<N)的特点对传统游程编码进行改进,在一个压缩进程中用(N+M)bit输出数据的首位作为标志位对LZW编码与改进游程编码进行区分,同时用(M-1)bit表示采用改进游程编码时N bit数据重复出现的次数,取消了传统游程编码的压缩标志符与重复出现次数符,一方面节省了输出数据量,且相较原始方法中数据需连续重复出现4次才具有压缩效果的情况,该方法在数据重复出现2次即具有压缩效果,压缩率最高能提升66.7%。
2、本发明中,由于将重复的原数据,采用改进游程编码进行压缩,从而节省了LZW编码的字典库资源,减小了LZW编码的字典深度,大大减小了每次LZW编码时的比较次数,大大节省逻辑资源,具备无损压缩、实时压缩、高效压缩、节省资源且适用范围广的突出优点。
3、根据数据重复出现的特征自动选择较为合适的压缩方法,提高了压缩算法的适用范围。
4、综合了LZW编码与游程编码实时压缩与无损压缩的特点,解码方便。
附图说明
图1显示了本发明的总流程图。
图2显示了本发明中的压缩过程对应的流程图。
图3显示了本发明具体实施例中的压缩过程对应的数据流示意图。
图4显示了本发明具体实施例中的解压过程对应的数据流示意图。
具体实施方式
下面结合附图和具体较佳实施方式对本发明作进一步详细的说明。
本发明的描述中,需要理解的是,术语“左侧”、“右侧”、“上部”、“下部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,“第一”、“第二”等并不表示零部件的重要程度,因此不能理解为对本发明的限制。本实施例中采用的具体尺寸只是为了举例说明技术方案,并不限制本发明的保护范围。
如图1所示,一种基于LZW编码与改进游程编码的雷达数据无损压缩及解压方法,包括无损压缩和无损解压。
其中,无损压缩为将N bit的原数据,采用LZW编码或改进游程编码,使拓展为(N+M)bit的压缩数据,其中,M为正整数且2≤M。
针对(N+M)bit的压缩数据,假设取其首位为标志位,用于识别压缩数据的压缩编码方式,同时假设标志位为“0”时,表示采用LZW编码,则“1”表示采用改进游程编码。
当标志位表示采用LZW编码时,标志位后面的(N+M-1)bit,从右至左的有效bit,则对应原数据。
当标志位表示采用改进游程编码时,假设取(N+M)bit压缩数据的最后(M-1)bit表示N bit原数据重复出现的次数,则位于标志位与最后(M-1)bit之间的N bit数据直接对应N bit原数据。
无损解压为将(N+M)bit的压缩数据,恢复为N bit原数据。无损解压时,通过标志位,识别压缩数据所采用的压缩编码方式,并采用与压缩相反的方式,恢复出N bit原数据。
无损压缩的方法,包括如下步骤。
步骤S1,初始化LZW字典。
步骤S2,建立标志位与编码对应关系:假设取压缩数据的首位为标志位并设定其为“0”时,表示采用LZW编码。设定标志位为“1”时,表示采用改进改进游程编码。
步骤S3,建立重复次数编码:当采用改进游程编码时,假设取(N+M)bit压缩数据的最后(M-1)bit表示N bit原数据重复出现的次数,则位于标志位与最后(M-1)bit之间的Nbit数据直接对应N bit原数据,同时建立最后(M-1)bit与N bit原数据重复次数cnt的对应关系。
步骤S4,当前N bit原数据的读取及寄存:假设待压缩数据串包含连续的原数据Dc和Dn。先读入当前到来的N bit原数据Dc,并将Dc进行寄存。
步骤S5,下一个N bit原数据的读取与比较:读入下一个N bit原数据Dn。
步骤S6,Dn与Dc比较:将步骤S5读入的Dn与步骤S4寄存的Dc按照如下方式进行比较:
步骤S61:若Dc=Dn,对Dc的重复次数cnt进行自增1运算,然后判断Dn是否为最后一个重复数据。
步骤S61A):若Dn为最后一个重复原数据,则采用改进游程编码,进行压缩数据输出。此时,改进游程编码的压缩输出方式为:先将首位设置为“1”,再根据步骤S3建立的重复次数编码,查找出步骤S61中自增运算后的cnt值所对应的重复次数编码,进行最后(M-1)bit的编码。最后,将读取的N bit原数据Dc,直接放置在标志位与最后(M-1)bit之间,从而形成改进游程编码的压缩输出数据。
步骤S61B):若Dn不是最后一个重复原数据,则读入Dn之后连续重复的N bit原数据,并记录最终自增运算后的重复次数cnt值,并按照步骤S61A)的改进游程编码压缩输出方式,形成改进游程编码的压缩输出数据。
步骤S62:若Dc≠Dn,判断Dc的重复次数变量cnt是否为0。
步骤S62A):若cnt=0,且Dn是最后一个原数据,则将Dc与Dn均采用LZW编码输出,压缩过程结束。其中,LZW编码的压缩输出方式为:先将首位设置为“0”,再将N bit原数据Dc和Dn经LZW编码后的压缩数据放置在待输出的编码数据的末尾,同时根据需要在首位和LZW编码数据有效位之前补“0”,从而形成(N+M)bitLZW编码的压缩输出数据。
步骤S62B):若cnt=0,且Dn不是最后一个原数据,准备将Dc按照LZW编码输出,将Dn寄存并继续读入Dn后的下一个原数据。随后,将当前读入的Dn和下一个原数据与Dn进行比较,依次类推,直至最后一个原数据或出现相邻两个原数据相等时,将相等的相邻两个原数据前的所有非相等原数据,均准备按照LZW编码的压缩输出方式,依次进行压缩数据的输出。
步骤S62C):若cnt≠0,则表示Dc已经重复出现了cnt次,先准备将Dc采用改进游程编码输出,再判断Dn是否为最后一个重复数据,若是,则将Dc采用LZW编码输出并结束压缩过程,否则令Dc=Dn,并将Dc寄存,然后返回步骤S5继续进行压缩过程
如图2所示,无损解压的方法,包括如下步骤:
步骤Y1:读入待解压数据Di。
步骤Y2,选择解压方式:通过判断标志位的值,选择对应的解压方式。若标志位的值为1,则选择游程解码规则进行解压Di。若标志位的值为0,则选择LZW解码规则进行解压Di。
步骤Y3,解压:按照步骤Y2选择的解压方式,对Di进行解压,其中:
A)游程解码规则为:读取最后(M-1)bit的值,根据步骤S3建立的重复次数编码,查找得出Di的重复次数cnt值,再读取标志位与最后(M-1)bit之间的N bit原数据Dc,然后将Dc重复cnt次后输出。
B)LZW解码规则为:读取标志位后的(N+M-1)bit的值,按照传统LZW编码的解码规则进行解码。
步骤Y4:判断Di是否为最后一位待解压数据,若是,则结束此次解压过程。否则,返回步骤Y1,继续执行解压过程。
下面以一具体实施例,对上述压缩及解压方法,进行详细说明。
假定对一串十六进制表示的8bit数据1AH,96H,B5H,B5H,1AH,96H,D8H,0FH,0FH,0FH,0FH进行压缩,压缩后的数据也采用16进制输出,参照图3,按照如下步骤进行。
步骤S1,初始化LZW字典,其中,对于传统的LZW编码,“初始化字典”即代表着“将十六进制表示的所有8bit数据00H~FFH,共256个数据,均预存入LZW字典,形成原始LZW字典。
本实例中,N=8,M=4,也即将8bit的输入数据进行压缩,将压缩后输出的数据宽度拓展至12bit。同时,将十六进制表示的100H与101H分别设为输出数据中每个LZW字典的开始标志与结束标志。
步骤S2,建立标志位与编码对应关系:设定标志位为“0”时,表示采用LZW编码。设定标志位为“1”时,表示采用改进游程编码。
当采用LZW编码时,压缩后输出数据的有效位为后11位,对应的编码字典深度为2048。
当采用改进游程编码时,压缩后输出数据的有效位为后11位,有效位中的前八位为8bit原数据,末尾三位表示8bit原数据的重复次数。
步骤S3,建立重复次数编码:当采用改进游程编码时,建立最后(M-1)bit与N bit原数据重复次数cnt的对应关系。因为有标志位的存在,若末尾三位均为0,即表示数据重复两次;若末尾三位均为1,则表示数据重复9次,以此类推。也即:000-重复两次-cnt=1,001-重复三次-cnt=2,010-重复四次-cnt=3,011-重复五次-cnt=4,100-重复六次-cnt=5,101-重复七次-cnt=6,110-重复八次-cnt=7,111-重复九次-cnt=8。
在图2中,cnt= 2m-1,m取自然数,重复次数为流程图中计算得到的cnt值加1。
步骤S4,当前N bit原数据的读取及寄存:假设待压缩数据串为Dc和Dn。先读入当前到来的N bit原数据Dc,并将Dc进行寄存。
本实施例中,首先读入当前到来的数据1AH并将其寄存。
步骤S5,下一个N bit原数据的读取与比较:读入下一个N bit原数据Dn。
本实施例中,继续读入下一个数据96H。
步骤S6,Dn与Dc比较。
第一步,本实例中,首先输出开始标志100H(开始标志的具体编码及地址可以根据需要,自行设置),继续判断得知1AH在LZW字典库中,然后将96H寄存并继续读入下一个数据B5H,比较得知二者不相等且计数变量cnt=0,将96H也按照LZW编码压缩,判断1AH&96H不在字典库中,因此将1AH所在地址输出,并将1AH&96H加入字典库中,因字典库中000H~0FFH地址已用于存放00H~FFH的8bit初始数据,且100H及101H用于字典库开始标志和结束标志,因此将1AH&96H存入字典库的102H位置处,然后输出96H在字典库中的地址,得到的输出编码依次为01AH、096H。
其中,以1AH为例,采用LZW编码压缩的输出步骤如下:
由于原数据1AH=(00011010)2;编码时,需将原数据位宽拓展至12位。编码方法:首位,也即标志位,设为“0”,后8位为“00011010”,中间3位补0,故LZW编码压缩后数据为(000000011010)2=01AH。
第二步,将B5H寄存并继续读入下一个数B5H,二者相等,计数变量cnt自增1,继续读入下一个数1AH,二者不相等且计数变量cnt≠0,因此先将B5H采用改进游程编码压缩,标志位设为1,实际输出时将末尾三位进行修正,实际输出值为DA8H,同时将cnt清零并将1AH寄存。
第三步:继续读入下一个数96H,比较得到二者不相等且计数变量cnt=0,准备将1AH按照LZW编码压缩,将96H寄存并继续读入下一个数D8H,比较得到二者不相等且计数变量cnt=0,准备将96H按照LZW编码压缩,将D8H寄存并继续读入下一个数0FH,比较得到二者不相等且计数变量cnt=0,准备将0FH按照LZW编码压缩,将0FH寄存并继续读入下一个数据0FH,比较得到二者相等,故先将1AH、96H、D8H按照LZW编码压缩后再将0FH按照改进游程编码压缩同时将标志位设为1,计数变量自增1。
第四步:判断得知1AH在字典库中,1AH&96H也在字典库中,但是1AH&96H&D8H不在字典库中,因此先将1AH&96H在字典库中的地址输出,再将D8H在字典库中的地址输出,得到输出编码依次为102H、0D8H。
第五步:继续读入下一个数据0FH,比较得到二者相等,计数变量cnt继续自增1,继续读入下一个数据0FH,比较得到二者相等,计数变量cnt继续自增1,判断得到最后一个数据已经到来,将连续四个0FH按照改进游程编码压缩,拼接标志位、0FH以及修正后的计数变量cnt,得到压缩后的输出数据87AH,整理得到上述连续数据串压缩后输出的数据流为100H,01AH、096H,DA8H,102H、0D8H,87AH。
参照图2,对十六进制的12bit的输入数据进行解压得到8bit的原数据,如将100H,01AH、096H,DA8H,102H、0D8H,87AH进行解压,得到的数据流如图4所示,具体步骤为:
第一步:读入十六进制数据100H,判断为LZW起始编码标志,继续读入下一个数据01AH,判断标志位为0,该数据按照LZW编码解压,得到原数据为1AH,判断不是最后一个数据。
第二步:继续读入下一个数据096H,判断标志位为0,该数据按照LZW编码解压,得到原数据为96H。
第三步:判断不是最后一个数据,继续读入下一个数据DA8H,判断标志位为1,该数据按照改进游程编码解压,原数据为第2至第9位,为B5H,计数变量cnt为末尾三位,为000,表示原数据中B5H重复出现了两次,得到原数据为B5H,B5H。
第四步:判断不是最后一个数据,继续读入下一个数据102H,判断标志位为0,该数据按照LZW编码解压,因102H已超过字典初始化最大地址,因此102H表示前面已经连续出现的数据1AH与96H拼接得到的新数据,故得到原数据1AH,96H。
第五步:继续读入下一个数据0D8H,判断标志位为0,该数据按照LZW编码解压,得到原数据为96H。
第六步:判断不是最后一个数据,继续读入下一个数据87AH,判断标志位为1,该数据按照改进游程编码解压,原数据为第2至第9位,为0FH,计数变量cnt为末尾三位,为010,表示原数据中0FH重复出现了四次,得到原数据为0FH,0FH,0FH,0FH,判断已是最后一个数据,结束解压过程,最终得到的原数据为1AH,96H,B5H,B5H,1AH,96H,D8H,0FH,0FH,0FH,0FH。
以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这些等同变换均属于本发明的保护范围。

Claims (2)

1.一种基于LZW编码与改进游程编码的雷达数据无损压缩及解压方法,其特征在于:包括无损压缩和无损解压;其中,
无损压缩为将N bit的原数据,采用LZW编码或改进游程编码,使拓展为(N+M) bit的压缩数据,其中,M 为不小于2的正整;
针对(N+M) bit的压缩数据,首位或末位为标志位,用于识别压缩数据的压缩编码方式;假设标志位为“0”时,表示采用LZW编码,则“1”表示采用改进游程编码;
当标志位表示采用LZW编码时,剩余的(N+M-1) bit对应编码数据;
当标志位表示采用改进游程编码时,假设(N+M) bit压缩数据的最后或最前(M-1)bit表示N bit原数据重复出现的次数;则位于标志位与最后或最前(M-1)bit之间的N bit数据直接对应N bit重复出现的原数据;
无损解压为将(N+M)bit的压缩数据,恢复为N bit原数据;无损解压时,通过标志位,识别压缩数据所采用的压缩编码方式,并采用与压缩相反的方式,恢复出N bit原数据;
无损压缩的方法,包括如下步骤:
步骤S1,初始化LZW编码字典:根据压缩过程规定的编码规则,初始化LZW编码字典,等待对读入的数据进行LZW编码压缩;
步骤S2,建立标志位与编码对应关系:假设将压缩后的数据的首位设为标志位,同时设定标志位为“0”时,表示采用 LZW编码;则标志位为“1”时,表示采用改进游程编码;
步骤S3,建立重复次数编码:假设取(N+M)bit压缩数据的最后(M-1)bit表示N bit原数据重复出现的次数,则位于标志位与最后(M-1)bit之间的N bit数据直接对应N bit原数据;
步骤S4,当前N bit原数据的读取及寄存:假设待压缩数据串包含连续的原数据Dc和Dn;先读入当前到来的N bit原数据Dc,并将Dc进行寄存;
步骤S5,下一个N bit原数据的读取与比较:读入下一个N bit原数据Dn;
步骤S6,Dn与Dc比较:将步骤S5读入的Dn与步骤S4寄存的Dc按照如下方式进行比较:
步骤S61:若Dc=Dn,对Dc的重复次数cnt进行自增1运算,然后判断Dn是否为最后一个重复数据;
步骤S61A):若Dn为最后一个重复原数据,则采用改进游程编码,进行压缩数据输出;此时,改进游程编码的压缩输出方式为:先将首位设置为“1”,再根据步骤S3建立的重复次数编码,查找出步骤S61中自增运算后的cnt值所对应的重复次数编码,进行最后(M-1)bit的编码;最后,将读取的N bit原数据Dc,直接放置在标志位与最后(M-1)bit之间,从而形成改进游程编码的压缩输出数据;
步骤S61B):若Dn不是最后一个重复原数据,则读入Dn之后连续重复的N bit原数据,并记录最终自增运算后的重复次数cnt值,并按照步骤S61A)的改进游程编码压缩输出方式,形成改进游程编码的压缩输出数据;
步骤S62:若Dc≠Dn,判断Dc的重复次数变量cnt是否为0;
步骤S62A):若cnt=0,且Dn是最后一个原数据,则将Dc与Dn均采用LZW编码输出,压缩过程结束;其中,LZW编码的压缩输出方式为:先将首位设置为“0”,再将N bit原数据Dc或Dn经LZW编码后的压缩数据放置在待输出的编码数据的末尾,同时根据需要在首位和LZW编码数据有效位之前补“0”,从而形成(N+M)bit的LZW编码的压缩输出数据;
步骤S62B):若cnt=0,且Dn不是最后一个原数据,准备将Dc按照LZW编码输出,将Dn寄存并继续读入Dn后的下一个原数据;随后,将当期读入的Dn后下一个原数据与Dn进行比较,依次类推,直至最后一个原数据或出现相邻两个原数据相等时,将相等的相邻两个原数据前的所有非相等原数据,均准备按照LZW编码的压缩输出方式,依次进行压缩数据的输出;
步骤S62C):若cnt≠0,则表示Dc已经重复出现了cnt次,先准备将Dc采用改进游程编码输出,再判断Dn是否为最后一个重复数据,若是,则将Dc采用改进游程编码输出并结束压缩过程,否则令Dc=Dn,并将Dc寄存,然后返回步骤S5继续进行压缩过程。
2.根据权利要求1所述的基于LZW编码与改进游程编码的雷达数据无损压缩及解压方法,其特征在于:无损解压的方法,包括如下步骤:
步骤Y1:读入待解压数据Di;
步骤Y2,选择解压方式:通过判断标志位的值,选择对应的解压方式;若标志位的值为1,则选择游程解码规则进行解压Di;若标志位的值为0,则选择LZW解码规则进行解压Di;
步骤Y3,解压:按照步骤Y2选择的解压方式,对Di进行解压,其中:
A)游程解码规则为:读取最后或最前(M-1)bit的值,根据步骤S3建立的重复次数编码,查找得出Di的重复次数cnt值,再读取标志位与最后或最前(M-1)bit之间的N bit原数据Dc,然后将Dc重复cnt次后输出;
B)LZW解码规则为:读取除标志位后的(N+M-1)bit的值,按照传统LZW编码的解码规则进行解码;
步骤Y4:判断Di是否为最后一位待解压数据,若是,则结束此次解压过程;否则,返回步骤Y1,继续执行解压过程。
CN202010127447.0A 2020-02-28 2020-02-28 一种基于lzw编码与改进游程编码的雷达数据无损压缩及解压方法 Active CN111342844B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010127447.0A CN111342844B (zh) 2020-02-28 2020-02-28 一种基于lzw编码与改进游程编码的雷达数据无损压缩及解压方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010127447.0A CN111342844B (zh) 2020-02-28 2020-02-28 一种基于lzw编码与改进游程编码的雷达数据无损压缩及解压方法

Publications (2)

Publication Number Publication Date
CN111342844A CN111342844A (zh) 2020-06-26
CN111342844B true CN111342844B (zh) 2023-06-27

Family

ID=71185646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010127447.0A Active CN111342844B (zh) 2020-02-28 2020-02-28 一种基于lzw编码与改进游程编码的雷达数据无损压缩及解压方法

Country Status (1)

Country Link
CN (1) CN111342844B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103258030A (zh) * 2013-05-09 2013-08-21 西安电子科技大学 基于字典与游长编码的移动设备内存压缩方法
CN105306063A (zh) * 2015-10-12 2016-02-03 浙江大学 一种记录型数据存储空间的优化与恢复方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8068544B2 (en) * 1998-12-21 2011-11-29 Zin Stai Pte. In, Llc Compression with doppler enhancement
US10489702B2 (en) * 2016-10-14 2019-11-26 Intel Corporation Hybrid compression scheme for efficient storage of synaptic weights in hardware neuromorphic cores

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103258030A (zh) * 2013-05-09 2013-08-21 西安电子科技大学 基于字典与游长编码的移动设备内存压缩方法
CN105306063A (zh) * 2015-10-12 2016-02-03 浙江大学 一种记录型数据存储空间的优化与恢复方法

Also Published As

Publication number Publication date
CN111342844A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
US10831655B2 (en) Methods, devices and systems for compressing and decompressing data
US5608396A (en) Efficient Ziv-Lempel LZI data compression system using variable code fields
CN101095284B (zh) 用于有选择地压缩和解压缩数据的设备与方法
US5877711A (en) Method and apparatus for performing adaptive data compression
EP0903865A1 (en) Method and apparatus for compressing data
CN101667843B (zh) 嵌入式系统的数据压缩、及解压缩方法与装置
WO2017131579A1 (en) Methods, devices and systems for compressing and decompressing data
CN115208414B (zh) 数据压缩方法、数据压缩装置、计算机设备及存储介质
CN103581684A (zh) 压缩编码和解码方法及装置
CN101534124B (zh) 一种用于短小自然语言的压缩算法
CN113630125A (zh) 数据压缩、编码解压缩方法、装置、电子设备及存储介质
CN111342844B (zh) 一种基于lzw编码与改进游程编码的雷达数据无损压缩及解压方法
Rathore et al. A brief study of data compression algorithms
EP1130926A2 (en) Variable length decoding system and method
JP2536422B2 (ja) デ―タ圧縮装置及びデ―タ復元装置
GB2360915A (en) Run length compression encoding of selected bits of data words
JPH05134847A (ja) データ圧縮方法
CN115665268B (zh) 一种适用于存算一体芯片的数据传输装置及方法
CN112449191B (zh) 压缩多个图像的方法、解压缩图像的方法和装置
JPH0818981A (ja) データ圧縮・伸長方式
TW201440046A (zh) 解壓縮電路與相關的壓縮方法與解壓縮方法
US6522270B1 (en) Method of coding frequently occurring values
JPH0884260A (ja) 2次元画像データの圧縮方式および伸長方式
US6583736B1 (en) Bitcode sequence coding of frequently occurring values
CN114416350A (zh) 一种解压方法、装置、可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 211153 No.32 Changqing street, Jiangning Development Zone, Nanjing City, Jiangsu Province

Applicant after: China Shipbuilding Pengli (Nanjing) Atmospheric and Ocean Information System Co.,Ltd.

Applicant after: CSSC Pengli (Nanjing) Technology Group Co.,Ltd.

Address before: 211153 No.32 Changqing street, Jiangning Development Zone, Nanjing City, Jiangsu Province

Applicant before: CSIC PRIDE (NANJING) ATMOSPHERE MARINE INFORMATION SYSTEM Co.,Ltd.

Applicant before: CSIC NANJING PRIDE TECHNOLOGY GROUP CO.,LTD.

GR01 Patent grant
GR01 Patent grant