无线扬声器系统的制作方法

文档序号:26839544发布日期:2021-10-08 21:09阅读:71来源:国知局
无线扬声器系统的制作方法

1.本公开主要涉及用于数据的无线传输的系统和方法,并且更具体地但非排他地涉及协调两个接收设备和一个发送设备之间的数据传输。


背景技术:

2.无线通信是指在两个或多个未通过电导体连接的点之间传递信息或功率。对于使用无线电波的无线技术,通信距离可以短至例如蓝牙的几米,或者可以长达深空无线电通信的数百万公里。
3.当主扬声器被配置为从数据源接收数据并将数据发送到另一个扬声器进行回放时,在无线扬声器系统的某些配置中会出现一个问题。由于两个扬声器之间的功耗不平衡,可能导致主扬声器中的电池更快耗尽。
4.在某些配置中的另一个问题是,当由于主扬声器的电源中断而导致主扬声器与数据源之间的无线链接丢失,或者主扬声器被用户物理断开连接时,另一个扬声器需要与数据源重新建立无线链接,导致两个扬声器之间的数据同步延迟播放。结果就是,用户可能会在音频/视频流或电话呼叫期间遇到间歇性(“口吃”)回放或有时甚至静音。当物体挡住主扬声器和数据源之间的物理空间时,也可能发生这类问题。


技术实现要素:

5.本说明书的一个实施例提供了一种系统,其包括机器的一个或多个处理器、存储指令的内存、数据源、第一收发器和第二收发器。所述第一收发器被配置为充当主机,与数据源建立第一无线链路以接收多个数据分组,与充当从机的第二收发器建立第二无线链路用于向所述第二收发器发送一组通信参数,以使所述第二收发器能够经由已启用的无线链路从所述数据源嗅探所述多个数据分组,监测所述第一无线链路的第一通信质量的值和所述已启用的无线链路的第二通信质量的值,以及当所述第一通信质量小于所述第二通信质量且所述第一通信质量减小到预定阈值时,切换所述第一收发器和所述第二收发器之间的角色。
6.在所述系统的一个实施例中,所述第一通信质量的值和所述第二通信质量的值由来自与所述第一无线链路和所述已启用的无线链路相关联的一组质量参数中的一个或多个参数确定。
7.在所述系统的一个实施例中,所述一组质量参数包括分组错误率、接收信号强度指示和信噪比。
8.在所述系统的一个实施例中,所述第一收发器还被配置为在所述第一收发器和所述第二收发器之间的角色切换前,发送最近的一组通信参数。
9.在所述系统的一个实施例中,在建立所述第一无线链路之前,所述第一收发器是根据第一扬声器和第二扬声器之间的电池电量中的较高值来选择的。
10.在所述系统的一个实施例中,还包括:监测与所述第一收发器耦合的第一扬声器
和与所述第二收发器耦合的第二扬声器的电池电量,当所述第一扬声器和第二扬声器中充当主机的一个扬声器的所述电池电量低于充当从机的另一个扬声器的电池电量,并且所述第一扬声器和所述第二扬声器之间的电池电量的差值达到第二预定阈值时,切换所述第一收发器和所述第二收发器之间的角色。
11.在所述系统的一个实施例中,所述第二无线链路根据专有无线协议配置。
12.一个实施例提供一种系统,其包括机器的一个或多个处理器、存储指令的内存、数据源、第一收发器和第二收发器。所述系统被配置为由充当主机的第一收发器建立与数据源的第一无线链路以接收多个数据分组,以及建立与充当从机的第二收发器的第二无线链路,通过所述第一收发器监测所述第一无线链路的第一通信质量的值,当所述第一通信质量减小到预定阈值时,切换所述第一收发器和所述第二收发器之间的角色,当切换后的与数据源的第一无线链路的通信质量的值大于切换前的所述第一无线链路的通信质量的值时,维持切换后的角色,当所述切换后的第一无线链路的通信质量的值小于切换前的所述第一无线链路的通信质量的值时,恢复到先前的角色。
13.在所述系统的一个实施例中,所述第一通信质量的值和所述第二通信质量的值由一组质量参数中的一个或多个参数确定。
14.在所述系统的一个实施例中,所述一组质量参数包括分组错误率、接收信号强度指示和信噪比。
15.在所述系统的一个实施例中,所述第一收发器与第一扬声器耦合,其中所述第一扬声器同时充当两个微微网中的信源和信宿。
16.在所述系统的一个实施例中,所述第二无线链路根据蓝牙和专有无线协议的组合配置。
17.在所述系统的一个实施例中,还包括:监测与所述第一收发器耦合的第一扬声器和与所述第二收发器耦合的第二扬声器的电池电量,当所述第一扬声器和第二扬声器中充当主机的一个扬声器的所述电池电量低于充当从机的另一个扬声器的所述电池电量,并且所述第一扬声器和所述第二扬声器之间的电池电量的差值达到第二预定阈值时,切换所述第一收发器和所述第二收发器之间的角色。
18.在一个实施例中,一种方法包括:由充当主机的第一扬声器建立与数据源的第一无线链路,并建立与充当从机的第二扬声器的第二无线链路;当失去所述第一无线链路中的连接时,通过所述第一扬声器向所述第二扬声器发送一组通信参数;通过所述第一扬声器与所述第二扬声器切换角色;通过所述第二扬声器与所述数据源建立新的无线链路。
19.在所述方法的一个实施例中,该组通信参数包括设备地址、频率信息、通信频带信息、本地时钟信息、逻辑传输地址、时钟偏移信息和链路密钥信息。
20.在所述方法的一个实施例中,在建立所述第一无线链路之前,基于所述第一扬声器和所述第二扬声器之间的电池电量的较高值来选择所述第一扬声器。
21.在所述方法的一个实施例中,该通信参数包括设备地址、频率信息、通信频带信息、本地时钟信息、逻辑传输地址、时钟偏移信息和链路密钥信息。
22.在所述方法的一个实施例中,其中在角色切换期间,所述第一扬声器和所述第二扬声器延迟回放以确保未受干扰的音频流。
23.在所述方法的一个实施例中,在角色切换期间,所述未受干扰的音频流通过声音
修复来实现。
24.在所述方法的一个实施例中,在角色切换期间,所述未受干扰的音频流通过从数据源重新传输数据来实现。
附图说明
25.参照以下附图描述了非限制性和非穷举性的实施例,其中,除非另外指明,否则贯穿各个视图,相似的附图标记指代相似的部分。
26.图1是根据角色切换前的实施例实现的无线扬声器系统的框图。
27.图2是根据角色切换后的实施例实现的无线扬声器系统的框图。
28.图3是根据角色切换前的另一实施例实现的无线扬声器系统的框图。
29.图4是根据角色切换后的另一实施例实现的无线扬声器系统的框图。
30.图5是根据一个实施例实现的无线扬声器系统中的角色切换的序列图。
31.图6是根据另一实施例实现的无线扬声器系统中的角色切换的序列图。
32.图7是根据一些示例实施例的第一扬声器中的处理环境的示意图。
33.图8是根据一些示例实施例的第二扬声器中的处理环境的示意图。
34.图9示出了根据一个实施例的操作无线扬声器系统的方法流程图。
35.图10示出了可以与本文所述的各种硬件架构结合使用的代表性的软件架构的框图。
36.图11示出了根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文讨论的任何一种或多种方法的机器组件的框图。
具体实施方式
37.现在将描述各个方面和示例。以下描述提供了特定的细节以对这些示例进行透彻的理解和描述。然而,本领域技术人员将理解,可以在没有许多这些细节的情况下实践本公开。
38.另外,为了避免不必要地使相关描述不清楚,一些众所周知的结构或功能可能没有示出或详细描述。
39.尽管与某些特定示例的详细说明结合使用,但在以下呈现的描述中使用的术语旨在以其最广泛的合理方式进行解释。以下甚至可能会强调某些术语,但是,要以任何受限方式解释的任何术语将被如同术语表那样公开而明确地定义。
40.图1是根据角色切换前使用蓝牙音频传输模型协定(a2dp)进行无线通信的实施例实现的无线扬声器系统100的框图。当设备充当被发送到微微网的snk的数字音频流的信源时,a2dp配置文件定义该设备为信源(src),当设备充当从同一微微网中的src发送的数字音频流的信宿时,a2dp配置文件定义该设备为信宿(snk)。在使用蓝牙a2dp作为无线通信方法的实施例中,无线扬声器系统包括配置为src的数据源103,配置为snk1的第一扬声器101和配置为snk2的第二扬声器102。第二无线链路150被实现为第一蓝牙微微网piconet1,或者被实现为第一蓝牙微微网piconet1和专有无线通信协议链路的组合,或者被实现为单独的专有无线通信协议链路。第一无线链路130被实现为第二蓝牙微微网piconet2,或者被实现为第二蓝牙微微网piconet2和专有无线通信链路的组合,或者被实现为单独的专有无线
通信链路。专用无线通信链路可以在与piconet1或piconet2相同的信道上运行,也可以在与之不同的信道上运行。
41.在一个实施例中,在piconet1中,作为snk1的第一扬声器101是主机(m),作为snk2的第二扬声器102是从机(s)。在piconet2中,作为src的数据源103是主机(m),作为snk1的第一扬声器101是从机(s),作为snk2的第二扬声器102是观察者(o)。由于snk1和snk2同时地参与两个微微网,因此无线扬声器系统可以支持散射网操作。
42.在一个实施例中,snk1是首先被开启的扬声器,例如当被物理地从充电站中取出时。在另一个实施例中,第一扬声器是具有更高电池电量的扬声器,由两个扬声器在接通电源后立即确定并协商。
43.在一个实施例中,在snk1 101经由piconet2连接到src 103之后,snk1 101经由piconet1向snk2发送一组参数,以使作为观察者的snk2能够嗅探在piconet2上的通信。本领域技术人员将理解到,snk2 102可以被配置为当从snk1 101接收到该组通信参数时,经由已启用的无线链路140嗅探在第一无线链路130中发送的数据分组。在snk2通过嗅探获得数据分组之后,如果数据分组已加密,则其至少可以使用链接密钥解密数据分组,并将解密后的数据分组与从snk1 101接收到的其余通信参数一起用于回放。通信参数可以包括但不限于设备地址、蓝牙地址、跳频、数据传输速率、编解码格式、位池值、采样率、无线传输配置文件信息、本地时钟值、逻辑传输地址、时钟偏移值和链接密钥值。
44.在一个实施例中,无线扬声器系统可以根据其他协议实现,例如wifi或其他蓝牙配置文件,例如免提模式配置文件(hfp)、串行端口配置文件(spp)等。
45.在一个实施例中,第一扬声器snk1 101包括第一收发器(xcvr1)110,并且第二扬声器snk2 102包括第二收发器(xcvr2)120。第一扬声器和第二扬声器可以包括但不限于使用射频波而不是音频电缆来接收音频信号的扬声器,例如听筒、耳塞式耳机、头戴式耳机、耳麦、头戴式受话器、智能扬声器或包括扬声器的设备(例如移动电话、笔记本电脑等)。
46.在一个实施例中,扬声器中的一个的收发器,例如第一收发器110,被配置为与数据源103建立被实现为piconet2的第一无线链路130。扬声器中的一个的收发器,例如第一收发器110,被配置为与第二收发器120建立被实现为piconet1的第二无线链路150。在一个实施例中,第二无线链路150可以在制造时配置为永久地将第一收发器110和第二收发器120配对,并且在通电时具有第二无线链路150。
47.在一个实施例中,第一收发器110动态地监测第一无线链路130中的通信质量,并且第二收发器120动态地监测已启用的无线链路140中的通信质量。第一和第二收发器进行实时通信以比较这些参数,并确定是否应执行piconet1中的主从角色切换。当第一无线链路130中的通信质量低于已启用的无线链路140中的通信质量并且降低到预定阈值时,执行主从角色切换。通信质量由一组质量参数中的一个或多个参数确定,该组参数包括但不限于分组错误率、接收信号强度指示和信噪比。在微微网中,主机确定通信特性,例如微微网的跳频。主从之间的角色切换可能会导致tx和rx时序反转(即tdd切换)和微微网的重新定义。
48.图2是根据角色切换后使用蓝牙音频传输模型协定(a2dp)进行无线通信的实施例实现的无线扬声器系统200的框图200。在主从角色切换后,在被实现为piconet1’的切换后的第二无线链路250中,第二扬声器snk2成为主机(m),而第一扬声器成为从机(s)。在被实
现为piconet2’的切换后的第一无线链路230中,数据源保持为主机,第二扬声器成为从机,第一扬声器成为观察者(o)。
49.图3是根据角色切换后使用蓝牙音频传输模型协定(a2dp)进行无线通信的实施例实现的无线扬声器系统300的框图。
50.在使用蓝牙a2dp作为无线通信方法的实施例中,无线扬声器系统包括在第四蓝牙微微网piconet4中配置为src4的数据源303,在蓝牙微微网piconet4中配置为snk4和在第三蓝牙微微网piconet3中配置为src3的第一扬声器301,以及在piconet3中配置为snk3的第二扬声器302。第二无线链路350被实现为piconet3,或者被实现为piconet3和专有无线通信协议链路的组合,或者被实现为单独的专有无线通信协议链路。第一无线链路330被实现为piconet4,或者被实现为piconet4和专有无线通信协议链路的组合,或者被实现为单独的专有无线通信协议链路。专有无线通信协议链接可以在与piconet3或piconet4相同的信道上运行,也可以在与之不同的信道上运行。
51.在一个实施例中,在piconet3中,作为src3的第一扬声器301是主机(m),并且作为snk3的第二扬声器302是从机(s)。在piconet4中,作为src4的数据源303是主机(m),并且作为snk4的第一扬声器301是从机(s)。因为作为snk4/src3的第一扬声器同时参与两个微微网,所以无线扬声器系统可以支持散射网操作。在一个实施例中,第二扬声器302仅依赖于第一扬声器301来接收要回放的数据分组。
52.在一个实施例中,第一扬声器是首先被开启的扬声器,例如当被物理地从充电站中取出时。在另一个实施例中,第一扬声器是具有更高电池电量的扬声器,由两个扬声器在接通电源后立即确定并协商。
53.在一个实施例中,第一扬声器301包括第一收发器(xcvr1)310,第二扬声器302包括第二收发器(xcvr2)320。第一收发器310动态地监测被实现为piconet4的第一无线链路330中的通信质量。当第一无线链路330中的通信质量减小到预定阈值时,第一收发器确定是否应执行piconet3中的主从角色切换。通信质量由一组质量参数中的一个或多个质量参数确定,该组质量参数包括但不限于分组错误率、接收信号强度指示和信噪比。
54.在一个实施例中,无线扬声器系统可以根据其他协议实现,例如wifi或其他蓝牙配置文件,例如免提模式配置文件(hfp)、串行端口配置文件(spp)等。
55.图4是根据在角色切换后使用蓝牙音频传输模型协定(a2dp)进行无线通信的实施例实现的无线扬声器系统400的框图。在主从角色切换后,在被实现为piconet3’的切换后的第二无线链路450中,第二扬声器成为主机(m)并且第一扬声器则成为从机(s)。在被实现为piconet4’的切换后的第一无线链路430中,数据源保持为主机(m),第二扬声器成为从机(s)。
56.在一个实施例中,在执行主从角色切换后,第二扬声器立即评估切换后的第一无线链路430的通信质量,并将其与切换前的第一无线链路330的通信质量进行比较。如果切换后的第一无线链路430的通信质量大于切换前的第一无线链路330的通信质量,则维持切换后的角色。否则,该切换返回到图3所示的配置。
57.图5是根据图1和图2中的配置的实施例实现的无线扬声器系统中的主从角色切换的序列图500。在一个实施例中,第一扬声器经由第一无线链路130通信地耦合到数据源,以及第二扬声器经由第二无线链路150通信地耦合到第一扬声器并且嗅探无线链路130上第
一扬声器和数据源之间的通信。本领域的技术人员将理解,尽管在角色切换前,图5中的特定示例显示第一扬声器是主机,第二扬声器是从机,由于主从角色切换是基于第一无线链路130和已启用的无线链路140中的通信质量来动态地确定的,在角色切换前,第一扬声器可以是从机,并且第二扬声器可以是主机。
58.在操作510中,第一扬声器501与数据源505建立第一无线链路。在操作512中,第一扬声器501与第二扬声器503建立第二无线链路。在一个实施例中,第二无线链路在制造时被配置为将第一扬声器501和第二扬声器503配对,从而在两个扬声器上电时建立第二无线链路。在操作514中,第一扬声器501发送通信参数到第二扬声器503。在操作516中,第二扬声器503在数据源505与第一扬声器501之间的第一无线链路上嗅探数据。在操作518中,第一扬声器501监测第一无线链路中的通信质量。在操作520,第二扬声器503监测第二扬声器503与数据源505之间的已启用的无线链路中的通信。本领域技术人员将理解,操作518和操作520可以以任何顺序发生或可以同时发生。
59.在操作522中,第一扬声器和第二扬声器比较并确定第一无线链路中的通信质量是否小于已启用的无线链路中的通信质量,并且第一无线链路中的通信质量降低到一个阈值以下。当满足操作522中的条件时,在操作524中,第一扬声器501发送通信参数到第二扬声器503。在操作526中,第一扬声器501从第二扬声器503请求主从(m/s)角色切换。在操作528中,第二扬声器接受第一扬声器501所请求的m/s角色切换。在操作530中,执行m/s角色切换,即第一扬声器501发送自己的tx/rx时序和操作模式给第二扬声器503。然后,第二扬声器503根据第一扬声器的tx/rx时序和操作模式立即调整其自身的配置。在操作534中,作为新的主机的第二扬声器503与数据源505建立切换后的第一无线链路。在操作534中,作为新的主机的第二扬声器503与第一扬声器501建立后切换第二无线链路。在操作536中,作为新的主机的第二扬声器503发送通信参数给作为新的从机的第一扬声器501。在操作538中,作为新的从机的第一扬声器501在数据源505和作为新的主机的第二扬声器503之间的切换后的第一无线链路上嗅探数据。
60.在500的实施例中,在建立第一和第二无线链路之后,第一扬声器501监测其自身的电池电量,并且第二扬声器503监测其自身的电池电量。当第一扬声器和第二扬声器中充当主机的一个扬声器的电池电量低于充当从机的另一个扬声器的电池电量,并且第一扬声器和第二扬声器之间的电池电量之差超过第二预定阈值时,在两个扬声器之间执行m/s角色切换。
61.图5是根据图3和图4中的配置的实施例实现的无线扬声器系统中的主从角色切换的序列图600。在一个实施例中,第一扬声器301经由第一无线链路330通信地耦合到数据源,并且第二扬声器302经由第二无线链路350通信耦合到第一扬声器。本领域的技术人员将理解,尽管在角色切换前,图6中的特定示例呈现第一扬声器是主机,第二扬声器是从机,由于主从角色切换是基于第一无线链路130和已启用的无线链路330中的通信质量来动态地确定的,在角色切换前,第一扬声器可以是从机而第二扬声器可以是主机。
62.在操作610中,第一扬声器601与数据源605建立第一无线链路。在操作612中,第一扬声器与第二扬声器603建立第二无线链路。在一个实施例中,第二无线链路在制造时被配置为将第一扬声器601和第二扬声器603配对,从而在两个扬声器上电时建立第二无线链路。
63.在操作614中,第一扬声器601监测第一无线链路中的通信质量。在操作616中,第一扬声器601确定第一无线链路的通信质量何时降低到一个阈值。当满足操作616中的条件时,在操作618中,第一扬声器601向第二扬声器603发送通信参数。在操作620中,第一扬声器601从第二扬声器603请求主从(m/s)角色切换。在操作622中,第二扬声器603接受执行m/s角色切换的请求。在操作624中,执行m/s角色切换,即第一扬声器601发送自己的tx/rx时序和操作模式到第二扬声器603。然后,第二扬声器603根据接收到的tx/rx时序和操作模式立即调整其配置。在操作626中,作为新的主机的第二扬声器603与数据源605建立切换后的第一无线链路。在操作628中,作为新的主机的第二扬声器603与作为新的从机的第一扬声器601建立切换后的第二无线链路。在操作630中,如果切换后的第一无线链路中的通信质量高于切换前的第一无线链路,则作为新的主机的第二扬声器603保持切换后的角色。在操作632中,如果切换后的第一无线链路中的通信质量低于切换前的第一无线链路,则作为新的主机的第二扬声器603还原所切换的角色。
64.在600的实施例中,在建立第一和第二无线链路之后,第一扬声器601监测其自身的电池电量,并且第二扬声器603监测其自身的电池电量。当第一扬声器和第二扬声器中充当主机的一个扬声器的电池电量低于充当从机的另一扬声器的电池电量时,并且第一扬声器和第二扬声器之间的电池电量之差超过第二预定阈值时,在两个扬声器之间执行m/s角色切换。
65.图7是根据一些示例实施例的第一扬声器101、301中的处理环境700的示意图处理环境700的示意图包括处理器705,处理器710和处理器702(例如,gpu、cpu或其组合)。
66.在一个实施例中,第一扬声器101、301中的处理器702被示出为耦合至电源704,并且包括(永久配置或临时实例化的)多个模块,即链路建立模块720、参数模块722、通信质量模块724、角色切换模块726、回放延迟模块728和声音修复模块730。
67.在诸如图1和图2所示的配置的实施例中,链路建立模块720可操作地建立与数据源103的第一无线链路130,并建立与通信地耦合到第二扬声器102的第二收发器120的第二无线链路150。参数模块722可操作地生成一组通信参数,并将该组通信参数发送到第二收发器120,以使第二收发器120能够嗅探第一无线链路130上的数据通信。通信质量模块724可操作地监测第一无线链路130的通信质量。当所述第一无线链路130的通信质量小于已启用的无线链路140的通信质量并降低到预定阈值时,角色切换模块726可操作地切换第一扬声器101和第二扬声器102的主从角色。当满足角色切换条件时,所述参数模块722可操作地生成一组通信参数,并发送该组通信参数到所述第二收发信器120,以及角色切换模块726可操作地发送它自己的tx/rx时序和操作模式到第二收发器120。作为角色切换的结果,如图2所示,在piconet1’中,第一扬声器101成为新的从机,第二扬声器102成为新的主机。链路建立模块720可操作地与数据源103建立切换后的第一无线链路230,并与第一收发器110建立切换后的第二无线链路250。
68.在诸如图1和图4所示的配置的实施例中,链路建立模块720可操作地建立与数据源303的第一无线链路330,并建立与通信地耦合到第二扬声器302的第二收发器320的第二无线链路350。通信质量模块724可操作地监测第一无线链路330的通信质量,并在第一无线链路330的通信质量降低到预定阈值时决定主从角色切换。当满足角色切换条件时,参数模块722可操作地生成一组通信参数并发送该组通信参数到第二收发器320,以及角色切换模
块726可操作地将其自己的tx/rx时序和操作模式发送到耦合到第二扬声器302的第二收发器320。作为角色切换的结果,如图4所示,在piconet1’中,第一扬声器301成为新的从机,第二扬声器302成为新的主机。链路建立模块720可操作地与数据源303建立切换后的第一无线链路430,并与第一收发器310建立切换后的第二无线链路450。通信质量模块724可操作地监测切换后的第一无线链路430的通信质量,并确定如果切换后的第一无线链路430的通信质量的值大于切换前的第一无线链路330的通信质量,则维持切换后的角色。如果切换后的第一无线链路430的通信质量的值小于切换前的第一无线链路330的通信质量的值,则还原所切换的角色。角色的还原采用与本文公开的角色切换相同的信号传输方案。
69.回放延迟模块728可操作地延迟第一扬声器中的回放,直到在角色切换期间第一扬声器和第二扬声器之间的时序同步完成为止。声音修复模块730可操作地采用丢包隐藏方法(plc)来掩盖角色切换期间的丢包的影响,包括但不限于零插入(其中丢失的语音帧被替换为零)、波形替换(其中丢失的间隙通过重复已经接收的语音的一部分来重建)。最简单的形式是重复最后接收的帧,以及基于模型的方法,其中采用内插和外推语音间隙的方法。
70.在700的实施例中,电池电量检测模块(未示出)可操作地检测第一扬声器101、301中的电池电量。当充当主机的第一扬声器和第二扬声器中的一个的电池电量低于充当从机的另一时,并且第一扬声器和第二扬声器之间的电池电量之差超过第二预定阈值时,在第一扬声器和第二扬声器之间执行m/s角色切换。
71.图7是根据一些示例实施例的第一扬声器102、302中的处理环境800的示意图。处理环境800的示意图包括处理器805、处理器810和处理器802(例如,gpu、cpu或其组合)。
72.在一个实施例中,第二扬声器102、302中的处理器802被示出为耦合至电源804,并且包括(永久配置或临时实例化的)多个模块,即参数模块820、嗅探模块822、通信质量模块824、角色切换模块826、回放延迟模块828和声音修复模块830。
73.在诸如图1和图2所示的配置的实施例中,参数模块820可操作地从第一收发器110接收通信参数。嗅探模块822可操作地嗅探第一无线链路130上的数据传输。通信质量模块824可操作地监测已启用的无线链路140上的通信质量。角色切换模块826根据第一扬声器的tx/rx时序和操作模式可操作地调整其自身的配置。
74.在诸如图3和图4所示的配置的实施例中,参数模块820可操作地从第一收发器310接收通信参数。角色切换模块826根据第一扬声器的tx/rx时序和操作模式可操作地调整第二扬声器的配置。
75.根据一些实施例,回放延迟模块828可操作地延迟第二扬声器中的回放,直到在角色切换期间第一扬声器和第二扬声器之间的时序同步完成为止。声音修复模块830可操作地采用丢包隐藏方法(plc)来掩盖角色切换期间的丢包的影响,包括但不限于零插入(其中丢失的语音帧被替换为零)、波形替换(其中丢失的间隙通过重复已经接收的语音的一部分来重建)。最简单的形式是重复最后接收的帧,以及基于模型的方法,其中采用内插和外推语音间隙的方法。
76.在800的实施例中,电池电量检测模块(未示出)可操作地检测第二扬声器102、302中的电池电量。当第一扬声器和第二扬声器中充当主机的一个扬声器的电池电量低于充当从机的另一扬声器的电池电量时,并且第一扬声器和第二扬声器之间的电池电量之差超过第二预定阈值时,在第一扬声器和第二扬声器之间执行m/s角色切换。
77.图9示出了根据一个实施例的操作无线扬声器系统的方法流程图。尽管依次示出和描述了该图中的各种操作,但是本领域的普通技术人员将理解,一些或所有操作可以以不同的顺序执行,被组合或省略,或者被并行执行。在操作905中,充当主机的第一扬声器101、301与数据源103、303建立第一无线链路130、330,并且与充当从机的第二扬声器102、302建立第二无线链路150、350。在操作910中,当失去在第一无线链路130、330中的连接时,第一扬声器101、301向第二扬声器102、302发送一组通信参数。在操作915中,第一扬声器101、301与第二扬声器102、302切换角色。在操作920中,第二扬声器102、302与数据源103、303建立新的无线链路230、430。软件架构:
78.图10示出了一个示例软件架构1006的框图,该示例软件架构可以与本文所述的各种硬件架构(例如第一扬声器101、301或第二扬声器102、302)结合使用。图10是软件架构1006的非限制性示例,并且应该理解,可以实现许多其他架构以促进本文描述的功能。软件体系结构1006可以在诸如图11的机器1100之类的硬件上执行,该硬件特别包括处理器1104、内存1114和(输入/输出)i/o组件1118。代表性的硬件层1052被示出并且可以代表例如图11的机器1100。代表性硬件层1052包括具有相关联的可执行指令1004的处理单元1054。可执行指令1004代表软件架构1006的可执行指令,包括本文描述的方法的实现、组件等。硬件层1052还包括内存和/或存储模块的内存/存储器1056,其也具有可执行指令1004。硬件层1052还可以包括其他硬件1058。
79.在图10的示例架构中,软件架构1006可以被概念化为层的堆叠,其中每个层提供特定的功能。例如,软件架构1006可以包括诸如操作系统1002、库1020、框架/中间件1018、应用程序1016和表示层1014之类的层。在操作上,层内的应用程序1016和/或其他组件可以通过软件栈调用api调用1008,并响应于api调用1008而接收诸如消息1012之类的响应。所示的层本质上是代表性的,并非所有软件架构都具有所有层。例如,一些移动或专用操作系统可能不提供框架/中间件1018,而其他可能提供此种层。其他软件架构可能包括其他的或不同的层。
80.操作系统1002可以管理硬件资源并提供公共服务。操作系统1002可以包括例如内核1022、服务器1024和驱动器1026。内核1022可以充当硬件和其他软件层之间的抽象层。例如,内核1022可以负责内存管理,处理器管理(例如调度)、组件管理、联网、保密设置等。服务器1024可以为其他软件层提供其他公共服务。驱动器1026负责控制或与基础硬件接口。例如,根据硬件配置,驱动器1026包括显示驱动器、相机驱动器、驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(usb)驱动器)、驱动器、音频驱动器、电源管理驱动器等。
81.库1020提供由应用程序1016和/或其他组件和/或层使用的通用基础结构。库1020提供的功能允许其他软件组件以比直接与底层操作系统1002功能(例如,内核1022、服务器1024和/或驱动程序1026)对接的方式更容易的方式执行任务。库1020可以包括系统库1044(例如,c标准库),其可以提供诸如存储器分配功能、字符串操纵功能、数学功能等的功能。此外,库1020可以包括api库1046,例如媒体库(例如,支持各种媒体格式(例如mpeg4,h.264,mp3,aac,amr,jpg,png)的展示和操作的库)、图形库(例如可用于在显示器上以图形内容呈现2d和3d的opengl框架)、数据库库(例如可提供各种关系数据库功能的sqlite)、
web库(例如可提供web浏览功能的webkit)等。库1020还可以包括各种各样的其它库1048,以向应用程序1016和其他软件组件/模块提供许多其他api。
82.框架/中间件1018(有时也称为中间件)提供可以由应用程序1016和/或其他软件组件/模块使用的更高级别的通用基础结构。例如,框架/中间件1018可以提供各种图形用户界面(gui)功能、高级资源管理、高级位置服务等。框架/中间件1018可以提供由应用程序1016和/或其他软件组件/模块可以使用的各种其他api,其中一些可能特定于特定操作系统1002或平台。
83.应用程序1016包括内置应用程序1038和/或第三方应用程序1040。代表性的内置应用程序1038的示例可以包括但不限于联系人应用程序、浏览器应用程序、图书阅读器应用程序、位置应用程序、媒体应用程序、消息收发应用程序和/或游戏应用程序。第三方应用程序1040可以包括由除特定平台的卖方以外的实体使用android
tm
或ios
tm
软件开发工具包(sdk)开发的应用程序,并且可以是在诸如ios
tm
、android
tm
、phone或其他移动操作系统的移动操作系统上运行的移动软件。第三方应用程序1040可以调用由移动操作系统提供的api调用1008(例如,操作系统1002),以促进本文中所描述的功能。
84.应用程序1016可以使用内置的操作系统功能(例如内核1022、服务器1024和/或驱动程序1026)、库1020和框架/中间件1018来创建用户界面以与系统用户交互。替代地或附加地,在一些系统中,可以通过例如表示层1014的表示层发生与用户的交互。在这些系统中,应用程序/组件“逻辑”可以与与用户交互的应用程序/组件的各个方面分开。
85.图11示出根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文讨论的任何一种或多种方法的机器组件的框图。具体地,图11以计算机系统的示例形式示出了机器1100的示意图,在其中可以执行用于使机器1100执行本文所讨论的方法中的任何一种或多种的指令1110(例如,软件、程序、应用、小程序、app或其他可执行代码)。这样,指令1110可以用于实现本文描述的模块或组件。指令1110将通用的、未编程的机器1100转换为被编程为以所描述的方式执行所描述和示出的功能的特定机器1100。在可选实施例中,机器1100作为独立设备运行,或者可以耦合(例如,联网)到其他机器。在网络部署中,机器1100可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份运行,或者在对等(或分布式)网络环境中作为对等机器运行。机器1100可以包括但不限于服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、个人数字助理(pda)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(如智能手表)、智能家居设备(如智能电器)、其他智能设备、web设备、网络路由器、网络交换机、网桥或能够顺序地或以其他方式执行指令1110的任何机器1100,其指定机器1100要采取的动作。此外,尽管仅示出了单个机器1100,但是术语“机器”也应被理解为包括机器的集合,这些机器单独地或共同地执行指令1110以执行本文所讨论的任何一个或多个方法。
86.机器1100可以包括处理器1104、内存/存储器1106和i/o组件1118,它们可以被配置为例如经由总线1102彼此通信。内存/存储器1106可以包括诸如主内存或其他内存存储器之类的内存1114以及存储单元1116,二者均可以例如经由总线1102被处理器1104访问。存储单元1116和内存1114存储体现本文描述的方法或功能中的任何一个或多个的指令1110。在由机器1100执行指令1110的过程中,指令1110还可以全部或部分地驻留在内存
1114内、在存储单元1116内、在处理器1104中的至少一个内,或其任何合适的组合内。因此,内存1114、存储单元1116和处理器1104的内存是机器可读介质的示例。
87.i/o组件1118可以包括各种组件,以接收输入,提供输出、产生输出、发送信息、交换信息、捕获测量等等。包括在特定机器1100中的特定i/o组件1118将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他这样的输入机构,而无头服务器机器将可能不包括这种触摸输入设备。可以理解的是,i/o组件1118可以包括在图11中未示出的许多其他组件。根据功能对i/o组件1118进行分组仅是为了简化以下讨论,并且该分组绝不是限制性的。在各种示例实施例中,i/o组件1118可以包括输出组件1126和输入组件1128。输出组件1126可以包括视觉组件(如诸如等离子显示面板(pdp)、发光二极管(led)显示器,液晶显示器(lcd)、投影仪或阴极射线管(crt)的显示器),声学组件(如扬声器),触觉组件(如振动马达,阻力机构),其他信号发生器等。输入组件1128可以包括字母数字输入组件(如键盘、触摸屏、被配置成接收字母数字输入、光光学键盘、或其它字母数字输入组件),基于点的输入组件(如鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向工具),触觉输入组件(如物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏或其他触觉输入组件),音频输入组件(如麦克风)等。
88.在其他示例实施例中,i/o组件1118可包括各种其他组件中的生物识别组件1130、运动组件1134、环境组件1136或位置组件1138。例如,生物识别组件1130可以包括用于检测表达(如手势表示、面部表情、声音表达、身体姿势或眼球跟踪),测量生物信号(如血压、心率、体温、出汗或脑波),识别身份(如语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等。运动组件1134可以包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件1136可以包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,一个或多个检测环境温度的温度计)、湿度传感器组件、压力传感器组件(例如,气压计)、声学传感器组件(例如,一个或多个检测背景噪音的麦克风)、接近传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,气体检测传感器,用于检测危险气体的浓度以确保安全或测量大气中的污染物)、或可提供与周围物理环境相对应的指示、测量或信号的其他组件。位置组件1138可以包括位置传感器组件(例如,gps接收器组件)、高度传感器组件(例如,检测可以从中导出高度的气压的高度计或气压计)、方向传感器组件(例如,磁力计),诸如此类等等。
89.通信可以使用各种技术来实现。i/o组件1118可以包括通信组件1140,其可操作地以分别经由耦合1124和耦合1122将机器1100耦合到网络1132或设备1120。例如,通信组件1140可以包括网络接口组件或与网络1132接合的其他合适的设备。在其他示例中,通信组件1140可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(nfc)组件,组件(例如,低功耗),组件和通过其他方式提供通信的通信组件。设备1120可以是另一机器或各种外围设备(例如,经由usb耦合的外围设备)中的任何一个。
90.此外,通信组件1140可以检测标识符或者包括可操作地检测标识符的组件。例如,通信组件1140可以包括射频识别(rfid)标签读取器组件、nfc智能标签检测组件、光学读取器组件(例如,光学传感器,用于检测例如通用产品代码(upc)的一维条形码、诸如快速响应(qr)代码、aztec代码、data matrix、dataglyph、maxicode、pdf417、ultra码、ucc rss-2d条形码的多维条形码、和其他光学代码)、或声学检测组件(例如,用于识别标记的音频信号的
麦克风)。此外,可以经由通信组件1140导出各种信息,例如,经由因特网协议(ip)地理位置的位置、经由信号三角测量的位置、经由检测可以指示特定位置的nfc信标信号的位置,等等。
91.各种实施例的特征和方面可以集成到其他实施例中,并且可以在没有示出或描述的所有特征或方面的情况下实现本文档中示出的实施例。本领域的技术人员将理解,尽管出于说明的目的已经描述了系统和方法的特定示例和实施例,但是可以在不脱离本公开的精神和范围的情况下进行各种修改。此外,即使在本说明书中的单个实施例中,这些特征没有一起描述,一个实施例的特征可以结合到其他实施例中。因此,本公开由所附权利要求书描述。术语解释:
92.如本文所使用的术语“数据”是指音频、视频或单声道语音信息。术语“扬声器”包括但不限于任何电声换能器,诸如家用和专业音频扬声器和头戴式耳机、耳机、耳塞等。术语“数据源”是指用于根据在可变程序中给出的指令来存储和处理数据的任何电子设备,例如计算机和移动设备。移动设备可以包括移动电话、便携式游戏机,便携式媒体播放器(例如,mp3播放器)或平板电脑、或者可以连接到互联网或任何无线网络的任何便携式电子设备。
93.这里使用的术语“标准无线协议”是指任何开放或公开可用的无线协议,或者是作为标准组织或特殊兴趣组的产品的任何无线协议,其包括但不限于蓝牙、(基于ieee 802.11标准系列)。为了采用蓝牙协议,设备必须与蓝牙配置文件的子集兼容。上下文中的蓝牙配置文件包括但不限于高级音频传输模型协定(a2dp)、免提配置文件(hfp)、串行端口配置文件(spp)等。这里使用的术语“专用无线协议”是指除了标准无线协议之外的任何无线协议等。蓝牙是用于通过2.4ghz无线链路发送和接收数据的标准协议。它专为电子设备之间的短距离无线传输而设计。
94.这里所使用的“信号”是指能够存储、编码或承载用于由机器1100执行的指令1110的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以便于这些指令1110的通信。可以经由网络接口设备使用传输介质并且使用许多公知的传输协议中的任何一种,通过网络1132上发送或接收指令1110。
95.在此上下文中,“客户端设备”是指与通信网络1132接口以从一个或多个服务器系统或其他客户端设备获得资源的任何机器1100。客户端设备可以是但不限于移动电话、台式计算机、笔记本电脑、pda、智能手机、平板电脑、超级本、上网本、笔记本电脑、多处理器系统、基于微处理器或可编程的消费电子产品、游戏控制台、stb或用户可用来访问网络1132的任何其他通信设备。
96.在此上下文中,“通信网络”是指网络1132的一个或多个部分,其可以是自组织网络(ad hoc)、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线局域网(wlan)、广域网(wan)、无线广域网(wwan)、城域网(man)、因特网、因特网的一部分、公共交换电话网(pstn)的一部分、模拟电话服务(pots)网络、蜂窝电话网络、无线网络、网络、其他类型的网络,或两个或更多这些网络的组合。例如,网络1132或网络1132的一部分可以包括无线或蜂窝网络,并且耦合可以是码分多址(cdma)连接,全球移动通信系统(gsm)连接或其他类型的蜂窝或无线连接。在该示例中,耦合可以实现各种类型的数据传输技术中的任何
一种,例如单载波无线电传输技术(1xrtt),演进数据优化(evdo)技术,通用分组无线电服务(gprs)技术,增强型数据gsm演进(edge)技术,包括3g的第三代合作伙伴计划(3gpp),第四代无线(4g)网络,通用移动电信系统(umts),高速分组接入(hspa),全球微波接入互操作性(wimax)的费率),长期演进(lte)标准,其他由各种标准设置组织、其他远程协议或其他的数据传输技术来定义的标准。
97.在此上下文中,“机器可读介质”是指能够临时或永久地存储指令1110和数据的组件、设备或其他有形介质,并且可以包括但不限于随机存取存储器(ram)、只存储器(rom)、缓冲存储器、闪存、光学介质、磁介质、高速缓冲存储器、其他类型的存储器(例如,可擦除可编程只读存储器(eeprom)),和/或其任何合适的组合。术语“机器可读介质”应当被视为包括能够存储指令1110的单个介质或多个介质(例如,集中式或分布式数据库、或相关联的高速缓存和服务器)。术语“机器可读介质”还应当被视为包括能够由机器1100执行的指令1110(例如,代码)的任何介质或多个介质的组合,使得指令1110在被执行时通过机器1100的一个或多个处理器1104,使机器1100执行本文描述的任何一种或多种方法。因此,“机器可读介质”是指单个存储装置或设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。术语“机器可读介质”不包括信号本身。
98.在此上下文中,“组件”是指具有由功能或子程序调用、分支点、api或其他技术定义的边界的设备,物理实体或逻辑,其提供特定处理或控制功能的分区或模块化。各组件可以通过它们与其他组件的接口进行组合以执行机器步骤。组件可以是被设计用于与其他组件一起使用的封装功能硬件单元,以及通常执行相关功能的特定功能的程序的一部分。组件可以构成软件组件(例如,体现在机器可读介质上的代码)或硬件组件。“硬件组件”是能够执行某些操作的有形单元,并且可以以某种物理方式进行配置或布置。在各种示例实施例中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件组件(例如,处理器或一组处理器1104)可以由软件(例如,应用816或应用部分)将其配置为操作为执行如本文所述的某些操作的硬件组件。硬件组件也可以机械地、电子地或其任何合适的组合来实现。例如,硬件组件可以包括永久性地配置为执行某些操作的专用电路或逻辑。硬件组件可以是专用处理器,例如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件组件还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件组件可以包括由通用处理器1104或其他可编程处理器1104执行的软件。一旦由这样的软件配置,硬件组件就成为专门为执行配置的功能而专门定制的特定机器1100(或机器1100的特定组件),并且不再是通用处理器1104。应该理解,在专用和永久配置的电路中或在临时配置的电路(例如,由软件配置)中机械地实现硬件组件的决定可以由成本和时间考虑来驱动。因此,短语“硬件组件”(或“硬件实现的组件”)应该被理解为包含有形实体,即物理构造,永久配置(例如,硬连线)或临时配置(例如,编程)的实体以某种方式操作或执行本文所述的某些操作。考虑其中硬件组件被临时配置(例如,编程)的实施例,每个硬件组件不需要在任何时间的任何时刻被配置或实例化。例如,在硬件组件包括由软件配置成为专用处理器的通用处理器1104的情况下,通用处理器1104可以在不同的时刻被配置为分别不同的专用处理器(例如,包括不同的硬件组件)。因此,软件相应地配置特定的一个或多个处理器1104,例如,在一个时刻实例构成特定的硬件组件,并在不同的时刻实例构成不同的硬件组件。硬件组件可以向其他硬件组件提供信息,并从其他硬
件组件接收信息。因此,所描述的各硬件组件可以被认为是通信耦合的。在同时存在多个硬件组件的情况下,可以通过在两个或多个硬件组件之间的信号传输(例如,通过适当的电路和总线1102)来实现通信。在其中在不同时间配置或实例化多个硬件组件的实施例中,可以例如通过在多个硬件组件可以访问的存储器结构中存储和获取信息来实现这些硬件组件之间的通信。例如,一个硬件组件可以执行操作并将该操作的输出存储在其通信耦合到的存储设备中。然后,另一硬件组件可以在稍后的时间访问存储设备以获取和处理所存储的输出。硬件组件还可以启动与输入或输出设备的通信,并且可以在资源(例如,信息集合)上进行操作。本文描述的示例方法的各种操作可以至少部分地由临时配置(例如,通过软件)或永久配置为执行相关操作的一个或多个处理器1104来执行。无论是临时配置还是永久配置,这样的处理器1104都可以构成处理器实现的组件,其操作以执行本文描述的一个或多个操作或功能。如这里所使用的,“处理器实现的组件”是指使用一个或多个处理器1104实现的硬件组件。类似地,本文描述的方法可以至少部分地由处理器实现,其中特定的一个或多个处理器1104是硬件的示例。例如,方法的至少一些操作可以由一个或多个处理器1104或处理器实现的组件执行。此外,一个或多个处理器1104还可以操作以支持“云计算”环境中的相关操作的性能或“软件即服务”(saas)。例如,至少一些操作可以由一组计算机(作为包括处理器1104的机器1100的示例)来执行,这些操作可以经由网络1132(例如,因特网)并且经由一个或多个适当(例如,api)的接口来访问。某些操作的性能可以在处理器1104之间分配,不仅驻留在单个机器1100中,而且可以跨多个机器1100部署。在一些示例实施例中,处理器1104或处理器实现的组件可以位于单个地理位置中(例如,在家庭环境,办公室环境或服务器群内)。在其他示例实施例中,处理器1104或处理器实现的组件可以分布在多个地理位置上。
99.在此上下文中,“处理器”是指根据控制信号(例如“命令”、“操作代码”、“机器代码”等)操纵数据值,并产生用于操作机器1100的相应输出信号。处理器1104可以是例如中央处理器(cpu)、精简指令集计算(risc)处理器,、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、asic、射频集成电路(rfic)或它们的任意组合。处理器还可以是具有可同时执行指令1110的两个或多个独立处理器1104(有时称为“核”)的多核处理器。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1