Source: https://patents.google.com/patent/US9516440B2/en
Timestamp: 2019-05-24 00:18:08
Document Index: 518667349

Matched Legal Cases: ['art 900', 'art 1000', 'art 1100', 'art1', 'art2', 'art3', 'art4', 'art5', 'art6', 'art7', 'art8', 'Application No. 13844284', 'Application No. 13844284']

US9516440B2 - Providing a multi-channel and a multi-zone audio environment - Google Patents
US9516440B2
US9516440B2 US13/632,731 US201213632731A US9516440B2 US 9516440 B2 US9516440 B2 US 9516440B2 US 201213632731 A US201213632731 A US 201213632731A US 9516440 B2 US9516440 B2 US 9516440B2
US13/632,731
US20140093085A1 (en
2012-10-01 Application filed by Sonos Inc filed Critical Sonos Inc
2014-01-17 Assigned to SONOS,INC. reassignment SONOS,INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RAMOS, Aurelio Rafael, JARVIS, Simon, VEGA, LUIS, LEHNERT, HILMAR
2014-04-03 Publication of US20140093085A1 publication Critical patent/US20140093085A1/en
2016-12-06 Publication of US9516440B2 publication Critical patent/US9516440B2/en
A multi-channel and multi-zone audio environment is provided. Various inventions are disclosed that allow playback devices on one or more networks to provide an effective multi-channel and a multi-zone audio environment using timing information. According to one example, timing information is used to coordinate playback devices connected over a low-latency network to provide audio along with a video display. In another example, timing information is used to coordinate playback devices connected over a mesh network to provide audio in one or more zones or zone groups.
FIG. 7 shows an example network audio system in accordance with an embodiment;
FIG. 8 shows the network audio system of FIG. 7 in operation;
FIG. 9 shows a flowchart representative of an example method to assign timing information in a home theater like environment;
FIG. 10 shows a flowchart representative of an example method to assign timing information in a home theater like environment and a zone group;
FIG. 11 shows a flowchart representative of an example method to adjust timestamps;
FIG. 12 shows an internal functional block diagram of a primary zone player to provide low-latency audio;
FIG. 13 shows an internal functional block diagram of a satellite zone player to provide low-latency audio in combination with the primary zone player of FIG. 12; and
FIG. 14 shows a block diagram of an example zone player network in which a primary zone player is connected to satellite players in a star network and to additional zone players via a mesh network.
By way of illustration, the system configuration 100 represents a home with multiple zones, though the home could have been configured with only one zone. Each zone, for example, may represent a different room or space, such as an office, bathroom, bedroom, kitchen, dining room, family room, home theater room, utility or laundry room, and patio. A zone may also include an area inside a home, building, or vehicle or outside and as such may include any spatial area. A single zone might also include multiple rooms or spaces if so configured. One or more of zone players 102-124 are shown in each respective zone. A zone player 102-124, also referred to herein as a playback device, multimedia unit, speaker, player, and so on, provides audio, video, and/or audiovisual output. A controller 130 (e.g., shown in the kitchen for purposes of illustration) provides control to the system configuration 100. Controller 130 may be fixed to a zone, or alternatively, mobile such that it can be moved about the zones. The system configuration 100 may also include more than one controller 130. The system configuration 100 illustrates an example whole house audio system, though it is understood that the technology described herein is not limited to its particular place of application or to an expansive system like a whole house audio system 100 of FIG. 1.
Referring back to FIG. 1, in some embodiments, one, some, or all of the zone players 102 to 124 can retrieve audio directly from a source. For example, a zone player may contain a playlist or queue of audio items to be played (also referred to herein as a “playback queue”). Each item in the queue may comprise a uniform resource identifier (URI) or some other identifier. The URI or identifier can point the zone player to the audio source. The audio source might be found on the Internet (e.g., the cloud), locally from another device over data network 128 (described further below), from the controller 130, stored on the zone player itself, or from an audio source communicating directly to the zone player. In some embodiments, the zone player can reproduce the audio itself, send it to another zone player for reproduction, or both where the audio is played by the zone player and one or more additional zone players in synchrony. In some embodiments, the zone player can play a first audio content (or not play at all), while sending a second, different audio content to another zone player(s) for reproduction.
By way of illustration, SONOS, Inc. of Santa Barbara, Calif. presently offers for sale zone players currently referred to as a “PLAY:5,” “PLAY:3,” “CONNECT:AMP,” “CONNECT,” and “SUB.” Any other past, present, and/or future zone players can additionally or alternatively be used to implement the zone players of example embodiments disclosed herein. Additionally, it is understood that a zone player is not limited to the particular examples illustrated in FIGS. 2A, 2B, and 2C or to the SONOS product offerings. For example, a zone player may include a wired or wireless headphone. In yet another example, a zone player might include a sound bar for television. In yet another example, a zone player can include or interact with a docking station for an Apple IPOD™ or similar device.
In addition, an application running on any network-enabled portable device, such as an IPHONE®, IPAD®, ANDROID™ powered phone, or any other smart phone or network-enabled device can be used as controller 130. An application running on a laptop or desktop personal computer (PC) or MAC® can also be used as controller 130. Such controllers may connect to system 100 through an interface with data network 128, a zone player, a wireless router, or using some other configured connection path. Example controllers offered by Sonos, Inc. of Santa Barbara, Calif. include a “Controller 200,” “SONOS® CONTROL,” “SONOS® Controller for IPHONE®,” “SONOS® Controller for IPAD®,” “SONOS® Controller for ANDROID™,” “SONOS® Controller for MAC® or PC.”
Certain particular examples are now provided in connection with FIG. 6 to describe, for purposes of illustration, certain systems and methods to provide and facilitate connection to a playback network. FIG. 6 shows that there are three zone players 602, 604 and 606 and a controller 608 that form a network branch that is also referred to as an Ad-Hoc network 610. The network 610 may be wireless, wired, or a combination of wired and wireless. In general, an Ad-Hoc (or “spontaneous”) network is a local area network or other small network in which there is generally no one access point for all traffic. With an established Ad-Hoc network 610, the devices 602, 604, 606 and 608 can all communicate with each other in a “peer-to-peer” style of communication, for example. Furthermore, devices may join and/or leave from the network 610, and the network 610 may automatically reconfigure itself without needing the user to reconfigure the network 610. While an Ad-Hoc network is referenced in FIG. 6, it is understood that a playback network may be based on a type of network that is completely or partially different from an Ad-Hoc network.
FIG. 7 illustrates an example network audio system 700 constructed in accordance with an embodiment. The network audio system 700 includes a playback device 702, a first group of one or more playback devices generally identified by reference numeral 704, and a second group of one or more playback devices generally identified by reference numeral 706. The playback devices 702, 704, and 706 operate under the control of one or more user interface modules generally identified by reference numeral 708. In an embodiment, the network audio system 700, including the user interface (UI) 708, are shown in FIG. 1 as the system 100 and the controller 130, respectively.
As shown in FIG. 7, the playback device 702 is connected directly or in-directly to a video device 710 that contains, or is connected to, a display for the purpose of viewing video. The video device 710 may include any of a digital video receiver like an Apple TV, cable or satellite box, Blu-ray player, television set, monitor, projector, or any other device or devices that is an audio source to the playback device 702 via a wired or wireless connection 722, more of which is described below.
Similar to the zone players described with respect to the system 100 of FIG. 1, the playback devices 702 and 706 are connected to one or more additional audio sources, examples of which are identified in FIG. 7 generally as local audio 712 and cloud content 714 via a network interface 716. The network interface 716 may include any of a network router, modem, or other network device that allows access to devices on the local area network and/or a wide area network such as the Internet. Local audio 712 may include any of local audio content, such as audio stored and/or accessible from a local device like a personal computer, laptop, mobile device, network accessible storage (NAS) device, an audio reproduction device connected to one of the playback devices 702, 704, and 706, or similar devices capable of storing digital information in volatile or non-volatile form or streaming the digital audio information. Audio source at the cloud content 714 may include Internet audio content or any other source of audio information via a wide area network.
In one embodiment, the playback devices 704 are connected to the local audio 712 and the cloud content 714 via the playback device 702 over the HT network 718. In another embodiment (not shown in FIG. 7), the playback devices 704 are connected to the local audio 712 and the cloud content 714 via the ZG network 720.
With reference to the example illustrated in FIG. 7, the playback device 702 may be connected to the playback devices 704 via a star network, generally referred to in the figure as home theater (HT) network 718, and to the playback devices 706 via a mesh network, generally referred to as zone group (ZG) network 720.
In an embodiment, the ZG network 720 is like the data network 128 of FIG. 1. The ZG network 720 supports the playback of audio in synchrony amongst playback devices 706 and 702 that may be in ear-shot of each other.
In an embodiment, the playback device 702 may be used with the video device 710 to provide the sole reproduction of audio (or substantially the sole reproduction) for the video device 710. In this embodiment, the playback device 702 may be configured, for example, to support the playback of audio either in a single channel or multi-channel mode. By way of illustration, traditional multi-channel modes include, among others, 2.0 (e.g., stereophonic sound), 2.1, 3.1, virtual 5.1, or virtual 7.1 configurations, where the “0.1” typically represents the low-frequency effects channel and virtual 5.1 and 7.1 configurations represent a simulated surround sound effect. The playback device 702 may playback the audio according to a certain configuration based on its particular speaker design, how the incoming audio is encoded, based on a user configuration via the UI 708, or any combination of the three. According to this embodiment, the playback device 702 need not be coupled to the playback devices 704, because the playback device 702, by itself or without the use of another playback device, is used to reproduce the audio for the video device 710.
In yet another embodiment, a coupling of the playback device 702 to playback devices 706 via ZG network 720 enables audio from the video device 710 to be played in substantial synchrony by other playback devices 706, and furthermore allows the playback device 702 to be included in an overall audio system (e.g., system 100 shown in FIG. 1), in which additional benefits are provided. If the playback device 702 is not coupled to the playback devices 706 via the ZG network 720, then a connection 724 may be made directly (or indirectly) to network device 716, such that the playback device 702 can be controlled by a wireless enabled controller, has access to local audio content 712, has access to cloud content 714, and so on. In one embodiment, the connection 724 may include wired Ethernet.
In an embodiment, similar to the controller 130 of FIG. 1, the UI 708 in FIG. 7 can be used to, among other things, configure any of playback devices 702, 704, and 706, such as to modify the audio equalization (EQ) settings, and enable zone group joining and disengaging. For instance, the UI 708 can enable dynamic joining and disengaging of any playback devices of the playback devices 702, 704, and 706 to one or more zone groups (also referred to as synchrony groups). In other words, for instance, if the playback device 702 is currently not a member of a zone group, for example, the playback device 702 may be joined to a zone group via UI 708, after which it will play the audio of that zone group. If the playback device 702 is currently a member of a zone group, the playback device 702 may be disengaged from that zone group via the UI 708. Alternatively, a new zone group may be created with the playback device 702 and another playback device. Additionally, the UI 708 can control other aspects of the network audio system 700, including but not limited to the selection of the audio information source that a particular playback device is to utilize, the volume of the audio playback, to turn audio information source(s) on and off, and so on.
In one embodiment, the playback device 702 may be configured to implement a mode of operation referred to herein as “dialog enhancement” that provides an enhancement to audio that is associated with video so that a user can more clearly understand speech. Particularly, in one embodiment, the playback device 702 boosts the center channel, rolls off the bass frequencies, lowers the volume of the satellites, and emphasizes the speech spectrum (e.g., 300 to 3400 Hz). In one embodiment, the playback device 702 is configured via the UI 708 to implement “dialog enhancement” mode of operation. In one embodiment, “dialog enhancement,” once configured with the playback device 702, is implemented based on characteristics of the audio content (e.g., is the audio associated with video, what interface does the audio content arrive to the playback device, what application was used to initiate the audio playback, and so on). For example, if “dialog enhancement” is configured on the playback device 702 and the audio content arrives from the video device 710 via connection 722, then the audio is adjusted according to the “dialog enhancement” mode.
In another embodiment, the playback device 702 may be configured to implement a mode of operation referred to herein as “night mode” that applies dynamic range compression in addition to implementing “dialog enhancement.” In one embodiment, the playback device 702, is configured via the UI 708 to implement “night mode” mode of operation. In one embodiment, “night mode,” once configured with the playback device 702, is implemented based on characteristics of the audio content (e.g., is the audio associated with video, what interface does the audio content arrive to the playback device, what application was used to initiate the audio playback, and so on) as well as a temporal or environmental characteristics (e.g., what time of day is it, is it dark outside, and so on). In one embodiment, the playback device 702 uses a light sensor to determine the relative brightness in the room to determine if the environmental characteristic is met for “night mode.” For example, if the light sensor detects, for example, a lux value of less than (<) 1, the environmental characteristic may be met for “night mode” use. In another embodiment, the playback device 702 uses a real-time clock to determine if the temporal characteristic is met for “night mode” use. For example, if the real-time clock indicates the time is between, for example, 8 pm and 6 am, the temporal characteristic may be met for “night mode” use.
In an embodiment, when the playback device 702 provides the audio information to the playback devices 704 and/or 706, the playback device 702 may divide the audio stream or file into a series of frames, with each frame containing digital audio information for a predetermined period of time. A particular frame in a digital audio stream may contain a series of audio samples. Associated with each frame is a header that includes a number of fields for storing other information that is useful in controlling playback of the audio samples in the respective frame. For instance, the header associated with a frame may include a frame sequence number field, an encoding type field, a sampling rate information field, a timestamp field, an end of track flag, and a length flag field. The header may also include fields for storing other information that is useful in controlling playback. Generally, the frame sequence number field receives a sequence number that identifies the relative position of the frame in the sequence of frames containing the digital audio stream. The encoding type field receives a value that identifies the type of encoding and/or compression that has been used in generating the digital audio stream. Depending on the audio source, conventional encoding and/or compression schemes include, for example, MP3, WMA, AAC, and WAV encoding and/or compression schemes, although it will be appreciated that other schemes may be provided for as well. The sampling rate information field receives sampling rate information that indicates the sampling rate for the audio samples. The condition of the end of work flag indicates whether the frame contains the last digital audio samples for the audio track associated with the framed digital audio work. If the frame does not contain the audio samples that are associated with the end of the digital audio stream for a respective audio work, the end of work flag will be clear. On the other hand, if the frame does contain the audio samples that are associated with the end of the digital audio stream for a respective audio work, the end of work flag will be set. In addition, since the number of valid audio samples in the frame, that is, the samples that are not padding, may be less than “S,” the default number of audio samples in a frame, the length flag field will contain a value that identifies the number of audio samples in the last frame of the audio work.
FIG. 8 illustrates the example network audio system 700 of FIG. 7, where the playback device 702 is coupled to three different playback devices at 704, via the HT network 718, and is grouped in a zone with at least one other playback device 706, via the ZG network 720. Particularly, the three playback devices 704 include a subwoofer (SUB) and two satellite speakers (SAT). In the illustrative embodiment of FIG. 8, it is assumed that the HT network 718 and the ZG network 720 are using wireless networks, such as described above, in which audio information is being sent wirelessly from the playback device 702 to the playback devices 704 and 706. As such, certain timing delays are introduced by the playback device 702 to enable the receiving devices to receive and process the audio information. In other embodiments, the HT network 718 and/or the ZG network 720 are using wired networks (e.g., 100 Mb or 1 Gb Ethernet networks). As such, certain timing delays may be different than the delays introduced for wireless networks. In yet other embodiments, the timing delays may be different depending on the number of zone players that are grouped together and/or the total number of zone players in the system. In addition, certain timing delays may be introduced to provide a home-theater listening environment. In an embodiment, these timing delays are reflected in the timestamps assigned to various audio channels, groups of audio channels, or audio to be sent to a zone group by the playback device 702.
With reference to FIG. 8, a timestamp may be provided that indicates a time to play the three-channel audio (e.g., front-right, center, and front-left channels) from the playback device 702, such that the time is delayed by, for example, 5 milliseconds (ms) from when the corresponding video is to be displayed at time (t)=0.0 via the video device 710. With respect to the SUB channel, the playback device 702 may assign a timestamp of 10 ms past t=0.0. With respect to the SAT channels, the playback device may assign each a timestamp of 15 ms past t=0.0. Note that the SAT channels (and SUB channels, if multiple SUBs are grouped together) do not need to be assigned the same timestamp as each other, and can be assigned different timestamps. For instance, if a user is sitting closer to the rear-left SAT, then its timing value may be different from the rear-right SAT. The timing value may be adjusted via the UI 708. The playback device 702 may then send the audio and timing information (audio and timing information may also be collectively referred to as “audio information”) to the respective playback devices 704 and assign them to a high priority queue, so as to be processed more quickly than traditional audio (e.g., audio from over the ZG network 720) where video synchronization isn't available and/or necessary.
For the playback devices 706, the playback device 702 may assign a timestamp that indicates a time to play the zone group audio information at 20 ms past when the corresponding video is displayed at t=0 via the video device 710. A copy of the audio frames may be sent to each playback device within the playback devices 706, as each will most likely receive and play the same audio information. In an embodiment, the priority to send these audio frames to the playback devices 706 via the ZG network may be lower than frames sent to the playback devices 704 via the HT network 718.
In an embodiment, the timestamp indicates a time to play the audio by a particular player. As such, the timestamp includes a delay, if any, for a particular player or group of players. For instance, a delay of 5 ms may be applied to all playback devices 702 and 704 as a base-line delay. The base-line delay may be for time called for to process and/or distribute the audio information to one or more players. Additional delays that are specific to the players may also be applied. Accordingly, the playback device 702 might be configured to play at t+5 ms, the SUB might be configured to play at t+5 ms+5 ms, and the SATs might each be configured to play at t+5 ms+10 ms, for example.
FIG. 9 shows a flowchart 900 representative of an example method to provide audio with timestamps to the playback devices 704 via HT network 718. In one embodiment, the method 900 is implemented in software and/or hardware of the playback device 702. Alternatively, the method 900 may be implemented by a designated device that is different from the playback device 702.
Alternatively, it is understood that the playback device 702 may forward the audio signal from the audio source onto the playback devices 704 via the HT network 718 without separating the audio into separate channels or groups of channels. As such, the respective, receiving playback device can parse the data to find its channel information to playback. Additionally, the respective, receiving playback devices may store the delay information and use that information to determine a playback time instead of the playback device 702 propagating the timestamp information with the audio information, as described above in block 906. FIG. 10 shows a flowchart 1000 representative of an example method to provide audio with timestamps to the playback devices 704 and playback devices 706. In one embodiment, the method 1000 is implemented in software and/or hardware of the playback device 702. Alternatively, the method 1000 may be implemented by a designated device that is different from the playback device 702.
At block 1004, the playback device 702 may identify home theater audio information contained in the audio signal for playback by the playback devices 704 (e.g., home theater “HT” players).
At block 1006, the playback device 702 may identify zone group audio information contained in the audio signal for playback by the playback devices 706 (e.g., zone group “ZG” players). It is understood that zone group audio information is likely to overlap with home theater audio information. That is, the zone group audio information may contain all, or substantially all, of the frequencies found in the home theater audio information.
FIG. 11 shows a flowchart 1100 representative of an example method to adjust time delay for the playback devices 704 and/or 706. According to the figure, the system is intelligently adjusting time delays for home theater and non-home theater groups of players based on the user adjustment. In one embodiment, the method 1100 is implemented in software and/or hardware of the playback device 702. Alternatively, the method 1100 may be implemented by a designated device that is different from the playback device 702.
At block 1104, the playback device 702 assigns a first timestamp to home theater audio information contained in the audio signal, wherein the first timestamp indicates a first time at which audio is to be played by a first player of a plurality of home theater (HT) components or players. According to FIG. 7, HT components are represented by any of playback devices 702 and 706. The first timestamp includes a particular delay component. For example, a first timestamp might be to play at 10 ms, where 10 ms=t+5 ms+5 ms, where “t” represents an approximate time that the video is displayed, 5 ms represents a time value that all home theater players are delayed (e.g., a base delay), and 5 ms represents a specific time delay tailored for an individual player or groups of players.
At block 1106, the playback device 702 assigns a second timestamp to the zone group audio information contained in the audio signal, wherein the second timestamp indicates a second time at which audio is to be played by a second player of a plurality of non-HT components or players, wherein the first and second players are different and the first and second times are different. According to FIG. 7, non-HT components are represented by any of the playback devices 706. The second timestamp includes a second delay component. For example, a second timestamp might be to play at 20 ms, where 20 ms=t+20 ms.
At block 1108, the playback device 702 adjusts the first time differently than the second time responsive to the user command. For example, the first time corresponding to the HT components is adjusted, whereas the second time corresponding to the non-HT components are not adjusted. An example includes a first time to be played at t+5 ms+5 ms and a second time to be played at t+20 ms, where again “t” represents an approximate time that the video is displayed. When an adjustment is made, such as +5 ms, then the first time might look like play at t+5 ms+10 ms and the second time might stay the same. In other words, the system is trying to achieve a balance between a delay for HT components and a delay for non-HT components.
According to FIG. 7 described above, the HT network 718 is used by the playback devices 702 and 704 to exchange (e.g., transmit and receive) information. In an embodiment, the HT network 718 represents a low-latency network to enable multi-channel audio, and in particular, to enable multi-channel audio in a home-theater like environment. The following definitions may be used throughout this disclosure, and in particular, used to describe an example operation of a low-latency network like HT network 718.
The terms “spectrum” or “wireless spectrum” refer to a range of wireless communications frequencies, where different “spectra” (multiple spectrum) refer to different ranges of wireless frequencies. Different spectra may or may not overlap. Different spectra may or may not be contiguous (i.e., may or may not have spectra between them). In some examples disclosed herein, the term spectrum refers to a regulatory spectrum as defined by a regulatory agency such as the Federal Communications Commission (FCC) in the United States. For example, the FCC has allocated the “2.4 GHz spectrum” (or spectral band) to include the frequency range of 2400 MHz to 2500 MHz for Industrial, Scientific, and Medical applications. Additionally, the FCC has allocated the “5 GHz spectrum” (or spectral band) to include the frequency range of about 5.17 GHz to about 5.835 GHz, with some excepted bands within that range.
The terms “channel,” “audio channel,” “control channel,” and/or, more generally, “wireless channel,” all refer to a distinct frequency or distinct sub-range(s) of frequencies within one or more spectra that may be used to transmit particular information. A channel may be a band of frequencies, a non-contiguous set of frequencies and bands, a frequency hopping configuration, time division multiplexing, code division multiplexing, and/or any other type of communication frequency arrangement.
The terms “primary” or “primary zone player” refer to a zone player configured to control a low-latency audio network having zero or more “satellite” zone players. A “satellite” or “satellite zone player” refers to a zone player configured to provide low-latency audio in combination with a primary zone player. Both primary zone players and satellite zone players may be configurable to operate in other audio playback arrangements, such as in a zone group.
Referring back to FIG. 7, the playback device 702 may be considered a primary zone player and the playback devices 704 may be considered the satellite zone players. It is understood, however, that a standalone device may perform all, or most of, the functions associated with a primary zone player, and as such, the disclosure is not limited to a zone player operating as the primary device.
The term “low-latency audio” generally refers to audio played within a threshold time of another event (e.g., video played on a monitor substantially synchronized with audio played via a zone player). For instance, in some embodiments audio is considered low-latency when the audio is played within a threshold time (e.g., at or around 30 milliseconds) of the corresponding video being shown. In some embodiments, audio is considered low-latency when the audio is played (e.g., from a speaker) within a threshold time (e.g., at or around 30 milliseconds) of being provided from a source of the audio (e.g., from a media source such as a television, a cable set top box, a digital media player, a DVD player, a Blu-ray disc player, etc.). Other measures of latency and low-latency may be used in different embodiments and even have different meanings depending on the application.
FIG. 12 shows an internal functional block diagram of an example primary zone player to provide low-latency audio. The example primary zone player 1200 of FIG. 12 may be used to implement any of the example zone players 102-124 of FIG. 1. In some embodiments, the example primary zone player 1200 may be used to implement one of the home theater zone players 116, 118, 120. In some embodiments, the primary zone player 1200 may be used to implement the playback device 702 in FIG. 7. In some embodiments, the primary zone player 1200 is a sound bar. As used herein, a “sound bar” refers to a single playback device including an array of speakers configured to replicate audio for video and to replicate audio in general. In some instances, a sound bar may play three channels of audio including a front right, center, and front left. In some instances, a sound bar may simulate or partially simulate a surround sound experience.
Like the example zone player 400 of FIG. 4, the example primary zone player 1200 of FIG. 12 includes a processor 408, memory 410, an audio processing component 412, a module 414, an audio amplifier 416, speakers 418, and one or more antenna(s) 420. These components are discussed in more detail above. More or less components may be included depending on the desired configuration. The example primary zone player 1200 of FIG. 12 includes a network interface 1202 having a first interface 1204 (Spectrum 1 interface) to communicate via a first wireless spectrum (e.g., the 2.4 GHz spectrum), a second interface 1206 (Spectrum 2 interface) to communicate via a second wireless spectrum different from the first wireless spectrum (e.g., the 5 GHz spectrum), and a wired interface 406. The wired interface 406 is discussed above. The example primary zone player 1200 may simultaneously or substantially simultaneously communicate via any or all of the interfaces 406, 1204, and 1206.
Each of the example interfaces 406, 1204, 1206 of FIG. 12 may have a unique identifier such as a unique Media Access Control (MAC) address. Thus, each of the example interfaces 406, 1204, 1206 may be addressed separately, and the example primary zone player 1200 may communicate using any or all of the interfaces 406, 1204, 1206 simultaneously if so desired.
The example primary zone player 1200 of FIG. 12 further includes a control interface 1208 and an audio interface 1210. The control interface 1208 transmits and/or receives control information (e.g., configuration information) wirelessly, for example, via the first and second spectrum interfaces 1204, 1206. For example, the control interface 1208 may communicate configuration information to one or more satellite zone players and/or communicate configuration information to one or more other zone players via the first spectrum interface 1204. In some examples, the control interface 1208 receives configuration information via the first spectrum interface 1204 from other zone players. The example control interface 1208 additionally or alternatively communicates control information (e.g., channel probes, keep-alive probes, etc.) to satellite zone players via the second spectrum interface 1206. It is also understood that the wired interface 406 could instead (or in addition to the wireless interfaces 1204 and/or 1206) to transmit and receive control information.
The example audio interface 1210 of FIG. 12 transmits audio information and/or receives audio information via the interfaces 406, 412, 1204, 1206. For example, the audio interface 1210 may receive digital audio information from an Internet source, from a local networked source (e.g., a computer via a LAN), and/or from another home theater component such as a video device (e.g., a television set, a cable box, an optical media player (DVD, Blu-ray disc, etc.), a digital media player, a video game console) and/or any other type of audio source. The example audio interface 1210 further transmits received audio information to one or more zone players, including standard zone players (e.g., via line-out connection such as RCA or optical output, or via a mesh network via the first spectrum interface 1204, such as a 2.4 GHz interface) and/or satellite zone players (e.g., via a star network via the first spectrum interface 1204 and/or the second spectrum interface 1206). In some examples, the audio interface 1210 transmits the audio information based on control information provided by the control interface 1208.
The example primary zone player 1200 of FIG. 12 further includes a spanning tree protocol controller 1214 to control a spanning tree protocol configuration. Spanning tree protocol refers to a network protocol that structures a network to avoid bridge loops by, in general, 1) designating a root node, 2) calculating the least cost path from other nodes to the root node, and 3) disabling other paths. The example primary zone player 1200 of FIG. 12 advantageously uses spanning tree protocol to communicate with satellite zone players and/or other zone players in a mesh network. The use of spanning tree protocol enables the delivery of low-latency audio by determining shortest paths between points and by reducing (e.g., avoiding) unnecessary hops of the low-latency audio data between zone players. An example spanning tree protocol configuration may be a spanning tree protocol table (e.g., stored in the memory 410) that includes the ports and/or devices to which the example primary zone player 1200 is connected. The example spanning tree protocol controller 1214 reconfigures the spanning tree protocol table when additional zone players are added and/or when configurations of zone players change. For example, the spanning tree protocol controller 1214 changes the spanning tree protocol table when the primary zone player 1200 disconnects from a satellite zone player (e.g., connected via a mesh networking mode) and reconnects to the same satellite zone player in a different networking mode (e.g., a star networking mode).
Continuing with the example, if the selected channel in the second spectrum is inadequate (e.g., too much interference, too much latency, etc.), the example control interface 1208 of FIG. 12 transmits control information to the satellite zone players to cause the satellite zone players to revert to communicating with the primary zone player 1200 via a channel in the first spectrum and the first spectrum interface 1204. The example channel selector 1212 selects a different channel in the second spectrum and transmits control information to the satellite zone players identifying the newly selected channel.
FIG. 13 shows an internal functional block diagram of an example satellite zone player 1300 to provide low-latency audio in combination with the example primary zone player 1200 of FIG. 12. The example satellite zone player 1300 of FIG. 13 may be used to implement any of the example zone players 102-124 of FIG. 1 and/or the playback devices 704 in FIG. 7. In some embodiments, the example primary zone player 1200 may be used to implement any of the home theater zone players 116, 118, 120 and/or may be satellite speakers (e.g., left/right surround speakers, subwoofers, etc.) to complement a sound bar-type surround sound configuration.
Like the example zone player 400 of FIG. 4 and the example primary zone player 1200 of FIG. 12, the example satellite zone player 1300 of FIG. 13 includes a processor 408, memory 410, an audio processing component 412, a module 414, an audio amplifier 416, speakers 418, and one or more antenna(s) 420. These components are discussed in detail above. More or less components may be included depending on the desired configuration. The example satellite zone player 1300 of FIG. 13 includes a network interface 1302 having a dual spectrum interface 1304 (Spectrum 1/2 interface) to communicate via a first wireless spectrum (e.g., the 2.4 GHz spectrum) and a second wireless spectrum different from the first wireless spectrum (e.g., the 5 GHz spectrum), and a wired interface 406. The wired interface 406 is discussed above.
In the examples of FIGS. 12 and 13, the dual spectrum interface 1304 communicates in the same two spectra as the first and second wireless interfaces 1204, 1206. The example dual spectrum interface 1304 may communicate in either the first spectrum (e.g., on a wireless channel in the first spectrum) or the second spectrum (e.g., on a wireless channel in the second spectrum) at a given time. In some other examples, the dual spectrum wireless interfaces 1204, 1206 may communicate in both spectra simultaneously or substantially simultaneously. In some examples, the dual spectrum interface 1304 is replaced with separate first and second wireless interfaces, which may be similar or identical to the first and second wireless interfaces 1204, 1206 of FIG. 12. In some embodiments, each wireless interface is assigned a unique address (e.g., a MAC address).
The example satellite zone player 1300 of FIG. 13 further includes a control interface 1306 and an audio interface 1308. The control interface 1306 and the audio interface 1308 transmit and/or receive information (e.g., control information, audio information) via the dual spectrum interface 1304 and/or the wired interface 406. The example control interface 1306 receives control information via a channel (e.g., from the primary zone player 1200 of FIG. 12) in a first spectrum (e.g., Spectrum 1). The control information via the first spectrum indicates an audio channel in a second spectrum (e.g., Spectrum 2) via which audio information in addition to control information is to be transmitted to the satellite zone player 1300 from the primary zone player 1200. The example control interface 1306 also transmits control information, such as probe acknowledgements, configuration information, device information, and/or other information used for control and/or configuration of the satellite zone player 1300 to a primary zone player 1200 and/or to standard zone players.
The example audio interface 1308 of FIG. 13 receives audio information to be played (e.g., via the speakers 418). The audio information may be received via an audio channel via which the dual spectrum interface 1304 is communicating. In some examples, the audio interface 1308 determines that the received audio information has a high quality of service characteristic and/or a low latency, indicating that the audio is to be played as soon as possible and/or at a designated time.
The example network interface 1302 of FIG. 13 further includes a channel selector 1310. The example channel selector 1310 selects a wireless communications channel in the first spectrum or the second spectrum and causes the dual spectrum interface 1304 to begin communicating on the selected channel.
FIG. 14 shows a block diagram of an example zone player network 1400 in which a primary zone player 1402 is connected to satellite zone players 1404, 1406 via a star network 1408 and to additional zone players 1410, 1412 via a mesh network 1414. The example primary zone player 1402 and the example satellite zone players 1404, 1406 may be configured in a home theater arrangement in a single location (e.g., in the same room). The example zone players 1410, 1412 may be located in the same or different rooms from the example primary and/or satellite zone players 1402-1406. In an embodiment, the zone player network 1400 is like the network 700 in FIG. 7, where the primary zone player 1402 is like the playback device 702, the satellite zone players 1404, 1406 are like the playback devices 704, and the additional zone players 1410, 1412 are like playback devices 706. Additionally, in the embodiment, the star network 1408 is like the HT network 718 in FIG. 7 and the mesh network 1414 is like the ZG network 720.
The example primary zone player 1402 and the zone players 1410, 1412 are communicatively coupled via a first spectrum (e.g., a 2.4 GHz spectrum channel). The example zone players 1402, 1410, 1412 in the mesh network 1414 may communicate and/or synchronize audio information and/or control information as described in U.S. Pat. No. 8,234,395, entitled, “System and method for synchronizing operations among a plurality of independently clocked digital data processing devices,” the entirety of which is hereby incorporated by reference. At the direction of a user, additional zone players may be added to and/or removed from the mesh network 1414; any of the zone players 1402, 1410, 1412 may be removed from and/or rejoined to the mesh network 1414; and/or any combination of the primary zone player 1402, the zone player 1410, and/or the zone player 1412 may be grouped into zone groups for synchronized playback of audio. In the example of FIG. 14, a user may choose to cause audio provided to the primary zone player 1402 that is part of a zone group with one or more of the zone player(s) 1410, 1412 to also be played via the satellite zone players 1404, 1406 in the star network 1408.
In the example of FIG. 14, in which the primary zone player 1402 is coupled via respective star wireless connections 1416, 1418 to the satellite zone players 1404, 1406. The establishment of the example connections 1416, 1418 is described in more detail below. The example primary zone player 1402 and the satellite zone players 1404, 1406 are communicatively coupled via a second spectrum (e.g., a 5 GHz spectrum channel). The satellite zone players 1404, 1406 may be, for example, left and right rear surround speakers such as the Sonos PLAY:3™ zone player. In some examples, one or more of the satellite zone players 1404, 1406 is a subwoofer zone player such as the Sonos SUB zone player.
In the example of FIG. 14, the primary zone player 1402 assigns different quality of service indicators to different types of information. For example, the primary zone player 1402 may assign the highest quality of service (e.g., quality of service level 3) to audio information requiring a low latency (e.g., less than a threshold latency) that is transmitted to the satellite zone players 1404, 1406. The primary zone player 1402 may assign a next highest quality of service (e.g., quality of service level 2) to audio information from one or more predetermined types of sources (e.g., a wired source, a home theater source, etc.) that is not transmitted to a satellite zone player (e.g., is transmitted to the zone players 1410, 1412). The example primary zone player 1402 assigns a next highest quality of service (e.g., quality of service level 1) to audio information from other types of sources (or any source, if quality of service level 2 is not used) that is not transmitted to a satellite zone player (e.g., is transmitted to the zone players 1410, 1412). The example primary zone player 1402 uses the lowest quality of service (e.g., quality of service level 0) to transmit background data (e.g., non-audio information, control information, configuration information, etc.) to other zone players (e.g., zone players 1404, 1406, 1410, 1412). The use of quality of service enables the star network 1408 to provide low-latency audio, which improves user perception of a home theater presentation and reduces lag between video and audio to acceptable levels.
detecting, by a first device, a plurality of home theater players and a zone group including one or more players;
receiving an audio signal at the first device from an audio source;
identifying, by the first device, home theater audio information contained in the audio signal for playback by the plurality of home theater players;
identifying, by the first device, zone group audio information contained in the audio signal for playback by one or more players in the zone group;
assigning, by the first device based on the detection of the plurality of home theater players and the identification of the home theater audio information, at least one home theater timestamp to the home theater audio information that indicates a time at which audio is to be played by the plurality of home theater players, wherein one or more of the at least one home theater timestamp is assigned based on a first delay defined for at least one of the plurality of the home theater players;
assigning, by the first device based on the detection of the zone group and the identification of the zone group audio information, a zone group timestamp to the zone group audio information that indicates a time at which audio is to be played by the one or more players in the zone group, wherein the zone group timestamp is assigned based on a second delay, wherein the second delay is defined for the zone group and is different from the first delay; and
sending, from the first device, the home theater audio information with the one or more home theater timestamps to the plurality of home theater players and sending the zone group audio information with the zone group timestamp to the one or more players in the zone group.
2. The method of claim 1, wherein the first device is a playback device.
3. The method of claim 1, wherein the audio source is a video device.
4. The method of claim 1, further comprising determining whether the first device is coupled to the plurality of home theater players.
5. The method of claim 1, further comprising determining whether the first device is part of the zone group.
6. The method of claim 1, further comprising separating the home theater audio information and the zone group audio information into different audio channels and assigning a timestamp to each different audio channel.
7. The method of claim 1, further comprising assigning home theater audio information to a high priority queue at the home theater players to be processed before the zone group audio information.
8. The method of claim 1, wherein the home theater audio information is sent to the plurality of home theater players using a first wireless channel and the zone group audio information is sent to the one or more players in the zone group over a second wireless channel that is different from the first wireless channel.
9. The method of claim 8, wherein the first wireless channel comprises a low-latency network.
10. The method of claim 1, further comprising adjusting, in response to a received command, the zone group timestamp and the one or more home theater timestamps, wherein the zone group timestamp is adjusted differently than the one or more home theater timestamps.
11. A tangible, non-transitory machine-readable medium having instructions stored thereon that, when executed, cause a first device to at least:
detect, by the first device, a plurality of home theater players and a zone group including one or more players;
receive an audio signal at the first device from an audio source;
identify, by the first device, home theater audio information contained in the audio signal for playback by the plurality of home theater players;
identify, by the first device, zone group audio information contained in the audio signal for playback by one or more players in the zone group;
assign, by the first device based on the detection of the plurality of home theater players and the identification of the home theater audio information, at least one home theater timestamp to the home theater audio information that indicates a time at which audio is to be played by the plurality of home theater players, wherein one or more of the at least one home theater timestamp is assigned based on a first delay defined for at least one of the plurality of the home theater players;
assign, by the first device based on the detection of the zone group and the identification of the zone group audio information, a zone group timestamp to the zone group audio information that indicates a time at which audio is to be played by the one or more players in the zone group, wherein the zone group timestamp is assigned based on a second delay, wherein the second delay is defined for the zone group and is different from the first delay; and
send, from the first device, the home theater audio information with the one or more home theater timestamps to the plurality of home theater players and send the zone group audio information with the zone group timestamp to the one or more players in the zone group.
12. The tangible, non-transitory machine-readable medium as defined in claim 11, wherein the first device is a playback device.
13. The tangible, non-transitory machine-readable medium as defined in claim 11, wherein the audio source is a video device.
14. The tangible, non-transitory machine-readable medium as defined in claim 11, wherein the instructions further cause the first device to determine whether the first device is coupled to the plurality of home theater players.
15. The tangible, non-transitory machine-readable medium as defined in claim 11, wherein the instructions further cause the first device to determine whether the first device is part of the zone group.
16. The tangible, non-transitory machine-readable medium as defined in claim 11, wherein the instructions further cause the first device to separate the home theater audio information and the zone group audio information into different audio channels and assign a timestamp to each different audio channel.
17. The tangible, non-transitory machine-readable medium as defined in claim 11, wherein the instructions further cause the first device to assign home theater audio information to a high priority queue at the home theater players to be processed before the zone group audio information.
18. The tangible, non-transitory machine-readable medium as defined in claim 11, wherein the home theater audio information is sent to the plurality of home theater players using a first wireless channel and the zone group audio information is sent to the one or more players in the zone group over a second wireless channel that is different from the first wireless channel.
19. The tangible, non-transitory machine-readable medium as defined in claim 18, wherein the first wireless channel comprises a low-latency network.
20. The method of claim 1, further comprising comparing a selected first channel to a second channel and, if the second channel better satisfies a low-latency criterion when compared to the first selected channel, sending the home theater audio information with the one or more home theater timestamps to the plurality of home theater players via the second channel.
tangible, non-transitory computer-readable media having instructions stored therein, wherein the instructions, when executed by the at least one processor, cause the first device to perform a method comprising:
detecting a plurality of home theater players and a zone group including one or more players;
identifying home theater audio information contained in the audio signal for playback by the plurality of home theater players;
identifying zone group audio information contained in the audio signal for playback by one or more players in the zone group;
based on the detection of the plurality of home theater players and the identification of the home theater audio information, assigning at least one home theater timestamp to the home theater audio information that indicates a time at which audio is to be played by the plurality of home theater players, wherein one or more of the at least one home theater timestamp is assigned based on a first delay defined for at least one of the plurality of the home theater players;
based on the detection of the zone group and the identification of the zone group audio information, assigning a zone group timestamp to the zone group audio information that indicates a time at which audio is to be played by the one or more players in the zone group, wherein the zone group timestamp is assigned based on a second delay, wherein the second delay is defined for the zone group and is different from the first delay; and
sending the home theater audio information with the one or more home theater timestamps to the plurality of home theater players and sending the zone group audio information with the zone group timestamp to the one or more players in the zone group.
22. The first device of claim 21, wherein the first device is a playback device.
23. The first device of claim 21, wherein the audio source is a video device.
24. The first device of claim 21, wherein the method further comprises:
determining whether the first device is coupled to the plurality of home theater players.
25. The first device of claim 21, wherein the method further comprises:
determining whether the first device is part of the zone group.
26. The first device of claim 21, wherein the method further comprises:
separating the home theater audio information and the zone group audio information into different audio channels and assigning a timestamp to each different audio channel.
27. The first device of claim 21, wherein the method further comprises:
assigning home theater audio information to a high priority queue at the home theater players to be processed before the zone group audio information.
28. The first device of claim 21, wherein the home theater audio information is sent to the plurality of home theater players using a first wireless channel and the zone group audio information is sent to the one or more players in the zone group over a second wireless channel that is different from the first wireless channel.
29. The first device of claim 28, wherein the first wireless channel comprises a low-latency network.
30. The first device of claim 21, wherein the method further comprises:
adjusting, in response to a received command, the zone group timestamp and the one or more home theater timestamps, wherein the zone group timestamp is adjusted differently than the one or more home theater timestamps.
31. The first device of claim 21, wherein the method further comprises:
comparing a selected first channel to a second channel and, if the second channel better satisfies a low-latency criterion when compared to the first selected channel, sending the home theater audio information with the one or more home theater timestamps to the plurality of home theater players via the second channel.
US13/632,731 2012-10-01 2012-10-01 Providing a multi-channel and a multi-zone audio environment Active 2033-04-24 US9516440B2 (en)
EP13844284.3A EP2904819B1 (en) 2012-10-01 2013-09-23 Providing a multi-channel and a multi-zone audio environment
US15/296,304 US10051398B2 (en) 2012-10-01 2016-10-18 Providing playback timing in a multi-zone audio environment
US16/102,695 US20190098421A1 (en) 2012-10-01 2018-08-13 Providing a Multi-Channel and a Multi-Zone Audio Environment
US15/296,304 Continuation US10051398B2 (en) 2012-10-01 2016-10-18 Providing playback timing in a multi-zone audio environment
US20140093085A1 US20140093085A1 (en) 2014-04-03
US9516440B2 true US9516440B2 (en) 2016-12-06
US13/632,731 Active 2033-04-24 US9516440B2 (en) 2012-10-01 2012-10-01 Providing a multi-channel and a multi-zone audio environment
US15/296,304 Active US10051398B2 (en) 2012-10-01 2016-10-18 Providing playback timing in a multi-zone audio environment
US16/102,695 Pending US20190098421A1 (en) 2012-10-01 2018-08-13 Providing a Multi-Channel and a Multi-Zone Audio Environment
US10055108B2 (en) * 2014-09-02 2018-08-21 Sonos, Inc. Location based playback system control
US7158488B2 (en) 2000-10-31 2007-01-02 Yamaha Corporation Communication control apparatus and method
EP2485504A1 (en) 2011-02-07 2012-08-08 Deutsche Telekom AG Generation of quiet areas within the listener zone of multi-channel playback systems
US8457334B2 (en) 2009-12-23 2013-06-04 Samsung Electronics Co., Ltd. Audio apparatus, audio signal transmission method, and audio system
US8520870B2 (en) 2010-03-12 2013-08-27 Sony Corporation Transmission device and transmission method
US8751026B2 (en) 2009-06-11 2014-06-10 Sony Corporation Audio data receiving apparatus, audio data receiving method, and audio data transmission and receiving system
US20150049248A1 (en) 2013-08-16 2015-02-19 Qualcomm Incorporated Clock synchronization for multi-processor/multi-chipset solution
US20150098576A1 (en) 2013-10-07 2015-04-09 Rameshwar Sundaresan Audio Distribution
US8239748B1 (en) 2004-01-30 2012-08-07 Apple Inc. Media stream synchronization using device and host clocks
US8185674B2 (en) 2004-06-25 2012-05-22 Apple Inc. System having a plurality of buffers for providing audio for synchronized playback to multiple audio devices
US20120237054A1 (en) 2006-03-08 2012-09-20 Samsung Electronics Co., Ltd. Method and apparatus for reproducing multi-channel sound using cable/wireless device
Bluetooth. "Specification of the Bluetooth System: Wireless connections made easy" Core, Version 1.0 B, Dec. 1, 1999, 1081 pages.(Document uploaded in 8 different files: NPL5-part1 pp. 1 to 150, NPL5-part2 pp. 151 to 303, NPL5-part3 pp. 304 to 453, NPL5-part4 pp. 454 to 603,NPL5-part5 pp. 604 to 703, NPL5-part6 pp. 704 to 854 and NPL5-part7 pp. 855 to 1005, NPL5-part8 pp. 1006 to 1081).
European Extended Search Report for Application No. 13844284.3 mailed on Aug. 27, 2015, 7 pages.
European Patent Office, European Search Report mailed on May 30, 2016, issued in connection with Application No. 13844284.3, 4 pages.
International Bureau, "International Preliminary Report on Patentability", issued in connection with PCT patent application No. PCT/US2013/061124, issued on Apr. 7, 2015, 5 pages.
International Bureau, "Search Report", issued in connection with International application No. PCT/US2013/061124, mailed on Jan. 22, 2014, 5 pages.
International Bureau, "Written Opinion", issued in connection with International application No. PCT/US2013/061124, mailed on Jan. 22, 2014, 4 pages.
Voyetra Turtle Beach, Inc., "AudioTron Setup Guide, Version 3.0", May 2002, 38 pages.
EP2904819B1 (en) 2019-04-17
EP2864955A1 (en) 2015-04-29 Systems and methods for networked music playback including remote add to queue
CN103608864A (en) 2014-02-26 Smart line-in processing for audio
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JARVIS, SIMON;LEHNERT, HILMAR;RAMOS, AURELIO RAFAEL;AND OTHERS;SIGNING DATES FROM 20121130 TO 20140117;REEL/FRAME:031995/0816