CN116015310A - 一种数据无损压缩方法和装置 - Google Patents

一种数据无损压缩方法和装置 Download PDF

Info

Publication number
CN116015310A
CN116015310A CN202211727054.9A CN202211727054A CN116015310A CN 116015310 A CN116015310 A CN 116015310A CN 202211727054 A CN202211727054 A CN 202211727054A CN 116015310 A CN116015310 A CN 116015310A
Authority
CN
China
Prior art keywords
data
bit width
original
encoded
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.)
Pending
Application number
CN202211727054.9A
Other languages
English (en)
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.)
Shenzhen Goodix Technology Co Ltd
Original Assignee
Shenzhen Goodix Technology 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 Shenzhen Goodix Technology Co Ltd filed Critical Shenzhen Goodix Technology Co Ltd
Priority to CN202211727054.9A priority Critical patent/CN116015310A/zh
Publication of CN116015310A publication Critical patent/CN116015310A/zh
Pending legal-status Critical Current

Links

Images

Abstract

一种数据无损压缩方法和装置,所述方法包括:接收多个原始数据;将第一个原始数据的原始值作为第一个编码数据,将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的变化值,并将所述变化值作为后续的编码数据,设定编码数据的位宽单位,使用所述位宽单位,记录每个编码数据的位宽信息,将所述位宽信息和对应的编码数据分别存入数据包的头部和数据部分,多个数据包组成数据流。所述数据无损压缩方法可以实现数据无损压缩,有效降低系统所传输的数据量。

Description

一种数据无损压缩方法和装置
技术领域
本申请涉及数据压缩技术领域,并且更具体地,涉及一种数据无损压缩方法和装置。
背景技术
嵌入式系统中常常涉及到多通道数据采集(如环境光传感器中需要采集RGB等多个光谱带的信号),当挂载的存储设备增多或采样率提高时,受总线速率限制,过多的数据积压可能导致系统响应滞后或占用大量时间处理总线数据而无法运行其他功能。
常规处理方案分为硬件和软件,硬件方案需要提高系统硬件规格,如提高I I C(Inter-I ntegrated Ci rcu it)通信速率、增加DMA(Di rect Memory Access)外设等,其代价是高昂的;相比之下,软件方案成本较低,诸如减少传输总线数据量、数据冗余信息压缩等,此类方案的代价往往只是略微增加系统逻辑复杂度,但可以大幅提高系统数据吞吐量。
信号数据压缩可分无损压缩和有损压缩两种,在一些特殊信号采集场景下,目标信号可能隐藏在原始信号的细微特征之中,此时,信号数据的有损压缩在系统方案上是难以接受的。
因此,如何实现数据的无损压缩,是一项亟待解决的技术问题。
发明内容
本申请实施例第一方面提供的数据无损压缩方法,所述方法包括:
接收多个原始数据;
将第一个原始数据的原始值作为第一个编码数据;
将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的变化值,并将所述变化值作为后续的编码数据;
设定编码数据的位宽单位;
使用所述位宽单位,记录每个编码数据的位宽信息;
将所述位宽信息和对应的编码数据分别存入数据包的头部和数据部分,多个数据包组成数据流。
在一种可能的实施方式中,所述将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的变化值,并将所述变化值作为后续的编码数据包括:
将后续接收到的原始数据和上一个原始数据进行比较,使用异或运算计算原始数据的变化值,并将异或运算的结果作为后续的编码数据。
在一种可能的实施方式中,所述使用所述位宽单位,记录每个编码数据的位宽信息包括:使用所述位宽单位,记录每个编码数据删除多余前导零后的位宽信息。
在一种可能的实施方式中,所述设定编码数据的位宽单位包括:
设定编码数据的位宽单位为N bit,其中N为大于1的正整数。
在一种可能的实施方式中,所述方法还包括:
接收所述数据流,并进行数据解码,以获取原始数据。
在一种可能的实施方式中,所述接收所述数据流,并进行数据解码,以获取原始数据包括:
提取所述数据流中的编码数据;
将第一个编码数据的值作为第一个解码数据;
将每个解码数据和下一个编码数据进行比较,并计算变化值,然后将所述变化值作为后续的解码数据;
所述解码数据是原始数据。
在一种可能的实施方式中,所述将每个解码数据和下一个编码数据进行比较,并计算变化值,然后将所述变化值作为后续的解码数据包括:
将每个解码数据和下一个编码数据进行比较,并使用异或运算计算变化值,然后将异或运算的结果作为后续的解码数据。
在一种可能的实施方式中,所述接收多个原始数据包括:接收多个多通道原始数据。
在一种可能的实施方式中,所述将所述位宽信息和对应的编码数据分别存入数据包的头部和数据部分,多个数据包组成数据流包括:
将一组多通道编码数据的位宽信息按照预设顺序存入数据包的头部;
将对应的多通道编码数据按照预设顺序存入所述数据包的数据部分;
多个数据包组成数据流。
在一种可能的实施方式中,所述使用所述位宽单位,记录每个编码数据的位宽信息包括:
当编码数据为0时,使用所述位宽单位,记录对应编码数据的位宽信息也为0。
在一种可能的实施方式中,所述将所述位宽信息和对应的编码数据分别存入数据包的头部和数据部分包括:
当位宽信息为0时,将所述位宽信息存入数据包的头部,而所述位宽信息对应的编码数据不存入所述数据包的数据部分。
在一种可能的实施方式中,每个编码数据都以二进制表示。
在一种可能的实施方式中,所述将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的变化值,并将所述变化值作为后续的编码数据包括:
将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的差值,并将差值作为后续的编码数据。
在一种可能的实施方式中,所述将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的变化值,并将所述变化值作为后续的编码数据包括:
将接收到的第二个原始数据和第一个原始数据进行比较,计算原始数据的第一个差值作为第二个编码数据;
将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的后续差值,然后计算每两次差值之间的差,并将所述每两次差值之间的差作为后续的编码数据。
在一种可能的实施方式中,所述多个原始数据包括多通道光感数据。
本申请实施例第二方面提供的一种装置,包括:
环境光传感器,接收模块,存储模块,比较模块,设定模块和处理器模块;
所述环境光传感器用于感测环境光,产生原始数据;
所述接收模块用于接收多个原始数据;
所述存储模块用于将第一个原始数据的原始值作为第一个编码数据进行保存;
所述比较模块用于将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的变化值,并将所述变化值作为后续的编码数据,所述存储模块还用于保存所述后续的编码数据;
所述设定模块用于设定编码数据的位宽单位;
所述存储模块还用于使用所述位宽单位,记录每个编码数据的位宽信息;
所述处理器模块用于将所述位宽信息和对应的编码数据分别存入数据包的头部和数据部分,并将多个数据包组成数据流。
在一种可能的实施方式中,所述装置还包括:
解码模块,用于接收所述数据流,并进行数据解码,以获取原始数据。
本申请实施例提供了数据无损压缩方法,可以实现数据无损压缩,有效降低系统所传输的数据量。
此外,所述数据无损压缩方法还可以有效降低设备的总线压力,减少设备操作总线的时间,使得设备功耗控制更为轻松。
本申请实施例还提供了装置,可以在所述装置上运行上述数据无损压缩方法,能有效减少所述装置在数据压缩传输过程中的计算压力,提升所述装置进行数据无损压缩的性能。
附图说明
图1是本申请实施例提供的一种数据无损压缩方法的流程图。
图2是一种环境光传感器采集信号示意图。
图3是本申请实施例提供的一种多通道编码数据组包的流程图。
图4a是本申请实施例提供的一种多通道编码数据组包示意图。
图4b是本申请实施例提供的一种编码数据为0时的处理示意图。
图5是本申请实施例提供的一种数据解码方法的流程图。
图6是本申请实施例提供的数据编码和解码过程示意图。
图7是本申请实施例提供的一种装置的结构示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清楚、完整地描述。
本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
另外,“第一”、“第二”等术语仅用于区别类似的对象,而不能理解为指示或暗示相对重要性,或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。
本申请公开的技术方案可以应用于数据的无损压缩,更具体的,可以应用于环境光传感器(Amb i ent Li ght Sensors,ALS)的多通道光感数据的压缩。
现有压缩方案如蓝波-立夫-卫曲(Lempe l-Zi v-We l ch)编码法和适应性霍夫曼(Adapt i ve Huffman)编码法的实现复杂,不易硬件化,编解码开销大,不适合用于多通道光感数据的压缩传输。
如图1所示,本申请实施例提供的一种数据无损压缩方法的流程图,所述数据无损压缩方法200包括步骤S210~S260:
S210、接收多个原始数据;
S220、将第一个原始数据的原始值作为第一个编码数据;
S230、将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的变化值,并将所述变化值作为后续的编码数据;
S240、设定编码数据的位宽单位;
S250、使用所述位宽单位,记录每个编码数据的位宽信息;
S260、将所述位宽信息和对应的编码数据分别存入数据包的头部和数据部分,多个数据包组成数据流。
作为一种可选的实施例,在步骤S210中,所述多个原始数据可以包括环境光传感器的感应数据,例如可以包括多通道光感数据。
本申请实施例提供的数据无损压缩方法200可以实现数据无损压缩,有效降低系统所传输的数据量。特别是对于多通道光感数据,所述数据无损压缩方法200可以轻松实现1.5倍的压缩比。
此外,所述数据无损压缩方法200还可以有效降低设备的总线压力,减少设备操作总线的时间,使得设备功耗控制更为轻松。特别是对于性能不足的嵌入式设备,可以有效提高设备的工作效率。
而且所述数据无损压缩方法200的复杂度很低,对主机计算性能要求低,也不会导致主机增加过多的逻辑时间用于解码处理。
现有技术中的一种数据无损压缩方法中采用指示符位进行数据分组,每一个分组就需要提供一个指示符位,在单个数据位宽大的情况下,过小的分组需要过多的指示符位,导致协议开销变大。而本申请实施例提供的数据压缩方法200通过记录每个编码数据的位宽信息实现数据分组,有效减小了协议开销。
此外,该数据压缩方法200可以应用于在任何适当的串行或并行总线上的传输。
作为一种可选的实施例,每个编码数据都可以以二进制表示。类似的,每个位宽信息和原始数据也可以以二进制表示。
在所述数据无损压缩方法200中,步骤S230在提高本方案数据压缩率方面起到主要作用。对于常规低频信号,在采样率足够高的情况下,相邻采样点之间的数据变化是微小且缓慢的,从二进制数据码层面看,相邻采样点的数据变化往往只存在于数据码的低位之间,而数据码的高位在短时间内几乎不发生改变,可当作冗余信息处理,使得数据压缩存在可行性。
此外,对于环境光传感器,其应用场景包含环境光传感器被设置在手机屏幕窄缝之中以及环境光传感器被设置在手机屏幕之下,受屏幕的漏光影响,环境光传感器采集信号一般如图2所示。RGB三通道信号在屏幕正常发光时近似处于稳定值,发生剧烈变化的区间只存在于301跌落期间,占整个屏幕刷新周期的比重很小。所以,即使不采用高采样率,对于环境光传感器采样数据,绝大部分时间内其变化趋势都是缓慢的,也可以进行冗余信息的压缩。
在步骤S230中,可以将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的变化值,并将所述变化值作为后续的编码数据。
作为一种可选的实施例,可以在步骤S230中将后续接收到的原始数据和上一个原始数据进行比较,使用异或运算计算原始数据的变化值,并将异或运算的结果作为后续的编码数据,从而去除冗余信息,实现数据压缩。
本实施例中的异或运算方案可以有效降低数据冗余信息,实现数据无损压缩,同时异或运算方案复杂度很低,在硬件层面有较高的实现效率。
现有技术的一种数据无损压缩方法中编码数据包括正负数据,正数据样本和负数据样本可以用二进制补码表示来传输(通常在正数的情况下为0,在负数的情况下为1),也会增加了系统复杂度。而本申请实施例提供的数据压缩方法200采用异或运算方案,得到的编码数据都是正数据,不需要再额外考虑二进制补码,可以进一步降低系统的复杂度。
可以理解的是,在其他实施例中,可以采用一阶导数方案计算变化值,具体的,在步骤S230中,将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的差值,并将差值作为后续的编码数据。
可选的,所述一阶导数方案的编码数据可以是前一个原始数据与本次原始数据之间的差值,在处理传感器信号数据时,所述一阶导数方案的编码数据在大部分采样点都是一个很小的值,可以实现传感器信号数据的有效压缩。
可以理解的是,在其他实施例中,可以采用二阶导数方案计算变化值,具体的,在步骤S230中,将接收到的第二个原始数据和第一个原始数据进行比较,计算原始数据的第一个差值作为第二个编码数据;然后将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的后续差值,然后计算每两次差值之间的差,并将所述每两次差值之间的差作为后续的编码数据。
所述二阶导数方案在传感器信号数据斜率稳定的情况下,可以实现更高的压缩率。
在步骤240中,可以设定编码数据的位宽单位,且所述位宽单位包括默认设定的1bit。
作为一种可选的实施例,可以在步骤240中,设定编码数据的位宽单位为N bit,其中N为大于1的正整数。这样可以进一步减少位宽信息的协议开销。
在步骤250中,可以使用所述位宽单位,记录每个编码数据的位宽信息。通过记录每个编码数据的位宽信息可以快速实现数据分组,并在后续的数据传输和数据解码中可以起到重要的作用。
作为一种可选的实施例,在步骤S250中,可以使用所述位宽单位,记录每个编码数据删除多余前导零后的位宽信息。多余前导零是编码数据的冗余信息,去除冗余信息后可以进一步提高数据压缩率,同时也能减少位宽信息的协议开销。
在下面的表1中给出了所述数据无损压缩方法200的一个实施例。
表1
Figure BDA0004030489150000071
P220191CN1
Figure BDA0004030489150000081
表1中的采样序号代表着传感器采样数据的顺序,其中采样序号0是采样到的第一个原始数据0xffee,保留第一个原始数据0xffee的原始值,并将该原始值作为第一个编码数据。
之后每采样一个原始数据,就暂存该原始数据的原始值,并与上一个原始值作异或运算,找到两个原始数据间不同的bit位,计算两个原始数据间的变化值。
请参见表1,采样序号1的原始数据0xffaf和采样序号0的原始数据0xffee之间异或运算后的变化值如下:
0xffee xor 0xffaf=0x0041
其中0x代表16进制数,xor代表异或运算,0x0041就是0xffee和0xffaf异或运算后的结果,也就是两个原始数据间的变化值。
保存该两个原始数据间的变化值,并将所述变化值作为编码数据,计算所述编码数据删除多余前导零后的位宽信息。
如表1所示,编码数据0x0041转换成16位的二进制数据为0b0000000001000001,一般的,默认位宽单位是1bit,因此编码数据0b0000000001000001的有效位宽是7,多余的前导零有16-7=9个。因此,编码数据0b0000000001000001删除多余前导零后以二进制数据表示为0b1000001,其中0b表示二进制数。
由于表1的实施例中位宽单位是1bit,编码数据的有效位宽最多为16,所以位宽信息可以用4bit来保存。
在另一个实施例中,可以根据相邻编码数据的抖动范围,设定合适的位宽单位,再用所述位宽单位来记录每个编码数据的位宽信息,如下面的表2所示。
表2
Figure BDA0004030489150000082
P220191CN1
Figure BDA0004030489150000091
如表2所示,事先设定的位宽单位是4bit,此时保存的编码数据都以4bit作为宽度单位,即编码数据位宽必须是M个4bit,M为正整数。编码数据0x0041转换成16位的二进制数据为0b0000000001000001,事先设定的位宽单位是4bit,因此编码数据0b0000000001000001的有效位宽是2,多余的前导零有16-(2*4)=8个。因此,编码数据0b0000000001000001删除多余前导零后以二进制数据表示为0b01000001,其中0b表示二进制数。
由于表2的实施例中编码数据的有效位宽最多为4,所以位宽信息可以用2bit来保存,相比默认位宽单位是1bit时,每个编码数据的位宽信息可以相应减少2b it的协议开销。
值得说明的是,设定的位宽单位并不限于表2实施例中展现的4b it,在实际应用中,可以根据相邻编码数据的抖动范围,来确定合适的位宽单位。例如,相邻编码数据的抖动基本都是噪声引起的,当系统中噪声的抖动范围约为5bit时,则可以将位宽单位设定为5bit,以保证传输的大多数编码数据没有冗余的前导零。
在步骤260中,可以将所述位宽信息和对应的编码数据分别存入数据包的头部和数据部分,多个数据包组成数据流。
在本实施例中,数据流组包可以将多个数据包组成数据流,实现压缩数据打包传输,提升压缩数据的传输效率。
作为一种可选的实施例,如图3所示,可以将一组多通道编码数据的位宽信息按照预设顺序存入数据包的头部,将对应的多通道编码数据按照预设顺序存入所述数据包的数据部分,多个数据包组成数据流。
在本实施例中,多通道编码数据的组包方案可以将同一个采样时间点下的数据对齐打包,提高数据的容错率,并有利于后期的数据校验。
例如,请参见图4a,Header表示数据包头部401,BitsR、BitsG和BitsB分别表示一组RGB三通道编码数据的位宽信息,而Data表示数据包的数据部分402,Data-R、Data-G和Data-B分别表示对应的一组RGB三通道编码数据。
如图4a所示,以环境光传感器中采集的RGB三通道数据为例,可以将一组RGB三通道编码数据的位宽信息按照预设顺序存入数据包的头部401,并将对应的RGB三通道编码数据按照预设顺序存入所述数据包的数据部分402,多个这样的数据包就可以组成数据流。
在图4a中,三通道的预设顺序是R、G、B,因此在数据包头部401中,位宽信息按照预设顺序存入为BitsR、BitsG、BitsB,同样在数据包数据部分402中,编码数据也按照预设顺序存入为Data-R、Data-G、Data-B。
作为一种可选的实施例,与数据流组包时的步骤相对应的,还可以通过数据流解包提取其中的编码数据,具体步骤包括:
数据流拆分成多个数据包;
解析每个数据包头部的信息,得到编码数据的位宽信息;
根据所述位宽信息对数据包的数据部分分段,得到对应的编码数据。
进一步的,数据流解包后得到的所述编码数据,还可以用于后续的压缩数据解码。
值得说明的是,如图4b所示,展现了一种编码数据全部为0时的特殊处理的实施例。
在步骤250中,可以使用所述位宽单位,记录每个编码数据的位宽信息。
作为一种可选的实施例,当编码数据为0时,使用所述位宽单位,记录对应编码数据的位宽信息为0。
在步骤260中,可以将所述位宽信息和对应的编码数据分别存入数据包的头部和数据部分。
作为一种可选的实施例,当位宽信息为0时,可以将所述位宽信息存入数据包的头部,而所述位宽信息对应的编码数据不存入所述数据包的数据部分。
请参见图4b,Bit Step=4表示位宽单位是4bit,当所述编码数据Data-G全部为0时,对应的位宽信息BitsG也是0。在进行数据流组包解包时,遇到位宽信息为0,可以跳过对应位宽信息所指示的编码数据403。
具体的,在数据流组包时,遇到位宽信息为0,则所述位宽信息对应的编码数据403不存入数据包的数据部分402,相当于跳过了存入编码数据这一步骤。类似的,在数据流解包时,遇到位宽信息为0,则所述位宽信息对应的编码数据403就不需要提取,相当于跳过了提取编码数据这一步骤。
该实施例的优势在于,若原始数据的稳定性较好,则相邻原始数据可能没有发生变化,原始数据中就会包含大量重复数据。此时,在步骤S220计算原始数据的变化值后,得到的编码数据中将存在大量0,若采用至少保留一个单位数据的传输策略,编码数据始终会占据一定的数据量(至少一个位宽单位,例如图4b实施例中一个位宽单位为4b it),而直接跳过位宽信息为0所指示的编码数据可大幅减少需要传输的数据量。
现有技术的数据无损压缩方法中,即使接收到的数据样本没有发生变化,也就是编码数据全部为0,也依然会被按照分组大小传输,即存在信息量为0的数据传输,影响数据压缩传输的效率。而本实施例中针对编码数据全部为0时的特殊处理,可以进一步提高数据压缩传输的效率。
作为一种可选的实施例,所述方法200还可以包括数据解码的步骤:接收所述数据流,并进行数据解码,以获取原始数据。
作为一种可选的实施例,请一并参见图5,所述数据解码的步骤具体可以包括:
提取所述数据流中的编码数据;
将第一个编码数据的值作为第一个解码数据;
将每个解码数据和下一个编码数据进行比较,并计算变化值,然后将所述变化值作为后续的解码数据;
所述解码数据是原始数据。
在本实施例中,所述数据解码方案是数据压缩方案的逆过程,因此所述数据解码方案可以实现压缩数据的无损还原。
作为一种可选的实施例,可以将每个解码数据和下一个编码数据进行比较,并使用异或运算计算变化值,然后将异或运算的结果作为后续的解码数据。
本实施例中的异或运算方案可以实现压缩数据无损还原,同时异或运算方案复杂度很低,在硬件层面有较高的实现效率。
本申请实施例提供的数据编码和解码过程请一并参见图6,在数据编码过程中,第一个原始数据0xffee保持不变,作为第一个编码数据0xffee,然后第二个原始数据0xffaf和第一个原始数据0xffee作异或运算,得到第二个编码数据0x0041,重复所述数据编码的过程,就可以根据多个原始数据得到多个对应的编码数据。
在数据解码过程中,第一个编码数据0xffee保持不变,作为第一个解码数据0xffee,然后第二个编码数据0x0041和第一个解码数据0xffee作异或运算,得到第二个解码数据0xffaf,重复所述数据解码的过程,就可以根据多个编码数据得到多个对应的解码数据。
从图6中可以看到,第二个解码数据0xffaf就是第二个原始数据0xffaf,数据解码后得到的解码数据是原始数据。
本申请实施例还提供一种装置600,请参见图7,所述装置600包括环境光传感器601、接收模块602、存储模块603、比较模块604、设定模块605和处理器模块606。
作为一种可选的实施例,所述环境光传感器601用于感测环境光,产生原始数据;
所述接收模块602用于接收多个原始数据;
所述存储模块603用于将第一个原始数据的原始值作为第一个编码数据进行保存;
所述比较模块604用于将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的变化值,并将所述变化值作为后续的编码数据,所述存储模块603还用于保存所述后续的编码数据;
所述设定模块605用于设定编码数据的位宽单位;
所述存储模块603还用于使用所述位宽单位,记录每个编码数据的位宽信息;
所述处理器模块606用于将所述位宽信息和对应的编码数据分别存入数据包的头部和数据部分,并将多个数据包组成数据流。
在所述装置600上可以运行本申请实施例中的数据无损压缩方法,能有效减少所述装置600在数据压缩传输过程中的计算压力,提升所述装置600进行数据无损压缩的性能。
作为一种可选的实施例,所述装置600还包括解码模块607,用于接收所述数据流,并进行数据解码,以获取原始数据。
通过设置所述解码模块607,可以在所述装置600上实现压缩数据无损还原,并有较高的解码效率。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。

Claims (17)

1.一种数据无损压缩方法,其特征在于,所述方法包括:
接收多个原始数据;
将第一个原始数据的原始值作为第一个编码数据;
将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的变化值,并将所述变化值作为后续的编码数据;
设定编码数据的位宽单位;
使用所述位宽单位,记录每个编码数据的位宽信息;
将所述位宽信息和对应的编码数据分别存入数据包的头部和数据部分,多个数据包组成数据流。
2.根据权利要求1所述的方法,其特征在于,所述将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的变化值,并将所述变化值作为后续的编码数据包括:
将后续接收到的原始数据和上一个原始数据进行比较,使用异或运算计算原始数据的变化值,并将异或运算的结果作为后续的编码数据。
3.根据权利要求1所述的方法,其特征在于,所述使用所述位宽单位,记录每个编码数据的位宽信息包括:使用所述位宽单位,记录每个编码数据删除多余前导零后的位宽信息。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述设定编码数据的位宽单位包括:
设定编码数据的位宽单位为N bit,其中N为大于1的正整数。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
接收所述数据流,并进行数据解码,以获取原始数据。
6.根据权利要求5所述的方法,其特征在于,所述接收所述数据流,并进行数据解码,以获取原始数据包括:
提取所述数据流中的编码数据;
将第一个编码数据的值作为第一个解码数据;
将每个解码数据和下一个编码数据进行比较,并计算变化值,然后将所述变化值作为后续的解码数据;
所述解码数据是原始数据。
7.根据权利要求6所述的方法,其特征在于,所述将每个解码数据和下一个编码数据进行比较,并计算变化值,然后将所述变化值作为后续的解码数据包括:
将每个解码数据和下一个编码数据进行比较,并使用异或运算计算变化值,然后将异或运算的结果作为后续的解码数据。
8.根据权利要求1至3中任一项所述的方法,其特征在于,所述接收多个原始数据包括:接收多个多通道原始数据。
9.根据权利要求8所述的方法,其特征在于,所述将所述位宽信息和对应的编码数据分别存入数据包的头部和数据部分,多个数据包组成数据流包括:
将一组多通道编码数据的位宽信息按照预设顺序存入数据包的头部;
将对应的多通道编码数据按照预设顺序存入所述数据包的数据部分;
多个数据包组成数据流。
10.根据权利要求1至3中任一项所述的方法,其特征在于,所述使用所述位宽单位,记录每个编码数据的位宽信息包括:
当编码数据为0时,使用所述位宽单位,记录对应编码数据的位宽信息为0。
11.根据权利要求1至3中任一项所述的方法,其特征在于,所述将所述位宽信息和对应的编码数据分别存入数据包的头部和数据部分包括:
当位宽信息为0时,将所述位宽信息存入数据包的头部,而所述位宽信息对应的编码数据不存入所述数据包的数据部分。
12.根据权利要求1至3中任一项所述的方法,其特征在于,每个编码数据都以二进制表示。
13.根据权利要求1所述的方法,其特征在于,所述将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的变化值,并将所述变化值作为后续的编码数据包括:
将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的差值,并将差值作为后续的编码数据。
14.根据权利要求1所述的方法,其特征在于,所述将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的变化值,并将所述变化值作为后续的编码数据包括:
将接收到的第二个原始数据和第一个原始数据进行比较,计算原始数据的第一个差值作为第二个编码数据;
将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的后续差值,然后计算每两次差值之间的差,并将所述每两次差值之间的差作为后续的编码数据。
15.根据权利要求1至3中任一项所述的方法,其特征在于,所述多个原始数据包括多通道光感数据。
16.一种电子设备,包括:
环境光传感器,接收模块,存储模块,比较模块,设定模块和处理器模块;
所述环境光传感器用于感测环境光,产生原始数据;
所述接收模块用于接收多个原始数据;
所述存储模块用于将第一个原始数据的原始值作为第一个编码数据进行保存;
所述比较模块用于将后续接收到的原始数据和上一个原始数据进行比较,计算原始数据的变化值,并将所述变化值作为后续的编码数据,所述存储模块还用于保存所述后续的编码数据;
所述设定模块用于设定编码数据的位宽单位;
所述存储模块还用于使用所述位宽单位,记录每个编码数据的位宽信息;
所述处理器模块用于将所述位宽信息和对应的编码数据分别存入数据包的头部和数据部分,并将多个数据包组成数据流。
17.根据权利要求16所述的一种装置,还包括:
解码模块,用于接收所述数据流,并进行数据解码,以获取原始数据。
CN202211727054.9A 2022-12-30 2022-12-30 一种数据无损压缩方法和装置 Pending CN116015310A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211727054.9A CN116015310A (zh) 2022-12-30 2022-12-30 一种数据无损压缩方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211727054.9A CN116015310A (zh) 2022-12-30 2022-12-30 一种数据无损压缩方法和装置

