红外信号压缩方法、装置、用户设备及存储介质与流程

文档序号:17446502发布日期:2019-04-17 05:43阅读:162来源:国知局
红外信号压缩方法、装置、用户设备及存储介质与流程
本发明涉及数据处理
技术领域
,尤其涉及一种红外信号压缩方法、装置、用户设备及存储介质。
背景技术
:对于电视机、空调、智能家居等用户设备通常需要采用红外信号进行信息传输,而这些用户设备为了能够对红外信号进行识别,对于红外信号而言,其通常会存在引导码和数据码,引导码的作用是启动接收器的识别流程,其时间宽度通常比数据码大很多,通常引导码是统一的,因此,对于引导码而言,只需存储一次即可,无需存储多次,对引导码不用进行压缩处理,但数据码是为了使用户设备对红外信号进行识别的部分,因此,用户设备通常需要存储用于表征红外信号特征的数据码,故而,所述数据码属于需要进行压缩处理的对象。在现有技术中,数据码通常是在两个环节进行存储,第一个环节是用户设备出厂前,可将用户设备设置为调试模式,再向用户设备发出红外信号,此时,单片机可从红外信号中提取红外遥控码,红外遥控码一般包含引导码和数据码,所述引导码的作用是用以启动接收器的识别流程,其时间宽度通常比数据码大很多,此时可将所述红外遥控码中的数据码进行存储;第二个环节是用户设备出厂后,可将用户设备设置为学习模式,再向用户设备发出红外信号,此时,单片机可从红外信号中提取红外遥控码,此时可将所述红外遥控码中的数据码进行存储。但以上方式均为直接存储数据码的方式,而需要存储的数据码通常较多,会占用了较大的存储空间。上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。技术实现要素:本发明的主要目的在于提供一种红外信号压缩方法、装置、用户设备及存储介质,旨在解决现有技术中直接存储数据码,占用存储空间过大的技术问题。为实现上述目的,本发明提供一种红外信号压缩方法,所述红外信号压缩方法包括以下步骤:获取待压缩红外信号的数据码对应的原始波形,并将所述原始波形中各高低电平对应的原始宽度数据组成原始宽度序列;按照高低电平对所述原始宽度序列中各原始宽度数据的预设位进行标记,获得待处理宽度序列;确定所述待处理宽度序列中各待处理宽度数据分别所属的数据类型,并获取各数据类型与波形序号之间的映射关系;根据所述映射关系将所述待处理宽度序列中的各待处理宽度数据按照所述数据类型替换为对应的波形序号,获得第一压缩数据,以实现红外信号压缩。优选地,所述根据所述映射关系将所述待处理宽度序列中的各待处理宽度数据按照所述数据类型替换为对应的波形序号,获得第一压缩数据,以实现红外信号压缩之后,所述红外信号压缩方法还包括:从所述波形序号中选取待处理波形序号;对所述待处理波形序号进行配对组合,获得各脉冲类型;将与所述第一压缩数据相匹配的脉冲类型进行累计;根据累计结果对所述第一压缩数据进行压缩,获得第二压缩数据。优选地,所述根据累计结果对所述第一压缩数据进行压缩,获得第二压缩数据,具体包括:确定所述待处理波形序号在所述累计结果中的重复次数;根据所述重复次数从所述待处理波形序号中选取待替换波形序号,并为所述待替换波形序号分别设置标识符;为所述标识符进行配对组合,获得标识符组;为各标识符组分别设置替代标识;将所述第一压缩数据中的待替换波形序号替换为对应的标识符,并将替换标识符后的第一压缩数据中的标识符组替换为对应的替代标识,获得第二压缩数据。优选地,所述从所述波形序号中选取待处理波形序号,具体包括:统计各波形序号在所述第一压缩数据中的出现次数;按照所述出现次数由大到小的顺序选取第一预设数量的波形序号作为待处理波形序号。优选地,所述根据所述重复次数从所述待处理波形序号中选取待替换波形序号,具体包括:按照所述重复次数由大到小的顺序选取第二预设数量的待处理波形序号作为待替换波形序号。优选地,所述根据所述映射关系将所述待处理宽度序列中的各待处理宽度数据按照所述数据类型替换为对应的波形序号,获得第一压缩数据,以实现红外信号压缩之前,所述红外信号压缩方法还包括:根据各数据类型对应的宽度数据之间的宽度差值对所述数据类型进行合并处理。优选地,所述根据各数据类型对应的宽度数据对所述数据类型进行合并处理,具体包括:对各数据类型对应的宽度数据按照大小进行排序;根据排序结果计算相邻宽度数据之间的宽度差值;将所述宽度差值小于预设宽度阈值的相邻宽度数据作为目标相邻宽度数据;计算所述目标相邻宽度数据的平均值,将所述平均值替换所述待处理宽度序列中属于目标相邻宽度数据的待处理宽度数据,以实现合并处理。此外,为实现上述目的,本发明还提供一种红外信号压缩装置,所述红外信号压缩装置包括:序列组成模块,用于获取待压缩红外信号的数据码对应的原始波形,并将所述原始波形中各高低电平对应的原始宽度数据组成原始宽度序列;电平标记模块,用于按照高低电平对所述原始宽度序列中各原始宽度数据的预设位进行标记,获得待处理宽度序列;类型确定模块,用于确定所述待处理宽度序列中各待处理宽度数据分别所属的数据类型,并获取各数据类型与波形序号之间的映射关系;序号替换模块,用于根据所述映射关系将所述待处理宽度序列中的各待处理宽度数据按照所述数据类型替换为对应的波形序号,获得第一压缩数据,以实现红外信号压缩。此外,为实现上述目的,本发明还提供一种用户设备,所述用户设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的红外信号压缩程序,所述红外信号压缩程序被所述处理器执行时实现如上所述的红外信号压缩方法的步骤。此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有红外信号压缩程序,所述红外信号压缩程序被处理器执行时实现如上所述的红外信号压缩方法的步骤。本发明通过获取待压缩红外信号的数据码对应的原始波形,并将所述原始波形中各高低电平对应的原始宽度数据组成原始宽度序列,然后按照高低电平对所述原始宽度序列中各原始宽度数据的预设位进行标记,获得待处理宽度序列,避免再额外设置一个字节来区分高低电平,接着确定所述待处理宽度序列中各待处理宽度数据分别所属的数据类型,并获取各数据类型与波形序号之间的映射关系,由于数据类型通常不超过10种,所述波形序号可通过一个字节的4bit进行表示,根据所述映射关系将所述待处理宽度序列中的各待处理宽度数据按照所述数据类型替换为对应的波形序号,获得第一压缩数据,不再采用两个字节来存储一个宽度数据,而是采用4bit来存储一个宽度数据,减少了存储数据码所需的存储空间。附图说明图1是本发明实施例方案涉及的硬件运行环境的用户设备结构示意图;图2为本发明红外信号压缩方法第一实施例的流程示意图;图3为本发明实施例中原始波形的示意图;图4为本发明红外信号压缩方法第二实施例的流程示意图;图5为本发明红外信号压缩装置第一实施例的结构框图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。参照图1,图1为本发明实施例方案涉及的硬件运行环境的用户设备结构示意图。如图1所示,所述用户设备可以包括:处理器1001,例如cpu,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储服务器。可理解的是,所述用户设备可为电视机、空调、智能家居等需要采用红外信号进行信息传输的设备,当然,所述用户设备还可为类似于无人机及扫地机器人等设备,本实施例对此不加以限制。本领域技术人员可以理解,图1中示出的结构并不构成对所述用户设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及红外信号压缩程序。所述用户设备通过处理器1001调用存储器1005中存储的红外信号压缩程序,并执行以下操作:获取待压缩红外信号的数据码对应的原始波形,并将所述原始波形中各高低电平对应的原始宽度数据组成原始宽度序列;按照高低电平对所述原始宽度序列中各原始宽度数据的预设位进行标记,获得待处理宽度序列;确定所述待处理宽度序列中各待处理宽度数据分别所属的数据类型,并获取各数据类型与波形序号之间的映射关系;根据所述映射关系将所述待处理宽度序列中的各待处理宽度数据按照所述数据类型替换为对应的波形序号,获得第一压缩数据,以实现红外信号压缩。进一步地,处理器1001可以调用存储器1005中存储的红外信号压缩程序,还执行以下操作:从所述波形序号中选取待处理波形序号;对所述待处理波形序号进行配对组合,获得各脉冲类型;将与所述第一压缩数据相匹配的脉冲类型进行累计;根据累计结果对所述第一压缩数据进行压缩,获得第二压缩数据。进一步地,处理器1001可以调用存储器1005中存储的红外信号压缩程序,还执行以下操作:确定所述待处理波形序号在所述累计结果中的重复次数;根据所述重复次数从所述待处理波形序号中选取待替换波形序号,并为所述待替换波形序号分别设置标识符;为所述标识符进行配对组合,获得标识符组;为各标识符组分别设置替代标识;将所述第一压缩数据中的待替换波形序号替换为对应的标识符,并将替换标识符后的第一压缩数据中的标识符组替换为对应的替代标识,获得第二压缩数据。进一步地,处理器1001可以调用存储器1005中存储的红外信号压缩程序,还执行以下操作:统计各波形序号在所述第一压缩数据中的出现次数;按照所述出现次数由大到小的顺序选取第一预设数量的波形序号作为待处理波形序号。进一步地,处理器1001可以调用存储器1005中存储的红外信号压缩程序,还执行以下操作:按照所述重复次数由大到小的顺序选取第二预设数量的待处理波形序号作为待替换波形序号。进一步地,处理器1001可以调用存储器1005中存储的红外信号压缩程序,还执行以下操作:根据各数据类型对应的宽度数据之间的宽度差值对所述数据类型进行合并处理。进一步地,处理器1001可以调用存储器1005中存储的红外信号压缩程序,还执行以下操作:对各数据类型对应的宽度数据按照大小进行排序;根据排序结果计算相邻宽度数据之间的宽度差值;将所述宽度差值小于预设宽度阈值的相邻宽度数据作为目标相邻宽度数据;计算所述目标相邻宽度数据的平均值,将所述平均值替换所述待处理宽度序列中属于目标相邻宽度数据的待处理宽度数据,以实现合并处理。在本实施例中,通过获取待压缩红外信号的数据码对应的原始波形,并将所述原始波形中各高低电平对应的原始宽度数据组成原始宽度序列,然后按照高低电平对所述原始宽度序列中各原始宽度数据的预设位进行标记,获得待处理宽度序列,避免再额外设置一个字节来区分高低电平,接着确定所述待处理宽度序列中各待处理宽度数据分别所属的数据类型,并获取各数据类型与波形序号之间的映射关系,由于数据类型通常不超过10种,所述波形序号可通过一个字节的4bit进行表示,根据所述映射关系将所述待处理宽度序列中的各待处理宽度数据按照所述数据类型替换为对应的波形序号,获得第一压缩数据,不再采用两个字节来存储一个宽度数据,而是采用4bit来存储一个宽度数据,减少了存储数据码所需的存储空间。基于上述硬件结构,提出本发明红外信号压缩方法的实施例。参照图2,图2为本发明红外信号压缩方法第一实施例的流程示意图。在第一实施例中,所述红外信号压缩方法包括以下步骤:s10:获取待压缩红外信号的数据码对应的原始波形,并将所述原始波形中各高低电平对应的原始宽度数据组成原始宽度序列;需要说明的是,所述待压缩红外信号即为需要进行压缩的红外信号,其通常为用户设备在处于调试模式或学习模式时获取到的红外信号,所述待压缩红外信号通常由所述用户设备内单片机的引脚捕捉。在具体实现中,所述原始波形是由高低电平所组成,而高低电平的时间宽度会存在一些区别,因此,可将所述原始波形中各高低电平对应的原始宽度数据组成原始宽度序列。s20:按照高低电平对所述原始宽度序列中各原始宽度数据的预设位进行标记,获得待处理宽度序列;需要说明的是,对于所述原始宽度序列中的原始宽度数据而言,仅能表征电平的时间宽度,但无法对高电平和低电平进行区分,而现有技术中通常会再额外设置一个字节来区分,为避免再额外设置一个字节来区分高电平和低电平,从而节约空间,本实施例中,可按照高低电平对所述原始宽度序列中各原始宽度数据的预设位进行标记,获得待处理宽度序列。假设所述原始波形如图3所示,此时,原始宽度序列为{100,100,50,100,130,60,50,50,130,30,50,30,50,50},现有技术中在存储原始宽度序列时,为了区分原始宽度序列中每个原始宽度数据对应的高低电平,因此,还需要额外设置一个字节用来表征原始宽度数据是对应高电平,还是对应低电平,故而,现有技术在存储一个原始宽度数据时,需要采用两个字节;假设十六进制的原始宽度序列可表示为:(0x0064,0x0064,0x0032,0x0064,0x0082,0x003c,0x0032,0x0032,0x0082,0x001e,0x0032,0x001e,0x0032,0x0032),为避免再额外设置一个字节来区分高电平和低电平,从而节约空间,本实施例中,可按照高低电平对所述原始宽度序列中各原始宽度数据的预设位进行标记,获得待处理宽度序列,也就是说,在对所述原始宽度序列中各原始宽度数据的预设位进行标记时,可将低电平对应的原始宽度数据的最高位设置为1,例如:对于数字0x0064而言,将其最高位设置为1后,对应的十六进制表达为0x8064;因此,十六进制的待处理宽度序列为(0x0064,0x8064,0x0032,0x8064,0x0082,0x803c,0x0032,0x8032,0x0082,0x801e,0x0032,0x801e,0x0032,0x8032)。s30:确定所述待处理宽度序列中各待处理宽度数据分别所属的数据类型,并获取各数据类型与波形序号之间的映射关系;可理解的是,在所述待处理宽度序列中会存在相同的待处理宽度数据,因此,可确定所述待处理宽度序列中各待处理宽度数据分别所属的数据类型,在具体实现中,所述待处理宽度数据的数据类型通常不超过10种,因此,可通过一个字节的4bit进行表示。在十六进制的待处理宽度序列为(0x0064,0x8064,0x0032,0x8064,0x0082,0x803c,0x0032,0x8032,0x0082,0x801e,0x0032,0x801e,0x0032,0x8032)时,所述待处理宽度序列中各待处理宽度数据分别所属的数据类型有7种,分别为:0x0064,0x8064,0x0032,0x0082,0x803c,0x8032,0x801e。需要说明的是,在确定所述待处理宽度序列中各待处理宽度数据分别所属的数据类型后,可通过多种方式来获取各数据类型与波形序号之间的映射关系,下面以两种方式为例进行说明:第一种:直接分配方式;也就是说,为各数据类型直接分配波形序号,从而生成各数据类型与波形序号之间的映射关系;第二种:查表分配方式;也就是说,在预先建立的映射表中查找各数据类型与波形序号之间的映射关系。当然,还可采用其他方式来获取各数据类型与波形序号之间的映射关系,本实施例对此不加以限制。s40:根据所述映射关系将所述待处理宽度序列中的各待处理宽度数据按照所述数据类型替换为对应的波形序号,获得第一压缩数据,以实现红外信号压缩;需要说明的是,所述波形序号通常可通过4bit来表示,因此,在根据所述映射关系将所述待处理宽度序列中的各待处理宽度数据按照所述数据类型替换为对应的波形序号后,所述待处理宽度序列中相邻的两个的待处理宽度数据可以用一个字节来表示,数据的空间存储得到了大大的压缩。为进一步提升压缩效果,本实施例中,还可在步骤s40之前,根据各数据类型对应的宽度数据之间的宽度差值对所述数据类型进行合并处理,为便于进行合并处理,本实施例中,可先对各数据类型对应的宽度数据按照大小进行排序,然后根据排序结果计算相邻宽度数据之间的宽度差值,接着将所述宽度差值小于预设宽度阈值的相邻宽度数据作为目标相邻宽度数据,最后计算所述目标相邻宽度数据的平均值,将所述平均值替换所述待处理宽度序列中属于目标相邻宽度数据的待处理宽度数据,以实现合并处理。继续以十六进制的待处理宽度序列是(0x0064,0x8064,0x0032,0x8064,0x0082,0x803c,0x0032,0x8032,0x0082,0x801e,0x0032,0x801e,0x0032,0x8032)为例,其中,数据类型有7种,分别为:0x0064,0x8064,0x0032,0x0082,0x803c,0x8032,0x801e,为了便于对压缩的信号进行还原,所述映射关系通常需要进行存储,当然,所述映射关系只需要存储一次。此时,可预先根据需要设置预设宽度阈值,例如:15或20等,本实施例对此不加以限制,将所述数据类型对应的宽度数据按照宽度大小进行排序,排序结果为0x0032,0x0064,0x0082,0x801e,0x8032,0x803c,0x8064;根据排序结果计算相邻宽度数据之间的宽度差值,此时,可确定相邻宽度数据0x8032和0x803c之间的宽度差值小于预设宽度阈值,因此,0x8032和0x803c可作为目标相邻宽度数据,最后可计算0x8032和0x803c的平均值0x8037,并将所述平均值0x8037替换所述待处理宽度序列中的0x8032和0x803c,以实现合并处理。合并处理后的待处理宽度序列是(0x0064,0x8064,0x0032,0x8064,0x0082,0x8037,0x0032,0x8037,0x0082,0x801e,0x0032,0x801e,0x0032,0x8037),由于此时数据类型有6种,相比合并处理前的7种数据类型,简化了需要存储的映射关系,进一步提高了压缩效果。本实施例通过获取待压缩红外信号的数据码对应的原始波形,并将所述原始波形中各高低电平对应的原始宽度数据组成原始宽度序列,然后按照高低电平对所述原始宽度序列中各原始宽度数据的预设位进行标记,获得待处理宽度序列,避免再额外设置一个字节来区分高低电平,接着确定所述待处理宽度序列中各待处理宽度数据分别所属的数据类型,并获取各数据类型与波形序号之间的映射关系,由于数据类型通常不超过10种,所述波形序号可通过一个字节的4bit进行表示,根据所述映射关系将所述待处理宽度序列中的各待处理宽度数据按照所述数据类型替换为对应的波形序号,获得第一压缩数据,不再采用两个字节来存储一个宽度数据,而是采用4bit来存储一个宽度数据,减少了存储数据码所需的存储空间。参照图4,图4为本发明红外信号压缩方法第二实施例的流程示意图,基于上述图2所示的实施例,提出本发明红外信号压缩方法的第二实施例。在第二实施例中,步骤s40之后,所述红外信号压缩方法还包括:s50:从所述波形序号中选取待处理波形序号;需要说明的是,只有出现较为频繁的波形序号进行再次压缩才存在加高价值,因此,本实施例中,可统计各波形序号在所述第一压缩数据中的出现次数;按照所述出现次数由大到小的顺序选取第一预设数量的波形序号作为待处理波形序号。假设所述第一预设数量为4,并且合并处理后的待处理宽度序列是(0x0064,0x8064,0x0032,0x8064,0x0082,0x8037,0x0032,0x8037,0x0082,0x801e,0x0032,0x801e,0x0032,0x8037),此时,可统计各波形序号在所述第一压缩数据中的出现次数,参照下表:数据类型0x00320x80370x00820x801e0x80640x0064出现次数432221波形序号012345此时,所述待处理波形序号为0、1、2和3。s60:对所述待处理波形序号进行配对组合,获得各脉冲类型;需要说明的是,由于两个待处理波形序号可采用一个字节进行存储,因此,对所述待处理波形序号进行配对组合,可采用两两组合的方式,在对所述待处理波形序号进行配对组合后,各脉冲类型(由待处理波形序号组合而成)可参照下表:s70:将与所述第一压缩数据相匹配的脉冲类型进行累计;需要说明的是,由于确定的是脉冲类型,因此,脉冲类型序号为0、5、10和15,其不存在脉冲的可能,故而,不会存在相匹配的部分,并且由于脉冲会存在上升沿脉冲和下降沿脉冲,因此,对于类似于脉冲类型序号1和4,会存在区别。可理解的是,可按照所述脉冲类型序号由大至小的顺序取出脉冲类型,将取出的脉冲类型与所述第一压缩数据进行匹配,将匹配的脉冲类型数量进行累计。假设合并处理后的待处理宽度序列是(0x0064,0x8064,0x0032,0x8064,0x0082,0x8037,0x0032,0x8037,0x0082,0x801e,0x0032,0x801e,0x0032,0x8037),对应十进制的第一压缩数据为(5,4,0,4,2,1,0,1,2,4,0,3,0,1)。在具体实现中,将与所述第一压缩数据相匹配的脉冲类型进行累计,可参照下表:根据上表可知,可先取出脉冲类型序号为0对应的脉冲类型(即待处理波形序号0和0)与所述第一压缩数据进行匹配,所述第一压缩数据中不存在“0,0”,因此,累计匹配次数为0;再取出脉冲类型序号为1对应的脉冲类型(即待处理波形序号0和1)与所述第一压缩数据进行匹配,由于所述第一压缩数据中存在两个“0,1”,因此,累计匹配次数为2;接着取出脉冲类型序号为3对应的脉冲类型(即待处理波形序号0和2)与所述第一压缩数据进行匹配,所述第一压缩数据中不存在“0,2”,因此,累计匹配次数仍然为2;然后取出脉冲类型序号为3对应的脉冲类型(即待处理波形序号0和3)与所述第一压缩数据进行匹配,由于所述第一压缩数据中存在一个“0,3”,因此,累计匹配次数为3;这样依次类推即可获得上表,为便于进行区分,上表中与所述第一压缩数据相匹配的脉冲类型对应的序号处添加有下划线。s80:根据累计结果对所述第一压缩数据进行压缩,获得第二压缩数据。虽然第一压缩数据能够起到一定的压缩作用,但压缩效果有限,为进一步提高压缩效果,本实施例中,可根据累计结果对所述第一压缩数据进行压缩(即二次压缩),获得第二压缩数据。为便于提高二次压缩的效果,本实施例中,可先确定所述待处理波形序号在所述累计结果中的重复次数,再根据所述重复次数从所述待处理波形序号中选取待替换波形序号,并为所述待替换波形序号分别设置标识符,然后为所述标识符进行配对组合,获得标识符组,接着为各标识符组分别设置替代标识,最后将所述第一压缩数据中的待替换波形序号替换为对应的标识符,并将替换标识符后的第一压缩数据中的标识符组替换为对应的替代标识,获得第二压缩数据。通常情况下,对重复次数较多的波形序号进行压缩的效果较好,因此,在选取待替换波形序号时,可按照所述重复次数由大到小的顺序选取第二预设数量的待处理波形序号作为待替换波形序号。需要说明的是,所述重复次数即为待处理波形序号在匹配的脉冲类型中的出现次数,当然,由于脉冲类型序号1对应的脉冲类型(即待处理波形序号0和1)匹配了两次,因此,待处理波形序号0和波形序号1也需要算两次,待处理波形序号的重复次数及可参照下表:数据类型0x00320x80370x00820x801e待处理波形序号0123重复次数4444假设所述第二预设数量为3,此时,所述待替换波形序号为0,1,2,为各待替换波形序号设置的标识符可参照下表:数据类型0x00320x80370x0082待处理波形序号012标识符fed继续假设十六进制的待处理宽度序列是(0x0064,0x8064,0x0032,0x8064,0x0082,0x803c,0x0032,0x8032,0x0082,0x801e,0x0032,0x801e,0x0032,0x8032),此时,第一压缩数据的存储方式可参照下表:待处理宽度数据波形种类序号字节序号0x0064,0x80645,400x0032,0x80640,410x0082,0x80372,120x0032,0x80370,130x0082,0x801e2,340x0032,0x801e0,350x0032,0x80370,16将所述第一压缩数据中的待替换波形序号替换为对应的标识符可参照下表:由于标识符只有f、e、d三种,为所述标识符进行配对组合,获得标识符组,所述标识符组也涉及(e,f)、(f,e)、(e,d)、(d,e)、(d,f)和(f,d)六种,但根据上表可知,在一个字节中,仅存在两种不同的标识符组即(e,f)和(f,d),因此,可直接用1bit对这两种字符组进行区分,即0代表(e,f),1代表(f,d),当然,若存在超过两种标识符组,则需要增加bit的数量。将替换标识符后的第一压缩数据中的标识符组替换为对应的替代标识,获得第二压缩数据,所述第二压缩数据可参照下表:由上表可知,第一压缩数据需要14*4=56个bit来进行存储,而第二压缩数据需要8*4+3=35个bit来进行存储,并且同类型的波形序号越多,压缩量越大此外,本发明实施例还提出一种红外信号压缩装置,参照图5,所述红外信号压缩装置包括:序列组成模块10,用于获取待压缩红外信号的数据码对应的原始波形,并将所述原始波形中各高低电平对应的原始宽度数据组成原始宽度序列;电平标记模块20,用于按照高低电平对所述原始宽度序列中各原始宽度数据的预设位进行标记,获得待处理宽度序列;类型确定模块30,用于确定所述待处理宽度序列中各待处理宽度数据分别所属的数据类型,并获取各数据类型与波形序号之间的映射关系;序号替换模块40,用于根据所述映射关系将所述待处理宽度序列中的各待处理宽度数据按照所述数据类型替换为对应的波形序号,获得第一压缩数据,以实现红外信号压缩。上述装置中的各模块可用于实现上述方法中的各个步骤,在此不再赘述。此外,本发明实施例还提出一种存储介质,所述存储介质上存储有红外信号压缩程序,所述红外信号压缩程序被处理器执行时实现如下操作:获取待压缩红外信号的数据码对应的原始波形,并将所述原始波形中各高低电平对应的原始宽度数据组成原始宽度序列;按照高低电平对所述原始宽度序列中各原始宽度数据的预设位进行标记,获得待处理宽度序列;确定所述待处理宽度序列中各待处理宽度数据分别所属的数据类型,并获取各数据类型与波形序号之间的映射关系;根据所述映射关系将所述待处理宽度序列中的各待处理宽度数据按照所述数据类型替换为对应的波形序号,获得第一压缩数据,以实现红外信号压缩。进一步地,所述红外信号压缩程序被处理器执行时还实现如下操作:从所述波形序号中选取待处理波形序号;对所述待处理波形序号进行配对组合,获得各脉冲类型;将与所述第一压缩数据相匹配的脉冲类型进行累计;根据累计结果对所述第一压缩数据进行压缩,获得第二压缩数据。进一步地,所述红外信号压缩程序被处理器执行时还实现如下操作:确定所述待处理波形序号在所述累计结果中的重复次数;根据所述重复次数从所述待处理波形序号中选取待替换波形序号,并为所述待替换波形序号分别设置标识符;为所述标识符进行配对组合,获得标识符组;为各标识符组分别设置替代标识;将所述第一压缩数据中的待替换波形序号替换为对应的标识符,并将替换标识符后的第一压缩数据中的标识符组替换为对应的替代标识,获得第二压缩数据。进一步地,所述红外信号压缩程序被处理器执行时还实现如下操作:统计各波形序号在所述第一压缩数据中的出现次数;按照所述出现次数由大到小的顺序选取第一预设数量的波形序号作为待处理波形序号。进一步地,所述红外信号压缩程序被处理器执行时还实现如下操作:按照所述重复次数由大到小的顺序选取第二预设数量的待处理波形序号作为待替换波形序号。进一步地,所述红外信号压缩程序被处理器执行时还实现如下操作:根据各数据类型对应的宽度数据之间的宽度差值对所述数据类型进行合并处理。进一步地,所述红外信号压缩程序被处理器执行时还实现如下操作:对各数据类型对应的宽度数据按照大小进行排序;根据排序结果计算相邻宽度数据之间的宽度差值;将所述宽度差值小于预设宽度阈值的相邻宽度数据作为目标相邻宽度数据;计算所述目标相邻宽度数据的平均值,将所述平均值替换所述待处理宽度序列中属于目标相邻宽度数据的待处理宽度数据,以实现合并处理。在本实施例中,通过获取待压缩红外信号的数据码对应的原始波形,并将所述原始波形中各高低电平对应的原始宽度数据组成原始宽度序列,然后按照高低电平对所述原始宽度序列中各原始宽度数据的预设位进行标记,获得待处理宽度序列,避免再额外设置一个字节来区分高低电平,接着确定所述待处理宽度序列中各待处理宽度数据分别所属的数据类型,并获取各数据类型与波形序号之间的映射关系,由于数据类型通常不超过10种,所述波形序号可通过一个字节的4bit进行表示,根据所述映射关系将所述待处理宽度序列中的各待处理宽度数据按照所述数据类型替换为对应的波形序号,获得第一压缩数据,不再采用两个字节来存储一个宽度数据,而是采用4bit来存储一个宽度数据,减少了存储数据码所需的存储空间。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
,均同理包括在本发明的专利保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1