一种压缩红外空调遥控码库的算法的制作方法

文档序号:11691657阅读:594来源:国知局

本发明涉及空调遥控码库算法领域,具体涉及到一种压缩红外空调遥控码库的算法。



背景技术:

目前的万能空调遥控的实现必须基于对应的万能红外空调遥控码库,该码库在本文中称为“原始码库”。原始码库因为是以枚举的方式记录所有指令内容,所以必然占据很大的存储空间,特别当需要控制的空调品牌及型号繁多时,该存储空间的需求是极其庞大的。举例来说,一个海尔品牌下一种型号的空调红外遥控指令码库的体积为800kb-6000kb这个范围,而单个海尔品牌目前就有近十种型号各不相同的型号码库。如此庞大的原始码库基本需要在线存储调用,才可实现万能空调遥控的功能,否则其存储成本是难以忽视的问题。



技术实现要素:

为解决上述技术问题,本发明提供了一种压缩红外空调遥控码库的算法,原始码库经压缩后,所需存储空间显著降低,例如一个海尔品牌下数种型号原始码库体积为12.4mb,经本发明压缩后,体积变小为86kb。这么一来,像海尔、美的、格力等等品牌的空调的红外遥控码库都可以以很低的成本离线存储。

本发明提供了一种压缩红外空调遥控码库的算法,包括以下步骤:

载入原始码库并记录对应的品牌、型号id以及控制信息;

对上述的原始码库的形式进行区分得到常规码库和多段码库;

将得到的常规码库和多段码库的格式进行转换;

基于转换之后的常规码库和多段码库建立变量的决策树解析;

整理解析后的压缩内容。

上述的算法,其中,所述载入原始码库并记录对应的品牌、型号id以及控制信息的步骤中:

控制信息由inst码反映。

上述的算法,其中,所述将得到的常规码库和多段码库的格式进行转换的步骤中:

将常规码库、多段码库的控制码和校验码部分中,将高电位视为1,低电位视为0,得到一串二进制数字;

将上述得到一串二进制数字以字节形式转换成十六进制整数形式。

上述的算法,其中,所述基于转换之后的常规码库和多段码库建立变量的决策树解析的步骤包括:

将决策树分为:第0层、第1层、第2层、第3层、第4层、第5层、第6层和第7层。

上述的算法,其中,所述第0层用于确定品牌和型号id;所述第1层用于解析控制码,针对每条控制码生成都一致的部分,定为控制码的根命令,不一致的部分由之后的层次确定补充。

上述的算法,其中,所述第2层用于根据空调状态:开机、关机,确定空调状态命令,和补充进根命令;所述第3层用于根据空调模式:自动、制冷、制热、抽湿、送风,确定空调模式命令,和补充进根命令;所述第4层用于根据温度:16℃至30℃,确定温度命令,和补充进根命令。

上述的算法,其中,所述第5层用于根据风量:自动风量、低风、中风、高风,确定风量命令,和补充进根命令;所述第6层用于根据风向:自动风向、1位置风向、2位置风向、3位置风向、4位置风向、5位置风向,确定风向命令,和补充进根命令;所述第7层用于对需要补充校验码的进行补充。

上述的算法,其中,所述整理解析后的压缩内容的步骤包括:

多层运算码:引导码、截止码、间隔码、根命令、空调状态命令、空调模式命令、温度命令、风量命令、风向命令,多层运算方法;

根据决策树的第2层至第6层各补充进根命令和校验码生成方法。

本发明具有以下优点:

1、因为原始码库过于庞大,不便离线存储,所以我们要提出显著压缩原始码库的方法并实现应用。

2、原始码库经压缩后,所需存储空间显著降低,例如一个海尔品牌下数种型号原始码库体积为12.4mb,经本发明压缩后,体积变小为86kb。这么一来,像海尔、美的、格力等等品牌的空调的红外遥控码库都可以以很低的成本离线存储。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明及其特征、外形和优点将会变得更明显。在全部附图中相同的标记指示相同的部分。并未刻意按照比例绘制附图,重点在于示出本发明的主旨。

图1为本发明提供的一种压缩红外空调遥控码库的算法的流程示意图。

具体实施方式

在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。

为了彻底理解本发明,将在下列的描述中提出详细的步骤以及详细的结构,以便阐释本发明的技术方案。本发明的较佳实施例详细描述如下,然而除了这些详细描述外,本发明还可以具有其他实施方式。

