CN114731453A - 同步回放从其他网络接收的音频信息 - Google Patents

同步回放从其他网络接收的音频信息 Download PDF

Info

Publication number
CN114731453A
CN114731453A CN202080077982.8A CN202080077982A CN114731453A CN 114731453 A CN114731453 A CN 114731453A CN 202080077982 A CN202080077982 A CN 202080077982A CN 114731453 A CN114731453 A CN 114731453A
Authority
CN
China
Prior art keywords
playback
playback device
frames
audio
timing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080077982.8A
Other languages
English (en)
Inventor
卡梅隆·埃里森·科布
尼古拉斯·马尼斯卡斯
特德·林
王盟
理查德·约翰·班农
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sonos Inc
Original Assignee
Sonos Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sonos Inc filed Critical Sonos Inc
Publication of CN114731453A publication Critical patent/CN114731453A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43076Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of the same content streams on multiple devices, e.g. when family members are watching the same movie on different devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43079Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on multiple devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4398Processing of audio elementary streams involving reformatting operations of audio signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44227Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • H04N21/8113Monomedia components thereof involving special audio data, e.g. different tracks for different languages comprising music, e.g. song in MP3 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本文公开了回放设备、回放设备组、以及用于操作回放设备并将其分组以使通过第一网络进行通信的回放设备组中的回放设备回放经由第二网络接收的音频内容的方法。

Description

同步回放从其他网络接收的音频信息
相关申请的交叉引用
本申请要求于2019年9月10日提交的题为“Synchronizing Playback of AudioInformation Received from Unreliable Audio Information Sources”的美国临时专利申请No.62/898,194的优先权,其全部内容通过引用并入本文。
技术领域
本公开涉及消费者产品,更具体地,涉及与媒体回放或者其某个方面有关的方法、系统、产品、特征、服务和其他元素。
背景技术
访问和收听外放设置的数字音频的选项是有限的,直到2002年Sonos公司开始开发新型回放系统为止。然后,Sonos于2003年提交了题为“Method for SynchronizingAudio Playback between Multiple Networked Devices”的其首批专利申请之一,并于2005年开始提供其首批媒体回放系统以供销售。Sonos无线家庭音响系统使人们能够经由一个或多个联网回放设备体验来自许多源的音乐。通过安装在控制器(例如,智能电话、平板计算机、计算机、语音输入设备)上的软件控制应用,人们可以在具有联网回放设备的任何房间中播放他想要的东西。媒体内容(例如,歌曲、播客、视频声音)可以被流式传输到回放设备,使得具有回放设备的每个房间可以回放对应的不同媒体内容。另外,可以将房间分组在一起以同步回放相同的媒体内容,和/或可以在所有房间中同步收听相同的媒体内容。
附图说明
参考下面列出的以下说明书、所附权利要求和附图,可以更好地理解当前公开的技术的特征、方面和优点。相关领域的技术人员将理解,附图中所示的特征是出于说明的目的,并且包括不同和/或附加特征及其布置的变型是可能的。
图1A示出了具有根据所公开的技术的各方面配置的媒体回放系统的环境的局部剖视图。
图1B示出了图1A的媒体回放系统和一个或多个网络的示意图。
图1C示出了回放设备的框图。
图1D示出了回放设备的框图。
图1E示出了网络麦克风设备的框图。
图1F示出了网络麦克风设备的框图。
图1G示出了回放设备的框图。
图1H示出了控制设备的局部示意图。
图1I至图1L示出了对应的媒体回放系统区域的示意图。
图1M示出了媒体回放系统区域的示意图。
图2A示出了根据所公开的技术的各方面配置的回放设备的前等距视图。
图2B示出了图3A的回放设备的没有格栅的前等距视图。
图2C示出了图2A的回放设备的分解图。
图3A示出了根据所公开的技术的各方面配置的网络麦克风设备的前视图。
图3B示出了图3A的网络麦克风设备的侧等距视图。
图3C示出了图3A和图3B的网络麦克风设备的分解图。
图3D示出了图3B的一部分的放大视图。
图3E示出了图3A至图3D的网络麦克风设备的框图。
图3F示出了示例语音输入的示意图。
图4A-图4D示出了根据所公开的技术的各方面的处于操作的各个阶段的控制设备的示意图。
图5示出了控制设备的前视图。
图6示出了媒体回放系统的消息流程图。
图7示出了根据一些实施例的彼此同步地播放从源接收的音频的两个回放设备的示例配置。
图8示出了根据一些实施例的由用于播放来自多个源的音频内容的回放设备执行的示例方法。
图9示出了根据一些实施例的由回放设备执行的示例方法。
图10示出了交换与媒体内容相关联的元数据的一个或多个回放设备和一个或多个控制设备的示例配置。
附图用于示出示例实施例的目的,但本领域普通技术人员将理解,本文公开的技术不限于附图中所示的布置和/或手段。
具体实施方式
一、概述
期望媒体回放系统播放(i)来自许多不同源(例如,音频流服务、视频流服务、音频或视频源、语音助理服务(VAS)、门铃、对讲机、电话和其他源)的媒体内容,以及(ii)经由许多不同类型的输入接口(例如,WIFI、蓝牙、数字线路输入、模拟线路输入、光纤线路输入和其他类型的输入接口)的媒体内容。但是,虽然被配置为经由许多不同类型的输入接口播放来自许多不同源的媒体内容的媒体回放系统使用户能够从几乎任何类型的媒体源中欣赏音乐、音频、视频和其他媒体内容,但是以一致且可靠的方式在媒体回放系统中的多个回放设备(包括音频、视频和音频/视频回放设备)之间协调来自如此多样化的媒体源和接口类型集合的音频内容的同步回放提出了各种技术挑战。
因此,SONOS公司已经不断开发新技术以解决这种技术挑战并扩展可用于接收媒体内容的输入接口类型。例如,SONOS公司开发了虚拟线路输入(VLI)以便于媒体回放系统之间的互操作性。通过VLI,来自第一制造商的第一媒体回放系统可能能够与来自第二、不同的制造商的第二媒体回放系统同步回放,否则该第二、不同的制造商将与第一媒体回放系统不兼容。因此,用户可以跨多个不同媒体回放系统与回放设备的任意组合形成同步组。此类功能尤其在2019年10月22日发布的题为“Media Playback System with VirtualLine-In”的美国专利No.10,452,345中被公开,该专利的全部内容通过引用合并于此。
基于这些先前的创新,SONOS公司已经意识到支持回放经由蓝牙(例如,经典蓝牙、低功耗蓝牙(BLE)等)接收的音频的传统回放设备通常仅能够与相同蓝牙网络上的其他回放设备同步回放音频。鉴于蓝牙网络的范围限制,这种架构基于回放设备和音频源都非常接近的假设。虽然设备接近的这种假设在某些多设备情况(例如,通过用户所佩戴的两个无线耳塞同步回放音频,每个耳塞都经由蓝牙连接到用户口袋中的智能电话)下可能是正确的,但是设备接近的假设对于其他场景不成立。例如,该范围限制对于跨整个空间(例如,房屋、商业机构等)同步回放音频是有问题的,至少因为回放设备和/或音频源之间的距离可能相当大(例如,超过10米)。因此,分组的回放设备和音频源中的全部在一个公共蓝牙网络上可能是不可行的。作为结果,用于通过蓝牙同步回放音频的传统技术可能不容易用于真正的多房间同步回放。
因此,本公开的方面涉及用于同步回放通过诸如蓝牙网络的个域网(PAN)接收的音频的新技术,其可以解决上述技术挑战中的一个或多个。在一些情况下,由回放设备经由PAN接收的音频被重新分组并通过诸如无线局域网(WLAN)的不同网络发送给其他回放设备,以用于同步回放。在这种情况下,回放设备可以支持与连接到同一个不同网络(例如,同一个WLAN)的任何其他回放设备同步回放。因此,可以通过回放设备将来自PAN的音频桥接到可能具有比PAN大得多的范围的另一网络来消除PAN的范围限制。作为结果,用户可以通过PAN将音频从计算设备流式传输到第一回放设备(例如,靠近用户的回放设备),并且使该音频在与第一回放设备相同的WLAN上的回放设备的任何任意组合上回放。此外,用户可以通过PAN将音频流式传输到第一回放设备,以用于通过可能不直接支持通过PAN回放的一个或多个第二回放设备(例如,可能不具有支持通过PAN进行通信的物理无线电硬件的回放设备)进行回放。例如,用户可以通过蓝牙连接将音频流式传输到支持蓝牙通信的便携式回放设备,以用于在一个或多个不支持蓝牙通信的固定回放设备上回放。
应当理解,支持通过PAN接收的音频的同步回放可能产生附加的技术挑战。在一些情况下,这样的架构可能产生与连接到不同网络的设备之间的媒体所关联的元数据的同步相关的技术问题。例如,媒体回放系统可以具有任意数量的控制设备,每个控制设备可以显示关于在媒体回放系统中的一个或多个回放设备的任何集合上回放的媒体的元数据。这样的控制设备不太可能直接访问媒体内容(和/或与该媒体内容相关联的任何元数据)被发送给回放设备所通过的PAN。作为结果,这样的控制设备将对媒体回放系统上的媒体回放活动视而不见。
因此,在一些情况下,将媒体内容从PAN桥接到WLAN以便于与WLAN上的其他回放设备同步回放的回放设备也可以起到将与媒体内容相关联的元数据从PAN桥接到WLAN的作用,以便于将与媒体内容相关联的元数据发送给WLAN上的其他设备(例如,控制设备、回放设备等)。因此,WLAN上的任何设备都可以(例如,经由显示器)输出这种回放活动(例如,一个或多个回放设备正在回放经由PAN接收的特定音轨)的状态。
支持通过PAN接收的音频的同步回放可能产生的另一技术挑战包括维持高度的可靠性。例如,媒体源通常可以经由可靠的通信链路(例如,经由有线链路(例如,电缆、光缆和其他有线连接)和/或鲁棒的无线链路(例如,WIFI无线链路))以一致的方式向媒体回放系统提供媒体内容。然而,PAN上的无线链路通常提供不如WIFI链路一致和/或可靠的媒体内容,至少部分因为WIFI链路往往比蓝牙链路运行更高的传输功率并具有更好的无线链路预算。此外,WIFI传输协议往往比蓝牙传输协议具有更好的错误检测和校正以及更鲁棒且更复杂的重传能力。
当媒体回放系统不一致和/或不可靠地从媒体源接收媒体内容时,媒体回放系统可能无法以一致且可靠的方式可靠地协调接收到的媒体内容的同步回放,因为频繁的分组丢失和丢失媒体内容的分组会导致媒体回放系统中的回放设备发生故障(例如,播放彼此“不同步”的媒体内容、产生错误消息、中断回放等)。当回放设备正在播放彼此不同步的音频内容时,用户听到由回放设备在不同时间回放音频内容的部分引起的回声效果。并且对于具有对应视频内容的音频内容,当回放设备播放与显示器(例如,电视、视频监测器或其他显示设备)不同步的音频内容时,观众可以看到唇形同步延迟,其中音频声音与对应的视频不同步。
因此,在一些情况下,回放设备可能将经由PAN(或其他不可靠源)接收的音频与经由另一种机制(例如,有线连接、WLAN等)接收的音频区别对待。在这种情况下,将媒体内容从PAN桥接到其他网络(例如,WLAN)的回放设备可以执行与经由其他机制接收的媒体内容相关的一个或多个附加操作,以增强媒体回放系统的可靠性。例如,通过PAN接收音频的回放设备可以智能地识别丢失的分组并创建空分组以从同步回放发送给其他回放设备,使得其他回放设备接收一致的信息流。附加地(或备选地),如果在PAN上连续丢弃多个分组,则通过PAN接收音频的回放设备可以采用重新同步过程,以避免在音频重新启动时产生回声。又另外,回放设备可以监控通过PAN与媒体源的连接的状态,并且如果连接质量低于阈值(例如,信号强度低于阈值、丢失或以其他方式丢弃的分组的数量超过阈值等)则直接或间接地向用户输出一个或多个消息以向用户报警。例如,回放设备可以(例如,通过PAN或通过回放设备与诸如WLAN的媒体源之间的另一连接)向用作媒体源的设备发送一个或多个消息,该消息触发通知(例如,用户的智能电话上的弹窗)以向他们通知连接质量低下和/或提供关于用户如何提高连接质量的一个或多个建议(例如,建议用户将用作媒体源的设备移动到更靠近通过PAN接收音频的回放设备)。
本文公开和描述的技术克服了当支持经由诸如个域网(PAN)的另一网络(例如,另一无线网络)接收的音频内容的同步回放时会产生的这些和其他技术问题。在本文公开的一些实施例中,第一回放设备接收包括第一系列帧的第一数据流,该第一系列帧包括编码音频信息。在一些实施例中,并且如本文进一步描述的,第一回放设备是和/或包括至少执行同步组的组协调器的一个或多个功能。如本文所述,同步组是被配置为以组的方式彼此同步地播放音频的一组回放设备。同步组可以包括第一回放设备,但不一定包括第一回放设备。即,第一回放设备可以执行组协调器功能,但不与同步组中的其他回放设备同步地播放音频。此外,尽管本文公开的许多示例描述了帧,但是系统和方法同样适用于分组、单元或适合于在发送器与接收器之间发送数据的其他数据结构(并且系统和方法可以用它们来实现)。
在操作中,第一数据流中的各个帧具有第一成帧格式。在一些实施例中,第一数据流中的一个或多个帧还包括指定第一数据流中的帧的排序的序列号或其他标识符。通过数据分组网络(例如,以太网、WIFI或其他数据网络)发送的帧可能会乱序到达,因此在一些实施例中,第一回放设备在执行进一步处理之前使用序列号或其他标识符以正确的顺序重组第一数据流中的帧。在一些实施例中,指定帧的排序的序列号或其他标识符是(或至少包括)指示创建帧时的时间的时间戳。可以基于以下假设来将帧创建时间用作序列号:帧是按照随后应该被处理和/或播放的顺序来创建的。并且如本文进一步描述的,在一些协议中,帧或分组包括序列标识符和时间戳两者,其中序列标识符可以用于重新排序帧/分组和/或识别丢失的帧/分组,并且其中时间戳(单独地或结合相邻帧/分组的时间戳)可以用于确定在帧/分组内回放音频信息所需的持续时间。
在第一回放设备(其可以是同步组的组协调器)接收到第一数据流(传入数据流)中的各个帧之后,第一回放设备从该各个传入帧中提取编码音频信息。并且当第一回放设备继续接收第一数据流(传入数据流)时,第一回放设备生成包括提取的音频信息的第二数据流(即传出数据流,有时被称为第二系列帧)并将其发送给至少一个第二回放设备(并且还可能发送给其他回放设备)。在操作中,第二数据流(传出数据流)中的各个帧具有与第一数据流(传入数据流)中的帧的第一成帧格式不同的第二成帧格式。
第二数据流中的帧包括(i)从第一数据流的各个帧中提取的编码音频信息的部分以及(ii)包括从第一数据流中提取的编码音频信息的部分的回放定时的回放定时信息。如本文所述,在一些实施例中,该回放定时信息是第一回放设备(或组协调器)为协调第一回放设备和至少第二回放设备的音频内容的同步回放的目的而生成并发送给至少第二回放设备的新定时信息(例如,新时间戳)。在操作中,第一回放设备使用从第一数据流中提取的编码音频信息的部分和回放定时(基于编码音频信息)与至少第二回放设备同步地播放音频内容。
在操作中,第一回放设备(i)生成第二数据流(传出数据流)的各个帧,该第二数据流包括第一回放设备从第一回放设备仅在几毫秒之前接收到第一数据流(传入数据流)的各个帧中提取的编码音频信息的一个或多个部分,以及(ii)在向至少第二回放设备发送包括编码音频信息的该部分的第二数据流的各个帧之后仅几毫秒,与至少第二回放设备同步地播放编码音频信息的该部分。例如,在一些实施例中,对于编码音频信息的各个部分,并且仅在几毫秒内(例如,在约20毫秒至约300毫秒之间,第一回放设备(i)接收(第一数据流的)帧,该帧包括音频信息的部分,(ii)从(第一数据流的)该帧中提取音频信息的该部分,(iii)生成(第二数据流的)帧并将其发送给至少第二回放没备,以及(iv)(基于音频信息的该部分)至少与第二回放设备(并且可能与附加回放设备)同步播放音频内容。
接收具有第一成帧格式(或分组格式或单元格式)的第一帧(或分组或单元)流并生成具有第二成帧格式(或分组格式或单元格式)的第二帧(或分组或单元)流的上述能力使第一回放设备能够接收音频信息并(基于音频信息)播放来自多种音频源的音频内容,从而通过使第一回放设备能够使用公共格式(例如,第二成帧格式)以向至少第二回放设备(并且可能还向附加回放设备)流式传输音频信息和回放定时信息,而不管(i)第一帧流的格式,和/或(ii)第一帧流中的序列标识符、时间戳或其他定时和/或序列信息来实现所公开的系统和方法的一个方面。
因为第一回放设备在接收第一数据流的同时生成并发送第二数据流,并且因为第一回放设备经由第一数据流接收音频信息的一部分与经由第二数据流发送音频信息的该相同部分之间的时间很短(例如,通常仅约20毫秒至约300毫秒),所以第一数据流中的任何不一致(例如,延迟、丢失帧)和/或经由第一数据流接收的音频信息中的错误都会引入抑制第一回放设备一致且可靠地生成第二系列帧并将其发送给至少第二回放设备的能力的技术挑战。
具体地,第一回放设备不能将音频信息中第一回放设备未接收到和/或未在足够的时间内接收以处理并流式传输到第二回放设备以用于同步回放的部分发送给第二回放设备。
因此,为了防止可能存在于第一数据流中的不一致、延迟和错误在第二数据流中引起类似的不一致,在一些实施例中,第一回放设备附加地(i)确定第一数据流是否正在丢失编码音频信息的一个或多个部分,以及(ii)响应于确定第一数据流丢失编码音频信息的一个或多个部分,生成与编码音频信息的一个或多个丢失部分相对应的一个或多个空部分。丢失编码音频信息的一个或多个部分包括丢失包括音频信息的一部分的分组,因为(i)未接收到包括音频信息的分组/帧,或(ii)接收到包括音频信息的分组/帧,但该分组/帧中的音频信息已损坏并且无法使用(例如,由接收器执行的错误检查确定了音频信息有错误)。
并且当第一回放设备生成第二数据流时,第一回放设备将一个或多个空部分插入到第二数据流中音频信息的丢失部分本来应该存在的位置处。并且,当第一回放设备生成第二数据流的音频信息的回放定时时,第一回放设备分配第二数据流中的一个或多个对应的空部分的回放时间。此外,当使用第二数据流的音频信息和回放定时通过至少第二回放设备来(基于第二数据流中的音频信息)播放音频内容时,第一回放设备使用(i)从第一数据流中提取的音频信息的部分,(ii)从第一数据流中提取的音频信息的部分的回放定时,(iii)与音频信息的从第一数据流中丢失的丢失部分相对应的空部分,以及(iv)被插入到第二数据流中的空部分的回放定时。在操作中,该方法使(i)第一回放设备能够生成一致的第二数据流并将其发送给至少第二回放设备(以及可能的附加回放设备),以及(ii)至少第二回放设备(以及可能的附加回放设备)能够从第一回放设备接收一致的数据流(即,第二数据流)。
在一些实施例中,第一回放设备附加地或备选地监控传入数据流以检测传入数据流的问题,例如(i)丢弃的分组(例如,在传入数据流中的分组的序列号中存在间隙),或者可能超过阈值量或许多的丢弃分组,和/或(ii)针对第二回放设备(和可能的附加回放设备)与同步组中的其他回放设备同步地播放分组中的音频内容,超过一些阈值数量的到达太晚以致无法及时处理并分发给第二回放设备(和可能的附加回放设备)的分组(例如,分组中的音频的所确定的回放时间太接近当前时间或可能在过去)。
响应于检测到传入数据流的一个或多个上述问题,第一回放设备(i)向同步组中的其他回放设备发送一个或多个命令,这导致那些其他回放设备“刷新”(即,删除)它们当前排队等待回放的音频分组(包括音频内容)的缓冲区中的至少一些(并且还可能是全部),以及(ii)重设从其重新开始生成经由传入数据流接收的音频内容的回放定时的“起始时间”(即,参考开始时间)。如上面所描述并在本文中进一步描述的,同步组中的回放设备使用由该第一回放设备(有时被称为同步组的组协调器)生成的回放定时来彼此同步播放音频内容。以这种方式,通过刷新排队的音频分组的回放设备缓冲区以供回放,第一回放设备实际上通过同步组来重新同步音频回放。在操作中,以这种方式通过同步组来重新同步音频回放与第一回放设备最初如何通过同步组来同步回放音频的方式类似。通过以本文描述的方式通过同步组来重新同步音频内容的回放,一些实施例能够在丢失和/或迟到的分组导致通过同步组传播的问题和/或延迟之前识别传入数据流中的问题(从不可靠的源接收)并中断回放。
本文公开的技术解决方案的这些和其他方面使第一回放设备能够(i)接收包括编码音频信息和其他控制/定时信息的第一帧流(具有第一格式),(ii)生成包括编码音频信息和回放定时信息的第二帧流(具有第二格式)并将其发送给一个或多个附加回放设备(即,至少第二回放设备和可能的附加回放设备),以及(iii)基于编码音频信息与一个或多个附加回放设备同步地播放音频内容,即使在第一数据流不可靠或不一致时也是如此。
例如,本文公开的一些实施例涉及包括一个或多个处理器和有形的、非暂时性的计算机可读介质的第一回放设备,该有形的、非暂时性的计算机可读介质包括指令,该指令在被执行时使第一回放设备与一个或多个其他回放设备同步地执行与播放音频内容有关的计算功能。
虽然本文描述的一些示例可以涉及由给定行动者(例如,“用户”、“收听者”和/或其他实体)执行的功能,但是应该理解,这仅仅出于解释的目的。除非权利要求本身的语言明确要求,否则不应将权利要求解释为要求任何此类示例行动者进行动作。
在附图中,相同的附图标记识别大致类似和/或相同的元件。为了促进对任何特定元件的讨论,附图标记中的一个或多个最高有效位指的是首次引入该元件的附图。例如,元件110a在参考图1A被首次引入和讨论。附图中所示的许多细节、尺寸、角度和其他特征仅仅是对所公开的技术的特定实施例的说明。因此,在不脱离本公开的精神或范围的情况下,其他实施例可以具有其他细节、尺寸、角度和特征。另外,本领域普通技术人员将理解,可以在没有以下描述的若干个细节的情况下实践各种公开的技术的其他实施例。
二、合适的操作环境
图1A是分布在环境101(例如,房屋)中的媒体回放系统100的局部剖视图。媒体回放系统100包括一个或多个回放设备110(分别被识别为回放设备110a-110n)、一个或多个网络麦克风设备(“NMD”)120(分别被识别为NMD 120a-120c)以及一个或多个控制设备130(分别被识别为控制设备130a和130b)。
如本文所使用的,术语“回放设备”通常可以指代被配置为接收、处理和输出媒体回放系统的数据的网络设备。例如,回放设备可以是接收和处理音频内容的网络设备。在一些实施例中,回放设备包括由一个或多个放大器供电的一个或多个换能器或扬声器。然而,在其他实施例中,回放设备包括扬声器和放大器之一(或任意一个都不包括)。例如,回放设备可以包括一个或多个放大器,该一个或多个放大器被配置为经由相应的电线或电缆来驱动回放设备外部的一个或多个扬声器。
此外,如本文中所使用的,术语NMD(即,“网络麦克风设备”)通常可以指代被配置用于音频检测的网络设备。在一些实施例中,NMD是主要配置用于音频检测的独立设备。在其他实施例中,NMD被合并到回放设备中(或反之亦然)。
术语“控制设备”通常可以指代网络设备,该网络设备被配置为执行与促进用户对媒体回放系统100进行访问、控制和配置相关的功能。
回放设备110中的每一个被配置为从一个或多个媒体源(例如,一个或多个远程服务器、一个或多个本地设备)接收音频信号或数据,并且回放所接收到的音频信号或数据作为声音。一个或多个NMD 120被配置为接收口语命令,并且一个或多个控制设备130被配置为接收用户输入。响应于所接收到的口语命令和/或用户输入,媒体回放系统100可以经由一个或多个回放设备110回放音频。在某些实施例中,回放设备11 0被配置为响应于触发而开始媒体内容的回放。例如,一个或多个回放设备110可以被配置为在检测到相关联的触发条件(例如,用户在厨房中的存在、检测咖啡机操作)时回放早晨的播放列表。在一些实施例中,例如,媒体回放系统100被配置为与第二回放设备(例如,回放设备100b)同步地回放来自第一回放设备(例如,回放设备100a)的音频。下面参照图1B-图1L更详细地描述根据本公开的各种实施例配置的媒体回放系统100的回放设备110、NMD 120和/或控制设备130之间的交互。
在图1A所示的实施例中,环境101包括具有多个房间、空间和/或回放地区的家庭,包括(从左上方开始的顺时针方向)主浴室101a、主卧室101b、第二卧室101c、家庭房或书房101d、办公室101e、客厅101f、餐厅101g、厨房101h和室外阳台101i。尽管下文在家居环境的上下文中描述了某些实施例和示例,但是本文所述的技术可以在其他类型的环境中实现。在一些实施例中,例如,媒体回放系统100可以在一个或多个商业设置(例如,餐厅、购物中心、机场、酒店、零售店或其他商店)、一个或多个交通工具(例如,运动型多功能车、巴士、汽车、轮船、小船、飞机)、多个环境(例如,家庭和交通工具环境的组合)和/或可能需要多区音频的其他合适环境中实现。
媒体回放系统100可以包括一个或多个回放地区,其中一些可以对应于环境101中的房间。媒体回放系统100可以建立有一个或多个回放地区,其后可以添加或移除附加地区,以形成例如图1A所示的配置。每个地区可以根据不同的房间或空间(例如,办公室101e、主浴室101a、主卧室101b、第二卧室101c、厨房101h、餐厅101g、客厅101f和/或室外阳台101i)被赋予名称。在一些方面,单个回放地区可以包括多个房间或空间。在某些方面,单个房间或空间可以包括多个回放地区。
在图1A所示的实施例中,主浴室101a、第二卧室101c、办公室101e、客厅101f、餐厅101g、厨房101h和室外庭院101i均包括一个回放设备110,并且主卧室101b和书房101d包括多个回放设备110。在主卧室101b中,回放设备1101和110m可以被配置为例如与回放设备110中的各个回放设备、绑定的回放地区、合并的回放设备和/或其任何组合同步地回放音频内容。类似地,在书房101d中,回放设备110h-110j可以被配置为例如与回放设备110中的各个回放设备、一个或多个绑定的回放设备和/或一个或多个合并的回放设备同步地回放音频内容。下面参照例如图1B和图1E以及图1I-图1M描述了关于绑定和合并的回放设备的附加细节。
在一些方面,环境101中的一个或多个回放地区均可以播放不同的音频内容。例如,用户可以正在庭院101i烧烤并收听由回放设备110c播放的嘻哈音乐,而另一用户正在厨房101h中准备食物并收听由回放设备110b播放的古典音乐。在另一示例中,回放地区可以与另一个回放地区同步地播放相同的音频内容。例如,用户可以正在办公室101e中收听回放设备110f播放与由庭院101i上的回放设备110c回放的嘻哈音乐相同的音乐。在一些方面,回放设备110c和110f同步地回放嘻哈音乐,使得用户感觉到音频内容在不同回放区之间移动时被无缝地(或至少基本上无缝地)播放。关于回放设备和/或区之间的音频回放同步的附加细节可以在例如题为“System and method for synchronizing operationsamong a plurality of independently clocked digital data processing devices”的美国专利No.8,234,395中找到,其全部内容通过引用并入本文。
a.合适的媒体回放系统
图1B是媒体回放系统100和云网络102的示意图。为了便于说明,从图1B中省略了媒体回放系统100和云网络102的某些设备。一个或多个通信链路103(在下文中被称为“链路103”)将媒体回放系统100和云网络102通信地耦合。
链路103可以包括例如一个或多个有线网络、一个或多个无线网络、一个或多个广域网(WAN)、一个或多个局域网(LAN)、一个或多个个域网(PAN)、一个或多个电信网络(例如,一个或多个全球移动系统(GSM)网络、码分多址(CDMA)网络、长期演进(LTE)网络、5G通信网络网络和/或其他合适的数据传输协议网络)等。云网络102被配置为响应于经由链路103从媒体回放系统100发送的请求,将媒体内容(例如,音频内容、视频内容、照片、社交媒体内容)传递到媒体回放系统100。在一些实施例中,云网络102还被配置为从媒体回放系统100接收数据(例如,语音输入数据)并相应地向媒体回放系统100发送命令和/或媒体内容。
云网络102包括计算设备106(分别被识别为第一计算设备106a、第二计算设备106b和第三计算设备106c)。计算设备106可以包括各个计算机或服务器,例如,存储音频和/或其他媒体内容的媒体流服务服务器、语音服务服务器、社交媒体服务器、媒体回放系统控制服务器等。在一些实施例中,一个或多个计算设备106包括单个计算机或服务器的模块。在某些实施例中,一个或多个计算设备106包括一个或多个模块、计算机和/或服务器。此外,尽管以上在单个云网络的上下文中描述了云网络102,但是在一些实施例中,云网络102包括多个包括通信耦合的计算设备的云网络。此外,尽管在图1B中将云网络102示为具有三个计算设备106,但是在一些实施例中,云网络102包括少于(或多于)三个计算设备106。
媒体回放系统100被配置为经由链路103从网络102接收媒体内容。所接收的媒体内容可以包括例如统一资源标识符(URI)和/或统一资源定位符(URL)。例如,在一些示例中,媒体回放系统100可以从与所接收到的媒体内容相对应的URI或URL流式传输、下载或以其他方式获得数据。网络104将链路103与媒体回放系统100的设备(例如,回放设备110、NMD120和/或控制设备130中的一个或多个)中的至少一部分通信地耦合。网络104可以包括例如无线网络(例如,WiFi网络、蓝牙、Z-Wave网络、ZigBee和/或其他合适的无线通信协议网络)和/或有线网络(例如,包括以太网、通用串行总线(USB)和/或其他合适的有线通信的网络)。如本领域普通技术人员将理解的,如本文中所使用的,“WiFi”可以指代以2.4兆赫兹(GHz)、5GHz和/或其他合适的频率传输的几种不同的通信协议,包括例如电气和电子工程师协会(IEEE)802.11a、802.11b、802.11g、802.11n、802.11ac、802.11ac、802.11ad、802.11af、802.11ah、802.11ai、802.11aj、802.11aq、802.11ax、802.11ay、802.15等。
在一些实施例中,网络104包括专用通信网络,媒体回放系统100使用该专用通信网络在各个设备之间发送消息和/或向媒体内容源(例如,一个或多个计算设备106)发送媒体内容和从媒体内容源发送媒体内容。在某些实施例中,网络104被配置为仅媒体回放系统100中的设备可访问,从而减少与其他家用设备的干扰和竞争。然而,在其他实施例中,网络104包括现有的家庭通信网络(例如,家庭WIFI网络)。在一些实施例中,链路103和网络104包括一个或多个相同的网络。在一些方面,例如,链路103和网络104包括电信网络(例如,LTE网络、5G网络)。此外,在一些实施例中,在没有网络104的情况下实现媒体回放系统100,并且包括媒体回放系统100的设备可以例如经由一个或多个直接连接、PAN、电信网络和/或其他合适的通信链路彼此通信。
在一些实施例中,可以在媒体回放系统100中定期添加音频内容源,或从中移除音频内容源。例如,在一些实施例中,当一个或多个媒体内容源被更新、添加到和/或从媒体回放系统100中移除时,媒体回放系统100对媒体项目进行索引。媒体回放系统100可以扫描回放设备110可访问的一些或所有文件夹和/或目录中的可识别媒体项目,并且产生或更新包括所找到的每个可识别媒体项目的元数据(例如,标题、艺术家、专辑、曲目长度)和其他相关联信息(例如,URI、URL)的媒体内容数据库。例如,在一些实施例中,媒体内容数据库被存储在回放设备110、网络麦克风设备120和/或控制设备130中的一个或多个上。
在图1B所示的实施例中,回放设备1101和110m包括组107a。回放设备1101和110m可以基于在媒体回放系统100中的控制设备130a和/或另一控制设备130处接收到的用户输入而被临时或永久地放置在家庭中的不同房间中并在组107a中被分组在一起。当布置在组107a中时,回放设备1101和110m可以被配置为同步地从一个或多个音频内容源回放相同或相似的音频内容。在某些实施例中,例如,组107a包括绑定地区,其中,回放设备110l和110m分别包括多声道音频内容的左音频声道和右音频声道,从而产生或增强音频内容的立体声效果。在一些实施例中,组107a包括附加的回放设备110。然而,在其他实施例中,媒体回放系统100省略了回放设备110的组107a和/或其他分组的布置。下面参照图11至图1M更详细地描述关于回放设备的组和其他布置的附加细节。
媒体回放系统100包括NMD 120a和120d,每个NMD包括一个或多个被配置为从用户接收语音发声的麦克风。在图1B所示的实施例中,NMD 120a是独立设备,并且NMD 120d被集成到回放设备110n中。NMD 120a例如被配置为从用户123接收语音输入121。在一些实施例中,NMD 120a向语音助手服务(VAS)发送与所接收到的语音输入121相关联的数据,该语音助手服务(VAS)被配置为(i)处理所接收到的语音输入数据,并且(ii)向媒体回放系统100发送对应的命令。在一些方面,例如,计算设备106c包括VAS(例如,由
Figure BDA0003634553570000161
中的一个或多个操作的VAS)的一个或多个模块和/或服务器。计算设备106c可以经由网络104和链路103从NMD 120a接收语音输入数据。响应于接收到语音输入数据,计算设备106c处理语音输入数据(即,“播放披头士乐队的Hey Jude”),并确定处理后的语音输入包括播放歌曲(例如,“Hey Jude”)的命令。因此,计算设备106c向媒体回放系统100发送命令,以从一个或多个回放设备110上的合适的媒体服务(例如,经由一个或多个计算设备106)回放披头士乐队的“Hey Jude”。
b.合适的回放设备
图1C是包括输入/输出111的回放设备110a的框图。输入/输出111可以包括模拟I/O 111a(例如,一条或多条电线、电缆和/或被配置为承载模拟信号的其他合适的通信链路)和/或数字I/O 111b(例如,一条或多条电线、电缆或被配置为承载数字信号的其他合适的通信链路)。在一些实施例中,模拟I/O 111a是音频线输入连接,包括例如自动检测的3.5mm音频线输入连接。在一些实施例中,数字I/O 111b包括索尼/飞利浦数字接口格式(S/PDIF)通信接口和/或电缆和/或东芝链路(TOSLINK)电缆。在一些实施例中,数字I/O 111b包括高清晰度多媒体接口(HDMI)接口和/或电缆。在一些实施例中,数字I/O 111b包括一个或多个无线通信链路,其包括例如射频(RF)、红外、WIFI、蓝牙或其他合适的通信协议。在某些实施例中,模拟I/O 111a和数字I/O 111b包括被配置为分别接收用于发送模拟信号和数字信号的电缆的连接器的接口(例如,端口、插头、插孔),而不必包括电缆。
回放设备110a例如可以经由输入/输出111(例如,电缆、电线、PAN、蓝牙连接、adhoc有线或无线通信网络、和/或其他合适的通信链路)从本地音频源105接收媒体内容(例如,包括音乐和/或其他声音的音频内容)。本地音频源105可以包括例如移动设备(例如,智能电话、平板计算机、膝上型计算机)或其他合适的音频组件(例如,电视机、台式计算机、放大器、留声机、蓝光播放器、存储数字媒体文件的存储器)。在一些方面,本地音频源105包括智能电话、计算机、网络连接存储(NAS)和/或被配置为存储媒体文件的其他合适的设备上的本地音乐库。在某些实施例中,回放设备110、NMD 120和/或控制设备130中的一个或多个包括本地音频源105。然而,在其他实施例中,媒体回放系统完全省略了本地音频源105。在一些实施例中,回放设备110a不包括输入/输出111,并且经由网络104接收所有音频内容。
回放设备110a还包括电子设备112、用户接口113(例如,一个或多个按钮、旋钮、转盘、触敏表面、显示器、触摸屏)以及一个或多个换能器114(以下称为“换能器114”)。电子设备112被配置为经由输入/输出111、经由网络104(图1B)的一个或多个计算设备106a-106c从音频源(例如,本地音频源105)接收音频,放大所接收的音频,并输出放大后的音频以经由一个或多个换能器114回放。在一些实施例中,回放设备110a可选地包括一个或多个麦克风115(例如,单个麦克风、多个麦克风、麦克风阵列)(在下文中被称为“麦克风115”)。在某些实施例中,例如,具有一个或多个可选麦克风115的回放设备110a可以作为NMD来操作,该NMD被配置为从用户接收语音输入并且基于所接收到的语音输入相应地执行一个或多个操作。
在图1C所示的实施例中,电子设备112包括一个或多个处理器112a(在下文中被称为“处理器112a”)、存储器112b、软件组件112c、网络接口112d、一个或多个音频处理组件112g(在下文中被称为“音频组件112g”)、一个或多个音频放大器112h(在下文中被称为“放大器112h”)和电源112i(例如,一个或多个电源、电源线、电源插座、电池、感应器线圈、以太网供电(POE)接口和/或其他合适的电源)。在一些实施例中,电子设备112可选地包括一个或多个其他组件112j(例如,一个或多个传感器、视频显示器、触摸屏、电池充电基座)。
处理器112a可以包括被配置为处理数据的时钟驱动的计算组件,并且存储器112b可以包括计算机可读介质(例如,有形的、非暂时性的计算机可读介质、装载有一个或多个软件组件112c的数据存储设备),该计算机可读介质被配置为存储用于执行各种操作和/或功能的指令。处理器112a被配置为执行存储在存储器112b上的指令以执行一个或多个操作。该操作可以包括例如使回放设备110a从音频源(例如,一个或多个计算设备106a-106c(图1B))和/或另一个回放设备110取回音频信息。在一些实施例中,该操作还包括使回放设备1 10a向另一个回放设备110a和/或其他设备(例如,NMD 120之一)发送音频信息。某些实施例包括使回放设备110a与一个或多个回放设备110中的另一个配对以启用多声道音频环境(例如,立体声对、绑定地区)的操作。
处理器112a还可以被配置为执行使回放设备110a将音频内容的回放与一个或多个回放设备110中的另一个同步的操作。如本领域的普通技术人员将理解的,在多个回放设备上的音频内容的同步回放期间,收听者将优选地无法感知回放设备110a与其他一个或多个其他回放设备110的音频内容回放之间的时延差。关于回放设备之间的音频回放同步的附加细节可以在例如美国专利No.8,234,395中找到,该专利通过引用合并于此。
在一些实施例中,存储器112b还可以被配置为存储与回放设备110a相关联的数据,例如,回放设备110a是其成员的一个或多个地区和/或地区组、回放设备110a可访问的音频源、和/或回放设备110a(和/或一个或多个回放设备中的另一个)可以与之相关联的回放队列。所存储的数据可以包括一个或多个状态变量,该状态变量被周期性地更新并用于描述回放设备110a的状态。存储器112b还可以包括与媒体回放系统100的一个或多个其他设备(例如,回放设备110、NMD 120、控制设备130)的状态相关联的数据。在一些方面,例如,状态数据在媒体回放系统100的至少一部分设备之间的预定时间间隔期间(例如,每5秒、每10秒、每60秒)共享,使得一个或多个设备具有与媒体回放系统100相关联的最新数据。
网络接口112d被配置为促进回放设备110a与数据网络(例如,链路103和/或网络104(图1B))上的一个或多个其他设备之间的数据传输。网络接口112d被配置为发送和接收与媒体内容(例如,音频内容、视频内容、文本、照片)和包括数字分组数据的其他信号(例如,非暂时性信号)相对应的数据,该数字分组数据包括基于互联网协议(IP)的源地址和/或基于IP的目标地址。网络接口112d可以解析数字分组数据,使得电子设备112正确地接收和处理去往回放设备110a的数据。
在图1C所示的实施例中,网络接口112d包括一个或多个无线接口112e(以下称为“无线接口112e”)。无线接口112e(例如,包括一个或多个天线的合适的接口)可以被配置为与一个或多个其他设备(例如,其他回放设备110、NMD 120和/或控制设备130中的一个或多个)无线通信,该一个或多个其他设备根据适合的无线通信协议(例如,WIFI、蓝牙、LTE)通信地耦合到网络104(图1B)。在一些实施例中,网络接口112d可选地包括有线接口112f(例如,被配置为接收诸如以太网、USB-A、USB-C和/或Thunderbolt电缆之类的网络电缆的接口或插座),该有线接口112f被配置为根据合适的有线通信协议通过与其他设备的有线连接进行通信。在某些实施例中,网络接口112d包括有线接口112f并且不包括无线接口112e。在一些实施例中,电子设备112完全排除网络接口112d,并且经由另一通信路径(例如,输入/输出111)发送和接收媒体内容和/或其他数据。
音频处理组件112g被配置为处理和/或过滤包括由电子设备112(例如,经由输入/输出111和/或网络接口112d)接收的媒体内容的数据,以产生输出音频信号。在一些实施例中,音频处理组件112g包括例如一个或多个数模转换器(DAC)、音频预处理组件、音频增强组件、数字信号处理器(DSP)和/或其他合适的音频处理组件、模块、电路等。在某些实施例中,音频处理组件112g中的一个或多个可以包括处理器112a的一个或多个子组件。在一些实施例中,电子设备112省略了音频处理组件112g。在一些方面,例如,处理器112a执行存储在存储器112b上的指令以执行音频处理操作以产生输出音频信号。
放大器112h被配置为接收和放大由音频处理组件112g和/或处理器112a产生的音频输出信号。放大器112h可以包括被配置为将音频信号放大到足以驱动一个或多个换能器114的电平的电子设备和/或组件。在一些实施例中,例如,放大器112h包括一个或多个开关或D类功率放大器。然而,在其他实施例中,放大器包括一种或多种其他类型的功率放大器(例如,线性增益功率放大器、A类放大器、B类放大器、AB类放大器、C类放大器、D类放大器、E类放大器、F类放大器、G类和/或H类放大器和/或其他合适类型的功率放大器)。在某些实施例中,放大器112h包括两个或更多个前述类型的功率放大器的合适的组合。此外,在一些实施例中,放大器112h中的各个放大器对应于换能器114中的各个换能器。然而,在其他实施例中,电子设备112包括放大器112h中的单个放大器,该单个放大器被配置为将放大后的音频信号输出到多个换能器114。在一些其他实施例中,电子设备112省略了放大器112h。
换能器114(例如,一个或多个扬声器和/或扬声器驱动器)从放大器112h接收放大的音频信号,并且将放大的音频信号呈现或输出为声音(例如,频率大约在20赫兹(Hz)和20千赫兹(kHz)之间的可听声波)。在一些实施例中,换能器114可以包括单个换能器。然而,在其他实施例中,换能器114包括多个音频换能器。在一些实施例中,换能器114包括多于一种类型的换能器。例如,换能器114可以包括一个或多个低频换能器(例如,超低音扬声器、低音扬声器)、中频换能器(例如,中档换能器、中频低音扬声器)和一个或多个高频换能器(例如,一或多个高音扬声器)。如本文中所使用的,“低频”通常可以指代低于约500Hz的可听频率,“中频”通常可以指代大约500Hz和大约2kHz之间的可听频率,并且“高频”通常可以指代高于2kHz的可听频率。然而,在某些实施例中,换能器114中的一个或多个包括不遵守前述频率范围的换能器。例如,换能器114之一可以包括中低音换能器,其被配置为以大约200Hz和大约5kHz之间的频率输出声音。
举例来说,SONOS公司目前提供(或已经提供)销售某些回放设备,包括例如“SONOSONE”、“PLAY:1”、“PLAY:3”、“PLAY:5”、“PLAYBAR”、“CONNECT:AMP”、“CONNECT”、和“SUB”。其他合适的回放设备可以附加地或备选地用于实现本文公开的示例实施例的回放设备。另外,本领域的普通技术人员将理解,回放设备不限于本文描述的示例或SGNGS产品供应。在一些实施例中,例如,一个或多个回放设备110包括有线或无线耳机(例如,耳挂式耳机、贴耳式耳机、入耳式耳机)。在其他实施例中,回放设备110中的一个或多个包括扩展坞和/或被配置为与用于个人移动媒体回放设备的扩展坞交互的接口。在某些实施例中,回放设备可以集成到另一设备或组件,例如,电视机、照明器材或在室内或室外使用的一些其他设备。在一些实施例中,回放设备省略用户接口和/或一个或多个换能器。例如,图1D是回放设备110p的框图,该回放设备110p包括输入/输出111和电子设备112,而没有用户接口113或换能器114。
图1E是绑定的回放设备110q的框图,该绑定的回放设备110q包括与回放设备110i(例如,超低音扬声器)(图1A)声音绑定的回放设备110a(图1C)。在所示的实施例中,回放设备110a和110i是容纳在分离的外壳中的回放设备110中的分离的回放设备。然而,在一些实施例中,绑定的回放设备110q包括容纳回放设备110a和110i两者的单个外壳。绑定的回放设备110q可以被配置为与未绑定的回放设备(例如,图1C的回放设备110a)和/或成对的或绑定的回放设备(例如,图1B的回放设备110l和110m)不同地处理和再现声音。在一些实施例中,例如,回放设备110a是被配置成呈现低频、中频和高频音频内容的全范围回放设备,并且回放设备110i是被配置成呈现低频音频内容的超低音扬声器。在一些方面,当与第一回放设备绑定时,回放没备110a被配置为仅呈现特定音频内容的中频和高频分量,而回放设备110i呈现特定音频内容的低频分量。在一些实施例中,绑定的回放设备110q包括附加的回放设备和/或另一个绑定的回放设备。下面参照图2A-图3D更详细地描述附加的回放设备实施例。
c.合适的网络麦克风设备(NMD)
图1F是NMD 120a(图1A和图1B)的框图。NMD 120a包括一个或多个语音处理组件124(以下称为“语音组件124”)和关于回放设备110a(图1C)描述的若干个组件,包括处理器112a、存储器112b和麦克风115。NMD 120a可选地包括还包括在回放设备110a(图1C)中的其他组件,例如,用户接口113和/或换能器114。在一些实施例中,NMD 120a被配置为媒体回放设备(例如,一个或多个回放设备110),并且还包括例如音频处理组件112g(图1C)、换能器114和/或其他回放设备组件中的一个或多个。在某些实施例中,NMD 120a包括物联网(IoT)设备,例如,恒温器、警报面板、火灾和/或烟雾探测器等。在一些实施例中,NMD 120a包括麦克风115、语音处理124、以及以上关于图1B描述的电子设备112的组件中的仅一部分。在一些方面,例如,NMD 120a包括处理器112a和存储器112b(图1B),而省略了电子设备112的一个或多个其他组件。在一些实施例中,NMD 120a包括附加组件(例如,一个或多个传感器、相机、温度计、气压计、湿度计)。
在一些实施例中,NMD可以被集成到回放设备中。图1G是包括NMD 120d的回放设备110r的框图。回放设备110r可以包括回放设备110a的许多或所有组件,并且还包括麦克风115和语音处理124(图1F)。回放设备110r可选地包括集成控制设备130c。控制设备130c可以包括例如被配置为在没有分离的控制设备的情况下接收用户输入(例如,触摸输入、语音输入)的用户接口(例如,图1B的用户接口113)。然而,在其他实施例中,回放设备110r从另一个控制设备(例如,图1B的控制设备130a)接收命令。下面参考图3A-图3F更详细地描述附加的NMD实施例。
再次参考图1F,麦克风115被配置为从环境(例如,图1A的环境101)和/或NMD 120a所位于的房间中获取、捕捉和/或接收声音。所接收到的声音可以包括例如语音发声、由NMD120a和/或另一个回放设备回放的音频、背景语音、环境声音等。麦克风115将所接收到的声音转换成电信号以产生麦克风数据。语音处理124接收并分析麦克风数据以确定在麦克风数据中是否存在语音输入。语音输入可以包括例如激活词,其后跟包括用户请求的发声。如本领域普通技术人员将理解的,激活词是表示用户语音输入的词或其他音频提示。例如,在查询
Figure BDA0003634553570000231
VAS时,用户可能会说出激活词“Alexa”。其他示例包括用于调用
Figure BDA0003634553570000232
VAS的“Ok,Google”和用于调用
Figure BDA0003634553570000233
VAS的“Hey,Siri”。
在检测到激活词之后,语音处理124监测语音输入中伴随的用户请求的麦克风数据。用户请求可以包括例如控制第三方设备(例如,恒温器(例如,
Figure BDA0003634553570000234
恒温器)、照明设备(例如,PHILIPS
Figure BDA0003634553570000235
照明设备)或媒体回放设备(例如,
Figure BDA0003634553570000236
回放设备))的命令。例如,用户可以说出激活词“Alexa”,其后跟“将恒温器设置为68度”的发声,以设置家庭(例如,图1A的环境101)中的温度。用户可以说出相同的激活词,其后跟“点亮客厅”的发声,以打开家庭客厅区域中的照明设备。用户可以类似地说出激活词,其后跟在家庭中的回放设备上播放特定歌曲、专辑或音乐播放列表的请求。关于接收和处理语音输入数据的附加描述可以在下面参照图3A-图3F更详细的描述中找到。
d.合适的控制设备
图1H是控制设备130a(图1A和图1B)的局部示意图。如本文所使用的,术语“控制设备”可以与“控制器”或“控制系统”互换使用。控制设备130a尤其被配置为接收与媒体回放系统100有关的用户输入,并且作为响应,使媒体回放系统100中的一个或多个设备执行与用户输入相对应的动作或操作。在所示的实施例中,控制设备130a包括其上安装了媒体回放系统控制器应用软件的智能电话(例如,iPhoneTM、Android电话)。在一些实施例中,控制设备130a包括例如平板计算机(例如,iPadTM)、计算机(例如,膝上型计算机、台式计算机)和/或其他合适的设备(例如电视、汽车音频头部单元、IoT设备)。在某些实施例中,控制设备130a包括用于媒体回放系统100的专用控制器。在其他实施例中,如以上关于图1G所描述的,控制设备130a被集成到媒体回放系统100中的另一设备中(例如,回放设备110、NMD 120和/或被配置为通过网络进行通信的其他合适的设备中的一个或多个)。
控制设备130a包括电子设备132、用户接口133、一个或多个扬声器134和一个或多个麦克风135。电子设备132包括一个或多个处理器132a(以下称为“处理器132a”)、存储器132b、软件组件132c和网络接口132d。处理器132a可以被配置为执行与促进用户对媒体回放系统100进行访问、控制和配置相关的功能。存储器132b可以包括数据存储设备,其可以加载有可由处理器302执行以执行那些功能的一个或多个软件组件。软件组件132c可以包括被配置为促进对媒体回放系统100的控制的应用和/或其他可执行软件。存储器112b可以被配置为存储例如软件组件132c、媒体回放系统控制器应用软件和/或与媒体回放系统100和用户相关联的其他数据。
网络接口132d被配置为促进控制设备130a与媒体回放系统100中的一个或多个其他设备和/或一个或多个远程设备之间的网络通信。在一些实施例中,网络接口132d被配置为根据一个或多个合适的通信行业标准(例如,红外、无线电、包括IEEE 802.3的有线标准、包括IEEE 802.11a、802.11b、802.11g、802.11n、802.11ac、802.15、4G、LTE的无线标准)进行操作。网络接口132d可以被配置为例如向回放设备110、NMD 120、控制设备130中的其他控制设备、图1B的计算设备106之一、以及包括一个或多个其他媒体回放系统的设备等发送数据和/或从这些设备接收数据。所发送的和/或所接收的数据可以包括例如回放设备控制命令、状态变量、回放地区和/或地区组配置。例如,基于在用户接口133处接收到的用户输入,网络接口132d可以向一个或多个回放设备发送来自控制设备304的回放设备控制命令(例如,音量控制、音频回放控制、音频内容选择)。网络接口132d也可以发送和/或接收配置更改,例如,将一个或多个回放设备添加到地区/从地区中删除;将一个或多个地区添加到地区组/从地区组中删除;形成绑定或合并的播放器;从绑定或合并的播放器分离一个或多个回放设备等。可以在下面参照图1I至图1M找到地区和组的附加描述。
用户接口133被配置为接收用户输入并且可以促进对媒体回放系统100的控制。用户接口133包括媒体内容艺术133a(例如,专辑封面、歌词、视频)、回放状态指示符133b(例如,经过时间和/或剩余时间指示符)、媒体内容信息区133c、回放控制区133d和地区指示符133e。媒体内容信息区133c可以包括对关于当前正在播放的媒体内容和/或队列或播放列表中的媒体内容的相关信息(例如,标题、艺术家、专辑、流派、发行年份)的显示。回放控制区133d可以包括可选择(例如,经由触摸输入和/或经由光标或其他合适的选择器)图标,以使所选择的回放地区或地区组中的一个或多个回放设备执行回放动作,例如,播放或暂停、快进、快退、跳到下一个、跳到前一个、进入/退出随机播放模式、进入/退出重复模式、进入/退出交叉淡入淡出模式等。回放控制区133d还可以包括用于修改均衡设置、回放音量和/或其他合适的回放动作的可选择图标。在所示的实施例中,用户接口133包括呈现在智能电话(例如,iPhoneTM、Android电话)的触摸屏界面上的显示。然而,在一些实施例中,可以备选地在一个或多个网络设备上实现变化的格式、样式和交互序列的其他用户接口,以提供对媒体回放系统的类似的控制访问。
一个或多个扬声器134(例如,一个或多个换能器)可以被配置为向控制设备130a的用户输出声音。在一些实施例中,一个或多个扬声器包括各个换能器,各个换能器被配置为相应地输出低频、中频和/或高频。在一些方面,例如,控制设备130a被配置为回放设备(例如,回放设备110之一)。类似地,在一些实施例中,控制设备130a被配置为NMD(例如,NMD120之一),其经由一个或多个麦克风135接收语音命令和其他声音。
一个或多个麦克风135可以包括例如一个或多个电容式麦克风、驻极体电容式麦克风、动态麦克风和/或其他合适类型的麦克风或换能器。在一些实施例中,两个或更多个麦克风135可以被布置为捕捉音频源(例如,语音、可听声音)的位置信息和/或被配置为促进对背景噪声的过滤。此外,在某些实施例中,控制设备130a被配置为用作回放设备和NMD。然而,在其他实施例中,控制设备130a省略了一个或多个扬声器134和/或一个或多个麦克风135。例如,控制设备130a可以包括设备(例如,恒温器、IoT设备、网络设备),该设备包括电子设备132的一部分和用户接口133(例如,触摸屏),而没有任何扬声器或麦克风。下面参照图4A-图4D和图5更详细地描述附加的控制设备实施例。
e.合适的回放设备配置
图1L至图1M示出了地区和地区组中的回放设备的示例配置。首先参考图1M,在一个示例中,单个回放设备可以属于一个地区。例如,第二卧室101c(图1A)中的回放设备110g可以属于C地区。在以下所述的一些实施方式中,多个回放设备可以被“绑定”以形成“绑定对”,它们一起形成单个地区。例如,回放设备1101(例如,左侧回放设备)可以被绑定到回放设备1101(例如,左侧回放设备)以形成A地区。绑定的回放设备可以具有不同的回放职责(例如,声道职责)。在以下所述的另一实施方式中,多个回放设备可以被合并以形成单个地区。例如,回放设备110h(例如,前置回放设备)可以与回放设备110i(例如,低音炮)以及回放设备110j和110k(例如,分别为左环绕扬声器和右环绕扬声器)合并以形成单个D地区。在另一示例中,回放设备110g和110h可以被合并以形成合并组或地区组108b。合并的回放设备110g和110h可以不被具体地分配不同的回放职责。即,合并的回放设备110h和110i除了可以同步播放音频内容之外,还可以如未合并时那样各自播放音频内容。
媒体回放系统100中的每个地区可以作为单个用户界面(UI)实体被提供以进行控制。例如,A地区可以作为名为主浴室的单个实体提供。B地区可以作为名为主卧室的单个实体提供。C地区可以作为名为第二卧室的单个实体提供。
绑定的回放设备可以具有不同的回放职责,例如,某些音频声道的职责。例如,如图1I所示,回放设备1101和110m可以被绑定,以便产生或增强音频内容的立体声效果。在该示例中,回放设备110l可以被配置为播放左声道音频分量,而回放设备110k可以被配置为播放右声道音频分量。在一些实施方式中,这种立体声绑定可以被称为“配对”。
另外,绑定的回放设备可以具有附加的和/或不同的相应扬声器驱动器。如图1J所示,可以将名为前置的回放设备110h与名为低音炮的回放设备110i绑定。前置设备110h可以被配置为呈现中高频范围,并且低音炮设备110i可以被配置为呈现低频。然而,当未绑定时,前置设备110h可以被配置为呈现整个频率范围。作为另一示例,图1K示出了前置设备110h和低音炮设备110i分别进一步与左侧回放设备110j和右侧回放设备110k绑定。在一些实施方式中,左侧设备110j和右侧设备102k可以被配置为形成家庭影院系统的环绕或“卫星”声道。绑定的回放设备110h、110i、110j和110k可以形成单个D地区(图1M)。
合并的回放设备可能尚未分配回放职责,并且每个都可以呈现相应回放设备能够回放的音频内容的全部范围。然而,合并的设备可以表示为单个UI实体(即,如上面所讨论的地区)。例如,主浴室中的回放设备110a和110n具有A地区的单个UI实体。在一个实施例中,回放设备110a和110n均可以输出每个相应的回放设备110a和110n能够同步回放的音频内容的全部范围。
在一些实施例中,NMD可以与另一设备绑定或合并,以形成地区。例如,可以将NMD120b与回放设备110e绑定,两者一起形成F地区,该F地区被命名为“客厅”。在其他实施例中,独立网络麦克风设备本身可以在一个地区中。然而,在其他实施例中,独立网络麦克风设备可能不与地区相关联。例如,在先前引用的美国专利申请No.15/438,749中可以找到关于将网络麦克风设备和回放设备关联为指定设备或默认设备的附加细节。
可以将各个、绑定和/或合并的设备的地区分在一组,以形成地区组。例如,参考图1M,A地区可以与B地区分在一组,以形成包括该两个地区的地区组。类似地,G地区可以与H地区分在一组,以形成地区组108b。作为另一示例,A地区可以与一个或多个其他地区C-I分在一组。A-I地区可以以多种方式进行分组和取消分组。例如,可以将A-I地区中的三个、四个、五个或更多个(例如,全部)分在一组。如先前参考的美国专利No.8,234,395中所述,当被分在一组时,各个和/或绑定的回放设备的地区可以彼此同步地回放音频。回放设备可以动态分组和取消分组,以形成同步回放音频内容的新的或不同的组。
在各种实施方式中,环境中的地区可以是组内地区的默认名称,或者是地区组内的地区名称的组合。例如,地区组108b可以被分配一个名称,例如“餐厅+厨房”,如图1M所示。在一些实施例中,还可以将地区组命名为由用户选择的唯一名称。
某些数据可以作为一个或多个状态变量存储在回放设备的存储器(例如,图1C的存储器112b)中,该一个或多个状态变量被周期性地更新并用于描述回放地区、回放设备和/或与其相关联的地区组的状态。存储器还可以包括与媒体系统的其他设备的状态相关联的数据,并且间或地在设备之间共享,使得设备中的一个或多个具有与系统相关联的最新数据。
在一些实施例中,存储器可以存储与状态相关联的各种变量类型的实例。变量实例可以与对应于类型的标识符(例如,标签)一起存储。例如,某些标识符可以是用于识别地区的回放设备的第一类型“a1”、用于识别可以绑定在该地区中的回放设备的第二类型“b1”和用于识别该地区可能所属的地区组的第三类型“c1”。作为相关示例,与第二卧室101c相关联的标识符可以指示回放设备是C地区的唯一回放设备,而不是地区组中的回放设备。与书房相关联的标识符可以指示该书房没有与其他地区分在一组,而是包括绑定的回放设备110h-110k。与餐厅相关联的标识符可以指示该餐厅是餐厅+厨房地区组108b的一部分,并且设备110b和110d被分在一组(图1L)。由于厨房是餐厅+厨房地区组108b的一部分,因此与该厨房相关联的标识符可以指示相同或相似的信息。其他示例地区变量和标识符如下所述。
在又一示例中,媒体回放系统100可以存储表示地区和地区组的其他关联的变量或标识符,例如,与区域相关联的标识符,如图1M所示。区域可以涉及地区组的集群和/或不在地区组内的地区的集群。例如,图1M示出了包括A-D地区的上部区域109a,以及包括E-I地区的下部区域109b。在一个方面,区域可以用于调用地区组和/或地区的集群,其共享另一集群的一个或多个地区和/或地区组。在另一方面,这不同于地区组,地区组不与另一地区组共享地区。用于实现区域的技术的其他示例可以在例如2017年8月21日提交的题为“RoomAssociation Based on Name”的美国申请No.15/682,506和2007年9月11日提交的题为“Controlling and manipulating groupings in a multi-zone media system”的美国专利No.8,483,853中找到。这些申请中的每一个通过引用整体并入本文。在一些实施例中,媒体回放系统100可以不实现区域,在这种情况下,系统可以不存储与区域相关联的变量。
三.示例系统和设备
图2A是根据所公开的技术的各方面配置的回放设备210的前等距视图。图2B是回放设备210的没有格栅216e的前等距视图。图2C是回放设备210的分解图。一起参照图2A-图2C,回放设备210包括壳体216,该壳体216包括上部216a、右侧或第一侧部216b、下部216c、左侧或第二侧部216d、格栅216e和后部216f。多个紧固件216g(例如,一个或多个螺钉、铆钉、夹子)将框架216h附接到壳体216。壳体216中的腔体216j(图2C)被配置为接收框架216h和电子设备212。框架216h被配置为承载多个换能器214(在图2B中分别识别为换能器214a-214f)。电子设备212(例如,图1C的电子设备112)被配置为从音频源接收音频内容,并向换能器214发送与音频内容相对应的电信号以进行回放。
换能器214被配置为从电子设备112接收电信号,并且还被配置为在回放期间将所接收到的电信号转换为可听声音。例如,换能器214a-214c(例如,高音扬声器)可以被配置为输出高频声音(例如,频率大于大约2kHz的声波)。换能器214d-214f(例如,中频低音扬声器、低音扬声器、中频扬声器)可以被配置为以低于换能器214a-214c的频率的频率输出声音(例如,频率低于大约2kHz的声波)。在一些实施例中,回放设备210包括与图2A-图2C所示的换能器不同的多个换能器。例如,如下面参考图3A-3C进一步详细描述的,回放设备210可以包括少于六个换能器(例如,一个、两个、三个)。然而,在其他实施例中,回放设备210包括多于六个换能器(例如,九个、十个)。此外,在一些实施例中,换能器214的全部或一部分被配置为作为相控阵来操作,以期望地调整(例如,变窄或变宽)换能器214的辐射图,从而改变用户对从回放设备210发出的声音的感知。
在图2A-图2C的所示实施例中,滤波器216i与换能器214b轴向对准。滤波器216i可以被配置为期望地衰减换能器214b输出的预定频率范围,以改善声音质量和换能器214共同输出的感知声级。然而,在一些实施例中,回放设备210省略了滤波器216i。在其他实施例中,回放设备210包括与换能器214b和/或换能器214中的至少另一个对准的一个或多个附加滤波器。
图3A和图3B分别是根据所公开的技术的实施例配置的NMD320的前等距侧视图和右等距侧视图。图3C是NMD 320的分解图。图3D是图3B的一部分的放大图,包括NMD 320的用户接口313。首先参考图3A-图3C,NMD 320包括壳体316,该壳体316包括上部316a、下部316b和中间部分316c(例如,格栅)。上部316a中的多个端口、洞或孔316d允许声音传递到位于壳体316内的一个或多个麦克风315(图3C)。一个或多个麦克风316被配置为经由孔316d接收声音,并基于所接收到的声音产生电信号。在所示实施例中,壳体316的框架316e(图3C)围绕腔体316f和316g,该腔体316f和316g被配置为分别容纳第一换能器314a(例如,高音扬声器)和第二换能器314b(例如,中频低音扬声器、中频扬声器、低音扬声器)。然而,在其他实施例中,NMD 320包括单个换能器,或者两个以上(例如,两个、五个、六个)换能器。在某些实施例中,NMD 320完全省略了换能器314a和314b。
电子设备312(图3C)包括被配置为驱动换能器314a和314b并进一步被配置为分析与一个或多个麦克风315产生的电信号相对应的音频数据的组件。例如,在一些实施例中,电子设备312包括以上参照图1C描述的电子设备112的许多或所有组件。在某些实施例中,电子设备312包括以上参照图1F描述的组件,例如,一个或多个处理器112a、存储器112b、软件组件112c、网络接口112d等。在一些实施例中,电子设备312包括附加的合适的组件(例如,接近传感器或其他传感器)。
参照图3D,用户接口313包括多个控制表面(例如,按钮、旋钮、电容性表面),该控制表面包括第一控制表面313a(例如,前一个的控件)、第二控制表面313b(例如,下一个的控件)和第三控制表面313c(例如,播放和/或暂停控件)。第四控制表面313d被配置为接收与一个或多个麦克风315的激活和停用相对应的触摸输入。第一指示器313e(例如,一个或多个发光二极管(LED)或另一种合适的照明器)可以被配置为仅在一个或多个麦克风315被激活时才照明。第二指示器313f(例如,一个或多个LED)可以被配置为在正常操作期间保持常亮,并且闪烁或以其他方式从常亮改变以指示检测到语音活动。在一些实施例中,用户接口313包括附加的或更少的控制表面和照明器。在一个实施例中,例如,用户接口313包括第一指示器313e,省略了第二指示器313f。此外,在某些实施例中,NMD 320包括回放设备和控制设备,并且用户接口313包括控制设备的用户接口。
一起参照图3A-图3D,NMD 320被配置为经由一个或多个麦克风315从一个或多个相邻用户接收语音命令。如以上参照图1B所描述的,一个或多个麦克风315可以获取、捕捉或记录附近(例如,在NMD 320的10m或更小范围内的区域)的声音,并且向电子设备312发送与所记录的声音相对应的电信号。电子设备312可以处理电信号,并且可以分析所得的音频数据以确定存在一个或多个语音命令(例如,一个或多个激活词)。在一些实施例中,例如,在检测到一个或多个合适的语音命令之后,NMD 320被配置为向另一设备和/或远程服务器(例如,图1B的一个或多个计算设备106)发送所记录的音频数据的一部分以进行进一步分析。远程服务器可以分析音频数据,基于语音命令确定适当的动作,并向NMD 320发送消息以执行适当的动作。例如,用户可以说“Sonos,播放Michael Jackson”。NMD 320可以经由一个或多个麦克风315记录用户的语音发声,确定语音命令的存在,并且向远程服务器(例如,图1B的一个或多个远程计算设备106,VAS和/或另一种合适的服务的一个或多个服务器)发送具有语音命令的音频数据。远程服务器可以分析音频数据并确定与命令相对应的动作。然后,远程服务器可以向NMD 320发送命令以执行所确定的动作(例如,回放与MichaelJackson相关的音频内容)。NMD 320可以接收命令并从媒体内容源回放与Michael Jackson相关的音频内容。如上面关于图1B所描述的,合适的内容源可以包括经由LAN(例如,图1B的网络104)通信地耦合到NMD 320的设备或存储、远程服务器(例如,图1B的远程计算设备106中的一个或多个)等。然而,在某些实施例中,NMD 320确定和/或执行与一个或多个语音命令相对应的一个或多个动作,而无需外部设备、计算机或服务器的干预或介入。
图3E是示出了根据本公开的各方面的NMD 320的附加特征的功能框图。NMD 320包括被配置为促进语音命令捕捉的组件,包括:语音活动检测器组件312k、波束成形器组件312l、回声消除(AEC)和/或自声音抑制组件312m、激活词检测器组件312n和语音/话音转换组件312o(例如,语音到文本和文本到语音)。在图3E所示的实施例中,前述组件312k-312o被示出为分离的组件。然而,在一些实施例中,组件312k-312o中的一个或多个是处理器112a的子组件。
波束成形和自声音抑制组件312l和312m被配置为检测音频信号并确定所检测到的音频信号中表示的语音输入的各个方面,例如,方向、幅度、频谱等。语音活动检测器活动组件312k与波束成形和AEC组件312l和312m可操作地耦合,并且被配置为确定在所检测到的音频信号中很可能已经发生语音活动的一个或多个方向。可以通过监测将话音与其他声音区分开的度量来识别潜在的话音方向。这种度量可以包括例如相对于背景噪声的话音频带内的能量和该话音频带内的熵(其是频谱结构的测量)。如本领域普通技术人员将理解的,话音通常具有比大多数常见背景噪声更低的熵。
激活词检测器组件312n被配置为监测和分析所接收到的音频以确定在所接收到的音频中是否存在任何激活词(例如,唤醒词)。激活词检测器组件312n可以使用激活词检测算法来分析所接收到的音频。如果激活词检测器312n检测到激活词,则NMD 320可以处理所接收到的音频中包含的语音输入。示例激活词检测算法接受音频作为输入,并且提供在该音频中是否存在激活词的指示。许多第一方和第三方激活词检测算法是已知的并且可商购的。例如,语音服务的运营商可以使其算法可用于第三方设备。备选地,可以训练算法以检测某些激活词。在一些实施例中,激活词检测器312n同时(或基本上同时)对接收到的音频运行多个激活词检测算法。如上所述,不同的语音服务(例如,AMAZON的
Figure BDA0003634553570000331
APPLE的
Figure BDA0003634553570000332
或MICROSOFT的
Figure BDA0003634553570000333
)均可以使用不同的激活词来调用它们各自的语音服务。为了支持多种服务,激活词检测器312n可以针对每个支持的语音服务通过激活词检测算法并行地运行接收到的音频。
语音/文本转换组件312o可以通过将语音输入中的语音转换为文本来促进处理。在一些实施例中,电子设备312可以包括针对与家庭相关联的特定用户或特定用户集合训练的语音识别软件。这样的语音识别软件可以实现被调谐到特定语音简档的语音处理算法。调谐到特定的语音简档可以需要比传统语音激活服务更少的计算密集型算法,传统语音激活服务通常从广泛的用户基础和不针对媒体回放系统的各种请求中进行采样。
图3F是根据本公开的各方面的由NMD 320捕捉的示例语音输入328的示意图。语音输入328可以包括激活词部分328a和语音发声部分328b。在一些实施例中,激活词557a可以是已知的激活词,例如,与AMAZON的
Figure BDA0003634553570000341
相关联的“Alexa”。然而,在其他实施例中,语音输入328可以不包括激活词。在一些实施例中,网络麦克风设备可以在检测到激活词部分328a时输出可听和/或可视响应。附加地或备选地,NMB可以在处理语音输入和/或一系列语音输入之后输出可听和/或可视响应。
语音发声部分328b可以包括:例如,一个或多个口头命令(分别被识别为第一命令328c和第二命令328e)和一个或多个口头关键词(分别被识别为第一关键词328d和第二关键词328f)。在一个示例中,第一命令328c可以是播放音乐的命令,例如,特定的歌曲、专辑、播放列表等。在该示例中,关键词可以是识别要在其中播放音乐的一个或多个地区(例如,图1A中所示的客厅和餐厅)的一个或多个单词。在一些示例中,语音发声部分328b可以包括其他信息,例如,所检测到的用户说出的单词之间的暂停(例如,非语音的时间段),如图3F所示。该暂停可以在语音发声部分328b内标定用户说出的分开的命令、关键词或其他信息的位置。
在一些实施例中,媒体回放系统100被配置为在检测到激活词部分557a的同时临时减小其正在播放的音频内容的音量。媒体回放系统100可以在处理语音输入328之后恢复音量,如图3F所示。这样的过程可以被称为回避(ducking),其示例在通过引用整体并入本文的美国专利申请No.15/438,749中公开。
图4A-图4D是控制设备430(例如,图1H的控制设备130a、智能电话、平板电脑、专用控制设备、IoT设备和/或另一种合适的设备)的示意图,示出了在各种操作状态下的相应的用户界面显示。第一用户界面显示431a(图4A)包括显示名称433a(即“房间”)。所选组区433b显示在所选组和/或地区中回放的音频内容的音频内容信息(例如,艺术家姓名、曲目名称、专辑封面)。组区433c和433d显示相应的组和/或地区名称,以及在相应组或地区的回放队列中回放的或下一个回放的音频内容的音频内容信息。音频内容区433e包括与所选组和/或地区(即,所选组区433b中指示的组和/或地区)中的音频内容有关的信息。下部显示区433f被配置为接收触摸输入以显示一个或多个其他用户界面显示。例如,如果用户在下部显示区433f中选择“浏览”,则控制设备430可以被配置为输出第二用户界面显示431b(图4B),该第二用户界面显示431b包括多个音乐服务433g(例如,Spotify、Tunein电台、Apple音乐、Pandora、Amazon、TV、本地音乐、线路输入),用户可以通过这些音乐服务浏览媒体内容,并且用户可以经由一个或多个回放设备(例如,图1A的回放设备110之一)从这些音乐服务中选择媒体内容以进行回放。备选地,如果用户在下部显示区433f中选择“我的Sonos”,则控制设备430可以被配置为输出第三用户界面显示431c(图4C)。第一媒体内容区433h可以包括与各个专辑、电台或播放列表相对应的图形表示(例如,专辑封面)。第二媒体内容区433i可以包括与各个歌曲、曲目或其他媒体内容相对应的图形表示(例如,专辑封面)。如果用户选择图形表示433j(图4C),则控制设备430可以被配置为开始回放与图形表示433j相对应的音频内容,并输出第四用户界面显示431d,第四用户界面显示431d包括图形表示433j的放大版本、媒体内容信息433k(例如,曲目名称、艺术家、专辑)、传输控件433m(例如,播放、上一个、下一个、暂停、音量)以及对当前所选组和/或地区名称的指示433n。
图5是控制设备530(例如,膝上型计算机、台式计算机)的示意图。控制设备530包括换能器534、麦克风535和相机536。用户界面531包括传输控制区533a、回放状态区533b、回放地区区533c、回放队列区533d和媒体内容源区533e。传输控制区包括一个或多个用于控制媒体回放的控件,该控件包括例如音量、上一个、播放/暂停、下一个、重复、随机播放、曲目位置、淡入淡出、均衡等。音频内容源区533e包括一个或多个媒体内容源的列表,用户可以从该列表中选择媒体项目以用于回放和/或添加到回放队列。
回放地区区533b可以包括媒体回放系统100内的回放地区的表示(图1A和图1B)。在一些实施例中,回放地区的图形表示可以是可选择的,以调出附加的可选择图标来管理或配置媒体回放系统中的回放地区,例如,绑定地区的创建、地区组的创建、地区组的分离、地区组的重命名等。在所示的实施例中,可以在回放地区的每个图形表示内提供“分组”图标。在特定地区的图形表示内提供的“分组”图标可以是可选择的,以调出用于选择要与特定地区分在一组的媒体回放系统中的一个或多个其他地区的选项。一旦被分组,已经与特定地区分在一组的地区中的回放设备可以被配置为与该特定地区中的回放设备同步地播放音频内容。类似地,可以在地区组的图形表示内提供“分组”图标。在所示实施例中,“分组”图标可以是可选择的,以调出用于取消选择要从地区组中移除的该地区组中的一个或多个地区的选项。在一些实施例中,控制设备530包括用于经由用户界面531对地区进行分组和取消分组的其他交互作用和实现。在某些实施例中,当回放地区或地区组配置被修改时,可以动态地更新回放地区在回放地区区533b中的表示。
回放状态区533c包括在所选择的回放地区或地区组中当前正在播放、先前播放或被安排为接下来播放的音频内容的图形表示。可以在用户界面上(例如,在回放地区区533b和/或回放队列区533d内)可视地区分所选择的回放地区或地区组。图形表示可以包括曲目名称、艺术家姓名、专辑名称、专辑年份、曲目长度和其他相关信息,当用户经由用户界面531控制媒体回放系统100时,用户了解这些信息可以是有用的。
回放队列区533d可以包括与所选择的回放地区或地区组相关联的回放队列中的音频内容的图形表示。在一些实施例中,每个回放地区或地区组可以与回放队列相关联,该回放队列包含与该回放地区或地区组回放的零个或多个音频项相对应的信息。例如,回放队列中的每个音频项可以包括统一资源标识符(URI)、统一资源定位符(URL)或一些其他标识符,其可以由回放区域或区域组中的回放设备用于从本地音频内容源或联网音频内容源查找和/或获取音频项,可能供回放设备回放。在一些实施例中,例如,可以将播放列表添加到回放队列,在这种情况下,可以将与播放列表中的每个音频项对应的信息添加到回放队列。在一些实施例中,回放队列中的音频项可以被保存为播放列表。在某些实施例中,当回放地区或地区组正在持续播放流传输音频内容(例如,互联网收音机,其可以持续播放直到被停止),而不是具有回放持续时间的分立音频项时,回放队列可以为空的或被填充但“未使用”。在一些实施例中,回放队列可以包括互联网收音机和/或其他流传输音频内容项,并且当回放地区或地区组正在播放这些项时处于“使用中”。
当回放地区或地区组被“分组”或“取消分组”时,可以清除与受影响的回放地区或地区组相关联的回放队列,或者重新关联。例如,如果包括第一回放队列的第一回放地区与包括第二回放队列的第二回放地区被分在一组,则所建立的地区组可以具有相关联的回放队列(其最初是空的),包含来自第一回放队列的音频项(例如,如果第二回放地区被添加到第一回放地区),或包含来自第二回放队列的音频项(例如,如果第一回放地区被添加到第二回放地区),或包含来自第一回放队列和第二回放队列二者的音频项的组合。随后,如果所建立的地区组被取消分组,则所得到的第一回放地区可以与先前的第一回放队列重新关联,或者与新的回放队列相关联,该新的回放队列是空的,或者包含与来自在所建立的地区组被取消分组之前所建立的地区组相关联的回放队列的音频项。类似地,所得到的第二回放区可以与先前的第二回放队列重新关联,或者与新的回放队列相关联,该新的回放队列是空的,或者包含来自在与所建立的区域分组被取消分组之前所建立的区域分组相关联的回放队列的音频项。
图6是示出了媒体回放系统100(图1A-图1M)的设备之间的数据交换的消息流程图。
在步骤650a处,媒体回放系统100经由控制设备130a接收对所选媒体内容(例如,一个或多个歌曲、专辑、播放列表、播客、视频、电台)的指示。所选媒体内容可以包括例如本地存储在连接到媒体回放系统的一个或多个设备(例如,图1C的音频源105)上的媒体项和/或存储在一个或多个媒体服务服务器(图1B的一个或多个远程计算设备106)上的媒体项。响应于接收到对所选媒体内容的指示,控制设备130a向回放设备110a发送消息651a(图1A-1C),以将所选媒体内容添加到回放设备110a上的回放队列。
在步骤650b处,回放设备110a接收消息651a,并将所选媒体内容添加到回放队列以进行回放。
在步骤650c处,控制设备130a接收与回放所选媒体内容的命令相对应的输入。响应于接收到与回放所选媒体内容的命令相对应的输入,控制设备130a向回放设备110a发送消息651b,使回放设备110a回放所选媒体内容。响应于接收到消息651b,回放设备110a向第一计算设备106a发送消息651c,以请求所选媒体内容。响应于接收到消息651c,第一计算设备106a发送消息651d,该消息651d包括与所请求的媒体内容相对应的数据(例如,音频数据、视频数据、URL、URI)。
在步骤650d处,回放设备110a接收具有与所请求的媒体内容相对应的数据的消息651d,并回放相关联的媒体内容。
在步骤650e处,回放设备110a可选地使一个或多个其他设备回放所选媒体内容。在一个示例中,回放设备110a是两个或更多个播放器的绑定区之一(图1M)。回放设备110a可以接收所选媒体内容,并向绑定区中的其他设备发送媒体内容的全部或一部分。在另一示例中,回放设备110a是组的协调器,并且被配置为从组中的一个或多个其他设备发送和接收定时信息。该组中的其他一个或多个设备可以从第一计算设备106a接收所选媒体内容,并且响应于来自回放设备110a的消息,开始回放所选媒体内容,使得组中的所有设备同步回放所选媒体内容。
四.示例实施例的概述
如上所述,期望媒体回放系统播放(i)来自许多不同源(例如,音频流服务、视频流服务、音频或视频源、语音助理服务(VAS)、门铃、对讲机、电话和其他源)的媒体内容,以及(ii)经由许多不同类型的输入接口(例如,WIFI、蓝牙、数字线路输入、模拟线路输入、光纤线路输入和其他类型的输入接口)的媒体内容。但是,虽然被配置为经由许多不同类型的输入接口播放来自许多不同源的媒体内容的媒体回放系统使用户能够从几乎任何类型的媒体源中欣赏音乐、音频、视频和其他媒体内容,但是以一致且可靠的方式在媒体回放系统中的多个回放设备(包括音频、视频和音频/视频回放设备)之间协调来自如此多样化的媒体源和接口类型集合的音频内容的同步回放提出了技术挑战,因为媒体内容交付的一致性和可靠性因媒体源和输入接口类型而异。
在一些示例实施例中,第一回放设备(i)经由蓝牙连接从音频源(如下所述)接收包括编码音频信息的第一帧流,(ii)从接收到的蓝牙帧中提取编码音频信息,(iii)生成包括所提取的音频信息和所提取的编码音频信息的回放定时信息的第二帧流并经由WIFI连接将其发送给一个或多个附加回放设备,以及(iv)对该音频信息进行解码,并通过使用第二帧流中的编码音频信息和回放定时与一个或多个附加回放设备同步播放音频内容。该示例实施例在本文中有时被称为蓝牙线路输入配置。
对于蓝牙线路输入配置,蓝牙帧通常以与用户数据报协议(UDP)分组类似的方式进行发送,因为蓝牙发送器将每个帧发送给蓝牙接收器一次,并且然后由蓝牙接收器来检测该帧并从中提取数据。此外,如果蓝牙接收器未能接收到帧或确定帧内的数据已损坏,则蓝牙接收器通常没有机会要求蓝牙发送器重新发送蓝牙帧。蓝牙发送器和接收器操作的2.4GHz频带因许多设备而极度拥塞,并且因此,无线干扰和蓝牙帧丢失很常见。例如,其他也在2.4GHz频带内和附近工作的设备包括(i)无绳电话、微波炉、婴儿监测器和家中的车库门控制器,(ii)被配置为使用2.4GHz WIFI网络的无线设备,(iii)被配置为使用LTE无线网络的无线设备,以及(iv)其他蓝牙设备。
在操作中,频繁的蓝牙帧丢失和传输错误(例如,由2.4GHz网络拥塞或其他形式的干扰导致)会使蓝牙音频信息源与第一回放设备之间的蓝牙链路不一致且不可靠。并且当第一回放设备(例如,充当同步组协调器)正在将经由蓝牙链路接收的音频信息分发给一个或多个附加回放设备(例如,组成员)以进行同步回放(其中组协调器和组成员形成同步组),第一回放设备(组协调器)和一个或多个附加回放设备(组成员)可能由于组协调器传输第二数据流的帧之间的延迟而发生故障(例如,彼此不同步),并且因此延迟了组成员接收第二数据流的帧。作为结果,在组成员在从组协调器接收包括音频信息和回放定时的第二数据流的帧时遇到延迟之后,当组成员从故障中恢复(例如,与组协调器重新同步它们音频内容的回放)时,在回放期间可能存在回放异常(例如,回声)。
如下面进一步描述的,为了避免或至少改善同步组对音频内容的同步回放的问题,该问题是由于组协调器经由音频源对音频信息(例如,经由蓝牙线路输入接口从音频源接收到的音频信息)的接收不可靠且不一致,本文公开和描述的一些实施例包括组协调器尤其(i)为丢失或损坏的音频信息生成空数据,(ii)为所生成的空数据生成回放定时信息,(iii)将空数据和空数据的回放定时发送给一个或多个组成员,以及(iv)使用空数据和空数据的回放定时,结合音频信息和音频信息的回放定时,基于音频信息和空数据与一个或多个组成员同步地回放音频内容。在一些实施例中,响应于确定和/或检测到经由音频源的音频信息的传入数据流的一个或多个问题,组协调器附加地或备选地重新同步同步组成员对音频内容的回放。
五.技术特征
在一些实施例中,技术解决方案的至少一些方面源自音频信息、回放设备用于彼此同步播放来自音频源的音频内容的回放定时和时钟定时信息的技术结构和组织,包括不同的回放设备如何基于时钟定时来生成回放定时以及基于回放定时和时钟定时来播放音频内容。
因此,为了帮助理解所公开的技术解决方案的某些方面,下面描述了音频信息、回放定时和时钟定时信息的某些技术细节,以及回放设备如何生成和/或使用用于播放音频内容的回放定时和时钟定时。除非另有说明,否则下面描述的音频信息、回放定时和时钟定时信息的技术细节对于本文中参考图7、图8和图9示出和描述的示例是相同的或至少基本上相同的。
a.音频内容
音频内容可以是现在已知或以后开发的任何类型的音频内容。例如,在一些实施例中,音频内容包括以下任何各项中一项或多项:(i)从流媒体服务(例如,Spotify、Pandora或其他流媒体服务)获得的流媒体音乐或其他音频;(ii)来自本地音乐库的流式音乐或其他音频,例如存储在以下设备上的音乐库:用户的膝上型计算机、台式计算机、智能电话、平板计算机、家庭服务器或其他现在已知或以后开发的计算设备;(iii)与视频内容相关的音频内容,例如与从以下设备中的任何一种接收的电视节目或电影相关联的音频:电视、机顶盒、数字视频录像机、数字视频光盘播放器、流式视频服务、或现在已知或以后开发的视听媒体内容的任何其他源;(iv)来自语音助手服务(VAS)的文本转语音或其他可听内容,例如,Amazon Alexa或现在已知或以后开发的其他VAS服务;(v)来自门铃或对讲系统(例如,Nest、Ring或现在已知或以后开发的其他门铃或对讲系统)的音频内容;和/或(vi)来自电话、视频电话、视频/电话会议系统或被配置为允许用户经由音频和/或视频彼此进行通信的其他应用的音频内容。
在操作中,组协调器(有时被称为“源”回放设备)经由回放设备上的接口(例如,源回放设备的网络接口、“线路输入”模拟接口、数字音频接口、或适合接收现在已知或以后开发的数字或模拟格式的音频内容的任何其他接口之一)从音频源获得上述类型的音频内容中的任何一种。
音频源是生成、提供或以其他方式使上述音频内容中的任何一种对回放设备可用的任何系统、设备或应用。例如,在一些实施例中,音频源包括以下中的任何一种或多种:流媒体(音频、视频)服务、数字媒体服务器或其他计算系统、VAS服务、电视、有线电视机顶盒、流媒体播放器(例如,AppleTV、Roku、游戏机)、CD/DVD播放器、门铃、对讲机、电话、平板计算机或数字音频内容的任何其他源。
从音频源接收或以其他方式从音频源获得音频信息以用于回放和/或分发给其他回放设备的回放设备在本文中有时被称为组协调器或“源”回放设备。同步组的组协调器的一个功能是处理接收到的音频信息以用于回放和/或分发给同步组的组成员以进行同步回放。在一些实施例中,组协调器将处理后的音频信息发送给组协调器被配置为控制的同步组中的所有其他组成员。在一些实施例中,组协调器将音频信息发送给多播网络地址,并且被配置为播放音频内容的所有其他回放设备(即,同步组的组成员)经由该多播地址接收音频信息。在一些实施例中,组协调器将音频信息发送给被配置为播放音频内容的每个其他回放设备(即,组成员)的每个单播网络地址,以及被配置为播放音频内容的每个其他回放设备(即,组成员)经由其单播地址接收音频信息。
如上所述,在一些蓝牙线路输入实施例(以及其他实施例)中,组协调器例如经由分组流(在本文中有时被称为第一数据流或传入数据流)从数字形式的音频源接收音频信息。在一些实施例中,第一数据流中的各个分组具有指定分组的排序的序列号或其他标识符。在操作中,组协调器使用序列号或其他标识符来检测丢失的分组和/或在执行进一步处理之前以正确的顺序重新组装第一数据流的分组。在一些实施例中,指定分组的排序的序列号或其他标识符是(或至少包括)指示创建分组时的时间的时间戳。可以基于以下假设来将分组创建时间用作序列号:分组是按照随后它们应被播放出的顺序创建的。
例如,在蓝牙线路输入实施例中,各个分组包括时间戳和序列号两者。时间戳用于将音频信息的传入分组按正确的顺序放置,并且序列号主要用于检测分组丢失。在操作中,从蓝牙发送器发送的每个实时传输协议(RTP)分组的序列号都会增加1,并且时间戳会增加RTP分组所“覆盖”的时间。在音频内容的一部分被拆分为多个RTP分组的情况下,多个RTP分组可以具有相同的时间戳。
在一些实施例中,组协调器在处理期间不改变接收到的分组的序列号或标识符。在一些实施例中,组协调器基于每个分组的序列标识符对分组流中的至少第一分组集合重新排序,从接收到的分组中提取音频信息,从接收到的分组中重新组装音频信息的比特流,以及然后将重新组装后的比特流重新分组到第二分组集合(在本文中有时被称为第二数据流),其中第二分组集合中的分组具有与第一分组集合(或第一数据流)中的分组的序列号和/或时间戳不同的序列号和/或时间戳。
在一些实施例中,第二数据流中的各个分组的长度与第一数据流中的各个分组的长度相比不同(即,更短或更长)。在一些实施例中,重新组装传入分组的比特流,并且然后随后将重新组装后的比特流重新分组到不同的分组集合便于组协调器和组成员统一处理和/或传输音频内容,该组成员从组协调器接收音频信息。然而,对于一些延迟敏感的音频信息,重新组装和重新分组可能是不期望的,并且因此,在一些实施例中,组协调器可以不对在播放音频信息和/或将音频信息发送给其他回放设备/组成员之前接收到的一些(或全部)音频信息执行重新组装和重新分组。
在一些实施例中,音频源例如经由数字线路输入接口将数字形式的音频信息提供给组协调器。在这样的实施例中,组协调器在将音频信息发送给其他回放设备之前将数字音频分组到音频信息的分组中。在一些实施例中,各个分组包括序列号或其他标识符,使得当其他回放设备接收到音频信息时,那些其他回放设备将能够在执行进一步的分组处理之前以正确的顺序可靠地布置接收到的分组。
在从音频源或从另一回放设备获得音频信息之后,一些实施例中的回放设备执行以下操作中的一种或多种:(i)基于音频信息单独播放音频内容,(ii)与一个或多个附加回放设备同步播放基于音频信息的内容,和/或(iii)将音频信息发送给一个或多个其他回放设备。
b.回放定时
本文公开和描述的回放设备使用回放定时来彼此同步播放音频内容。基于回放设备在媒体回放网络和/或同步组中的配置,各个回放设备可以生成回放定时,和/或根据回放定时来回放音频内容。生成音频内容的回放定时的源回放设备(充当同步组协调器)还将所生成的回放定时发送给被配置为播放音频内容的所有回放设备(同步组成员)。在一些实施例中,同步组协调器将回放定时发送给多播网络地址,并且被配置为播放音频内容的所有其他回放设备(同步组成员)经由该多播地址接收回放定时。在一些实施例中,同步组协调器备选地将回放定时发送给每个同步组成员的每个单播网络地址,并且每个同步组成员经由其自己的单播地址接收回放定时。
在一些实施例中,为音频信息的各个帧(或分组)生成回放定时。如上所述,在一些实施例中,音频信息被封装在一系列帧(或分组)中,其中各个帧(或分组)包括音频信息的一部分。在一些实施例中,音频信息的回放定时包括音频信息的每个帧(或分组)的回放时间。在一些实施例中,各个帧(或分组)的回放定时被包括在帧(或分组)内,例如,在帧(或分组)的头部中,在帧(或分组)的扩展头部中,和/或在帧(或分组)的有效载荷部分中。如本文进一步描述的,各个帧(或分组)可以包括音频信息的一个或多个部分和/或一个或多个空部分。
在一些实施例中,各个帧(或分组)的回放时间在时间戳或其他指示内被识别。在这样的实施例中,时间戳(或其他指示)表示播放该各个帧(或分组)内的音频信息的一个或多个部分和/或一个或多个空部分的时间。在一些实施例中,时间戳或其他指示与用作参考开始时间的“起始”时间相关,从该参考开始时间开始,为各个音频节目和/或同步回放会话生成回放定时。
在操作中,当生成各个帧(或分组)的回放定时时,该各个帧(或分组)的回放定时是相对于参考时钟的“当前时钟时间”的未来时间,在当前时钟时间生成该各个帧(或分组)的回放定时。在一些实施例中,用于创建包括音频内容的第一帧(或分组)的回放定时以用于在同步回放会话中回放的“当前时钟时间”是“起始”时间。在一些实施例中,如果(或当)组协调器确定同步组中的回放设备的音频回放需要重新同步,则组协调器通过设置新的“起始”时间并生成包括音频内容的各个帧(或分组)的新回放定时来重新同步回放。如下面更详细描述的,参考时钟可以是组协调器的“本地”时钟或分离网络设备(例如,另一回放设备、计算设备或另一网络设备,它们被配置为提供回放设备用来生成回放定时和/或回放音频内容的时钟定时)的“远程”时钟。
在操作中,负责播放特定音频内容的回放设备将在由各个帧(或分组)的回放定时所指定的回放时间回放该各个帧(或分组)内的特定音频内容的部分(或一个或多个空部分,如果适用),该所指定的回放时间被调整以适应时钟定时信息与负责播放音频内容的回放设备的时钟之间的差,如下面更详细描述的。
c.时钟定时
本文公开和描述的回放设备使用时钟定时来生成音频信息的回放定时,并且基于音频信息和所生成的回放定时来播放音频内容。
在一些实施例中,组协调器使用参考时钟(例如,设备时钟、数字音频转换器时钟、回放时间参考时钟或任何其他时钟)的时钟定时来生成组协调器从音频源接收的音频信息的回放定时。参考时钟可以是组协调器的“本地”时钟或分离网络设备(例如,另一回放设备、计算设备或另一网络设备,它们被配置为提供(i)由组协、调器使用的时钟定时来生成回放定时和/或(ii)由组协调器和组成员使用的时钟定时来回放音频内容)的“远程”时钟。
在一些实施例中,负责同步播放特定音频内容的所有回放设备(即,同步组中的所有组成员)使用相同参考时钟的相同时钟定时来彼此同步回放该特定音频内容。在一些实施例中,回放设备使用相同的时钟定时来播放用于生成音频内容的回放定时的音频内容。参考时钟可以是组协调器的本地时钟,但参考时钟也可以是不同设备的时钟,不同设备包括不同的回放设备。
在操作中,生成时钟定时的设备还将时钟定时发送给网络中所有需要使用时钟定时来生成回放定时和/或回放音频内容的回放设备。在一些实施例中,生成时钟定时的设备将时钟定时发送给多播网络地址,并且被配置为生成回放定时(例如,组协调器)和/或播放音频内容(例如,组协调器和/或组成员)的所有回放设备经由该多播地址接收时钟定时。在一些实施例中,设备交替地将时钟定时发送给同步组中的每个回放设备的每个单播网络地址。
在一些实施例中,生成时钟定时的设备是被配置为用作同步组的组协调器的回放设备。并且在操作中,同步组的组协调器将时钟定时发送给同步组的所有组成员。如本文所描述的,组协调器和组成员都使用时钟定时和回放定时来彼此同步地播放音频内容。
d.由组协调器生成回放定时
在一些实施例中,一个回放设备被配置为同步组的组协调器。在这样的实施例中,组协调器:(i)基于组协调器的本地时钟的时钟定时生成音频信息的回放定时,以及(ii)将所生成的回放定时发送给同步组中的所有其他组成员。在操作中,当为各个帧(或分组)生成回放定时时,组协调器将“定时提前”添加到组协调器的组协调器正在用于生成回放定时的本地时钟的当前时钟时间。如上所述,当开始同步回放会话时,在一些实施例中,组协调器基于“起始”时间生成回放定时,该“起始”时间是第一“当前时钟时间”,组协调器将“定时提前”添加到的第一“当前时钟时间”以生成组协调器在同步回放会话开始时发送给同步组中的回放设备的帧(或分组)流中的第一帧(或分组)的回放时间。
在一些实施例中,“定时提前”基于大于或等于以下之和的时间量:(i)包括从组协调器发送的音频信息的帧和/或分组到达所有其他组成员所需的网络传输时间,以及(ii)所有其他组成员处理从组协调器接收到的帧/分组以进行回放所需的时间量。
在一些实施例中,组协调器通过将一个或多个测试分组发送给其他组成员中的一个或多个(或者可能所有)并且然后从那些一个或多个组成员接收返回的测试响应分组来确定定时提前。在一些实施例中,组协调器和一个或多个组成员经由多个测试和响应消息来协商定时提前。在具有多于两个组成员的一些实施例中,组协调器通过与所有组成员交换测试和响应消息来确定定时提前,并且然后设置对于具有网络传输时间和分组处理时间的最长总时间的组成员来说足够的定时提前。
在一些实施例中,定时提前小于约50毫秒。在一些实施例中,定时提前小于约20毫秒至30毫秒。并且在又其他实施例中,定时提前小于约10毫秒。在一些实施例中,定时提前在被确定之后保持不变,或者至少在同步回放会话的持续时间内保持不变。在其他实施例中,组协调器可以响应于来自组成员的请求来改变定时提前,该请求指示需要更大的定时提前(例如,因为组成员一直未接收到包括部分音频内容的分组,直到在一个或多个其他组成员已经播放了音频内容的该部分之后)、或者更短的定时提前将足够(例如,因为组成员正在缓冲比提供一致、可靠的回放所需的分组更多的分组,该分组包括部分音频内容)。
如下面更详细地描述的,被配置为同步地播放音频内容的所有回放设备将使用回放定时和时钟定时来彼此同步地播放音频内容。
e.使用远程时钟的时钟定时生成回放定时
在一些实施例中,组协调器可以基于另一网络设备的远程时钟的时钟定时来生成音频信息的回放定时,该另一网络设备例如另一回放设备、另一计算设备(例如,智能电话、膝上型计算机、媒体服务器、或可配置为提供足以供组协调器使用以生成回放定时和/或回放音频内容的时钟定时的其他计算没备)。基于另一网络设备的远程时钟的时钟定时来生成回放定时比基于其中相同时钟定时用于(i)生成回放定时以及(ii)基于该回放定时播放音频内容两者的实施例中的本地时钟的时钟定时来生成回放定时更复杂。
在其中组协调器基于远程时钟的时钟定时来生成音频信息的回放定时的实施例中,各个帧(或分组)的回放定时基于(i)(a)组协调器的组协调器用于生成回放定时的本地时钟与(b)远程参考时钟的时钟定时信息之间的“定时偏移”,以及(ii)基于大于或等于以下之和的时间量的“定时提前”:(a)从组协调器传输的分组到达组成员所需的网络传输时间和(b)所有这些组成员处理包括从组协调器接收到的音频信息的帧和/或分组以用于回放所需的时间量。
对于包含部分音频信息的各个帧(或分组),通过将“定时偏移”和“定时提前”之和添加到组协调器的组协调器用于生成音频信息的回放定时的本地时钟的当前时间,组协调器生成该各个帧(或分组)的回放定时。在操作中,“定时偏移”可以是正偏移或负偏移,这取决于组协调器的本地时钟是领先于还是落后于提供时钟定时的远程时钟。“定时提前”是正数,因为它表示相对于本地时钟时间的未来时间,该未来时间由“定时偏移”调整。如上所述,当开始同步回放会话时,在一些实施例中,组协调器基于“起始”时间生成回放定时,该“起始”时间是第一“当前时钟时间”,组协调器将“定时提前”和“定时偏移”之和添加到的第一“当前时钟时间”以生成组协调器在同步回放会话开始时发送给同步组中的回放设备的帧(或分组)流中的第一帧(或分组)的回放时间。
通过将“定时提前”和“定时偏移”之和添加到组协调器的组协调器正在用于生成音频信息的回放定时的本地时钟的当前时间,组协调器实际上正在生成相对于远程时钟的回放时间。
在一些实施例中,并且如上所述,“定时提前”基于大于或等于以下之和的时间量:(i)包括从组协调器发送的音频信息的帧和/或分组到达所有其他组成员所需的网络传输时间,以及(ii)所有其他组成员处理从源回放设备接收到的帧/分组以进行回放所需的时间量。
在一些实施例中,组协调器经由组协调器与一个或多个组成员之间的信令确定定时提前,如前面所述。此外,在一些实施例中,定时提前小于约50毫秒、小于约20毫秒至30毫秒或小于约10毫秒,这取决于音频内容回放延迟要求,因为不同的音频内容可能具有不同的延迟要求。例如,具有关联视频内容的音频内容可能具有比没有关联视频内容的音频内容更低的延迟要求,因为与视频内容相关联的音频内容必须与其对应的视频内容同步,而与视频内容不关联的音频内容不需要与任何对应的视频内容同步。在一些实施例中,定时提前在被确定之后保持不变,或者至少在同步回放会话的持续时间内保持不变。并且在一些实施例中,组协调器可以基于组协调器(生成回放定时)与一个或多个组成员(正在使用回放定时来播放音频内容)之间的将来信令来改变定时提前。
如下面更详细地描述的,被配置为同步地播放音频内容的所有回放设备将使用回放定时和时钟定时来彼此同步地播放音频内容。
f.使用本地回放定时和本地时钟定时播放音频内容
在一些实施例中,组协调器被配置为与一个或多个组成员同步地播放音频内容。并且如果组协调器使用组协调器的本地时钟的时钟定时来生成回放定时,则组协调器将使用本地生成的回放定时和本地生成的时钟定时来播放音频内容。在操作中,当组协调器用于生成回放定时的本地时钟到达该各个帧(或分组)的回放定时所指定的时间时,组协调器播放包括音频信息的部分(或空部分,如果适用)的各个帧(或分组)。
例如,回想一下,当生成各个帧(或分组)的回放定时时,组协调器设备将“定时提前”添加到用于生成回放定时的参考时钟的当前时钟时间。在这种情况下,用于生成回放定时的参考时钟是组协调器的本地时钟。因此,如果各个帧的定时提前是例如30毫秒,则组协调器在创建该各个帧(或分组)的回放定时之后播放各个帧(或分组)中的音频信息的部分(例如,样本或样本集合)(或播放空部分,如果适用)30毫秒。
以这种方式,组协调器通过使用本地生成的回放定时和组协调器的本地参考时钟的时钟定时基于音频信息来播放音频内容。如下面进一步所描述的,通过在本地参考时钟的时钟时间到达该各个帧或分组的回放定时时播放各个帧和/或分组的音频信息的部分,组协调器与同步组中的其他组成员同步播放与该各个帧和/或分组中的音频信息相对应的音频内容的该部分(或空部分)。
g.使用本地回放定时和远程时钟定时播放音频内容
如前面所提到的,在一些实施例中,组协调器基于远程时钟的时钟定时来生成音频信息的回放定时,该远程时钟,即与该组协调器分离的另一网络设备的时钟,该另一网络设备例如另一回放设备、另一计算设备(例如,智能电话、膝上型计算机、媒体服务器、或可配置为提供足以供回放设备使用以生成回放定时和/或回放音频内容的时钟定时的其他计算设备)。因为组协调器使用远程时钟的时钟定时来生成音频内容的回放定时,所以组协调器也使用远程时钟的时钟定时来播放音频内容。以这种方式,组协调器使用本地生成的回放定时和远程时钟的时钟定时来播放音频内容。
回想一下,在其中组协调器基于远程时钟的时钟定时来生成音频内容的回放定时的实施例中,组协调器基于以下生成各个帧(或分组)的回放定时:(i)基于(a)组协调器的的本地时钟与(b)远程时钟的时钟定时信息之间的差的“定时偏移”,以及(ii)包括大于或等于以下之和的时间量的“定时提前”:(a)从组协调器传输的帧/分组到达所有组成员所需的网络传输时间和(b)所有组成员处理包括从组协调器接收到的音频信息的帧和/或分组以用于回放所需的时间量。并且还回想一下,组协调器将所生成的回放定时发送给同步组中负责同步播放音频内容的所有组成员。
在这种场景下,为了与一个或多个其他回放设备同步播放音频内容的各个帧(或分组),组协调器从该各个帧(或分组)的回放定时中减去“定时偏移”以基于该各个帧(或分组)内的音频信息来生成用于播放音频内容的“本地”回放时间。在生成用于播放与各个帧(或分组)内的音频信息相对应的音频内容的部分的“本地”回放时间之后,当组协调器正在用于播放音频内容的本地时钟(其是组协调器用于生成回放时间的相同本地时钟)到达该各个帧(或分组)的“本地”回放时间时,组协调器播放与各个帧(或分组)内的音频信息相对应的音频内容的部分。通过从回放时间中减去“定时偏移”以生成各个帧的“本地”回放时间,组协调器参考远程时钟的时钟定时来有效地播放与该帧/分组中的音频信息相对应的音频内容的部分。
h.使用远程回放定时和本地时钟定时播放音频内容
回想一下,在一些实施例中,组协调器将音频信息和音频信息的回放定时发送给一个或多个组成员。如果从组协调器接收音频信息和回放定时的组成员(即,接收组成员)与向组协调器提供组协调器用于生成回放定时的时钟定时信息的组成员是相同组成员,则在该情况下,接收组成员使用音频信息和从组协调器接收到的回放定时(即,远程回放定时)以及组成员自己的时钟定时(即,本地时钟定时)来播放音频内容。因为组协调器使用接收组成员的时钟的时钟定时来生成回放定时,所以接收组成员也使用其本地时钟的时钟定时来播放音频内容。以这种方式,接收组成员使用远程回放定时(即,组协调器的回放定时)和其本地时钟的时钟定时(即,其本地时钟定时)来播放音频内容。
为了与组协调器(以及从组协调器接收回放定时和从接收组成员接收时钟定时的每个其他回放设备)同步播放音频信息的各个帧(或分组),接收组成员(i)从组协调器接收包括音频信息的部分(以及空部分,如果适用)的帧(或分组),(ii)从组协调器接收音频信息(和空部分,如果适用)的回放定时(例如,在包括音频信息的部分和空内容的帧和/或分组的帧和/或分组头部中,或者可能与包括音频信息的部分和空内容的帧和/或分组分开),以及(iii)当接收组成员用于生成时钟定时的本地时钟到达从组协调器接收的各个帧(或分组)的回放定时中所指定的回放时间时,播放部分各个帧(或分组)中的音频信息的部分。
因为组协调器在生成回放定时时使用了“定时偏移”(即接收组成员的时钟定时与该场景中组协调器的时钟定时之差),并且因为这个“定时偏移”偏移”已经解释了组协调器和接收组成员之间的时间差,在这种情况下,接收组成员回放包括音频部分的各个帧(或分组)信息(和空部分,如果适用)当接收组成员的本地时钟(用于生成时钟定时)到达该各个帧(或分组)的回放时间中指定的各个帧(或分组)的回放时间时。
并且因为接收组成员根据回放定时来播放包括音频信息的部分(和空部分,如果适用)的帧(或分组),并且因为组协调器根据回放时间和所确定的“定时偏移”来播放包括音频信息部分(和空部分,如果适用)的相同帧(或分组),接收组成员和组协调器同步(即,同时或基本上同时)播放包括与音频内容的相同部分相对应的音频信息的相同帧(或分组)。
i.使用远程回放定时和远程时钟定时播放音频内容
回想一下,在一些实施例中,源回放设备(例如,其在许多情况下可以是组协调器)将音频信息和音频信息的回放定时发送给同步组中的一个或多个其他回放设备。并且还回想一下,在一些实施例中,提供时钟定时的网络设备可以是与提供音频信息和回放定时的回放设备不同的设备(即,源回放设备,其在许多情况下可以是组协调器)。从一个或多个其他设备接收音频信息、回放定时和时钟定时的回放设备被配置为使用提供回放定时(即,远程回放定时)的设备的回放定时和提供时钟定时(即,远程时钟定时)的设备的时钟的时钟定时来播放音频内容。以这种方式,在这种情况下,接收回放设备通过使用远程回放定时和远程时钟定时基于音频信息来播放音频内容。
为了与负责同步播放音频内容的每个其他回放设备同步播放音频信息的各个帧(或分组),接收回放设备(i)接收包括部分音频信息的帧(或分组),(ii)接收音频信息的回放定时(例如,在包括部分音频信息的帧和/或分组的帧和/或分组头部中,或者可能与包括音频信息的部分和空内容的帧和/或分组分开),(iii)接收时钟定时,以及(iv)当接收回放设备用于音频内容回放的本地时钟到达各个帧(或分组)的回放定时中所指定的回放时间时,播放该各个帧(或分组)中的音频信息的部分,该回放时间由“定时偏移”调整。
在操作中,在接收回放设备接收到时钟定时之后,接收设备确定接收回放设备的“定时偏移”。这个“定时偏移”包括(或至少对应于)用于生成时钟定时的“参考”时钟与接收回放设备的接收回放设备用于播放音频内容的“本地”时钟之间的差。在操作中,从另一设备接收时钟定时的每个回放设备基于其本地时钟与时钟定时之间的差来计算自己的“定时偏移”,并且因此,每个回放设备确定的“定时偏移”特定于该特定的回放设备。
在一些实施例中,当回放音频内容时,通过将先前确定的“定时偏移”添加到包括音频信息的部分和/或空部分的每个接收帧(或分组)的回放定时,接收回放设备生成音频信息(和空部分,当适用时)的各个帧(或分组)的新回放定时(特定于接收回放设备)。通过这种方法,接收回放设备将接收到的音频信息/空部分的回放定时转换为接收回放设备的“本地”回放定时。因为每个接收回放设备都计算自己的“定时偏移”,所以每个接收回放设备的各个帧的所确定的“本地”回放定时特定于该特定回放设备。
并且当接收回放设备正在用于回放音频内容的“本地”时钟到达各个帧(或分组)的“本地”回放时间时,接收回放设备播放与该各个帧(或分组)相关联的音频信息(或其部分)或空内容(或其部分)。如上所述,在一些实施例中,特定帧(或分组)的回放定时在帧(或分组)的头部中。在其他实施例中,各个帧(或分组)的回放定时与包括音频内容的帧(或分组)分开发送。
因为接收回放设备根据由“定时偏移”调整的相对于时钟定时的回放定时来播放包括音频信息的部分和/或空内容(如果适用)的帧(或分组),并且因为提供回放定时的设备生成了这些帧(或分组)的相对于时钟定时的回放定时并根据回放定时和其所确定的“定时偏移”来播放包括音频信息的部分(或空内容)的相同帧(或分组),接收回放设备和提供回放定时的设备(例如,在一些实施例中是组协调器)同步(即,同时或基本上同时)播放包括音频信息的相同部分和/或空部分的相同帧(或分组)。
VI.示例实施例
下面描述的示例实施例示出了在一些实施例中各种联网场景中的回放设备同步回放从不可靠的音频信息源接收的音频信息。
图7示出了根据一些实施例的彼此同步播放从不可靠音频信息源702接收的音频内容的两个回放设备704、706的示例配置700。
图7中的配置700包括第一回放设备704、第二回放设备706和音频源702。配置700中所示的箭头指示定时信息和媒体内容的信号流。
回放设备704和706与本文示出和描述的回放设备相同或相似。在一些实施例中,回放设备704和706之一或两者是或包括联网麦克风设备。
在一些实施例中,第一回放设备704和第二回放设备706被配置在同步组中,其中第一回放设备704和第二回放设备706彼此同步播放相同的音频内容,如前面所述。
在一些实施例中,第一回放设备704和第二回放设备706被配置为立体声对,其中第一回放设备704被配置为播放立体声音频内容的左声道,而第二回放设备706被配置为播放立体声音频内容的右声道(反之亦然)。
并且在其他实施例中,第一回放设备704和第二回放设备706被配置为绑定对,其中第一回放设备704播放音频内容的第一频率分量集合,而第二回放设备706播放音频内容的第二频率分量集合。
并且在又其他实施例中,第一回放设备704和第二回放设备706被配置为现在已知或以后开发的其他分组布置,其中第一回放设备704和第二回放设备706彼此同步播放不同的声道和/或频率分量集合的相同音频内容。
在一些实施例中,第一回放设备704和第二回放设备706不需要以任何特定方式(例如,同步组、立体声对、绑定对、合并设备等)进行分组以与彼此同步播放音频内容。相反,在一些实施例中,即使第一回放设备704和第二回放设备706未在分组配置中,而是仅经由网络彼此通信耦接(例如,在相同家中),第一回放设备704和第二回放设备706可以根据本文所描述的共享回放定时和时钟定时来彼此同步播放某些音频内容(例如,家庭对讲机、电话/门铃通知等)。
在一些实施例中,音频源702与本文公开和描述的任何音频源相同或相似。
在示例配置700中,第一回放设备704是第一音频内容750的“源”回放设备,并且在一些实施例中,用作包括第一回放设备704和第二回放设备706的同步组的组协调器。示例700中的同步组被示出为仅包括第一回放设备704和第二回放设备706。在操作中,同步组可以包括多于两个回放设备。
在操作中,第一回放设备704(i)经由音频源702与第一回放设备704之间的通信链路从音频源702接收音频信息750,(ii)将音频信息752提供给第二回放设备706(以及可能的附加回放设备(未示出)),以及(iii)基于音频信息752与第二回放设备706(以及可能的附加回放设备(未示出))同步播放音频内容。
在一些实施例中,音频源702与第一回放设备704之间的通信链路是蓝牙通信链路。然而,音频源702与第一回放设备704之间的通信链路可以是现在已知或以后开发的适合于传输音频数据的任何通信链路。
在操作中,在图7所示的示例700中,源702经由蓝牙无线链路将包括编码音频信息750的分组的数据流发送给第一回放设备704。在一些实施例中,数据流包括音频信息750的帧或单元。在一些实施例中,数据流包括现在已知或以后开发的适合于传输数据的任何其他类型的数据封装格式。
第一回放设备704从源702接收包括编码音频信息750的分组流,并且在逐个分组的基础上从传入数据流中提取编码音频信息750。即,当第一回放设备704从源702接收到包括编码音频信息750的第一分组时,第一回放设备704提取被包含在该分组内的编码音频信息750的一部分。第一回放设备704在分组到达时(或基本上在它们到达时)基于逐个分组(或逐帧或逐个单元,这取决于编码音频信息750是何被封装)继续从分组中提取编码音频信息750。
在第一回放设备704继续接收包括编码音频信息750(即,传入数据流)的第一数据流并从传入数据流中提取编码音频信息750时,第一回放没备704生成包括提取后的音频信息752的部分的第二数据流(即,传出数据流)并将其发送给至少第二回放设备706(并且还可能发送给附加回放设备(未示出))。在示例700中,第一回放设备704经由WIFI通信链路将包括提取后的音频信息752的部分的第二数据流(传出数据流)发送给第二回放设备706。然而,第二数据流可以通过现在已知或以后开发的适合于传输数据的任何类型的通信链路来传输。在一些实施例中,第一回放设备704(i)经由第一无线接口从音频源702接收传入数据流,以及(ii)经由不同于第一无线接口的第二无线接口将传出数据流发送给至少第二回放设备706。
在示例700中,因为蓝牙和WIFI是不同的传输协议,所以传出数据流具有与传入数据流不同的成帧格式。以这种方式,第一回放设备704(i)经由具有第一成帧格式(例如,蓝牙)的输入数据流接收音频信息750,以及(ii)生成音频信息752并经由具有第二成帧格式(例如,Wi-Fi)的传出数据流将其发送给一个或多个其他回放设备。
因为蓝牙和WIFI都以2.4GHz频带工作,并且因为WIFI往往具有高于蓝牙的传输功率电平,所以第一回放设备704经由WIFI传输传出数据流可能干扰第一回放设备704经由蓝牙接收传入数据流。因此,在一些实施例中,第一回放设备704(i)经由传入数据流经由以2.4GHz频带工作的蓝牙接收音频信息750,以及(ii)生成音频信息752并经由传出数据流经由以5.0GHz频带工作的WIFI将其发送给一个或多个其他回放设备。然而,在一些实施例中,5.0GHz WIFI频带可能无法用于传输,例如,一个或多个回放设备和/或其他网络基础设施组件不支持5.0GHz WIFI,5.0GHz WIFI频带与其他网络流量过于拥塞,和/或一个或多个回放设备太遥远而无法以一致且可靠的方式从第一回放设备704接收5.0GHz频带的WIFI传输。在这样的情况下,在一些实施例中,并且为了避免或至少减少传入数据流与传出数据流之间的干扰的可能性,第一回放设备704(i)经由传入数据流经由以2.4GHz频带的第一部分工作的蓝牙接收音频信息750,以及(ii)生成音频信息752并经由传出数据流经由以2.4GHz频带的第二部分工作的WIFI将其发送给一个或多个其他回放设备。优选地,2.4GHz频带的第一部分不与2.4GHz频带的第二部分重叠,然而,这种非重叠配置不是必需的。
在操作中,传出数据流包括(i)从传入数据流中提取的编码音频信息的部分和(ii)回放定时信息,其中回放定时信息包括从传入数据流中提取的编码音频信息的部分的回放定时。在一些实施例中,传出数据流可以附加地包括时钟定时信息。然而,在一些实施例中,第一回放设备704可以将时钟定时信息与传出数据流分开地发送给第二回放设备706。
具体地,除了音频信息752的部分之外,第一回放设备704还将音频信息752的部分的回放定时754和时钟定时756发送给第二回放设备706(以及可能的附加回放设备(未示出)))。在操作中,第一回放设备704使用回放定时754和时钟定时756来基于音频信息752与至少第二回放设备706同步播放音频内容,如本文所描述的。
在示例配置700中,并且结合生成传出数据流,第一回放设备704使用其自己的时钟定时756(即,第一回放设备704的时钟的时钟定时)来生成音频信息752的回放定时754。
在一些实施例中,第一回放设备704通过将“定时提前”添加到第一回放设备704用于生成音频信息752的回放定时754的本地参考时钟的当前时钟时间来生成音频信息752的回放定时754。在一些实施例中,音频信息752的帧或分组的回放定时与分组(或帧)中的音频信息752部分将被回放的未来时间(相对于参考时钟时间)相对应。
在一些实施例中,第一回放设备704添加到其自己的时钟定时756以生成回放定时754的未来时间的定时提前基于大于或等于以下之和的时间量:(i)从第一回放设备704发送的分组到达第二回放设备706所需的网络传输时间和(ii)第二回放设备706处理接收到的分组以进行回放所需的时间量。
在一些实施例中,第一回放设备704通过将一个或多个测试分组发送给第二回放设备706并且响应于该测试分组从第二回放设备706接收测试响应分组来确定定时提前。在一些实施例中,第一回放设备704和第二回放设备706可以经由一个或多个测试和响应消息来协商定时提前。在具有多于两个回放没备的一些实施例中,第一回放没备704通过与一个或多个(或所有)回放设备交换测试和响应消息来确定定时提前,并且然后并且然后设置对于具有网络传输时间和分组处理时间的最长总时间的回放设备来说足够的定时提前。
在一些实施例中,定时提前小于约50毫秒。在一些实施例中,定时提前小于约20毫秒至30毫秒。并且在又其他实施例中,定时提前小于约10毫秒。在一些实施例中,定时提前在被确定之后保持不变,或者至少在同步回放会话的持续时间期间保持不变,或者可能在同步组存在或处于特定配置(回想一下,同步组可以被形成、改变、解散等)的持续时间期间保持不变。
在其他实施例中,第一回放设备704可以响应于来自接收回放设备的请求来改变定时提前,该请求指示(i)需要较大的定时提前,例如,因为在播放该部分的时间(由音频信息752的部分的回放定时754指定)之后接收回放设备正在接收包括音频部分的分组的信息752,或者因为在其他设备已经播放音频信息的部分之后接收回放设备正在接收音频信息752的部分,或者(ii)较短的定时提前将足够,例如,因为接收设备正在缓冲比提供一致、可靠的回放所需的分组更多的分组,该分组包括部分音频信息的部分。
在确定音频信息752的分组、帧和/或样本的回放定时754之后,第一回放设备704经由WIFI通信链路将音频信息752的分组/帧/样本和音频信息752的分组/帧/样本的第一回放定时754发送给第二回放设备706。因为在示例配置700中,第一回放设备704使用其自己的本地时钟定时来生成音频信息752的回放定时754,所以第一回放设备704还将其时钟定时756发送给第二回放设备706。
第二回放设备706使用第一回放设备704的时钟定时756和第二回放设备706自己的时钟定时来生成“定时偏移”。因为第二回放设备706使用从第一回放设备704接收的回放定时754和时钟定时756来播放音频信息752,所以在这种情况下第二回放设备706使用远程回放定时和远程时钟定时基于音频信息752来播放音频内容。
在一些实施例中,以下步骤中的一个或多个(或全部)步骤结合基于第一回放没备704的时钟定时756和第二回放没备706自己的时钟定时来生成“定时偏移”的第二回放设备706而发生。
首先,第一回放设备704在时间t生成时钟定时指示756(例如,时间戳或其他指示),并将该时钟定时指示756发送给第二回放设备706。接下来,当第二回放设备706从第一回放设备704接收到时钟定时指示756时,第二回放设备706确定第二回放设备706的本地时钟与时钟定时指示756中所指示的时间t之间的差。第二回放设备706使用这个确定后的“定时偏移”基于音频信息752的部分来与第一回放设备704同步回放音频内容。
在一些实施例中,在同步回放会话的开始时,第一回放设备704至少一次将时钟定时756发送给第二回放设备706。在一些实施例中,因为第一回放设备704和第二回放设备706的时钟容易受到时钟漂移(例如,频率和/或相位漂移)的影响,所以第一回放设备704定期或在同步回放会话期间至少多于几次将时钟定时756发送给第二回放设备706。例如,第一回放设备704可以每隔几毫秒、每隔几十毫秒、每隔几百毫秒、每隔几秒、每隔几分钟等将时钟定时756发送给第二回放设备706。
在将包括音频信息752的至少一部分、第一回放定时754和时钟定时756的至少一些帧(或分组)发送给第二回放设备706之后,第一回放设备704和第二回放设备706执行以下功能来彼此同步回放音频内容。
当第一回放设备704的用于生成第一回放定时754的本地时钟到达包括音频信息752的该各个帧(或分组)的第一回放定时754中所指定的时间时,第一回放设备704播放包括音频信息752的部分的各个帧(或分组)。例如,回想一下,当生成各个帧(或分组)的回放定时时,“源”回放设备(即,图7中的第一回放设备704)将“定时提前”添加到用于生成回放定时的本地参考时钟的当前时钟时间。因此,如果各个帧的定时提前是例如30毫秒,则第一回放设备704在创建各个帧(或分组)的回放时间之后最终播放与该各个帧(或分组)中的音频信息752的部分(例如,样本或样本集合)相对应的音频内容30毫秒。
并且.,当考虑了先前所确定的“定时偏移”,第二回放设备706正在用来播放音频信息752的本地时钟(第二回放设备706的本地时钟)的当前时间到达该帧(或分组)的第一回放定时754时,第二回放设备706播放与每个帧(或分组)中的音频信息752相对应的音频内容。
回想一下,第二回放设备706计算(或以其他方式确定)“定时偏移”,该“定时偏移”对应于以下两项之间的差:(a)第一回放设备704的第一回放设备704用于生成时钟定时756(和第一回放定时754)的“参考”时钟和(b)第二回放设备706的第二回放设备706用于播放音频信息752的“本地”时钟。第二回放设备706在基于音频信息752播放音频内容时使用该定时偏移。
具体地,通过将先前确定的“定时偏移”添加到从第一回放设备702接收到的每个帧的回放时间(或分组)的回放定时,第二回放设备706生成于音频信息752的各个帧(或分组)的新回放定时(特定于第二回放设备706)。通过这种方法,第二回放设备704将从第一回放设备704接收的音频信息752的回放定时754转换为第二回放设备706的“本地”回放定时。并且当第二回放设备706正在用于回放音频内容的“本地”时钟到达各个帧(或分组)的所确定的“本地”回放时间时,第二回放设备706播放与该各个帧(或分组)相关联的音频信息752(或其部分)。如上所述,在一些实施例中,特定帧(或分组)的回放定时在帧(或分组)的头部中。在其他实施例中,各个帧(或分组)的回放定时与包括音频内容的帧(或分组)分开发送。
因为第一回放设备704根据回放定时754来播放与包括音频信息752的部分的帧(或分组)相对应的音频内容,并且因为第二回放设备706根据相同的回放定时754和定时偏移也播放与包括音频信息752的部分的帧(或分组)相对应的音频内容,彼此同步播放由第一回放设备704播放的音频内容和由第二回放设备706播放的音频内容。即,第一回放设备704和第二回放设备706基于回放定时754和时钟定时756来彼此同步播放音频内容。
接收具有第一成帧格式(或分组格式或单元格式)的第一帧(或分组或单元)流并生成具有第二成帧格式(或分组格式或单元格式)的第二帧(或分组或单元)流的上述能力使第一回放设备704能够接收音频信息750并播放来自多种音频源的音频内容,从而通过使第一回放设备704能够使用公共格式(例如,第二成帧格式)以向至少第二回放设备706(并且可能还向附加回放设备)流式传输音频信息752和回放定时信息754,而不管(i)第一帧流的格式,和/或(ii)第一帧流中的序列标识符、时间戳或其他定时和/或序列信息来实现所公开的系统和方法的一个方面。
如上所述,某些类型的通信链路比其他类型的通信链路更鲁棒。例如,WIFI无线链路通常比蓝牙无线链路提供更一致和更可靠的媒体内容输送,因为WIFI链路往往比蓝牙链路运行更高的传输功率并具有更好的无线链路余量,并且通常与WIFI一起使用的协议(例如,TCP/IP)往往比通常与蓝牙一起使用的协议(例如,UDP/IP)具有更好的错误检测和校正以及更鲁棒和更复杂的重传能力。在操作中,第一回放设备704不能将第一回放设备704未接收和/或未在足够的时间内接收以处理并流式传输到第二回放设备706用于同步回放的音频信息发送给第二回放设备706。
因此,为了防止可能存在于传入数据流(来自源702)中的不一致、延迟和错误在传出数据流中引起类似(与至少第二回放设备706)的不一致,在一些实施例中,第一回放设备704,附加地(i)确定传入数据流是否正在丢失编码音频信息750的一个或多个部分,以及(ii)响应于确定传入数据流丢失编码音频信息750的一个或多个部分,生成与编码音频信息750的一个或多个缺失部分相对应的一个或多个空部分。
在一些实施例中,基于以下分析中的一项或多项:(i)对与从音频源702接收的流中的编码音频信息750相对应的序列标识符的分析,和/或(ii)对与从音频源702接收的流中的编码音频信息750相对应的时间戳的分析,第一回放设备704确定包括从音频源702接收的编码音频信息750的分组流是否正在丢失编码音频信息750的一个或多个部分。
并且当第一回放设备704生成传出数据流时,第一回放设备704将一个或多个空部分插入到传出数据流中,其中音频信息752的部分在音频信息的丢失部分本来应该存在的位置处,使得第一回放设备704接收到传入数据流中的那些部分。并且,当第一回放设备生成传出数据流的音频信息752的回放定时754时,第一回放设备704也以与第一回放设备704分配音频信息752的部分的回放时间相同的方式来生成并分配第二数据流中的一个或多个对应的空部分的回放时间。
在一些实施例中,第一回放设备704通过检查从音频源702接收的音频信息750的分组中包括的序列号和时间戳来确定各个空部分的持续时间。例如,各个RTP分组包括时间戳和序列号。回放设备704使用每个接收到的RTP分组中的蓝牙时间戳和/或序列号来检测分组丢失并将传入RTP分组置于正确的顺序(序列)中。
在一些实施例中,第一回放设备704使用RTP序列号来检测分组丢失。对于由音频源702发送的每个RTP分组,序列号增加一个,因此如果第一回放设备704在传入数据流中丢失序列号,则第一回放设备704正在丢失分组,即丢失序列号对应于“丢失”的RTP分组。
传入RTP分组中的时间戳随着各个RTP分组所“覆盖”的时间而增加。如果音频信息750的帧(或其他部分)被拆分成几个RTP分组,则这几个分组可以具有相同的时间戳,但是每个分组将具有不同的序列号。
在一些实施例中,为了确定空部分的持续时间,第一回放设备704比较“丢失的分组”之前的RTP分组的时间戳和“丢失的”分组之后的RTP的时间戳(基于序列号),并且至少部分地基于与“丢失的分组”之前的RTP分组的时间戳和“丢失的”分组之后的RTP的时间戳之间的差相对应的时间差来确定空部分的持续时间。
顺便说一句,在回放定时754包括时间戳的实施例中,传出数据流的回放定时754中的时间戳不同于从音频源702接收的输入RTP分组(包括音频信息750)中的时间戳。如本文进一步描述的,对于回放定时754包括时间戳的实施例,各个分组(或帧或单元)的回放定时754中的时间戳指示播放与回放定时754中的该时间戳相对应的音频信息752的一个或多个部分(或空部分,当适用时)的时间。相反,至少在经营蓝牙链路接收传入数据流的实施例中,从音频源702接收的传入RTP分组中的时间戳是指由各个RTP分组“覆盖”的时间。在一些实施例中,从音频源702接收的传入分组中的时间戳是指由音频源702创建分组的时间,而不是要由回放设备播放分组的时间。
此外,当使用传出数据流的音频信息752和回放定时754生成音频内容并至少与第二回放设备706同步播放音频内容(基于传出数据流的音频信息752)时,第一回放设备704使用(i)传出数据流中的音频信息752的部分,(ii)传出数据流中的音频信息752的部分的回放定时754,(iii)与音频信息750的从传入数据流中丢失的丢失部分相对应的空部分,以及(iv)被插入到传出数据流中的空部分的回放时间754。具体地,当第一回放设备704用于生成时钟定时756的时钟到达由音频信息752的该部分的回放定时754所指定的时间时,第一回放设备704(i)在由音频信息752的该部分的回放定时754指定的时间播放与音频信息752的每个部分相对应的音频内容,以及(ii)当第一回放设备704用于生成时钟定时756的时钟到达由该空部分的回放定时754所指定的时间时,在由该空部分的回放定时754中所指定的时间播放每个空部分。
在操作中,当使用从第一回放设备704接收的音频信息752和回放定时754与至少第一回放设备704同步播放音频内容(基于音频信息752)时,第二回放设备706使用(i)从第一回放设备704接收的音频信息752的部分,(ii)从第一回放设备704接收的回放定时754,(iii)由第一回放设备704生成并插入到从第一回放设备704接收的数据流中的空部分,以及(iv)空部分的回放定时754。具体地,第二回放设备706(i)在由针对音频信息752的该部分的回放定时754所指定的时间播放与音频信息752的每个部分相对应的音频内容,该时间由先前确定的“定时偏移”在第二回放设备706的时钟时间与从第一回放设备704接收的时钟定时756之间进行调整,以及(ii)在由该空部分的回放定时754中所指定的时间播放每个空部分,该时间由第二回放设备706的时钟时间与从第一回放设备704接收的时钟定时756之间先前确定的的“定时偏移”进行调整。
在操作中,该方法使(i)第一回放设备704能够生成一致的传出数据流并将其发送给至少第二回放设备706(以及可能的附加回放设备),以及(ii)至少第二回放设备706(以及可能的附加回放设备)能够从第一回放设备704接收一致的流(即,由第一回放设备704生成的传出数据流)。
尽管示例700示出并描述了第一回放设备704将音频信息752、空部分、回放定时754和时钟定时756发送给第二回放设备706的场景,但在其他实施例中,第一回放设备704将音频信息752、空部分、回放定时754和时钟定时756发送给一个或多个附加回放设备。
例如,在第一回放设备704是或包括将音频信息分发给多个环绕声回放设备的环绕声控制器(例如,条形音箱)的实施例中,第一回放设备704可以被配置为将音频信息752(或其部分)、空部分、回放定时754和时钟定时756发送给一个或多个附加回放设备,包括但不限于(i)一个或多个左卫星回放设备,(ii)一个或多个右卫星回放(iii)一个或多个低音炮回放设备,(iv)一个或多个架空卫星回放设备,和/或(v)同步组中的附加回放设备,配置为与条形音箱和音箱同步回放环绕声内容同步组中的其他回放设备。
另外,尽管示例700示出并描述了第一回放设备704基于其本地时钟定时生成回放定时754的场景,但在其他实施例中,第一回放设备704可以基于远程时钟定时(如上所述)生成回放定时754。类似地,第一回放设备704可以接收和分发从另一设备(如上所述)接收的回放定时754和时钟定时信息756。
在一些实施例中,除了生成空部分和空部分的回放定时754并将其插入到第一回放设备704发送给第二回放设备706(并且可能发送给附加回放设备(未示出))的传出数据流中之外,第一回放设备704附加地向第二回放设备706通知包括音频信息752的分组流可以包括多于阈值数量的空部分。并且在一些实施例中,第一回放设备704可以附加地或备选地向第二回放设备706通知:当第二回放设备706接收到编码音频信息752的一部分时与当第二回放设备706接收到编码音频信息752的后续部分时之间的时间间隔可能超过阈值持续时间。在操作中,第一回放设备704可以发送一个或多个控制消息以向第二回放设备706通知:第二回放设备706可能接收到多于阈值数量的空部分,和/或第二回放设备706在从第一回放设备704接收音频信息的部分之间可能遇到延迟。
在一些实施例中,响应于从第一回放设备704接收关于接收超过阈值数量的空部分和/或在接收音频信息752的部分之间遇到延迟的可能性的一个或多个控制消息,第二回放设备706切换到在重新同步延迟关闭模式下操作。
在正常操作期间,第二回放设备706可以响应以下情况中的任何一种或多种发起重新同步过程:(i)在某个第一阈值持续时间内未能从第一回放设备704接收音频信息752的部分,(ii)遇到从第一回放设备704接收音频信息752的部分之间的超过第二阈值持续时间的延迟,(iii)接收到音频部分信息752的多于第一阈值数量的无序部分,和/或(iv)以影响第二回放设备706一致和/或可靠地重新组装音频信息752的部分的能力的方式从第一回放设备704接收(或未能接收)音频信息752的部分,和/或基于音频信息752播放音频内容。
在一些实施例中,除了其他功能之外,重新同步过程可以包括确定(a)从第一回放设备704接收的时钟定时信息756和(b)第二回放设备706的本地时钟之间的新“定时偏移”。回想一下,第二回放设备706使用“定时偏移”将从第一回放设备704接收的回放定时754信息转换为特定于第二回放设备706的“本地回放定时”。在一些实施例中,重新同步过程可以附加地或备选地包括“刷新”、删除、去索引或以其他方式移除包括具有相关回放定时信息的音频信息,该相关回放定时信息由第二回放设备706先前(i)从第一回放设备704接收,并且(ii)存储在第二回放设备706的缓冲区中并根据回放定时排队等待第二回放设备706进行回放,例如,当第二回放设备706的本地时钟提前到第二回放设备706的缓冲区中存储的音频样本的回放时间时。
当第二回放设备706在同步回放期间执行重新同步过程时,在一些情况下,收听者可以经由第二回放没备706听到回声效果或短暂的静默(“中断”)。例如,“定时偏移”的变化可能使第二回放设备704(i)跳过(不回放)音频部分信息752导致中断(例如,因为第二回放设备706的时钟已经比第一回放设备704的时钟运行得更快,从而导致定时偏移增加),或(ii)可能重复(再次播放)音频信息752的部分导致回声(例如,因为第二回放设备706的时钟比第一回放设备704的时钟运行得慢,从而导致定时偏移减少)。尽管短暂回声或中断如果很少发生可能不会分散注意力,但频繁的回声和中断对听众来说可能非常烦人。
重新同步延迟关闭模式至少部分地通过增加阈值来帮助避免不必要的重新同步,否则该阈值将触发第二回放设备706发起与第一回放设备704的重新同步过程。在操作中,当第二回放设备706切换到在重新同步延迟关闭模式下操作时,第二回放设备706可以响应于以下情况中的任何一种或多种发起与第一回放设备704的重新同步过程:(i)在大于在正常操作期间使用的第一阈值持续时间(上面所描述的)的某个第三阈值持续时间内未能从第一回放设备704接收音频信息752的部分,ii)遇到从第一回放设备704接收音频信息752的部分之间的超过第四阈值持续时间的延迟,该第四阈值持续时间大于在正常操作期间使用的第二阈值持续时间,(iii)接收音频息752的多于第二阈值数量的无序部分,音频息752的第二阈值数量的无序部分大于音频信息752的在正常操作期间使用的第一阈值数量的无序部分,和/或(iv)以影响第二回复设备706能够一致和/或可靠地重新组装音频信息752的部分的能力的方式从第一回放设备704接收(或未能接收)音频信息752的更多(与正常操作相比)部分,和/或基于音频信息信息752播放音频内容。
在一些实施例中,正常操作模式和重新同步延迟关闭模式相当于第一操作模式和第二操作模式(或者正在对应于第一操作模式和第二操作模式的功能方面)。在操作中,同步组成员在第一操作模式下操作,而组协、调器(或其他“源”设备)正在从可靠的音频源(例如,来自WIFI源、有线源、或组协调器以一致且可靠的方式接收音频信息的任何场景)接收音频信息,以及同步组成员在第二操作模式下操作,而组协调器(或其他“源”设备)正在从不可靠的音频源(例如,来自蓝牙源或组协调器以不一致和/或不可靠的方式接收音频信息的任何场景)接收音频信息。
七、示例方法
图8示出了根据一些实施例的由用于播放来自不可靠音频源的音频内容的回放设备执行的示例方法800。回放设备可以与本文公开和/或描述的任何回放设备相同或相似,包括但不限于参考图7描述的第一回放设备704。
方法800开始于框802,其包括接收包括第一系列帧(或分组)的第一数据流,其中第一系列帧(或分组)中的各个帧(或分组)具有第一格式(例如、第一分组格式和/或第一成帧格式),并且其中第一系列帧(或分组)包括编码音频数据。在一些实施例中,编码音频数据与本文公开和描述的任何音频数据相同或相似,包括但不限于参考图7描述的音频信息750。在一些实施例中,第一数据流是经由蓝牙通信链路发送的RTP分组流。
接下来,方法800进行到框804,其包括从第一系列帧(或分组)中提取编码音频数据。
在一些实施例中,方法800可选地包括框806和808。
在可选框806,方法800包括确定包括编码音频数据的第一系列帧(或分组)是否正在丢失编码音频数据的一个或多个部分。在一些实施例中,确定第一系列帧(或分组)是否正在丢失编码音频数据的一个或多个部分包括检查以下中的一个或多个:(i)从音频源接收的系列帧(或分组)的各个帧(或分组)中的序列标识符和/或(ii)从音频源接收的系列帧(或分组)的各个帧(或分组)中的时间戳。在操作中,检查传入帧(或分组)中的序列标识符和/或时间戳以识别丢失帧(或分组)可以根据本文公开和描述的用于识别缺失或丢失帧的任何方法来执行。
在可选框808,方法800包括响应于确定包括编码音频数据的第一系列帧(或分组)正在丢失编码音频数据的一个或多个部分,生成与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分。在操作中,可以根据本文公开和描述的用于确定与丢失帧/分组相对应的持续时间的任何方法来确定各个空部分的持续时间,包括但不限于比较丢失分组之前的帧/分组和丢失帧/分组之后的帧/分组的序列标识符和/或时间戳。
接下来,方法800进行到框810,其包括生成第二系列帧(或分组),其中第二系列帧(或分组)中的各个帧(或分组)具有第二成帧格式(或类似的协议特定格式),并且其中第二系列帧(或分组)包括以下各项中的一项或多项:(i)从第一系列帧(或分组)中提取的编码音频数据的部分,(ii)与编码音频数据的丢失部分相对应的一个或多个空部分(如果有的话),(iii)回放定时信息,其中回放定时信息包括:(iii-a)从第一系列帧(或分组)中提取的编码音频数据的部分的回放定时,以及(iii-b)与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分的一个或多个回放时间(如果有的话)。在一些实施例中,第二系列帧(或分组)中的各个帧(或分组)包括:(i)从第一系列帧(或分组)提取的编码音频数据的至少一部分,以及(ii)从第二系列帧(或分组)中的各个帧(或分组)内包含的第一系列帧(或分组)中提取的编码音频数据的至少一部分的回放时间。
在一些实施例中,生成第二系列帧(或分组)包括生成帧(或分组)内包含的音频数据回放定时。在一些实施例中,生成回放定时信息包括生成(i)从第一系列帧(或分组)中提取的编码音频数据的部分以及(ii)与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分的回放定时。
在一些实施例中,生成i)从第一系列帧(或分组)中提取的编码音频数据的部分以及(ii)与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分的回放定时包括:(A)生成编码音频数据的各个部分的回放时间,其中,编码音频数据的各个部分的回放时间包括相对于第一回放设备的时钟的未来回放时间,在未来回放时间,第一回放设备将播放编码音频数据的各个部分;以及(B)生成各个空部分的回放时间,其中,各个空部分的回放时间信息包括相对于第一回放设备的时钟的未来回放时间,在未来回放时间,第一回放没备将播放各个空部分。
在一些实施例中,第一成帧/分组格式对应于蓝牙格式,而第二成帧/分组格式对应于WIFI格式。在其他实施例中,第一成帧/分组格式可以对应于除了蓝牙之外的不同协议,而第二成帧/分组格式可以对应于除了WIFI之外的不同协议。在一些实施例中,接收包括第一系列帧(或分组)的第一数据流包括经由第一无线接口接收第一数据流。并且在一些实施例中,将包括第二系列帧(或分组)的第二数据流发送给第二回放设备包括经由第二无线接口发送第二数据流。
在一些实施例中,方法800包括可选框812,其包括向第二回放设备通知第二系列帧(或分组)可以包括多于阈值数量的空部分。在一些实施例中,可选框812可以附加地或备选地包括向第二回放设备通知:当第二回放设备接收编码音频数据的一部分时与当第二回放设备接收编码音频数据的后续部分时之间的时间间隔可能超过阈值持续时间。
接下来,方法800进行到框814,其包括将包括第二系列帧(或分组)的第二数据流(来自框810)发送给第二回放设备。在一些实施例中,并且如上所述,第二系列帧(或分组)中的各个帧具有第二系列帧/分组格式,其中第二系列帧(或分组)包括以下各项中的一项或多项:(i)从第一系列帧(或分组)中提取的编码音频数据的部分,(ii)与编码音频数据的丢失部分相对应的一个或多个空部分(如果有的话),(iii)回放定时信息,其中回放定时信息包括:(iii-a)从第一系列帧(或分组)中提取的编码音频数据的部分的回放定时,以及(iii-b)与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分的一个或多个回放时间(如果有的话)。
接下来,方法800进行到框816,其包括使用回放定时信息来基于从第一系列帧(或分组)中提取的编码音频数据的部分和空部分(如果有的话)与第二回放设备同步播放音频内容。在一些实施例中,根据本文公开和描述的任何同步回放方法,第一回放设备使用回放定时基于音频信息部分和空部分(如果有的话)来与第二回放设备同步播放音频内容。
例如,在一些实施例中,使用回放定时信息来基于从第一系列帧(或分组)中提取的编码音频数据的部分与第二回放设备同步播放音频内容包括:(A)当第一回放设备的时钟到达由编码音频数据的各个部分的回放时间指示的时间时,播放从第一系列帧(或分组)中提取的编码音频数据的各个部分;以及(B)当第一回放设备的时钟到达由各个空部分的回放时间指示的时间时,播放各个空部分。
图9示出了根据一些实施例由回放设备执行的示例方法900。
回放设备可以与本文公开和/或描述的任何回放设备相同或相似,包括但不限于参考图7描述的第一回放设备704。在一些实施例中,并且在示例方法900中,回放设备是、包括或至少执行同步组协调器的一些功能。
方法900开始于框902,其包括组协调器设置起始时间以生成用于同步回放从音频源接收的第一数据分组流内包含的音频信息的回放定时。如前面所述,在一些实施例中,起始时间是组协调器开始生成要由同步组同步回放的音频内容的回放定时的参考时间。
例如,本文描述的一些实施例中的组协调器接收包括第一系列帧(或分组)的第一数据流,其中第一系列帧(或分组)中的各个帧(或分组)具有第一格式(例如,第一分组格式和/或第一成帧格式),并且其中第一系列帧(或分组)包括编码音频数据。在一些实施例中,组协调器还生成第二系列帧(或分组),其中第二系列帧(或分组)中的各个帧(或分组)具有第二成帧格式(或类似的协议特定格式),并且其中第二系列帧(或分组)包括以下各项中的一项或多项:(i)从第一系列帧(或分组)中提取的编码音频数据的部分,(ii)与编码音频数据的丢失部分相对应的一个或多个空部分(如果有的话),(iii)回放定时信息,其中回放定时信息包括:(iii-a)从第一系列帧(或分组)中提取的编码音频数据的部分的回放定时,以及(iii-b)与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分的一个或多个回放时间(如果有的话)。在一些实施例中,第二系列帧(或分组)中的各个帧(或分组)包括:(i)从第一系列帧(或分组)提取的编码音频数据的至少一部分,以及(ii)从第二系列帧(或分组)中的各个帧(或分组)内包含的第一系列帧(或分组)中提取的编码音频数据的至少一部分的回放时间。
接下来,方法900进行到框904,其包括组协调器确定第一数据分组流是否正在丢失一个或多个分组。在一些实施例中,组协调器通过分析第一分组流的分组中的序列号(或其他开销信息)来确定第一数据分组流是否正在丢失了一个或多个数据分组。在一些实施例中,组协调器确定第一数据分组流是否正在丢失一个或多个分组包括组协调器确定第一数据分组流是否正在丢失多于阈值数量的分组。
如果在框904,组协调器确定数据分组的第一数据流(或已经由组协调器接收的第一数据流的至少一部分)正在丢失超过阈值数量的分组,则方法900进行到框906,其包括组协调器(i)刷新(或以其他方式移除、删除和/或去索引)排队等待经由第二数据流(上面描述的)发送给同步组的分组和/或排队在用于由组协调器根据先前由组协调器所确定的对应回放定时进行回放的缓冲区中的音频样本,和/或(ii)指示同步组中的回放设备(有时被称为同步组成员)各自刷新先前从组协调器接收(经由组协调器发送给组成员的第二数据流)的排队在用于根据对应回放定时进行回放的各个缓冲区中的音频样本。然后,方法900返回到框902,其包括组协调器设置新的起始时间以重新同步同步组回放音频内容。
但是,如果在框904,组协调器确定第一数据分组流(或已经由组协调器接收的第一数据流的至少一部分)未正在丢失超过阈值数量的分组,则方法904进行到框908,其包括组协调器针对各个分组中的音频内容确定分组内的音频内容的回放时间。回想一下,回放时间是同步组中的回放设备将播放特定分组(或帧、单元等)内的音频内容的未来时间。在操作中,组协调器根据本文公开和描述的用于确定回放定时的任何方法和/或过程来确定分组中的音频内容的回放时间。
接下来,方法900进行到框910,其包括组协调器针对各个分组中的音频内容确定该音频内容的回放时间是否是以下之一:(i)相对于组协调器用于播放音频内容的时钟是过去的,或(ii)在未来小于阈值时间量。如果该音频内容的回放时间是过去的,则同步组中的回放设备不可能根据该音频内容的回放时间彼此同步回放该音频内容。类似地,如果该音频内容的回放时间小于在未来的阈值时间量,则同步组中的回放设备可能没有足够的时间彼此同步接收、处理和回放该音频内容。这种情况可能发生,例如,如果组协调器在接收第一分组流时遇到中断或延迟,并且然后接收到数据分组突发,之后组协调器需要重新排序接收到的分组突发,从接收到的分组突发中提取音频信息,生成包括提取后的音频信息的部分和用于发送给其他回放设备的回放定时的第二分组流,以及然后将第二分组流发送给同步组。在这种情况下,同步组中的其他回放设备可能没有足够的时间彼此同步接收、处理和回放该音频内容。
如果在框910,组协调器针对各个分组中的音频内容确定该音频内容的回放时间是以下之一:(i)相对于组协调器用于播放音频内容的时钟时过去的,或(ii)在未来小于阈值时间量,则方法900进行到框906,其包括组协调器(i)刷新(或以其他方式移除、删除和/或去索引)排队等待经由第二数据流(上面描述的)发送给同步组的分组和/或排队在用于由组协调器根据先前由组协调器所确定的对应回放定时进行回放的缓冲区中的音频样本,和/或(ii)指示其他同步组成员各自刷新先前从组协调器接收(经由组协调器发送给组成员的第二数据流)的排队在用于回放的各个缓冲区中的音频样本。然后,方法900返回到框902,其包括组协调器设置新的起始时间以重新同步同步组回放音频内容。
但是,如果在框910,组协调器针对各个分组中的音频内容确定该音频内容的回放时间不是以下之一:(i)相对于组协调器用于播放音频内容的时钟是过去的,或(ii)在未来小于阈值时间量,则方法900返回到框904或框908之一。在操作中,在一些实施例中,框904的功能与框908和910的功能并行或至少基本上并行发生。作为结果,组协调器确定以下两种情况中的一者(或两者)足以使方法900进行到框906并然后返回框902:传入数据流正在丢失一个或多个分组(或多于阈值数量的传入分组),和/或音频内容一个或多个部分的回放时间是过去的或在未来小于阈值时间量之一。
以这种方式,方法900使组协调器能够确定是否/何时应当发生回放重新同步,以及如何在被配置为如本文所述彼此同步播放音频内容的一组回放设备之间重新同步回放。
八、跨多个网络的元数据交换
如上所述,本公开的各方面涉及用于在跨多个网络的多个设备之间交换与媒体内容相关联的元数据的技术。例如,回放设备可以通过PAN(例如,蓝牙网络)从媒体源接收媒体内容和与该媒体内容相关联的元数据。在该示例中,回放设备可以通过WLAN将与该媒体内容相关联的元数据发送给一个或多个其他设备(例如,一个或多个控制设备和/或回放设备)。此外,在一些情况下,回放设备可以将媒体内容发送给WLAN上的一个或多个其他回放设备(例如,被指定单独或与其他回放设备同步回放媒体内容的一个或多个其他回放设备)。因此,可以向未连接到PAN的一个或多个设备提供对与通过PAN正在传输的媒体内容相关联的元数据的访问。
图10示出了交换与媒体内容相关联的元数据的一个或多个回放设备和一个或多个控制设备的示例配置1000。如图所示,配置1000包括媒体源设备1002(例如,诸如智能电话、平板计算机、膝上型计算机等的用户设备),其通过第一网络1004(例如,诸如蓝牙网络的PAN)与回放设备1006进行通信。回放设备1006还连接到第二网络1012(例如,诸如WIFI网络的WLAN)以便于与一个或多个控制设备(例如,诸如智能电话、平板计算机、膝上型计算机等的用户设备)进行通信,一个或多个控制设备示出为控制设备1008a至1008n,并且一个或多个回放设备示出为回放设备1010a至1010n。在一些情况下,媒体源设备1002也可以连接到第二网络1012。在其他情况下,媒体源设备1002可能不连接到第二网络1012。
回放设备1006可以经由第一网络1004从媒体源设备接收用于回放的媒体内容和与该媒体内容相关联的元数据。与媒体内容相关联的元数据的示例包括:标题、艺术家、专辑、曲目长度、曲目中的当前搜索位置、内容来源(例如,SPOTIFY、AMAZONMUSIC、APPLEMUSIC、本地存储等)和专辑封面。例如,在用户在媒体源设备1002上开始回放专辑的情况下,回放设备1006可以在开始回放时接收与专辑相关联的第一元数据集合(例如,专辑名称、专辑封面、第一曲目名称、第一曲目持续时间等)。在开始回放之后,回放设备1006可以在发生与媒体内容相关联的一个或多个事件时接收附加元数据。例如,在当前曲目被改变时(例如,通过用户输入或在先前曲目自然结束之后),回放设备1006可以接收诸如新曲目的名称和/或持续时间的附加元数据。
在回放设备1006接收到与要回放的媒体内容相关联的元数据之后,回放设备1006可以经由第二网络1012将与媒体内容相关联的元数据发送给控制设备1008a至1008n中的一个或多个。在一些情况下,回放设备1006可以在发送给一个或多个控制设备之前增强元数据。例如,从媒体源设备1002接收的元数据可以包括专辑名称但不包括专辑封面图像。在该示例中,回放设备1006可以使用专辑名称从一个或多个远程服务器(例如,通过诸如互联网的WAN连接到回放设备1006)访问相关联的专辑封面图像。在其他情况下,回放设备1006可以在没有增强的情况下将与媒体内容相关联的元数据中继到一个或多个控制设备。控制设备1008a至1008n中的一个或多个可以将接收到的元数据呈现给用户。例如,一个或多个控制设备1008a至1008n可以将图形用户界面(GUI)呈现给用户,该图形用户界面包括媒体回放系统中的哪些回放设备正在回放经由第一网络1004接收的媒体内容的指示、和/或正在回放什么的指示(例如,与媒体内容相关联的一条或多条元数据)。
在一些情况下,回放设备1006可以经由第二网络1012将元数据发送给一个或多个其他回放设备1010a至1010n。例如,回放设备1006可以将元数据发送给与第二网络1012连接的所有其他回放设备(例如,系统中的所有其他回放设备)。在其他示例中,回放设备1006可以仅将元数据发送给与第二网络1012连接的其他回放设备的子集。为了说明,回放设备1006可以仅将元数据发送给当前正在(例如,与回放设备1006同步)回放来自媒体源设备1002的媒体内容的那些其他回放没备。在另一场景中,回放设备1006可以仅将元数据发送给具有某些特性的那些其他回放设备(例如,包括显示器或其他输出设备的那些其他回放设备,元数据可以通过该显示器或其他输出设备传送到用户)。
应当理解,在一些情况下,回放设备1006可以通过第二网络1012将元数据发送回媒体源设备1002。例如,媒体源设备1002可以是执行与媒体回放系统相关联的软件应用的用户设备,该媒体回放系统便于通过第二网络1012回放和控制回放设备1006和/或回放设备1010a至1010n。在一些情况下,该软件应用可能无法直接访问经由第一网络1004正在流式传输的媒体内容(和/或相关联的元数据)(例如,媒体正在从用户设备上的另一应用流式传输)。因此,软件应用可能不知道媒体正在媒体回放系统上回放。因此,回放设备1006可以经由第二网络1012通知用户设备上的这种软件应用。
九.结论
以上关于回放设备、控制器设备、回放区域配置和媒体/音频内容源的讨论仅提供了操作环境的一些示例,在该操作环境中可以实现下面描述的功能和方法。本文未明确描述的媒体回放系统、回放设备和网络设备的配置和其他操作环境也可以适用且适于功能和方法的实现。
以上描述尤其公开了各种示例系统、方法、装置和尤其包括在硬件上执行的固件和/或软件的制品。应当理解的是,这些示例仅是示意性的,而不应当被认为是限制性的。例如,可以想到,这些固件、硬件和/或软件方面或组件中的任意一个或全部可以专门在硬件中实现、专门在软件中实现、专门在固件中实现、或在硬件、软件和/或固件的任意组合中实现。因此,所提供的示例不是实现这些系统、方法、装置和/或制品的唯一方式。
此外,本文对“实施例”的提及意味着结合实施例描述的特定特征、结构或特性可以包括在本发明的至少一个示例性实施例中。在说明书中各处出现该短语不一定都指代相同的实施例,也不是与其他实施例互斥的分离的或备选的实施例。因此,本领域技术人员应当显式地和隐式地理解的是,本文所描述的实施例可以与其他实施例组合。
主要在说明性的环境、系统、过程、步骤、逻辑块、处理以及直接或间接地与耦接到网络的数据处理设备的操作相类似的其他象征性表示的方面上,提出本说明书。本领域技术人员通常使用这些处理描述和表示,以向本领域技术人员的其他技术人员传播他们的工作内容。阐述了各种具体细节,以提供本公开的透彻理解。然而,本领域技术人员应理解,不需要特定、具体细节就可以实施本公开。在其他实例中,没有描述熟知的方法、过程、组件和电路,以避免不必要地使实施例的方面模糊不清。因此,本公开的范围由随附权利要求、而不是以上实施例的描述来界定。
当随附权利要求中的任一项权利要求被理解成涵盖纯软件和/或固件实现时,在此明确限定至少一个示例中的至少一个元素以包括存储软件和/或固件的非暂时性有形介质,如存储器、DVD、CD、蓝光等。
示例特征
(特征1)第一回放设备包括:一个或多个处理器;以及有形的、非暂时性计算机可读介质,包括存储其中的指令,其中该指令当被执行时使第一回放设备执行包括以下的功能:接收包括第一系列帧的第一数据流,其中第一系列帧中的各个分组具有第一格式,并且其中第一系列帧包括编码音频数据;从所述第一系列帧中提取所述编码音频数据;生成第二系列帧,其中第二系列帧中的各个帧具有第二格式,并且其中第二系列帧包括(i)从第一系列帧中提取的编码音频数据的部分和(ii)回放定时信息,其中回放定时信息包括从第一系列帧提取的编码音频数据的部分的回放定时;将包括第二系列帧的第二数据流发送给第二回放设备;以及使用回放定时信息来基于从第一系列帧中提取的编码音频数据的部分与第二回放设备同步播放音频内容。
(特征2)根据特征1所述的第一回放设备,其中,所述功能还包括:确定包括编码音频数据的第一系列帧是否正在丢失编码音频数据的一个或多个部分:以及响应于确定包括编码音频数据的第一系列帧正在丢失编码音频数据的一个或多个部分,生成与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分,其中第二系列帧还包括与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分,并且其中回放定时信息还包括与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分的一个或多个回放时间。
(特征3)根据特征2所述的第一回放设备,其中基于(i)对与经由第一数据流接收的编码音频数据相对应的序列标识符的分析、或(ii)对与经由第一数据流接收的编码音频数据相对应的时间戳的分析中的一个或多个来确定包括编码音频数据的第一系列帧是否正在丢失编码音频数据的一个或多个部分。
(特征4)根据特征2所述的第一回放设备,其中,所述功能还包括:向第二回放设备通知第二系列帧可能包括多于阈值数量的空部分。
(特征5)根据特征1所述的第一回放设备,其中,所述功能还包括:生成(i)从第一系列帧中提取的编码音频数据的部分以及(ii)与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分的回放定时。
(特征6)根据特征5所述的第一回放设备,其中生成(i)从第一系列帧中提取的编码音频数据的部分以及(ii)与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分的回放定时包括:生成编码音频数据的各个部分的回放时间,其中,编码音频数据的各个部分的回放时间包括相对于第一回放设备的时钟的未来回放时间,在未来回放时间,第一回放设备将播放编码音频数据的各个部分;以及生成各个空部分的回放时间,其中,所述各个空部分的回放时间包括相对于所述第一回放设备的时钟的未来回放时间,在所述未来回放时间,所述第一回放设备将播放所述各个空部分。
(特征7)根据特征6所述的第一回放设备,使用回放定时信息来基于从第一系列帧中提取的编码音频数据的部分与第二回放设备同步播放音频内容包括:当第一回放设备的时钟到达由编码音频数据的各个部分的回放时间指示的时间时,播放从第一系列帧中提取的编码音频数据的各个部分;以及当所述第一回放设备的时钟到达由所述各个空部分的回放时间指示的时间时,播放所述各个空部分。
(特征8)根据特征1所述的第一回放设备,其中,第一格式与蓝牙传输协议相关联,并且其中,第二格式与WIFI传输协议相关联。
(特征9)根据特征1所述的第一回放设备,其中,所述功能还包括:向第二回放设备通知:当第二回放设备接收编码音频数据的一部分时与当第二回放设备接收编码音频数据的后续部分时之间的时间间隔可能超过阈值持续时间。
(特征10)根据特征1所述的第一回放设备,其中第二系列帧中的各个帧包括:(i)从第一系列帧提取的编码音频数据的至少一部分,以及(ii)从第二系列帧中的各个帧内包含的第一系列帧中提取的编码音频数据的至少一部分的回放时间。
(特征11)根据特征1所述的第一回放设备,其中接收包括第一系列帧的第一数据流包括经由第一无线接口接收第一数据流,并且其中将包括第二系列帧的第二数据流发送给第二回放设备包括经由第二无线接口发送第二数据流。
(特征12)有形的、非暂时性计算机可读介质包括存储其中的指令,其中该指令当被执行时使第一回放设备执行包括以下的功能:接收包括第一系列帧的第一数据流,其中第一系列帧中的各个分组具有第一格式,并且其中第一系列帧包括编码音频数据;从所述第一系列帧中提取所述编码音频数据;生成第二系列帧,其中第二系列帧中的各个帧具有第二格式,并且其中第二系列帧包括(i)从第一系列帧中提取的编码音频数据的部分和(ii)回放定时信息,其中回放定时信息包括从第一系列帧提取的编码音频数据的部分的回放定时;将包括第二系列帧的第二数据流发送给第二回放设备;以及使用回放定时信息来基于从第一系列帧中提取的编码音频数据的部分与第二回放设备同步播放音频内容。
(特征13)根据特征12所述的有形的、非暂时性计算机可读介质,其中所述功能还包括:确定包括编码音频数据的第一系列帧是否正在丢失编码音频数据的一个或多个部分:以及响应于确定包括编码音频数据的第一系列帧正在丢失编码音频数据的一个或多个部分,生成与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分,其中第二系列帧还包括与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分,并且其中回放定时信息还包括与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分的一个或多个回放时间。
(特征14)根据特征13所述的有形的、非暂时性计算机可读介质,其中基于(i)对与经由第一数据流接收的编码音频数据相对应的序列标识符的分析、或(ii)对与经由第一数据流接收的编码音频数据相对应的时间戳的分析中的一个或多个来确定包括编码音频数据的第一系列帧是否正在丢失编码音频数据的一个或多个部分。
(特征15)根据特征13所述的有形的、非暂时性计算机可读介质,其中所述功能还包括以下各项中的一项或多项:(i)向第二回放设备通知第二系列帧可能包括多于阈值数量的空部分,或(ii)向第二回放设备通知当第二回放设备接收编码音频数据的一部分时与当第二回放设备接收编码音频数据的后续部分时之间的时间间隔可能超过阈值持续时间。
(特征16)根据特征1所述的有形的、非暂时性计算机可读介质,其中所述功能还包括:生成(i)从第一系列帧中提取的编码音频数据的部分以及(ii)与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分的回放定时。
(特征17)根据特征16所述的有形、非暂时性计算机可读介质,其中生成(i)从第一系列帧中提取的编码音频数据的部分以及(ii)与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分的回放定时包括:生成编码音频数据的各个部分的回放时间,其中,编码音频数据的各个部分的回放时间包括相对于第一回放设备的时钟的未来回放时间,在未来回放时间,第一回放设备将播放编码音频数据的各个部分;以及生成各个空部分的回放时间,其中,所述各个空部分的回放时间包括相对于所述第一回放设备的时钟的未来回放时间,在所述未来回放时间,所述第一回放设备将播放所述各个空部分。
(特征18)根据特征17所述的有形的、非暂时性计算机可读介质,其中,使用回放定时信息来基于从第一系列帧中提取的编码音频数据的部分与第二回放设备同步播放音频内容包括:当第一回放设备的时钟到达由编码音频数据的各个部分的回放时间指示的时间时,播放从第一系列帧中提取的编码音频数据的各个部分;以及当所述第一回放设备的时钟到达由所述各个空部分的回放时间指示的时间时,播放所述各个空部分。
(特征19)根据特征12所述的有形的、非暂时性的计算机可读介质,其中,第一格式与蓝牙传输协议相关联,并且其中,第二格式与WIFI传输协议相关联。
(特征20)根据特征12所述的有形、非暂时性计算机可读介质,其中第二系列帧中的各个帧包括:(i)从第一系列帧提取的编码音频数据的至少一部分,以及(ii)从第二系列帧中的各个帧内包含的第一系列帧中提取的编码音频数据的至少一部分的回放时间。
(特征21)第一回放设备包括:第一无线通信接口,被配置为便于通过至少一个个域网(PAN)进行通信;第二无线通信接口,被配置为便于通过至少一个无线局域网(WLAN)进行通信;一个或多个处理器;至少一种非暂时性计算机可读介质,包括程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置为执行以下操作:使用第一无线通信接口,从第一用户设备接收包括第一系列帧的第一数据流,其中第一系列帧中的各个分组具有第一格式,并且其中第一系列帧包括编码音频数据;从第一系列帧中提取编码音频数据;生成第二系列帧,其中第二系列帧中的各个帧具有第二格式,并且其中第二系列帧包括(i)从第一系列帧中提取的编码音频数据的部分和(ii)回放定时信息,其中回放定时信息包括从第一系列帧提取的编码音频数据的部分的回放定时;使用第二无线通信接口,将包括第二系列帧的第二数据流发送给第二回放设备;以及使用回放定时信息来基于从第一系列帧中提取的编码音频数据的部分与第二回放设备同步播放音频内容。
(特征22)根据特征21所述的第一回放设备,其中,第一格式与蓝牙传输协议相关联,并且其中,第二格式与WIFI传输协议相关联。
(特征23)根据特征21和22中任一项所述的第一回放设备,其中第二系列帧中的各个帧包括:(i)从第一系列帧提取的编码音频数据的至少一部分,以及(ii)从第二系列帧中的各个帧内包含的第一系列帧中提取的编码音频数据的至少一部分的回放时间。
(特征24)根据特征21至23中任一项所述的第一回放设备,其中,至少一种非暂时性计算机可读介质还包括可由至少一个处理器执行以使得第一回放设备被配置为执行以下操作的程序指令:使用第一通信接口从第一用户设备接收与编码音频内容相关联的第一元数据;以及基于第一元数据,使用第二通信接口向第二用户设备发送与编码音频内容相关联的第二元数据。
(特征25)根据特征24所述的第一回放设备,其中,第一元数据或第二元数据中的至少一个包括以下中的至少一种:艺术家姓名、歌曲名称、歌曲艺术、歌曲持续时间、专辑名称、专辑封面或专辑持续时间。
(特征26)根据特征24和25中任一项所述的第一回放设备,其中,第一元数据与第二元数据相同。
(特征27)根据特征24和25中任一项所述的第一回放设备,其中,第一元数据与第二元数据不同。
(特征28)根据特征21至27中任一项所述的第一回放设备,其中,至少一种非暂时性计算机可读介质还包括可由至少一个处理器执行以使得第一回放设备被配置为执行以下操作的程序指令:确定包括编码音频数据的第一系列帧是否正在丢失编码音频数据的一个或多个部分:以及响应于确定包括编码音频数据的第一系列帧正在丢失编码音频数据的一个或多个部分,生成与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分,其中第二系列帧还包括与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分,并且其中回放定时信息还包括与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分的一个或多个回放时间。
(特征29)根据特征28所述的第一回放设备,其中,可由至少一个处理器执行以使得第一回放没备被配置为确定包括编码音频数据的第一系列帧是否正在丢失编码音频数据的一个或多个部分的程序指令包括以下的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置为执行以下操作:基于(i)对与经由第一数据流接收的编码音频数据相对应的序列标识符的分析、或(ii)对与经由第一数据流接收的编码音频数据相对应的时间戳的分析中的一个或多个来确定包括编码音频数据的第一系列帧是否正在丢失编码音频数据的一个或多个部分。
(特征30)根据特征21至29中任一项所述的第一回放设备,其中,至少一种非暂时性计算机可读介质还包括可由至少一个处理器执行以使得第一回放设备被配置为执行以下操作的程序指令:生成(i)从第一系列帧中提取的编码音频数据的部分以及(ii)与编码音频数据的一个或多个丢失部分相对应的一个或多个空部分的回放定时。
(特征31)根据特征30所述的第一回放设备,其中,可由至少一个处理器执行以使得第一回放设备被配置为生成回放定时信息的程序指令包括以下的程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置为执行以下操作:生成编码音频数据的各个部分的回放时间,其中,编码音频数据的各个部分的回放时间包括相对于第一回放设备的时钟的未来回放时间,在未来回放时间,第一回放设备将播放编码音频数据的各个部分;以及生成各个空部分的回放时间,其中,各个空部分的回放时间包括相对于第一回放设备的时钟的未来回放时间,在未来回放时间,第一回放设备将播放各个空部分。
(特征32)根据特征21至31中任一项所述的第一回放设备,其中,可由至少一个处理器执行以使得第一回放设备被配置为使用回放定时信息来播放音频内容的程序指令包括可由至少一个处理器执行以使得第一回放设备被配置为执行以下操作的程序指令:当第一回放设备的时钟到达由编码音频数据的各个部分的回放时间指示的时间时,播放从第一系列帧中提取的编码音频数据的各个部分;以及当第一回放设备的时钟到达由各个空部分的回放时间指示的时间时,播放各个空部分。
(特征33)根据特征21至32中任一项所述的第一回放设备,其中第二系列帧中的各个帧包括:(i)从第一系列帧提取的编码音频数据的至少一部分,以及(ii)从第二系列帧中的各个帧内包含的第一系列帧中提取的编码音频数据的至少一部分的回放时间。
(特征34)一种操作第一回放设备的方法,所述方法包括:使用被配置为便于通过至少一个个域网进行通信的第一通信接口,接收包括第一系列帧的第一数据流,其中第一系列帧中的各个分组具有第一格式,并且其中第一系列帧包括编码音频数据;从所述第一系列帧中提取所述编码音频数据;生成第二系列帧,其中第二系列帧中的各个帧具有第二格式,并且其中第二系列帧包括(i)从第一系列帧中提取的编码音频数据的部分和(ii)回放定时信息,其中回放定时信息包括从第一系列帧提取的编码音频数据的部分的回放定时;使用被配置为便于通过至少一个无线局域网进行通信的第二通信接口,将包括第二系列帧的第二数据流发送给第二回放设备;以及使用回放定时信息来基于从第一系列帧中提取的编码音频数据的部分与第二回放设备同步播放音频内容。
(特征35)至少一种非暂时性计算机可读介质,包括可由至少一个处理器执行以使得第一回放设备被配置为执行以下操作的程序指令:使用第一回放设备的第一无线通信接口,从第一用户设备接收包括第一系列帧的第一数据流,其中第一系列帧中的各个分组具有第一格式,并且其中第一系列帧包括编码音频数据;从第一系列帧中提取编码音频数据;生成第二系列帧,其中第二系列帧中的各个帧具有第二格式,并且其中第二系列帧包括(i)从第一系列帧中提取的编码音频数据的部分和(ii)回放定时信息,其中回放定时信息包括从第一系列帧提取的编码音频数据的部分的回放定时;使用第一回放设备的第二无线通信接口,将包括第二系列帧的第二数据流发送给第二回放设备;以及使用回放定时信息来基于从第一系列帧中提取的编码音频数据的部分与第二回放设备同步播放音频内容。
(特征36)根据特征35所述的至少一种非暂时性计算机可读介质,其中第二系列帧中的各个帧包括:(i)从第一系列帧提取的编码音频数据的至少一部分,以及(ii)从第二系列帧中的各个帧内包含的第一系列帧中提取的编码音频数据的至少一部分的回放时间。
(特征37)根据特征35和36中任一项所述的至少一种非暂时性计算机可读介质,其中,至少一种非暂时性计算机可读介质还包括可由至少一个处理器执行以使得第一回放设备被配置为执行以下操作的程序指令:使用第一通信接口从第一用户设备接收与编码音频内容相关联的第一元数据;以及基于第一元数据,使用第二通信接口向第二用户设备发送与编码音频内容相关联的第二元数据。
(特征38)根据特征37所述的至少一种非暂时性计算机可读介质,其中,第一元数据或第二元数据中的至少一个包括以下中的至少一种:艺术家姓名、歌曲名称、歌曲艺术、歌曲持续时间、专辑名称、专辑封面或专辑持续时间。
(特征39)根据特征37和38中任一项所述的至少一种非暂时性计算机可读介质,其中第一元数据与第二元数据相同。
(特征40)根据特征37和38中任一项所述的至少一种非暂时性计算机可读介质,其中,第一元数据不同于第二元数据。
(特征41)一种第一回放设备,包括:第一无线通信接口,被配置为便于通过至少一个个域网(PAN)进行通信;第二无线通信接口,被配置为便于通过至少一个无线局域网(WLAN)进行通信;一个或多个处理器;至少一种非暂时性计算机可读介质,包括程序指令,所述程序指令可由至少一个处理器执行以使得第一回放设备被配置为执行以下操作:使用第一无线通信接口,从第一用户设备接收包括第一系列帧的第一数据流,其中第一系列帧中的各个分组具有第一格式,并且其中第一系列帧包括编码音频数据;从第一系列帧中提取编码音频数据;生成第二系列帧,其中第二系列帧中的各个帧具有第二格式,并且其中第二系列帧包括(i)从第一系列帧中提取的编码音频数据的部分和(ii)回放定时信息,其中回放定时信息包括从第一系列帧提取的编码音频数据的部分的回放定时;使用第二无线通信接口,将包括第二系列帧的第二数据流发送给第二回放设备;使用第一通信接口从第一用户设备接收与编码音频内容相关联的第一元数据;以及基于第一元数据,使用第二通信接口向第二用户设备发送与编码音频内容相关联的第二元数据。
(特征42)根据特征41所述的第一回放设备,其中,第一回放设备不基于编码音频数据回放音频内容。
(特征43)根据特征41所述的第一回放设备,其中,第一回放设备基于编码音频数据的部分以最小音量电平(例如,零音量电平、静音等)回放音频内容。
(特征44)根据特征21至33和41至43中任一项所述的第一回放设备,其中,第一回放设备是包括电池的便携式回放设备。
(特征45)根据特征21至33和41至43中任一项所述的第一回放设备,其中,第一回放设备是被配置为围绕对象的一部分佩戴的可佩戴设备。
(特征46)根据特征45所述的第一回放设备,其中,第一回放设备是耳机设备。
(特征47)根据特征21至33以及特征41至46中任一项所述的第一回放设备,其中,第一回放设备是无屏幕回放设备(例如,不包括显示屏)。

