对红外或无线遥控信号数据进行压缩的方法及装置与流程

文档序号:14250854阅读:250来源:国知局
对红外或无线遥控信号数据进行压缩的方法及装置与流程

本发明涉及数据处理及编码,更具体地说,涉及一种对红外或无线遥控信号数据进行压缩的方法及装置。



背景技术:

目前大部分的红外遥控、简易无线遥控,信号传输都采用脉冲宽度调制或脉冲相位调制,对这类信号进行捕捉记录脉冲高低电平时间,数据量比较大,存储和传输均不方便。通常来讲,在需要记录上述遥控信号的场合,例如在学习型遥控器中,需要将概遥控信号记录并存储,由于事先是不知道该信号会采用哪种协议,所以不可能记录二进制数据,通常会通过高速采样,记录该遥控信号的电平持续时间,这样在存储和发射时也不需要判断采用的协议,直接将信号恢复成原先接收到的波形就好了。现有技术中采用的这种方法虽然能够实现遥控信号波形的重现,但是高速采样的速度非常快,这样就会出现一个字节的遥控信号,可能需要上百个字节来表示的情况。巨大的数据量使得存储、传输都变成较大的负担,同时,高速采样对器件的要求较高,还会带来额外的器件成本。因此,现有技术中的解决方案的数据量大、成本较高。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的上述数据量大、成本较高的缺陷,提供一种数据量小、成本较低的对红外或无线遥控信号数据进行压缩的方法及装置。

本发明解决其技术问题所采用的技术方案是:构造一种对红外或无线遥控信号数据进行压缩的方法,,包括如下步骤:

a)取得整理后的一个遥控信号的波形;所述一个遥控信号的波形是指触发遥控器的一个按键而发出的一个完整的遥控指令的信号的包络波形;

b)按时间顺序依次逐一计算所述包络波形中的每个电平段的电平状态和该段电平的持续时间;

c)统计该包络波形中具有相同的电平状态和相同的持续时间的电平段出现的次数,将其按照出现的次数由大到小的顺序依次排列,得到电平段出现清单;

d)按照设定的原则,将事先存储的一个编码集中的多个编码按照其编码长度由短到长的顺序,依次分配给所述电平段出现清单中的电平段,得到该遥控信号的波形的存储数据。

更进一步地,步骤d)中的设定的原则包括将编码长度最短的编码分配给在所述遥控信号波形中出现次数最多的电平段,并以此类推,使得所述电平段出现清单中由前向后的排列的电平段分别对应于编码长度由短到长的编码。

更进一步地,还包括取得多个遥控信号波形,并分别对每个遥控信号进行取得波形和计算其波形中的电平段中电平的状态和持续时间,形成包括多个遥控信号波形的电平段出现清单,并统一对所述包括多个遥控信号波形的电平段出现清单中的电平段进行编码分配。

更进一步地,还包括如下步骤:

e)按照所述电平段和所述编码之间的对应关系,形成该遥控信号的编码对照表。

更进一步地,所述电平段包括由相对的电平跳转到一个电平开始到该电平再次跳转到相对的电平结束的时间段或由相对的电平跳转到一个电平开始,再次跳转到相对电平并维持到该相对电平再次跳转结束的时间段。

更进一步地,所述电平段包括所述遥控信号表示的数据字节中的一位或两位数据。

更进一步地,所述步骤a)中进一步包括:

a1)对所述遥控信号数据进行自适应滤波;

a2)对持续时间相差在设定范围内的电平进行均值化处理,即对于持续时间相差在设定范围内的高电平或底电平进行求平均值,然后使用该平均值替代该位置上实际的电平持续时间。

本发明还涉及一种实现上述方法的装置,包括:

遥控信号处理单元:用于取得整理后的一个遥控信号的波形;所述一个遥控信号的波形是指触发遥控器的一个按键而发出的一个完整的遥控指令的信号的包络波形;

电平段取得单元:用于按时间顺序依次逐一计算所述包络波形中的每个电平段的电平状态和该段电平的持续时间;

出现清单取得单元:用于统计该包络波形中具有相同的电平状态和相同的持续时间的电平段出现的次数,将其按照出现的次数由大到小的顺序依次排列,得到电平段出现清单;

编码分配单元:用于按照设定的原则,将事先存储的一个编码集中的多个编码按照其编码长度由短到长的顺序,依次分配给所述电平段出现清单中的电平段,得到该遥控信号的波形的存储数据。

更进一步地,设定的原则包括将编码长度最短的编码分配给在所述遥控信号波形中出现次数最多的电平段,并以此类推,使得所述电平段出现清单中由前向后的排列的电平段分别对应于编码长度由短到长的编码。

更进一步地,所述遥控信号处理单元中进一步包括:

滤波模块:用于对所述遥控信号数据进行自适应滤波;

均值化模块:用于对持续时间相差在设定范围内的电平进行均值化处理,即对于持续时间相差在设定范围内的高电平或底电平进行求平均值,然后使用该平均值替代该位置上实际的电平持续时间。

