Adjusting Volume Levels

Abstract
In general, user interfaces for controlling a plurality of multimedia players in groups are disclosed. According to one aspect of the present invention, a user interface 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 a multimedia source or music in a playlist, wherein the multimedia source may be located anywhere on a network. The user interface is further configured to illustrate graphically a size of a group, the larger the group appears relatively, the more plays there are in the group.
Description
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 user interfaces 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. There is further a need for user interfaces that may be readily utilized to group and control the audio players.


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, various user interfaces are provided to facilitate a user to create and manage a group and also create, edit or update a playlist for the group. Depending on implementation, the user interfaces may be displayed on a touch screen from which a user may act directly with the screen to group the players, the user interfaces may also be displayed on a display with other means (e.g., a stylus, a scroll wheel, or arrow buttons) to interact. In addition, the user displays are configured to show graphically how many players in a group versus other individual players.


According to still 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 yet 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.


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 directed to a method for groupings in a multi-zone media system, the method comprises providing a mechanism to allow a user to determine which players in the system to be associated with a theme representing a group; and configuring the theme with parameters pertaining to the players, wherein the theme is activated at anytime or a specific time so that the players react in a synchronized manner. The players in a scene are synchronized to play a multimedia file hen the scene is activated.


According to another embodiment, the present invention is directed to a method for groupings in a multi-zone media system, the method comprises providing a user interface to allow a user to determine which players in the system to be associated with a theme representing a group, the user interface showing all available players at the time the user interface is created; allowing the user to visually select one of the players to be a first member of the theme; allowing the user to add more of the available players to the theme, if desired; and configuring the theme with parameters pertaining to the players. The theme may be activated at anytime or a specific time so that the players react in a synchronized manner.


According to still another embodiment, the present invention is directed to an entertainment system for grouping players, the system comprises: a plurality of players, each located in one zone; and a controller providing a mechanism to allow a user to select which of the players to be associated with a theme representing a group; and configure the theme with parameters pertaining to the selected players, wherein the theme is activated at anytime or a specific time so that the selected players react in a synchronized manner. As a result, the selected players are synchronized to play a multimedia that is in a digital format and retrieved from a source over a network.


One of the objects, features, and advantages of the present invention is to remotely control a plurality of multimedia players in a multi-zone system, playing and controlling the audio source synchronously if the players are grouped together, or playing and controlling the audio source individually if the players are disassociated with each other.


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 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. 3C shows an exemplary user interface (UI) of individual zones in a house;



FIG. 3D shows a user interface as a result of the use activating “link zones” of FIG. 3C;



FIG. 3E shows a user interface after the user has selected some of the available zone players into the scene;



FIG. 4 shows an exemplary user interface that may be displayed on a controller or a computer of FIG. 1;



FIG. 5A shows another user interface to allow a user to form a scene;



FIG. 5B shows still another user interface 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; and



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.



FIGS. 7A and 7B illustrate a sequence of screen displays in accordance with one embodiment of the present invention for controlling a plurality of players;



FIG. 7C shows a sequence of screen displays in accordance with one embodiment of the present invention for alternatively controlling players;



FIGS. 8A and 8B show a sequence of screen displays in accordance with one embodiment of the present invention for controlling players regarding audio volume;



FIG. 9 shows a flowchart or process of controlling a plurality of zones players according to one embodiment of the present invention;



FIG. 10 shows a flowchart or process of controlling audio volume of a plurality of players in a zone group according to one embodiment of the present invention; and



FIGS. 11A-11D show a sequence of screen displays in accordance with one embodiment of the present invention on a computing device for alternatively controlling players.





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 two of the bedrooms respectively 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).


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.


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). hi general, a network interface manages the assembling of an audio source or file into smaller packets that are 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.


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 or 802.11g). 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.


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 or 802.11g). 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 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 scrod arrow is displayed beside the list. When the scrod 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 illustrates an internal functional block diagram of an exemplary controller 270, which may correspond to the controller 240 of FIG. 2B. 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 volumes of the zone players in a zone group. In operation, when the microcontroller 276 executes one 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. 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 dear 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 of the important 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 dock 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. 3C shows an exemplary user interface (UI) 330 to show all available individual zones in a house. Each zone player can play a type of media (such as music, photographs and video) independently. Each zone player in the UI may be highlighted on the screen using either a touch screen or an input device such as a stylus, a scroll wheel, or arrow buttons. If a user wishes to link players in some rooms together to form a group so that players in these rooms are playing the same media in a synchronized fashion, the user may activate the grouping function by activating “link zones” 332 that leads to a user interface 340 as shown in FIG. 3D.


The UI 340 shows that the zone players available for grouping are selectable. In one embodiment, the UI 340 is displayed (e.g., a touch screen) to allow the user to choose what zone players to be included in a group named after “Bedroom” so that they are all playing the same song “The Beatles”. It should be noted that the user may have an option to name the scene, for example, “afternoon”, or “light music”. In the example shown in FIGS. 3C and 3D, the user selects the Bedroom zone and then the “Link Zones” button 332, as a result, the default name for the scene being created is named after “Bedroom”. As shown FIG. 3D, a zone player may be selected or highlighted by “checking” it into the group. In another embodiment, the selection action could also be achieved through pressing the “+−” icon next to each zone.



FIG. 3E shows a user interface 350 after the user has selected some of the available zone players into the scene. The display 350 is so displayed that a user can easily tell a group of linked players from the isolated players. According to one embodiment, a display may be provided to visually tell a user what have been grouped and what are not grouped. The display may even show various groups by size to indicate a number of zone players in each of the groups, for example, the larger a group appears, the more zone players there are in the group.


In general, all players in a group are caused to play the media being played in the first member used to form the group. In the case of FIG. 3E, the zone player in the bedroom is used to initiate the group or the first one in the group. At the time of forming the group, the zone player in the bedroom is playing “the Beatles”, as soon as a second zone player joins the group, the second zone player starts to be synchronized with the one already in the group and thus to play “the Beatles” in this case. As will be described below, the user now can switch the group of players to any other type of media or a different piece of music and all of the zone players in the group will play the selected media at the same time.



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 unmated 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 shad 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.


One of the features, benefits and advantages in the present invention is to allow sets of related devices (controllers and operating components) to exist as a group without interfering with other components that are potentially visible on the same wired or wireless network. Each of the sets is configured to a theme or a scene.



FIGS. 7A and 7B illustrate a sequence of screens in accordance with one embodiment of the present invention for manipulating a plurality of zone players for an exemplary four-zone distributed audio system. There are four zone players in four zones and referred to as: “Zone 1”, “Zone 2”, “Zone 3” and “Zone 4”.



FIG. 7A shows a grouping process. A first “Zone Menu” 702 shows a first list 703 of available zone players. One of the zone players or existing zone group is selected as a zone group head 704, which is indicated with uniformly highlighted texts. It is noted the highlighted texts may also be expressed as grouped icons, concatenated texts or other representations of a current selection on the screen. The highlighted texts react to a user's scrolling selection (e.g., via a scroll wheel 250 of FIG. 2B). Also shown as one of the bottom labels on the first “Zone Menu” 702 is the “Link Zones” or “Add Zone” label 706 that corresponds to a soft button (e.g., soft button 266 of FIG. 2B). A scroll indicator is displayed beside the first display 702 when the number of items is too many to be accommodated in one display.


When the soft button corresponding to “Link Zones” or “Add Zone” 706 is activated, a second “Zone Menu” 708 is displayed. A second list shows eligible zone groups or zone players 709 for the zone group head 704. Since “Zone 2” has been selected as the zone group head to form a zone group, the eligible zone groups and zone players are now “Zone 1”, “Zone 3” and “Zone 4”. As shown as highlighted texts, the zone player (Zone 4) 710 is selected to be grouped with the zone group head (Zone 2) 704 to form a new zone group.


After the user confirms the selection, the newly formed zone group configuration is updated and the audio source can be played synchronously for all of the zone players in the newly formed zone group as shown in FIG. 7A. The first “Zone menu” 712 is displayed again with the newly formed zone group 714 as one of the choices along with other available zone players. Depending on implementation, any zone players that have been used in a group may or may not be used in another group. As shown in FIG. 7A, the zone players 2 and 4 are in a zone group started by the zone player 2, the zone player 4 (even the zone player 2) can be in another zone group, for example, while a player in a living room is grouped with a player in a dining room, the same player in the living room can be grouped with a player in a family room.


In another embodiment, a display shows a list of available zone players for grouping. An interactive graphic interface allows a user to interactively select some of the available zone players that are automatically grouped. Anyone of the selected zone players in the group may be elected to be a group head such that other players in the group are synchronized to follow the group head.


According to one embodiment, the synchronization of all zone players in the new zone group is achieved with the following steps: 1) choosing an audio source from one of the zone players in the group, 2) checking if the chosen audio source is available locally on each of the zone players, 3) retrieving the audio source from another device (e.g., other zone players) which has the audio source via the data network, if the audio source is not available locally, and 4) playing the audio source on each of the zone players synchronously. In another embodiment, the audio source in the group or player to be added is chosen as default for other zone players. As shown in FIG. 7A, the audio source for “Zone 4” is track 10 with artist D. Accordingly, the zone player “Zone 2” will play track 10 with artist D synchronously with “Zone 4” after the new zone group is formed.



FIG. 7B shows a de-grouping process in reference to FIG. 7A. A first “Zone Menu” 722 shows a first list 723 of available zone players and zone groups, if there is any. One of the zone groups (“Zone 2+Zone 4”) to be de-grouped is selected as shown in highlight texts 724. When the “Unlink Zones” or “Drop Zone” soft button 726 is activated, the second “Zone Menu” 728 displays a list 729 that shows all of the member zone players in the selected zone group. One of the zone players 730 (Zone 4) in the selected zone group is chosen to be disassociated from the zone group 724. When the de-grouping is confirmed by user, the “Zone Menu” 732 is presented to reflect the de-grouping of a zone group (e.g., “Zone 2”) 734. When zone players are grouped together, all of the zone players play the same audio source synchronously. If a zone player is disassociated or dropped from the zone group, the remaining zone players in the zone group continue playing the audio source. In the “Zone Menu” 732, it shows the zone player (Zone 4) has no music 736 after the disassociation from the zone group, while the remaining player (Zone 2) continues to play the same music—track 10 with artist D.


