轨迹平滑化的方法 技术领域 本发明涉及一种轨迹平滑化的方法, 特别是指一种可动态调整计算方式的轨迹平 滑化方法。
背景技术 现有技术中, 对于多个轨迹点平滑化的方法, 是利用平均法来达成, 以计算该多个 轨迹点的移动平均坐标, 其中该移动平均坐标以一平均个数 (n) 作为分母进行平均计算。 请参考图 1 为平均个数的值与曲线平滑度的关系, 其中 C1、 C2、 C3 分别代表利用不同平均 个数计算移动平均坐标的曲线。曲线 C1 平均个数 n 为 2 ; 曲线 C2 的平均个数 n 为 8 ; 曲线 C3 的平均个数 n 为 16。由图中可知, 当平均个数 n 的值越高时, 曲线的平滑效果越好。但 平均个数 n 的值越高时, 时间的延迟越久 ; 请再参见图 2, 更进一步说明平均个数 n 与时间 延迟的关系。曲线 C4 和曲线 C5 为利用不同平均个数 n 计算移动平均坐标的曲线, 其中曲 线 C4 的平均个数为 4 ; 曲线 C5 的平均个数为 16。由图中可知, 当平均个数 n 的值越高, 平 滑化的轨迹跟上实际的轨迹所需的时间越久。
综合以上所述, 现有技术中, 不管是以较多或较少的平均个数 n 作为移动中轨迹 平滑化的基准, 皆有其优缺点, 无法让系统达到一个可以两边兼顾的状态。
发明内容 本发明目的之一在于克服现有技术的不足与缺陷, 提出一种轨迹平滑化的方法。
为达上述目的, 就其中一个观点而言, 本发明提供了轨迹平滑化的方法, 用以平滑 化一物体的移动轨迹, 包含 : 依据该物体的移动轨迹, 产生多个轨迹点并取得该多个轨迹点 的坐标 ; 依据移动平均法, 计算该多个轨迹点的移动平均坐标, 其中该移动平均坐标以一平 均个数 (n) 作为分母进行平均计算 ; 以及依据该物体移动的速度, 适应性地调整该平均个 数值, 其中, 当该物体移动的速度较快时, 采用较低的平均个数值, 当物体移动速度较慢时, 采用较高的平均个数值。
在其中一种较佳实施形式中, 该移动平均法依以下公式产生移动平均坐标 avgT :
sumT = sum(T-1)-avg(T-1)+new ;
avgT = sumT/n,
其中 avgT 和 avg(T-1) 分别代表目前时间 T 所产生出的移动平均坐标和前一时间 T-1 所产生出的移动平均坐标, sumT 和 sum(T-1) 分别代表目前时间 T 的坐标值总和和前一时间 T-1 的坐标值总和, new 代表目前时间 T 所得的轨迹点坐标, n 代表平均个数。
在其中另一种较佳实施形式中, 该依据该物体移动的速度, 适应性地调整该平均 个数值的步骤包括 : 提供至少一个速度临界值 ; 判断该物体移动速度是否高于该速度临界 值; 以及根据判断结果, 适应性地调整该平均个数值。
在其中另一种较佳实施形式中, 该依据该物体移动的速度, 适应性地调整该平均 个数的数值的步骤包括 : 提供至少一组速度迟滞临界值, 此速度迟滞临界值包含一高限值
与一低限值 ; 当该物体移动速度增加以致高于该高限值时, 采用较低的平均个数值 ; 以及 当该物体移动速度降低以致低于该低限值时, 采用较高的平均个数值。
在其中再一种较佳实施形式中, 所取得的轨迹点坐标值为绝对坐标值。在其中再 一种较佳实施形式中, 所取得的轨迹点坐标值为相对坐标值, 且方法更包含 : 将该相对坐标 值转换为绝对坐标值。所述物体例如为遥控器或鼠标。
下面通过具体实施例详加说明, 当更容易了解本发明的目的、 技术内容、 特点及其 所达成的功效。 附图说明
图 1 标出多个轨迹点平滑化的方法中, 不同平均个数的曲线的比较 ;
图 2 标不同平均个数 n 所计算出的平滑化轨迹曲线与时间延迟的关系图 ;
图 3-5 标出数个实施例, 揭露依据物体移动速度决定平均个数 n 的方法 ;
图 6 标出依据物体移动速度对平均个数 n 作阶级调整的流程图 ;
图 7 标出阶级变换设有迟滞区间时的流程图 ;
图 8 标出阶级变换设有迟滞区间时, 物体移动速度与平均个数 n 的关系。
图中符号说明 C1, C2, C3, C4, C5 曲线 n, n0, n1, n2 平均个数 stg0, stg1, stg2 阶级 S101 ~ S107, S201 ~ S207 步骤 t 时间 VT1, VT2 速度临界值 VT1_L, VT1_H, VT2_L, VT2_H 迟滞速度临界值具体实施方式
如前所述, 现有技术中, 不管是以较多或较少的平均个数 n 作为轨迹平滑化的基 准, 皆有其缺点。有鉴于此, 本发明即针对上述现有技术的不足, 提出一种轨迹平滑化的方 法, 依据物体移动的速度, 调整计算移动平均坐标的平均个数 n。详言之, 当物体移动速度 较慢时, 依据物体移动轨迹所产生的多个轨迹点的坐标容易受到噪声的干扰而导致轨迹有 不平滑或锯齿状的情形发生。相对地, 当物体移动较快时, 由于位移量大, 噪声所产生的效 应较低, 不平滑的情况较不显著。例如, 当噪声的值为 ±1 单位时, 如果单位时间移动的距 离为 10 单位, 噪声的比例为 10% ; 而当单位时间移动的距离为 2 单位时, 噪声的比例则为 50%。另一方面, 当物体移动较快时, 移动平均计算所造成的时间延迟效应较大 ; 当物体移 动速度较慢时, 移动平均计算所造成的时间延迟效应则较不显著。因此, 本发明利用实时 侦测物体位移速度的快慢, 调整计算移动平坐标的平均个数 n, 其中当物体移动的速度较快 时, 采用较少的平均个数 n 计算多个轨迹点的移动平均坐标 avg, 以提高系统运作的效率 ; 当物体移动的速度较快时, 采用较多的平均个数 n 计算多个轨迹点的移动平均坐标 avg, 以 过滤移动轨迹的噪声, 并提高物体移动轨迹的平滑度。
计算移动平均坐标 avg 的方法有很多, 可依据使用者的需要代入不同的公式运算, 产生移动平均坐标 avg。举例而言, 其中一种计算移动平均坐标 avg 的公式为 :
sumT = sum(T-1)-avg(T-1)+new ;
avgT = sum/n,
其中 avgT 和 avg(T-1) 分别代表目前时间 T 所产生出的移动平均坐标 avg 和前一时 间 T-1 所产生出的移动平均坐标 avg, sumT 和 sum(T-1) 分别代表目前时间 T 的坐标值总和和 前一时间 T-1 的坐标值总和, new 代表目前时间 T 所得的轨迹点坐标, n 代表平均个数。
根据本发明, 依据物体移动速度调整平均个数 n 有多种实施方式, 其中物体移动 速度与平均个数 n 的关系例如可为 : 线性调整 ( 如 n = [-av+b], 其中 a, b 为常数, n 可取 整数, 请参见图 3)、 反比调整 ( 如 n = [a/v+b], 其中 a, b 为常数, n 可取整数, 请参见图 4)、 或阶级调整 ( 请参见图 5)。 以阶级调整的方法为例, 请参见图 6 为阶级调整的流程图, 并对 照图 5, 其中 n0 > n1 > n2, VT2 > VT1 :
在步骤 S100 中, 系统开始初始化 ; 接着, 进入步骤 S101。
在步骤 S101 中, 以阶级 stg0 的预设平均个数值 (n = n0), 进行移动平均坐标 avg 运算 ; 接着, 进入步骤 S102。
在步骤 S102 中, 侦测物体的速度, 如果物体的移动速度未超过第一速度临界值 VT1, 平均个数维持在起始阶级 stg0 的值 n = n0, 回到步骤 S101 ; 当物体移动速度增加到超 过第一速度临界值 VT1 时, 进入步骤 S103。
在步骤 S103 中, 以阶级 stg1 的预设平均个数值 (n = n1), 进行移动平均坐标 avg 运算 ; 接着, 进入步骤 S104 与步骤 S107。
在步骤 S104 与步骤 S107 中, 侦测物体的速度, 如果物体的移动速度未低于第一速 度临界值 VT1、 或未超过第二速度临界值 VT2, 平均个数维持在阶级 stg1 的值 n = n1, 回到步 骤 S103。 当物体移动速度减低到低于第一速度临界值 VT1 时, 回到步骤 S101 ; 当物体移动速 度增加到超过第二速度临界值 VT2 时, 进入步骤 S105。其中, 步骤 S104 与步骤 S107 可平行 或以任意次序先后执行。
在步骤 S105 中, 以阶级 stg2 的预设平均个数值 (n = n2), 进行移动平均坐标 avg 运算 ; 接着, 进入步骤 S106。
在步骤 S106 中, 侦测物体的速度, 如果物体的移动速度持续超过第二速度临界值 VT2, 平均个数维持在阶级 stg2 的值 n = n2, 回到步骤 S105 ; 当物体移动速度减小到低于第 二速度临界值 VT2 时, 回到步骤 S103。
上述阶级调整的优点为, 平均个数 n 的值不需因物体移动速度的微幅改变而变 动, 有助于维持系统的稳定性并降低电路的复杂度。 除上述外, 阶级调整的方法尚有许多安 排方式, 本领域技术人员于了解本发明的内容后, 应可思及各种变化, 皆应包含在本发明的 专利范围内。 例如, 在各阶变换处可安排一个迟滞区间, 举例而言请参见图 7 并对照图 8, 其 中 n0 > n1 > n2, VT2_H > VT2_L > VT1_H > VT1_L :
图 7 中在步骤 S200 时, 系统开始初始化 ; 接着, 进入步骤 S201。
在步骤 S201 中, 以阶级 stg0 的预设平均个数值 (n = n0), 进行移动平均坐标 avg 运算 ; 接着, 进入步骤 S202。
在步骤 S202 中, 侦测物体的速度, 如果物体的移动速度未超过第一迟滞临界值的 高限值 VT1_H, 平均个数维持在起始阶级 stg0 的值 n0, 回到步骤 S201 ; 当物体移动速度增加到超过第一迟滞临界值的高限值 VT1_H 时, 进入步骤 S203。
在步骤 S203 中, 以阶级 stg1 的预设平均个数值 (n = n1), 进行移动平均坐标 avg 运算 ; 接着, 进入步骤 S204 与步骤 S207。
在步骤 S204 与步骤 S207 中, 侦测物体的速度 ; 如果物体的移动速度未低于第一迟 滞临界值的低限值 VT1_L、 或未超过第二迟滞临界值的高限值 VT2_H, 平均个数维持在阶级 stg1 的值 n = n1, 回到步骤 S203。当物体移动速度减低到低于第一迟滞临界值的低限值 VT1_L 时, 回到步骤 S201 ; 当物体移动速度增加到超过第二迟滞临界值的高限值 VT2_H 时, 进入步骤 S205。其中, 步骤 S204 与步骤 S207 可平行或以任意次序先后执行。
在步骤 S205 中, 以阶级 stg2 的预设平均个数值 (n = n2), 进行移动平均坐标 avg 运算 ; 接着, 进入步骤 S206。
在步骤 S206 中, 侦测物体的速度, 如果物体的移动速度持续超过第二迟滞临界值 的低限值 VT2_L 时, 平均个数维持在阶级 stg2 的值 n = n2, 回到步骤 S205 ; 当物体移动速度 减小到低于第二迟滞临界值的低限值 VT2_L 时, 回到步骤 S203。
上述图 6 或 7 的流程中, 系统于起始后并不必须由阶级 Stg0 开始, 而可由 Stg0, Stg1 或 Stg2 中任一阶级开始 ; 平均个数 n 的起始默认值不必须为 n0( 最大值, 对应于最低 速度 ), 而当然也可以从最小默认值 n = n2( 对应于最高速度 ) 开始调整, 或从任一中间步 骤 ( 如 n = n1 值 ) 开始调整, 亦即系统于起始后可衔接图 6 或 7 中任一步骤 S101 ~ S107 或 S201 ~ S207。 上述实施例中, 依据物体移动轨迹所产生的多个轨迹点的坐标可为绝对坐标, 亦 可为相对坐标 ; 只是, 当多个轨迹点的坐标为相对坐标时, 计算移动平均坐标 avg 前, 宜先 转换相对坐标为绝对坐标, 以利系统运算。 所述物体可为在绝对坐标下移动的物体, 亦可为 在相对坐标下移动的物体。所述物体例如可为遥控器或鼠标等。
此外, 还需说明 : 本发明以上所述的坐标计算, 可适用于任意维度的坐标系统。虽 然图 1 是以 x-y 二维坐标系统来说明, 但本发明不限于应用在二维坐标系统, 而可应用于一 维至无限多维度。如维度等于或超过二维, 则在运算时, 每一维度的坐标可以分开平行运 算、 或依序分时运算、 或两者综合, 可视硬件成本与运算效率来做取舍。
以上已针对较佳实施例来说明本发明, 只是以上所述, 仅为使本领域技术人员易 于了解本发明的内容, 并非用来限定本发明的权利范围。凡此种种, 在本发明的相同精神 下, 本领域技术人员可以思及各种等效变化, 均应包含在本发明的范围之内。