实施本发明的对红外或无线遥控信号数据进行压缩的方法及装置,具有以下有益效果:由于使用编码替代遥控信号中的一个数据段或电平段(通常是一个或两个数据位)中的电平位置和电平持续时间,由于红外或无线遥控信号波形的特点,在有限的数据位中相邻两个数据位的电平结构往往比较有规律,因此可以用有限的编码表示一个协议中可能出现的一个或两个数据位宽度上的电平组合,从而避开对于每个数据位都需要存储高速采样带来的巨大的数据量,只要记录有限的数据就能恢复遥控信号。因此,其需要记录的数据量较小、成本较低。

附图说明

图1是本发明对红外或无线遥控信号数据进行压缩的方法及装置中的方法流程图;

图2是所述实施例中的装置结构示意图。

具体实施方式

下面将结合附图对本发明实施例作进一步说明。

如图1所示,在本发明的一种对红外或无线遥控信号数据进行压缩的方法及装置实施例中,构造一种对红外或无线遥控信号数据进行压缩的方法,包括如下步骤:

步骤s11取得一条整理后的遥控信号数据:在本发明中以一个学习型遥控器如何取对一条红外或无线遥控指令进行处理,得到其编码后的数据进行存储为例子,说明在本实施例中对红外或无线遥控信号数据进行处理的过程。可以理解地,为简便起见,仅仅只涉及一条遥控指令,但是在具体实施时,也可以是先得到多条遥控指令的数据或波形,然后在分别对每条指令进行分析,最后得到包括多条指令的波形(电平段)集合,然后统一为其分配编码。这样的做法使得判断一个电平段是否为最常用的以及对其分配编码的动作更为准确。在本实施例中,该学习型遥控器首先接收一条别的遥控器发出的遥控指令,对其进行解调,得到用于调制红外或无现载波的包络波形,即电平信号,在本步骤中,就是取得上述经过处理后的包络信号,所述一个遥控信号数据是指触发一个按键而发出的一个完整的遥控指令的信号的解调后的数据。在本实施例中的整理,还包括对上述数据进行自适应滤波和均值化处理,具体包括对所述遥控信号数据进行自适应滤波;然后对持续时间相差在设定范围内的电平进行均值化处理,即对于持续时间相差在设定范围内的高电平或底电平进行求平均值,然后使用该平均值替代该位置上实际的电平持续时间。

步骤s12按时间顺序逐个得到该波形的电平段:在本步骤中,按时间顺序依次逐一计算所述包络波形中的每个电平段的电平状态和该段电平的持续时间。由于在现实中,遥控器发出或家电接收的遥控信号的每种或每个协议通常是由厂家自己定义并流行的,其表示二进制数的0和1的电平,该电平的持续时间,一个数据位的持续时间通常都是不相同的,同时,其对一条指令中各个数据位的定义也是不相同的。因此,在实际操作中,特别是在学习型遥控器中,搞清楚接收到的每条遥控指令的真实含义基本上是不可能的。唯一可行的办法是完整地记住接收到的每条指令的调制信号的波形,在重现该指令时,正确地将该指令波形重现出来,而不是去取得该指令的具体含义。为此,在现有技术中,才会采用高速采样的方式来记录调制波形,直接记录每次采用的电平,并将这些采样值按照采样时间的顺序记录,由于采样速度较快,这样方案虽然也能够重现遥控信号,但是其代价非常大,因为采样的数据量是非常大的,完整地记录需要较大的存储空间。同时,由于遥控信号的固有特点,其电平变化是非常有规律的,这就使得采样数据中有大量的重复。在本步骤中,按照一个设定的时间长度,将上述包络波形分为多个在时间上相邻的电平段,该时间长度可以是遥控信号用字节表示时的一位数据或两位数据甚至多位数据的长度。例如,假如一条遥控信号包括四个字节,每个字节包括8位数据,则该条遥控信号总共有32个数据为,如果以1个数据位的时间长度为一个电平段,则该条信号包括32个电平段;如果以2个数据位的时间长度为一个电平段,则包括16个电平段。在本步骤中,就是按照这些电平段的出现顺序,逐个判断该电平段中的电平(即电平高低或电平状态)和该电平的持续时间,这样的判断同样是按照该电平在电平段中的出现顺序进行的。值得一提的是,在本实施例中的一些情况下,上述电平段的持续时间也可以是不定长的,例如,可以将一个高电平或一个低电平作为一个电平段,该电平段又该电平出现开始,到该电平转换或跳转结束。这样的设置会使得对于一个遥控信号而言,需要存储的数据进一步减少,但是其判断过程较电平段时间长度固定的情况更为复杂,其测量要求也更高。