Claims (15)

1.一种用于第一回放设备的方法,所述方法包括:
使用被配置为便于通过至少一个个域网进行通信的第一通信接口来接收包括第一系列帧的第一数据流,所述第一系列帧包括编码音频数据,以及
从所述第一系列帧中提取所述编码音频数据;
生成第二系列帧,所述第二系列帧包括:
从所述第一系列帧中提取的所述编码音频数据的部分;以及
回放定时信息,包括从所述第一系列帧中提取的所述编码音频数据的部分的回放定时;
其中,所述第二系列帧中的各个帧具有与所述第一系列帧中的各个分组的第一格式不同的第二格式,
使用被配置为便于通过至少一个无线局域网进行通信的第二通信接口向第二回放设备发送包括所述第二系列帧的第二数据流;以及
基于以下内容与所述第二回放设备同步地播放音频内容:
从所述第一系列帧中提取的所述编码音频数据的部分;以及
所述回放定时信息。
2.根据权利要求1所述的方法,其中:
所述第一格式与蓝牙传输协议相关联,并且
所述第二格式与WIFI传输协议相关联。
3.根据权利要求1或2所述的方法,其中,所述第二系列帧中的各个帧包括:
从所述第一系列帧中提取的编码音频数据的至少一部分;以及
在所述第二系列帧中的各个帧内包含的从所述第一系列帧中提取的编码音频数据的至少一部分的回放时间。
4.根据任一项前述权利要求所述的方法,还包括:
使用所述第一通信接口,从第一用户设备接收与所述编码音频内容相关联的第一元数据;以及
基于所述第一元数据,使用所述第二通信接口向第二用户设备发送与所述编码音频内容相关联的第二元数据。
5.根据权利要求4所述的方法,其中,所述第一元数据或所述第二元数据中的至少一个包括以下中的至少一种:艺术家姓名、歌曲名称、歌曲艺术、歌曲持续时间、专辑名称、专辑封面或专辑持续时间。
6.根据权利要求4或5所述的方法,其中,所述第一元数据与所述第二元数据相同。
7.根据权利要求4或5所述的方法,其中,所述第一元数据不同于所述第二元数据。
8.根据任一项前述权利要求所述的方法,其中,当包括所述编码音频数据的第一系列帧丢失所述编码音频数据的一个或多个部分时,生成所述第二系列帧包括:
生成一个或多个空部分以及与所述编码音频的一个或多个丢失部分相对应的对应回放定时信息。
9.根据权利要求8所述的方法,还包括基于以下中的一项或多项来确定包括所述编码音频数据的第一系列帧是否正在丢失所述编码音频数据的一个或多个部分:
对与经由所述第一数据流接收的所述编码音频数据相对应的序列标识符的分析,或
对与经由所述第一数据流接收的所述编码音频数据相对应的时间戳的分析。
10.根据任一项前述权利要求所述的方法,还包括:
针对以下内容生成所述回放定时信息:
从所述第一系列帧中提取的所述编码音频数据的部分,以及
与所述编码音频数据的一个或多个丢失部分相对应的一个或多个空部分。
11.根据权利要求10所述的方法,其中,生成所述回放定时信息包括:
生成所述编码音频数据的各个部分的回放时间,其中,所述编码音频数据的各个部分的回放时间包括相对于所述第一回放设备的时钟的未来回放时间,在所述未来回放时间,所述第一回放设备将播放所述编码音频数据的各个部分;以及
生成各个空部分的回放时间,其中,所述各个空部分的回放时间包括相对于所述第一回放设备的时钟的未来回放时间,在所述未来回放时间,所述第一回放设备将播放所述各个空部分。
12.根据权利要求11所述的方法,其中,基于所述回放定时信息播放音频内容包括:
当所述第一回放设备的时钟到达由所述编码音频数据的各个部分的回放时间指示的时间时,播放从所述第一系列帧中提取的编码音频数据的各个部分;以及
当所述第一回放设备的时钟到达由所述各个空部分的回放时间指示的时间时,播放所述各个空部分。
13.根据任一项前述权利要求所述的方法,其中,所述第二系列帧中的各个帧包括:
从所述第一系列帧中提取的编码音频数据的至少一部分,以及
在所述第二系列帧中的各个帧内包含的从所述第一系列帧中提取的编码音频数据的至少一部分的回放时间。
14.至少一种非暂时性计算机可读介质,包括程序指令,所述程序指令能够由至少一个处理器执行以使得第一回放设备被配置为执行任一项前述权利要求所述的方法。
15.一种第一回放设备,包括:
第一无线通信接口,被配置为便于通过至少一个个域网(PAN)进行通信;
第二无线通信接口,被配置为便于通过至少一个无线局域网(WLAN)进行通信;
一个或多个处理器;
至少一种非暂时性计算机可读介质,包括程序指令,所述程序指令能够由至少一个处理器执行以使得所述第一回放设备被配置为执行权利要求1至13中任一项所述的方法。
CN202080077982.8A 2019-09-10 2020-09-09 同步回放从其他网络接收的音频信息 Pending CN114731453A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962898194P 2019-09-10 2019-09-10
US62/898,194 2019-09-10
PCT/US2020/049939 WO2021050546A1 (en) 2019-09-10 2020-09-09 Synchronizing playback of audio information received from other networks