Publications (1)

Publication Number Publication Date
CN116015310A true CN116015310A (zh) 2023-04-25

Family

ID=86018803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211727054.9A Pending CN116015310A (zh) 2022-12-30 2022-12-30 一种数据无损压缩方法和装置

Country Status (1)

Country Link
CN (1) CN116015310A (zh)

Similar Documents

Publication Publication Date Title
US7770091B2 (en) Data compression for use in communication systems
US7152198B2 (en) Encoding/decoding device and encoding/decoding method
CN106202213B (zh) 一种fpga二进制文件压缩、解压方法及压缩、解压装置
CN101667843B (zh) 嵌入式系统的数据压缩、及解压缩方法与装置
CN110784225A (zh) 数据压缩、解压方法及相关装置、电子设备、系统
CN112202623B (zh) 一种数据处理方法及装置
CN110535846B (zh) 一种基于dl/t698.45协议的数据帧压缩方法和系统
US20080030384A1 (en) Encoding apparatus, decoding apparatus, encoding method, computer readable medium storing program thereof, and computer data signal
CN115460382B (zh) 一种安防工程用监控数据安全传输方法
CN1157958C (zh) 数字视频编码方法和设备
CN113312325B (zh) 轨迹数据传输方法、装置、设备及存储介质
CN113630125A (zh) 数据压缩、编码解压缩方法、装置、电子设备及存储介质
CN116033034B (zh) 一种无线收发平台用数据处理系统
CN116015310A (zh) 一种数据无损压缩方法和装置
KR100363580B1 (ko) 에러 보호방법 및 에러보호장치
CN109743353B (zh) 一种基于物联网的数据转换方法
CN112800183B (zh) 内容名称数据处理方法及终端设备
US10931303B1 (en) Data processing system
CN1618176A (zh) 鲁棒性信号编码
CN115250351A (zh) 用于图像数据的压缩方法、解压方法及相关产品
KR20190066691A (ko) 압축 데이터 송수신 방법 및 이를 위한 장치
CN113242473B (zh) 一种数据处理方法、系统、数据采集设备及可读存储介质
CN116527084B (zh) 一种电力线通信载波的滤波方法、系统、设备和介质
CN117240409B (zh) 一种用于智能手机与智能穿戴设备的数据处理方法
CN112702068B (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