CN109309501A - 高精度多环数据压缩方法 - Google Patents
高精度多环数据压缩方法 Download PDFInfo
- Publication number
- CN109309501A CN109309501A CN201811063940.XA CN201811063940A CN109309501A CN 109309501 A CN109309501 A CN 109309501A CN 201811063940 A CN201811063940 A CN 201811063940A CN 109309501 A CN109309501 A CN 109309501A
- Authority
- CN
- China
- Prior art keywords
- data
- compression
- digit
- compressed
- ring
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6047—Power optimization with respect to the encoder, decoder, storage or transmission
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了高精度多环数据压缩方法,包含以下步骤:S1,输入待压缩数据;S2,根据目标数据位数,确定需压缩数据位数;S3,将需压缩数据位数分解为N1,N2,...NT;其中,Ni为第i次压缩数据位数,T为压缩总次数;S4,循环执行T次单次压缩,每次压缩位数为分别为N1,N2,...NT;所述循环执行是指前一次压缩结果作为后一次的输入;S5,输出压缩后数据。同时,还能根据数据压缩处理的精度要求,重复执行以上S1‑S5步骤多次。本发明能够根据需要快速设定压缩数据位数,并控制数据压缩精度,同时有效地节省了系统资源。
Description
技术领域
本发明涉及数据处理领域,尤其涉及高精度多环数据压缩方法。
背景技术
对于数字信号处理,通常会遇到上级信号数据处理之后的输出数据位数与下级信号数据输入位数不匹配的情况。如果上级输出数据位数小于下级输入数据位数,直接将上级输出数据高位补0即可解决数据位数不匹配的问题。如果上级输出数据位数大于下级输入数据位数,数据位数匹配问题将变得比较复杂。现有的数据位数匹配方法具有计算复杂,处理精度有限,以及耗费系统资源等较多的问题。
发明内容
为了解决上述问题,本文提出一种高精度多环数据压缩方法,可以在保证数据精度的前提下,压缩输出数据,减小输出数据位数,从而解决输出数据位数大于输入数据位数的问题,并且此方法同时实现了用低带宽传输高带宽信号数据的功能,从而有效的节省了系统资源。
具体的,高精度多环数据压缩方法,包含以下步骤:
S1,输入待压缩数据;
S2,根据目标数据位数,确定需压缩数据位数;
S3,将需压缩数据位数分解为N1,N2,...NT;其中,Ni为第i次压缩数据位数,T为压缩总次数;
S4,循环执行T次单次压缩,每次压缩位数为分别为N1,N2,...NT;所述循环执行是指前一次压缩结果作为后一次的输入;
S5,输出压缩后数据。
优选的,所述单次压缩的具体过程为:根据本次压缩位数N,从输入数据的最高位开始取N位,判断此N位数值是否小于1,如果是,舍弃所取N位高位,右移数据位数记为0;否则,将输入数据整体右移N位,即舍弃输入数据的N位低位数据,右移数据位数记为N。
优选的,还包括多环处理步骤:所述多环处理步骤是指在执行S1-S5后,继续循环执行单环处理;单环处理的执行次数为M-1,M为需处理总环数,M≥2;所述循环执行是指前一环压缩结果作为后一环的输入;
所述单环处理包括以下步骤:计算压缩差量,压缩差量=S1中待压缩数据-前一环压缩后数据×2^前一环中TR-1次右移数据位数的总和;再将压缩差量作为输入,根据本环目标数据位数,确定本环需压缩数据位数;执行S3-S5,输出本环压缩后数据;其中,将需压缩数据位数分解为NR1,NR2,...NRT,S4中执行TR次单次压缩;
其中,R为当前环数;对应的,当前环中需压缩数据位数分解为NR1,NR2,...NRT,压缩次数为TR,以示区分;当R=2时,S6中所述前一环压缩后数据为S5中压缩后数据,TR=T。
优选的,S3所述需压缩数据位数分解采用数学中的整数分拆法。
本发明的有益效果在于:
1)能够根据需要快速设定压缩数据位数;
2)采用多环处理的方法,能够控制数据压缩精度;
3)实现了用低带宽传输高带宽信号数据的功能,有效地节省了系统资源。
附图说明
图1是本发明的系统图;
图2是本发明的实施例图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。
高精度多环数据压缩方法,包含以下步骤,如附图1和附图2所示:
S1,输入待压缩数据;
S2,根据目标数据位数,确定需压缩数据位数;具体的,需压缩数据位数=待压缩数据位数-目标数据位数;
S3,将需压缩数据位数分解为N1,N2,...NT;其中,Ni为第i次压缩数据位数,T为压缩次数;此处的分解方法为数学中的整数分拆方法,也称为整数划分方法,是指将一个整数分解为N(此处为T)个整数相加的形式,是数学中的经典方法。
S4,循环执行T次单次压缩,每次压缩位数为分别为N1,N2,...NT;所述循环执行是指前一次压缩结果作为后一次的输入;
S5,输出压缩后数据。
优选的,所述单次压缩的方法为:根据本次压缩位数N,从输入数据的最高位开始取N位,判断此N位数值是否小于1,如果是,舍弃所取N位高位,右移数据位数记为0;否则,将输入数据整体右移N位,即舍弃输入数据的N位低位数据,右移数据位数记为N。
优选的,还包括多环处理步骤:所述多环处理步骤是指在执行S1-S5后,继续循环执行单环处理;单环处理的执行次数为M-1,M为需处理总环数,M≥2;所述循环执行是指前一环压缩结果作为后一环的输入;
当设定为1环时,不执行多环处理步骤,前述的S1至S5即构成第1环。
当设定为2环时,即M=R=2,本环中所指的上一环压缩后数据为S5中压缩后数据,TR=T,并仅执行一次。
当设定为M环时,执行S1至S5为第1环,并再重复M-1次单环处理,共计执行M环。
所述单环处理包括以下步骤:计算压缩差量,压缩差量=S1中待压缩数据-前一环压缩后数据×2^前一环中TR-1次右移数据位数的总和;再将压缩差量作为输入,根据本环目标数据位数,确定本环需压缩数据位数;执行S3-S5,输出本环压缩后数据;其中,将需压缩数据位数分解为NR1,NR2,...NRT,S4中执行TR次单次压缩;
其中,R为当前环数,取值范围为:2≤R≤M;对应的,当前环中需压缩数据位数分解为NR1,NR2,...NRT,压缩次数为TR,以示区分。
以下通过实施例详细说明本发明的实施步骤。
我们假设:待压缩数据为data_in,其数据位数为58;压缩之后数据由整数数据位integer_data和数据移位次数记录位compress_data组成,其中integer数据位数为11,compress_data数据位为6。我们进行一环数据压缩处理,五次数据压缩处理,每次数据压缩位数分配如下:
第一次数据压缩处理,压缩位数24;位数分配:输入数据data_in_num1,数据位数58;输出数据data_out_num1,数据位数34;
处理过程:将待压缩数据data_in的值赋给data_in_num1,并判断data_in_num1的高24位数据值,如果该数据值大于或等于1,data_out_num1 等于 data_in_num1右移24位的值;如果数据值小于1,data_out_num1等于data_in_num1低34位的值;记录数据移位位数,如果本次处理进行了移位操作,则compress_data1的值为24,如果没有进行移位操作,则compress_data1的值为0。
第二次数据压缩处理,压缩位数12;位数分配:输入数据data_in_num2,数据位数34;输出数据data_out_num2,数据位数22;
处理过程:与第一次数据处理过程类似,注意,此次输入数据data_in_num2的值是上一次数据处理输出数据data_out_num1的值,而且此次数据压缩位数减小为12,同理,如果本次处理进行了移位操作,则compress_data2的值为12,如果没有进行移位操作,则compress_data2的值为0。
第三次数据压缩处理,压缩位数6;:位数分配:输入数据data_in_num3,数据位数22;输出数据data_out_num3,数据位数16;
处理过程:与第二次数据处理过程类似,注意,此次输入数据data_in_num3的值是上一次数据处理输出数据data_out_num2的值,而且此次数据压缩位数减小为6,同理,如果本次处理进行了移位操作,则compress_data3的值为6,如果没有进行移位操作,则compress_data3的值为0。
第四次数据压缩处理,压缩位数3;位数分配:输入数据data_in_num4,数据位数16;输出数据data_out_num4,数据位数13;
处理过程:与第三次数据处理过程类似,注意,此次输入数据data_in_num4的值是上一次数据处理输出数据data_out_num3的值,而且此次数据压缩位数减小为3,同理,如果本次处理进行了移位操作,则compress_data4的值为3,如果没有进行移位操作,则compress_data4的值为0。
第五次数据压缩处理,压缩位数2;位数分配:输入数据data_in_num5,数据位数13;输出数据data_out_num5,数据位数11;
与第四次数据处理过程类似,注意,此次输入数据data_in_num5的值是上一次数据处理输出数据data_out_num4的值,而且此次数据压缩位数减小为2,同理,如果本次处理进行了移位操作,则compress_data5的值为2,如果没有进行移位操作,则compress_data5的值为0。
综上,经过一环数据处理,五次数据压缩,我们把原58位的数据压缩到17位数据输出,其中integer数据为data_out_num5,compress_data数据为compress_data1+compress_data2+compress_data3+compress_data4+compress_data5,则输出数据值为data_out_num5×2^compress_data。如果需要更高的数据精度,可以增加数据处理环数,下一环数据处理与上一环数据处理类似,只是需要注意环与环之间的是数据传递即可,即下一环待压缩数据等于原始数据减去上一环数据压缩输出
在此,我们用一个实际数据,来验证高精度多环数据压缩方法的功能及精度。我们将进行两环数据压缩处理,我们假设待压缩数据为58位的十进制数data_in = 58’d1998034578446,第一环输出数据的位数设为17位,其中包括11位输出数据data_out =11’d0和6位移位位数数据compress_data = 6’d0。经过第一环数据压缩方法处理之后,我们得到data_out = 11’d1860,compress_data = 6’d30。我们计算第一环输出数据误差=data_in -1860×=58’d874785806,第一环输出数据的数据精度 = 第一环输出数据/输入数据= 1860×/data_in = 58’d1997159792640/58’d1998034578446 =0.9995621768。然后进行第二环数据压缩处理,即对第一环输出数据误差进行数据压缩方法处理,则输入数据即为误差数据,data_in_se = 58’d874785806,第二环输出数据位数设为10位,其中包括4位输出数据data_out_se = 4’d0和6位移位位数数据compress_data_se = 6’d0。经过第二环数据压缩方法处理,我们得到data_out_se = 4’d13,compress_data_se = 6’d26。我们再次计算总的数据误差 = data_in -1860×-13×= 58’d2370574,总的输出数据精度 =(第一环输出数据+第二环输出数据)/输入数据 = (1860×230+13×226)/58’d1998034578446 = 0.9999988135。
综上实例,我们看到58位的输入数据经两环数据压缩方法处理,得到27位数据输出(这里只是举例说明,如果需要更高的数据压缩位数,可以根据实际情况合理调整输出数据位数),其输出数据精度高达99.99988135%。因此,我们证明高精度多环数据压缩方法能够实现在保证输出数据具有高精度的同时压缩输入数据位数的功能。由此,我们可以判定,高精度多环数据压缩方法的有效性和实用性,它既可以在保证数据精度的前提下,压缩数据输出,减小输出数据位数,同时也大幅减小了系统传输数据所须的带宽宽度,即节省系统资源。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和单元并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、ROM、RAM等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (4)
1.高精度多环数据压缩方法,其特征在于,包含以下步骤:
S1,输入待压缩数据;
S2,根据目标数据位数,确定需压缩数据位数;
S3,将需压缩数据位数分解为N1,N2,...NT;其中,Ni为第i次压缩数据位数,T为压缩总次数;
S4,循环执行T次单次压缩,每次压缩位数为分别为N1,N2,...NT;所述循环执行是指前一次压缩结果作为后一次的输入;
S5,输出压缩后数据。
2.根据权利要求1所述的高精度多环数据压缩方法,其特征在于,所述单次压缩的具体过程为:根据本次压缩位数N,从输入数据的最高位开始取N位,判断此N位数值是否小于1,如果是,舍弃所取N位高位,右移数据位数记为0;否则,将输入数据整体右移N位,即舍弃输入数据的N位低位数据,右移数据位数记为N。
3.根据权利要求2所述的高精度多环数据压缩方法,其特征在于,还包括多环处理步骤:所述多环处理步骤是指在执行S1-S5后,继续循环执行单环处理;单环处理的执行次数为M-1,M为需处理总环数,M≥2;
所述单环处理包括以下步骤:计算压缩差量,压缩差量=S1中待压缩数据-前一环压缩后数据×2^前一环中TR-1次右移数据位数的总和;再将压缩差量作为输入,根据本环目标数据位数,确定本环需压缩数据位数;执行S3-S5,输出本环压缩后数据;其中,将需压缩数据位数分解为NR1,NR2,...NRT,S4中执行TR次单次压缩;
其中,R为当前环数;对应的,当前环中需压缩数据位数分解为NR1,NR2,...NRT,压缩次数为TR,以示区分;当R=2时,S6中所述前一环压缩后数据为S5中压缩后数据,TR=T。
4.根据权利要求1或3所述的高精度多环数据压缩方法,其特征在于,S3所述需压缩数据位数分解采用数学中的整数分拆法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811063940.XA CN109309501B (zh) | 2018-09-12 | 2018-09-12 | 高精度多环数据压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811063940.XA CN109309501B (zh) | 2018-09-12 | 2018-09-12 | 高精度多环数据压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109309501A true CN109309501A (zh) | 2019-02-05 |
CN109309501B CN109309501B (zh) | 2022-04-29 |
Family
ID=65224977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811063940.XA Active CN109309501B (zh) | 2018-09-12 | 2018-09-12 | 高精度多环数据压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109309501B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0457840A1 (en) * | 1989-02-09 | 1991-11-27 | Storage Technology Corp | ADAPTIVE DATA COMPRESSION APPARATUS FOR MAGNETIC TAPE UNWINDER. |
CN1147181A (zh) * | 1995-06-23 | 1997-04-09 | 三星电子株式会社 | 压缩和展开数据的方法 |
AU2002234168A1 (en) * | 2000-11-29 | 2002-08-15 | Etreppid Technologies, Llc | Method and apparatus for encoding information using multiple passes and decoding in a single pass |
CN1539202A (zh) * | 2000-11-29 | 2004-10-20 | E������¼����������ι�˾ | 使用多通道编码信息并在单通道中解码的方法和设备 |
US6928170B1 (en) * | 2000-11-02 | 2005-08-09 | Audio Technica, Inc. | Wireless microphone having a split-band audio frequency companding system that provides improved noise reduction and sound quality |
CN101241508A (zh) * | 2007-08-01 | 2008-08-13 | 金立 | 结构化数据序列的压缩方法 |
CN103312336A (zh) * | 2013-06-28 | 2013-09-18 | 京信通信系统(中国)有限公司 | 一种数据压缩的方法及装置 |
JP2014103497A (ja) * | 2012-11-19 | 2014-06-05 | Nintendo Co Ltd | データ圧縮装置、データ圧縮プログラム、データ圧縮システム、およびデータ圧縮方法 |
US8810439B1 (en) * | 2013-03-01 | 2014-08-19 | Gurulogic Microsystems Oy | Encoder, decoder and method |
CN106126478A (zh) * | 2016-07-06 | 2016-11-16 | 成都宝通天宇电子科技有限公司 | 一种信号相位算数平均值误差消除方法 |
CN106649026A (zh) * | 2016-09-26 | 2017-05-10 | 国家电网公司北京电力医院 | 适用于运维自动化系统的监测数据压缩方法 |
-
2018
- 2018-09-12 CN CN201811063940.XA patent/CN109309501B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0457840A1 (en) * | 1989-02-09 | 1991-11-27 | Storage Technology Corp | ADAPTIVE DATA COMPRESSION APPARATUS FOR MAGNETIC TAPE UNWINDER. |
CN1147181A (zh) * | 1995-06-23 | 1997-04-09 | 三星电子株式会社 | 压缩和展开数据的方法 |
US6928170B1 (en) * | 2000-11-02 | 2005-08-09 | Audio Technica, Inc. | Wireless microphone having a split-band audio frequency companding system that provides improved noise reduction and sound quality |
AU2002234168A1 (en) * | 2000-11-29 | 2002-08-15 | Etreppid Technologies, Llc | Method and apparatus for encoding information using multiple passes and decoding in a single pass |
CN1539202A (zh) * | 2000-11-29 | 2004-10-20 | E������¼����������ι�˾ | 使用多通道编码信息并在单通道中解码的方法和设备 |
CN101241508A (zh) * | 2007-08-01 | 2008-08-13 | 金立 | 结构化数据序列的压缩方法 |
JP2014103497A (ja) * | 2012-11-19 | 2014-06-05 | Nintendo Co Ltd | データ圧縮装置、データ圧縮プログラム、データ圧縮システム、およびデータ圧縮方法 |
US8810439B1 (en) * | 2013-03-01 | 2014-08-19 | Gurulogic Microsystems Oy | Encoder, decoder and method |
CN103312336A (zh) * | 2013-06-28 | 2013-09-18 | 京信通信系统(中国)有限公司 | 一种数据压缩的方法及装置 |
CN106126478A (zh) * | 2016-07-06 | 2016-11-16 | 成都宝通天宇电子科技有限公司 | 一种信号相位算数平均值误差消除方法 |
CN106649026A (zh) * | 2016-09-26 | 2017-05-10 | 国家电网公司北京电力医院 | 适用于运维自动化系统的监测数据压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109309501B (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284827A (zh) | 神经网络计算方法、设备、处理器及计算机可读存储介质 | |
CN116506073B (zh) | 一种工业计算机平台数据快速传输方法及系统 | |
CN105556860A (zh) | 用于非线性数字自干扰消除的系统以及方法 | |
CN112200300B (zh) | 卷积神经网络运算方法及装置 | |
CN103810319B (zh) | 一种基于fpga的相控阵天线迭代配相算法的实现方法 | |
CN103514201A (zh) | 一种非关系型数据库的数据查询方法和装置 | |
CN105024131A (zh) | 一种微波腔体带通滤波器的设计方法 | |
CN109146057A (zh) | 一种基于查表计算的高精度的神经网络工程化方法 | |
CN110414565A (zh) | 一种用于功率放大器的基于Group Lasso的神经网络裁剪方法 | |
CN110222815A (zh) | 适用于深度学习硬件加速器的可配置激活函数装置及方法 | |
CN109214515A (zh) | 一种深度神经网络推理方法及计算设备 | |
CN109309501A (zh) | 高精度多环数据压缩方法 | |
CN109858616A (zh) | 基于神经网络的功率放大器行为级建模系统及方法 | |
CN114490762A (zh) | 用于决策引擎的数据源取数方法、装置、介质和设备 | |
CN109697083A (zh) | 数据的定点化加速方法、装置、电子设备及存储介质 | |
CN110196735A (zh) | 一种计算装置及相关产品 | |
US8140488B2 (en) | Reducing memory required for prediction by partial matching models | |
CN108805286A (zh) | 基于高阶残留量化的高性能网络加速方法 | |
CN114202077A (zh) | 基于联邦学习及均值迭代的机器学习模型压缩方法 | |
CN109766993B (zh) | 一种适合硬件的卷积神经网络压缩方法 | |
CN114238106A (zh) | 测试时间预测方法及装置、电子设备、存储介质 | |
WO2022159202A1 (en) | Efficient creation and/or restatement of database tables | |
CN107092671A (zh) | 一种元信息管理的方法及设备 | |
CN107370697A (zh) | 一种数字预失真处理方法及装置 | |
CN114500272B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |