Playlist update in a media playback system

文档序号:1408398 发布日期:2020-03-06 浏览:17次 中文

阅读说明:本技术 媒体回放系统中的播放列表更新 (Playlist update in a media playback system ) 是由 阿瑟·L·科伯恩 阿比谢克·库尔马 安德鲁·J·舒勒特 于 2014-04-16 设计创作,主要内容包括:提供了用于响应于对回放队列的改变来更新已被添加到所述回放队列的播放列表的实施例。回放队列可以与网络媒体系统的区域相关联,使得由所述区域来呈现所述回放队列中的项目。播放列表可以包括可由所述区域播放的一个或更多个项目,并可以被存储在与维持回放队列的位置不同的位置。还提供了用于响应于对回放队列所包括的播放列表的修改来更新回放队列的实施例,在一些情况下,当进行修改时,可以向修改播放列表或回放队列的用户提示是否将所述修改还分别应用于回放队列或播放列表。(Embodiments are provided for updating a playlist that has been added to a playback queue in response to a change to the playback queue. The playback queue may be associated with a zone of the network media system such that items in the playback queue are presented by the zone. The playlist may include one or more items playable by the zone and may be stored at a location different from where the playback queue is maintained. Embodiments are also provided for updating a playback queue in response to modifications to a playlist included with the playback queue, and in some cases, when a modification is made, a user modifying the playlist or playback queue may be prompted whether to apply the modification also to the playback queue or playlist, respectively.)

1. A method for a playback system, the method comprising:

receiving, via a network interface from a first controller device of a media playback system including at least one playback device, a first instruction to add a playlist in a playback queue associated with a zone of the media playback system, wherein the first instruction identifies a playlist stored on a second device, the playlist identifying one or more particular media items available for playback by the second device, and the zone includes one or more playback devices;

adding one or more particular media items identified by an identifier of a playlist to a playback queue associated with a zone of a media playback system, such that the playback queue identifies (i) the one or more particular media items identified in the playlist as one or more first media items, and (ii) one or more second media items initially identified in the playback queue, wherein the one or more first media items and the one or more second media items identified by the playback queue are available for playback by the one or more playback devices of the zone;

receiving, via the network interface, a second instruction from the first controller device instructing the playback device to modify the one or more particular media items identified by the playlist if the playback device modifies the one or more first media items identified by the playback queue;

receiving, from a second controller interface, a third instruction that causes the playback device to modify the one or more first media items and the one or more second media items in the playback queue associated with the zone such that the one or more first media items identified by the playback queue become inconsistent with the one or more particular media items identified in the playlist stored on the second device; and

sending, by the playback device, a message instructing the second device to modify the playlist such that the one or more particular media items identified in the playlist are consistent with the one or more first media items identified by the playback queue.

2. The method of claim 1, wherein modifying the one or more first media items and the one or more second media items of the playback queue comprises one or more of:

adding at least one media item to the one or more first media items and the one or more second media items;

removing at least one of the one or more first media items and the one or more second media items; or

Reordering at least one of the one or more first media items and the one or more second media items.

3. The method of claim 1, wherein adding the one or more particular media items identified by the playlist to the playback queue associated with the zone comprises: adding information identifying the one or more particular media items identified in the playlist to the playback queue.

4. The method of claim 1, further comprising:

determining that the second controller interface has credentials for accessing a playlist on the second device prior to sending the message to the second device.

5. The method of claim 4, wherein the second instruction received from the second controller interface comprises the credentials of the second controller interface.

6. The method of claim 5, wherein the credentials of the second controller device identify music service identifiers associated with respective locations of one or more respective media items identified by the playback queue that are available for playback by the one or more playback devices of the zone.

7. The method of claim 5, wherein the credential identifies a user identifier associated with the first controller interface.

8. The method of claim 1, wherein the first and second light sources are selected from the group consisting of,

wherein the second device is a remote server accessible over the internet;

wherein receiving the first instruction to add the playlist in the playback queue comprises: receive, via the remote server, the first instruction from a first controller interface of controller interfaces, the first controller interface associated with the playlist and configured to control playback of (i) the controller interface and (ii) the one or more playback devices; and

wherein receiving the third instruction to modify the one or more first media items and the one or more second media items of the playback queue comprises: receiving the third instruction via a second controller interface of the controller interfaces, the second controller interface being different from the first controller interface and configured to control playback of the one or more playback devices.

9. The method of claim 1, wherein the first and second light sources are selected from the group consisting of,

wherein the second device is a mobile device that provides a first controller interface associated with the playlist and configured to control playback of (i) the mobile device and (ii) the one or more playback devices;

wherein receiving the first instruction to add a playlist in the playback queue comprises: receiving the first instruction via the first controller interface of the mobile device; and

wherein receiving the third instruction to modify the one or more first media items and the one or more second media items of the playback queue comprises: receiving the third instruction via a second controller interface of the mobile device, the second controller interface being different from the first controller interface and configured to control playback of the one or more playback devices.

10. The method of claim 1, wherein the second device is a first mobile device providing a first controller interface associated with the playlist and configured to control playback of (i) the first mobile device and (ii) the one or more playback devices;

wherein receiving the first instruction to add a playlist in the playback queue comprises: receiving the first instruction via the first controller interface of the first mobile device; and

wherein receiving the third instruction to modify the one or more first media items and the one or more second media items of the playback queue comprises: receiving the third instruction via a second controller interface of a second mobile device, the second controller interface being different from the first controller interface and configured to control playback of the one or more playback devices.

11. The method of claim 10, wherein transmitting a message instructing the second device to modify the playlist such that the one or more particular media items identified in the playlist are consistent with the one or more first media items identified by the playback queue comprises: sending a message instructing the first mobile device to modify the playlist such that the one or more particular media items identified in the playlist are consistent with the one or more first media items identified by the playback queue, wherein the message does not indicate a modification to the one or more second media items of the playback queue caused by the third instruction, and wherein the operations further comprise sending a message to the second controller interface of the second mobile device indicating the modification to the one or more first media items and the one or more second media items caused by the third instruction.

12. A non-transitory computer-readable medium having instructions stored therein, the instructions executable by one or more processors to cause a playback device to perform operations comprising:

maintaining, by a playback device of a media playback system, a queue associated with the playback device, the queue including one or more first media items available for playback by the playback device;

receiving, by the playback device, a first instruction from a controller interface of a controller device to add one or more second media items identified in a particular playlist to a playback queue associated with the playback device, wherein the one or more second media items are playable by the controller device;

adding, by the playback device, the one or more second media items to the playback queue in response to receiving the first instruction;

receiving, by the playback device from the controller interface, a second instruction to add the particular playlist to the playback queue;

receiving, by the playback device from the controller device, a third instruction to make a respective modification to the one or more particular media items identified by the playlist if the playback device modifies the one or more corresponding media items identified by the playback queue;

modifying, by the playback device, the playback queue such that the one or more second media items identified in the playback queue become inconsistent with the one or more media items identified in the playlist; and

in response to modifying the play queue, sending, by the play device to the controller device, fourth instructions to modify the playlist such that the one or more media items identified in the playlist become consistent with the one or more second media items identified in the playback queue.

13. The non-transitory computer-readable medium of claim 12, wherein the playback device adds the second one or more media items to the playback queue such that a queue identifies (i) the one or more particular media items identified in the playlist as one or more first media items, and (ii) one or more second media items initially identified in the playback queue, and the one or more first media items and the one or more second media items identified by the playback queue are available for playback by one or more playback devices of the zone.

14. The non-transitory computer-readable medium of claim 12, wherein modifying the one or more first media items and the one or more second media items of the playback queue comprises one or more of:

adding at least one media item to the one or more first media items and the one or more second media items;

removing at least one of the one or more first media items and the one or more second media items; or

Reordering at least one of the one or more first media items and the one or more second media items.

15. A method for a playback device, the method comprising:

receiving, via a network interface, a first instruction from a second device to add a playlist in a playback queue associated with a zone, the playlist identifying one or more particular media items available for playback by the second device, and the zone including one or more playback devices;

based on the first instruction, adding the one or more particular media items identified by the playlist to a playback queue associated with the zone;

receiving a second instruction that causes the playback device to modify one or more media items in the playback queue associated with the zone such that the one or more first media items identified by the playback queue become inconsistent with the one or more particular media items identified in the playlist stored on the second device; and

sending a message instructing the second device to modify the playlist such that the one or more particular media items identified in the playlist are consistent with the one or more first media items identified by the playback queue.

16. The method of claim 15, wherein modifying the one or more media items of the playback queue comprises one or more of:

adding at least one media item to the one or more first media items and the one or more second media items;

removing at least one of the one or more first media items and the one or more second media items; or

Reordering at least one of the one or more first media items and the one or more second media items.

17. The method of claim 15, wherein the first and second light sources are selected from the group consisting of,

wherein the second device is a remote server capable of being accessed over the internet;

