红外遥控码匹配方法、装置、计算机设备和可读存储介质与流程

文档序号:23858859发布日期:2021-02-05 15:49阅读:309来源:国知局
红外遥控码匹配方法、装置、计算机设备和可读存储介质与流程

[0001]
本申请涉及智能家居领域,特别是涉及一种红外遥控码匹配方法、装置、计算机设备和可读存储介质。


背景技术:

[0002]
目前,随着市场上的智能家居设备越来越丰富,红外遥控器应用也越来越广泛,厂商、品牌、产品各式各样,不同的红外遥控器所对应的编码存在相似性与差异性。而且,因外界环境的影响,红外码在发射与接收过程中会出现一定范围的波动。虽然依据红外遥控器自学习功能,能够学习到大量的红外码,但快速进行设备按键与红外码库中的红外码匹配仍有较大的难度。
[0003]
传统地,红外编码匹配是通过人工介入,进行不断的发码与测试;也有通过硬计算方式计算红外遥控码之间的相似性,但计算耗时较长。


技术实现要素:

[0004]
本申请提供一种红外遥控码匹配方法、装置、计算机设备和可读存储介质,以至少解决相关技术中的遥控器与红外遥控码匹配耗时长的问题。
[0005]
第一方面,本申请实施例提供了一种红外遥控码匹配方法,所述方法包括:获取红外遥控码流,所述红外遥控码流包括多个码数据;统计每一所述码数据在所述红外遥控码流中出现的次数,并根据每一所述码数据在所述红外遥控码流中出现的次数,将所述红外遥控码流覆盖的数据区域划分为多个数据子区域;根据所述红外遥控码流中每一个所述码数据的大小和多个所述数据子区域,对所述红外遥控码流中的每一个码数据进行编码处理,得到编码码流;将所述编码码流与红外遥控码库中记录的已编码红外遥控码流进行匹配,以在所述红外遥控码库中找到对应的红外遥控码流。
[0006]
在其中一些实施例中,所述根据所述码数据在所述红外遥控码流中出现的次数,将所述红外遥控码流的数据区域划分为多个数据子区域包括:根据所述码数据在所述红外遥控码流中出现的次数,从所述红外遥控码流中选取第一码数据和第二码数据;根据所述第一码数据、所述第二码数据以及预设偏差,得到4个分割码数据;根据4个所述分割码数据的大小,将所述红外遥控码流的数据区域划分为5个连续的所述数据子区域。
[0007]
在其中一些实施例中,根据所述码数据出现的次数,从所述红外遥控码流中选取第一码数据和第二码数据包括:在所述红外遥控码流中选取出现次数最高的码数据,作为第一高频码数据;根据所述第一高频码数据和所述预设偏差得到第一区间,并计算所述第一区间内所有
码数据的第一均值,将所述第一均值作为所述第一码数据;在所述红外遥控码流中剔除所述第一区间内的所有码数据,并计算剔除后的所述红外遥控码流中出现次数最高的码数据,作为第二高频码数据;根据所述第二高频码数据和所述预设偏差得到第二区间,并计算所述第二区间内所有码数据的第二均值,将所述第二均值作为所述第二码数据。
[0008]
在其中一些实施例中,根据所述第一码数据、所述第二码数据以及预设偏差,得到4个分割码数据包括:根据所述第一码数据和所述预设偏差,得到所述第一码数据波动范围的第一上限值和第一下限值;根据所述第二码数据和所述预设偏差,得到所述第二码数据波动范围的第二上限值和第二下限值。
[0009]
在其中一些实施例中,所述预设偏差为5%至20%。
[0010]
在其中一些实施例中,所述根据所述编码码流,对红外遥控码库中记录的已编码红外遥控码流进行匹配包括:比较所述编码码流中码数据的波动范围与第三码数据的波动范围,所述第三码数据为所述外遥控码库中记录的已编码红外遥控码流的码数据;若所述编码码流中码数据的波动范围在所述第三码数据的波动范围内,则比较所述编码码流中的码数据是否与所述红外遥控码库中记录的已编码红外遥控码流匹配。
[0011]
在其中一些实施例中,所述在获取红外遥控码流之后,所述方法还包括:对所述红外遥控码流进行预处理,所述预处理的方式包括平滑处理。
[0012]
第二方面,本申请实施例提供了一种红外遥控码匹配装置,所述装置包括:获取模块,用于获取红外遥控码流,所述红外遥控码流包括多个码数据;编码模块,用于根据所述码数据在所述红外遥控码流中出现的次数,将所述红外遥控码流的数据区域划分为多个数据子区域;并根据所述红外遥控码流中每一个所述码数据的大小和多个所述数据子区域,对所述红外遥控码流中的每一个码数据进行编码处理,得到编码码流;匹配模块,用于将所述编码码流与对红外遥控码库中记录的已编码红外遥控码流进行匹配,以在所述红外遥控码库中找到对应的红外遥控码流。
[0013]
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的红外遥控码匹配方法。
[0014]
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的红外遥控码匹配方法。
[0015]
相比于相关技术,本申请实施例提供的红外遥控码匹配方法,包括获取红外遥控码流,所述红外遥控码流包括多个码数据;根据所述码数据在所述红外遥控码流中出现的次数,将所述红外遥控码流的数据区域划分为多个数据子区域;根据所述红外遥控码流中每一个所述码数据的大小和多个所述数据子区域,对所述红外遥控码流中的每一个码数据进行编码处理,得到编码码流;将所述编码码流与红外遥控码库中记录的已编码红外遥控码流进行匹配,以在所述红外遥控码库中找到对应的红外遥控码流,解决了相关技术中的
遥控器与红外遥控码匹配耗时长的问题。
[0016]
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
[0017]
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为一个实施例中提供的红外遥控码匹配方法的流程图;图2为一个实施例中提供的某遥控器对应的红外遥控器码流的示意图;图3为一个实施例中提供的某遥控器的第一码数据和第二码数据的频繁项示意图;图4为一个实施例中提供的被划分后得到的数据子区域的示意图;图5为一个实施例中提供的编码码流的示意图;图6为一个实施例中提供的红外遥控码匹配装置的结构框图;图7为一个实施例中计算机设备的内部结构图。
具体实施方式
[0018]
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0019]
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
[0020]
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
[0021]
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个
或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
[0022]
图1为一个实施例提供的红外遥控码匹配方法,如图1所示,红外遥控码匹配方法包括步骤110至步骤140;其中:步骤110,获取红外遥控码流,红外遥控码流包括多个码数据。
[0023]
目前红外遥控码的类型千差万别,不同品牌、不同类型遥控器的编码方式不同,有些还是厂家自定义类型的红外遥控码。因此对应的红外遥控码流也不同,以区分不同的遥控器。具体的,每种类型的红外遥控码包括多帧红外遥控码流对应多个遥控器的功能。例如第一帧红外遥控码流对应音量+,第二帧遥控码流对应音量-等等。每帧红外遥控码流具有连续的多个码脉冲,每个码脉冲包括交替的高电平和低电平,由于红外接收头在空闲时电平是高电平,当检测到低电平时认为有红外码流,因此每一帧红外遥控码流的头码为低电平。不同类型的红外遥控码流的高电平分布不同,同类型的红外遥控码流的高低电平分布相同。即不同类型的码脉冲的高电平持续时间和低电平的持续时间不同。本申请通过定时器记录高电平持续时间和低电平持续时间,将记录的高低电平持续时长作为码数据。例如图2中的第一个数值8900对应的是低电平持续时长8900us ,第二个数值4500对应的是高电平持续时长4500us。图2所示的为某个遥控器下所有的码数据。
[0024]
步骤120,统计每一码数据在所述红外遥控码流中出现的次数,并根据每一所述码数据在所述红外遥控码流中出现的次数,将所述红外遥控码流覆盖的数据区域划分为多个数据子区域。
[0025]
步骤130,根据红外遥控码流中每一个码数据的大小和多个数据子区域,对红外遥控码流中的每一个码数据进行编码处理,得到编码码流。
[0026]
红外遥控码流整体上符合高低电平分布的规律。例如,图2中的第一个码数据8900属于低电平持续时长,第二个码数据4500属于高电平持续时长,第三个码数据属于450属于低电平持续时长依次交替。由图2可以看出红外遥控码流中,除了头部的一个码脉冲,其他码数据基本上符合低电平持续时间较短,高电平持续时间较长,且低电平持续时间集中在一个数据区间,高电平持续时间集中在另一个数据区间。参考图2,高电平持续时间集中在1750至1800数据区间,低电平持续时间集中在450至550数据区间。本申请根据码数据在红外遥控码流中出现的次数,根据码数据出现的频繁次数确定分割数据,将红外遥控码流的数据区域划分为多个数据子区域,将所有码数据根据大小划分到对应的数据子区域中,且每一数据子区域对应同一个编码值,编码值的组合为编码码流。
[0027]
步骤140,将编码码流与红外遥控码库中记录的已编码红外遥控码流进行匹配,以确定红外遥控码流的类型。
[0028]
目前红外遥控码库几乎存储了所有类型的红外遥控码流。由于红外遥控码库中存储有太多种类型的红外遥控码流,因此,快速匹配到某个遥控器对应的红外遥控码类型也成了一个重要的问题。需要说明的是,为了实现红外遥控码库的快速匹配,需要对红外遥控码库中的红外遥控码流按照上述方编码方式进行编码处理,并进行储存,以便后续快速的匹配。
[0029]
现有的,快速进行遥控器按键与红外遥控码之间的匹配仍有较大的难度。第一种方式是通过人工介入进行不断的发码与测试,难度较高,效率低,很多时候用户都因为没有找到对应的红外遥控码而放弃了这个功能。第二种方式是通过硬计算方式计算红外遥控码之间的相似性,但计算耗时较长。
[0030]
与现有技术相比,本申请提供的红外遥控码匹配方法,包括获取红外遥控码流,红外遥控码流包括多个码数据;根据码数据在红外遥控码流中出现的次数,将红外遥控码流的数据区域划分为多个数据子区域;根据红外遥控码流中每一个码数据的大小和多个数据子区域,对红外遥控码流中的每一个码数据进行编码处理,得到编码码流;将编码码流与红外遥控码库中记录的已编码红外遥控码流进行匹配,以确定红外遥控码流的类型。上述方法通过对红外遥控码流进行编码,将包括有多个码数据的红外遥控码流编码为固定的几个字符组成的字符串,通过编码后得到的编码码流与红外遥控码库中存储的已编码红外码流进行匹配。在有新的红外遥控器编码过来时,依据上述算法处理得到的编码码流可以快速地与红外遥控码库中的红外遥控码流进行匹配,相较于之前逐个码去计算相似性,在测试集上该算法在效率上有了近250倍的提升,大大简化了红外遥控码库的对码功能,实现了家用遥控器的快速匹配。
[0031]
另外,考虑到在实际业务中,由于外界环境例如温度、湿度、网络强度、距离等的影响,红外遥控码在发射和接收过程中出现波动,从而导致红外遥控码流中的码数据存在一定范围内的波动。例如,图2中接收到的第一帧码流中的码数据为550,但在发送时可能发送的是持续时长500的电平。若采用现有的匹配方法进行匹配,很难匹配成功。本申请通过对码数据进行编码,将在预设波动范围内的码数据编码为同一个子区域内,从而可以避免由于外界环境影响导致匹配失败的情况,提高匹配的准确度。
[0032]
在其中一些实施例中,根据码数据在红外遥控码流中出现的次数,将红外遥控码流的数据区域划分为多个数据子区域包括:根据码数据在红外遥控码流中出现的次数,从红外遥控码流中选取第一码数据和第二码数据;根据第一码数据、第二码数据以及预设偏差,得到4个分割码数据;根据4个分割码数据的大小,将红外遥控码流的数据区域划分为5个连续的数据子区域。
[0033]
具体地,第一码数据的获取方式可以如下:选取在红外遥控码流中选取出现次数最高的码数据作为第一码数据value1,此处value1=500。根据第一码数据value1和预设偏差上下浮动得到第一区间。参考图3,在图2所示的红外遥控码流中,出现次数最高的码数据为500,在该遥控器的红外遥控码流中出现967次,百分占比为38.43%。本实施例按value1=500,预设偏差为20%为例进行说明。在第一码数据上下浮动20%,分别得到第一码数据的上限和下限分割码数据500*(1-20%)=400和500*(1+20%)=600。
[0034]
第二码数据的获取方式如下:踢除在第一区间内的所有码数据,本实施例中,剔除红外遥控码流中400至600之间的所有码数据,然后在红外遥控码流中选取出现次数最高的码数据value2。参考图3,在剔除红外遥控码流中400至600之间的所有码数据后,在该遥控器的红外遥控码流中出现1700次,百分占比为18.04%。此处value2=1700即为计算得到的第二码数据。根据第二码数据value2和预设偏差上下浮动得到第二区间。本实施例按value2=
1700,预设偏差为20%为例进行说明。在第二码数据上下浮动20%,分别得到分割码数据1700*(1-20%)=1360和1700*(1+20%)=2040。
[0035]
在得到4个分割码数据后,根据4个分割码数据的大小,将红外遥控码流的数据区域划分为5个连续的数据子区域。
[0036]
如图4所示,得到4个分割码数据400、600、1360和2040后,可以将红外遥控码流的数据区域划分为小于400、400至600、600至1360、1360至2040和大于2040这5个数据子区域。
[0037]
将红外遥控码流的数据区域划分得到5个数据子区域后,对5个数据子区域内的码数据统一编码得到编码码流,例如可以编码为数字1、2、3、4和5,也可以编码为字母a、b、c、d和e等,具体编码方式本申请并不作具体限制。本申请中均以编码为数字为例进行说明,如图5所示。
[0038]
在其中一些实施例中,根据码数据出现的次数,从红外遥控码流中选取第一码数据和第二码数据包括:在红外遥控码流中选取出现次数最高的码数据,作为第一高频码数据;根据第一高频码数据和预设偏差得到第一区间,并计算第一区间内所有码数据的第一均值,将第一均值作为第一码数据;在红外遥控码流中剔除第一区间内的所有码数据,并选取剔除后的红外遥控码流中出现次数最高的码数据,作为第二高频码数据;根据第二高频码数据和预设偏差得到第二区间,并计算第二区间内所有码数据的第二均值,将第二均值作为第二码数据。
[0039]
具体地,首先在红外遥控码流中选取出现最多的那个码记为第一高频码数据m1;因遥控码在发射过程中会轻微的波动,本实施例偏差为alph(例如5%、10%、20%);记m1波动的下限为m1*(1-alph),上限为m1*(1+alph);统计在[m1*(1-alph),m1*(1+alph)]范围内的码数据均值,记为第一码数据。
[0040]
在红外遥控码流中踢除在[m1*(1-alph),m1*(1+alph)]范围内的码数据,计算剩下的码数据出现的次数,找出出现最多的码数据记为第二高频码数据m2,统计在[m2*(1-alph),m2*(1+alph)]中的码数据均值;记为第二码数据。
[0041]
在其中一些实施例中,根据第一码数据、第二码数据以及预设偏差,得到4个分割码数据包括:根据第一码数据和预设偏差,得到第一码数据波动范围的第一上限值和第一下限值;根据第二码数据和预设偏差,得到第二码数据波动范围的第二上限值和第二下限值。
[0042]
具体地,在得到第一码数据top1和第二码数据top2后,确定top1及top2的上下限:top1频繁项电频的上下限为[top1*(1-alph),top1*(1+alph)];top2频繁项电频的上下限为[top2*(1-alph),top2*(1+alph)]。通过top1*(1-alph)、top1*(1+alph)、top2*(1-alph)、top2*(1+alph)四个分割码数据将整个数据区域划分为五个部分,从左到右分别可编码为12345;针对某个遥控器的每条码,依据编码进行映射,得到每个码在12345之间的不同组合。
[0043]
本实施例通过将在第一区间范围内的码数据均值作为第一码数据,以及将第二区间范围内的码数据均值作为第二码数据,可以减小码数据波动对编码造成的影响,从而可以提升匹配的准确度。
[0044]
在其中一些实施例中,预设偏差为5%至20%,例如可以为5%、10%、15%、20%等,具体数据可以根据环境因素来设置。
[0045]
在其中一些实施例中,根据编码码流,对红外遥控码库中记录的已编码红外遥控码流进行匹配包括:比较所述编码码流中码数据的波动范围与第三码数据的波动范围,所述第三码数据为所述外遥控码库中记录的已编码红外遥控码流的码数据;若所述编码码流中码数据的波动范围在所述第三码数据的波动范围内,则比较所述编码码流中的码数据是否与所述红外遥控码库中记录的已编码红外遥控码流匹配。
[0046]
若第一码数据波动范围或第二码数据波动范围不在外遥控码库中记录的红外遥控码流的码数据波动范围内,即使编码码流匹配一样,也不认为是匹配的。
[0047]
举例说明:红外遥控码库中存储的码数据:100 5000 100 100 5000和遥控器发射的码数据500 7000 500 500 7000,虽然编码码流一样,但是由于遥控器发射的码数据的波动范围不在红外遥控码库中存储的码数据的预设波动范围内,因此 两者的而波动范围是不匹配的,因此也不能匹配上。只有在遥控器的码数据波动范围与红外遥控码库中记录的红外遥控码流的码数据波动范围匹配的前提下,编码码流一样,才算匹配成功,从而可以提高匹配的准确度。
[0048]
在比较所述编码码流中的码数据是否与所述红外遥控码库中记录的已编码红外遥控码流匹配时,若编码码流中的码数据的长度与红外遥控码库中记录码流长度不一致,例如编码码流中的码数据的长度为80,红外遥控码库中记录码流长度为100,则可以将编码码流中的码数据与红外遥控码库中记录码流中的前80个进行对比,若匹配,则认为匹配成功。
[0049]
在其他一些实施例中,红外遥控码库中可以存储理想情况下的标准码流数据,即不受环境影响的无波动码数据。标准码数据经过编码后分布在两个数据子区域,例如2和4对应的数据子区域,某一帧标准码数据经过编码后得到的编码码流为:4 2 2 2 4 2 4 2 2 2 ,考虑到外界环境影响,待匹配的遥控器发射的红外遥控码流中的码数据会出现波动,因此编码后的码数据可能出现在1、3和5对应的数据子区域,例如某一帧待匹配的遥控器发射的红外遥控码流中的码数据经过编码后得到的编码码流为:4 3 2 2 4 2 4 2 2 2 ,则本申请中的匹配规则可以设置为:若未匹配的个数小于预设个数,则认为匹配。预设个数可以根据码流的长度设置,例如预设个数可以设置为预设长度的1%、2%、3%等等。另外,还可以结合偏差程度和未匹配个数综合判断。具体为:若标准编码码数据为2,遥控器发射的码数据为4,则认为偏差较大,若遥控器发射的码数据为1或3,则认为偏差较小,根据偏差的大小设置权值,权值大小与偏差大小成正比,将所有未匹配的码数据对应的权值相加得到的数值与预设阈值进行比较,若小于预设阈值,则认为匹配,若不小于预设阈值,则认为不匹配。
[0050]
在其他一些实施例中,可以在红外遥控码库中可以存储在预设波动范围内的多帧码流,当在波动范围内其中一帧存储的码流与接收到的红外遥控码流匹配时,则认为匹配成功。预设波动范围可以与上述的预设阈值含义相同,具体数值可根据实际业务场景设置。
[0051]
如果在本地存储器和云端存储器中都未查询到对应的红外遥控码,则确定红外遥控码库中未存储有该红外遥控码,则对红外遥控码库进行更新,将新增的红外遥控码以及对应的设备型号和类型更新至红外遥控码库中,用户在下次对同一遥控器进行配对时,无
需再次输入设备类型以及设备型号,从而使得红外设备的配对过程更为智能。
[0052]
在其中一些实施例中,在获取红外遥控码流之后,还包括:对红外遥控码流进行预处理,预处理的方式包括平滑处理。
[0053]
在实际的工程应用中,由于环境突变,可以会经常会遇到红外遥控码流噪声太多的问题,比如码数据抖动幅度较大。如果不进行平滑处理,仍会造成匹配不成功的问题。本实施例通过对红外遥控码流进行平滑处理,可以消除抖动量较大的码数据,以消除由于环境突变造成的码数据抖动问题,提高匹配的准确性。本申请中,采用的平滑处理方式包括滑动平均法(moving average,ma)、指数滑动平均法(exponential mean average,ema)或sg滤波法等,具体采用哪种平滑处理方式,本实施例不作限定,用户可以自主设置和选择。
[0054]
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0055]
本实施例还提供了一种红外遥控码匹配装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0056]
在一个实施例中,如图6所示,提供了一种红外遥控码匹配装置,所述装置包括:获取模块610,用于获取红外遥控码流,所述红外遥控码流包括多个码数据;编码模块620,用于根据所述码数据在所述红外遥控码流中出现的次数,将所述红外遥控码流的数据区域划分为多个数据子区域;并根据所述红外遥控码流中每一个所述码数据的大小和多个所述数据子区域,对所述红外遥控码流中的每一个码数据进行编码处理,得到编码码流;匹配模块630,用于将所述编码码流与对红外遥控码库中记录的已编码红外遥控码流进行匹配,以在所述红外遥控码库中找到对应的红外遥控码流。
[0057]
本实施例提供的红外遥控码匹配装置,通过获取模块610获取红外遥控码流,红外遥控码流包括多个码数据;编码模块620根据码数据在红外遥控码流中出现的次数,将红外遥控码流的数据区域划分为多个数据子区域;并根据红外遥控码流中每一个码数据的大小和多个数据子区域,对红外遥控码流中的每一个码数据进行编码处理,得到编码码流;匹配模块630将编码码流与对红外遥控码库中记录的已编码红外遥控码流进行匹配,以在所述红外遥控码库中找到对应的红外遥控码流,可以将红外遥控码流中的码数据通过上述编码方式进行编码得到固定的几个字符组成的字符串,编码后得到的编码码流再与红外遥控码库中存储的已编码红外码流进行匹配。在有新的红外遥控器编码过来时,依据上述算法快速地与红外遥控码库中的红外遥控码流进行匹配,相较于之前逐个码去计算相似性,在测试集上该算法在效率上有了近250倍的提升,大大简化了红外遥控码库的对码功能,实现了家用遥控器的快速匹配。
[0058]
在其中一些实施例中,编码模块620还用于:根据所述码数据在所述红外遥控码流
access memory,简称为ram)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmable read-only memory,简称为prom)、可擦除prom(erasable programmable read-only memory,简称为eprom)、电可擦除prom(electrically erasable programmable read-only memory,简称为eeprom)、电可改写rom(electrically alterable read-only memory,简称为earom)或闪存(flash)或者两个或更多个以上这些的组合。在合适的情况下,该ram可以是静态随机存取存储器(static random-access memory,简称为sram)或动态随机存取存储器(dynamic random access memory,简称为dram),其中,dram可以是快速页模式动态随机存取存储器(fast page mode dynamic random access memory,简称为fpmdram)、扩展数据输出动态随机存取存储器(extended date out dynamic random access memory,简称为edodram)、同步动态随机存取内存(synchronous dynamic random-access memory,简称sdram)等。
[0069]
存储器72可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器71所执行的可能的计算机程序指令。
[0070]
处理器71通过读取并执行存储器72中存储的计算机程序指令,以实现上述实施例中的任意一种红外遥控码匹配方法。
[0071]
在其中一些实施例中,计算机设备还可包括通信接口73和总线70。其中,如图7所示,处理器71、存储器72、通信接口73通过总线70连接并完成相互间的通信。
[0072]
通信接口73用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信接口73还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
[0073]
总线70包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线70包括但不限于以下至少之一:数据总线(data bus)、地址总线(address bus)、控制总线(control bus)、扩展总线(expansion bus)、局部总线(local bus)。举例来说而非限制,总线70可包括图形加速接口(accelerated graphics port,简称为agp)或其他图形总线、增强工业标准架构(extended industry standard architecture,简称为eisa)总线、前端总线(front side bus,简称为fsb)、超传输(hyper transport,简称为ht)互连、工业标准架构(industry standard architecture,简称为isa)总线、无线带宽(infiniband)互连、低引脚数(low pin count,简称为lpc)总线、存储器总线、微信道架构(micro channel architecture,简称为mca)总线、外围组件互连(peripheral component interconnect,简称为pci)总线、pci-express(pci-x)总线、串行高级技术附件(serial advanced technology attachment,简称为sata)总线、视频电子标准协会局部(video electronics standards association local bus,简称为vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线70可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
[0074]
该计算机设备可以基于获取到的程序指令,执行本申请实施例中的红外遥控码匹配方法,从而实现结合图7描述的红外遥控码匹配方法。
[0075]
另外,结合上述实施例中的红外遥控码匹配方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种红外遥控码匹配方法。
[0076]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0077]
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1