在本发明中,空调的红外遥控指令实质上是控制红外发射灯发送高/低电位信息(时间长度),原始码库就是存储了每条控制的高/低电位信息,如高电位n1微秒、低电位m1微秒、高电位n2微秒、低电位m2微秒、高电位n3微秒、低电位m3微秒......本发明基于原始码库,以7个实际变量:品牌、型号id、空调状态、空调模式、温度、风量和风向为决策树变量,将以枚举方式的原始码库内容压缩,压缩后内容分两部分——多层运算码(向量形式)+多层运算方法(可实现的伪代码或相关程序代码)。

参照图1所示,本发明提供了一种压缩红外空调遥控码库的算法,包括以下步骤:

步骤s1:载入原始码库并记录对应的品牌、型号id以及控制信息,例如,开机-制冷-26℃-自动风量-1位置风向,控制的实际信息由inst码反映;

步骤s2:对上述的原始码库的形式进行区分得到常规码库和多段码库,也就是说,根据已有原始码库,可得到这两大类型—常规码库、多段码库。其中占大部分的常规码库中每条指令形式是,引导码+控制码+(校验码)+截止码;而多段码库中每条指令形式是特殊复杂的,需事先分清有多少段控制码,如果有三段,那其形式是,引导码+控制码1+(校验码1)+间隔码1+控制码2+(校验码2)+间隔码2+控制码3+(校验码3)+截止码;

步骤s3:将得到的常规码库和多段码库的格式进行转换,具体包括:将常规码库、多段码库的控制码和校验码部分中,将高电位视为1,低电位视为0,得到一串二进制数字;将上述得到一串二进制数字以字节形式转换成十六进制整数形式。

步骤s4:基于转换之后的常规码库和多段码库建立变量的决策树解析,其中将决策树分为:第0层、第1层、第2层、第3层、第4层、第5层、第6层和第7层,进一步,第0层用于确定品牌和型号id;第1层用于解析控制码,针对每条控制码生成都一致的部分,定为控制码的根命令,不一致的部分由之后的层次确定补充;第2层用于根据空调状态:开机、关机,确定空调状态命令,和补充进根命令;第3层用于根据空调模式:自动、制冷、制热、抽湿、送风,确定空调模式命令,和补充进根命令;第4层用于根据温度:16℃至30℃,确定温度命令,和补充进根命令;第5层用于根据风量:自动风量、低风、中风、高风,确定风量命令,和补充进根命令;第6层用于根据风向:自动风向、1位置风向、2位置风向、3位置风向、4位置风向、5位置风向,确定风向命令,和补充进根命令;第7层用于对需要补充校验码的进行补充。也就是说:影响码库指令的变量有,品牌、型号id、空调状态、空调模式、温度、风量和风向。决策树的基础层(第0层),是确定品牌和型号id,这么一来,每条指令中的引导码、截止码,如果是多段码库,还有间隔码都是一致的;在决策树的第1层,开始解析控制码,针对每条控制码生成都一致的部分,定为控制码的根命令(简称为根命令),不一致的部分由之后的层次确定补充;在决策树的第2层,根据空调状态:开机、关机,确定空调状态命令,和补充进根命令(比如相与、相加、相加取一个确定的循环数组等等);在决策树的第3层,根据空调模式:自动、制冷、制热、抽湿、送风,确定空调模式命令,和补充进根命令;在决策树的第4层,根据温度:16℃至30℃,确定温度命令,和补充进根命令;在决策树的第5层,根据风量:自动风量、低风、中风、高风,确定风量命令,和补充进根命令;在决策树的第6层,根据风向:自动风向、1位置风向、2位置风向、3位置风向、4位置风向、5位置风向,确定风向命令,和补充进根命令;在决策树的第7层,仅剩校验码需要补充,需注意的是,并不是每个码库都具有校验码,校验码生成方式一般比较简单,比如将之前的控制码部分相加取末尾的,需要拿出来特别解析,可能涉及一个多维矩阵,并结合一个对应的元素取值方法,这一层的处理可以再运用多变量决策树,其步骤可参照之前第1层至第6层。

步骤s5:整理解析后的压缩内容,其中包括多层运算码:引导码、截止码、间隔码、根命令、空调状态命令、空调模式命令、温度命令、风量命令、风向命令,多层运算方法;根据决策树的第2层至第6层各补充进根命令和校验码生成方法。

以上对本发明的较佳实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本发明的实质内容。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1