wherein receiving the first instruction to add a playlist in the playback queue comprises: receive, via the remote server, the first instruction from a first controller interface of controller interfaces, the first controller interface associated with the playlist and configured to control playback of (i) the controller interface and (ii) the one or more playback devices; and

wherein receiving the third instruction to modify the one or more first media items and the one or more second media items of the playback queue comprises: receiving the third instruction via a second controller interface of the controller interfaces, the second controller interface being different from the first controller interface and configured to control playback of the one or more playback devices.

18. The method of claim 15, wherein the first and second light sources are selected from the group consisting of,

wherein the second device is a mobile device that provides a first controller interface associated with the playlist and configured to control playback of (i) the mobile device and (ii) the one or more playback devices;

wherein receiving the first instruction to add a playlist in the playback queue comprises: receiving the first instruction via the first controller interface of the mobile device; and

wherein modifying the one or more media items in the playback queue is performed by the playback device in response to receiving a third instruction via a second controller interface of the mobile device, the second controller interface being different from the first controller interface and configured to control playback of the one or more playback devices.

19. The method of claim 15, wherein the first and second light sources are selected from the group consisting of,

wherein the second device is a first mobile device providing a first controller interface associated with the playlist and configured to control playback of (i) the first mobile device and (ii) the one or more playback devices;

wherein receiving the first instruction to add a playlist in the playback queue comprises: receiving the first instruction via the first controller interface of the first mobile device; and

wherein modifying the one or more media items in the playback queue is performed by the playback device in response to receiving a third instruction via a second controller interface of a second mobile device, the second controller interface being different from the first controller interface and configured to control playback of the one or more playback devices.

20. The method of claim 15, wherein,

the playback device adds the second one or more media items to the playback queue such that the queue identifies (i) the one or more particular media items identified in the playlist as one or more first media items, and (ii) one or more second media items initially identified in the playback queue, and the one or more first media items and the one or more second media items identified by the playback queue are available for playback by one or more playback devices of the zone.

21. A non-transitory computer-readable medium having stored therein instructions executable by one or more processors to cause a playback device to perform operations comprising the method of one of claims 1 to 6.

22. A playback device, comprising:

a network interface;

at least one processor;

a data storage device; and

program logic stored in the data storage device and executable by the at least one processor to perform the method of one of claims 1 to 6.

Technical Field

The present disclosure relates to consumer products, and more particularly, to methods, systems, products, features, services, and other items related to media playback or some aspect thereof.

Background

Digital music has become readily available, in part, due to advances in consumer-level technology that allow people to listen to digital music on personal audio devices. The increasing consumer preference for digital audio has led to the integration of personal audio devices into PDAs, cell phones, and other mobile devices. The portability of these mobile devices enables people to use them outside the home for a music listening experience. People have become able to consume digital music, such as digital music files or even internet radio stations, at home using their computers or similar devices. Given the many ways in which digital music is consumed (in addition to other digital content including digital video and photos) motivated by high speed internet access at home, mobile broadband internet access, and consumer demand for digital media.

Until recently, options for accessing and listening to digital audio in larger sound settings were severely limited. In 2005, Sonos published selling its first digital audio system that enabled people to, among other things, virtually access unrestricted audio sources via one or more networked zone players, dynamically group or ungroup zone players upon command, wirelessly send audio between zone players via a local network, and play the digital audio loud in synchronization. The Sonos system can be controlled by software applications downloaded to some network enabled mobile devices and computers.

In view of the unmet consumer demand for digital media, there remains a need to develop consumption technologies that revolutionize the way people access and consume digital media.

Drawings

The features, aspects, and advantages of the disclosed technology will become better understood with regard to the following description, appended claims, and accompanying drawings where:

FIG. 1 illustrates an exemplary configuration in which certain embodiments may be implemented;

FIG. 2A shows a schematic diagram of an exemplary zone player with built-in amplifiers and transducers;

FIG. 2B shows a schematic diagram of an exemplary zone player with a built-in amplifier and connected to an external speaker;

FIG. 2C shows a schematic diagram of an exemplary zone player connected to an A/V receiver and speakers;

FIG. 3 shows a schematic diagram of an exemplary controller;

FIG. 4 shows an internal functional block diagram of an exemplary zone player;

FIG. 5 illustrates an internal functional block diagram of an exemplary controller;

FIG. 6 illustrates an exemplary playback queue configuration for a network media system;

FIG. 7 illustrates an exemplary ad-hoc playback network;

FIG. 8 illustrates a system comprising a plurality of networks, wherein the plurality of networks comprises a cloud-based network and at least one local playback network;

FIG. 9A illustrates an exemplary flow chart for updating a playlist in response to a modification to a playback queue that includes the playlist;

FIG. 9B illustrates an exemplary flow diagram for updating a playback queue in response to a modification to the playback queue included in the playback queue;

FIG. 10A illustrates an exemplary block diagram for adding a playlist to a playback queue;

FIG. 10B illustrates an exemplary block diagram for updating a playlist in response to a modification to a playback queue that includes the playlist; and

FIG. 10C illustrates an exemplary block diagram for updating a playback queue in response to a modification to a playlist included in the playback queue.

Further, the drawings are for purposes of illustrating exemplary embodiments, and it is to be understood that the invention is not limited to the arrangements and instrumentality shown in the drawings.

Detailed Description

I. Overview

Embodiments described herein may relate to: in response to a change to the playback queue, the playlist that has been added to the playback queue is updated. The playback queue may be associated with a zone of the network media system such that items in the playback queue are presented through the zone. The playlist may include one or more items playable by the zone, where the playlist may be stored in a location different from a location where the playback queue is maintained. In this way, the user can add a playlist to the playback queue such that items in the playlist are presented by the zone. If the playback queue was previously empty, the playback queue may be populated with items from the playlist. If the playback queue already has items to be rendered by the zone, the playback queue may include both previously filled items as well as items added from the playlist.

The playback queue may be modified after the playlist is added to the playback queue. For example, the user may select to add items, remove items, or reorder items in the playback queue. In some cases, the user may wish to apply the same modifications to the stored playlist.

In an exemplary scenario, a user of a network media system may be hosting a party and may have created or retrieved a playlist suitable for the party. The user may then add the playlist to a playback queue of the area holding the party. During the banquet the guest may enjoy the music and through intense discussion may suggest other audio tracks suitable for the occasion. Thus, one or more of the suggested audio tracks may be added to the playback queue. Rather than having to individually access the playlist to make the same music track addition (or other suggested modification), the embodiments described herein may cause the playlist to be automatically updated.

In one case, the modification may be applied without requiring the user to make any additional input or action. In another case, when the playback queue is modified, the user (or anyone who is modifying the playback queue) may be prompted to indicate whether the same modification is to be applied to the playlist. In either case, once the playlist is modified in accordance with the modification to the playback queue, a notification may be provided to indicate to the user that the modification has been applied to the playlist. In a similar situation, if the user modifies the playlist after it has been added to the playback queue, the modifications to the playlist may also be automatically applied to the playback queue.

As indicated above, the present application relates to: in response to a change to the playback queue, the playlist that has been added to the playback queue is updated. In one aspect, a first method is provided. The first method involves: receiving, by the network media system via the first controller interface, the playlist from the instruction. The network media system includes a zone containing a playback device and a playback queue, the playlist identifying one or more media items available for playback. The playlist is stored on the second device. The first method further involves: the playlist is added to the playback queue associated with the zone. A playback queue is established to contain information identifying one or more items to be played by the zone. The first method further involves: receiving an input from the second controller interface to cause the zone to modify the playback queue of the zone; and sending a message to a second device indicating the modification made to the playback queue. The modification relates to playing back an item in the queue added from the playlist.

In another aspect, a second method is provided. The second method involves: a selection of a playlist is received on a controller interface. The playlist includes information identifying one or more playable items, the playlist being stored on the first device. The second method further involves: the playlist is caused to be transmitted to the second device of the zone via the controller interface. One or more items of the playlist are then added to a playback queue for the zone, the playback queue including information identifying one or more items to be played by the zone. The second method further involves: an input is received via a controller interface that causes a modification to the playlist, and a first message is caused to be sent to a second device to modify the playback queue in accordance with the modification to the playlist.

In another aspect, a non-transitory computer-readable memory is provided. The non-transitory computer readable memory has stored thereon instructions executable by a computing device to cause the computing device to perform functions. The functions include: receiving, by the network media system via the first controller interface, the playlist from the instruction. The network media system includes a zone containing a playback device and a playback queue, the playlist identifying one or more media items available for playback. The playlist is stored on the second device. The functions further include: the playlist is added to the playback queue associated with the zone. A playback queue is established to contain information identifying one or more items to be played by the zone. The functions further include: receiving an input from the second controller interface to cause the zone to modify the playback queue of the zone; and sending a message to a second device indicating the modification made to the playback queue. The modification relates to playing back an item in the queue added from the playlist.

In another aspect, an apparatus is provided. The apparatus includes a processor and a computer-readable medium having instructions stored thereon that are executable by the processor to perform functions. The functions include: a selection of a playlist is received on a controller interface. The playlist includes information identifying one or more playable items, the playlist being stored on the first device. The functions further include: the playlist is caused to be transmitted to the second device of the zone via the controller interface. One or more items of the playlist are then added to a playback queue for the zone, the playback queue including information identifying one or more items to be played by the zone. The functions further include: an input is received via a controller interface that causes a modification to the playlist, and a first message is caused to be sent to a second device to modify the playback queue in accordance with the modification to the playlist.

Other embodiments are possible, as discussed below and as would be understood by one of ordinary skill in the art.

Exemplary operating Environment

Referring now to the drawings, in which like numerals may refer to like parts throughout, FIG. 1 illustrates an exemplary media system configuration 100 in which one or more embodiments disclosed herein may be implemented or realized.

By way of illustration, the media system configuration 100 is associated with a household having multiple zones, but a household may be configured with only one zone. Additionally, one or more regions may be added over time. A user may assign each zone to a different room or space, such as an office, a bathroom, a bedroom, a kitchen, a restaurant, a family room, a home theater room, a utility or laundry room, and a yard. A single area may also include multiple rooms or spaces (if so configured). With respect to fig. 1, one or more of the zone players 102-124 are shown in each respective zone. The zone players 102-124, also referred to herein as playback devices, multimedia units, speakers, players, etc., provide audio, video, and/or audiovisual output. A controller 130 (shown in the kitchen for illustrative purposes) provides control of the media system configuration 100. The controller 130 may be fixed to the area, or alternatively, the controller 130 may be movable such that the controller 130 may move around in the area. The media system configuration 100 may also include more than one controller 130, and additional controllers may be added to the system over time.

The media system configuration 100 illustrates an exemplary overall residential media system, but it should be understood that the techniques described herein are not particularly limited to the particular location of its application or to an extended system such as the overall residential media system 100 of fig. 1.

a. Exemplary zone Player

Fig. 2A, 2B and 2C illustrate exemplary types of zone players. For example, the zone players 200, 202, and 204 in fig. 2A, 2B, and 2C may correspond to any of the zone players 102-124 in fig. 1, respectively. In some embodiments, audio is reproduced using only a single zone player, such as a full-range player. In some embodiments, the audio is reproduced using two or more zone players (e.g., using a combination of full-band players, or a combination of full-band players and dedicated players). In some embodiments, the zone players 200-204 may also be referred to as "smart speakers" because they include processing capabilities in addition to audio reproduction, as will be described further below.

Fig. 2A illustrates a zone player 200 that includes a sound-producing device 208, the sound-producing device 208 being capable of reproducing sound in a full frequency band. The sound may be from an audio signal received and processed by the zone player 200 over a wired or wireless network. The sound producing device 208 includes one or more built-in amplifiers and one or more acoustic transducers (e.g., speakers). The built-in amplifier is described below with reference to fig. 4. The speaker or acoustic transducer may comprise, for example, any of the following: high frequency speakers, mid-range drivers, low-range drivers, and subwoofers. In some embodiments, zone player 200 may be statically or dynamically configured to play stereo audio, mono audio, or both. In some embodiments, the zone player 200 may be dynamically configured to reproduce a subset of full-band sound, such as when the zone player 200 is grouped with other zone players to play stereo audio, mono audio, and/or surround sound audio, or when the audio content received by the zone player 200 is less than full-band.

Fig. 2B shows the zone player 202, the zone player 202 including a built-in amplifier to power the separate set of speakers 210. The separate speaker may comprise, for example, any type of loudspeaker. The zone player 202 may be configured to power one, two, or more separate loudspeakers. The zone player 202 may be configured to transmit audio signals (such as right and left channel audio, or more channels depending on its configuration) to the split speakers 210 via a wired path.

Fig. 2C shows the zone player 204, the zone player 204 not including a built-in amplifier, but configured to transmit audio signals received over a data network to an audio (or "audio/video") receiver 214 with built-in amplification.

Referring back to fig. 1, in some embodiments, one, some, or all of the zone players 102-124 may obtain audio directly from a source. For example, a particular zone player in a zone or zone group may be assigned to a playback queue (or "queue"). The playback queue contains information corresponding to zero or more audio items that can be played by the associated zone or group of zones. The playback queue may be stored in memory on the zone player or in some other designated device. Each item contained by the playback queue may include a Uniform Resource Identifier (URI) or some other identifier that may be used by the zone player to find and/or retrieve an audio item from the identified audio source. Depending on the project, the audio source may be found on the internet (e.g., the cloud), locally from another device on the data network 128 (described further below), the controller 130, stored on the zone player itself, or from an audio source in direct communication with the zone player. In some embodiments, the zone player itself can reproduce the audio (e.g., play the audio), send the audio to another zone player for reproduction, or do both with the zone player and one or more additional zone players (possibly in synchronization) reproducing the audio. In some embodiments, the zone player may play the first audio content while sending a different second audio content to another zone player for reproduction (or alternatively, may not play the content at all). For the user, each item in the playback queue is represented on the interface of the controller by an element such as a track name, an album name, a playlist, or some other representation. The user may fill the playback queue with audio items of interest. The user may also modify and clear the playback queue as desired.

By way of illustration, SONOS corporation of st babara, california currently publicly sells a zone player, also known as "PLAY: 5 "," PLAY: 3 "," PLAYBAR "," CONNECT: AMP "," CONNECT ", and" SUB ". Any other past, present, and/or future zone players may additionally or alternatively be used to implement the zone player of the example embodiments disclosed herein. Furthermore, it should be understood that the zone player is not limited to the specific examples shown in fig. 2A, 2B, and 2C or to the SONOS' product offering. For example, the zone player may include a wired or wireless headset. In another example, the zone player may include a sound bar for a television. In another example, the zone player may be included for an Apple iPodTMOr an extended base of a similar device, or interact with it.

b. Exemplary controller

Fig. 3 illustrates an exemplary wireless controller 300 in an extension base 302. The controller 300 may correspond to the control device 130 of fig. 1 in an illustrative manner. The docking station 302 (if provided or used) may be used to power the controller 300 and may additionally charge the battery of the controller 300. In some embodiments, the controller 300 may be equipped with a touch screen 304 that allows a user to interact with the controller 300 by touch, for example, to retrieve and navigate a playlist of audio items, to control the operation of one or more zone players, and to provide overall control of the system configuration 100. In other embodiments, other input mechanisms, such as voice control, may be used to interact with the controller 300. In certain embodiments, any number of controllers may be used to control the system configuration 100. In some embodiments, a limit may be placed on the number of controllers that can control the system configuration 100. The controller may be connected to the data network 128 wirelessly (e.g., wireless controller 300) or by wire.

In some embodiments, if more than one controller is used in the system 100 of FIG. 1, each controller may be coordinated to display common content, and all controllers may be dynamically updated to indicate changes made to the system 100 by a single controller. Coordination may occur in situations such as: the controller periodically requests state variables directly or indirectly from one or more zone players; the state variables may provide information about the system 100, such as the current regional group configuration, what is playing in one or more regions, volume level, and other items of interest. State variables may be passed between zone players (and controllers, if desired) over the data network 128 as needed or as programmed.

In addition, in any portable device with network capability (e.g., an iPhone)TM、iPadTM、AndroidTMA supported phone or tablet or any other smart phone or network-enabled device) may be used as the controller 130. In laptop or desktop personal computers PC or MACTMAn upper running application may also be used as the controller 130. These controllers may be connected to the system 100 through an interface to a data network 128, a zone player, a wireless router, or using some other configured connection path. An exemplary controller provided by SONOS corporation of st babara, california includes a "controller 200"

Figure BDA0002309214430000091

"for iPhoneTMIs/are as follows"," for iPAD

Figure BDA0002309214430000093

Figure BDA0002309214430000097

"," for AndroidTMIs/are as follows

Figure BDA0002309214430000098

"," for MACTMOr of PC

Figure BDA0002309214430000099

”。

c. Exemplary data connection

The zone players 102-124 in fig. 1 are coupled, directly or indirectly, to a data network, such as data network 128. The controller 130 may also be coupled directly or indirectly to the data network 128 or a separate zone player. The data network 128 is represented by an octagon in the figure to distinguish it from other representative components. Although the data network 128 is shown in a single location, it should be understood that such a network is distributed within and around the system 100. In particular, the data network 128 may be a wired network, a wireless network, or a combination of both wired and wireless networks. In some embodiments, one or more of the zone players 102-124 is wirelessly coupled to the proprietary mesh network-based data network 128. In some embodiments, one or more of the zone players are coupled to a data network 128 that uses centralized access points (e.g., wired or wireless routers). In some embodiments, one or more of the zone players 102-124 are coupled via a cable to a data network 128 using ethernet or similar technology. In addition to one or more zone players 102-124 being connected to the data network 128, the data network 128 may also allow access to a wide area network, such as the internet.

In some embodiments, connecting any one of the zone players 102-124 or some other connection device to a broadband router may create the data network 128. Then, other regionsThe players 102 to 124 may be added to the data network 128 either wired or wirelessly. For example, a zone player (e.g., any of the zone players 102-124) can be added to the system configuration 100 by simply pressing a button (or performing other action) on the zone player itself, which enables a connection to the data network 128. For example, a broadband router may be connected to an Internet Service Provider (ISP). The broadband router may be used to form another data network in the system configuration 100, which may be used in other applications (e.g., web surfing). The data network 128 may also be used in other applications (if so programmed). As an example, the second network may implement SONOSNET developed by SONOS corporation of Santa BarbaraTMAnd (4) protocol. SONOSNETTMRepresenting a secure AES-encrypted peer-to-peer wireless mesh network. Alternatively, in certain embodiments, the data network 128 is the same network (e.g., a conventional wired network or a wireless network) used for other applications in the home.

d. Exemplary zone configurations

A particular zone may contain one or more zone players. For example, the family room of FIG. 1 contains two zone players 106 and 108, while the kitchen is shown with one zone player 102. In another example, a home theater room contains an additional zone player for playing audio from a 5.1 channel or greater audio source (such as a movie encoded with 5.1 or greater audio channels). In some embodiments, a zone player may be placed in a room or space and assigned to a new or existing zone through the control 130. Thus, if desired, an area may be created, combined with another area, removed, and provided with a specific name (e.g., "kitchen"), and programmed to do so using the controller 130. Further, in some embodiments, the zone configuration may be dynamically changed even after configuration using the controller 130 or some other mechanism.

In some embodiments, if a zone contains two or more zone players (e.g., two zone players 106 and 108 in a family room), the two zone players 106 and 108 may be configured to play the same audio source in synchronization, or the two zone players 106 and 108 may be paired to play two separate sounds, for example, in a left channel and a right channel. In other words, the stereo effect of the sound can be reproduced or enhanced by two zone players 106 and 108 (one for the left sound and the other for the right sound). In some embodiments, the paired zone player (also referred to as a "bound zone player") can play audio in synchronization with other zone players in the same or different zones.

In some embodiments, two or more zone players may be acoustically merged to form a single merged zone player. A consolidated zone player (although comprised of multiple separate devices) may be configured to process and reproduce sound differently than a non-consolidated zone player or a paired zone player, since the consolidated zone player will have additional speaker drivers from which sound may be delivered. The consolidated zone player can also be paired with a single zone player or another consolidated zone player. Each of the merge playback devices may, for example, be set in merge mode.

According to some embodiments, before the desired configuration is completed, any of the following may proceed: zone players are grouped, merged, and paired. The grouping, merging, and pairing actions are preferably performed through a control interface (e.g., using controller 130), rather than by physically connecting and reconnecting, for example, a speaker cable to, for example, a separate, separate speaker to create different configurations. Accordingly, certain embodiments described herein provide a more flexible and dynamic platform through which sound reproduction may be provided to end users.

e. Exemplary Audio Source

In some embodiments, each zone may be played from the same audio source as another zone, or each zone may be played from a different audio source. For example, a person may be barbecuing in a yard and listening to jazz music through the zone player 124, while a person is preparing food in the kitchen and listening to classical music through the zone player 102. In addition, a person may be listening in an office with the zone player 110 to the same jazz music that is played in a yard with the zone player 124. In some embodiments, the jazz music played by the zone players 110 and 124 is played synchronously. Synchronized playback in zones allows someone to pass through the zones while seamlessly (or substantially seamlessly) listening to the audio. Further, the zones may be placed in "party mode" so that all associated zones will play audio synchronously.

The sources of audio content played by the zone players 102-124 are numerous. In some embodiments, the audio on the zone player itself may be accessed and played. In some embodiments, audio on the controller may be accessed and played via the data network 128. In some embodiments, music from a personal library stored on a computer or network attached storage device (NAS) may be accessed and played via the data network 128. In some embodiments, internet radio stations, shows and podcasts may be accessed and played via the data network 128. A music service or cloud service that lets users stream and/or download music and audio content may be accessed and played via the data network 128. In addition, music may be obtained from a conventional source (such as a turntable or CD player), for example, via a line-in connection with the zone player. Different protocols may also be used (e.g., AIRPLAY by Apple Inc.)TMWireless technology) to access audio content. Audio content received from one or more sources may be shared between the zone players 102-124 via the data network 128 and/or the controller 130. The audio content sources disclosed above are referred to herein as network-based audio information sources. However, the network-based audio information source is not limited thereto.

In some embodiments, the example home theater zone players 116, 118, 120 are coupled to an audio information source, such as a television 132. In some examples, the television 132 serves as an audio source for the home theater zone players 116, 118, 120, while in other examples, audio information from the television 132 may be shared with any of the zone players 102-124 in the audio system 100.

Exemplary zone Player

Referring now to fig. 4, an exemplary block diagram of a zone player 400 according to an embodiment is shown. The zone player 400 includes a network interface 402, a processor 408, a memory 410, audio processing components 412, one or more modules 414, an audio amplifier 416, and a speaker unit 418 coupled to the audio amplifier 416. Fig. 2A shows an exemplary schematic of such a zone player. Other types of zone players may not include the speaker unit 418 (as shown in fig. 2B) or the audio amplifier 416 (as shown in fig. 2C). Further, it is contemplated that the zone player 400 may incorporate another component. For example, the zone player 400 may be constructed as part of a television, a lighting device, or some other device for use indoors or outdoors.

In some embodiments, the network interface 402 facilitates data flow between the zone player 400 and other devices on the data network 128. In some embodiments, in addition to obtaining audio from another zone player or device on the data network 128, the zone player 400 can also take audio directly from the audio source (e.g., on a wide area network or local network). In some embodiments, the network interface 402 may also process the address portion of each packet so that it reaches the correct destination or intercepts packets destined for the zone player 400. Thus, in some embodiments, an Internet Protocol (IP) based source address and an IP based destination address are included in each packet.

In some embodiments, the network interface 402 may include one or both of a network interface 404 and a wired interface 406. The wireless interface 404 (also referred to as a Radio Frequency (RF) interface) provides network interface functionality for the zone player 400 to wirelessly communicate with other devices (e.g., other zone players, speakers, receivers, components, etc. associated with the data network 128) according to a communication protocol (e.g., any wireless standard, including IEEE 802.11a, 802.11b, 802.11G, 802.11n, 802.15, 4G mobile communication standards, etc.). The wireless interface 404 may include one or more radios (radios). To receive wireless signals, provide wireless signals to the wireless interface 404, and transmit wireless signals, the zone player 400 includes one or more antennas 420. The wired interface 406 provides network interface functionality for the zone player 400 to communicate with other devices over a cable according to a communication protocol (e.g., IEEE 802.3). In some embodiments, the zone player includes a plurality of wireless interfaces 404. In some embodiments, the zone player includes a plurality of wired interfaces 406. In some embodiments, the zone player includes both interfaces 404 and 406. In some embodiments, the zone player 400 includes only a wireless interface 404 or a wired interface 406.

In some embodiments, processor 408 is clock drive electronics configured to process input data according to instructions stored in memory 410. The memory 410 is a data storage device that may be loaded with one or more software modules 414, and the processor 408 may execute the software modules 414 to accomplish specific tasks. In the illustrated embodiment, the memory 410 is a tangible machine-readable medium that stores instructions that may be executed by the processor 408. In some embodiments, the task may be for the zone player 400 to obtain audio data from another zone player or device on the network (e.g., using a Uniform Resource Locator (URL) or other identifier). In some embodiments, the task may be for the zone player 400 to send audio data to another zone player or device on the network. In some embodiments, the task may be for the zone player 400 to synchronize playback of audio with one or more additional zone players. In some embodiments, the task may be to pair the zone player 400 with one or more zone players to create a multi-channel audio environment. Additional or alternative tasks may be implemented via one or more software modules 414 and the processor 408.

The audio processing component 412 may include one or more digital-to-analog converters (DACs), audio pre-processing components, audio enhancement components, or digital signal processors, among others. In some embodiments, the audio processing component 412 may be part of the processor 408. In some embodiments, audio obtained via the network interface 402 is processed and/or intentionally altered by the audio processing component 210. In addition, the audio processing component 412 may generate an analog audio signal. The processed analog audio signal is then provided to an audio amplifier 416 for playback through a speaker 418. Further, the audio processing component 412 can include circuitry for processing analog or digital signals as input for playing from the zone player 400, sending to another zone player on the network, or both playing and sending to another zone player on the network. Exemplary inputs include line-in connections (e.g., self-test 3.5mm audio line-in connections).

The audio amplifier 416 is a device that amplifies an audio signal to a level for driving one or more speakers 418. The one or more speakers 418 may include a separate transducer (e.g., "driver") or a complete speaker system including a housing containing one or more drivers. For example, the particular driver may be, for example, a subwoofer (e.g., for low frequencies), a mid-range driver (e.g., for mid-range frequencies), and a tweeter (e.g., for high frequencies). For example, the housing may be packaged or shipped. Each transducer may be driven by its own separate amplifier.

Commercial example (currently known as PLAY: 5)TM) Is a zone player with built-in amplifiers and speakers that can obtain audio directly from a source (e.g., on the internet or a local network). Specifically, PLAY: 5TMIs a five amplifier five driver speaker system including two tweeters, two mid-range drivers, and a subwoofer. When the data is transferred via PLAY: 5TMWhen the audio content is played, left audio data of the audio track is sent out from the left high-frequency loudspeaker and the left middle-frequency driver, right audio data of the audio track is sent out from the right high-frequency loudspeaker and the right middle-frequency driver, and monaural bass is sent out from the subwoofer. Furthermore, the two mid-range drivers and the two tweeters have the same equalization (or substantially the same equalization). I.e. they transmit the same frequency from different audio channels. Can be obtained from PLAY: 5TMPlaying audio from internet radio stations, online music and video services, downloaded music, analog audio inputs, television, DVD, etc.

Exemplary controller

Referring now to fig. 5, an exemplary block diagram of a controller 500 that may correspond to the control device 130 of fig. 1 is shown. The controller 500 can be used to facilitate control of multimedia applications, automation, etc. in the system. Specifically, the controller 500 may be configured to: selection of multiple audio sources available on the network is facilitated through the wireless or wired network interface 508, and control of one or more zone players (e.g., the zone players 102-124 of fig. 1) can be implemented. According to one embodiment, the wireless communication is based on an industry standard (e.g., infrared, radio, wireless standards, including IEEE 802.11a, 802.11b, 802.11G, 802.11n, 802.15, 4G mobile communication standards, etc.). Further, when particular audio is accessed via the controller 500 or played via the zone player, graphics (e.g., album art) or any other data associated with the audio and/or audio source may be sent from the zone player or other electronic device to the controller 500 for display.

The controller 500 is equipped with a screen 502 and an input interface 514 that allows a user to interact with the controller 500, for example, to navigate a playlist of many multimedia items and control the operation of one or more zone players. The screen 502 on the controller 500 may be, for example, an LCD screen. The screen 500 communicates with a screen driver 504 controlled by a microcontroller (e.g., processor) 506 and directed by the screen driver 504. The memory 510 may be loaded with one or more application modules 512, and the microcontroller 506 may execute the application modules 512 with or without user input via the user interface 514 to accomplish particular tasks. In some embodiments, the application module 512 is configured to facilitate grouping of multiple selected zone players into zone groups and synchronizing the zone players for audio playback. In some embodiments, the application module 512 is configured to control the audio sounds (e.g., volume) of the zone players in the zone group. In operation, when the microcontroller 506 executes one or more of the application modules 512, the screen driver 504 generates control signals to drive the screen 502 to display application-specific user interfaces accordingly.

The controller 500 includes a network interface 508 that facilitates wired or wireless communication with the zone player. In some embodiments, commands such as volume control and audio playback synchronization are sent via the network interface 508. In some embodiments, the saved zone group configuration is transmitted between the zone player and the controller via the network interface 508. The controller 500 may control one or more zone players, such as 102-124 in fig. 1. For a particular system, there may be more than one controller, and each controller may share common information with another controller, or if a zone player stores configuration data (such as state variables), each controller may retrieve common information from the zone player. In addition, the controller may be incorporated into the zone player.

It should be noted that in certain circumstances, other network-capable devices (e.g., IPHONE)TM、iPADTMOr any other smart phone) or a device with network capabilities (e.g., a networked computer such as a PC or MACTM) And may also serve as a controller that interacts with and controls the zone player. In some embodiments, software applications or upgrades may be downloaded to a network-enabled device to perform the functions described herein.

In some embodiments, a user may create a zone group (also referred to as a bonded zone) comprising at least two zone players via the controller 500. The zone players in the zone group can play audio in a synchronized manner such that all zone players in the zone group play back the same audio source or a list of the same audio sources in a synchronized manner such that no (or substantially no) audible delays or short pauses are audible. Similarly, in some embodiments, when the user increases the audio volume of a group via the controller 500, a signal or data is sent to one of the zone players to increase the audio volume of the group and cause the volume of the other zone players in the group to increase together.

The user may group zone players into zone groups via the controller 500 by activating the "associate zone" or "add zone" soft buttons, or by de-grouping zone groups by activating the "disassociate zone" or "drop zone" buttons. For example, one mechanism for "joining" zone players together for audio playback is to associate multiple zone players together to form a group. To associate multiple zone players together, a user may manually associate each zone player or room individually. For example, assume that there is a multi-zone system that includes the following zones: toilets, bedrooms, study rooms, restaurants, family rooms, and hallways.

In some embodiments, a user may associate any number of the six zone players, for example, by starting with a single zone and then manually associating each zone to that zone.

In some embodiments, the set of regions may be dynamically associated together using commands for creating a region scene or theme (after the region scene is created first). For example, a "morning" area scene command may associate bedroom, office, and kitchen areas together in one action. Without this single command, the user would manually associate each region individually. The single command may include: a mouse click, a mouse double click, a button press, a gesture, or some other programming or learning action. Other types of regional scenes can be programmed or learned by the system over time.

In some embodiments, the zone scene may be triggered based on time (e.g., an alarm clock function). For example, the area scene may be set to apply at 8 am. The system may automatically associate the appropriate zone, set the particular music for play, and then stop the music after a defined duration. Although any particular region may be triggered to an "on" or "off" state based on time, for example, a region scene enables any region associated with the scene to play predetermined audio (e.g., favorite songs, predefined playlists) at a particular time and/or for a particular duration. The backup buzzer may be programmed to sound if the scheduled music cannot be played for any reason (e.g. empty playlist, no shared connection, failed universal plug and play (UPnP), no internet connection for internet radio stations, etc.). The buzzer may comprise, for example, a sound file stored in the zone player.

V. playback queue

As described above, in some embodiments, a zone player can be assigned to a playback queue that identifies zero or more media items for playback by the zone player. The media items identified in the playback queue may be presented to the user through an interface on the controller. For example, the representation may show the user (or multiple users if more than one controller is connected to the system) how the zone player is traversing (transpose) the playback queue, such as by highlighting "now playing" items, graying out previously played items, highlighting items to be played, and the like.

In some embodiments, a single zone player is assigned to a playback queue. For example, zone player 114 within the bathroom of fig. 1 may be linked or assigned to a "bathroom" playback queue. In an embodiment, a "bathroom" playback queue may have been established by the system as a result of the user naming zone player 114 as a bathroom. In this way, content that is populated and identified in the "bathroom" playback queue can be played via the zone player 114 (bathroom zone).

In some embodiments, a zone or group of zones may be assigned to a playback queue. For example, the zone players 106 and 108 in the family room of fig. 1 may be linked or assigned to a "family room" playback queue. In another example, if the family room area and the restaurant area are grouped into a group, a new group may be linked or assigned to the family room + restaurant playback queue. In some embodiments, a family room + restaurant playback queue will be established based on creating the group. In some embodiments, when a new group is established, the family room + restaurant playback queue may automatically include the contents of one (or both) of the playback queues associated with the family room or the restaurant, or both. In one example, if the user starts with a home activity room and adds a restaurant, the contents of the home activity room playback queue will become the contents of the home activity room + restaurant playback queue. In another example, if the user starts with a family room and adds a restaurant, the family room playback queue will be renamed as family room + restaurant playback queue. If the new group is "ungrouped," the family room + restaurant playback queue may be removed from the system and/or renamed to one of the zones (e.g., renamed to "family room" or "restaurant"). After ungrouping, each of the family room and the restaurant will be assigned to a separate playback queue. One or more of the zone players within a zone or zone group may store an associated playback queue in memory.

As such, when a user dynamically "groups" or "ungroups" zones or zone groups via the controller, in some embodiments, the system will establish or remove/rename the playback queues, respectively, when each zone or zone group is to be assigned to a playback queue. In other words, the playback queue serves as a container that can be filled with media items for playback by the assigned zone. In some embodiments, media items identified in the playback queue may be manipulated (e.g., rearranged, added, deleted, etc.).

By way of illustration, fig. 6 shows an exemplary network 600 for media content playback. As shown, the exemplary network 600 includes exemplary zone players 612 and 614, exemplary audio sources 662 and 664, and an exemplary media item 620. Exemplary media items 620 may include a playlist 622, tracks 624, favorite internet radio stations 626, playlists 628 and 630, and albums 632. In one embodiment, the zone players 612 and 614 may be any of the zone players shown in fig. 1, 2A-2C, and 4. For example, the zone players 612 and 614 may be the zone players 106 and 108 in a family room.

In one example, exemplary audio sources 662 and 664 and exemplary media item 620 may be stored in part on a cloud network, as discussed in more detail below in conjunction with fig. 8. In some cases, portions of the audio sources 662, 664 and the exemplary media item 620 may be stored locally on one or both of the zone players 612 and 614. In one embodiment, playlists 622, favorite internet radio stations 626, and playlists 630 can be stored locally, and tracks 624, playlists 628, and albums 632 can be stored on the cloud network.

Each of the exemplary media items 620 can be a list of media items playable by the zone player. In one embodiment, an exemplary media item may be a collection of links or pointers (i.e., URIs) to the underlying data for the media item stored elsewhere, such as audio sources 662 and 664. In other embodiments, the media item may include a pointer to media content stored on a local zone player, another zone player on the local network, or a controller device connected to the local network.

As shown, the example network 600 may also include an example queue 602 associated with the zone player 612 and an example queue 604 associated with the zone player 614. The queue 606 may be associated with a group (if any) that includes zone players 612 and 614. Queue 606 may comprise a new queue or exist as a renamed version of queue 602 or 604. In some embodiments, in the group, zone players 612 and 614 will be assigned to queue 606, at which time queues 602 and 604 are unavailable. In some embodiments, when a group no longer exists, queue 606 is no longer available. Each zone player and each combination of zone players in the zone player network, such as the zone player shown in fig. 1 or the combination of exemplary zone players 612, 614 and exemplary combination 616, may be uniquely assigned to a respective playback queue.

A playback queue, such as playback queue 602-606, can include an identification of media content to be played by a corresponding zone player or combination of zone players. In this way, media items added to the playback queue are to be played by the respective zone player or combination of zone players. The zone player may be configured to play the items in the queue according to a particular order (such as the order in which the items were added), a random order, or some other order.

The playback queue may include a combination of playlists and other media items added to the queue. In one embodiment, the items in the playback queue 602 to be played by the zone player 612 may include any of the items from the audio sources 662, 664 or the media items 622, 632. The playback queue 602 may also include items stored locally on the zone player 612 or retrievable from the zone player 614. For example, the playback queue 602 may include internet radio station 626 and album 632 items from audio sources 662 and items stored on the zone player 612.

When a media item is added to a queue via an interface of the controller, a link for the item may be added to the queue. Where a playlist is added to a queue, the queue may be provided with links to media items in the playlist. For example, the playback queue 602 may include pointers from internet radio stations 626 and albums 632, pointers to items on the audio source 662, and pointers to items on the zone player 612. In another case, for example, a link to a playlist may be provided to the queue instead of a link to a media item in the playlist, and the zone player or combination of zone players may play the media item in the playlist by accessing the media item via the playlist. For example, album 632 may include pointers to items stored on audio source 662. Rather than adding a link to an item on the audio source 662, a link to the album 632 can be added to the playback queue 602 so that the zone player 612 can play the item on the audio source 662 by accessing the item via a pointer in the album 632.

In some cases, content that exists in a playback queue at a point in time may be stored as a playlist, which is then added to the same queue or to another queue. For example, the contents of the playback queue 602 for a particular point in time may be saved as a playlist, stored locally on the zone player 612 and/or stored on a cloud network. The saved playlist may then be added to the playback queue 604 for play by the zone player 614.

Exemplary Ad-Hoc network

For purposes of illustration, a specific example will now be provided in connection with fig. 7 to describe an embodiment that provides and facilitates connectivity to a playback network. Fig. 7 shows that there are three zone players 702, 704, 706 and a controller 708 forming a network branch (also referred to as Ad-Hoc network 710). The network 710 may be wireless technology, wired technology, or a combination of wired and wireless technology. Generally, an Ad-Hoc ("spontaneous") network is generally a local area network or other small network with no access point for the entire data flow. For an established Ad-Hoc network 710, devices 702, 704, 706, and 708 may all communicate with each other in a peer-to-peer (peer) communication. Further, devices may join or leave the network 710, and the network 710 may automatically reconfigure itself without requiring a user to reconfigure the network 710. When referring to the Ad-Hoc network of fig. 7, it should be understood that the playback network may be based on a network type that is wholly or partially different from the Ad-Hoc network.

Using the Ad-Hoc network 710, the devices 702, 704, 706, and 708 may share or exchange one or more audio sources and be dynamically grouped (or ungrouped) to play the same or different audio sources. For example, the devices 702, 704 are grouped to play back a piece of music while the device 706 plays back another piece of music. In other words, devices 702, 704, 706, and 708 (shown in fig. 7) form a "home appliance" (HOUSEHOLD) that distributes and/or reproduces sound. The term "home appliance" (provided in capital letters to distinguish from a user's residence) as used herein is used to denote a collection of networked devices that cooperate to provide an application or service. An example of "home appliance" is identified with a home 710 (or home identifier), but home appliances may be identified with different areas or locations.

In certain embodiments, the home identifier (HHID) is a short string or identifier generated by the computer to help ensure its uniqueness. Thus, the network 710 may be described with a unique HHID and a unique set of configuration variables or parameters, such as a channel (e.g., frequency bands), a Service Set Identification (SSID) (a sequence of alphanumeric characters that is the name of the wireless network), a WEP key (wired equivalent privacy or other security key). In certain embodiments, the SSID is set to be the same as the HHID.

In certain embodiments, each "home appliance" includes two types of network nodes: a Control Point (CP) and a Zone Player (ZP). The control point controls the setup process and timing of the entire network, including the automatic generation of required network parameters (e.g., security keys). In an embodiment, the CP also provides a "home appliance" configuration user interface for the user. The CP functionality may be provided by, for example, a computer running the CP application module or a handheld controller (e.g., controller 308) also running the CP application module. A zone player is any other device on the network arranged to participate in the auto-configuration process. ZP (labeled as used herein) includes, for example, controller 308 or a computing device. In some embodiments, the functions or specific portions of the functions in both the CP and ZP are combined at a single node (e.g., ZP contains CP, or CP contains ZP).

In certain embodiments, the configuration of the "home appliance" includes multiple CPs and ZPs that aggregate and establish a known configuration so that they can communicate using standard network protocols (e.g., IP over wired or wireless ethernet). In an embodiment, two types of networks/protocols are used: ethernet 802.3 and wireless 802.11 g. The interconnection between CP and ZP may use any of the networks/protocols. Devices in the system (as members of a "home appliance") can be connected to both networks simultaneously.

In an environment using both networks, it is assumed that at least one device in the system connects both networks as a bridging device, thereby providing a bridging service to other devices in a wired/wireless network. For example, zone player 706 in FIG. 7 is shown connecting two networks. The connection to the network 712 is ethernet and/or wireless based, while the connection to the other devices 702, 704, and 708 is wireless and ethernet based (if desired).

It should be understood, however, that in some embodiments, each zone player 706, 704, 702 may access the internet when obtaining media from the cloud (e.g., the internet) via the bridge device. For example, the zone player 702 may contain a Uniform Resource Locator (URL) that specifies the address of a particular audio track in the cloud. Using the URL, the zone player 702 can retrieve the audio track from the cloud and finally play the audio by one or more zone players.

Another exemplary System configuration

Fig. 8 illustrates a system 800 that includes a plurality of interconnected networks, including a cloud-based network and at least one local playback network. The local playback network includes a plurality of playback devices or players, although it should be understood that the playback network may contain only one playback device. In some embodiments, each player has the ability to retrieve its content for playback. For example, control and content acquisition may be distributed or centralized. The input may include streaming content provider input, third party application input, mobile device input, user input, and/or other playback network input into the cloud for local distribution and playback.

As shown in the exemplary system 800 of fig. 8, a plurality of content providers 820, 850 may be connected to one or more local playback networks 860, 870 via a cloud and/or other network 810. Using the cloud 810, a multimedia audio system server 820 (e.g., Sonos)TM) The mobile device 830, the third party application 840, the content provider 850, etc. may provide (in request or otherwise) multimedia content for the local playback networks 860, 870. In each local playback network 860, 870, a controller 862, 872 and a playback device 864, 874 may be used to playback the audio content.

Exemplary update of playlists in a network media system

As described above, embodiments described herein may provide for automatically updating a playlist that has been added to a playback queue in response to a change to the playback queue. Fig. 9A illustrates an exemplary flow diagram for updating a playlist in response to a modification to a playback queue that includes the playlist in accordance with at least some embodiments described herein. Method 900 shown in fig. 9A presents an embodiment of a method that may be used in environments 100, 600, 700, and 800, environments 100, 600, 700, and 800 having, for example, systems 200, 202, 204, 300, 400, and 500 in communication with one or more devices, such as those shown in fig. 2A-5. The method 900 may include one or more operations, functions or actions as illustrated by one or more of blocks 902-908. Although the blocks are shown in a sequential order, these blocks may be performed in parallel and/or in a different order than described herein. Moreover, the various blocks may be combined into fewer blocks, divided into additional blocks, and/or removed based on a desired implementation.

Further, for the method 900 and other processes and methods disclosed herein, a flowchart illustrates the functionality and operation of one possible implementation of the present embodiments. In this regard, each block may represent a module, segment, or portion of program code, which comprises one or more instructions executable by a processor to implement a particular logical function or step in the process. The program code may be stored on any type of computer readable medium such as a storage device including a diskette or hard drive. The computer readable medium may include non-transitory computer readable media, such as computer readable media that store data for a relatively short period of time, such as register memory, processor cache, and Random Access Memory (RAM). The computer readable medium may also include non-transitory media such as secondary or persistent long term storage devices, such as Read Only Memory (ROM), optical or magnetic disks, compact disk read only memory (CD-ROM). The computer readable medium may also be any other volatile or non-volatile storage system. The computer-readable medium may be considered, for example, a computer-readable storage medium or a tangible storage device. Further, for method 800 and other processes and methods disclosed herein, each block in fig. 9A may represent circuitry that is wired (wired) to perform a particular logical function in the process.

At block 902, method 900 involves: a playlist from the instructions is received at a first playback device of the network media system via a first controller interface. As described above, the network media system may include a zone that includes the first playback device and is associated with a playback queue. The playlist may identify one or more media items available for playback, and the playlist may be stored on the second device. In one example, the second device may be the first playback device or, in the case where the zone includes other playback devices, one of the other playback devices in the zone. In another example, the second device may be a remote server, such as a cloud server accessible by the network media system over the internet. In another example, the second device may be a device that provides a controller interface (such as a first controller interface for accessing a network media system).

The first controller interface may be an application provided on a device such as a computer, tablet, or smart phone through which a user may access a network media system, such as the controller 300 described above in connection with fig. 3. In this way, the first controller interface may be accessed by a user to add a media item to a playback queue associated with the zone. In this example, the user may add a playlist to the playback queue by sending an instruction to the first playback device via the first controller interface. If the playlist is stored on the device providing the first controller interface, the playlist may be included in the instructions sent to the first playback device. The instructions sent to the first playback device may include a link (such as a URI) to the playlist if the playlist is not stored on the device providing the controller interface. As described above, a playlist may be a linked list of media items stored separately from the playlist.

In one case, the instructions that include the playlist may also cause the playlist (and, accordingly, the media items in the playlist) to be added to a playback queue associated with the zone of the first playback device. At block 904, the method 900 may involve: the playlist is added to the playback queue associated with the zone. As described above, a playback queue may be established for the zone to contain information identifying one or more items to be played by the zone. In one case, the information identifying one or more items to be played by the region may include a link to the one or more items to be played by the region. As such, adding a playlist to the playback queue associated with the zone may involve: information identifying one or more media items in the playlist is added to the playback queue. For example, a link to a media item in the playlist may be added to the playback queue.

Fig. 10A illustrates an exemplary block diagram for adding a playlist 1002 to a playback queue 1004. The playback queue 1004 may be associated with a zone of a network media system as described herein. As shown in fig. 10A, a controller interface 1010 in communication with a storage device 1030 (in which the playlist 1002 is stored) and a playback queue 1004 associated with the zone can be accessed to cause the playlist 1002 to be added to the playback queue 1004. In this case, the storage device 1030 may represent the second device described above. The controller interface 1010 may send an instruction to a playback device in an area associated with the playback queue 1004 with information identifying the playlist 1002 or one or more media items in the playlist 1002 to add the playlist 1002 to the playback queue 1004.

In one case, if the playback queue 1004 was previously empty, the playback queue may be populated with entries from the play list 1002. In another case, if the playback queue already has items to be rendered by the region, the playback queue 1004 may include both other audio content items 1006 as shown in fig. 10A, as well as items added from the playlist 1002.

At block 906, the method 900 may involve: an input is received from the second controller interface to cause the zone to modify the playback queue for the zone. In one example, the second controller interface may be the same as the first controller interface or provided on the same device on which the first controller interface is provided. This may occur when a user who adds a playlist to a playback queue wishes to change the playback queue. In another example, the second controller interface may be disposed on a different device in communication with the network media system. This may occur when another user wishes to change the playback queue that includes the playlist that was originally added by the original user. In one case, the second controller interface may be provided by a second device storing the playlist.

In one example, the input to cause the zone to modify the playback queue may include an input to add one or more items to, remove one or more items from, or reorder one or more items in the playback queue. The input to cause the modification to the playback queue may occur while the zone is rendering the media item in the playback queue, or while the rendering of the media item by the zone is paused.

At block 908, the method 900 may involve: a message is sent to the second device indicating a modification to the playback queue. In one example, the message may be sent in response to a modification to one or more media items in the playback queue added to the playback queue when the playlist is first added to the playback queue. In this example, the message may also include instructions for applying the same modification to the playlist stored on the second device.

In one case, the same modification may be automatically applied to the playlist on the second device. In another case, the second controller interface may prompt a user of the second controller interface to indicate whether the same modification is to be applied to the playlist stored on the second device, and apply the same modification only if an input is received at the second controller interface confirming application of the modification. In either case, once the playlist has been modified in accordance with the modification to the playback queue, a notification can be provided to indicate to the user that the modification has been applied to the playlist.

Fig. 10B illustrates an exemplary block diagram for updating a playlist 1002 in response to a modification to a playback queue 1004, which now includes a modified playlist 1002'. As shown, fig. 10B includes the storage device 1030 (which may be a second device), the controller interface 1010, and other audio content 1006 of fig. 10A. In fig. 10B, a modified playback queue 1004 'may represent the playback queue 1004 after the modification is made, and a modified playlist 1002' may represent the playlist 1002 after the modification to the playback queue 1004 is applied to the playlist 1002 as well. As shown, modifications to the playback queue 1004 may be applied entirely to the playlist 1002. In this way, the other audio content 1006 may remain unchanged. In another case, if only a portion of the modifications to the playback queue 1004 are applied to the playlist 1002, the playback queue 1004 'may include the playlist 1002' as well as modified other audio content 1006 ', where the other audio content 1006' represents the modifications to the other audio content 1006 due to the modifications to the playback queue 1004.

In either case, the modified playlist 1002' may be provided to the storage device 1030 to update the playlist 1002 previously stored on the storage device 1030. In one case, the message sent to the storage device 1030 may include the entire modified playlist 1002'. For example, the modified playlist 1002' may be provided to the storage 1030 as a new playlist.

In another case, the message sent to the storage device 1030 may list only the modifications made to the playback queue 1004 to apply to the playlist 1002. For example, the message may include a list of changes to be applied to the playlist 1002 to produce a duplicate modified playlist 1002' in the storage 1030. In either case, the modified playlist 1002' may replace the playlist 1002. In one example, replacing the playlist 1002 may involve deleting the playlist 1002. In another example, replacing the playlist 1002 may involve renaming and saving the playlist 1002 as a different playlist.

As described above, the playback queue may be modified via the controller interface 1010 that initially added the playlist 1002 to the playback queue 1004, or any controller interface provided by a device in communication with the network media system, such as the controller interface 1020, also shown in fig. 10B. In this case, controller interface 1010 and controller interface 1020 may access playback queue 1004. In this case, the controller interface 1020 may only need to have access to the region and may not need to have access to the playlist 1002 on the storage 1030 to cause a modification to the playback queue 1004 and then to cause a modification to the playlist 1002.

However, in some cases, a playlist, such as playlist 1002 of fig. 10A, may be access-protected to prevent unauthorized users and/or controller interfaces from modifying the playlist. In other words, even if the controller interface has access to the zone, the controller interface may not necessarily have access to the playlist, and thus, modifications to the playback queue of the zone may not be automatically applied to the playlist. In this case, whether the same modification to the playback queue is applied to the playlist may depend on the credentials of the controller interface accessing the region to modify the playback queue.

In one example, the method 900 may further involve: determining that the second controller interface has credentials for accessing a playlist on the second device. The credentials may identify one or more music services that the second controller interface has access to and/or an identifier of a user accessing the second controller interface. As such, determining that the second controller interface has credentials for accessing the playlist on the second device may involve: determining that the second controller interface has access to a music service associated with a playlist stored on the second device. For example, if a playlist on the second device is created using a particular music service, the second controller interface may also have credentials to access the playlist if the second controller interface has access to the particular music service.

Determining that the second controller interface has credentials for accessing the playlist on the second device may further involve: it is determined that a user accessing the second controller has a right to access the playlist on the second device. For example, access to a playlist may be limited to a particular user. In one example, the playlist may be limited to a list of users such that the second controller interface may access the playlist if the user accessing the second controller interface is one of the users in the list of users. In another example, the playlist may be password protected, in which case a user accessing the second controller interface may be prompted to enter a password to access the playlist on the second device.

In one case, the credentials associated with the second controller interface may be received as part of the input received from the second controller interface at block 906 to cause the zone to modify the playback queue of the zone. In another case, the first playback device may query the second controller interface to provide credentials if credentials have not been received. In the above case, where the playlist is password protected, the second controller interface may prompt the user for a password, and may receive the password entered by the user as a credential for accessing the playlist on the second device.

As described above, in some cases, modifications made to the playback queue may be automatically applied to the playlist. In some other cases, the second controller interface may be configured to prompt a user accessing the second controller to confirm or indicate whether modifications to the playback queue should be applied to the playlist on the second device. In other words, prior to sending the message to the second device as described in connection with block 908, the method 900 may further involve: a second input is received indicating that a modification to the playback queue should be applied to the playlist stored on the second device, wherein the modification relates to an item in the playback queue added from the playlist. Modifications to the playback queue may or may not be applied to the playlist stored on the second device based on input from the user.

In another case, multiple modifications to the playback queue may be made in succession. In this case, the first playback device may be configured to send a message to the second device indicating a modification to the playback queue after each modification or at regular intervals. Other exemplary configurations may also be possible.

In a similar situation, if the user modifies the playlist after the playlist has been added to the playback queue, the modification to the playlist may be automatically applied to the playback queue. Fig. 9B illustrates an example flow diagram for updating a playback queue in response to a modification to the playback queue included in the playback queue in accordance with at least some embodiments described herein. The method 950 shown in fig. 9B presents an embodiment of a method that may be used in environments 100, 600, 700, and 800, environments 100, 600, 700, and 800 having, for example, systems 200, 202, 204, 300, 400, and 500 in communication with one or more devices, such as those shown in fig. 2A-5. Method 950 may include one or more operations, functions, or actions as illustrated by one or more of blocks 952-958. Although the blocks are shown in a sequential order, these blocks may be performed in parallel and/or in a different order than described herein. Moreover, the various blocks may be combined into fewer blocks, divided into additional blocks, and/or removed based on a desired implementation.

At block 952, the method 950 may involve: a selection of a playlist is received on a controller interface. The controller interface may be similar to the first controller interface and the second controller interface described above. The playlist may include information identifying one or more playable items and may be stored on the first device similar to the playlist stored on the second device described above in connection with method 900.

At block 954, the method 950 may involve: the playlist is sent to a second device of the zone via the controller interface. One or more items of the playlist may then be added to a playback queue of a zone. The second device may be similar to the first playback device described above, and the playback queue of the zone may be similar to the playback queue associated with the zone of the network media system described above. Thus, the playback queue may include information identifying one or more items to be played by the zone.

At block 956, the method 950 may involve: an input is received via the controller interface that causes a modification to the playlist. In contrast to block 906 of method 900, block 956 involves modifying the playlist, rather than the playback queue. As described above in connection with method 900, a playlist may be associated with a music service. In this way, a user (such as via an application to a music service) having access to a playlist on a music service may make modifications to the playlist, such as adding items to the playlist, removing items from the playlist, or reordering items in the playlist. In either case, the playlist may be modified after the playlist is added to the playback queue for the zone.

At block 958, the method 950 may involve: a first message is sent to the second device to cause a modification to the playback queue in accordance with the modification to the playlist. In other words, the playback queue may be automatically updated with the modified playlist. Similar to the method 900 described above, a controller interface accessed to modify a playlist may prompt a user accessing the controller interface to indicate whether modifications to the playlist should be applied to the playback queue with the addition of the initial playlist. In some cases, the same playlist may have been added to more than one playback queue associated with different zones in different network media systems. In this case, the user may also be prompted to indicate which, if not all, of the playback queues are to be updated with the modified playlist.

Fig. 10C illustrates an exemplary block diagram for updating a playback queue in response to a modification to a playlist included with the playback queue. Similar to fig. 10B, fig. 10C includes the storage device 1030 (in this embodiment, the first device), the controller interface 1010 and other audio content 1006 of fig. 10A, as well as the modified playlist 1002 ', the modified queue 1004', and the controller interface 1020. However, in contrast to fig. 10B, fig. 10C shows controller 1010 and/or controller 1020 accessing storage 1030 to modify playlist 1002 (from fig. 10A), rather than controller 1010 or 1020 accessing playback queue 1004 (also from fig. 10A) to modify playback queue 1004 (thereby modifying playlist 1002 according to method 900 described above). In this case, the modification to playlist 1002 (resulting in modified playlist 1002 ') may be applied to playback queue 1004, resulting in modified playback queue 1004'.

In one case, the modified playlist 1002' may replace the playlist 1002 in the playback queue 1004. In other words, the playlist 1002 may be deleted and replaced with the modified playlist 1002'. This may occur where there is no currently rendering playback queue 1004, or where there is no currently rendering item in playback queue 1004 that is added as part of playlist 1002. In another case, a separate modification to the playlist 1002 may be applied to the playback queue 1004 in order to reduce interference with the playback of the playback queue 1004.

In one example, multiple modifications to the playlist may be made in succession. In one case, the controller interface may be configured to send a message to the second device indicating a modification to the playlist after each modification to cause the playback queue on the first device to be updated. In another case, the controller interface may be configured to send a message to the second device indicating one or more modifications to the playlist after saving the modified playlist on the first device. In this case, the one or more modifications may include all modifications made since the playlist was previously saved (at which point a message has also been sent to the second device to indicate the previous modifications, if any). Other exemplary configurations are also possible.

IX. conclusion

The above description discloses various exemplary systems, methods, apparatus, and articles of manufacture including components, such as firmware and/or software, executed on hardware. However, these examples are merely illustrative and should not be considered as limiting. For example, it is contemplated that any or all of these firmware, hardware, and/or software components could be embodied exclusively in hardware, exclusively in software, exclusively in firmware, or in any combination of hardware, software, and/or firmware. Thus, although the following describes example systems, methods, apparatus, and/or articles of manufacture, the examples provided are not the only way to implement such systems, methods, apparatus, and/or articles of manufacture.

As described above, the present application relates to: the playlist that has been added to the playback queue is updated in response to the change to the playback queue. In one aspect, a first method is provided. The first method involves: receiving, by the network media system via the first controller interface, the playlist from the instruction. The network media system includes a zone containing a playback device and a playback queue, the playlist identifying one or more media items available for playback. The playlist is stored on the second device. The first method further involves: the playlist is added to the playback queue associated with the zone. A playback queue is established to contain information identifying one or more items to be played by the zone. The first method further involves: receiving an input from the second controller interface to cause the zone to modify the playback queue of the zone; and sending a message to a second device indicating the modification made to the playback queue. The modification relates to playing back an item in the queue added from the playlist.

In another aspect, a second method is provided. The second method involves: a selection of a playlist is received on a controller interface. The playlist includes information identifying one or more playable items, the playlist being stored on the first device. The second method further involves: the playlist is caused to be transmitted to the second device of the zone via the controller interface. One or more items of the playlist are then added to a playback queue for the zone, the playback queue including information identifying one or more items to be played by the zone. The second method further involves: an input is received via a controller interface that causes a modification to the playlist, and a first message is caused to be sent to a second device to modify the playback queue in accordance with the modification to the playlist.

In another aspect, a non-transitory computer-readable memory is provided. The non-transitory computer readable memory has stored thereon instructions executable by a computing device to cause the computing device to perform functions. The functions include: receiving, by the network media system via the first controller interface, the playlist from the instruction. The network media system includes a zone containing a playback device and a playback queue, the playlist identifying one or more media items available for playback. The playlist is stored on the second device. The functions further include: the playlist is added to the playback queue associated with the zone. A playback queue is established to contain information identifying one or more items to be played by the zone. The functions further include: receiving an input from the second controller interface to cause the zone to modify the playback queue of the zone; and sending a message to a second device indicating the modification made to the playback queue. The modification relates to playing back an item in the queue added from the playlist.

In another aspect, an apparatus is provided. The apparatus includes a processor and a computer-readable medium having instructions stored thereon, the instructions being executable by the processor to perform functions. The functions include: a selection of a playlist is received on a controller interface. The playlist includes information identifying one or more playable items, the playlist being stored on the first device. The functions further include: the playlist is caused to be transmitted to the second device of the zone via the controller interface. One or more items of the playlist are then added to a playback queue for the zone, the playback queue including information identifying one or more items to be played by the zone. The functions further include: an input is received via a controller interface that causes a modification to the playlist, and a first message is caused to be sent to a second device to modify the playback queue in accordance with the modification to the playlist.

Furthermore, references herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one exemplary embodiment of the invention. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Thus, those skilled in the art will explicitly and implicitly appreciate that the embodiments described herein can be combined with other embodiments.

The description is presented primarily in terms of illustrative environments, systems, processes, steps, logic blocks, processing, and other symbolic representations that are directly or indirectly analogous to the operation of a data processing device coupled to a network. These process descriptions and representations are generally used by those skilled in the art to convey the substance of their work to others skilled in the art. Numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be understood by those skilled in the art that the present disclosure may be practiced without these specific, specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the embodiments. Accordingly, the scope of the disclosure is defined by the appended claims rather than the description of the embodiments above.

Where any claim appended hereto is understood to cover an implementation in pure software and/or firmware, at least one unit in at least one example is hereby expressly defined to include a tangible medium such as a memory, DVD, CD, Blu-ray, etc. storing the software and/or firmware.

38页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种全局视频播放记录聚合方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类