Publications (1)

Publication Number Publication Date
CN114731453A true CN114731453A (zh) 2022-07-08

Family

ID=72562033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080077982.8A Pending CN114731453A (zh) 2019-09-10 2020-09-09 同步回放从其他网络接收的音频信息

Country Status (5)

Country Link
EP (1) EP4029280A1 (zh)
CN (1) CN114731453A (zh)
AU (1) AU2020344540A1 (zh)
CA (1) CA3155380A1 (zh)
WO (1) WO2021050546A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3109046B1 (fr) * 2020-04-01 2022-03-04 Sagemcom Broadband Sas Procédé de gestion d’un flux audio lu de manière synchronisée sur une horloge de référence
WO2024073078A2 (en) * 2022-09-30 2024-04-04 Sonos, Inc. Playback system architectures and area zone configurations

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050259694A1 (en) * 2004-05-13 2005-11-24 Harinath Garudadri Synchronization of audio and video data in a wireless communication system
US7054544B1 (en) * 1999-07-22 2006-05-30 Nec Corporation System, method and record medium for audio-video synchronous playback
US20090055383A1 (en) * 2007-08-23 2009-02-26 Sony Computer Entertainment America Inc. Dynamic media interaction using time-based metadata
US20140010515A1 (en) * 2010-10-22 2014-01-09 Dts, Inc. Playback synchronization
US20180012631A1 (en) * 2015-01-28 2018-01-11 Dynastrom Aps Synchronization in audio playback network independent of system clock
US20190090028A1 (en) * 2009-12-18 2019-03-21 Joseph F. Kirley Distributing Audio Signals for an Audio/Video Presentation
US20190124445A1 (en) * 2017-10-23 2019-04-25 Bose Corporation Wireless Audio Synchronization

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US10649718B2 (en) 2018-05-15 2020-05-12 Sonos, Inc. Interoperability of native media playback system with virtual line-in

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054544B1 (en) * 1999-07-22 2006-05-30 Nec Corporation System, method and record medium for audio-video synchronous playback
US20050259694A1 (en) * 2004-05-13 2005-11-24 Harinath Garudadri Synchronization of audio and video data in a wireless communication system
US20090055383A1 (en) * 2007-08-23 2009-02-26 Sony Computer Entertainment America Inc. Dynamic media interaction using time-based metadata
US20190090028A1 (en) * 2009-12-18 2019-03-21 Joseph F. Kirley Distributing Audio Signals for an Audio/Video Presentation
US20140010515A1 (en) * 2010-10-22 2014-01-09 Dts, Inc. Playback synchronization
US20180012631A1 (en) * 2015-01-28 2018-01-11 Dynastrom Aps Synchronization in audio playback network independent of system clock
US20190124445A1 (en) * 2017-10-23 2019-04-25 Bose Corporation Wireless Audio Synchronization