Referring now to FIG. 7C, there shows a sequence of screens depicting alternative steps of creating a zone group. An exemplary five-zone audio system is used to describe these alternative steps. There are five zone players located in a living room, a dining room, a kitchen, an office and a master bedroom. It is assumed that three of the five rooms, the living room, the dining room and the kitchen, are grouped to form a zone group called “LivingRoom+DiningRoom+Kitchen”. The Screen display 750 shows that an audio source called “Counting Crows” 752 is being played on all the zone players in the group. When a user activates the “music” button 248 on a controller 240 of FIG. 2B, the screen display 760 shows a “Music Menu” page which shows a list of choices 762. One of the choices is “Play Music From Other Rooms” 764. When the user selects this option, the screen display 770 for “Play Same Music As Other Rooms” displays a list 772 of eligible rooms or zone players to be grouped with the current group “Living Room+Dining Room+Kitchen”. In this example the eligible rooms are Office 774 and Master Bedroom 776. It is assumed that the “Office” 774 which is indicated with the highlighted bar is chosen. As a result, the zone player “Office” is grouped with the original zone group to become a new group called “LivingRoom+DiningRoom+Kitchen+Office” as shown in screen display 780. And the audio source “Miles Davis” 782 from the zone player “Office” is played synchronously on all zone players in the new group.


Referring now to FIGS. 8A and 8B, there is shown a sequence of screens in accordance with one embodiment of the present invention for controlling audio volume of zone players in a zone group. These screens are activated and displayed when one of the volume control buttons is activated. According to one embodiment, the volume control buttons are “mute” button 262 and “volume up/down” button 264 on the controller 240 of FIG. 2B.



FIG. 8A shows that the current active zone player is in a living room of a house. The “Volume” panel 810 is displayed for the current zone player “Living Room”. A volume meter 812 is included to indicate a volume adjustment made by a user. A mute icon 814 is shown when the “mute” button is activated while the audio is on.



FIG. 8B shows that the current active zone group includes five rooms: living room, dining room, kitchen, den and study. A “Volume” panel 830 for the zone group is displayed for the convenience of a user. In the display, a plurality of volume meters 831 is shown. One of the volume meters is for the entire zone group 832. Other volume meters are for all the zone players in the group, one for each room or zone player. A scroll indicator is shown as a downward arrow 836 that indicates the screen is too small to hold all volume meters in one screen display. There are more hidden choices that can be viewed by scrolling down. The scrolling cursor 836 is highlighted (e.g., Den 834). As a user scrolls down the list of volume meters 831, the contents on “Volume” panel 840 includes the volume meter of the next zone player on the list (e.g., Study 844). Similarly, when the scroll indicator is an upward arrow 842, other hidden choices within the list can be viewed by scrolling up.


When a user adjusts the audio volume, only the highlighted zones or zone players are affected. If the highlighted selection is one zone player, the audio adjustment will only apply to that particular chosen player. If multiple zone players are selected, the adjustment applies to all of the chosen players similar to the volume adjustment to the group volume meter described below. The audio volume of all zone players in the zone group will be affected, if the highlighted selection is at the volume meter of the entire group 832. Any audio volume adjustment to the zone group applies to all of the zone players equally within the entire zone group. Depending on implementation, the relative difference of the audio volume among zone players in the group remains unchanged either in percentage or graphic strength.



FIG. 9 shows a flowchart or process 900 of implementing one embodiment of the present invention for manipulating zone players. The process 900, which is preferably understood in conjunction with the previous figures especially with FIGS. 2B, 2C, 7A and 7B, may be implemented in software, hardware, or a combination of both. According to one embodiment, an application module implementing the process 900 is embedded in a controller, for example, the device 240 of FIG. 2C. The module may be loaded in the memory 282 to be executed by the microcontroller (processor) 276 and operating in conjunction with user input commands via the input interface 278.


The process 900 starts with a display at 902 showing a list of zone players or existing zone groups, if there are any. When the available zone players and zone groups in the list is too long to be presented on the display, a scroll indicator will be displayed beside the list. A user may access the hidden items within the list by scrolling either upward or downward. At 903, the process 900 splits into two branches based on the following tasks: 1) grouping a plurality of zone players to form a zone group, or 2) de-grouping a zone group.


If the process 900 performs the grouping task, the process moves onto 904. The user selects one of the zone players as a zone group head or the zone groups from the list. Once the selection is made and a key is activated (e.g., a soft button 706 as shown in FIG. 7A), a new list (e.g., screen 708 as shown in FIG. 7A) showing all of the zone players and zone groups that are eligible to be grouped with the selection at 904 is displayed at 908. In one embodiment as shown in FIG. 7A, when the zone player “Zone 2” is selected as the zone group head in a four-zone audio system, the eligible zone players are all other zone players (“Zone 1”, “Zone 3” and “Zone 4”) except for the zone player “Zone 2”. At 910, the end user is then given the option to select one or more of the eligible zone players (e.g., “Zone 4” in FIG. 7A) or one of the eligible zone groups to be grouped into the selection at 904.


