# Patent

## Title
Pair volume control

## Abstract

An example method includes, based on an adjustment to a first displayed volume control, instructing the first playback device to adjust playback volume level; based on an adjustment to a second displayed volume control, instructing the second playback device to adjust playback volume level; after sending the commands, instructing the first and/or second playback device to process an audio stream into a first and/or second channel and to reproduce a respective one of the first and second channel, wherein the grouped first and second playback devices provide multi-channel sound; and based on an adjustment to a third displayed volume control, instructing the first and/or second playback device to adjust a group volume level for both the first and second playback devices.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
This application is a continuation of U.S. application Ser. No. 13/013,740, filed on Jan. 25, 2011, entitled “Controlling and grouping in a multi-zone media system” which claims priority as a continuation-in-part of U.S. application Ser. No.: 11/853,790, filed Sep. 11, 2007, which claims the benefits of the provisional application No.: 60/825,407, entitled “Controlling and manipulating groupings in a multi-zone music or media system”, filed Sep. 12, 2006, each of which its hereby incorporated by reference in its entirety for all purposes.


BACKGROUND OF THE INVENTION
Field of the Invention
The invention is generally related to the area of consumer electronics and human-computer interaction. In particular, the invention is related to method and apparatus for controlling or manipulating a plurality of multimedia players in a multi-zone system.
An enduring passion for quality audio reproduction or system is continuing to drive demands from users. One of the demands includes an audio system in a house in which, for example, one could grill to classic rock on a patio while another one may cook up his/her own music selections in a kitchen. This is all at the same time while a teenager catches a ballgame in a family room, and another one blasts pop in a bedroom. And the best part of such audio system is that each family member does not need his or her own stereo system—one system gives everyone access to all the music sources.
Currently, one of the systems that can meet part of such demand is a conventional multi-zone audio system that usually includes a number of audio players. Each of the audio players has its own amplifier(s) and a set of speakers and typically installed in one place (e.g., a room). In order to play an audio source at one location, the audio source must be provided locally or from a centralized location. When the audio source is provided locally, the multi-zone audio system functions as a collection of many stereo systems, making source sharing difficult. When the audio source is provided centrally, the centralized location may include a juke box, many compact discs, an AM or FM radio, tapes, or others. To send an audio source to an audio player demanding such source, a cross-bar type of device is used to prevent the audio source from going to other audio players that may be playing other audio sources.
In order to achieve playing different audio sources in different audio players, the traditional multi-zone audio system is generally either hard-wired or controlled by a pre-configured and pre-programmed controller. While the pre-programmed configuration may be satisfactory in one situation, it may not be suitable for another situation. For example, a person would like to listen to broadcast news from his/her favorite radio station in a bedroom, a bathroom and a den while preparing to go to work in the morning. The same person may wish to listen in the den and the living room to music from a compact disc in the evening. In order to satisfy such requirements, two groups of audio players must be established. In the morning, the audio players in the bedroom, the bathroom and the den need to be grouped for the broadcast news. In the evening, the audio players in the den and the living room are grouped for the music. Over the weekend, the audio players in the den, the living room, and a kitchen are grouped for party music. Because the morning group, the evening group and the weekend group contain the den, it can be difficult for the traditional system to accommodate the requirement of dynamically managing the ad hoc creation and deletion of groups.
There is a need for dynamic control of the audio players as a group. With a minimum manipulation, the audio players may be readily grouped. In a traditional multi-zone audio system, the audio players have to be adjusted one at a time, resulting in an inconvenient and non-homogenous audio environment. When the audio players are grouped, there is a need to individually or systematically adjust the sound (e.g., volume) of the audio players. In a situation in which two or more audio players are separately in one environment, there is a need to reconfigure these audio players dynamically to create a more pleasant listening environment to increase the maximum capable sound output (e.g., a sound pressure level).
SUMMARY OF THE INVENTION
This section is for the purpose of summarizing some aspects of the present invention and to briefly introduce some preferred embodiments. Simplifications or omissions in this section as well as in the abstract or the title of this description may be made to avoid obscuring the purpose of this section, the abstract and the title. Such simplifications or omissions are not intended to limit the scope of the present invention.
In general, the present invention pertains to controlling a plurality of multimedia players, or simply players, in groups. According to one aspect of the present invention, a mechanism is provided to allow a user to group some of the players according to a theme or scene, where each of the players is located in a zone. When the scene is activated, the players in the scene react in a synchronized manner. For example, the players in the scene are all caused to play an audio source or music in a playlist, wherein the audio source may be located anywhere on a network.
According to another aspect of the present invention, the scene may be activated at any time or a specific time. A user may activate the scene at any time so that only some selected zones in an entertainment system facilitate a playback of an audio source. When the scene is activated at a specific time, the scene may be used as an alarm or buzzer.
According to still another aspect of the present invention, a controlling device (also referred to herein as controller) is provided to facilitate a user to select any of the players in the system to form respective groups each of which is set up per a scene. Although various scenes may be saved in any of the members in a group, commands are preferably sent from the controller to the rest of the members when one of the scenes is executed. Depending on implementation, the commands include parameters pertaining to identifiers of the players, volumes settings, audio source and etc.
According to still another aspect of the present invention, a configurable module is implemented in the controlling device that provides interactive graphic user interface for forming, managing and controlling groups in the system, de-grouping a group or adjusting audio volume of individual players or a group of players.
According to still another aspect of the present invention, individual players may be paired or grouped to stimulate a multi-channel listening environment. In instead of grouping selected players to play back an audio item, a user is allowed to activate one of the players to process the data of the audio item, essentially separating the data into individual streams, each of the streams representing a single-sound track and being played back in one of the players, thus creating a multi-channel listening environment with the selected players.
The present invention may be implemented in many forms including software, hardware or a combination of both. According to one embodiment, the present invention is a method for simulating a multi-channel listening environment, the method comprises: grouping a set of players to simulate the multi-channel listening environment, the players capable of communicating over a data network; designating which of the players to reproduce which one of audio channels in a title selected on a controller with a display screen; causing to process data representing the selected title into streams, each of the streams representing one of audio channels; causing to distribute the streams respectively to the players; and causing the players to play back the streams in synchronization.
According to another embodiment, the present invention is directed to a system for a stereo listening environment, the system comprises: a plurality of players, at least a first one and a second one of the players located in one place; and a controller providing a mechanism to allow a user to select the first and second players to be paired to simulate the stereo listening environment, the first player being configured to process data for a selected title into two streams respectively for left and right sound channels, wherein the controller provides a user interface to allow the user to determine which one of the first and second players to reproduce the left sound channel or the right sound channel, the controller is further configured to display a playlist from which the title is selected.
According to still another embodiment, the present invention is an apparatus for a stereo listening environment. The apparatus may be a smart phone with a display screen. The apparatus comprises a network interface to facilitate the apparatus to communicate with the Internet; a phone networking interface to facilitate the apparatus to communicate with a cell phone network provided by a service provider; a user interface to enable the network interface and the phone networking interface; a display screen to allow a user to control a plurality of audio players being coupled to an ad-hoc network, select first and second audio players to be paired to simulate a stereo listening environment, both of the first and second audio players being configured to process a data stream for a selected title into two streams respectively for left and right sound channels, wherein the user determines which one of the first and second audio players to reproduce the left sound channel or the right sound channel, and configures to display a playlist from which the title is selected to be played in the stereo listening environment.
One of the objects, features, and advantages of the present invention is to stimulate a multi-channel listening environment. Other objects, features, and advantages of the present invention will become apparent upon examining the following detailed description of an embodiment thereof, taken in conjunction with the attached drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
These and other features, aspects, and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings where:
FIG. 1 shows an exemplary configuration in which the present invention may be practiced;
FIG. 2A shows an exemplary functional block diagram of a player in accordance with the present invention;
FIG. 2B shows an example of a controller that may be used to remotely control one of more players of FIG. 2A;
FIG. 2C shows an example of a controller that may be used to remotely control one of more players of FIG. 2A
FIG. 2D shows an exemplary internal functional block diagram of a controller in accordance with one embodiment of the present invention;
FIG. 3A provides an illustration of one zone scene, where the left column shows the starting zone grouping—all zones are separate, the column on the right shows the effects of grouping the zones to make a group of 3 zones named after “Morning”;
FIG. 3B shows that a user defines multiple groups to be gathered at the same time;
FIG. 4 shows an exemplary user interface that may be displayed on a controller or a computer of FIG. 1;
FIG. 5A shows a user interface to allow a user to form a scene;
FIG. 5B shows another user interface 520 to allow a user to form a scene;
FIG. 5C shows a user interface to allow a user to adjust a volume level of the zone players in a zone scene individually or collectively;
FIG. 6 shows a flowchart or process of providing a player theme or a zone scene for a plurality of players, where one or more of the players are placed in a zone;
FIG. 7 shows a configuration in which an audio source is played back on two players and, according to one embodiment of the present invention; and
FIG. 8 shows a flowchart or process of grouping a plurality of audio products to play separated sound tracks in synchronization to simulate a multi-channel listening environment.
FIGS. 9A-9F show example user interfaces for stereo pair configuration.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The detailed description of the invention is presented largely in terms of procedures, steps, logic blocks, processing, and other symbolic representations that directly or indirectly resemble the operations of data processing devices coupled to networks. These process descriptions and representations are typically used by those skilled in the art to most effectively 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 invention. However, it will become obvious to those skilled in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuitry have not been described in detail to avoid unnecessarily obscuring aspects of the present invention.
Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” 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. Further, the order of blocks in process flowcharts or diagrams representing one or more embodiments of the invention do not inherently indicate any particular order nor imply any limitations in the invention.
Referring now to the drawings, in which like numerals refer to like parts throughout the several views. FIG. 1 shows an exemplary configuration 100 in which the present invention may be practiced. The configuration may represent, but not be limited to, a part of a residential home, a business building or a complex with multiple zones. There are a number of multimedia players of which three examples 102, 104 and 106 are shown as audio devices. Each of the audio devices may be installed or provided in one particular area or zone and hence referred to as a zone player herein.
As used herein, unless explicitly stated otherwise, an audio source or audio sources are in digital format and can be transported or streamed over a data network. To facilitate the understanding of the present invention, it is assumed that the configuration 100 represents a home. Thus, the zone player 102 and 104 may be located in one or two of the bedrooms while the zone player 106 may be installed in a living room. All of the zone players 102, 104 and 106 are coupled directly or indirectly to a data network 108. In addition, a computing device 110 is shown to be coupled on the network 108. In reality, any other devices such as a home gateway device, a storage device, or an MP3 player may be coupled to the network 108 as well.
The network 108 may be a wired network, a wireless network or a combination of both. In one example, all devices including the zone players 102, 104 and 106 are coupled to the network 108 by wireless means based on an industry standard such as IEEE 802.11. In yet another example, all devices including the zone players 102, 104 and 106 are part of a local area network that communicates with a wide area network (e.g., the Internet). In still another example, all devices including the zone players 102, 104 and 106 and a controller 412 forms an ad-hoc network and may be specifically named, e.g., a household identifier: Smith Family, to be differentiated from a similar neighboring setup with a household identifier, e.g., Kallai Family.
Many devices on the network 108 are configured to download and store audio sources. For example, the computing device 110 can download audio sources from the Internet and store the downloaded sources locally for sharing with other devices on the Internet or the network 108. The computing device 110 or any of the zone players can also be configured to receive streaming audio. Shown as a stereo system, the device 112 is configured to receive an analog audio source (e.g., from broadcasting) or retrieve a digital audio source (e.g., from a compact disk). The analog audio sources can be converted to digital audio sources. In accordance with the present invention, the audio source may be shared among the devices on the network 108.
Two or more zone players may be grouped together to form a new zone group. Any combinations of zone players and an existing zone group may be grouped together. In one instance, a new zone group is formed by adding one zone player to another zone player or an existing zone group. In one application, there are two zone players in one environment (e.g., a living room in a house). In one embodiment, instead of grouping these two zone players to play back the same audio source, one can configure these two zone players to play two separate sounds in left and right channels. In other words, the stereo effects of a sound are reproduced through these two zone players, one for the left sound and the other for the right sound. Likewise, for a 3-channel (or 2.1 sound effects) sound, three such zone players may be reconfigured as if there are three speakers: left and right speakers and a subwoofer to form a stereo sound. The details of the reconfiguring the zone players and operating these audio products will be described below. Similar configurations with multiple channels (greater than 3) also apply.
Referring now to FIG. 2A, there is shown an exemplary functional block diagram of a zone player 200 in accordance with the present invention. The zone player 200 includes a network interface 202, a processor 204, a memory 206, an audio processing circuit 210, a module 212, and optionally, an audio amplifier 214 that may be internal or external. The network interface 202 facilitates a data flow between a data network (i.e., the data network 108 of FIG. 1) and the zone player 200 and typically executes a special set of rules (i.e., a protocol) to send data back and forth. One of the common protocols used in the Internet is TCP/IP (Transmission Control Protocol/Internet Protocol). In general, a network interface manages the assembling of an audio source or file into smaller packets that are to be transmitted over the data network or reassembles received packets into the original source or file. In addition, the network interface 202 handles the address part of each packet so that it gets to the right destination or intercepts packets destined for the zone player 200. Accordingly, each of the packets includes an IP-based source address as well as an IP-based destination address.
The network interface 202 may include one or both of a wireless interface 216 and a wired interface 217. The wireless interface 216, also referred to as a RF interface, provides network interface functions by a wireless means for the zone player 200 to communicate with other devices in accordance with a communication protocol (such as the wireless standard IEEE 802.11a, 802.11b, 802.11g, 802.11n, or 802.15.1). The wired interface 217 provides network interface functions by a wired means (e.g., an Ethernet cable). In one embodiment, a zone player includes both of the interfaces 216 and 217, and other zone players include only a RF or wired interface. Thus these other zone players communicate with other devices on a network or retrieve audio sources via the zone player. The processor 204 is configured to control the operation of other parts in the zone player 200. The memory 206 may be loaded with one or more software modules that can be executed by the processor 204 to achieve desired tasks. According to one aspect of the present invention, a software module implementing one embodiment of the present invention is executed, the processor 204 operates in accordance with the software module in reference to a saved zone group configuration characterizing a zone group created by a user, the zone player 200 is caused to retrieve an audio source from another zone player or a device on the network and synchronize the players in the zone group to play back the audio source as desired.
According to one embodiment of the present invention, the memory 206 is used to save one or more saved zone configuration files that may be retrieved for modification at any time. Typically, a saved zone group configuration file is transmitted to a controller (e.g., the controlling device 140 or 142 of FIG. 1, a computer, a portable device, or a TV) when a user operates the controlling device. The zone group configuration provides an interactive user interface so that various manipulations or control of the zone players may be performed.
The audio processing circuit 210 resembles most of the circuitry in an audio playback device and includes one or more digital-to-analog converters (DAC), an audio preprocessing part, an audio enhancement part or a digital signal processor and others. In operation, when an audio source is retrieved via the network interface 202, the audio source is processed in the audio processing circuit 210 to produce analog audio signals. The processed analog audio signals are then provided to the audio amplifier 214 for playback on speakers. In addition, the audio processing circuit 210 may include necessary circuitry to process analog signals as inputs to produce digital signals for sharing with other devices on a network.
Depending on an exact implementation, the module 212 may be implemented as a combination of hardware and software. In one embodiment, the module 212 is used to save a scene. The audio amplifier 214 is typically an analog circuit that powers the provided analog audio signals to drive one or more speakers.
Referring now to FIG. 2B, there is shown an exemplary controller 240, which may correspond to the controlling device 140 or 142 of FIG. 1. The controller 240 may be used to facilitate the control of multi-media applications, automation and others in a complex. In particular, the controller 240 is configured to facilitate a selection of a plurality of audio sources available on the network, controlling operations of one or more zone players (e.g., the zone player 200) through a RF interface corresponding to the RF interface 216 of FIG. 2A. According to one embodiment, the wireless means is based on an industry standard (e.g., infrared, radio, wireless standard IEEE 802.11a, 802.11b 802.11g, 802.11n, or 802.15.1). When a particular audio source is being played in the zone player 200, a picture, if there is any, associated with the audio source may be transmitted from the zone player 200 to the controller 240 for display. In one embodiment, the controller 240 is used to synchronize more than one zone players by grouping the zone players in a group. In another embodiment, the controller 240 is used to control the volume of each of the zone players in a zone group individually or together.
The user interface for the controller 240 includes a screen 242 (e.g., a LCD screen) and a set of functional buttons as follows: a “zones” button 244, a “back” button 246, a “music” button 248, a scroll wheel 250, “ok” button 252, a set of transport control buttons 254, a mute button 262, a volume up/down button 264, a set of soft buttons 266 corresponding to the labels 268 displayed on the screen 242.
The screen 242 displays various screen menus in response to a user's selection. In one embodiment, the “zones” button 244 activates a zone management screen or “Zone Menu”, which is described in more details below. The “back” button 246 may lead to different actions depending on the current screen. In one embodiment, the “back” button triggers the current screen display to go back to a previous one. In another embodiment, the “back” button negates the user's erroneous selection. The “music” button 248 activates a music menu, which allows the selection of an audio source (e.g., a song) to be added to a zone player's music queue for playback.
The scroll wheel 250 is used for selecting an item within a list, whenever a list is presented on the screen 242. When the items in the list are too many to be accommodated in one screen display, a scroll indicator such as a scroll bar or a scroll arrow is displayed beside the list. When the scroll indicator is displayed, a user may rotate the scroll wheel 250 to either choose a displayed item or display a hidden item in the list. The “ok” button 252 is used to confirm the user selection on the screen 242.
There are three transport buttons 254, which are used to control the effect of the currently playing song. For example, the functions of the transport buttons may include play/pause and forward/rewind a song, move forward to a next song track, or move backward to a previous track. According to one embodiment, pressing one of the volume control buttons such as the mute button 262 or the volume up/down button 264 activates a volume panel. In addition, there are three soft buttons 266 that can be activated in accordance with the labels 268 on the screen 242. It can be understood that, in a multi-zone system, there may be multiple audio sources being played respectively in more than one zone players. The music transport functions described herein shall apply selectively to one of the sources when a corresponding one of the zone players or zone groups is selected.
FIG. 2C shows an exemplary controller 260 which may correspond to the controlling device 140 or 142 of FIG. 1. The controller 260 is provided with a touch screen that allows a user to interact with the controller, for example, to navigate a playlist of many items, to control operations of one or more players. In one embodiment as it will be further shown in FIG. 9s, a user may interact with the controller to make a stereo pair and separate a stereo pair. It should be noted that other network-enabled portable devices such as iPhone, iPad or a smart phone may be used as a controller to interact or control multiple zone players in an environment. According on one embodiment, an application may be downloaded into a network enabled device. Such an application may implement most of the functions discussed above for the controller 240 using a navigating mechanism or touch screen in the device. Those skilled in the art shall know a possible modification of such an application when porting it to a new type of portable device given the detailed description herein.
FIG. 2D illustrates an internal functional block diagram of an exemplary controller 270, which may correspond to the controller 240 of FIG. 2B, a computing device or a smart phone. The screen 272 on the controller 270 may be a LCD screen. The screen 272 communicates with and is commanded by a screen driver 274 that is controlled by a microcontroller (e.g., a processor) 276. The memory 282 may be loaded with one or more application modules 284 that can be executed by the microcontroller 276 with or without a user input via the user interface 278 to achieve desired tasks. In one embodiment, an application module is configured to facilitate grouping a number of selected zone players into a zone group and synchronizing the zone players for one audio source. In another embodiment, an application module is configured to control together the audio sounds (e.g., volume) of the zone players in a zone group. In operation, when the microcontroller 276 executes one or more of the application modules 284, the screen driver 274 generates control signals to drive the screen 272 to display an application specific user interface accordingly, more of which will be described below.
The controller 270 includes a network interface 280 referred to as a RF interface 280 that facilitates wireless communication with a zone player via a corresponding RF interface thereof. In one embodiment, the commands such as volume control and audio playback synchronization are sent via the RF interfaces. In another embodiment, a saved zone group configuration is transmitted between a zone player and a controller via the RF interfaces. The controller 270 may control one or more zone players, such as 102, 104 and 106 of FIG. 1. Nevertheless, there may be more than one controllers, each preferably in a zone (e.g., a room) and configured to control any one and all of the zone players.
In one embodiment, a user creates a zone group including at least two zone players from the controller 240 that sends signals or data to one of the zone players. As all the zone players are coupled on a network, the received signals in one zone player can cause other zone players in the group to be synchronized so that all the zone players in the group playback an identical audio source or a list of identical audio sources in a timely synchronized manner such that no audible delays or hiccups could be heard. Similarly, when a user increases the audio volume of the group from the controller, the signals or data of increasing the audio volume for the group are sent to one of the zone players and causes other zone players in the group to be increased together in volume and in scale.
According to one implementation, an application module is loaded in memory 282 for zone group management. When a predetermined key (e.g. the “zones” button 244) is activated on the controller 240, the application module is executed in the microcontroller 276. The input interface 278 coupled to and controlled by the microcontroller 276 receives inputs from a user. A “Zone Menu” is then displayed on the screen 272. The user may start grouping zone players into a zone group by activating a “Link Zones” or “Add Zone” soft button, or de-grouping a zone group by activating an “Unlink Zones” or “Drop Zone” button. The detail of the zone group manipulation will be further discussed below.
As described above, the input interface 278 includes a number of function buttons as well as a screen graphical user interface. It should be pointed out that the controller 240 in FIG. 2B is not the only controlling device that may practice the present invention. Other devices that provide the equivalent control functions (e.g., a computing device, a hand-held device) may also be configured to practice the present invention. In the above description, unless otherwise specifically described, it is clear that keys or buttons are generally referred to as either the physical buttons or soft buttons, enabling a user to enter a command or data.
One mechanism for ‘joining’ zone players together for music playback is to link a number of zone players together to form a group. To link a number of zone players together, a user may manually link each zone player or room one after the other. For example, there is a multi-zone system that includes the following zones.
Bathroom
Bedroom
Den
Dining Room
Family Room
Foyer
If the user wishes to link 5 of the 6 zone players using the current mechanism, he/she must start with a single zone and then manually link each zone to that zone. This mechanism may be sometimes quite time consuming. According to one embodiment, a set of zones can be dynamically linked together using one command. Using what is referred to herein as a theme or a zone scene, zones can be configured in a particular scene (e.g., morning, afternoon, or garden), where a predefined zone grouping and setting of attributes for the grouping are automatically effectuated.
For instance, a “Morning” zone scene/configuration command would link the Bedroom, Den and Dining Room together in one action. Without this single command, the user would need to manually and individually link each zone. FIG. 3A provides an illustration of one zone scene, where the left column shows the starting zone grouping—all zones are separate, the column on the right shows the effects of grouping the zones to make a group of 3 zones named after “Morning”.
Expanding this idea further, a Zone Scene can be set to create multiple sets of linked zones. For example, a scene creates 3 separate groups of zones, the downstairs zones would be linked together, the upstairs zones would be linked together in their own group, and the outside zones (in this case the patio) would move into a group of its own.
In one embodiment as shown in FIG. 3B, a user defines multiple groups to be gathered at the same time. For example: an “Evening Scene” is desired to link the following zones:

    
    
        Group 1
        
            Bedroom
            Den
            Dining Room
        
        
        Group 2
        
            Garage
            Garden

where Bathroom, Family Room and Foyer should be separated from any group if they were part of a group before the Zone Scene was invoked.

        
        
    
    


One important of the features, benefits and objects in the present invention is that that zones do not need to be separated before a zone scene is invoked. In one embodiment, a command is provided and links all zones in one step, if invoked. The command is in a form of a zone scene. After linking the appropriate zones, a zone scene command could apply the following attributes:
Set volumes levels in each zones (each zone can have a different volume)
Mute/Unmute zones.
Select and play specific music in the zones.
Set the play mode of the music (Shuffle, Repeat, Shuffle-repeat)
Set the music playback equalization of each zone (e.g., bass treble).
A further extension of this embodiment is to trigger a zone scene command as an alarm clock function. For instance the zone scene is set to apply at 8:00 am. It could link appropriate zones automatically, set specific music to play and then stop the music after a defined duration. Although a single zone may be assigned to an alarm, a scene set as an alarm clock provides a synchronized alarm, allowing any zones linked in the scene to play a predefined audio (e.g., a favorable song, a predefined playlist) at a specific time or for a specific duration. If, for any reason, the scheduled music failed to be played (e.g., an empty playlist, no connection to a share, failed UPnP, no Internet connection for an Internet Radio station), a backup buzzer will sound. This buzzer will be a sound file that is stored in a zone player.
FIG. 4 shows an exemplary user interface 400 that may be displayed on a controller 142 or a computer 110 of FIG. 1. The interface 400 shows a list of items that may be set up by a user to cause a scene to function at a specific time. In the embodiment shown in FIG. 4, the list of items includes “Alarm”, “Time”, “Zone”, “Music”, “Frequency” and “Alarm length”. “Alarm” can be set on or off. When “Alarm” is set on, “Time” is a specific time to set off the alarm. “Zone” shows which zone players are being set to play a specified audio at the specific time. “Music” shows what to be played when the specific time arrives. “Frequency” allows the user to define a frequency of the alarm. “Alarm length” defines how long the audio is to be played. It should be noted that the user interface 400 is provided herein to show some of the functions associated with setting up an alarm. Depending on an exact implementation, other functions, such as time zone, daylight savings, time synchronization, and time/date format for display may also be provided without departing from the present invention.
According to one embodiment, each zone player in a scene may be set up for different alarms. For example, a “Morning” scene includes three zone players, each in a bedroom, a den, and a dining room. After selecting the scene, the user may set up an alarm for the scene as whole. As a result, each of the zone players will be activated at a specific time.
FIG. 5A shows a user interface 500 to allow a user to form a scene. The panel on the left shows the available zones in a household. The panel on the right shows the zones that have been selected and be grouped as part of this scene. Depending on an exact implementation of a user interface, Add/Remove buttons may be provided to move zones between the panels, or zones may be dragged along between panels.
FIG. 5B shows another user interface 520 to allow a user to form a scene. The user interface 520 that may be displayed on a controller or a computing device, lists available zones in a system. A checkbox is provided next to each of the zones so that a user may check in the zones to be associated with the scene.
FIG. 5C shows a user interface 510 to allow a user to adjust a volume level of the zone players in a zone scene individually or collectively. As shown in the user interface 510, the ‘Volumes . . . ’ button (shown as sliders, other forms are possible) allows the user to affect the volumes of the associated zone players when a zone scene is invoked. In one embodiment, the zone players can be set to retain whatever volume that they currently have when the scene is invoked. Additionally the user can decide if the volumes should be unmuted or muted when the scene is invoked.
FIG. 6 shows a flowchart or process 600 of providing a player theme or a zone scene for a plurality of players, where one or more of the players are placed in a zone. The process 600 is presented in accordance with one embodiment of the present invention and may be implemented in a module to be located in the memory 282 of FIG. 2C.
The process 600 is initiated only when a user decides to proceed with a zone scene at 602. The process 600 then moves to 604 where it allows a user to decide which zone players to be associated with the scene. For example, there are ten players in a household, and the scene is named after “Morning”. The user may be given an interface to select four of the ten players to be associated with the scene. At 606, the scene is saved. The scene may be saved in any one of the members in the scene. In the example of FIG. 1, the scene is saved in one of the zone players and displayed on the controller 142. In operation, a set of data pertaining to the scene includes a plurality of parameters. In one embodiment, the parameters include, but may not be limited to, identifiers (e.g., IP address) of the associated players and a playlist. The parameters may also include volume/tone settings for the associated players in the scene. The user may go back to 602 to configure another scene if desired.
Given a saved scene, a user may activate the scene at any time or set up a timer to activate the scene at 610. The process 600 can continue when a saved scene is activated at 610. At 612, upon the activation of a saved scene, the process 600 checks the status of the players associated with the scene. The status of the players means that each of the players shall be in condition to react in a synchronized manner. In one embodiment, the interconnections of the players are checked to make sure that the players communicate among themselves and/or with a controller if there is such a controller in the scene.
It is assumed that all players associated with the scene are in good condition. At 614, commands are executed with the parameters (e.g., pertaining to a playlist and volumes). In one embodiment, data including the parameters is transported from a member (e.g., a controller) to other members in the scene so that the players are caused to synchronize an operation configured in the scene. The operation may cause all players to play back a song in identical or different volumes or to play back a pre-stored file.
FIG. 7 shows a configuration in which an audio source is played back on two players 702 and 704, according to one embodiment of the present invention. These two players 702 and 704 may be located in one place (e.g., a hall or a room) and are designated to play two sound tracks respectively. For example, an audio source has left and right sound channels or tracks, a typical stereo sound. Instead of grouping the players 702 and 704 to play back the audio source together, a user can group or pair the players 702 and 704 (e.g., through a designated interface) and cause the players 702 and 704 to play the two sound tracks respectively. As a result, the stereo sound effects can be simulated.
In operation, a controller 706 (e.g., a controller 142 of FIG. 1 or 240 of FIG. 2B or a portable device) is used to initiate the operation. Through a proper user interface, the controller 706 causes a player 702 to retrieve the audio source, provided the audio source is on a network 708 (e.g., the Internet or a local area network). Similarly, the controller 706 may also cause a designated device (e.g., another networked device) to establish a communication session with the player 702 to deliver the requested audio source. In any case, either one or both of the players 702 and 704 shall have an access to the data representing the audio source.
An appropriate module in the player 702 is activated to process the data. According to one embodiment, the right and left sound tracks are separated. One sound track is retained locally in one player and the other sound track is pushed or uploaded to the other device (e.g., via an ad-hoc network). When the right and left sound tracks are played back simultaneously, the stereo sound effect can be appreciated.
To avoid a time delay in delivering a single sound track to the other device, the time delay may be measured. According to another embodiment, a test message may be initiated from one device to another that is also activated to send back an acknowledgement. Upon receiving the acknowledgement, the time delay in transporting data from one device to another can be measured. The time delay will be considered when synchronizing the two players to play back the two separated sound tracks. In one embodiment, the locally retained sound track data is delayed to start with a latency determined by the time delay. Depending on implementation, such a time delay may be measured from time to time to ensure that the two sound tracks are simultaneously played back. Details of synchronizing operations of two or more players are provided in commonly assigned U.S. application Ser. No. 10/816,217, filed Apr. 1, 2004, entitled “System and Method For Synchronizing Operations Among A Plurality Of Independently Clocked Digital Data Processing Devices” which is hereby incorporated by reference.
FIG. 8 shows a flowchart or process 800 of grouping a plurality of audio products to play separated sound tracks in synchronization to simulate a multi-channel listening environment. The process 800 is presented in accordance with one embodiment of the present invention and may be implemented in a module to be located in the memory 282 of FIG. 2C. To facilitate the description of the present invention, a listening environment of stereo sound with left and right channels is described. Those skilled in the art can appreciate that the description can be equally applied to other forms of multi-channel listening environment.
Typically, there is a plurality of players being controlled by one or more controllers, where these players are disposed in various locations. For example, there are five players in a house, three of them are respectively disposed in three rooms while two players are disposed in a larger room. Accordingly, these two players would be candidates to be paired to simulate a stereo listening environment. In another example, there are four players in a large space, two pairs of the players may be paired to simulate a stereo listening environment, in which two players in one pair can be grouped to play back one (left) sound track and the other two in the other pair can be grouped to play back one (right) sound track.
In any case, two groups of players or two players are decided to be paired at 802. If no players are paired, the process 800 will not be activated. It is assumed that two players from a group of players being controlled by a controller are selected to be paired at 802. The process 800 proceeds.
At 804, a user needs to decide which player is to play back which sound track. Depending on the location of the user or listener(s) with respect to the selected players, it is assumed that a player or unit A is chosen to play back a left sound track and another player or unit B is chosen to play back a right sound track.
Accordingly to one embodiment, a time delay in transporting data between the two units A and B is measured at 806. This time delay may facilitate sound synchronization between the two units as one of the units will receive a processed sound track from the other. The user may continue to operate on a controller to select a title (e.g., an audio source or an item from a playlist) for playback on the two units at 810.
Once the title is determined at 812, the data for the title needs to be accessed. Depending on where the data is located, the controller may be configured to cause one of the two units to obtain or stream in the data. In one embodiment, the controller or unit A initiates a request to a remotely-networked device storing the data. Assuming an authentication procedure, if any, completes successfully, the remote device starts to upload the data to the unit A. Likewise, if the data is locally stored in the unit A, the data can be accessed locally without requesting the same from the network. As the data is being received or accessed in the unit A, a processing module is activated in the unit A to process the data, essentially separating the data into two streams of sound tracks at 814.
At 816, one of the streams is uploaded from the unit A to unit B via a local network (e.g., the ad-hoc network formed by all the players being controlled by the controller). As the streams are being distributed, the two units are configured to play back the streams respectively, each reproducing the sound of a single sound track at 818. Together, the two units create a stereo sound listening environment.
It should be noted that the delay time, if noticeable, may be incorporated into the unit A to delay the consumption of the stream by the delay time to synchronize with the unit B. Alternatively, a non-selected player may be used to process a streaming data of the title and configured to supply two streams to the pair of players, thus equalizing the delay time that would be otherwise experienced by the unit B.
To further under the operations of making a stereo pair, FIGS. 9A-9F are provided according to one embodiment of the present invention. FIGS. 9A-9F are snapshots from a computing device (e.g., a laptop) used as a controller. Those skilled in the art can appreciate that FIGS. 9A-9F may be readily modified to be used in a portable device with network capability, such as iPhone or iTouch or other smart phones.
FIG. 9A shows a graphic interface 900 that is caused to be displayed when a user desires to make a stereo pair with two players in a system, where there are more than two players in the system. Once the interface 900 is displayed, a list of the players in the system may be displayed (not shown), from which the user selects two or more players to make the stereo pair. It is assumed that the user has chosen two players respectively named as “ZPS5-Black” and “S5” to the stereo pair as shown in FIG. 9B. FIG. 9C shows an exemplary display 930 to allow the user to choose another play to be paired with the “ZPS5-Black” player.
As the stereo pair is playing back various audio items, the user is provided with an option to control either one or both of the sound channels. FIG. 9D shows a display 930 that one of the two channels is being muted. FIG. 9E shows a display 940 that reminds the user of what name the stereo pair is named after. In one embodiment and as shown in FIG. 3A or 3B, a graphic display is provided to show to the user all the players in a system and how they are grouped or named. A nickname for the stereo pair in the display 940 is highlighted and would be in FIG. 3A if FIG. 3A is modified after the stereo pair is done, provided the two players are in one place so that the stereo sound effect can be experienced. FIG. 9F provides an interface to allow the user to separate the stereo pair when needed.
The present invention has been described in sufficient detail with a certain degree of particularity. It is understood to those skilled in the art that the present disclosure of embodiments has been made by way of examples only and that numerous changes in the arrangement and combination of parts may be resorted without departing from the spirit and scope of the invention as claimed. While the embodiments discussed herein may appear to include some limitations as to the presentation of the information units, in terms of the format and arrangement, the invention has applicability well beyond such embodiment, which can be appreciated by those skilled in the art. Accordingly, the scope of the present invention is defined by the appended claims rather than the forgoing description of embodiments.

## Claims

1. A method comprising:
causing a controller device to display (a) a first volume control for a first playback device and (b) a second volume control for a second playback device;
receiving, via the controller device, an adjustment to the first volume control;
based on the adjustment to the first volume control, sending a first command, via the controller device over a local area network (LAN), to the first playback device to adjust its playback volume level;
receiving, via the controller device, an adjustment to the second volume control;
based on the adjustment to the second volume control, sending a second command, via the controller device over the LAN, to the second playback device to adjust its playback volume level;
after sending the first command and the second command, instructing, via the controller device over the LAN, at least one of the first playback device and the second playback device to form a pair, wherein instructing to form a pair comprises instructing to process an audio stream into at least one of a first and a second channel of the audio stream and to reproduce a respective one of the first and second channel, wherein the first playback device and the second playback device, when paired, provide multi-channel sound, such that the first playback device is configured to reproduce the first channel of the audio stream and the second playback device is configured to reproduce the second channel of the audio stream; and
after instructing the at least one of the first playback device and the second playback device to process an audio stream, causing the controller device to display a third volume control for the pair, wherein the third volume control is not displayed at the same time either the first volume control or the second volume control is displayed;
receiving, via the controller device, an adjustment to the third volume control; and
based on the adjustment to the third volume control, sending a third command, via the controller device over the LAN, to each of the first playback device and the second playback device to adjust a respective playback volume level of the first playback device and the second playback device.