Also Published As

Publication number Publication date
WO2021050546A1 (en) 2021-03-18
AU2020344540A1 (en) 2022-04-28
EP4029280A1 (en) 2022-07-20
CA3155380A1 (en) 2021-03-18

Similar Documents

Publication Publication Date Title
US11812253B2 (en) Wireless multi-channel headphone systems and methods
CN113168850B (zh) 分布式同步回放设备及用于其的方法
US11140485B2 (en) Wireless transmission to satellites for multichannel audio system
US11916991B2 (en) Hybrid sniffing and rebroadcast for Bluetooth mesh networks
CN114731453A (zh) 同步回放从其他网络接收的音频信息
US11758214B2 (en) Techniques for clock rate synchronization
US20240069853A1 (en) Techniques for Extending the Lifespan of Playback Devices
US20230112398A1 (en) Broadcast Audio for Synchronized Playback by Wearables
US20210067573A1 (en) Mixed-Mode Synchronous Playback
US20230023652A1 (en) Wireless Streaming of Audio/Visual Content in a Home Theater Architecture
US20220244907A1 (en) Synchronization via Out-of-Band Clock Timing Signaling
US20240089659A1 (en) Bluetooth Line-In Stereo
US20230317118A1 (en) Audio Caching for Synchronous Playback
US20240171146A1 (en) Techniques for Enabling Interoperability between Media Playback Systems
US20240111485A1 (en) Multichannel Content Distribution
WO2022165181A1 (en) Synchronization via out-of-band clock timing signaling
WO2023055742A1 (en) Synchronous playback of media content by off-net portable playback devices

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination