跨多个信道的帧同步的制作方法

文档序号:7794249阅读:297来源:国知局
跨多个信道的帧同步的制作方法
【专利摘要】系统、方法和设备通过对所接收的数据流进行散列以产生散列值序列,将所产生的散列值序列与在控制流中所接收的散列值序列相比较,以及在散列值序列匹配时处理数据帧,来对数据流进行同步。源设备和多个接收机设备可以对数据帧中所编码的音频数据进行同步,将散列函数应用到每个数据帧以产生第一散列值序列,在第一信道上发送数据帧以及在控制信道上发送第一散列值序列,在接收机设备中接收数据帧以及第一散列值序列,将散列算法应用到所接收的数据帧以产生第二散列值序列,对第一散列值序列和第二散列值序列进行比较,以及在第一散列值序列和第二散列值序列匹配时处理数据帧。
【专利说明】跨多个信道的帧同步

【背景技术】
[0001] 在过去的几年中,无线通信技术得到了改进。在许多住宅和办公室中,无线局域网 技术正在取代有线网络。短程无线技术(例如,蓝牙?和WiFi)实现了彼此相对较短距离 (例如,100米或更少)内的移动电子设备(例如,蜂窝电话、扬声器、手表、耳机、远程控制 等)之间的高速通信。随着这些技术持续改进以及变得流行,预望短程无线技术代替或取 代使用电缆或电线将设备连接到一起的需求。


【发明内容】

[0002] 各个实施例包括被配置为在通信系统内对数据流进行同步的系统、方法和设备。
[0003] 各个实施例可以包括在接收机设备内处理数据流的方法,包括经由第一无线通信 链路在接收机设备中接收数据帧序列,将散列算法应用到所接收的数据流以产生第一散列 值序列,接收包括第二散列值序列的控制流,将第一散列值序列和第二散列值序列相比较, 以及基于第一散列值序列与第二散列值序列何时匹配,来确定何时开始对所接收的数据帧 进行处理。在实施例中,基于第一散列值序列与第二散列值序列何时匹配,来确定何时开始 对所接收的数据帧进行处理可以包括:开始处理音频数据帧以便产生声音;并且接收机设 备可以是多个无线扬声器设备中的一个。在实施例中,数据帧序列可以包括音频数据流,接 收包括第二散列值序列的控制流可以包括:接收包括时间戳信息的控制流;以及基于第一 散列值序列与第二散列值序列何时匹配,来确定何时开始对所接收的数据帧进行处理可以 包括:当时间戳信息匹配网络时钟信号时,来确定何时开始解码音频数据流。在实施例中, 数据帧序列可以是音频数据流;接收包括第二散列值序列的控制流可以包括:接收包括时 钟信息的控制流;以及基于第一散列值序列与第二散列值序列何时匹配,来确定何时开始 对所接收的数据帧进行处理可以包括:基于所接收的时钟信息和网络时钟,来确定何时开 始对音频数据流进行解码。在实施例中,方法还可以包括将所接收的数据帧存储到缓冲器 中,并且当第一散列值序列与第二散列值序列不匹配时,基于存储在缓冲器中的最近接收 的数据帧来产生新的第二散列值序列。在实施例中,将散列算法应用到所接收的数据帧可 以包括:将循环冗余校验应用到所接收的数据帧,或者将前向纠错算法应用到所接收的数 据帧。在实施例中,对第一散列值序列和第二散列值序列进行比较可以包括:对针对每个所 接收的数据帧的散列值进行比较以确定何时存在匹配,和/或对跨多个数据帧的散列值序 列进行比较以确定散列值的模式何时匹配。在实施例中,可以将控制流作为第一无线通信 链路的一部分来发送,在该情况下,接收包括第二散列值序列的控制流可以包括:从第一无 线通信链路中接收控制流。替代地,可以经由不同于第一无线通信链路的第二无线通信链 路来发送控制流,在该情况下,接收包括第二散列值序列的控制流可以包括:从第二无线通 信链路中接收控制流。
[0004] 各个实施例还可以包括对由源设备发送给多个接收机设备的音频数据进行同步 的方法,包括将音频数据编码到数据帧序列中,将散列函数应用到数据帧中的每一个数据 帧中以产生第一散列值序列,在第一信道发送数据帧,在控制信道上发送第一散列值序列, 在多个接收机设备中的每一个接收机设备中接收数据帧和第一散列值序列,在多个接收机 设备中的每一个接收机设备中将散列算法应用到所接收的数据帧以产生第二散列值序列, 在多个接收机设备中的每一个接收机设备中对第一散列值序列和第二散列值序列进行比 较,以及当第一散列值序列与第二散列值序列匹配时,开始在多个接收机设备中的每一个 接收机设备中处理所接收的数据帧。在实施例中,多个接收机设备可以是第一扬声器设备 和第二扬声器设备;以及当第一散列值序列与第二散列值序列匹配时,开始在多个接收机 设备中的每一个接收机设备中处理所接收到的数据帧可以包括:开始在第一扬声器设备和 第二扬声器设备中的每一个扬声器设备中解码数据帧,以便音频是由在单个48KHz样本中 同步的第一扬声器设备和第二扬声器产生的。在实施例中,在控制信道上发送第一散列值 序列可以包括:在作为无线通信链路的一部分的控制信道上发送第一散列值序列,所述无 线通信链路还发送第一信道。在实施例中,在控制信道上发送第一散列值序列可以包括:经 由不同于第一信道的无线通信链路,在控制信道上发送第一散列值序列。
[0005] 各个实施例还可以包括:基于包括第一数据帧序列的音频信号,由第一无线接收 机设备和第二无线接收机设备对音频输出进行同步的方法,其中所述第一数据帧序列包含 第一音频信道和第二音频信道,所述方法包括:通过第一蓝牙?通信链路在第一无线接收 机设备中接收作为第一数据帧序列的音频信号,将所接收的第一数据帧序列与第一无线接 收机设备的时钟对齐,通过第二蓝牙:?ii信链路将音频信号的至少第二音频信道部分作为 第二数据帧序列从第一无线接收机设备发送给第二无线接收机设备,所述第二蓝牙?通信 链路包括蓝牙⑧时钟信号,在第二无线接收机设备中接收第二数据帧序列,以及使用第二 蓝牙?通信链路中的蓝牙⑧时钟信号,将所接收的第二数据帧序列与第二无线接收机设备 的时钟对齐,以便第二无线接收机设备中的第二音频信道对齐到第一音频信道的20US内。 在实施例中,使用第二蓝牙?通信链路中的蓝牙⑧时钟信号,将所接收的对齐的数据帧序 列与第二无线接收机的时钟对齐可以包括:解码所接收的第二数据帧序列,将所解码的帧 作为音频采样存储到第二无线接收机设备的缓冲器中,确定在第二无线接收机的时钟和蓝 牙?时钟之间所累积的误差是否需要对音频采样的相应纠错、以及响应于确定在第二无线 接收机的时钟和蓝牙⑧时钟之间所累积的误差需要对音频采样的相应纠错,向缓冲器添加 或从缓冲器移除音频采样。在另一个实施例中,将音频信号的至少第二音频信道部分作为 第二数据帧序列从第一无线接收机设备发送给第二无线接收机设备可以包括:对包括第一 音频信道和第二音频信道的音频信号进行中继。
[0006] 另一个实施例可以包括通信设备,所述通信设备包括存储器和处理器,所述处理 器配备有处理器可执行指令以执行以上所描述方法的操作。
[0007] 另一个实施例可以包括通信系统,所述通信系统包括无线数据源设备和多个接收 机设备,其中,无线数据源设备包括无线收发机和被配置为执行以上所描述的方法的操作 的处理器,并且多个接收机设备均包括接收机电路(例如,无线单元或无线收发机)和被配 置为执行以上所描述的方法的操作的处理器。
[0008] 另一个实施例可以包括通信系统,所述通信系统包括用于执行以上所描述的方法 的操作的功能的单元。
[0009] 另一个实施例可以包括具有存储在其上的处理器可执行指令的非暂时性处理器 可读存储介质,所述处理器可执行指令被配置为使得无线数据源设备的处理器和接收机设 备执行以上所描述方法的操作。
[0010] 另一个实施例可以包括通信系统,所述通信系统包括具有第一蓝牙?收发机的第 一无线接收机设备,具有第二蓝牙⑧收发机的第二无线接收机设备,用于通过第一蓝牙? 通信链路在第一无线接收机设备中接收作为第一数据帧序列的音频信号的单元,用于将所 接收的第一数据帧序列与第一无线接收机设备的时钟对齐的单元,用于通过第二蓝牙?,通 信链路,将音频信号的至少第二音频信道部分作为第二数据帧序列从第一无线接收机设备 发送给第二无线接收机设备的单元,第二蓝牙㊣通信链路包括蓝牙⑧时钟信号,用于在第 二无线接收机设备中接收第二数据帧序列的单元,以及用于在第二蓝牙⑧通信链路中使用 蓝牙⑧时钟信号将所接收的第二数据帧序列与第二无线接收机设备的时钟对齐,以便第二 无线接收机设备中的第二音频信道被对齐到第一音频信道的20US内的单元。在实施例中, 在第二蓝牙?通信链路中使用蓝牙⑧时钟信号,将所接收的对齐的数据帧序列与第二无线 接收机的时钟对齐可以包括:用于解码所接收的第二数据帧序列的单元,用于将所解码的 帧作为音频采样存储到第二无线接收机设备的缓冲器中的单元,用于确定在第二无线接收 机的时钟和蓝牙?时钟之间所累积的误差是否需要对音频采样的相应纠错的单元,以及用 于响应于确定在第二无线接收机的时钟和蓝牙?时钟之间所累积的误差需要对音频采样 的相应纠错,向缓冲器添加音频采样或从缓冲器移除音频采样的单元。在另一个实施例中, 用于将音频信号的至少第二音频信道部分作为第二数据帧序列从第一无线接收机设备发 送给第二无线接收机设备的单元可以包括:用于对包括第一音频信道和第二音频信道的音 频信号进行中继的单元。
[0011] 另外的实施例可以包括通信系统,所述通信系统包括具有第一蓝牙?收发机、第 一存储器以及耦合到第一蓝牙?收发机和第一存储器的第一处理器的第一无线接收机设 备,以及具有第二蓝牙?收发机、第二存储器以及耦合到第二蓝牙?收发机和第二存储器 的第二处理器的第二无线接收机设备。在本实施例中,可以利用处理器可执行指令来配置 第一处理器以执行操作,所述操作包括通过第一蓝牙?通信链路经由第一蓝牙⑧收发机来 接收包括第一数据帧序列的音频信号,所述第一数据帧序列包含第一音频信道和第二音频 信道,将所接收的第一数据帧序列与第一无线接收机设备的时钟对齐,以及通过第二蓝牙 ⑧通信链路将音频信号的至少第二音频信道部分作为第二数据帧发送给第二无线接收机 设备,其中第二蓝牙?通信链路包括蓝牙⑧时钟信号。同样在该实施例中,可以利用处理器 可执行指令来配置第二处理器以执行操作,所述操作包括经由第二蓝牙⑧收发机来接收第 二数据帧序列,以及将所接收的第二数据帧序列与第二无线接收机设备的时钟对齐,以便 第二无线接收机设备中的第二音频信道被对齐到第一音频信道的20US内。在一个实施例 中,可以利用处理器可执行指令来配置第二处理器以执行指令,以使得在第二蓝牙?通信 链路中使用蓝牙⑧时钟信号,将所接收的对齐的数据帧序列与第二无线接收机的时钟对齐 可以包括:解码所接收的第二数据帧序列,将所解码的帧作为音频采样存储到第二缓冲器 中,确定在第二无线接收机的时钟和蓝牙?时钟之间所累积的误差是否需要对音频采样的 相应纠错,以及响应于确定在第二无线接收机的时钟和蓝牙?时钟之间所累积的误差需要 对音频采样的相应纠错,向缓冲器添加音频采样或从缓冲器移除音频采样。在另一个实施 例中,第一处理器可以配置有用于执行操作的处理器可执行指令,以使得将音频信号的至 少第二音频信道部分作为第二数据帧序列发送给第二无线接收机设备可以包括:对包括第 一音频信道和第二音频信道的音频信号进行中继。
[0012] 另外的实施例包括具有存储在其上的处理器可执行软件指令的非暂时性计算机 可读存储介质,所述指令被配置为使得蓝牙⑧接收机设备的处理器来执行用于基于包括第 一数据帧序列的音频信号,来与另一个蓝牙?接收机设备音频输出同步的操作,其中第一 数据帧序列包含第一音频信道和第二音频信道,包括充当蓝牙?微微网中的主设备。所存 储的处理器可执行软件指令可以包括用于执行以下操作的指令,所述操作包括通过第一蓝 牙?通信链路接收作为第一数据帧序列的音频信号,将所接收的第一数据帧序列与无线接 收机设备的时钟对齐,以及通过第二蓝牙?通信链路将音频信号的至少第二音频信道部分 作为第二数据帧序列发送给从属无线接收机设备,第二蓝牙?:通信链路包括蓝牙?时钟信 号,以及通过执行包括:从主无线接收机设备接收第二数据帧序列,以及在第二蓝牙?通信 链路中使用蓝牙⑧时钟信号,将所接收的第二数据帧序列与第二无线接收机设备的时钟对 齐,以便第二无线接收机设备中的第二音频信道被对齐到第一音频信道的20US内的操作, 充当蓝牙?微微网中的从属设备。在实施例中,所存储的处理器可执行软件指令可以配置 为使得蓝牙⑧接收机设备的处理器执行操作,以使得在第二蓝牙⑧通信链路中使用所提供 的时钟来将所接收的对齐的数据帧序列与无线接收机节点的时钟对齐可以包括:解码所接 收的第二数据帧序列,将所解码的帧作为音频采样存储到缓冲器中,确定在第二无线接收 机的时钟和蓝牙?时钟之间所累积的误差是否需要对音频采样的相应纠错,以及响应于确 定在第二无线接收机的时钟和蓝牙?时钟之间所累积的误差需要对音频采样的相应纠错, 向缓冲器添加音频采样或从缓冲器移除音频采样。在另一个实施例中,所存储的处理器可 执行软件指令可以被配置为使得蓝牙?接收机设备的处理器执行操作,以使得将音频信号 的至少第二音频信道部分作为第二数据帧序列发送给从属无线接收机设备可以包括:对包 括第一音频信道和第二音频信道的音频信号进行中继。