2. The method of claim 1, wherein instructing at least one of the first playback device and the second playback device to process an audio stream into at least one of a first and a second channel of the audio stream and to reproduce a respective one of the first and second channel comprises instructing a particular one of the first playback device and the second playback device to process an audio stream into a particular one of the first and the second channel of the audio stream and to reproduce the particular one of the first and the second channel.

3. The method of claim 1, further comprising:
instructing, via the controller device over the LAN, each of the first playback device and the second playback device to playback the audio stream.

4. The method of claim 1, further comprising:
sending, via the controller device over the LAN to at least one of the first playback device and the second playback device, a name of a group of the first playback device and the second playback device.

5. The method of claim 1, wherein the first channel comprises a left channel, and wherein the second channel comprises a right channel.

6. The method of claim 1, wherein the first channel comprises a subwoofer channel.

7. The method of claim 6, wherein the second channel comprises at least one of a left channel and a right channel.

8. The method of claim 1, wherein the third volume control is not displayed before instructing the at least one of the first playback device and the second playback device to process an audio stream.

9. The method of claim 1, wherein neither the first volume control nor the second volume control is displayed after instructing the at least one of the first playback device and the second playback device to process an audio stream.

10. A tangible, non-transitory computer readable storage medium including instructions for execution by a processor, wherein the instructions, when executed, cause the processor to implement a method comprising:
causing a controller device to display (a) a first volume control for a first playback device and (b) a second volume control for a second playback device;
receiving, via the controller device, an adjustment to the first volume control;
based on the adjustment to the first volume control, sending a first command, via the controller device over a local area network (LAN), to the first playback device to adjust its playback volume level;
receiving, via the controller device, an adjustment to the second volume control;
based on the adjustment to the second volume control, sending a second command, via the controller device over the LAN, to the second playback device to adjust its playback volume level;
after sending the first command and the second command, instructing, via the controller device over the LAN, at least one of the first playback device and the second playback device to form a pair, wherein instructing to form a pair comprises instructing to process an audio stream into at least one of a first and a second channel of the audio stream and to reproduce a respective one of the first and second channel, wherein the first playback device and the second playback device, when paired, provide multi-channel sound, such that the first playback device is configured to reproduce the first channel of the audio stream and the second playback device is configured to reproduce the second channel of the audio stream; and
after instructing the at least one of the first playback device and the second playback device to process an audio stream, causing the controller device to display a third volume control for the pair, wherein the third volume control is not displayed at the same time either the first volume control or the second volume control is displayed;
receiving, via the controller device, an adjustment to the third volume control; and
based on the adjustment to the third volume control, sending a third command, via the controller device over the LAN, to each of the first playback device and the second playback device to adjust a respective playback volume level of the first playback device and the second playback device.

11. The tangible, non-transitory computer readable storage medium of claim 10, wherein instructing at least one of the first playback device and the second playback device to process an audio stream into at least one of a first and a second channel of the audio stream and to reproduce a respective one of the first and second channel comprises instructing a particular one of the first playback device and the second playback device to process an audio stream into a particular one of the first and the second channel of the audio stream and to reproduce the particular one of the first and the second channel.

12. The tangible, non-transitory computer readable storage medium of claim 10, the method further comprising:
instructing, via the controller device over the LAN, each of the first playback device and the second playback device to playback the audio stream.

13. The tangible, non-transitory computer readable storage medium of claim 10, the method further comprising:
sending, via the controller device over the LAN to at least one of the first playback device and the second playback device, a name of a group of the first playback device and the second playback device.

14. The tangible, non-transitory computer readable storage medium of claim 10, wherein the first channel comprises a left channel, and wherein the second channel comprises a right channel.

15. The tangible, non-transitory computer readable storage medium of claim 10, wherein the first channel comprises a subwoofer channel.

16. The tangible, non-transitory computer readable storage medium of claim 10, wherein the second channel comprises at least one of a left channel and a right channel.

17. The tangible, non-transitory computer readable storage medium of claim 10, wherein the third volume control is not displayed before instructing the at least one of the first playback device and the second playback device to process an audio stream.

