一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于位置矩阵实现键值匹配的方法及遥控器与流程

2022-07-10 09:42:50 来源:中国专利 TAG:


1.本发明涉及通信领域,具体是涉及一种基于位置矩阵实现键值匹配的方法及遥控器。


背景技术:

2.键值匹配通常是根据按键的已有功能定义来匹配,比如某具体按键已经被定义为数字“0”按键,并将“0”这个功能定义存储在映射表中,匹配时直接将此按键与对应数字“0”的键值编码直接匹配,这种匹配方式简单精确,但是不够灵活,不具备普适性。例如,遥控器上功能定义为信源的按键,与空调的键值匹配时,尽管空调键值数量少,但依然找不到一个与已知定义相符的键值完成匹配。
3.而且通过具体功能定义完成匹配存在一个较大的困难是,每个遥控器的功能定义是可以自定义的,这意味着单靠功能定义完成键值与按键一对一匹配几乎是一个不可能完成的任务。实际上,没有一种固定的按键定义能适配所有的键值,对于功能键来说,更是如此。
4.不同的按键分布在不同的位置,拥有属于自己的排列分布特征,通过对按键的特征进行分析、总结和提取,就可以用一种通用的数学模型来描述,只要选择合适的模型,就可以利用数学计算完成匹配。理论上看,所提取的特征越明显,设置的规则越合理,匹配就越准确。
5.简单的说,根据按键自然的排列位置来实现键值匹配,将会更符合用户的操作习惯,省略了遥控器按键具体定义,能避免出现按键定义与实际匹配键值的功能不一致的问题。


技术实现要素:

6.本发明要解决的技术问题是提供一种基于位置矩阵实现键值匹配的方法,避免不灵活,不具备普适性的问题。
7.为解决上述问题,本发明提供一种基于位置矩阵实现键值匹配的方法,所述的方法包括:键值,包含功能定义、具体的遥控编码;映射表,至少存储所有按键物理位置信息;使能标记:包括两种状态,用于决定是否开启匹配操作,初始状态为是;还包括以下具体匹配的步骤:
8.a)扫描映射表,建立反映按键实际位置的位置矩阵;
9.b)获取键值数据,根据功能定义,提取若干匹配矩阵;
10.c)判断使能标记状态;
11.d)结果为是时,按照顺序规则选择某一匹配矩阵与位置矩阵匹配计算,返回匹配成功时所有的解;结果为否时,停止匹配;
12.e)有解时选择一解将键值与映射表按键匹配,无解时选择回滚操作;
13.f)完成键值匹配后,更新位置矩阵中对应匹配成功键值的元素,执行步骤c。
14.具体的,步骤a和步骤b所述的位置矩阵和匹配矩阵的元素属于某集合,该集合包含两个元素。简单来说,存在两个元素,可以通过最多两个元素来描述位置矩阵和匹配矩阵,这里的元素可以是数字,也可以是字母或符号,并不局限于某一种具体的表现形式。
15.优选的,上段所述的集合是{0,1}。由于通用计算机采用的二进制代码是0和1,而且在数学领域,0和1与真/假、存在/不存在有着直接的对应关系,因此一般情况下,将数字0和数字1作为优选方案。
16.更进一步的,在上一段的基础上,步骤f中,所述的更新元素是指将0和1互换。在这里,存在两种情况,若以1代表矩阵位置中的“有”,以0代表“没有”,那么在匹配完成后,已经匹配键值的位置矩阵对应位置的1应更改为0,代表该位置已经不能参与匹配;若以1代表矩阵位置中的“没有”,以0代表“有”,那么在匹配完成后,已经匹配键值的位置矩阵对应位置的0应更改为1,同样代表该位置已经不能参与匹配。无论是哪一种情况,将已经完成键值匹配的按键对应在位置矩阵中的元素互换均可囊括。
17.具体的,在本部分第二段的基础上,步骤e所述的回滚操作包括:撤销上一匹配矩阵匹配成功后对位置矩阵的更新,判断上一匹配矩阵是否有未使用的解,执行步骤e。应当明确的是,在最差情况下,回滚操作是一个复杂的嵌套循环。为了阐述得更清楚,下面通过具体例子来表述。假设现在正在进行匹配矩阵e的匹配计算,前面已经依次完成了匹配矩阵a到d的匹配,计算后发现,矩阵e无匹配解,即无法完成匹配。那么此时的回滚操作的流程应该是这样的:先撤销矩阵d对位置矩阵的更新,再判断矩阵d除了已经使用的用于匹配的解,是否还有其它解:如果有,立即使用,匹配完成后,依旧更新位置矩阵;如果没有,就以矩阵d为基础,回滚到矩阵c。同样先撤销矩阵c对位置矩阵的更新,再判断矩阵c除了已经使用的用于匹配的解,是否还有其它解:如果有,立即使用,匹配完成后,依旧更新位置矩阵;如果没有,就以矩阵c为基础,回滚到矩阵b,如此循环操作。
18.具体的,在本部分第二段的基础上,步骤e中,在回滚操作之前,还包括步骤:判断是否存在上一匹配矩阵,若存在,开始回滚操作,否则更改使能标记状态为否。当已经找不到上一匹配矩阵,这说明现在位于第一个匹配矩阵,并且第一匹配矩阵都无法完成匹配,整个匹配过程失败。
19.具体的,在本部分第二段的基础上,步骤f中,在更新位置矩阵中对应匹配成功键值的元素之后,还包括以下步骤:判断键值或映射表按键是否已匹配完,当判断结果为否时,执行步骤c;当判断结果为是时,判断二者哪一个先匹配完:若是键值先匹配完,以空值对应未匹配成功的映射表按键,并更改使能标记状态为否,再执行步骤c;若是注册表按键先匹配完或同时匹配完,直接更改使能标记状态为否,再执行步骤c。实际匹配过程中,因为键值和遥控器的按键数目具有不确定性,所以可能会出现按键过剩或不够用的问题;按键过剩时,将过剩的按键失效,惯常的做法是将空值作为键值赋予对应的映射表;按键不够时,根据顺序规则处理,将不太重要的键值直接丢弃,比如机顶盒遥控器上仅仅用于初次安装使用的调试按键对应的键值。
20.具体的,在本部分第二段的基础上,步骤e中所述的选择一解还包括步骤:对所有解对应的匹配位置进行判断,选择最优解。举例说明,电源按键并不具有明显的矩阵特征,用匹配矩阵匹配,可能会返回很多匹配成功的解,这些解都可以作为匹配结果,但是在习惯中,人们通常把电源按键放置在遥控器的最顶排,尤其是顶排外侧,因此在匹配之前还应包
括判断匹配位置是否合适的这一步骤,选择最优的匹配结果。
21.具体的,在本部分第二段的基础上,步骤d所述的顺序规则是指匹配矩阵具有不同的优先级,高优先级的矩阵将优先匹配。可以预见的是,不同的功能重要性不同,比如对空调来说,温度的上下调节按键的重要性就比扫风模式键高,更比数字键盘高得多,因为空调的温度调节范围有限,暖通设计规范是16到30度,因此绝大部分空调遥控器都不包含数字按键。
22.更进一步的,在上一段的基础上,同一优先级中,以匹配矩阵的元素多少决定先后顺序。实际操作中存在一种情况,在同一优先级中,有多个匹配矩阵,那么该先处理哪一个匹配矩阵呢?如果先处理元素少的矩阵,最后的结果可能是元素多的匹配矩阵匹配失败,因此以匹配元素的多少决定匹配顺序。
23.对应的,提供一种遥控器,包括处理器和存储器,处理器可运行存储在存储器上的程序,所述的程序包括权利要求1到10任意一项所述的对应步骤。
24.具体的,在上一段基础上,所述的遥控器还包括提示装置,至少用于提示匹配结果或每个按键有无键值。前面已经提到,当键值少于映射表按键个数时,以空值对应映射表中未匹配的按键,因此实际使用时,设置提示装置,可以用于区分每个按键有无键值,而且在匹配过程中也可以通过提示装置确定匹配过程是成功还是失败,起到良好的人机交互效果。
25.附图及说明
26.图1是遥控器按键位置示意图;
27.图2是根据图1建立的位置矩阵示意图;
28.图3是遥控器导航区、数字区、电源按键位置标识示意图;
29.图4中图4a和图4b分别是根据键值提取出的导航匹配矩阵和数字匹配矩阵;
30.图5是权利要求1对应的基本逻辑流程图;
31.图6是回滚操作具体流程图;
32.图7是权利要求6对应的流程图;
33.图8是权利要求7对应的流程图;
34.图9是权利要求8对应的流程图;
35.图10是包含匹配成功和失败的逻辑流程图;
36.图11是在图10基础上包括最优解的全过程逻辑流程图;
37.图12和图13是匹配成功后更新对应位置的位置矩阵;
38.图中,以s和数字结合方式标记流程图中的状态。
具体实施方式
39.下面结合附图和具体实施例对本发明作进一步阐述。
40.如图5所述,本发明提供一种基于位置矩阵实现键值匹配的方法,所述的方法包括:键值,包含功能定义、具体的遥控编码;映射表,至少存储所有按键物理位置信息;使能标记:包括两种状态,用于决定是否开启匹配操作,初始状态为是;还包括以下具体匹配的步骤:
41.a)扫描映射表,建立反映按键实际位置的位置矩阵;
42.b)获取键值数据,根据功能定义,提取若干匹配矩阵;
43.c)判断使能标记状态;
44.d)结果为是时,按照顺序规则选择某一匹配矩阵与位置矩阵匹配计算,返回匹配成功时所有的解;结果为否时,停止匹配;
45.e)有解时选择一解将键值与映射表按键匹配,s516无解时选择回滚操作;
46.f)完成键值匹配后,更新位置矩阵中对应匹配成功键值的元素,执行步骤c。
47.应当明确,图5中,s502和s504所述的建立位置矩阵和匹配矩阵其本质上是建立计算模型的的过程,下面通过图形来说明。图1是遥控器按键位置示意图,反映了遥控器各个按键在实物上的具体位置,假设我们用数字1来表示对应位置存在按键,用数字0表示对应位置无按键,那么图2就是位置矩阵,假设如图3所示,我们标识了具体的功能按键,那么图4a就是图3的导航按键的匹配矩阵,图4b就是图3的数字按键的匹配矩阵。图1中的按键是11行3列,图2建立的矩阵也是11行三列,实际上,假设图1的按键排列不整齐,不能以11行3列来准确描述,那么位置矩阵可以用更复杂的矩阵来准确描述,以提高位置矩阵的精确性。同样的道理,匹配矩阵是通过键值数据的功能定义提取特征形成,在保持足够的匹配特征的情况下,要求匹配矩阵越小越好。
48.具体的,如图5所示,s502和s504所述的位置矩阵和匹配矩阵的元素属于某集合,该集合包含两个元素。简单来说,存在两个元素,可以通过最多两个元素来描述位置矩阵和匹配矩阵,这里的元素可以是数字,也可以是字母或符号,并不局限于某一种具体的表现形式。
49.优选的,上段所述的集合是{0,1}。如图2或图4所示,由于通用计算机采用的二进制代码是0和1,而且在数学领域,0和1与真/假、存在/不存在有着直接的对应关系,因此一般情况下,将数字0和数字1作为优选方案。
50.更进一步的,在上一段的基础上,图5中s514所述的更新元素是指将0和1互换。在这里,存在两种情况,若以1代表矩阵位置中的“有”,以0代表“没有”,那么在匹配完成后,已经匹配键值的位置矩阵对应位置的1应更改为0,代表该位置已经不能参与匹配;若以1代表矩阵位置中的“没有”,以0代表“有”,那么在匹配完成后,已经匹配键值的位置矩阵对应位置的0应更改为1,同样代表该位置已经不能参与匹配。无论是哪一种情况,将已经完成键值匹配的按键对应在位置矩阵中的元素互换均可囊括。
51.具体的,图6示出了步骤e所述的回滚操作:撤销上一匹配矩阵匹配成功后对位置矩阵的更新,判断上一匹配矩阵是否有未使用的解,执行步骤e。应当明确的是,在最差情况下,回滚操作是一个嵌套循环s600-s602-s608-s600,尤其是在出现多次回滚操作的情况下,涉及到多次嵌套循环。为了阐述得更清楚,下面通过举例来表述。假设现在正在进行匹配矩阵e的匹配计算,前面已经依次完成了匹配矩阵a到d的匹配,计算后发现,矩阵e无匹配解,即无法完成匹配。那么此时的回滚操作的流程应该是这样的:先撤销矩阵d对位置矩阵的更新,再判断矩阵d除了已经使用的用于匹配的解,是否还有其它解:如果有,立即使用,匹配完成后,依旧更新位置矩阵;如果没有,就以矩阵d为基础,回滚到矩阵c。同样先撤销矩阵c对位置矩阵的更新,再判断矩阵c除了已经使用的用于匹配的解,是否还有其它解:如果有,立即使用,匹配完成后,依旧更新位置矩阵;如果没有,就以矩阵c为基础,回滚到矩阵b,如此循环操作。
52.具体的,如图7所述,步骤e中在回滚操作之前,还包括步骤:s716判断是否存在上一匹配矩阵,若存在,开始回滚操作s718,否则更改使能标记状态为否,即s720。无论处于什么位置,当已经找不到上一匹配矩阵,这说明现在位于第一个匹配矩阵,并且第一匹配矩阵都无法完成匹配,整个匹配过程失败。
53.具体的,图8示出了,步骤f在更新位置矩阵中对应匹配成功键值的元素之后,还包括的以下步骤:s816判断键值或映射表按键是否已匹配完,当判断结果为否时,执行步骤c,即s806;当判断结果为是时,执行s818,判断二者哪一个先匹配完:若是键值先匹配完,执行s820,以空值对应未匹配成功的映射表按键,再执行s822,更改使能标记状态为否,最后执行步骤c,即s806;若是注册表按键先匹配完或同时匹配完,执行s822,更改使能标记状态为否,再执行步骤s806。之所以存在这一步骤,是因为在实际匹配过程中,键值和遥控器的按键数目具有不确定性,匹配时可能会出现按键过剩或不够用的问题;按键过剩时,将过剩的按键失效,惯常的做法是将空值作为键值赋予对应的映射表;按键不够时,根据顺序规则处理,将不太重要的键值直接丢弃,比如机顶盒遥控器上仅仅用于初次安装使用的调试按键对应的键值。
54.具体的,图9示出了,步骤e中所述的选择一解还包括步骤:对所有解对应的匹配位置进行判断,选择最优解,即s912。
55.举例说明,电源按键并不具有明显的矩阵特征,用匹配矩阵匹配,可能会返回很多匹配成功的解,这些解都可以作为匹配结果,但是在习惯中,人们通常把电源按键放置在遥控器的最顶排,尤其是顶排外侧,因此在匹配之前还应包括判断匹配位置是否合适的这一步骤,选择最优的匹配结果。
56.具体的,步骤d所述的顺序规则是指匹配矩阵具有不同的优先级,高优先级的矩阵将优先匹配。可以预见的是,不同的功能重要性不同,比如对空调来说,温度的上下调节按键的重要性就比扫风模式键高,更比数字键盘高得多,因为空调的温度调节范围有限,暖通设计规范是16到30度,因此绝大部分空调遥控器都不包含数字按键。
57.更进一步的,同一优先级中,以匹配矩阵的元素多少决定先后顺序。实际操作中存在一种情况,在同一优先级中,有多个匹配矩阵,那么该先处理哪一个匹配矩阵呢?如果先处理元素少的矩阵,最后的结果可能是元素多的匹配矩阵匹配失败,因此以匹配元素的多少决定匹配顺序。假设现在有一个4行3列和3行2列的矩阵处于同一优先级,那么就把4行3列的矩阵作为先匹配的矩阵。
58.图10是包含匹配成功和失败的逻辑流程图,由图上可以看出,s1026-s1014或s1028-s1014代表匹配成功,s1012-s1014代表匹配失败。
59.图11是在图10基础上包括最优解的全过程逻辑流程图,图11展示了本发明的详细匹配方法,只要进行具体赋值计算,就可以完成匹配的全过程。
60.下面以位置矩阵图2为示例,其中矩阵中元素1代表该位置有按键,0代表没有,图4a和图4b分别是导航匹配矩阵和数字匹配矩阵,假设导航匹配矩阵的优先级高于数字匹配矩阵,那么需要先进行导航匹配矩阵的匹配,具体匹配过程如下:将导航匹配矩阵与位置矩阵从左上角开始对齐,从匹配矩阵包含1的位置开始对比,元素不同,因为都是列数为3的矩阵,无法将匹配矩阵右移一个元素位置再匹配,所以将导航匹配矩阵下移一个元素位置再对齐,匹配矩阵第一行第二列元素是1,位置矩阵第二行第二列元素是0,不一致,再次改变
匹配矩阵位置,匹配矩阵第一行第二列元素与位置矩阵第三行第二列对比,元素一致,依次对比5个元素为1的位置,元素都一致,找到一个匹配位置,即匹配成功的解,按照同样的方法继续与位置矩阵对比,找到所有的匹配位置,再选择最优解,在本例中,导航匹配矩阵共有5个匹配位置,最优解是第一个匹配位置,将五个按键依次与五个位置建立对应关系,代表二者完成匹配,然后将位置矩阵完成匹配的五个按键位置的数字1更新为数字0,如图12所示,代表此处不存在五个按键,避免后面的匹配矩阵再进行匹配。接着对数字匹配矩阵进行匹配,同样从左上角开始对齐,比较10个元素是否一致,不一致就右移或下移对齐,当数字匹配矩阵第一行与位置矩阵第六行对齐时,所有元素一致,找到一个匹配位置,继续移动匹配矩阵对齐位置,寻找第二个匹配位置,在本例中,只有一个匹配位置,直接完成匹配,更新位置矩阵后如图13所示。假设电源按键对应的匹配矩阵是一阶方阵,用[1]表示,用它与图13所述的位置矩阵匹配,会得到9个匹配位置,对多个匹配位置判断,电源按键通常位于顶端两侧,因此,最优解是位置矩阵第一行第三列的位置,匹配完成后,更新对应位置,继续下一匹配矩阵的匹配。
[0061]
对应的,提供一种遥控器,包括处理器和存储器,处理器可运行存储在存储器上的程序,所述的程序包括权利要求1到10任意一项所述的对应步骤。
[0062]
具体的,在上一段基础上,所述的遥控器还包括提示装置,至少用于提示匹配结果或每个按键有无键值。前面已经提到,当键值少于映射表按键个数时,以空值对应映射表中未匹配的按键,因此实际使用时,设置提示装置,可以用于区分每个按键有无键值,而且在匹配过程中也可以通过提示装置确定匹配过程是成功还是失败,起到良好的人机交互效果。
[0063]
总体而言,本发明的关键点是如何基于功能定义提取出一个合适的匹配矩阵,实际上,匹配矩阵构造得是否合理,将极大程度的影响最后匹配的结果。以本文中的数字匹配矩阵为例,虽然惯常情况下,数字0是位于数字8的下方位置,但是也有可能位于数字7或9下方,并不一定处于居中位置,因此可以将数字匹配矩阵进行再次细化分组。对10个数字进行分组,1到9为一组,提取为三阶方阵,0单独一组,提取为一阶方阵,在选择匹配位置时,将0的位置限定在数字789下面,并将位于数字8下作为最优解。因此,只要灵活合理的提取匹配矩阵,将大大提高匹配的准确度并降低步骤或算法的复杂度。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献