用于确定运动物体速度的技术的制作方法

文档序号:5865489阅读:240来源:国知局
专利名称:用于确定运动物体速度的技术的制作方法
技术领域
本发明涉及用于确定运动物体速度的技术。示例性运动物体的典型但非限制性的列表包括球体、冰球、箭以及类似物。
背景技术
在许多运动项目中,运动物体的速度对于运动员的表现至关重要,这也是为什么运动员力图提高运动物体的初始速度或启动速度的原因。通常通过多普勒雷达(Doppler radar)来测量运动物体的初始速度。这种方法的问题在于,对于大多数业余运动员而言,多普勒雷达过于昂贵。因此,需要用于测量运动物体速度的较为简易的器材。

发明内容
本发明的目的在于开发用于使用具有相比于传统方法更为简易且较低成本的器材来测量运动物体速度的技术。本发明的目的通过所附的独立权利要求中所指明的方法、 设备及软件产品来实现。从属权利要求与本专利说明书及附图涉及本发明的具体实施例及实现。本发明部分地基于通过利用比如移动电话之类的移动终端来确定物体的速度这一构想。移动电话是很普及然而又很精密的器材,许多移动电话支持附加的程序模块,这些程序模块可以用于指使移动电话的处理器去执行必要的处理动作及计算。本发明还基于使用移动电话的内置麦克风或某个操作地耦合到移动电话的麦克风来接收音频信号这一构想,基于该构想,可以检测到运动物体的运动的起始及结束时间。正如在此所使用的,移动电话是指能够连接至无线网络并至少在无线网络所覆盖的部分距离中实现双向呼叫的电子设备,该双向呼叫经由无线网络进行传输。例如, 该呼叫可以是蜂窝移动网络中的语音或数据呼叫。备选地,该呼叫可以是由蜂窝网络或 WLAN (Wireless Local-Area Network,网)的 VoIP (Voice over Internet Protocol,IP语音)呼叫。然而,本领域技术人员应当理解,对于本发明的一些实施例而言, 参与呼叫的能力并不是不可或缺的。相反地,本发明可适用于多种便携式数据处理器材,例如具有语音输入能力以及具有用于经由无线网络进行双向通信所需的装置的掌上计算机或迷你笔记本计算机。然而,可以预料到,普及的蜂窝式移动电话将成为实施本发明的无线终端的最受欢迎的形式。相应地,术语“移动电话”意指能够经由内部或外部麦克风来接收语音输入并且能够支持无线网络中双向通信的任何移动终端。音频信号被处理为一系列音频采样,每个音频采样具有强度及持续时间。对于所有采样而言持续时间通常是相同的。作为针对通过移动电话的微处理器来执行所有处理动作及计算的替代方式,可以经由无线网络将经处理的音频采样发送到外部速度计算服务器。该服务器计算运动物体的速度并经由无线网络将计算得到的速度返回给移动电话,最终将其输出给用户。移动电话可以视觉地或听觉地,或者同时通过这两种方式,将速度输出。突显这两个实施例的共同发明构思在于,音频采样是由移动终端测量的,音频采样被传输给计算运动物体的初始速度的速度计算单元,并且该初始速度经由移动终端的用户界面指示给用户。在一些实施例中,速度计算单元设置在移动终端本身中,而在另一些实施例中,速度计算单元可以设置在外部服务器中。速度计算单元可以通过利用诸如飞行时间 (flight time)及跨度长度(span length)之类的直接给出平均速度的参数来计算初始速度,并且此后速度计算单元可以应用某种经验性的和/或计算的修正因子来确定物体的初始速度。被物体穿越的跨度长度可以通过移动电话来确定,例如,通过从移动电话的用户界面接收这一信息。起始及结束时间加上跨度长度足以提供对物体平均速度的近似。作为针对随意选择跨度长度的替代方式,可以预先确定对于任意给定运动而言的最优跨度长度,并指令用户将跨度起点设置在适当的位置,以使得该跨度起点与跨度终点的距离等于针对选定运动的预定最优跨度长度。此外,对于每一运动,根据用户年龄、性别、体力等的不同,可以保留一些不同的跨度长度。相对于随意地、由用户选择的长度,预定的跨度长度的好处在于,预定的最优长度使得对运动物体的减速进行补偿更为容易,并且从而提供对初始速度的更加准确的估计。大部分运动员希望得知物体的初始(起动)速度,该初始速度可以通过对平均速度应用某种修正来估计。这种修正可以凭经验来确定,例如通过进行统计上足够数量的实验,其中物体的平均速度通过将物体穿越的跨度长度除以行程时间来确定,而物体的初始速度采用一些其他手段来确定,例如多普勒雷达。这种在统计上足够数量的实验可以得出经验性修正,借由该经验性修正,初始速度可以基于平均速度和跨度长度来确定。还可以完全绕过对平均速度的确定而生成凭经验确定的函数或查找表,该凭经验确定的函数或查找表的输入是跨度长度与行程时间,而该函数或查找表的输出即为初始速度。只基于前面对本发明的描述,可以看出本发明仅仅是基于通过移动电话的处理器来执行简单物理计算。然而,本领域技术人员应当理解,实施本发明需要解决一些残留问题。第一残留问题是,事实上,在常规移动电话的应用编程接口(API)中,难以将事件的时间确定到对于精确地对物体运动进行计时而言足够的分辨率。例如,各种计时器的精度随着平台以及电话型号的不同而变化。例如,Symbian 平台提供了分辨率为1秒的通用计时器功能,这对于速度的精确确定而言显然是过于粗略了。作为针对分辨率较粗略的计时函数器功能的替换替代方式,Symbian 平台提供了各种“滴答(tick) ”功能,其中,一个 “滴答”的持续时间取决于微处理器的速度。这种“滴答”功能显然与对创建用于确定速度的不依赖平台的程序这一需要不符。对于如何以不依赖平台的方式来确定具有足够分辨率的时间这一问题,可以这样来解决确定在时间上与运动物体在跨度起点及跨度终点处的位置重合的第一组音频采样和第二组音频采样,以及基于第一组音频采样与第二组音频采样间音频采样的数量及持续时间来确定物体的行程时间。如果所使用的终端是移动电话, 则音频采样可以由移动电话的音频编解码器进行处理。另一方面,如果移动终端是没有内置语音呼叫能力的数据处理终端,则将音频信号转换为适当的音频采样的处理可以由安装在移动终端上的某种语音记录软件来执行。第二残留问题是,事实上,大多数移动电话并不是为精确并客观地测量声音而设计的。而且这些移动电话也不是为在移动电话内对测量的声音进行后处理而设计的。相反, 移动电话被设计用来获取人声的被称为“码本采样(codebook sample)”的音频采样,并经由通信信道将码本采样传输到无线网络中的基站。例如,众所周知的事实是,常规移动电话的音频电路以及GSM电话的音频编码算法无法可靠地传送DTMF(双音多频)声音,这也是为何各种用于传输DTMF声音的旁路技术被开发出来的原因。本发明的一些特征及实施例旨在解决这些残留的问题。假若移动终端的处理器具有足够的处理能力,则可以作为实时操作来捕捉和处理音频采样。实时处理没有普遍接受的定义,但是对于本发明及其实施例的目的而言,对音频采样的实时处理是指移动终端,包括所有相关的硬件及固件,诸如处理器、系统固件、应用编程接口以及音频处理电路,能够与捕捉音频采样一样快地检测出指示物体运动起始及结束时间的第一波形及第二波形。构建于Symbian 平台上的典型的移动终端能够以这种模式操作。实时操作的益处在于,不需要在比检测第一波形及第二波形所需的时间更长的时间中缓冲音频采样。这意味着音频缓冲区能够以循环的方式被重用或重新填充,并且在本发明的程序模块的控制下,移动终端能够无限期地等待指示物体运动的起始时间的第一波形。换言之,移动终端能够只缓冲检测第一和第二波形中任一所需要的音频采样,然后例如通过重用缓冲存储区域而丢弃音频采样。就缓冲存储器消耗量而言,移动终端可以无限期地等待第二波形,即指示物体运动终点的波形,但是利用当第二波形在第一波形之后过长时间才出现时会舍弃该第二波形的某种完整性检验(sanity check)也是合理的。假使包括硬件及固件资源在内的移动终端无法实时操作,则本发明的程序模块的实施例可以使得移动终端捕捉并缓冲包括第一波形及第二波形以及其间的任何音频采样在内的所有音频采样,这在从缓冲的音频采样中检测第一波形及第二波形之前进行。在这种环境中残留的问题是,被捕捉的音频采样必须被缓冲在缓冲存储器中,而该存储器可能是低功耗移动终端中的稀缺资源。对缓冲存储器的需求可以通过向用户提供指示音频缓冲开始时间的信号来最小化。在一些实现方式中,甚至可以将信号设置在音频缓冲开始前若干秒。这对于有些情况是很有用的,例如足球中的点球罚球,其中运动员会在实际踢球前助跑若干秒,而这会产生要检测的第一波形。


接下来会通过具体实施例并结合附图对本发明进行详述,在附图中图1示出了所涉及的一些物理量;图2示出了在速度测量期间由麦克风接收的具有代表性的声音曲线以及一些相
关量;图3A示出了示例性系统,其中速度计算在移动终端内的速度计算程序中执行;图;3B示出了示例性系统,其中速度计算在移动终端外的速度计算服务器中执行;图4示出了根据本发明的一个实施例的、在移动电话存储器中的一些数据结构、 参数及变量;图5示出了本发明的操作原理;图6是示出了特别适用于基于Symbian的平台的一个实施例的流程图;图7是示出了特别适用于基于Java的平台的一个实施例的流程图8是示出了增强的波形检测算法的流程图,该增强的波形检测算法针对背景噪声提供了改善的鲁棒性;图9示出了一个实施例,在其中速度计算服务器具有附加逻辑部分,该附加逻辑部分提供附加的功能性。
具体实施例方式图1示出了所涉及的一些物理量。参考标记0表示运动物体,例如球体,冰球,箭等。在速度测量期间,物体O将会穿越从跨度起点SS到跨度终点SE的跨度长度SL。物体 0示于跨度起点SS,而虚线的物体0’示于跨度终点SE。参考标记Tl及T2分别表示物体从起始位置SS运动到终点位置SE的开始时间与结束时间。物体穿越跨度长度SL的行程时间TT通过麦克风MP确定,麦克风MP操作地耦接到移动电话MT。例如,麦克风MP可以是移动电话的内置麦克风,或者是经由有线或无线连接耦合到移动电话的外置麦克风。典型但非限制性的无线麦克风连接示例为蓝牙连接。参考标记AS表示由麦克风输出到移动电话 MT的音频信号。移动电话MT能够下载并运行附加的软件模块。麦克风MP与跨度起点SS及跨度终点分别相隔距离dl及d2。如果d2_dl的差值很大并且/或者物体的典型速度很高,则将d2-dl除以声速并从行程时间(对其的确定将结合图2进行说明)中减去这个商值是有益的。使用与移动电话MT分离并且经由有线或无线连接耦合到移动电话MT的麦克风MP的益处在于,麦克风可以被设置在跨度长度SL的中点或者接近中点的位置,而移动电话MT则在更加远离快速移动物体0的安全位置进行操作。在一些实现方式中可以使用一个以上的麦克风。例如,移动电话可以支持一个内置麦克风以及另一个可以经由短程无线耦合(比如蓝牙耦合)连接的麦克风。麦克风之一可以设置在靠近跨度起点SS的位置,而另一个麦克风则设置在靠近跨度终点SE的位置。假若麦克风设置在非常靠近跨度起点及跨度终点的位置,则来自麦克风的输出信号需要相对较小的放大,这有助于抑制噪声。在本发明的一些实施例中,移动终端包含速度计算程序,将结合图3A对此进行说明。在其他实施例中,移动终端可以被配置成将来源于一个或多个麦克风输出信号的音频采样传送给位于外部速度计算服务器中的速度计算程序,将结合图3B对此进行说明。图2示出了在速度测量期间由移动电话的处理器根据麦克风MP产生的音频信号而生成的代表性声音曲线200。在图2所示的实施例中,声音曲线200是通过将声音处理为采样(其中的一个由参考数字202表示),并获取每个采样的声音强度而生成的。因而在一个代表性的实现方式中声音曲线200是作为时间的函数的声音强度。关于移动终端对“时间”的处理,在此所讨论的任何时间,例如起始时间Tl或结束时间T2,不必是绝对标度中的时间。换言之,本发明的速度计算单元并不需要知晓当前时间。相反,重要的是相对时间。此外,相对时间不必以秒或毫秒进行测量或表示。实际上, 由于没有不依赖平台的计时器功能,所以开发一种以毫秒来测量相对时间的不依赖平台的技术是非常困难的或者是几乎不可能的。因此,时间以及时间差优选地经由采样数来进行处理。每个采样具有采样长度,该采样长度与采样速率成反比。参考数字204表示某一参考水平,比如OdB,但是参考水平的幅值并不重要。参考数字206表示这样的噪声水平在很大一部分时间中,声音曲线200都保持在噪声水平206 之下。图2所示的声音曲线200的部分包含有两个主峰,大致由参考数字210及212所表示。第一峰210是由物体(穿越跨度长度的)运动的起始所导致的。取决于运动及物体的性质,声音可能由运动员踢球、击打冰球,放箭等所产生。第二峰212是由物体撞击诸如墙壁、栅栏等之类的目标所导致的。由移动电话的处理器运行的本发明的速度计算程序分别将峰210及212的出现转换成起始时间及结束时间。首先,时间的具体时刻应关联于每个峰。然而,峰210、212并没有被很锐利地描绘,而速度计算算法或程序应当被配置为检测声音曲线200内的波形,以使得两个峰中的波形尽可能地相似。在一个代表性的但非限制性的实现方式中,与每个峰 210、212关联的时间是当声音曲线200超过预定阈值208时的时间,该预定阈值208位于噪声水平206以上。在图2所示的情况下,第一峰210是通过在时间216对阈值206的跨越而被检测到的,而第二峰212是通过在时间218对阈值206的跨越而被检测到的。在一个备选实施方式中,起始时间与结束时间216、218可以基于峰的最高值的出现来确定。在另一备选实施方式中,起始时间与结束时间216、218可以基于声音强度在预定时间窗口中增加预定步幅的时刻来确定。在其中通过投掷球体或其他物体来启动物体运动的运动项目可能需要一些附加的测量,这是由于从运动员手中释放该物体并不容易产生冲击声,该冲击声继而产生第一声音峰210。这些运动项目可以如此处理运动员将球投掷到地面或附近的墙上,球再从其上弹起到另一个墙上。两次撞击产生了两个声音峰210、212,并且可以应用实验得到的修正来给出对球体初始速度的估计。标记216( Tl)及218( T2)是指参考数字216及218表示的时间,其并非精确地对应于物体在跨度长度SL上运动的起始时间及结束时间Tl、T2 ;实际上,时间216及 218是在本发明的速度计算程序控制下移动电话MP所测量的起始时间及结束时间Tl、T2。 例如,时间216与218至少比真实起始时间及结束时间Tl、T2滞后了声音从起点及终点位置SS、SE经距离dl、d2传播至麦克风MP的时间。此外,如上所述,本发明的速度计算程序不必知晓图2所示的任何时间在绝对标度中的值;只有事件间的时间差才是重要的,而这种时间差可以以采样数的形式表示。由于在物体运动的起始及结束时产生的声音具有有限的长度,使用休眠时间220、 222使得在休眠时间220、222期间对阈值206的跨越被忽略是有利的。休眠时间220、222 还有助于抑制来自于附近物体的回声。参考数字214A及214B即表示两个这样的回声。仅基于前面的描述,本发明的速度计算单元不能分辨物体运动的起始时间与结束时间。有多种方式可以处理这一问题。在一种实现方式中,每个测量事件是经由移动电话的用户界面来触发的,例如通过按压按键来触发。在触发之后,超过阈值208的第一峰及第二峰分别被认为是物体运动的起始及结束。这种略微粗糙的方法的问题在于,运动员或助手必须分别触发每个测量事件。在一个更方便用户的实现方式中采用了一种滑动的时间窗口。在任何一段未检测到声音强度峰的时段之后,任何被检测到的峰210被假定为对应于物体运动的起始时间 216。之后,在休眠时间220期间忽略任何强度变化,而下一个被检测到的峰212被假定为
9对应于物体运动的结束时间218。然而,还采用了从起始时间216开始的最大时间段224, 从而能够处理在其中未检测到物体运动结束的情况。例如,物体可能未击中其预期目标并因而不能发出可检测的声音。如果最大时间段2M到期但却没有检测到第二峰212及结束时间218,则先前检测到的第一峰210以及起始时间216就被忽略,并且下一个检测到的峰将会被作为第一峰处理。起始时间216与结束时间218间的时间差可以作为物体的行程时间TT使用。在一个增强的实现方式中,可以修正行程时间TT以补偿从跨度起点SS及跨度终点SE到麦克风MP的不相等的距离dl、d2。参考标记T0、TX、252及2Μ涉及有助于降低环境噪声影响的可选特征。在一些实施例中,移动终端可以输出视觉和/或听觉信号来指示用户可以开始物体的运动。参考标记TO表示输出这种信号时的时间的示例。在足球运动中,例如,用户可以踢球。实现在其中声音曲线200必须保持低于阈值水平208的、由参考数字252表示的时间段是有益的。在时间段252期间,任何噪声或其他干扰声音会妨碍速度计算程序精确地确定起始时间216。 因此,参考标记TO及252分别表示在其中如由移动终端MT所测量的声音信号必须保持在阈值水平208以下的时间段的起始之处及持续时间。否则,测量将被舍弃。参考标记TX及2Μ涉及另一可选特征,该可选特征涉及设置起始时间216与结束时间218之间的最小时间。参考标记TX表示一个时间实例,该时间实例位于起始时间216 的一段时间量之后,该时间量等于跨度长度SL除以运动物体的最大速度。最大速度可以被设置为略高于由所讨论的运动项目中最优秀运动员所能实现的物体速度。例如,在足球运动的情况中,最大速度可以被设置为约36m/s(约130km/h)。对于11米的跨度长度,时间 TX发生在起始时间216之后约0. 3秒。参考数字254因而表示起始时间216之后的一段时间,以使得第二个被检测到的声音波形212(例如声音强度曲线200对阈值水平208的跨越)必然不发生在该段时间内。如果声音强度200在时间TX之前跨越阈值水平208,则舍弃该次测量。这意味着声音强度200应该至少在紧接时间TX (即大体上对应于物体速度的世界纪录)前保持低于阈值水平208。否则就舍弃该次测量。此外,速度计算程序可以采用准则,根据该准则在时间220之后(在此期间回声消失)和时间TX之前声音强度200必须保持在阈值水平208以下。图3A是可在其中使用本发明的代表性系统的示意性框图,该系统包括移动终端 MT。移动终端MT包含有中央处理单元CP 305和存储器310。此外,移动终端MT包含或利用外部输入-输出电路315,该外部输入-输出电路315构成了多模终端的用户接口并含有输入电路320及输出电路325。输入电路320包含移动终端的麦克风MP(见图1)以及用户输入设备,比如小键盘和/或触摸屏。输出电路325包括移动终端的显示屏及耳机或扬声器(未单独示出)。移动终端MT还包括或利用接收/发送电路330,该接收/发送电路330包括发送电路335、接收电路340和天线345。为了支持可安装程序模块,移动终端的存储器MEM包含用于下载可安装程序模块以及用于将可安装程序模块存储在存储器MEM 中以供中央处理单元CP运行的例程。图3示出一种布置,在其中移动终端被配置为经由数据网络DN、无线接入网络AN、天线345以及接收电路340来从储存库RP下载可安装程序模块,但是其他布置也是同样可行的,比如经由短程连接(诸如蓝牙或通用串行总线(USB,未单独示出))来下载可安装程序模块。在这种概括程度下,图3中所有先前讨论的元件可以是如相关领域中所使用的常规类型。为了解决构成本发明基础的问题,移动终端的存储器MEM可以配备程序模块350, 该程序模块350执行所需的测量及计算。参考数字352表示程序模块350中的速度计算程序。程序模块350使用移动终端的存储器MEM来存储参数及变量,该参数及变量共同由参考数字360表示。将结合图4说明这些参数及变量的重要性。作为针对在移动终端MT中执行所有速度相关计算的替代方式,可以将音频采样发送给外部速度计算服务器VS。这种实施例示于图:3B中。就硬件而言,可选的速度计算服务器VS可以是向移动用户提供信息服务的常规网络服务器。为了解决构成本发明基础的问题,本发明的基于服务器的实现方式要求服务器配备用于执行本发明速度相关计算的软件。速度计算服务器VS被配置为向注册使用服务的所有移动终端提供服务。图4示出了一些由本发明的速度计算程序处理的数据结构、参数及变量。如图3A 及3B所示,这样的处理可以分别在移动电话MT或外部速度计算服务器VS中进行。符号 402代表预先配置的参数,这些参数可以由程序模块350的程序员设置。符号402所代表的预先配置的参数不必是固定的;相反程序员可以为这些参数设置初始值,并且移动终端的用户可在以后对这些参数进行微调。符号404代表用户输入的参数而符号406代表在程序 350控制下移动终端所测量或计算的参数。在一个示例性的实现方式中,唯一由用户输入的参数是跨度长度SL,即从物体初始位置到目标的跨度。作为使得跨度长度可以由用户设置的替代方式,可以指令用户实现预设的跨度长度。程序350检测与物体在跨度长度上的运动的起始时间Tl和结束时间T2 相对应的声音峰。正如之前所述,结合图2,没有必要在任何绝对标度下确定时间T1、T2,只要检测到声音峰并且其间的持续时间都是以明示或隐含的时间单位(比如毫秒或采样周期)计量的。基于时间差Τ2-Τ1,程序350确定物体穿越跨度长度SL的行程时间ΤΤ。在一个增强的实现方式中,程序350可向用户询问从跨度起点SS及跨度终点SE 到麦克风MP的距离dl、d2。备选地,程序350可向用户询问d2-dl的差值。将差值d2_dl 除以声速Vs得到时间修正T。OT,可以从差值T2-T1中减去该时间修正T。。 ,从而得到物体行程时间TT的更准确的值。跨度长度SL及行程时间TT被应用在G所代表的函数、例程或查找表中。在以下描述中,术语“函数”是指接收至少一个输入值并基于该至少一个输入值而输出至少一个预定输出值的任何数据结构。因此,单元G被称为函数G,但是,从编程的角度讲,其可以实现为计算(子)例程、查找表或任何类似的数据结构。函数G的输入值包括跨度长度SL及行程时间ΤΤ,而输出值包括物体的速度。在图4示出的实现方式中,参考标记V1代表物体的初始速度。初始速度V1可以通过计算物体的平均速度SL/TT并进行适当的修正来计算。正如之前所述,这样的修正可以按经验确定,例如通过进行统计上足够数量的实验来确定,在其中物体平均速度由物体所穿越的跨度长度除以行程时间来确定,而物体初始速度通过其他手段来确定,比如通过多普勒雷达来确定。这样的在统计上足够数量的实验将得出经验性修正,通过该经验性修正可以基于平均速度以及/或者其基本参数跨度长度SL及行程时间TT来确定初始速度。备选地,可以使用常规物理原理来对物体的飞行进行建模,并基于平均速度来计算用于确定初始速度的适当修正。这种物理建模的两个最重要的因素是物体的空气阻力及重量,因为这两个因素决定了物体的减速率。
不管从平均速度到初始速度的修正是通过经验还是通过物理建模来确定的,都可以实现程序350以使得其完全避开对平均速度的确定并且采用这种凭经验确定的或物理建模的函数G,函数G的输入是跨度长度SL与行程时间TT且该函数的输出是初始速度V115图5示出了本发明的操作原理。在图3A示出的实施例中,所有图5中示出的动作均由在本发明程序模块350、352控制下的移动终端MT所执行。在其他实施例中,某些动作可以在外部速度计算服务器(图3B中的VQ中执行。在步骤502中,程序模块350使得移动终端经由该终端的用户接口询问至少包括跨度长度在内的输入参数。例如,可以提示用户键入跨度长度。备选地,可以指令用户实现预定的跨度长度或从若干预定跨度长度中选择一个跨度长度。例如,跨度长度可以取决于用户的年龄、性别和/或以往的表现。此外, 可以提示用户输入从跨度起点SS及跨度终点SE到麦克风MP的距离dl、d2,或者仅输入差值d2-dl。在稍微简单的实现方式中,可以提示用户从一些选项中选择一个选项,这些选项表明可以指示麦克风是靠近跨度起点、靠近跨度终点还是与跨度起点和跨度终点等距。在步骤504中,程序模块350使得移动终端对其音频处理电路及缓冲区进行初始化,并开启音频输入流。步骤502及504是初始化步骤,其无需针对每一测量重复。在步骤506中,移动终端在缓冲区保有足够多的用于处理的音频流数据之前进行等待。在图中以虚线示出的动作508及520是在其中速度相关计算(即动作510至518)执行于外部速度计算服务器 (图:3B中的项VS)中的实施例中执行的。在基于服务器的实施例中,步骤508包括在程序 350控制下,从移动终端向速度计算服务器发送音频采样。步骤510至518可以在移动终端或服务器VS上执行运行。在步骤510中,波形检测函数运行在缓冲的(以及采样的)音频流上执行波形检测函数。正如结合图2所述,将要检测的波形可以包括对预定的声音强度水平的跨越交叉、强度的急剧上升(足够的斜率和幅值)等。步骤512包括检查是否是在最大时间周期内中检测到第一波形及第二波形。如果不是,物体穿越的起始或结未被检测到束都会被丢弃,而且该处理返回到步骤506。如果第一波形与第二波形被正确地检测到, 则在步骤514中即可确定物体的行程时间TT。步骤516包括基于跨度长度SL及行程时间 TT来确定物体的速度。正如图2所述,速度确定程序可以采用各种噪声抑制技术。正如图 4所述,还可以进行各种修正。在步骤518中,已确定的速度被转换为方便合适的单位。例如,在程序模块350控制下的音频处理可以使用采样持续时间(采样速率的倒数)作为时间单位,而为了输出能够更加方便用户的输出,采样持续时间应转换为秒。此外,可以提示用户按照米或英尺为单位输入跨度长度,而程序模块350可以被配置为以公里每小时或英里每小时的单位输出速度。在基于服务器的实施例中,步骤520包括将结果从服务器发送到移动终端。在步骤522中,通过移动终端视觉地和/或听觉地输出速度。此外,可以将速度存储在移动终端的存储器中。为了消除避免移动终端用户针对每次尝试后读取确定的物体速度的需要,移动终端可以保存最高η个速度的列表,其中“η”代表某一方便适合数量的最佳成绩,例如数量从 1到20。最高η个的列表可以分别针对每一运动项目和用户来保存。假使刚刚所确定的物体速度超过之前的记录,移动终端可以生成某种可以听见或看见的通知,比如例如可识别的音调或其显示器的闪烁。用户可以被给予接受或拒绝新的记录或者新登入到最高η个的列表中的条目的机会。例如,在干扰声音被检测作为波形210、212中的一个的情况下,可以拒绝新记录或最高η个的条目登入,其中该波形210、210与物体穿越跨度长度SL的起始及结束时间T1、T2相对应。备选地,在一些运行参数被误输入的情况下,可以拒绝新记录或最高η个的条目登入。图5中所示的流程图看起来像是无穷循环,但实际上,该循环可以经由移动终端的操作系统所提供的系统函数来终止,例如响应于检测到按压了移动终端的小键盘上的 “停止”键而终止。图6是示出了特别适用于Symbian 平台的一个实施例的流程图。相应地,图6中的流程图适用于在其中通过移动终端执行速度相关计算的实施例。步骤602包括初始化音频输入流并开启该输入流。Symbian类CMdaAudioInputMream可以用于这一目的。该初始化包括为音频输入流设置缓冲。步骤604包括对音频输入流调用ReadL函数。步骤606 包括等待MaiscBufferCopied回调函数(其跟随对CMdaAudioInputStream的ReadL函数的调用)。该回调函数指示音频输入缓冲保有足够的用于处理的数据。步骤608包括执行波形检测,其可以类似于图5的步骤510来执行。步骤610包括检查在波形检测过程中是否达到音频输入缓冲的末端。达到音频输入缓冲的末端意味着第一波形210或第二波形 212(见图幻未被正确检测,在这种情况下过程将返回步骤606。如果波形检测过程完成而未达到音频输入缓冲的末端,这意味着第一波形210与第二波形212被正确检测,在这种情况下过程将继续到步骤612,在步骤612中确定速度,并且输出和/或存储确定的速度。图 6的步骤612对应于图5的步骤514到522。图7是示出了特别适用于基于Java的平台的一个实施例的流程图。图5中所示的通用流程图可能在具有低功耗处理器的移动终端上并不容易实现。这种移动终端的残留问题在于低功耗微处理器缺少实时执行波形检测处理(见图2以及图5中的步骤506及 510)的足够的处理能力。图7所示的流程图通过仅在预定时间段内实时捕捉音频采样,并在捕捉处理后对音频采样进行波形检测而解决了这个残留的问题。图7的流程图可以通过在移动终端的存储器中安装适当的Java小程序(或“移动信息设备小程序”)来实现。备选地,移动终端可以被配置为向外部速度计算服务器发送用于处理的音频采样。如图7中所示,基于Java平台的流程图与结合图5所示并描述的流程图共用若干步骤,这些步骤不再赘述。具体地,图5的流程图的步骤502至510被步骤702至716所替代,而这之后的步骤与图5步骤512至522所说明的步骤类似。流程图以参数查询步骤702 开始,其类似于步骤502,不再赘述。在步骤704中,在Java小程序的控制下,移动终端等待经由移动终端的用户接口的某一触发行动。例如,触发行动可以是按键按压或超过预定强度阈值的发声。在步骤706中,移动终端初始化其音频缓冲区和音频处理电路。在步骤 708中,触发行动还触发短暂的等待时间,在该等待时间期间用户可以移动到距移动终端的安全距离。对于在其中将移动终端留下来用以检测诸如网球或冰球之类的硬的、重的或快速的物体的情况,这是很有用的。在步骤710中,在安全时间期满后,移动终端发出音频捕捉期开始的信号。例如,移动终端可以输出声音和/或在显示屏上闪光,以指示音频捕捉期开始。在步骤712中,移动终端在预定捕捉期期间对音频数据进行捕捉。正如之前所述,移动终端的应用编程接口(API)可能不提供用于以足够的精度测量时间的编程功能。因此,可以间接地确定比如音频捕捉期之类的时间相关量。例如,本发明的Java小程序可以指使移动终端的处理器捕捉预定数量的音频采样。备选地,可以为捕捉缓冲区分配适当的最大长度,其中该最大长度可以被定义为捕捉缓冲区可以保存的音频采样的数量。于是捕捉缓冲区溢出的情况可以作为音频捕捉期期满的指示。步骤714的执行涉及解决典型移动终端的另一残留问题的操作,即事实上,在捕捉缓冲区的开始阶段,也就是一些第一音频采样,经常有噪声。这个现象可能是由于音频处理电路中各种部件有限长的稳定时间所引起的。例如,如果使用了自动增益控制(AGC), 则该AGC电路可能需要一段时间来稳定。因此,音频捕捉缓冲区中含有噪声的开始阶段应当被忽略,而且步骤716中的波形检测操作应仅对音频捕捉缓冲区的相对不嘈杂的部分进行。在一种实现实施方式中,Java小程序要求移动终端的用户将移动终端放置在安静处, 在这之后,Java小程序捕捉确定相对安静并检测缓冲开始阶段中的噪声音频采样的数量, 借此Java小程序可以自动确定应被忽略的适当时长(音频采样的数量)。由于这是一种针对终端的校准操作,对每个终端(或终端类型)其仅需要执行一次,并存储为一个操作运行参数(见图3中的项360)。步骤716中的波形检测处理非常类似于结合图5(步骤510)描述中所述的处理步骤(步骤510),这里略去具体说明。图7的步骤716与图5的步骤510 有两处区别。一个区别是,步骤716的波形检测操作是对被捕捉并缓冲(暂时存储)的一组音频采样执行进行的,而步骤510的操作是对实时音频流执行进行的。这意味着,至少在理论上,结合图5描述的处理可以无限期度地等待对应于物体运动的起始的第一波形(图2 中的项210),而第二波形的检测(项21 可以触发捕捉处理的终止。相反,有关结合图7 描述的处理必须捕捉针对整个捕捉缓冲区的全部长度的音频采样,并且仅在之后在捕捉缓冲区中搜索第一波形及第二波形210、212,该第一波形及第二波形210、212分别对应于物体穿越跨度长度SL的起始时间及结束时间Tl、T2。图5与图7的波形检测操作间的另一区别是,图7的步骤716应当该忽略捕捉缓冲区嘈杂的开始阶段。图7示出了部分的流程图,因为在步骤716之后,可以以类似图5所示的处理来继续进行处理,因而步骤716后接着是测试718以及速度确定过程720。测试718可以类似于结合图5所述的测试512,而速度确定过程720可以类似于步骤514到522的一系列步骤。 关于这些步骤的具体说明,可以参考图5中对应步骤的说明。图7示出了流程图的变化形式,在其中紧随每个速度确定过程之后的是返回到步骤704,在步骤704中移动终端等待经由移动终端用户接口的单独的触发动作。备选地,还可以返回到步骤706,如就在步骤706上方的虚线所示。在此情况下本发明的小程序使得移动终端工作于连续模式,在该连续模式中每个速度确定过程后自动地接着进行下一个过程,而没有经由用户接口的明确触发动作。对单动作模式(返回到步骤704)或连续动作模式(返回到步骤706)进行的选择可以通过移动终端的用户接口被请求以作为步骤702的一部分。图8是示出了增强波形检测算法的流程图,该增强波形检测算法提供了针对背景噪声的改善的鲁棒性。根据需要,该算法可以通过移动终端MT或速度计算服务器VS来执行。结合图8,执行波形检测算法的单元称为数据处理器。首先,在步骤802中,数据处理器计算N个最近采样的均方根(RMS)值。这N个采样构成了采样的滑动时间窗口。在步骤 804中该RMS值存储为A。在步骤806中数据处理器等待K个采样,其中这K个采样构成了两个时间窗口间的重叠。在步骤808与810中,数据处理器计算具有N个采样的当前窗口的RMS值并存储该RMS值B。步骤812是关于B-A的差值是否超过预定阈值的测试。如果不是,该过程跳过接下来的两个步骤并继续进行步骤818。另一方面,如果B-A的差值超过预定阈值,数据处理器确定发生了撞击,也就是,与物体运动跨度长度SL(见图1)的起始时间Tl或结束时间T2在时间上重合的有效波形。接着,在步骤814中,数据处理器在最近的H个采样中搜索音频信号的起始,其中数量H可以例如是N+K。换言之,处理器在包含当前重叠K个以及窗口长度N个的过去的采样中搜索音频信号的起始。在步骤816中,该时刻,即对应于信号起始的采样序数,在被转换为时间单位后,被存储为第一波形或第二波形发生的时间(参见图2中的项210、212)。在此所述的算法的优点在于,任意固定水平的背景噪声都可以被忽略,只要背景噪声保持低于跨度长度行程的起始及结束时音频信号的强度。只要背景噪声保持低于音频信号的强度,可以通过下述算法确定自适应阈值首先计算信号缓冲中的RMS值,该信号缓冲包括跨度长度行程的起始与结束。最理想的阈值水平应位于最大强度值(其对应于物体运动的起始与结束)与通过信号缓冲计算的RMS值之间的某处。例如,该阈值可以被设置在两个极值水平之间的中点,其中一个极值水平代表通过一些最近缓冲计算的平均RMS值,而另一个极值水平为在一些最近缓冲中检测的几个最大值的平均RMS值。本领域技术人员应当理解,类似平均值或RMS值的函数没有必要以严格的数学观念进行解释。平均值或RMS值是简洁的数学概念,但是这些概念的很多近似值可以替代这种数学上精确的值。事实上,本文所述的算法可以通过如下陈述来进行归纳,即对在时间上与物体穿越跨度长度的起始和结束相重叠的第一波形和/或第二波形的检测包括保持两个互相部分重叠的滑动窗口。第一波形和/或第二波形在该部分重叠的窗口内的存在通过确定一个滑动窗口的fA(INT)超过另一个滑动窗口的& (INT)某一预定裕度而被指示出来。此处INT表示音频信号的强度或其导数,比如图8中所示的算法中使用的RMS函数,而 f代表任何在统计上有代表性的函数,比如平均值、中数、百分比等。该检测通过在至少两个部分重叠的窗口中搜索音频信号的起始来完成。图9示出了一个实施例,在其中速度计算服务器配备有附加逻辑部分,该附加逻辑部分提供附加的功能。参考数字900表示被配置为提供此种附加功能的服务器系统。为了支持大量的移动终端及用户,服务器系统理想地包括复数个处理器、快速数据库系统以及负载分担系统(未单独示出)。服务器系统900包括若干逻辑部分。这些逻辑部分中的由参考数字910所表示的一个逻辑部分,至少为缺少用于执行速度计算的足够的处理能力的那些移动终端执行速度计算。速度计算部分910 —般对应于图:3B中所示的速度计算服务器VS,并且其执行结合图1、图2、图4和图8所述的计算或者执行这些计算中的一些计笪弁。服务器系统900的规模被设置成使得其能够服务于大量的移动终端MT及移动终端MT的用户。用户可以成为一个或更多个社团的成员。例如,足球运动员可以注册为足球社团的成员,网球运动员可以注册为网球社团的成员,等等。一个国家或地区内的运动员可以组成子社团。正如这里所使用的,“运动员”或“成员”很大程度上可以和“移动终端用户” 互换,但是“运动员”还意味着此人是在本实施例的意义内的社团的成员。社团维护部分912记录运动员(作为特定社团成员的移动终端用户)。社团维护部分912可以为每个注册运动员分配虚拟运动员卡。运动员可以经由他们的移动终端MT 和/或经由因特网浏览器(未单独示出)来注册。运动员注册步骤创建了社团成员资格,
15以及该运动员/成员的标识与密码。该标识与密码为后续的登录步骤所需。社团维护部分 912记录每个运动员的最高成绩以及,可选地,他们的历史记录。在一个有益的实现方式中,服务器系统900为一些运动员指定可信用户状态。例如,社团维护部分912可以记录可信用户。可信用户状态被要求报告或确认可称得上是“正式”的成绩。倘若没有可信运动员的确认,任何运动员的移动终端可以上传成绩或生成成绩的声音采样,但这种成绩缺少正式状态。这意味着可以将成绩输入、存储在用户的历史日志中并展示给其他社团成员,但是这些成绩的可信度由其他用户来决定。由可信用户确认的报告具有正式的状态,并且其他社区成员可能较容易相信所考虑的成绩是在可比条件下取得的。换言之,有关于可信用户的逻辑部分减少了运动员所取得的成绩(速度)可能是在不可比较的条件下得来的这一技术问题。可以存在可信用户的层级以及正式状态等级。例如,最低等级的信赖可以通过足够长时间地作为社团成员和/或取得一定数量社团成员的支持来获得,而最高等级的信赖可能需要来自于所讨论运动项目的全国性组织的认证。在一个实现方式中,可信用户可以按照下述方式来确认成绩。速度计算逻辑910根据运动员表现计算速度,并将其报告给社团维护部分912用于记录保存。社团维护部分912检测该速度是否值得录入在一个或更多个的日志中。此时社团维护部分912可以向移动终端MT发送请求来确认该成绩。可信用户可以使用他们的用户标识及密码来确认成绩。如果社团维护部分912接收到经由可信用户的标识及密码的确认,则该成绩被记录为正式成绩。否则其被记录为非正式成绩。在一个备选的实现方式中,可信用户状态被关联到可信用户的移动终端的标识或移动订阅。IMEI (国际移动设备识别)或IMSI (国际移动用户识别)码可以被用于该目的。可信用户的多层层级体系以及正式状态层级可以结合不同的结果确认技术使用。例如,只使用可信用户的移动终端来输入成绩可能仅满足低层级的信赖,而高层级的信赖可能需要单独的通过密码的验证。广告部分914可以被用于使得服务器系统900的维护在经济上可行。例如,广告部分914可以回应于运动员新成绩的指示,或者回应于运动员成绩历史记录的一般提高。广告部分914可以通过为对应于运动员新表现水平的器材做广告而响应于运动员新成绩的指示。服务器系统900的运营者可以通过针对每条被发送的广告向登广告者收取费用的方式来为系统维护提供资金支持。就技术上而言,服务器系统900的各个部分可以按照下述方式协作。参考数字920 表示一组来自于移动终端MT的音频采样,更具体地,来自于被配置为向服务器系统900发送所记录音频采样的程序3M的音频采样。音频采样被传输至速度计算部分910,该速度计算部分计算速度并将其报告给社团维护部分912。这样的报告如箭头922所示。社团维护部分912可以检测成绩对于运动员而言是否为好成绩或最高成绩并向广告部分914报告这一情况,如箭头拟4所示。广告部分914可以选择与运动项目及成绩相关的广告,并发送被选择的广告,如箭头拟6所示。除了由广告部分914所选择的广告外,速度计算部分910将运动员的实际成绩报告给运动员,而社团维护部分912可以报告运动员的进步、统计或其他一些有用信息。在运动员的移动终端具有比如GPS系统之类的相关定位设备的情况下,移动终端的位置可以被传输给服务器系统900。服务器系统900可以通过几种方式来使用运动员的位置。在一些实现方式中,服务器系统900可以使用运动员的位置和三维地图来确定运动员的海拔高度。该高度转而对应于气压,气压可以被用于从直接得出平均速度的数据(跨度长度及行程时间)推导出用于确定初始速度的适当修正。附加地或备选地,服务器系统可以记录运动员成绩的位置和/或基于运动员的当前位置选择广告。
对于本领域技术人员容易理解,随着技术的发展,本发明的概念可以以多种方式来实现。本发明及其实施例并不限于以上所述的示例,而是可以在权利要求的范围内变化。
权利要求
1.一种用于确定物体(0)的速度的方法,包括-由操作地耦合到移动终端(MT)的至少一个麦克风(MP)接收音频信号(AS),其中所述移动终端连接到无线网络(AN);-处理所接收的音频信号(AQ,其中对所述音频信号的处理包括将所述音频信号转换为一系列音频采样O02),其中的每个音频采样具有强度值与持续时间,以及将所述一系列音频采样传输到速度计算单元(352,VS);由所述速度计算单元(352,VS)执行下列步骤 -确定将要由所述物体穿越的跨度长度(SL),其中所述跨度长度(SL)从跨度起点(SS) 延伸到跨度终点(SE);-确定所述物体(0)穿越从所述跨度起点(SQ到所述跨度终点(SE)的跨度长度(SL) 的近似行程时间(TT),其中对所述近似行程时间(TT)的确定包括-处理所述一系列音频采样O02)并检测第一波形O10)与第二波形012),该第一波形OlO)与第二波形012)分别对应于所述行程的近似起始时间(Tl)与近似结束时间 (T2);-通过确定所检测的第一波形OlO)与第二波形012)间音频采样的组合持续时间来确定所述近似行程时间(TT);-基于所述跨度长度(SL)和近似行程时间(TT)确定所述物体的速度;以及 -将关于所述物体速度的信息从所述速度计算单元(352,VS)传输到所述移动终端 (MT)的用户接口(315);以及-经由所述移动终端的所述用户接口输出所述物体的速度。
2.根据权利要求1所述的方法,其中对所述速度的确定包括确定平均速度并对所述平均速度应用修正以确定初始速度。
3.根据权利要求1或2所述的方法,其中对所述速度的确定包括通过将所述跨度长度 (SL)及行程时间(TT)应用到函数或查找表来确定初始速度。
4.根据前述权利要求中任一项所述的方法,其中对所述行程时间(TT)的确定包括补偿从跨度起点(SS)和跨度终点(SE)到所述麦克风(MP)的不相等距离(dl、d2)。
5.根据权利要求1至4中任一项所述的方法,其中对所述第一波形(210)和/或第二波形012)的检测包括检测强度超过预定阈值(208)的采样016、218)。
6.根据权利要求1至4中任一项所述的方法,其中对所述第一波形(210)和/或第二波形012)的检测包括检测一组连续的采样,其中该组中最后的采样的强度超出该组中第一采样的强度预定裕度。
7.根据权利要求1至6中任一项所述的方法,其中对所述第一波形(210)和/或第二波形012)的检测包括-保持至少两个滑动窗口 A与B,这两个滑动窗口 A与B互相部分重叠; -通过确定一个滑动窗口的fA(INT)超过另一个滑动窗口的& (INT)预定裕度来检测所述第一波形和/或第二波形在所述至少两个部分重叠的窗口内的存在,其中INT代表所述音频信号的强度或该强度的导数,而f代表在统计上有代表性的函数;以及 -在所述至少两个部分重叠的窗口内搜索所述音频信号的起始。
8.根据前述权利要求中任一项所述的方法,还包括在检测后续波形之前,跳过所检测的第一波形(210)和/或第二波形(21 后预定数量的采样或毫秒020、222)。
9.根据前述权利要求中任一项所述的方法,还包括如果所检测的第一波形(210)与第二波形012)间的音频采样的组合持续时间低于预定的最小时间,则舍弃该系列音频采样 (202)。
10.一种移动终端(MT),包括-用于连接到无线网络(AN)的装置;-软件程序产品,其中所述移动终端中所述软件程序产品的执行使得所述移动终端执行下列动作-由操作地耦合到所述移动终端(MT)的麦克风(MP)接收音频信号(AS); -处理所接收的音频信号(AQ,其中对所述音频信号的处理包括将所述音频信号转换为一系列音频采样O02),其中的每个音频采样具有强度值和持续时间,以及其中该系列音频采样在物体(0)穿越从跨度起点(SQ到跨度终点(SE)的跨度长度(SL)的行程时间(TT) 期间延伸;-经由所述无线网络(AN)向服务器(VS)发送该系列音频采样; -接收来自于所述服务器(VS)的关于所述物体速度的信息;以及 -视觉地和/或听觉地输出所述物体的速度。
11.一种软件程序产品(350),可执行于移动终端(MT)之中,其中所述移动电话中所述软件程序产品的执行使得所述移动终端执行权利要求1中确定的动作。
12.—种操作地耦合到无线网络(AN)的服务器系统(VS,900),该无线网络(AN)支持所述服务器与移动终端(MT)间的双向通信,所述服务器包括-用于确定将要由物体(0)穿越的跨度长度(SL)的装置,其中所述跨度长度(SL)从跨度起点(SS)延伸到跨度终点(SE);-用于从所述移动终端(MT)接收一系列音频采样O02)的装置,其中的每个音频采样具有强度值和持续时间,并且其中所述一系列音频采样在物体(0)穿越跨度长度(SL)的行程时间(TT)期间延伸;-用于确定所述物体(0)穿越从跨度起点(SQ到跨度终点(SE)的跨度长度(SL)的行程时间(TT)的时间确定装置,其中所述时间确定装置包括-用于处理所述一系列音频采样(202)并且用于检测第一波形(210)和第二波形 (212)的装置,该第一波形O10)和第二波形012)分别对应于所述行程的近似起始时间 (Tl)和近似结束时间(T2);-用于通过确定所检测的第一波形(210)与第二波形012)间音频采样的组合持续时间来确定所述近似行程时间(TT)的装置;-用于基于所述跨度长度(SL)和近似行程时间(TT)确定所述物体的速度的装置;以及-用于将关于所述物体速度的信息从所述服务器(VS)发送至所述移动终端(MT)的装置。
13.根据权利要求12所述的服务器系统(VS,900),还包括-社团维护装置(912),用于作为社团成员的移动终端用户的注册、登录和记录保存, 其中社团成员的所述记录至少表明由所述社团成员获得的标识、运动项目和最高速度; -广告装置(914),用于选择并传送广告给社团成员,其中所述对广告的选择至少是基于所述社团成员的相应运动项目。
14.根据权利要求13所述的服务器系统(VS,900),其中所述社团维护装置(912)包括-用于注册并登录多个可信用户的装置;-用于接收来自于一个或更多个可信用户的关于社团成员所获速度的确认的装置;-用于将社团成员所获速度显示给其他社团成员的装置;以及-用于表明社团成员所获速度是否已由至少一个可信社团成员确认的装置。
全文摘要
一种用于确定比如球体之类的物体(O)在从跨度起点(SS)延伸至跨度终点(SE)的跨度长度(SL)上的速度的方法。音频信号(AS)由移动终端(MT)的麦克风(MP)所接收。该物体(O)穿越跨度长度(SL)的近似行程时间(TT)被确定,该动作时间包括处理音频信号(AS)并检测分别对应于穿越的近似起始时间(T1)和近似结束时间(T2)的第一波形(210)和第二波形(212),并基于所检测的第一波形(210)和第二波形(212)来确定近似行程时间(TT)。物体的速度是基于跨度长度(SL)和近似行程时间(TT)来确定的。该速度可以通过移动终端或通过外部服务器来确定。
文档编号G01P3/64GK102203623SQ200980142516
公开日2011年9月28日 申请日期2009年9月16日 优先权日2008年9月17日
发明者劳里·伊尔瓦斯, 安西·隆玛兰塔, 托米·萨尔米, 米卡·蒂康德, 蒂莫·萨尔米 申请人:恩特助训公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1