步骤s13统计电平段出现次数,得到电平段出现清单:在本步骤中,统计该包络波形中具有相同的电平状态和相同的持续时间的电平段出现的次数,将其按照出现的次数由大到小的顺序依次排列,得到电平段出现清单。如前所述,对于一个或一条遥控信号而言,按照上述方法处理后就能够得到多个电平段,这些电平段可能有重复的,即同样的电平和同样的持续时间的电平段在一条遥控指令中可能多次出现,因此,需要对上述步骤中得到的电平段进行比较,统计,按照其出现的次数的多少,依次将电平段放入一个清单中,得到电平段的出现清单,出现次数最多的,放在该清单的最前面。在一些情况下,也可能出现一个遥控指令中的所有电平段均不相同的情况,此时,其电平段出现清单中的各电平段排列的顺序是随机的,但是排列后就不会在再改变其排列顺序。作为暂存的数据,对于每个电平段可以采用多个字节进行描述,例如,在一个电平不会发生变换的电平段中,可以采用一个字节(例如,8位数据)记录该电平段的电平,而采用两个字节(例如,16位数据)记录该电平的维持时间;而在电平发生变化的电平段中,可以采用两个字节记录电平变换前的状态,例如,一个字节记录电平,一个字节记录该电平的维持时间;电平变化后同样采用两个字节记录等等。在这样的情况下,比较和统计电平段的工作变得较为简单,只要比较这些数据是否相同即可,描述电平段的数据相同,则电平相同;反之,则不同。此外,在上述出现清单中出现的,也是这样的电平段的描述或记载数据。

步骤s14将编码按设定的原则分配给所述出现清单中的各电平段:在本步骤中,按照设定的原则,将事先存储的一个编码集中的多个编码按照其编码长度由短到长的顺序,依次分配给所述电平段出现清单中的电平段,得到该遥控信号的波形的存储数据。在本实施例中,上述设定的原则包括将编码长度最短的编码分配给在所述遥控信号波形中出现次数最多的电平段,并以此类推,使得所述电平段出现清单中由前向后的排列的电平段分别对应于编码长度由短到长的编码。换句话说,在本实施例中,上述编码是事先存储在一个编码集中的,该编码集包括多个长度各不相同的编码,这些编码按照其长度分配到上述电平段出现清单中的电平段上,在该清单中越靠前的电平段,意味着其出现次数越多,其分配到的编码的长度就越短。在上述编码集中,每个编码长度不同,且在形成数据后不会被错认。例如,。每个编码开头的数据都是0,其后使用不同个数的1,来表示不同的编码,这样在形成编码数据后,就不会出现误读的情况。例如,一个编码集中的编码为:01、011、0111、01111……等等;这样虽然数据位较多,但是在取出编码时不会误读,能够准确读出,这是由于只要读到数据0,就表示开始一个新的编码。

上述描述中,给出了一次处理一个遥控信号波形的例子。在本实施例中,还可以一次处理多个遥控信号,这样得到的电平段出现次数更加客观。在处理多个遥控信号时,可以取得多个遥控信号波形,并分别对每个遥控信号进行取得波形和计算其波形中的电平段中电平的状态和持续时间,形成包括多个遥控信号波形的电平段出现清单,并统一对所述包括多个遥控信号波形的电平段出现清单中的电平段进行编码分配。此时,电平段出现清单中的电平段是多个遥控信号中出现的所用电平段,以及每个电平段在多个遥控信号中出现的次数。

此外,在本实施例中,还可以包括如下步骤:按照所述电平段和所述编码之间的对应关系,形成该遥控信号的编码对照表。这样的对照表中记录的电平段同样是上述的采用多个数据表示的。该编码对照表在恢复遥控信号时,能够使得其快速。准确地恢复。同样地,该编码对照表的中的遥控信号可以是一个,也可以是多个。

本发明还涉及一种实现上述方法的装置,如图2所示,该装置包括遥控信号处理单元1、电平段取得单元2、出现清单取得单元3和编码分配单元4;其中,遥控信号处理单元1用于取得整理后的一个遥控信号的波形;所述一个遥控信号的波形是指触发遥控器的一个按键而发出的一个完整的遥控指令的信号的包络波形;电平段取得单元2用于按时间顺序依次逐一计算所述包络波形中的每个电平段的电平状态和该段电平的持续时间;出现清单取得单元3用于统计该包络波形中具有相同的电平状态和相同的持续时间的电平段出现的次数,将其按照出现的次数由大到小的顺序依次排列,得到电平段出现清单;编码分配单元4用于按照设定的原则,将事先存储的一个编码集中的多个编码按照其编码长度由短到长的顺序,依次分配给所述电平段出现清单中的电平段,得到该遥控信号的波形的存储数据。上述设定的原则包括将编码长度最短的编码分配给在所述遥控信号波形中出现次数最多的电平段,并以此类推,使得所述电平段出现清单中由前向后的排列的电平段分别对应于编码长度由短到长的编码。

此外,所述遥控信号处理单元1中还进一步包括:滤波模块11用于对所述遥控信号数据进行自适应滤波;均值化模块12用于对持续时间相差在设定范围内的电平进行均值化处理,即对于持续时间相差在设定范围内的高电平或底电平进行求平均值,然后使用该平均值替代该位置上实际的电平持续时间。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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