【专利附图】

【附图说明】
[0013] 并入本文并且构成本说明书一部分的附图示出了本发明的示例性实施例,并且与 以上给出的概括说明和以下给出的详细说明一起来对本发明的特征进行解释。
[0014] 图1是示出了适用于实现各个实施例的集成的电子设备中的示例性组件和通信 链路的组件框图。
[0015] 图2是示出了适用于实现各个实施例的另一个无线通信系统的组件框图。
[0016] 图3是示出了适用于实现各个实施例的无线系统中的示例性逻辑组件和信息流 的系统组件框图。
[0017] 图4A是在多个无线音频接收机设备上对多个无线音频流进行同步的实施例接收 机设备方法的过程流程图。
[0018] 图4B是根据各个实施例产生适用于在多个无线音频接收机设备上进行同步的无 线音频流的实施例源设备方法的过程流程图。
[0019] 图4C是可以在无线接收机节点中实现用于对在具有分离的蓝牙?无线单元的设 备上的音频流进行同步的实施例方法的过程流程图。
[0020] 图5是适用于与各个实施例一起使用的无线腕表类型计算设备的图解。
[0021] 图6是适用于与各个实施例一起使用的无线听筒的图解。
[0022] 图7是适用于与各个实施例一起使用的示例性移动设备的图解。
[0023] 图8是适用于与各个实施例一起使用的示例性膝上型电脑的图解。

【具体实施方式】
[0024] 将参照附图对各个实施例进行详细描述。只要有可能,将贯穿附图使用相同的参 考数字来指代相同或相似的部分。提及特定的例子和实现方式是出于说明的目的,而并不 旨在限制本发明或权利要求的范围。
[0025] 术语"计算设备"在本文中一般用来指服务器、个人计算机、膝上型电脑、平板电 脑、移动设备、蜂窝电话、智能本、超级本、掌上型计算机、个人数据助理(PDA的)、无线电子 邮件接收机、具有多媒体互联网功能的蜂窝电话、全球定位系统(GPS)接收机、无线游戏机 控制器、以及包括可编程处理器和用于无线发送或接收信息的电路的其它类似的电子设备 中的任意一个或全部。
[0026] 术语"无线设备"和"无线节点"在本文中用来指包括用于无线发送和/或接收信 息的电路的任意电子设备,并且可以包括蜂窝电话、个人或移动多媒体播放器、手表、腕带 显示器、医疗设备、头戴听筒、双耳式耳机、扬声器、麦克风和其它类似电子装置中的任意一 个或全部。
[0027] 术语"具有蓝牙?功能的设备"在本文中用来指包括射频(RF)无线电和用于实现 蓝牙?协议栈/接口的处理器或电路的任意电子设备。蓝牙⑧是用于短程射频(RF)通信 的开放协议。2010年6月30日,在蓝牙⑧系统版本4.0的蓝牙?特殊兴趣组(SIG)规范 中给出了蓝牙?标准、接口和技术的细节,通过引用方式将其全部并入本文。
[0028] 随着移动设备和无线技术持续改进以及变得流行,预期短程无线技术代替或取代 使用电缆或电线将设备连接到一起的需要。然而,通过无线通信链路向无线音频接收机设 备(例如,无线书架扬声器、耳机等)提供立体声呈现了现有解决方案无法解决的独特的挑 战。
[0029] 为了向用户提供完整的立体声体验(例如,空间深度、方向性等),左侧和右侧的 音频信号必须协调,以便在每只耳朵中产生的声音是在精确的时刻接收到的。信号必须被 充分地分隔开,以创造预期的立体声或环绕声效果,但是也不能分隔地太大以致人耳可识 别出信号延迟。由于一般的人耳能够识别12-lSys左右的双耳之间的延迟,可能需要大约 48KHz或更好的采样频率来向用户提供优化的立体声体验。也就是说,向用户提供完整的立 体声体验可能需要左侧的音频信号和右侧的音频信号在单个48KHz采样中产生。这可以通 过例如将左侧的音频流和右侧的音频流进行同步来实现,以便由相应的扬声器所产生的声 音在可接受的时间(例如,在计算的范围或时间窗内)到达用户。然而,在具有多个独立音 频接收机节点的无线系统上对音频流进行这种同步是困难的。
[0030] 典型的无线系统包括无线音频源设备(例如,媒体播放器),所述无线音频源设备 通过无线空中接口向两个或更多个无线音频接收机设备(例如,左侧和右侧的扬声器)发 送嵌入在帧/分组中的音频信息。可以通过分离的左侧通信信道和右侧通信信道,将帧/分 组发送给音频接收机设备,每个信道可能经历不同的传播延迟或传输错误,这导致各扬声 器(例如,左侧扬声器和右侧扬声器)在不同的时间接收到信号。由于无线音频接收机设 备是独立的,它们典型地不共享可被用来同步数据流的任意硬件(例如,公共时钟)。因此, 无线接收机设备难以对信号进行同步,因此来自左侧和右侧扬声器或听筒的音频回放是较 窄的左侧/右侧同步容限内产生的,所述左侧/右侧同步容限是针对优化的立体声和满意 的用户体验所需要的。
[0031] 各实施例提供了用于在无线音频接收机设备上对多个无线音频流进行同步的方 法,以便产生在用于满足人类感知需求所需要的较窄的范围内到达用户的声音。通过将根 据音频流的帧计算的散列与在分离的控制流中通过音频源提供给接收机节点的散列中的 一个散列或散列序相比较,可以在每个无线接收机节点处独立地执行同步。无线接收机节 点可以响应于确定根据所接收的音频帧计算出的散列与在控制流中接收的散列相匹配,来 解码和呈现音频。
[0032] 在本文中使用蓝牙?和与蓝牙?有关的术语作为用于无线连接位于彼此相对较 短距离(例如,100米)内的电子设备的通信技术的方便的示例,描述了各个实施例。然而, 提及蓝牙?的示例以及在本文中对蓝牙?的其它引用仅仅出于说明的目的,并不旨在将说 明书或权利要求限制于特定的标准。因此,除非在权利要求中明确地如这样来记载,否则权 利要求的范围不应当被解释为要求蓝牙?技术。
[0033] 蓝牙⑧技术提供了在电子设备(例如,双耳式耳机、蜂窝电话、手表、膝上型电脑、 远程控制等)之间进行连接和交换信息的安全方式。蓝牙⑧通信可能需要建立无线个域网 (还称为"自组织"或"对等"网络)。这些自组织网络通常称为"微微网"。每个设备可以 属于多个微微网。多个互连的微微网可以称为"散射网"。散射网可以在第一微微网的成员 选择参与第二微微网时形成。
[0034] 蓝牙?简档描述了通过其具有蓝牙?功能的设备与其它蓝牙⑧设备进行通信的 一般行为。例如,改进的音频分配简档(A2DP)是实现对蓝牙?信道的创建的蓝牙?简档, 可以通过所述蓝牙?信道将改进的音频数据从一个具有蓝牙?功能的设备流式传输给另 一个具有蓝牙?功能的设备。针对具有蓝牙?功能的设备,A2DP定义了源角色(SRC)和 宿角色(SNK),其中,以源角色(SRC)来工作的设备负责发送数字音频数据,并且以宿角色 (SNK)来工作的设备负责接收数字音频流。
[0035] 图1是示出了适用于实现各个实施例的示例性无线系统100的组件框图。在所示 出的图1的例子中,无线系统100包括左侧听筒102、右侧听筒104和腕带显示器106,其中 每一个都可以独立地具有蓝牙?功能。虽然在一些实施例中,听筒102、听筒104不能够彼 此通信,但是每个无线组件102、104、106可以经由无线通信链路/配对116与其它组件中 的每一个单独成对。在实施例中,腕带显示器106和听筒102、104中的每一个之间的无线 通信链路116可以包括命令信道118或者由命令信道118补充。在各个实施例中,命令信 道118可以是独立的通信信道,或者可以是主无线通信链路116的一部分或共享主无线通 信链路,其中,通过所述主无线通信链路来传送媒体数据。在实施例中,在改进的音频分配 简档(A2DP)配置中,组件102、104、106可以耦合到一起。例如,腕带显示器106可以作为 源(SRC)来工作,并且左侧和右侧听筒102、104可以作为宿(SNK)来工作。
[0036] 腕带显示器106可以包括用于产生音频数据的媒体播放器、用于将音频数据编码 到音频数据分组中的编码器以及用于将音频流无线发送给听筒102、听筒104的发射机。听 筒102、听筒104可以包括用于接收无线音频流的接收机、用于将所接收的音频流解码到音 频数据中的解码器、以及用于基于接收自腕带显示器106、另一个听筒104、102或第三方设 备(例如,手机、媒体播放器、电视等)的音频数据来产生声音的扬声器。
[0037] 在实施例中,腕带显示器106可以被配置为向听筒102、听筒104中的每一个发送 音频数据流和/或控制流。在实施例中,控制流可以作为携带音频数据分组的无线通信信 道(例如,开销组件)的一部分来发送。在另一个实施例中,可以经由单独的带外信道(即, 不同于携带音频数据分组的无线通信信道)来发送控制流。在实施例中,腕带显示器106 可以向第一听筒(例如,左侧听筒102)发送音频和/或控制流,所述第一听筒可以接收无 线传输并且将它们中继给第二听筒(例如,右侧听筒104)。
[0038] 图2是示出了适于实现多种实施例的另一个示例性无线系统200的组件框图。在 图2示出的例子中,无线系统200包括左侧无线扬声器202、右侧无线扬声器204和媒体源, 例如电视206和/或立体音频源208,其中的每一个都可以独立地进行蓝牙?功能。媒体源 206、媒体源208可以是便携式媒体播放器、计算设备、智能电视、手机或具有用于通过蓝牙 ⑧连接无线地传输媒体的电路的任意其它电子设备。
[0039] 无线扬声器202、204可以经由例如蓝牙?链路的无线通信链路/配对116与媒体 源206单独成对。在实施例中,在改进的音频分配简档(A2DP)配置中,无线扬声器202、204 和媒体源206可以耦合到一起。例如,媒体源206可以作为源(SRC)来工作,并且左侧和右 侧无线扬声器202、204可以作为宿(SNK)来工作。类似于图1中所示出的实施例,媒体源 206、208和无线扬声器202、204中的每一个之间的无线通信链路可以包括命令信道118或 者由命令信道118来补充。在多种实施例中,命令信道118可以是独立的通信信道,或者可 以是主无线通信链路116的一部分或共享主无线通信链路116,通过所述主无线通信链路 对媒体数据进行传送。
[0040] 媒体源206可以包括用于将音频数据编码到音频数据分组中的编码器和用于将 音频流无线发送给左侧和右侧无线扬声器202、204的发射机。无线扬声器202、204可以包 括用于接收无线音频流的接收机、用于将所接收的音频流解码到音频数据中的解码器、以 及用于产生声音的扬声器。在实施例中,通过时分多址(TDMA)网络的不同顺序的通信帧, 可以将音频数据从媒体源206发送给左侧和右侧无线扬声器202、204。
[0041] 通常,通过准确地控制由左侧和右侧扬声器或听筒中的每一个所产生的声音的相 对定时,可以引起对空间深度和方向性的感觉。然而,通过独立的左侧和右侧通信信道,可 以将帧/分组发送给各自的无线扬声器,所述左侧和右侧通信信道可能经历不同的传播延 迟或传输错误。这可能导致每个扬声器在稍微不同的时间接收到信号。由于音频信号是通 过可能具有不同的传送时间特性的不同信道,流式传输给物理分离的扬声器设备的,所以 必须对音频信号进行同步和/或协调,以使得从扬声器产生的声音在令人满意的用户体验 所要求的相对延迟容限内到达听者。各个实施例提供了用于对无线音频接收机设备上的多 个无线音频流进行同步,以便产生在正确时间到达用户的声音的方法。
[0042] 图3示出了适用于实现各个实施例的无线系统300中的示例性逻辑组件和信息 流。在图3示出的例子中,无线系统300包括源设备302、第一扬声器设备304和第二扬声 器设备306。在例如蓝牙^改进的音频分配简档(A2DP)配置的无线配置中,源和扬声器设 备302、304、306可以耦合到一起。
[0043] 第一和第二扬声器设备304、306中的每一个可以包括用于接收数据流316和控 制流318的接收机电路330、332 (例如,蓝牙?收发机)、用于存储接收到的数据的存储器 320、322和用于将数据解码到音频输出中的解码器324、326。源设备302可以包括用于将 音频数据编码到数据流316中的编码器308、用于产生控制流318的控制器310和用于将数 据和控制流316、318发送给第一和第二扬声器设备304、306的发射机312。控制流318可 以是通过逻辑链路发送的带外控制流,所述逻辑链路独立于用来发送数据流的链路。发射 机312可以经由广播、多播、联播、单播或其任意组合来将数据和控制流316、318发送给第 一和第二扬声器设备304、306。
[0044] 编码器308可以接收音频数据(例如,从源设备的媒体播放器接收,从外部设备接 收,等)并且将音频数据编码到一系列帧(例如,帧d、c、b、a)中。这可以使用任意基于帧 的传输技术或通信协议来实现。源设备302可以将帧封装到音频数据分组流316中,用于 传输给第一和第二扬声器设备304、306。可以经由发射机312发送音频流316,并且在第一 和第二扬声器设备304、306的接收机330、332中接收音频流316。扬声器设备304、306中 的每一个都可以从所接收的音频流316中提取帧(例如,a、b、c、d)并且将它们存储到存储 器 320、322 中。
[0045] 源设备302可以对所产生的数据帧(例如,帧d、c、b、a)执行散列操作以产生一 个或多个散列的序列(例如,d'、c'、b'、a'),所述一个或多个散列的序列提供了所发送帧 的可识别的模式。源设备302可以被配置为改变每单位时间所发送的散列的数量和/或包 括在每个散列中的数据帧的数量。这种在所发送的散列的数量上的变化和/或包括在每个 散列中的数据帧的数量上的变化,可以是响应于设备的操作需要、被传送的数据和/或通 信的上下文来努力尝试(bid)的。例如,源设备302可以被配置为:当资源充足时,每单位 时间产生较大数量的散列(即,以提供更可靠的同步),以及当资源不足时,每单位时间产 生较少数量的散列。在实施例中,源设备302可以被配置为产生足够长以避免误报(false positive)并且足够短以不要求产生过量的资源的散列,并且在扬声器设备304、306内对 它们进行比较。散列数量还可以基于每个单独散列的可变性来确定。例如,可以在散列高 度地可变的情况下产生较少数量的散列,而当从帧到帧的可变性较低时(例如,当所编码 的声音相对均匀时)产生较大数量的散列。
[0046] 在实施例中,可以基于被散列的实际的数据来确定散列长度。例如,对于表示较长 静默时段的数据,可以产生较长的散列以说明数据中缺乏变化,而对于表示高度地可区别 的声音的时段的数据,可以产生较短的散列。可以基于散列中数据的可变性和数量(即,它 的动态范围)、冲突的可能性、散列算法的复杂度或其任意组合来计算散列长度。在实施例 中,可以基于用来产生散列的散列算法的复杂度来确定散列的可变性(例如,产生自更复 杂的算法的散列更可能具有更大的可变性)。
[0047] 在实施例中,控制器310可以产生控制流318,并且将所述控制流包括在所产生的 散列序列(例如,d'、c'、b'、a')中。控制流318还可以包括其它信息,例如呈现指令,其可 以标识音频的某些部分什么时候可以由接收扬声器设备进行播放。呈现指令还可以包括标 识回放时间的时间戳,其可以是相对于蓝牙?网络时钟的。在实施例中,控制流318还可以 包括用于将散列序列交叉引用到经由数据流316接收的数据帧上的信息。
[0048] 如上所述,源设备302可以将包含数据帧316 (例如,帧d、c、b、a)的音频流和包 含散列(例如,d'、c'、b'、a')的控制流318发送给第一和第二扬声器设备304、306。第 一和第二扬声器设备304、306可以接收音频流316和控制流318、从音频流316中提取数 据帧(例如,a、b、c、d)并且暂时性地将所提取的帧(例如,a、b、c、d)存储到存储器320、 322(例如,数据缓冲器)中。每个扬声器设备304、306可以将散列函数应用到所接收的数 据帧(例如,a、b、c、d),以便产生独立的散列值流(例如,a"、b"、c"、d"),其反映了被 接收和/或被存储在存储器320、322中的数据帧。被扬声器设备304、306使用的散列算法 可以是与被源设备使用以产生通过控制流318发送的散列(例如,a'、b'、c'、d')的相同算 法。扬声器设备304、306可以将所产生的散列的独立流(例如,a"、b"、c"、d")与经 由控制流318所接收的源所提供的散列序列(例如,d'、c'、b'、a')相比较。当所产生的散 列或散列的模式与所接收的散列或散列的模式匹配时,这可能传达相应的数据流可以被播 放(即,被用来产生声音),并且基于此,扬声器设备304、306可以解码音频流并呈现音频。 以这种方式,各个实施例提供了不依赖数据流数据(例如,A2DP数据)的同步机制。
[0049] 在实施例中,可以配置系统300,以便第一和第二扬声器设备304、306检测到在几 乎相同的时间的散列之间的匹配,将第一和第二扬声器设备304、306对齐并且实现音频的 同步回放。在实施例中,如果确定散列匹配,那么扬声器设备304、306可以根据包括在控制 流318中的额外指令来解码和呈现所述音频,例如在被包括在呈现指令中的时间戳所标识 的时间。在实施例中,系统300可以包括蓝牙?微微网时钟,如果确定散列匹配并且帧处于 同步的话,所述蓝牙⑧微微网时钟可被用来协调扬声器设备304、306之间的音频回放的开 始。
[0050] 在实施例中,进入的音频流316的帧可以被忽略(例如,丢弃、从存储器中擦除等) 直到确定散列匹配。在实施例中,可以定期地将所存储的不匹配散列的帧从存储器中移除, 例如通过写入稍后接收的数据帧来覆盖。在实施例中,在确定所产生的散列和所接收的散 列匹配之后,扬声器304、306可以开始存储接收自进入的数据流的数据帧。在实施例中,在 确定散列匹配之后,扬声器设备304、306可以被配置为将进入的音频流的音频回放维持达 预定的或计算的时间量。因此,检测所产生的和所接收的散列值或散列模式何时匹配可被 用作同步事件,所述同步事件可以充当用于呈现流媒体的起始点,充当开始接收和呈现流 媒体的起始点和/或可以测量信道中的定时延迟的时间参考点。
[0051] 源设备302和扬声器设备304、306可以使用多个散列函数中的任意一个来产生散 列值。在实施例中,前向纠错(FEC)算法可被用来产生散列。在实施例中,循环冗余校验 (CRC)算法可被用来产生散列。例如,帧可以充当密钥,并且由CRC算法所产生的校验值可 以充当散列值。在进一步的实施中,可以使用非常简单的算法来产生散列值,例如将帧内的 比特求和、将帧乘以或除以一个常数等。虽然由简单散列算法所产生的值可能不是唯一的, 但是数据帧的序列的散列值将形成跨多个数据帧的模式,所述模式在所产生的散列值与所 接收的散列值的流相比较时可被识别出来。
[0052] 各个实施例可以使用散列值以将多个接收机设备(例如,扬声器设备304、306)同 时同步到相同的数据流。使用各个实施例使得多个接收机设备能够基于音频数据的内容来 被同步到数据流,而不需要将时间戳或其它同步数据嵌入到数据流中。
[0053] 在实施例中,扬声器设备304、306可以包括温度传感器和/或红外传感器,所述温 度传感器和/或红外传感器检测设备何时在被使用(例如,听筒何时在用户的耳朵中)。在 实施例中,扬声器设备304、306可以被配置为响应于检测到设备正在被使用(例如,经由温 度传感器)来执行同步操作。在实施例中,扬声器设备304、306可以被配置为响应于检测 到设备不再处于使用中(例如,当传感温度数据消失时)来停止执行同步操作。
[0054] 图4A示出了用于在多个无线音频接收机设备上对多个无线音频流进行同步的实 施例接收机设备方法400。在方框402中,接收机设备(例如,听筒或其它扬声器设备)可 以接收由源设备发送的音频和控制流,从音频流中提取数据帧,并且将所提取的数据帧存 储到存储器中。在方框404中,接收机设备可以将散列函数应用到所接收的数据帧,以产生 表征所接收的数据帧的独立的散列序列。在方框404中,接收机设备可以将散列函数应用 到如被接收的每个数据帧,或者接收机设备可以将散列函数应用到存储在存储器中的数据 帧。在方框406中,接收机设备可以将所产生的散列与经由方框402中的控制流所接收的 散列序列相比较。在确定方框408中,接收机设备可以确定所产生的和所接收的散列或散 列的序列的模式是否匹配。如果所产生的散列与所接收的散列不匹配(即,确定方框408 ="否"),那么没有对数据的呈现可以发生,并且接收机设备可以继续执行方框402至406 中的操作。当所产生的散列与所接收的散列匹配时(即,确定方框408 ="是"),接收机设 备可以开始解码所接收的数据帧的流(例如,通过从存储器中调用数据帧)并且开始呈现 数据,例如通过从扬声器设备中产生音频。以这种方式,数据帧在接收机设备中的呈现将与 通过其它接收机设备的数据帧的呈现同步。由于用来确定所接收的数据流何时应当被呈现 的信息产生自数据本身,所以各个实施例提供了不依赖数据流数据(例如,A2DP数据)并 且能够将多个接收机设备同步到相同数据流而不用包含额外的同步数据的同步机制。
[0055] 图4B示出了实施例方法450,所述方法450可以在源设备中实现用于产生多个无 线音频流,以便可以使用以上所描述的方法400在多个无线接收机设备上对数据流进行同 步。在方框452中,源设备可以接收用于传输的音频数据(例如,从源设备的媒体播放器, 从外部设备等)。在方框454中,源设备可以将音频数据编码到一系列数据帧中,并且将数 据帧封装到音频数据分组流中。在方框456中,源设备可以将散列算法应用到将发送帧的 序列中的数据帧,以便产生表征数据帧的散列值序列,以及将所产生的散列值封装到控制 流中。在方框458中,源设备可以通过第一无线通信链路将数据流发送给多个无线接收机 设备。在方框460中,源设备可以通过无线通信链路将控制流发送给多个无线接收机设备。 例如,源设备可以通过与用于发送数据流的链路分开的逻辑链路来发送控制流。
[0056] 如上所述,为了向用户提供完整的立体声体验(例如,空间深度、方向性等),左侧 和右侧的音频信号必须协调,以便在每个耳朵中产生的声音是在20微秒内的准确时间接 收到的。信号必须被充分地分隔开以创造预期的立体声或环绕声效果,但是也不能分隔地 太大以致人耳可识别出信号延迟。在一个实施例中,通过使用无线网络时钟(例如,蓝牙? 协议时钟)以对在每个无线节点中所发送的音频数据的呈现进行同步,可以实现在两个无 线节点(例如,左侧和右侧听筒)上的立体声的同步。因此,除了使用用于同步如上所述的 音频数据的框的散列匹配机制之外,可以使用包括在无线传输中的时钟信号,来对每个音 频数据框的呈现(即,播放)的精确定时进行同步。在该实施例中,音频数据可被编码用于 关于源节点(例如,手机)域时钟的传输,并且被发送给无线接收机节点(例如,左侧听筒、 右侧听筒等)中的一个或多个用于回放。经编码的音频数据可以被无线接收机节点(例 如,左侧听筒)接收,并且基于包括在无线传输中的时钟信号,以与关于第一本地时钟域同 步的速率进行解码。这样的同步可以使得无线节点能够补偿发生在接收无线节点(例如, 左侧听筒)中的源节点时钟域(例如,手机时钟域)和第一本地时钟域之间的时钟漂移。
[0057] 本实施例可以被扩展到系统实现方式,在所述系统实现方式中,音频数据被从源 节点(例如,手机)发送给第一无线节点(例如,左侧听筒),所述第一无线节点然后将音频 数据的至少一部分(例如,右声道)发送给第二无线节点(例如,右侧听筒)。通过相对于 域时钟信号来对从第一无线节点发送给第二无线节点的第二信道数据进行编码,对第二无 线节点中的音频的呈现可以在要求的容限内与对第一无线节点中的音频的呈现同步。所述 数据可以是从第一无线节点发送至第二无线接收机(例如,左侧听筒)的,并且相对于域时 钟或相对于第一无线节点域的本地时钟以可变速率进行编码的,以对发生在第一本地时钟 域和第二本地时钟域之间的任意时钟漂移进行补偿的方式。
[0058] 通过使用网络时钟在两个无线节点(例如,左侧听筒和右侧听筒)上将立体声进 行同步的实施例方法使得左声道和右声道能够对齐,以便在两个无线接收机节点(例如, 左侧听筒和右侧听筒)之间存在不超过20微秒的误差,因此阻止了可被用户检测到的未对 准。
[0059] 蓝牙?规范描述了实现对蓝牙?信道的创建的改进的音频分配简档(A2DP),通过 所述蓝牙?信道,可以将改进的音频数据从一个具有蓝牙⑧功能的设备流式传输给另一个 具有蓝牙?功能的设备。然而,在左声道和右声道是由单独的蓝牙⑧无线单元(以及单独 的时钟域)来处理的情况下,A2DP不支持对左声道和右声道的对齐进行同步。为了克服蓝 牙?的这种和其它限制,各个实施例可以以左声道和右声道在20微秒的误差内保持同步 的这种方式,将左侧设备回放时钟和右侧设备回放时钟中的每一个与音频数据流对齐。
[0060] 在实施例中,可以在两个步骤中执行时钟同步操作,所述两个步骤可以包括:在 第一时钟同步步骤中将A2DP流对齐到主无线节点(例如,源节点)的时钟,以及在第二时 钟同步步骤中将辅无线节点的时钟对齐到主无线节点的时钟。例如,在第一操作中,左侧 听筒可以从外部的A2DP源设备(例如,电话)接收A2DP数据流,并且将左声道编码到音 频采样的缓冲器中。左侧听筒可以对照高水印和低水印检查它的缓冲器的水平,并且如果 确定缓冲器水平跨过水印,那么左侧听筒可以在脉冲码调制(PCM)缓冲器中添加或丢弃单 个采样。左侧听筒还可以在将当前的A2DP帧从右侧听筒进行发送之前对当前的A2DP帧 进行修改,以便右侧听筒可以在右声道中在相同的相对采样位置执行相同的添加/丢弃修 改。在第二操作中,可以为右侧听筒分配蓝牙⑧从属设备的角色,并且通过例如在蓝牙⑧收 发机芯片的引脚上暴露共享的蓝牙⑧微微网时钟的一个或多个比特,可以获取左侧听筒的 时钟。蓝牙?时钟可以对在右侧听筒的时钟域中为时钟周期计数的硬件计数器进行锁存 (latch)。运行在右侧听筒上的软件可以读取每个锁存计数器值,以在它自己的时钟域的单 元中累积时钟漂移误差。当确定误差为一个采样的+-3/4时,可以在右侧听筒音频流中添 加或丢弃单个采样,以使得所累积的误差被+-1采样所适当地调整。
[0061] 图4C示出了可以在无线接收机节点中实现的实施例方法470,所述方法470用于 同步由单独的蓝牙?无线单元所处理的音频流。在方框472中,第一无线接收机节点可以 从源节点(例如,从源设备的媒体播放器,从外部设备,等)接收音频数据。在方框474,第 一无线接收机节点可以将数据流对齐到第一无线接收机节点的时钟以产生同步的数据。这 可以通过例如第一无线接收机节点进行以下操作来实现:将第一信道解码到音频采样的缓 冲器中、对照高水印和低水印检查它的缓冲器的水平、在PCM缓冲器中添加或丢弃采样、以 及修改数据流以便第二无线接收机节点可以在第二信道中在相同的相对采样位置处执行 相同的添加/丢弃修改。在方框476中,第一无线接收机节点可以向第二无线接收机节点 发送同步的音频数据。在方框478中,第二无线接收机节点可以接收同步的音频数据。在 方框480中,第二无线接收机节点可以具有蓝牙⑧从属设备的角色,在引脚上暴露共享的 蓝牙⑧时钟的一个或多个比特,对在第二无线接收机节点时钟域中为时钟周期计数的硬件 计数器进行锁存,读取每个锁存计数器的值以在它自己的时钟域的单元中累积时钟漂移误 差,以及添加或丢弃采样以将音频数据同步到第二本地时钟和第一本地时钟。在实施例中, 如方框480的部分,第二无线接收机节点可以确定第二无线接收机的时钟和蓝牙?时钟之 间的累积误差是否需要对音频采样进行相应的修正,以及响应于确定第二无线接收机的时 钟和蓝牙?时钟之间的累积误差需要对音频采样进行相应的修正,向缓冲器添加音频采样 或从缓冲器移除音频采样。
[0062] 在实施例中,第一无线接收机设备可以使用缓冲器门限来触发添加/丢弃操作, 并且第二无线接收机设备可以响应于所述触发,来使用时钟漂移检测电路来触发执行所述 添加/丢弃操作。在实施例中,第二无线接收机设备可以使用缓冲器阈值来触发添加/丢 弃操作。
[0063] 可以为第一接收机节点分配蓝牙?主设备的角色,并且第一接收机节点提供用来 协调所有蓝牙?活动的蓝牙?时钟。因此,第一无线接收机节点时钟、编解码器时钟(在其 上音频数据被使用的时钟),以及蓝牙?时钟可以是相同的时钟或完全同步的时钟。可以给 第二接收机节点分配蓝牙⑧从属设备的角色,在该模式下追踪第一接收机节点的时钟,以 便对在第二接收机节点内由音频处理电路进行的音频数据的处理进行同步。
[0064] 参照图4C所讨论的实施例方法470的显著的特征是为了在第二接收机节点上对 齐音频数据的蓝牙?时钟的用途。可以将蓝牙?时钟暴露给第二接收机节点上的处理器和 /或音频处理电路,以这种方式,蓝牙⑧时钟脉冲可被用来将第二接收机节点上音频数据消 耗的速率(即,使用音频数据来产生应用到节点的扬声器的模拟信号的速率)对齐到第一 接收机节点上音频数据消耗的速率。因此,蓝牙?微微网时钟可以被用到蓝牙⑧从属设备 上以对齐音频数据。由于任一个接收机节点都可以充当主设备或从属设备,因此蓝牙⑧时 钟可以被暴露给两个接收机节点中的处理器和/或音频处理电路。
[0065] 使用多种具有无线功能的移动计算设备可以实现以上所描述的各个实施例,例如 图5中示出的腕带手表类型的计算设备("腕带显示器")500。腕带手表计算设备500可 以包括耦合到易失性和/或非易失性内部存储器504的处理器502,所述存储器504可以是 安全的和/或经加密的存储器、不安全的和/或未经加密的存储器、或其任意组合。处理器 502还可以耦合到电子显示屏506,其可以是触摸屏显示器(例如,电阻感应触摸屏、电容感 应触摸屏、红外线感应触摸屏等)。腕带显示器500可以具有用于发送和接收电磁波辐射 的一个或多个无线单元(例如,RF无线单元)和/或天线508,所述一个或多个无线单元和 /或天线508可以被连接到无线数据宿以及被耦合到处理器502。可以将无线单元/天线 508与上文提及的电路一起使用,以实现蓝牙?协议栈/接口(即,腕带显示器500可以具 有蓝牙?功能)。
[0066] 腕带显示器500还可以包括用于接收用户输入的滑动传感器510和物理按钮512。 腕带显示器500可以包括耦合到感应充电电路518的电池516,以及线圈天线520,所述线 圈天线520可以是适用于实现对电池516的感应充电的感应线圈。电池516和感应充电电 路518可以被耦合到处理器502,以使得腕带显示器500能够控制感应充电以及经由线圈天 线520产生消息。腕带显示器500还可以包括振动器电动机522和多种传感器,例如温度 传感器524和加速度计526,所有这些都可以耦合到处理器502。
[0067] 可被用来实现以上所描述的各个实施例的具有无线功能的移动计算设备的其它 例子包括无线听筒,例如图6中所示出的无线听筒600。无线听筒600可以包括耦合到易失 性和/或非易失性内部存储器604的处理器602。无线听筒600可以包括耦合到天线的、用 于发送和接收电磁辐射的一个或多个无线电路608,所述一个或多个无线电路608可以被 连接到无线数据链路并且耦合到处理器602。无线电路608可以与上文提及的电路一起用 来实现蓝牙?协议栈/接口(即,无线听筒600可以是具有蓝牙?功能的无线通信设备)。 处理器602还可以耦合到音频处理电路606,例如数字信号处理器(DSP)。音频处理电路 606可以配置为处理数字音频数据(例如,经由无线电路608接收的)以及向扬声器612提 供模拟信号以产生声音。每个蓝牙⑧无线电路608可以包括提供与无线网络(例如,蓝牙 ?微微网时钟)和/或触发时钟(例如,蓝牙?触发时钟)相关联的时钟脉冲的一个或多 个时钟引脚622。时钟引脚622可被连接到处理器602、音频处理电路606、和/或其它听筒 组件(例如,系统时钟、总线时钟等)。
[0068] 无线听筒600还可以包括用于接收用户输入的一个或多个物理按键610,以及用 于接收音频输入的麦克风614,所有这些都可以耦合到处理器602。无线听筒600还可以包 括耦合到感应充电电路618的电池616,以及线圈天线620,所述线圈天线620可以是适用 于实现对电池616的感应充电的感应线圈。
[0069] 使用具有RF无线单元的任意商用计算设备也可以实现各个实施例,所述商用计 算设备的例子在图7和图8中进行了示出。典型的移动计算设备700将与图7中示出的组 件具有共同之处。例如,移动计算设备700可以包括耦合到内部存储器704的处理器702 以及触摸表面输入设备/显示器706,诸如电阻传感触摸屏、电容传感触摸屏、红外传感触 摸屏、声学/压电传感触摸屏等。计算设备700可以具有用于发送和接收电磁辐射的无线 单元/天线710,所述无线单元/天线710被连接到无线数据链路和/或被连接到蜂窝电话 收发机708,所述蜂窝电话收发机708耦合到处理器702。计算设备700还可以包括用于接 收用户输入的物理按键712。
[0070] 其它形式的计算设备(包括个人计算机和膝上型电脑)可被用来实现各个实施 例。这样的计算设备典型地包括图8中所示出的组件,图8示出了示例性膝上型个人计算 机800。这样的个人计算机800通常包括耦合到易失性存储器804的处理器802和大容量 非易失性存储器,例如磁盘驱动器806。计算机800还可以包括压缩光盘(CD)和/或耦合 到处理器802的DVD驱动器808。计算机设备800还可以包括耦合到处理器802的、用于建 立数据连接或接收外部存储器设备的多个连接器端口,例如用于将处理器802耦合到网络 的网络连接电路810。计算设备800可以具有用于发送和接收电磁辐射的无线单元/天线 810,所述无线单元/天线810被连接到无线数据链路,其中所述无线数据链路耦合到处理 器802。计算机800还可以耦合到键盘816、例如鼠标814的指向设备以及为计算机领域所 公知的显示器812。
[0071] 处理器502、602、702、802可以是可被软件指令(应用)配置来执行多个功能(包 括本文所描述的各个实施例的功能)的任意可编程微处理器、微计算机或多个处理器芯片 或芯片组。可以提供多个处理器,例如专用于无线通信功能的一个处理器和专用于运行其 它应用的一个处理器。通常,软件应用可以在被访问和加载到处理器502、602、702、802中 之前存储到内部存储器中。在一些设备中,处理器502、602、702、802可以包括足以存储应 用软件指令的内部存储器。在一些移动设备中,安全存储器可以在耦合到处理器502、602、 702、802的单独的存储器芯片中。内部存储器可以是易失性或非易失性存储器,例如闪存或 二者的混合。出于本说明书的目的,一般提及的存储器是指所有可以被处理器访问的存储 器,包括内部存储器、插入到设备中的可移动存储器和处理器502、602、702、802自身内部 的存储器。
[0072] 提供前述方法说明书和过程流程图仅作为说明性示例并不旨在要求或暗示必须 以所呈现的顺序来执行各个实施例的框。正如本领域的技术人员可以理解的,可以以任意 顺序来执行前述实施例的步骤。诸如"此后"、"然后"、"接下来"等的词语不旨在限制框的 顺序;这些词语仅被用来引导读者通读对方法的描述。此外,任何以单数形式对权利要求元 素的引用,例如使用冠词"一(a) "、"一个(an)"或"所述"不应当被解释为将元素限制为单 数。
[0073] 结合本文公开的实施例所描述的各种说明性的逻辑框、模块、电路和算法步骤可 以实现为电子硬件、计算机软件或者它们的组合。为了清楚地示出硬件和软件的这种可交 换性,上面对各种说明性的组件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于 这些功能是实现为硬件还是软件,取决于具体的应用和施加到整个系统上的设计约束。熟 练的技术人员可以针对每个具体应用以变通的方式来实现所描述的功能,但是这些实现决 定不应当被解释为导致对本发明的范围的偏离。
[0074] 结合本文公开实施例所描述的各种说明性的逻辑、逻辑框、模块和电路可以利 用被设计为执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路 (ASIC)、现场可编辑门阵列(FPGA)或其它可编辑逻辑器件、分立门或晶体管逻辑、分立硬 件组件或它们的任意组合来实现或执行。通用处理器可以是微处理器,但是在替代方案中, 处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器还可以实现为计算器件 的组合,例如DSP和微处理器的组合、多个微处理器、与DSP内核相结合的一个或多个微处 理器或任何其它此类配置。替代地,一些步骤或方法可以通过专用于给定功能的电路来执 行。
[0075] 在一个或多个示例性实施例中,所描述的功能可以在硬件、软件、固件或它们的任 意组合中实现。如果在软件中实现,则可以将这些功能作为一个或多个指令或代码存储在 非暂时性计算机可读或处理器可读存储介质上或通过非暂时性计算机可读或处理器可读 存储介质来传送。本文所公开的方法或算法的步骤可以体现在可以存在于非暂时性处理器 可读的或计算机可读的存储介质上的处理器可执行的软件模块中。非暂时性处理器可读 的和计算机可读的介质可以是能够被计算机或计算设备的处理器访问的任意可用存储介 质。通过举例而非限制的方式,这样的非暂时性处理器可读的或计算机可读的介质可以包 括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储设备、或能够 用来以指令或数据结构的形式携带或存储期望的程序代码并且能够被计算机或计算设备 的处理器访问的任何其它介质。如本文所使用的磁盘和光盘,包括压缩光盘(CD)、激光光 盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而 光盘则利用激光来光学地复制数据。以上的组合也应当包括在非暂时性计算机可读介质的 范围内。此外,方法或算法的操作可以作为非暂时性处理器可读介质和/或非暂时性计算 机可读介质上的代码和/或指令中的一个或任意组合或集合,其可以被并入计算机程序产 品内。
[0076] 提供所公开的实施例的前述描述,以使得本领域的任何技术人员都能够实现或使 用本发明。对本领域的技术人员而言,对这些实施例的各种修改将是显而易见的,并且在不 背离本发明的精神或范围的情况下,本文定义的总体原则可以应用于其它实施例。因此,本 发明并非旨在被限定于本文中所示出的实施例,而是应当被赋予与所附权利要求和本文所 公开的原理和新颖特征相一致的最广的范围。
【权利要求】
1. 一种在接收机设备内处理数据流的方法,包括: 经由第一无线通信链路,在所述接收机设备中接收数据帧序列; 将散列算法应用到所接收的数据帧,以产生第一散列值序列; 接收包含第二散列值序列的控制流; 对所述第一散列值序列和所述第二散列值序列进行比较;以及 基于所述第一散列值序列和所述第二散列值序列何时匹配,来确定何时开始处理所接 收的数据帧。
2. 根据权利要求1所述的方法,其中,基于所述第一散列值序列和所述第二散列值序 列何时匹配,来确定何时开始处理所接收的数据帧包括:开始处理音频数据帧以便产生声 音,并且其中,所述接收机设备是多个无线扬声器设备中的一个。
3. 根据权利要求1所述的方法,其中: 所述数据帧序列包含音频数据流; 接收包含第二散列值序列的控制流包括:接收包含时间戳信息的控制流;以及 基于所述第一散列值序列和所述第二散列值序列何时匹配,来确定何时开始处理所接 收的数据帧包括:当所述时间戳信息与网络时钟信号匹配时,确定何时开始解码所述音频 数据流。
4. 根据权利要求1所述的方法,其中: 所述数据帧序列包含音频数据流; 接收包含第二散列值序列的控制流包括:接收包含时钟信息的控制流;以及 基于所述第一散列值序列和所述第二散列值序列何时匹配,来确定何时开始处理所接 收的数据帧包括:基于所接收的时钟信息和网络时钟,来确定何时开始解码所述音频数据 流。
5. 根据权利要求1所述的方法,还包括: 将所接收的数据帧存储到缓冲器中;以及 当所述第一散列值序列和所述第二散列值序列不匹配时,基于存储在所述缓冲器中的 最近接收的数据帧,来产生新的第二散列序列。
6. 根据权利要求1所述的方法,其中,将散列算法应用到所接收的数据帧包括:将循环 冗余校验应用到所接收的数据帧。
7. 根据权利要求1所述的方法,其中,将散列算法应用到所接收的数据帧包括:将前向 纠错算法应用到所接收的数据帧。
8. 根据权利要求1所述的方法,其中,对所述第一散列值序列和所述第二散列值序列 进行比较包括:对针对每个所接收的数据帧的散列值进行比较,以确定何时存在匹配。
9. 根据权利要求1所述的方法,其中,对所述第一散列值序列和所述第二散列值序列 进行比较包括:对横跨多个数据帧的散列值序列进行比较,以确定散列值的模式何时匹配。
10. 根据权利要求1所述的方法,其中,所述控制流是作为所述第一无线通信链路的一 部分来被发送的,并且接收包含第二散列值序列的控制流包括:从所述第一无线通信链路 接收所述控制流。
11. 根据权利要求1所述的方法,其中,所述控制流是经由不同于所述第一无线通信链 路的第二无线通信链路来被发送的,并且接收包含第二散列值序列的控制流包括:从所述 第二无线通信链路接收所述控制流。
12. -种无线通信设备,包括: 无线接收机电路,其被配置为通过无线通信链路来接收数据帧和控制流;以及 处理器,其耦合到所述无线接收机电路,并且配置有用于执行操作的处理器可执行指 令,所述操作包括: 经由第一无线通信链路,在接收机设备中接收数据帧序列; 将散列算法应用到所接收的数据帧,以产生第一散列值序列; 接收包含第二散列值序列的控制流; 对所述第一散列值序列和所述第二散列值序列进行比较;以及 基于所述第一散列值序列和所述第二散列值序列何时匹配,来确定何时开始处理所接 收的数据帧。
13. 根据权利要求12所述的无线通信设备,其中,所述处理器配置有用于执行操作的 处理器可执行指令,以使得基于所述第一散列值序列和所述第二散列值序列何时匹配,来 确定何时开始处理所接收的数据帧包括:开始处理音频数据帧以便产生声音,并且其中,所 述无线通信设备是多个无线通信设备中的一个。
14. 根据权利要求12所述的无线通信设备,其中,所述处理器配置有用于执行操作的 处理器可执行指令,以使得: 所接收的数据帧序列包含音频数据流; 接收包含第二散列值序列的控制流包括:接收包含时间戳信息的控制流;以及 基于所述第一散列值序列和所述第二散列值序列何时匹配,来确定何时开始处理所接 收的数据帧包括:当所述时间戳信息与网络时钟信号匹配时,确定何时开始解码所述音频 数据流。
15. 根据权利要求12所述的无线通信设备,其中,所述处理器配置有用于执行操作的 处理器可执行指令,以使得: 所述数据帧序列包含音频数据流; 接收包含第二散列值序列的控制流包括:接收包含时钟信息的控制流;以及 基于所述第一散列值序列和所述第二散列值序列何时匹配,来确定何时开始处理所接 收的数据帧包括:基于所接收的时钟信息和网络时钟,来确定何时开始解码所述音频数据 流。
16. 根据权利要求12所述的无线通信设备,其中,所述处理器配置有用于执行操作的 处理器可执行指令,所述操作还包括: 将所接收的数据帧存储到缓冲器中;以及 当所述第一散列值序列和所述第二散列值序列不匹配时,基于存储在所述缓冲器中的 最近接收的数据帧,来产生新的第二散列序列。
17. 根据权利要求12所述的无线通信设备,其中,所述处理器配置有用于执行操作的 处理器可执行指令,以使得将散列算法应用到所接收的数据帧包括:将循环冗余校验应用 到所接收的数据帧。
18. 根据权利要求12所述的无线通信设备,其中,所述处理器配置有用于执行操作的 处理器可执行指令,以使得将散列算法应用到所接收的数据帧包括:将前向纠错算法应用 到所接收的数据帧。
19. 根据权利要求12所述的无线通信设备,其中,所述处理器配置有用于执行操作的 处理器可执行指令,以使得对所述第一散列值序列和所述第二散列值序列进行比较包括: 对针对每个所接收的数据帧的散列值进行比较,以确定何时存在匹配。
20. 根据权利要求12所述的无线通信设备,其中,所述处理器配置有用于执行操作的 处理器可执行指令,以使得对所述第一散列值序列和所述第二散列值序列进行比较包括: 对横跨多个数据帧的散列值序列进行比较,以确定散列值的模式何时匹配。
21. 根据权利要求12所述的无线通信设备,其中,所述处理器配置有用于执行操作的 处理器可执行指令,以使得接收包含第二散列值序列的控制流包括:接收作为所述第一无 线通信链路的一部分的所述控制流。
22. 根据权利要求12所述的无线通信设备,其中,所述处理器配置有用于执行操作的 处理器可执行指令,以使得接收包含第二散列值序列的控制流包括:经由不同于所述第一 无线通信链路的第二无线通信链路来接收所述控制流。
23. -种无线通信设备,包括: 用于经由第一无线通信链路,在接收机设备中接收数据帧序列的单元; 用于将散列算法应用到所接收的数据帧,以产生第一散列值序列的单元; 用于接收包含第二散列值序列的控制流的单元; 用于对所述第一散列值序列和所述第二散列值序列进行比较的单元;以及 用于基于所述第一散列值序列和所述第二散列值序列何时匹配,来确定何时开始处理 所接收的数据帧的单元。
24. 根据权利要求23所述的无线通信设备,其中,用于基于所述第一散列值序列和所 述第二散列值序列何时匹配,来确定何时开始处理所接收的数据帧的单元包括:用于开始 处理音频数据帧以便产生声音的单元,并且其中,所述无线通信设备是多个无线通信设备 中的一个。
25. 根据权利要求23所述的无线通信设备,其中: 所述数据帧序列包含音频数据流; 用于接收包含第二散列值序列的控制流的单元包括:用于接收包含时间戳信息的控制 流的单元;以及 用于基于所述第一散列值序列和所述第二散列值序列何时匹配,来确定何时开始处理 所接收的数据帧的单元包括:用于当所述时间戳信息与网络时钟信号匹配时,确定何时开 始解码所述音频数据流的单元。
26. 根据权利要求23所述的无线通信设备,其中: 所述数据帧序列包含音频数据流; 用于接收包含第二散列值序列的控制流的单元包括:用于接收包含时钟信息的控制流 的单元;以及 用于基于所述第一散列值序列和所述第二散列值序列何时匹配,来确定何时开始处理 所接收的数据帧的单元包括:用于基于所接收的时钟信息和网络时钟,来确定何时开始解 码所述音频数据流的单元。
27. 根据权利要求23所述的无线通信设备,还包括: 用于将所接收的数据帧存储到缓冲器中的单元;以及 用于在所述第一散列值序列和所述第二散列值序列不匹配时,基于存储在所述缓冲器 中的最近接收的数据帧,来产生新的第二散列序列的单元。
28. 根据权利要求23所述的无线通信设备,其中,用于将散列算法应用到所接收的数 据帧的单元包括:用于将循环冗余校验应用到所接收的数据帧的单元。
29. 根据权利要求23所述的无线通信设备,其中,用于将散列算法应用到所接收的数 据帧的单元包括:用于将前向纠错算法应用到所接收的数据帧的单元。
30. 根据权利要求23所述的无线通信设备,其中,用于对所述第一散列值序列和所述 第二散列值序列进行比较的单元包括:用于对针对每个所接收的数据帧的散列值进行比 较,以确定何时存在匹配的单元。
31. 根据权利要求23所述的无线通信设备,其中,用于对所述第一散列值序列和所述 第二散列值序列进行比较的单元包括:用于对横跨多个数据帧的散列值序列进行比较,以 确定散列值的模式何时匹配的单元。
32. 根据权利要求23所述的无线通信设备,还包括:用于接收作为所述第一无线通信 链路的一部分的所述控制流的单元。
33. 根据权利要求12所述的无线通信设备,还包括:用于经由不同于所述第一无线通 信链路的第二无线通信链路来接收所述控制流的单元。
34. -种具有存储在其上的处理器可执行指令的非暂时性处理器可读存储介质,所述 指令被配置为使得通信设备处理器执行操作,所述操作包括: 经由第一无线通信链路,在所述接收机设备中接收数据帧序列; 将散列算法应用到所接收的数据帧,以产生第一散列值序列; 接收包含第二散列值序列的控制流; 对所述第一散列值序列和所述第二散列值序列进行比较;以及 基于所述第一散列值序列和所述第二散列值序列何时匹配,来确定何时开始处理所接 收的数据帧。
35. 根据权利要求34所述的非暂时性处理器可读存储介质,其中,所存储的处理器可 执行指令被配置为使得通信设备处理器执行操作,以使得基于所述第一散列值序列和所述 第二散列值序列何时匹配,来确定何时开始处理所接收的数据帧包括:开始处理音频数据 帧以便产生声音,并且其中,所述通信设备是多个无线通信设备中的一个。
36. 根据权利要求34所述的非暂时性处理器可读存储介质,其中,所存储的处理器可 执行指令被配置为使得通信设备处理器执行操作,以使得: 所述数据帧序列包含音频数据流; 接收包含第二散列值序列的控制流包括:接收包含时间戳信息的控制流;以及 基于所述第一散列值序列和所述第二散列值序列何时匹配,来确定何时开始处理所接 收的数据帧包括:当所述时间戳信息与网络时钟信号匹配时,确定何时开始解码所述音频 数据流。
37. 根据权利要求34所述的非暂时性处理器可读存储介质,其中,所存储的处理器可 执行指令被配置为使得通信设备处理器来执行操作,以使得: 所述数据帧序列包含音频数据流; 接收包含第二散列值序列的控制流包括:接收包含时钟信息的控制流;以及 基于所述第一散列值序列和所述第二散列值序列何时匹配,来确定何时开始处理所接 收的数据帧包括:基于所接收的时钟信息和网络时钟,来确定何时开始解码所述音频数据 流。
38. 根据权利要求34所述的非暂时性处理器可读存储介质,其中,所存储的处理器可 执行指令被配置为使得通信设备处理器执行操作,所述操作还包括: 将所接收的数据帧存储到缓冲器中;以及 当所述第一散列值序列和所述第二散列值序列不匹配时,基于存储在所述缓冲器中的 最近接收的数据帧来产生新的第二散列序列。
39. 根据权利要求34所述的非暂时性处理器可读存储介质,其中,所存储的处理器可 执行指令被配置为使得通信设备处理器执行操作,以使得将散列算法应用到所接收的数据 帧包括:将循环冗余校验应用到所接收的数据帧。
40. 根据权利要求34所述的非暂时性处理器可读存储介质,其中,所存储的处理器可 执行指令被配置为使得通信设备处理器执行操作,以使得将散列算法应用到所接收的数据 帧包括:将前向纠错算法应用到所接收的数据帧。
41. 根据权利要求34所述的非暂时性处理器可读存储介质,其中,所存储的处理器可 执行指令被配置为使得通信设备处理器执行操作,以使得对所述第一散列值序列和所述第 二散列值序列进行比较包括:对针对每个所接收的数据帧的散列值进行比较,以确定何时 存在匹配。
42. 根据权利要求34所述的非暂时性处理器可读存储介质,其中,所存储的处理器可 执行指令被配置为使得通信设备处理器执行操作,以使得对所述第一散列值序列和所述第 二散列值序列进行比较包括:对横跨多个数据帧的散列值序列进行比较,以确定散列值的 模式何时匹配。
43. 根据权利要求34所述的非暂时性处理器可读存储介质,其中,所存储的处理器可 执行指令被配置为使得通信设备处理器执行操作,以使得接收包含第二散列值序列的控制 流包括:接收作为所述第一无线通信链路的一部分的所述控制流。
44. 根据权利要求34所述的非暂时性处理器可读存储介质,其中,所存储的处理器可 执行指令被配置为使得通信设备处理器执行操作,以使得接收包含第二散列值序列的控制 流包括:经由不同于所述第一无线通信链路的第二无线通信链路接收所述控制流。
45. -种对由源设备发送给多个接收机设备的音频数据进行同步的方法,包括: 将音频数据编码到数据帧序列中; 将散列函数应用到所述数据帧中的每一个数据帧,以产生第一散列值序列; 在第一信道上发送所述数据帧; 在控制信道上发送所述第一散列值序列; 在所述多个接收机设备中的每一个接收机设备中接收所述数据帧和所述第一散列值 序列; 在所述多个接收机设备中的每一个接收机设备中将所述散列算法应用到所接收的数 据帧,以产生第二散列值序列; 对在所述多个接收机设备中的每一个接收机设备中的所述第一散列值序列和所述第 二散列值序列进行比较;以及 当所述第一散列值序列和所述第二散列值序列匹配时,开始在所述多个接收机设备中 的每一个接收机设备中处理所接收的数据帧。
46. 根据权利要求45所述的方法,其中: 所述多个接收机设备包括第一扬声器设备和第二扬声器设备;以及 当所述第一散列值序列和所述第二散列值序列匹配时,开始在所述多个接收机设备中 的每一个接收机设备中处理所接收的数据帧包括:开始在所述第一扬声器设备和所述第二 扬声器设备的每一个扬声器设备中解码所述数据帧,以便由所述第一扬声器设备和所述第 二扬声器设备产生在单个48KHz采样内同步的音频。
47. 根据权利要求45所述的方法,其中,在控制信道上发送所述第一散列值序列包括: 在作为无线通信链路的一部分的控制信道上发送所述第一散列值序列,所述无线通信链路 还发送所述第一信道。
48. 根据权利要求45所述的方法,其中,在控制信道上发送所述第一散列值序列包括: 经由不同于所述第一信道的无线通信链路,在控制信道上发送所述第一散列值序列。
49. 一种通信系统,包括: 无线数据源设备;以及 多个接收机设备, 其中,所述无线数据源设备包括: 无线收发机;以及 源设备处理器,其耦合到所述无线收发机,并且配置有处理器可执行指令以执行以下 操作,包括: 将音频数据编码到数据帧序列中; 将散列函数应用到所述数据帧中的每一个数据帧,以产生第一散列值序列; 在第一信道上发送所述数据帧;以及 在控制信道上发送所述第一散列值序列; 其中,所述多个接收机设备中的每一个接收机设备包括: 无线接收机电路;以及 接收机设备处理器,其耦合到所述无线接收机电路,并且配置有处理器可执行指令以 执行以下操作,包括: 接收所述数据帧和所述第一散列值序列; 将所述散列算法应用到所接收的数据帧,以产生第二散列值序列; 对所述第一散列值序列和所述第二散列值序列进行比较;以及 当所述第一散列值序列和所述第二散列值序列匹配时,开始处理所接收的数据帧。
50. 根据权利要求49所述的通信系统,其中: 所述多个接收机设备包括第一扬声器设备和第二扬声器设备;以及 所述接收机设备处理器配置有用于执行操作的处理器可执行指令,以使得当所述第一 散列值序列和所述第二散列值序列匹配时,开始在所述多个接收机设备中的每一个接收机 设备中处理所接收的数据帧包括:在所述第一扬声器设备和所述第二扬声器设备的每一个 扬声器设备中开始解码所述数据帧,以便由所述第一扬声器设备和所述第二扬声器设备产 生在单个48KHz采样内同步的音频。
51. 根据权利要求49所述的通信系统,其中,所述源设备处理器配置有用于执行操作 的处理器可执行指令,以使得在控制信道上发送所述第一散列值序列包括:在作为无线通 信链路的一部分的控制信道上发送所述第一散列值序列,所述无线通信链路还发送所述第 一信道。
52. 根据权利要求49所述的通信系统,其中,所述源设备处理器配置有用于执行操作 的处理器可执行指令,以使得在控制信道上发送所述第一散列值序列包括:经由不同于所 述第一信道的无线通信链路,在控制信道上发送所述第一散列值序列。
53. -种通信系统,包括: 无线数据源设备,包括: 用于将音频数据编码到数据帧序列中的单元; 用于将散列函数应用到所述数据帧中的每一个数据帧,以产生第一散列值序列的单 元; 用于在第一信道上发送所述数据帧的单元,以及 用于在控制信道上发送所述第一散列值序列的单元;以及 多个接收机设备,所述多个接收机设备中的每一个接收机设备包括: 用于接收所述数据帧和所述第一散列值序列的单元; 用于将所述散列算法应用到所接收的数据帧,以产生第二散列值序列的单元; 用于对所述第一散列值序列和所述第二散列值序列进行比较的单元;以及 用于当所述第一散列值序列和所述第二散列值序列匹配时,开始 处理所接收的数据帧。
54. 根据权利要求53所述的通信系统,其中: 所述多个接收机设备还包括第一扬声器设备和第二扬声器设备;以及 用于当所述第一散列值序列和所述第二散列值序列匹配时,开始在所述多个接收机设 备中的每一个接收机设备中处理所接收的数据帧的单元包括:用于开始在所述第一扬声器 设备和所述第二扬声器设备的每一个扬声器设备中解码所述数据帧,以便由所述第一扬声 器设备和所述第二扬声器设备产生在单个48KHz采样内同步的音频的单元。
55. 根据权利要求53所述的通信系统,其中,用于在控制信道上发送所述第一散列值 序列的单元包括:用于在作为无线通信链路的一部分的控制信道上发送所述第一散列值序 列的单元,所述无线通信链路还发送所述第一信道。
56. 根据权利要求53所述的通信系统,其中,用于在控制信道上发送所述第一散列值 序列的单元包括:用于经由不同于所述第一信道的无线通信链路,在控制信道上发送所述 第一散列值序列的单元。
57. -种具有存储在其上的处理器可执行指令的非暂时性处理器可读存储介质,所述 处理器可执行指令被配置为由无线数据源设备处理器和多个无线接收机设备的处理器来 执行, 其中,被配置为由无线数据源设备的处理器执行的所存储的处理器可执行指令被配置 为使得所述处理器执行以下操作,包括: 将音频数据编码到数据帧序列中; 将散列函数应用到所述数据帧中的每一个数据帧,以产生第一散列值序列; 在第一信道上发送所述数据帧,以及 在控制信道上发送所述第一散列值序列,以及 其中,被配置为由所述多个无线接收机设备的处理器执行的所存储的处理器可执行指 令被配置为使得所述处理器来执行操作,包括: 接收所述数据帧和所述第一散列值序列; 将所述散列算法应用到所接收的数据帧,以产生第二散列值序列; 对所述第一散列值序列和所述第二散列值序列进行比较;以及 当所述第一散列值序列和所述第二散列值序列匹配时,开始处理所接收的数据帧。
58. 根据权利要求57所述的非暂时性处理器可读存储介质,其中,被配置为由所述多 个无线接收机设备的处理器执行的所存储的处理器可执行指令被配置为使得所述处理器 来执行操作,以使得当所述第一散列值序列与所述第二散列值序列匹配时,开始处理所接 收的数据帧包括:开始在所述第一扬声器设备和所述第二扬声器设备的每一个扬声器设备 中解码所述数据帧,以便由所述第一扬声器设备和所述第二扬声器设备产生在单个48KHz 采样内同步的音频。
59. 根据权利要求57所述的非暂时性处理器可读存储介质,其中,被配置为由无线数 据源设备处理器执行的所存储的处理器可执行指令被配置为使得所述处理器来执行操作, 以使得在控制信道上发送所述第一散列值序列包括:在作为无线通信链路的一部分的控制 信道上发送所述第一散列值序列,所述无线通信链路还发送所述第一信道。
60. 根据权利要求57所述的非暂时性处理器可读存储介质,其中,被配置为由无线数 据源设备处理器执行的所存储的处理器可执行指令被配置为使得所述处理器来执行操作, 以使得在控制信道上发送所述第一散列值序列包括:经由不同于所述第一信道的无线通信 链路,在控制信道上发送所述第一散列值序列。
61. -种基于音频信号来对由第一无线接收机设备和第二无线接收机设备对音频输出 进行同步的方法,所述音频信号包括第一数据帧序列,所述第一数据帧序列包含第一音频 信道和第二音频信道,所述方法包括: 通过第一蓝牙:?:通信链路,在所述第一无线接收机设备中接收作为所述第一数据帧 序列的所述音频信号; 将所接收的第一数据帧序列对齐到所述第一无线接收机设备的时钟; 通过第二蓝牙:?:通信链路,将所述音频信号的至少所述第二音频信道部分作为第二 数据帧序列,从所述第一无线接收机设备发送给所述第二无线接收机设备,所述第二蓝牙 ?:通信链路包括蓝牙?时钟信号; 在所述第二无线接收机设备中接收所述第二数据帧序列;以及 在所述第二蓝牙?〗通信链路中,使用所述蓝牙@1时钟信号将所接收的第二数据帧序列 对齐到所述第二无线接收机设备的时钟,以便所述第二无线接收机设备中的所述第二音频 信道被对齐到所述第一音频信道的20微秒内。
62. 根据权利要求61所述的方法,其中,在所述第二蓝牙?,通信链路中,使用所述蓝牙 ?l时钟信号将所接收的第二数据帧序列对齐到所述第二无线接收机设备的时钟,以便所述 第二无线接收机设备中的所述第二音频信道被对齐到所述第一音频信道的20微秒内,包 括: 解码所接收的第二数据帧序列; 将所解码的帧作为音频采样存储到所述第二无线接收机设备的缓冲器中; 确定所述第二无线接收机设备的所述时钟和所述蓝牙?时钟信号之间的累积误差是 否需要对所述音频采样进行相应的修正;以及 响应于确定所述第二无线接收机设备的所述时钟和所述蓝牙?时钟信号之间的所述 累积误差需要对所述音频采样进行相应的修正,将所述音频采样中的至少一个音频采样添 加到所述缓冲器中或从所述缓冲器中移除。
63. 根据权利要求61所述的方法,其中,将所述音频信号的至少所述第二音频信道部 分作为第二数据帧序列,从所述第一无线接收机设备发送给所述第二无线接收机设备包 括:对包含所述第一音频信道和所述第二音频信道的所述音频信号进行中继。
64. -种通信系统,包括: 包括第一蓝牙?1收发机的第一无线接收机设备; 包括第二蓝牙?收发机的第二无线接收机设备; 用于通过第一蓝牙⑧通信链路,在所述第一无线接收机设备中接收作为所述第一数据 帧序列的音频信号的单元; 用于将所接收的所述第一数据帧序列对齐到所述第一无线接收机设备的时钟的单 元; 用于通过第二蓝牙⑧:通信链路,将所述音频信号的至少所述第二音频信道部分作为第 二数据帧序列,从所述第一无线接收机设备发送给所述第二无线接收机设备的单元,所述 第二蓝牙⑧:通信链路包括蓝牙?肘钟信号; 用于在所述第二无线接收机设备中接收所述第二数据帧序列的单元;以及 用于在所述第二蓝牙通信链路中,使用所述蓝牙'⑧丨时钟信号将所接收的第二数据 帧序列对齐到所述第二无线接收机设备的时钟,以便所述第二无线接收机设备中的第二音 频信道被对齐到第一音频信道的20微秒内的单元。
65. 根据权利要求64所述的通信系统,其中,在所述第二蓝牙通信链路中,使用所述 蓝牙时钟信号将所接收的对齐的数据帧序列对齐到所述第二无线接收机设备的时钟,包 括: 用于解码所接收的第二数据帧序列的单元; 用于将所解码的帧作为音频采样存储到所述第二无线接收机设备的缓冲器中的单 元; 用于确定所述第二无线接收机设备的所述时钟和所述蓝牙⑧时钟信号之间的累积误 差是否需要对所述音频采样进行相应的修正的单元;以及 用于响应于确定所述第二无线接收机设备的所述时钟和所述蓝牙⑩时钟信号之间的 累所述积误差需要对所述音频采样进行相应的修正,将所述音频采样中的至少一个音频采 样添加到所述缓冲器中或从所述缓冲器中移除的单元。
66. 根据权利要求64所述的通信系统,其中,用于将所述音频信号的至少所述第二音 频信道作为第二数据帧序列,从所述第一无线接收机设备发送给所述第二无线接收机设备 的单元包括:用于对包含所述第一音频信道和所述第二音频信道的所述音频信号进行中继 的单元。
67. -种通信系统,包括: 包含第一蓝牙?1收发机的第一无线接收机设备;第一存储器;以及耦合到所述第一蓝 牙?!收发机和所述第一存储器的第一处理器;以及 包含第二蓝牙?1收发机的第二无线接收机设备;第二存储器;以及耦合到所述第二蓝 牙?收发机和所述第二存储器的第二处理器, 其中,所述第一处理器配置有处理器可执行指令以执行以下操作,包括: 通过第一蓝牙?:通信链路,经由所述第一蓝牙?l收发机来接收包括第一数据帧序列 的音频信号,所述第一数据帧序列包含第一音频信道和第二音频信道; 将所接收的第一数据帧序列对齐到所述第一无线接收机设备的时钟;以及 通过第二蓝牙⑧通信链路,将所述音频信号的至少所述第二音频信道部分作为第二数 据帧序列发送给所述第二无线接收机设备,所述第二蓝牙 :?.通信链路包括蓝牙?l时钟信 号,并且其中,所述第二处理器配置有处理器可执行指令以执行以下操作,包括: 经由所述第二蓝牙?接收机接收所述第二数据帧序列;以及 在所述第二蓝牙?.通信链路中,使用所述蓝牙⑧丨时钟信号将所接收的第二数据帧序 列对齐到所述第二无线接收机设备的时钟,以便所述第二无线接收机设备中的所述第二音 频信道被对齐到所述第一音频信道的20微秒内。
68. 根据权利要求67所述的通信系统,其中,所述第二处理器配置有用于执行操作的 处理器可执行指令,以使得在所述第二蓝牙?:通信链路中,使用所述蓝牙?时钟信号将所 接收的对齐的数据帧序列对齐到所述第二无线接收机设备的时钟,包括: 解码所接收的第二数据帧序列; 将所解码的帧作为音频采样存储到所述第二存储器中; 确定所述第二无线接收机设备的所述时钟和所述蓝牙?时钟信号之间的累积误差是 否需要对所述音频采样进行相应的修正;以及 响应于确定所述第二无线接收机设备的所述时钟和所述蓝牙?时钟信号之间的所述 累积误差需要对所述音频采样进行相应的修正,将所述音频采样中的至少一个音频采样添 加到所述第二存储器中或从所述第二存储器中移除。
69. 根据权利要求67所述的通信系统,其中,所述第一处理器配置有用于执行操作的 处理器可执行指令,以使得将所述音频信号的至少所述第二音频信道作为第二数据帧序列 发送给所述第二无线接收机设备包括:对包含所述第一音频信道和所述第二音频信道的所 述音频信号进行中继。
70. -种具有存储在其上的处理器可执行软件指令的非暂时性计算机可读存储介质, 所述处理器可执行软件指令被配置为使得蓝牙接收机设备的处理器执行用于基于包括 第一数据帧序列的音频信号来与另一个蓝牙⑧接收机设备音频输出进行同步的操作,其 中所述第一数据帧序列包含第一音频信道和第二音频信道,所述操作包括: 通过执行操作来充当蓝牙'?微微网中的主设备,所述操作包括: 通过第一蓝牙?3i信链路,接收作为所述第一数据帧序列的所述音频信号; 将所接收的所述第一数据帧序列对齐到所述蓝牙?接收机设备的时钟;以及 通过第二蓝牙?:通信链路,将所述音频信号的至少所述第二音频信道部分作为第二数 据帧序列发送给从属无线接收机设备,所述第二蓝牙 :?3i信链路包括蓝牙?时钟信号;以 及 通过执行操作来充当所述蓝牙@:微微网中的从属设备,所述操作包括: 从主无线接收机设备接收所述第二数据帧序列;以及 在所述第二蓝牙:?:通信链路中,使用所述蓝牙⑧丨时钟信号将所接收的第二数据帧序 列对齐到所述蓝牙接收机设备的时钟,以便所述蓝牙@:接收机设备中的所述第二音频 信道被对齐到所述第一音频信道的20微秒内。
71. 根据权利要求70所述的非暂时性计算机可读存储介质,其中,所存储的处理器可 执行软件指令被配置为使得蓝牙?:接收机设备的处理器执行操作,以使得在所述第二蓝牙 ?:通信链路中,使用所述蓝牙?时钟信号将所接收的第二数据帧序列对齐到所述蓝牙⑩ 接收机设备的时钟,以便所述蓝牙? :接收机设备中的所述第二音频信道被对齐到所述第一 音频信道的20微秒内,包括: 解码所接收的第二数据帧序列; 将所解码的帧作为音频采样存储到缓冲器中; 确定所述蓝牙--接收机设备的所述时钟和所述蓝牙⑧时钟信号之间的累积误差是否 需要对所述音频采样进行相应的修正;以及 响应于确定所述蓝牙?接收机设备的所述时钟和所述蓝牙?l时钟信号之间的所述累 积误差需要对所述音频采样进行相应的修正,将所述音频采样中的至少一个音频采样添加 到所述缓冲器中或从所述缓冲器中移除。
72. 根据权利要求70所述的非暂时性计算机可读存储介质,其中,所存储的处理器可 执行软件指令被配置为使得蓝牙⑧接收机设备的处理器执行操作,以使得将所述音频信号 的至少所述第二音频信道作为第二数据帧序列发送给从属无线接收机设备包括:对包括所 述第一音频信道和所述第二音频信道的所述音频信号进行中继。
【文档编号】H04L7/04GK104509023SQ201380039885
【公开日】2015年4月8日 申请日期:2013年7月26日 优先权日:2012年7月29日
【发明者】A·E·纽汉, J·B·林斯基, R·萨乌塔, B·F·米勒, K·W·巴蒂格 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1