At 912, the user has the option to confirm to accept or to discard the selection made at 910. When a confirmation is made, the process 900 creates the zone group by synchronizing all of the zone players in the zone group at 914. In one embodiment, the synchronization is performed first to determine the audio source in the selected player to be grouped (e.g., Zone 4 in FIG. 7A). Then the audio source is transmitted to all other zone players in the same zone group before playing the audio source synchronously. In the meantime, this newly formed zone group configuration is updated. For example, the zone group configuration is saved to the memory 206 on the zone player 200 of FIG. 2A via the wireless communication. After the zone player in the newly formed zone group has been synchronized, the process 900 moves back to 902. An updated list of available zone players and zone groups is displayed. As an example shown in “Zone Menu” 712 of FIG. 7A, the newly formed zone group is listed as one of the items.


Going back to 912, if the selection made at 910 can not be confirmed or is to be discarded, the process 900 goes back to 902 without updating any zone group configuration. In this case, the original list is intact (e.g., “Zone Menu” 702 of FIG. 7A).


Going back to the grouping task test at 903, when the process 900 performs the de-grouping task, the process 900 moves to 924. A user selects one zone group from the first list. Once the selection is made, a list (e.g., screen 728 as shown in FIG. 7B) showing all of the zone players in the selected zone group is displayed at 928. In one embodiment as shown in FIG. 7B, “Zone 2+Zone 4” is the selected zone group, the zone players in the selected zone group are “Zone 2” and “Zone 4”. At 930, the end user selects one or more of the zone players (e.g., Zone 4) from the list to be disassociated from the zone group. At 932, the user has the option to confirm or to discard the selection made at 930.


When the selection is confirmed, the process 900 updates the selected zone group by disassociating the zone player from the zone group at 934. As a result of the disassociation, the audio source being played in the zone group is no longer available to the disassociated zone player. In the meantime, the updated zone group configuration is saved. For example, the zone configuration is saved to the memory 206 on the zone player 200 (FIG. 2A). After the zone player has been disassociated, the process 900 moves back to 902. The list of available zone players and zone groups is displayed. This time the newly updated zone group is listed as one of the items (e.g., “Zone Menu” 732 of FIG. 7B).


Going back to 932, if the selection made at 930 is to be discarded, the process 900 moves back to 902 directly without updating the zone group configuration. In this case, the original list is presented (e.g., “Zone Menu” 722 of FIG. 7B).


Referring now to FIG. 10, there is shown a flowchart or process 1000 of controlling audio volume of a plurality of zone players in a zone group. The process 1000, which is preferably understood in conjunction with the previous figures especially with FIGS. 2B, 2C, 8A and 8B, may be implemented in software, hardware, or a combination of both. According to one embodiment, an application module implementing the process 1000 is embedded in a controller, for example, the device 240 of FIG. 2C. The module may be loaded in the memory 282 to be executed by the microcontroller (processor) 276 and operating in conjunction with user input commands. In one embodiment, the module is configured to control the audio volume of a group of zone players. It should be noted that zone group and a group of zone players are used interchangeably in the description for FIG. 10.


At 1005, the process 1000 starts when one of the volume control buttons, for example, “mute” button 262 or “volume up/down” button 264, on the controller 240 of FIG. 2B, is activated. The process 1000 splits into two branches depending on whether a single zone player or a group of zone players is to be controlled at 1010.


If it is for a single zone player, a volume meter (e.g., “Volume” panel 810 in FIG. 8A) is presented at 1012. At 1014, the end user has option to adjust the volume for the zone player with one of the volume control buttons. The volume control signals are sent from the controller 240 (FIG. 2C) to the zone player 200 (FIG. 2A). In one embodiment, the volume panel displays a moving volume meter showing an increasing or decreasing bar as the audio volume of the selected zone player is adjusted up or down. In another embodiment, the mute icon is shown instead of a volume meter, when the “mute” button is activated while the audio is on.


At 1016, the process 1000 is waiting for a user's command. If a predetermined amount of time (e.g., 1 second) has lapsed, the process 1000 ends, which means the user is not going to change the volume. Otherwise, the process 1000 goes back to 1012 waiting for another action from the end user.


Referring back to 1010, if process 1000 is for a group of zone players, then the process 1000 moves to the zone group branch at 1022, in which a plurality of volume meters is presented. The plurality of volume meters includes one for each of the zone players in the zone group, plus one more for the entire zone group. In one embodiment as shown in FIG. 8B, a “Volume” panel 830 for a plurality of zone players in a zone group is presented. When the screen is too small to display all the zone players, a scroll indicator is displayed beside the list of the volume meters to indicate that there are hidden volume meters. At 1024, the user selects one of the volume meters. At 1026, the audio volume is adjusted with one of the volume control buttons. When the volume adjustment is made to one of the zone players, only the selected zone player is affected. The audio volume of the rest of the zone players remains unchanged. However, when the volume adjustment is made to the zone group, the entire group will respond to the volume adjustment in an identical scale. In one embodiment, the identical scale is based on percentage of the audio volume. In another embodiment, the identical scale is based on graphic representation of the volume meter.


In one embodiment, an end user increases the audio volume for the zone group by 5%. The volume for each of the zone players in the zone group will be increased by 5%, and the relative volume loudness difference among each of the zone players remains unchanged. In another embodiment, if a user had muted one of the zone players of the zone group, the volume of all other zone players would have been unchanged.


The group audio volume is calculated based on a predetermined formula. In one embodiment, the group audio volume is the averaged value of the audio volume of all the zone players within the zone group. In another embodiment, the median value may be chosen as the group audio volume. The user uses a scrolling device (e.g., scroll wheel 250 of FIG. 2B) to select a zone player or the entire zone group and then adjust the volume with one of the volume control buttons.


At 1028, the process 1000 is waiting for a user's command. If a predetermined amount of time has lapsed, the process 1000 ends, which means the user is not going to change the volume of the zone group. Otherwise, the process 1000 goes back to 1022 waiting for another action from the end user.



FIGS. 11A-11D are a series of screenshots according to one embodiment of the present invention on a computing device on a network. The computing device may correspond to the device 110 of FIG. 1 and be configured to control operations of the zone players installed in a complex. With a larger screen of the computing device than that of a portable controller, the graphic user interface on the larger screen appears different from that, for example, shown in FIGS. 7A-7B, the underlying principle nevertheless does not depart from the above description for the portable controller. A user is able to control any one or all of the zone players from the computing device. FIG. 11A shows all individual available zone players with the one in the Dining Room being selected to play a track entitled “A Charlie Brown Christmas”. FIG. 11B shows a pop-up window listing remaining available players to be grouped with the one in the Dining Room. Depending on a desirable group, the user can select from the remaining available players to be grouped with the one in the Dining Room to form a zone group. FIG. 11C shows, as a result, the players in the Dining Room and the living room are in one group and play synchronously a song entitled “Christmas time is here”. FIG. 11D shows the control of some exemplary acoustic characteristics of the zone players in a group with the volume being controlled.


The present invention can be implemented in many ways, each of which may yield one or more of the following benefits, advantages or features. One of them is a mechanism provided to enable a user to remotely control audio characteristics of the zone players either as a group or as an individual player. Second, an interactive graphic user interface is provided to enable a user to manage, create, delete or modify zone groups. Another one of the benefits, advantages or features is to provide a user interface to facilitate a user to control audio characteristics of an individual zone player or a group of zone players. Other benefits, advantages or features can be appreciated by those skilled in the art given the detailed description herein.


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 computing device, comprising: one or more processors; andtangible, non-transitory computer-readable memory storing instructions that, when executed by the one or more processors, cause the computing device to perform functions comprising: displaying, via a user interface, a group volume indicator based on volume levels of at least two media players forming a media player group, a first individual volume indicator representing a volume level of a first media player, and a second individual volume indicator representing a volume level of a second media player, wherein the at least two media players comprises the first media player and the second media player, and wherein the group volume indicator is separate from the first individual volume indicator and the second individual volume indicator;receiving a first input to adjust a position of the displayed first individual volume indicator of the first media player in the media player group;based on receiving the first input, (i) adjusting the position of the displayed first individual volume indicator, and (ii) adjusting a position of the displayed group volume indicator;receiving a second input to adjust the position of the displayed group volume indicator; andbased on receiving the second input, (i) adjusting the position of the displayed group volume indicator (ii) adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator and (iii) adjusting a position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator, wherein at least one of the adjusting the position of the displayed first individual volume indicator and the adjusting the position of the displayed second volume indicator is in proportion to the adjustment of the position of the displayed group volume indicator.
  • 2. The computing device of claim 1, wherein the functions further comprise: based on receiving the second input, (i) sending a first instruction to the first media player, wherein the first instruction causes the first media player to adjust its volume based on the adjustment of the position of the displayed group volume indicator, and (ii) sending a second instruction to the second media player, wherein the second instruction causes the second media player to adjust its volume based on the adjustment of the position of the displayed group volume indicator, wherein at least one of the adjusting the position of the displayed first individual volume indicator and the adjusting the position of the displayed second volume indicator is in proportion to the adjustment of the position of the displayed group volume indicator.
  • 3. The computing device of claim 1, wherein adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator comprises adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator to preserve a relative volume difference between a volume level corresponding to the position of the displayed first individual volume indicator and a volume level corresponding to the position of the displayed group volume indicator, and wherein adjusting the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator comprises adjusting the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator to preserve a relative volume difference between a volume level corresponding to the position of the displayed second individual volume indicator and the volume level corresponding to the position of the displayed group volume indicator.
  • 4. The computing device of claim 1, further comprising: at least one volume control button, andwherein receiving the second input to adjust the position of the displayed group volume indicator comprises: receiving a selection of the at least one volume control button, wherein the selection causes the position of the displayed group volume indicator to be adjusted by a given percentage.
  • 5. The computing device of claim 4, wherein based on receiving the second input, (i) adjust the position of the displayed group volume indicator, (ii) adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator, and (iii) adjusting the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator comprises: based on receiving the second input, (i) adjusting the position of the displayed first individual volume indicator by the given percentage and (ii) adjusting the position of the displayed second individual volume indicator by the given percentage.
  • 6. The computing device of claim 1, further comprising: a volume up button; anda volume down button,wherein receiving the second input to adjust the position of the displayed group volume indicator representing the volume level of the media player group comprises: receiving a selection of the volume up button, wherein the selection causes the position of the displayed group volume indicator to be increased by a given percentage, andwherein based on receiving the second input, (i) adjusting the position of the displayed group volume indicator, (ii) adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator, and (iii) adjusting the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator comprises: based on receiving the second input, (i) adjusting the position of the displayed first individual volume indicator by the given percentage and (ii) adjusting the position of the displayed second individual volume indicator by the given percentage.
  • 7. The computing device of claim 1, wherein the functions further comprise: receiving a third input to adjust the position of the displayed first individual volume indicator; andbased on receiving the third input, (i) adjusting the position of the displayed first individual volume indicator and (ii) adjusting the position of the displayed group volume indicator based on the adjustment of the position of the displayed first individual volume indicator.
  • 8. A system, comprising: a computing device configured to communicate over at least one data network; anda first media player configured to communicate over at least one data network;the computing device comprising: a first network interface that is configured to communicatively couple the computing device to the first media player;at least one first processor;a first tangible, non-transitory computer-readable medium; andprogram instructions stored on the first tangible, non-transitory computer-readable medium that are executable by the at least one first processor such that the computing device is configured to: display, via a user interface, a group volume indicator based on volume levels of at least two media players forming a media player group, a first individual volume indicator representing a volume level of the first media player, and a second individual volume indicator representing a volume level of a second media player, wherein the at least two media players comprises the first media player and the second media player, and wherein the group volume indicator is separate from the first individual volume indicator and the second individual volume indicator;receive a first input to adjust a position of the displayed first individual volume indicator of the first media player in the media player group;based on receiving the first input, (i) adjust the position of the displayed first individual volume indicator to a first position, (ii) adjust a position of the displayed group volume indicator, and (iii) send, to the first media player, a first instruction that causes the volume level of the first media player to be adjusted to correspond to the first position of the first individual volume indicator;receive a second input to adjust the position of the displayed group volume indicator; andbased on receiving the second input, (i) adjust the position of the displayed group volume indicator, (ii) adjust the position of the displayed first individual volume indicator to a second position based on the adjustment of the position of the displayed group volume indicator and (ii) adjust the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator to a third position, wherein at least one of the adjusting the position of the displayed first individual volume indicator and the adjusting the position of the displayed second volume indicator is in proportion to the adjustment of the position of the displayed group volume indicator; andthe first media player comprising: a second network interface that is configured to communicatively couple the first media player to the computing device; andat least one second processor;a second tangible, non-transitory computer-readable medium; andprogram instructions stored on the second tangible, non-transitory computer-readable medium that are executable by the at least one second processor such that the first media player is configured to: receive, from the computing device, a first instruction causing the volume level of the first media player to be adjusted to correspond to the adjusted position of the displayed first individual volume indicator.
  • 9. The system of claim 8, wherein the computing device further comprises program instructions stored on the first tangible, non-transitory computer-readable medium that are executable by the at least one first processor such that the computing device is configured to: based on receiving the second input, (i) send, to the first media player, a second instruction to cause the volume level of the first media player to be adjusted to correspond to the second position, and (ii) send, to the second media player, a third instruction to cause the volume level of the second media player to be adjusted to correspond to the third position; andthe first media player further comprises program instructions stored on the second tangible, non-transitory computer-readable medium that are executable by the at least second processor such that the first media player is configured to: receive, from the computing device, the second instruction; andbased on receiving the second instruction, cause the volume level of the first media player to be adjusted to correspond to the second position.
  • 10. The system of claim 8, wherein the second media player is configured to communicate over at least one data network, the second media player comprising: a third network interface that is configured to communicatively couple the second media player to the computing device;at least one third processor;third tangible, non-transitory computer-readable memory; andprogram instructions stored on the third tangible, non-transitory computer-readable medium that are executable by the at least one third processor such that the second media player is configured to: receive, from the computing device, the third instruction; andbased on receiving the third instruction, cause the volume level of the second media player to be adjusted to correspond to the third position.
  • 11. The system of claim 10, wherein at least one of the adjusting the position of the displayed first individual volume indicator and the adjusting the position of the displayed second volume indicator is in proportion to the adjustment of the position of the displayed group volume indicator.
  • 12. The system of claim 11, wherein adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator comprises adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator to preserve a relative volume difference between a volume level corresponding to the position of the displayed first individual volume indicator and a volume level corresponding to the position of the displayed group volume indicator, and wherein adjusting the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator comprises adjusting the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator to preserve a relative volume difference between a volume level corresponding to the position of the displayed second individual volume indicator and the volume level corresponding to the position of the displayed group volume indicator.
  • 13. The system of claim 8, wherein the computing device further comprises: at least one volume control button, andwherein receive the second input to adjust the position of the displayed group volume indicator comprises:receive a selection of a volume control button, wherein the selection causes the position of the displayed group volume indicator to be adjusted by a given percentage.
  • 14. The system of claim 13, wherein based on receiving the second input, (i) adjust the position of the displayed group volume indicator, (ii) adjust the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator, and (iii) adjust the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator comprises: based on receiving the second input, (i) adjust the position of the displayed first individual volume indicator by the given percentage and (ii) adjust the position of the displayed second individual volume indicator by the given percentage.
  • 15. The system of claim 8, wherein the computing device further comprises: a volume up button; anda volume down button,wherein receive the second input to adjust the position of the displayed group volume indicator representing the volume level of the media player group comprises: receive a selection of the volume up button, wherein the selection causes the position of the displayed group volume indicator to be increased by a given percentage, andwherein based on receiving the second input, (i) adjust the position of the displayed group volume indicator, (ii) adjust the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator, and (iii) adjust the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator comprises: based on receiving the second input, (i) adjust the position of the displayed first individual volume indicator by the given percentage and (ii) adjust the position of the displayed second individual volume indicator by the given percentage.
  • 16. The system of claim 8, wherein the computing device further comprises program instructions stored on the first tangible, non-transitory computer-readable medium that are executable by the at least one first processor such that the computing device is configured to: receive a third input to adjust the position of the displayed first individual volume indicator;based on receiving the third input, (i) adjust the position of the displayed first individual volume indicator and (ii) adjust the position of the displayed group volume indicator based on the adjustment of the position of the displayed first individual volume indicator.
  • 17. Tangible, non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause a computing device to perform functions comprising: displaying, via a user interface, a group volume indicator based on volume levels of at least two media players forming a media player group, a first individual volume indicator representing a volume level of a first media player, and a second individual volume indicator representing a volume level of a second media player, wherein the at least two media players comprises the first media player and the second media player, and wherein the group volume indicator is separate from the first individual volume indicator and the second individual volume indicator;receiving a first input to adjust a position of the displayed first individual volume indicator of the first media player in the media player group;based on receiving the first input, (i) adjusting the position of the displayed first individual volume indicator, and (ii) adjusting a position of the displayed group volume indicator;receiving a second input to adjust the position of the displayed group volume indicator; andbased on receiving the second input, (i) adjusting the position of the displayed group volume indicator, (ii) adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator, and (iii) adjusting a position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator, wherein at least one of the adjusting the position of the displayed first individual volume indicator and the adjusting the position of the displayed second volume indicator is in proportion to the adjustment of the position of the displayed group volume indicator.
  • 18. The tangible, non-transitory computer-readable medium of claim 17, wherein the functions further comprise: based on receiving the second input, (i) sending a first instruction to the first media player, wherein the first instruction causes the first media player to adjust its volume based on the adjustment of the position of the displayed group volume indicator, and (ii) sending a second instruction to the second media player, wherein the second instruction causes the second media player to adjust its volume based on the adjustment of the position of the displayed group volume indicator, wherein at least one of the adjusting the position of the displayed first individual volume indicator and the adjusting the position of the displayed second volume indicator is in proportion to the adjustment of the position of the displayed group volume indicator.
  • 19. The tangible, non-transitory computer-readable medium of claim 17, wherein adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator comprises adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator to preserve a relative volume difference between a volume level corresponding to the position of the displayed first individual volume indicator and a volume level corresponding to the position of the displayed group volume indicator, and wherein adjusting the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator comprises adjusting the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator to preserve a relative volume difference between a volume level corresponding to the position of the displayed second individual volume indicator and the volume level corresponding to the position of the displayed group volume indicator.
  • 20. The tangible, non-transitory computer-readable medium of claim 17, wherein receiving the second input to adjust the position of the displayed group volume indicator comprises: receiving a selection of a volume control button, wherein the selection causes the position of the displayed group volume indicator to be adjusted by a given percentage.
  • 21. The tangible, non-transitory computer-readable medium of claim 20, wherein based on receiving the second input, (i) adjusting the position of the displayed group volume indicator, (ii) adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator, and (iii) adjusting the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator comprises: based on receiving the second input, (i) adjusting the position of the displayed first individual volume indicator by the given percentage and (ii) adjusting the position of the displayed second individual volume indicator by the given percentage.
  • 22. The tangible, non-transitory computer-readable medium of claim 17, wherein receiving the second input to adjust the position of the displayed group volume indicator representing the volume level of the media player group comprises: receiving a selection of a volume up button, wherein the selection causes the position of the displayed group volume indicator to be increased by a given percentage, andwherein based on receiving the second input, (i) adjusting the position of the displayed group volume indicator, (ii) adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator, and (iii) adjusting the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator comprises: based on receiving the second input, (i) adjusting the position of the displayed first individual volume indicator by the given percentage and (ii) adjusting the position of the displayed second individual volume indicator by the given percentage.
  • 23. The tangible, non-transitory computer-readable medium of claim 22, further comprising: receiving a third input to adjust the position of the displayed first individual volume indicator; andbased on receiving the third input, (i) adjusting the position of the displayed first individual volume indicator and (ii) adjusting the position of the displayed group volume indicator based on the adjustment of the position of the displayed first individual volume indicator.
  • 24. A method, comprising: displaying, via a user interface of a computing device, a group volume indicator based on volume levels of at least two media players forming a media player group, a first individual volume indicator representing a volume level of a first media player, and a second individual volume indicator representing a volume level of a second media player, wherein the at least two media players comprises the first media player and the second media player, and wherein the group volume indicator is separate from the first individual volume indicator and the second individual volume indicator;receiving, via the computing device, a first input to adjust a position of the displayed first individual volume indicator of the first media player in the media player group;based on receiving the first input, (i) adjusting the position of the displayed first individual volume indicator, and (ii) adjusting a position of the displayed group volume indicator;receiving, via the computing device, a second input to adjust the position of the displayed group volume indicator; andbased on receiving the second input, (i) adjusting the position of the displayed group volume indicator, (ii) adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator, and (iii) adjusting a position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator, wherein at least one of the adjusting the position of the displayed first individual volume indicator and the adjusting the position of the displayed second volume indicator is in proportion to the adjustment of the position of the displayed group volume indicator.
  • 25. The method of claim 24, further comprising: based on receiving the second input, (i) sending a first instruction to the first media player, wherein the first instruction causes the first media player to adjust its volume based on the adjustment of the position of the displayed group volume indicator, and (ii) sending a second instruction to the second media player, wherein the second instruction causes the second media player to adjust its volume based on the adjustment of the position of the displayed group volume indicator, wherein at least one of the adjusting the position of the displayed first individual volume indicator and the adjusting the position of the displayed second volume indicator is in proportion to the adjustment of the position of the displayed group volume indicator.
  • 26. The method of claim 24, wherein adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator comprises adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator to preserve a relative volume difference between a volume level corresponding to the position of the displayed first individual volume indicator and a volume level corresponding to the position of the displayed group volume indicator, and wherein adjusting the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator comprises adjusting the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator to preserve a relative volume difference between a volume level corresponding to the position of the displayed second individual volume indicator and the volume level corresponding to the position of the displayed group volume indicator.
  • 27. The method of claim 24, wherein receiving, via the computing device, the second input to adjust the position of the displayed group volume indicator comprises: receiving a selection of a volume control button, wherein the selection causes the position of the displayed group volume indicator to be adjusted by a given percentage.
  • 28. The method of claim 27, wherein based on receiving the second input, (i) adjusting the position of the displayed group volume indicator, (ii) adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator, and (iii) adjusting the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator comprises: based on receiving the second input, (i) adjusting the position of the displayed first individual volume indicator by the given percentage and (ii) adjusting the position of the displayed second individual volume indicator by the given percentage.
  • 29. The method of claim 24, wherein receiving, via the computing device, the second input to adjust the position of the displayed group volume indicator representing the volume level of the media player group comprises: receiving a selection of the volume up button, wherein the selection causes the position of the displayed group volume indicator to be increased by a given percentage, andwherein based on receiving the second input, (i) adjusting the position of the displayed group volume indicator, (ii) adjusting the position of the displayed first individual volume indicator based on the adjustment of the position of the displayed group volume indicator, and (iii) adjusting the position of the displayed second individual volume indicator based on the adjustment of the position of the displayed group volume indicator comprises: based on receiving the second input, (i) adjusting the position of the displayed first individual volume indicator by the given percentage and (ii) adjusting the position of the displayed second individual volume indicator by the given percentage.
  • 30. The method of claim 24, further comprising: receiving, via the computing device, a third input to adjust the position of the displayed first individual volume indicator; andbased on receiving the third input, (i) adjusting the position of the displayed first individual volume indicator and (ii) adjusting the position of the displayed group volume indicator based on the adjustment of the position of the displayed first individual volume indicator.
CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. application Ser. No. 16/009,182, filed Jun. 14, 2018, and currently pending; U.S. application Ser. No. 16/009,182 is a continuation of U.S. application Ser. No. 14/808,875 filed on Jul. 24, 2015, and issued on Jul. 30, 2019 as U.S. Pat. No. 10,365,884; U.S. application Ser. No. 14/808,875 is a continuation of U.S. application Ser. No. 13/907,666 filed on May 31, 2013, and issued on Sep. 22, 2015, as U.S. Pat. No. 9,141,645; U.S. application Ser. No. 13/907,666 is a continuation of U.S. application Ser. No. 13/619,237 filed on Sep. 14, 2012, and issued on Nov. 19, 2013, as U.S. Pat. No. 8,588,949; U.S. application Ser. No. 13/619,237 is a continuation of U.S. application Ser. No. 12/035,112 filed on Feb. 21, 2008, and issued on Oct. 16, 2012, as U.S. Pat. No. 8,290,603; U.S. application Ser. No. 12/035,112 is a continuation-in-part of U.S. application Ser. No. 10/861,653 filed on Jun. 5, 2004, and issued on Aug. 4, 2009, as U.S. Pat. No. 7,571,014; U.S. application Ser. No. 10/861,653 is a continuation-in-part of U.S. application Ser. No. 10/816,217 filed on Apr. 1, 2004, and issued on Jul. 31, 2012, as U.S. Pat. No. 8,234,395; U.S. application Ser. No. 10/816,217 claims priority to U.S. Prov. App. 60/490,768 filed on Jul. 28, 2003, The entire contents of the Ser. No. 16/009,182; Ser. No. 14/808,875; Ser. No. 13/907,666; Ser. No. 13/619,237; Ser. No. 12/035,112; Ser. No. 10/861,653; Ser. No. 10/816,217; and 60/490,768 applications are incorporated herein by reference.

Provisional Applications (1)
Number Date Country
60490768 Jul 2003 US
Continuations (5)
Number Date Country
Parent 16009182 Jun 2018 US
Child 17102873 US
Parent 14808875 Jul 2015 US
Child 16009182 US
Parent 13907666 May 2013 US
Child 14808875 US
Parent 13619237 Sep 2012 US
Child 13907666 US
Parent 12035112 Feb 2008 US
Child 13619237 US
Continuation in Parts (2)
Number Date Country
Parent 10861653 Jun 2004 US
Child 12035112 US
Parent 10816217 Apr 2004 US
Child 10861653 US