18. The tangible, non-transitory computer readable storage medium of claim 10, wherein neither the first volume control nor the second volume control is displayed after instructing the at least one of the first playback device and the second playback device to process an audio stream.

19. A network device comprising:
a processor; and
a tangible, non-transitory computer readable storage medium including instructions for execution by a processor, wherein the instructions, when executed, cause the processor to implement a method comprising:
displaying (a) a first volume control for a first playback device and (b) a second volume control for a second playback device;
receiving an adjustment to the first volume control;
based on the adjustment to the first volume control, sending a first command, over a local area network (LAN), to the first playback device to adjust its playback volume level;
receiving an adjustment to the second volume control;
based on the adjustment to the second volume control, sending a second command, over the LAN, to the second playback device to adjust its playback volume level;
after sending the first command and the second command, instructing, over the LAN, at least one of the first playback device and the second playback device to form a pair, wherein instructing to form a pair comprises instructing to process an audio stream into at least one of a first and a second channel of the audio stream and to reproduce a respective one of the first and second channel, wherein the first playback device and the second playback device, when paired, provide multi-channel sound, such that the first playback device is configured to reproduce the first channel of the audio stream and the second playback device is configured to reproduce the second channel of the audio stream; and
after instructing the at least one of the first playback device and the second playback device to process an audio stream, displaying a third volume control for the pair, wherein the third volume control is not displayed at the same time either the first volume control or the second volume control is displayed;
receiving an adjustment to the third volume control; and
based on the adjustment to the third volume control, sending a third command, over the LAN, to each of the first playback device and the second playback device to adjust a respective playback volume level of the first playback device and the second playback device.