`
`(13) United States Patent
`(10) Patent No.:
`US 8,148,622 B2
`
`Rothkopf et a].
`(45) Date of Patent:
`Apr. 3, 2012
`
`(54) MEDIA PLAYBACK QUEUING FOR
`PLAYBACK MANAGEMENT
`
`(75)
`
`.
`.
`Inventors: Fletcher R. Rothkopf, Mountam V1ew,
`CA (US); John Benjamln Fllson, San
`Jose, CA (US); Kyle H. Yeates, Palo
`Alto CA (US)
`’
`
`.
`.
`.
`(73) Ass1gnee. Apple Inc., Cupertmo, CA (US)
`.
`.
`.
`.
`.
`( * ) Not1ce:
`Subject to any d1scla1mer, the term of th1s
`patent is extended or adjusted under 35
`U.S.C. 1540,) by 157 days.
`.
`..
`,
`(21) Appl NO . 12/496 402
`
`(22)
`
`Filed:
`
`Jul. 1, 2009
`
`(65)
`
`Prior Publication Data
`
`US 2011/0004330 A1
`
`Jan. 6: 2011
`
`(51)
`
`Int. Cl.
`(2006.01)
`G10H 1/00
`(2006.01)
`G10H 1/18
`(2006.01)
`G10H 7/00
`(52) U.S. Cl.
`............................................ 84/615; 84/604
`(58) Field of Classification Search .................... 84/615,
`84/604
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`6,430,537 B1*
`7,205,471 B2
`7,680,849 B2
`7,797,446 B2
`7,827,259 B2
`7,860,830 B2
`
`.............. 705/7.22
`
`8/2002 Tedesco et a1.
`4/2007 Looney et a1.
`3/2010 Heller et a1.
`9/2010 Heller et a1.
`11/2010 Heller et a1.
`12/2010 Mirrashidi et a1.
`
`7,958,441 B2
`2003/0018966 A1*
`2005/0240494 A1
`2005/0262259 A1
`2006/001 5378 A1
`2006/0156239 A1
`2006/0247980 A1
`2007/0271312 A1
`2008/0080837 A1
`2008/0104121 A1*
`2008/0148152 A1
`2008/0189318 A1
`2008/0281867 A1
`2009/0063543 A1
`2009/0183060 A1*
`2009/0240721 A1 *
`
`6/2011 Heller et 31.
`........................ 725/2
`1/2003 Cook et a1.
`10/2005 Cue et a1.
`11/2005 O’Rourke et a1.
`1/2006 Mirrashidi et al.
`7/2006 Jobs et 31.
`11/2006 Mirrashidi et al.
`11/2007 Heller et 31.
`4/2008 Mei et a1.
`5/2008 Gottlieb et al.
`6/2008 Blinnikka
`8/2008 Bourke et 31.
`11/2008 Kendall et 31.
`3/2009 Martin et al.
`.................. 715/202
`7/2009 Heller et 31.
`9/2009 Giacalone, Jr.
`............... 707/101
`
`............ 707/104.1
`
`2/2010 Heller et al.
`2010/0042654 A1
`OTHER PUBLICATIONS
`_
`U.S. Appl. No. 10/936,233, entitled “Method and System for
`
`Dynamically Populating Groups in a Developer Environment”, filed
`Sep. 7, 2004.
`Dennis Lloyd, “Wishing for a Play Queue for iPod”, iLounge, Apr.
`24, 2003, 15 pages.
`“About Play Lists”, Main Help Page, iTunes, downloaded Jun. 15,
`2009, 2 pages.
`“Creating a Custom Mix Using Party Shuffle”, Main Help Page,
`iTunes, downloaded Jun. 15, 2009, 1 page.
`>1: cited by examiner
`
`Primary Examiner 7 Jeffrey Donels
`
`(57)
`
`ABSTRACT
`
`Management or coordination of playback of digital media
`assets by an electronic device (e. g., a computing device), that
`supports media playback is disclosed. According to one
`embodiment, the electronic device canbe controlled such that
`a user is able to schedule playback of distinct digital media
`assets.
`
`19 Claims, 9 Drawing Sheets
`
`202
`
`SELECT A PLAYLIST FOR PLAYBACK
`
`
`
`
`
`INITIATE PLAYBACK OF DIGITAL MEDIA
`204
`ASSETS IN SELECTED PLAYLIST
`
`
`
`
`/‘ 200
`
`
`
`INITIATE PLAYBACK
`OF THE SELECTED
`
`DIGITAL MEDIA ASSET
`
`
`SCHEDULE PLAYBACK OF THE
`SELECTED DIGITAL MEDIA ASSET
`
`
`RECEIVE
`
` SELECTION
`OF DIGITAL
`MEDIA ASSET
`
`FOR
`PLAYBACK
`?
`
`PLAYBACK
`COMPLETED
`
`21D
`
`PLAYBACK
`IN
`PROCESS
`7
`
`212
`
`Apple Exhibit 4246
`
`Apple V. SightSound Technologies
`CBM2013-00020
`
`Page 00001
`
`
`
`
`
`Apple Exhibit 4246
`Apple v. SightSound Technologies
`CBM2013-00020
`Page 00001
`
`
`
`US. Patent
`
`Apr. 3, 2012
`
`Sheet 1 of9
`
`US 8,148,622 132
`
`f 100
`
`UI MODULE
`
`106
`
`104
`
`PLAYBACK
`MODULE
`
`
`
`CONTROL MODULE
`
`102
`
`SPEAKER
`
`DISPLAY
`SCREEN
`PLAYBACK
`QUEUE 0
`
`110
`
`Page 00002
`
`
`DEVICE
`
`USER INPUT
`
`108
`
`114
`
`MEDIA ASSET
`STORAGE
`
`DEVICE
`
`116
`
`112
`
`FIG. 1
`
`Page 00002
`
`
`
`US. Patent
`
`Apr. 3, 2012
`
`Sheet 2 of9
`
`US 8,148,622 132
`
`@ [2”
`
`202
`
`SELECT A PLAYLIST FOR PLAYBACK
`
`INITIATE PLAYBACK OF DIGITAL MEDIA
`
`ASSETS IN SELECTED PLAYLIST
`204
`
`
`206
`
` RECEIVE
`
`SELECTION
`OF DIGITAL
`
`
`MEDIA ASSET
`FOR
`
`PLAYBACK
`?
`
`
`YES
`
`210
`
`214
`
`PLAYBACK
`IN
`
`PROCESS
`?
`
`INITIATE PLAYBACK
`OF THE SELECTED
`DIGITAL MEDIA ASSET
`
`
`
`
`
`NO
`
`P LAYBAC K
`
`COMPLETED
`
`208
`
`
`NO
`
`SCHEDULE PLAYBACK OF THE
`SELECTED DIGITAL MEDIA ASSET
`
`FIG. 2
`
`212
`
`Page 00003
`
`Page 00003
`
`
`
`US. Patent
`
`Apr. 3, 2012
`
`Sheet 3 of9
`
`US 8,148,622 B2
`
`
`
`@ f 300
`
`302
`
`NAVIGATE AVAILABLE MEDIA ITEMS
`
`304
`
`
`
` RECEIVE
`PLAYBACK
`REQUEST
`
`
`YES
`
`
`
`NO
`
`306
`
`
`
`PLAYBACK
`IN
`PROCESS
`
`INITIATE PLAYBACK
`
`OF SPECIFIED MEDIA
`
`ITEM
`
`308
`
`
`
`STOP CURRENT
`PLAYBACK
`
`ADD SPECIFIED MEDIA ITEM
`TO TOP OF PLAYBACK
`QUEUE
`
`INITIATE PLAYBACK
`OF SPECIFIED MEDIA
`ITEM
`
`ADD SPECIFIED MEDIA ITEM
`TO BOTTOM OF PLAYBACK
`QUEUE
`
`FIG. 3
`
`Page 00004
`
`Page 00004
`
`
`
`US. Patent
`
`Apr. 3, 2012
`
`Sheet 4 of9
`
`US 8,148,622 132
`
`
`
`
`
`SONGS
`I 400
`
`Song a
`
`Song b 402
`
`
`Son
`
`
`
`
`
`
`
`
`
`Song 9
`
`
`
`
`[322:2
`song f
`
`
`
`
`NOW PLAYING I 404
`
`
`
`
`
`
`
`/
`
`
`
`FIG. 4A
`
`FIG. 4B
`
`406
`
`\‘
`
`PLAYLIST 2
`
`
`
`
`
`
`Song 1
`408
`
`Song 2
`g
`
`ong
`
`Song 5
`
`Song 6
`
`FIG. 4C
`
`406'
`
`\‘
`
`PLAYLIST 2
`
`
`
`
`
`
`
`
`Play Next F/\ 410
`
`Add to Queue
`
`
`
`FIG. 4D
`
`412
`
`a
`
`
`QUEUE
`
`
`Song 3
`
`
`
`
`
`v
`
`414
`
`a
`
`NOW PLAYING
`
`
`
`
`
`a
`
`
`
`
`
`FIG. 4E
`
`FIG. 4F
`
`Page 00005
`
`Page 00005
`
`
`
`US. Patent
`
`Apr. 3, 2012
`
`Sheet 5 of9
`
`US 8,148,622 B2
`
`Add: Sd
`
`Current
`
`500
`
`
`
`FIG. 5A
`
`Current
`
`500
`
`
`
`FIG. SB
`
`Current
`
`500
`
`FIG. 50
`
`Page 00006
`
`Page 00006
`
`
`
`US. Patent
`
`Apr. 3, 2012
`
`Sheet 6 of9
`
`US 8,148,622 B2
`
`Add: Sd
`
`Current
`
`600
`
`
`
`FIG. 68
`
`Current
`
`600
`
`
`
`FIG. 6A
`
`Current
`
`600
`
`FIG. 6C
`
`Page 00007
`
`Page 00007
`
`
`
`US. Patent
`
`Apr. 3, 2012
`
`Sheet 7 of9
`
`US 8,148,622 B2
`
`[ 700
`
`ADD PLAYLIST T0
`PLAYBACK QUEUE
`
`704
`
`YES
`
`702
`
` SPECIFIED
`MEDIA ITEM
`
`
`A
`
`PLAYLIST
`
`
`N0
`
`9 I
`
`706
`SPECIFIED
`
`
`MEDIA ITEM
`SELECTED
`
`FROM A
`
`PLAYLIST
`?
`
`
`
`NO
`
`PLAYBACK
`708
`
`BALANCE
`
`OF
`PLAYLIST
`
`?
`
`YES
`
`712
`
`ADD SPECIFIED MEDIA
`
`ITEM TO PLAYBACK QUEUE
`TO PLAYBACK QUEUE
`
`710
`
`ADD SPECIFIED MEDIA ITEM
`AS WELL AS SUBSEQUENT
`MEDIA ITEMS OF PLAYLIST
`
`FIG. 7
`
`Page 00008
`
`Page 00008
`
`
`
`US. Patent
`
`Apr. 3, 2012
`
`Sheet 8 of9
`
`US 8,148,622 B2
`
`Add: PL2
`
`Current
`
`800
`
`
`
`FIG_ 8A
`
`Current
`
`800
`
`Current
`
`800
`
`FIG. 8C
`
`
`
`Page 00009
`
`Page 00009
`
`
`
`US. Patent
`
`Apr. 3, 2012
`
`Sheet 9 of9
`
`US 8,148,622 B2
`
`
`
`ANY
`
`902
`
`MEDIA
`
`
`
`ITEMS
`
`IN PLAYBACK
`
`
`
`QUEUE
`
`?
`
`STOP PLAYBACK
`
`INITIATE PLAYBACK OF
`
`THE NEXT MEDIA ITEM
`IN PLAYBACK QUEUE
`
`
`
`FIG. 9
`
`Page 00010
`
`IDENTIFY NEXT MEDIA
`
`ITEM IN PLAYBACK
`
`QUEUE
`
`906
`
`908
`
`
`
`Page 00010
`
`
`
`US 8,148,622 B2
`
`2
`
`1
`MEDIA PLAYBACK QUEUING FOR
`PLAYBACK MANAGEMENT
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`
`The present invention relates to playback of media items
`and, more particularly, to management of playback of media
`items on a client computing device.
`2. Description of the Related Art
`Conventionally, jukeboxes have been installed at restau-
`rants or entertainment venues to provide music to patrons.
`Patrons typically insert money into a slot on a jukebox and
`then are entitled to select one or a few songs to be played by
`the jukebox. The songs are play back by the jukebox in the
`order they are selected.
`Today, music management and playback programs, such as
`iTunesTM from Apple Inc. of Cupertino, Calif., allow users to
`make playlists of songs. Thereafter, users can select a playlist
`for playback and have the music management and playback
`program play back the songs from the selected playlist. How-
`ever, once a playlist is playing, if a user selects a particular
`song to be played, the currently played song of the playlist is
`stopped and the new song is played. After the song has played,
`the playback stops until the user selects another song or
`playlist for playback.
`While the music management and playback programs
`operate on personal computers (such as desktop computers,
`portable computers, or netbooks), portable media players,
`such as MP3 players (e.g., iPodTM from Apple Inc. of Cuper-
`tino, Calif.), can operate to playback songs in a similar man-
`ner. Portable media players storage many songs or movies
`that users can select for playback by the portable media play-
`ers. However, portable media players operate through graphi-
`cal user interfaces to permit users to select a song or movie for
`playback. Once the song or movie is selected, playback of the
`selected song or movie is initiated. However, while the
`selected song or movie is being played, users are not able to
`select subsequent songs or movies to be played. Specifically,
`if users select another song or movie to be played, the cur-
`rently played song or movies is stopped and then playback of
`the newly selected song or movies is initiated.
`Therefore, there is a need for improved approaches to
`manage or coordinate playback of digital media assets.
`
`SUMMARY
`
`The invention relates to management or coordination of
`playback of digital media assets by an electronic device, such
`as a computing device, that supports media playback. Accord-
`ing to one embodiment, a computing device can be controlled
`such that a user is able to schedule playback of distinct digital
`media assets.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`In one embodiment, a computing device can provide a
`playback queue that can facilitate scheduling playback of 55
`distinct digital media assets. Digital media assets to be played
`subsequently can be listed in the playback queue to thereby
`manage playback of various digital media assets. In one
`embodiment, a graphical user interface can assist a user in
`scheduling playback of the distinct digital media assets.
`In another embodiment, multiple users can contribute digi-
`tal media assets forplayback to a media playback queue being
`utilized by a designated playback device. Different rules or
`policies can govern contributions of digital media assets to
`the media playback queue. In one embodiment, multiple
`users can rate, vote or request addition, removal, placement or
`position of digital media assets within a media playback
`
`65
`
`60
`
`queue. The multiple users can be users of a single computing
`device or multiple computing devices.
`The computing devices can, for example, be client com-
`puting devices that provide playback of digital media assets.
`Examples ofclient computing devices include: personal com-
`puters, mobile telephones, portable media players, personal
`digital assistants (PDAs). Often client computing devices,
`such as multi-function electronic devices, will support other
`functionality besides media playback.
`The invention can be implemented in numerous ways,
`including as a method, system, device, apparatus (including
`computer readable medium and graphical user interface).
`Several embodiments of the invention are discussed below.
`
`As method for controlling playback of digital media assets
`on a client computing device, one embodiment of the inven-
`tion can, for example, include at least: selecting a playlist of
`digital media assets to be played back by the client computing
`device; and initiating playback of the digital media assets in
`the selected playlist. Additionally, during playback of the
`digital media assets in the selected playlist, the embodiment
`of the invention can, for example, further include at least:
`receiving a selection of a particular digital media asset to be
`played back; and interposing playback of the particular digi-
`tal media asset as a next digital media asset to be played after
`playback of a digital media asset ofthe selected playlist being
`currently played has completed.
`As a method for controlling playback of digital media
`assets on a client computing device, one embodiment of the
`invention can, for example, include at least: providing a queue
`for identifying one or more digital media assets that are to be
`played back at the client computing device; selecting a cur-
`rent digital media asset from the queue for playback; initiat-
`ing playback of the current digital media asset by the client
`computing device; receiving, during playback of the current
`digital media asset, a selection of a particular digital media
`asset to be played back; and placing, during playback of the
`current digital media asset, the particular digital media asset
`that has been selected in the queue without interrupting the
`playback of the current digital media asset.
`As a method for controlling playback of digital media
`assets on a client computing device, one embodiment of the
`invention can, for example, include at least: selecting one or
`a group of digital media assets to be played back by the client
`computing device; and initiating playback of the digital
`media assets in the selected playlist. Additionally, during
`playback of the digital media assets in the selected playlist,
`the embodiment of the invention can, for example, include at
`least: receiving a selection ofat least a particular digital media
`asset to be played back; and placing the at least one particular
`digital media asset into a queue for eventual play back in
`accordance with ordering provided by the queue. Still further,
`the embodiment of the invention can, for example, include at
`least: selecting a next digital media asset from the queue as
`the next particular digital media asset to be played; and initi-
`ating playback of the next digital media asset from the
`selected playlist after playback of the current digital media
`asset has completed.
`As a method for controlling playback of digital media
`assets on a client computing device, one embodiment of the
`invention can, for example, include at least: operating a digi-
`tal media playback device in a first playback mode or a second
`playback mode; providing a playback queue configured to
`contain digital media as sets to be played back; playing back at
`least one of the digital media assets in the playback queue;
`and receiving at least one first user selection of a particular
`digital media asset or a particular digital media asset group.
`Additionally, if in the first mode, the embodiment of the
`
`Page 00011
`
`Page 00011
`
`
`
`US 8,148,622 B2
`
`3
`invention can further include at least: interrupting the digital
`media asset currently being played in response to the at least
`one first user selection, and playing the particular digital
`media asset or the particular digital media asset group instead
`ofthe digital media asset currently being played. Still further,
`if in the second mode, the embodiment of the invention can
`further include at least: placing the particular digital media
`asset or the particular digital media asset group into the play-
`back queue such it is played after the digital media asset
`currently being played has completed.
`As a computer readable medium including at least com-
`puter program code tangibly stored thereon for controlling
`playback ofdigital media assets on a client computing device,
`one embodiment ofthe invention can, for example, include at
`least: computer program code for providing a queue for iden-
`tifying one or more digital media assets that are to be played
`back at the client computing device; computer program code
`for selecting a current digital media asset from the queue for
`playback; computer program code for initiating playback of
`the current digital media as set by the client computing device;
`computer program code for receiving, during playback of the
`current digital media asset, a selection of a particular digital
`media asset to be played back; and computer program code
`for placing, during playback of the current digital media
`asset, the particular digital media asset that has been selected
`in the queue without interrupting the playback of the current
`digital media asset.
`As an electronic device, one embodiment of the invention
`can, for example, include at least: a media asset storage
`device configured to store a plurality of digital media assets;
`a user input device configured to receive one or more user
`inputs to specify user selection of one or more of the digital
`media assets; a display screen for presenting at least one
`graphical user interface that facilitates the user selection of
`one or more of the digital media assets; a playback queue
`configured to store an indication of any of the one or more of
`the digital media assets selected by the user selection that are
`to be subsequently played; a playback module configured to
`manage playback of the one or more of the digital media
`assets selected by the user selection using the user input
`device; and a processor for performing playback ofthe one or
`more of the digital media assets as managed by the playback
`module.
`
`Other aspects and advantages ofthe invention will become
`apparent from the following detailed description taken in
`conjunction with the accompanying drawings which illus-
`trate, by way of example, the principles of the invention.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The invention will be readily understood by the following
`detailed description in conjunction with the accompanying
`drawings, wherein like reference numerals designate like ele-
`ments, and in which:
`FIG. 1 is a block diagram of a client computing device
`according to one embodiment of the invention.
`FIG. 2 is a flow diagram of a playback scheduling process
`according to one embodiment of the invention.
`FIG. 3 is a flow diagram ofa playback management process
`according to one embodiment of the invention.
`FIGS. 4A-4F are representative screens that can be pre-
`sented according to one embodiment.
`FIGS. 5A-5C are diagrams illustrating management of a
`playback queue according to one embodiment.
`FIGS. 6A-6C are diagrams illustrating management of a
`playback queue according to another embodiment.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`
`FIG. 7 illustrates a flow diagram of a playlist queuing
`process according to one embodiment of the invention.
`FIGS. 8A-8C are diagrams illustrating management of a
`playback queue according to one embodiment.
`FIG. 9 is a flow diagram of a playback continue process
`according to one embodiment of the invention.
`
`DETAILED DESCRIPTION OF CERTAIN
`EMBODIMENTS
`
`The invention relates to management or coordination of
`playback of digital media assets by an electronic device, such
`as a computing device, that supports media playback. Accord-
`ing to one embodiment, a computing device can be controlled
`such that a user is able to schedule playback of distinct digital
`media assets.
`
`In one embodiment, a computing device can provide a
`playback queue that can facilitate scheduling playback of
`distinct digital media assets. Digital media assets to be played
`subsequently can be listed in the playback queue to thereby
`manage playback of various digital media assets. In one
`embodiment, a graphical user interface can assist a user in
`scheduling playback of the distinct digital media assets.
`In another embodiment, multiple users can contribute digi-
`tal media assets forplayback to a media playback queue being
`utilized by a designated playback device. Different rules or
`policies can govern contributions of digital media assets to
`the media playback queue. In one embodiment, multiple
`users can rate, vote or request addition, removal, placement or
`position of digital media assets within a media playback
`queue. The multiple users can be users of a single computing
`device or multiple computing devices.
`The computing devices can, for example, be client com-
`puting devices that provide playback of digital media assets.
`Examples ofclient computing devices include: personal com-
`puters, mobile telephones, portable media players, personal
`digital assistants (PDAs). Often client computing devices,
`such as multi-function electronic devices, will support other
`functionality besides media playback.
`Embodiments of various aspects of the invention are dis-
`cussed below with reference to FIGS. 1-9. However, those
`skilled in the art will readily appreciate that the detailed
`description given herein with respect to these figures is for
`explanatory purposes as the invention extends beyond these
`limited embodiments.
`
`FIG. 1 is a block diagram of a client computing device 100
`according to one embodiment of the invention. The client
`computing device 100 is configured to support storage and
`playback of digital media assets. A user of the client comput-
`ing device 100 can also interact with the client computing
`device 100 to manage storage and playback of select digital
`media assets.
`
`The client computing device 100 includes a processor 102
`that controls management and playback of digital media
`assets by the client computing device 100. The processor 102
`can interact with a playback module 104, a user interface (UI)
`module 106, a speaker 108, a display screen 110, a media
`asset storage device 112, a playback queue 114, and a user
`input device 116. The playback module 104 can operate to
`cause a digital media asset to be played back by the client
`computing device 100. The UI module 106 can operate to
`cause one or more graphical user interfaces to be presented on
`the display screen 110 by the client computing device 100. A
`user of the client computing device 100 can interact with the
`client computing device via the user input device 116 to
`provide input selections with respect to the graphical user
`interfaces. The speaker 108 can provide audio output (i.e.,
`
`Page 00012
`
`Page 00012
`
`
`
`US 8,148,622 B2
`
`5
`sound) in accordance with the digital media asset being
`played back. The media asset storage device 112 can store a
`plurality of digital media assets.
`The graphical user interfaces presented on the display
`screen 110 and the user input device 116 enable the user ofthe 5
`client computing device 100 to browse or navigate the digital
`media assets and to select those one or more digital media
`assets to be played back by the processor 102 and managed by
`the playback module 104. If the user selects multiple ones of
`the digital media assets, then those digital media assets not
`immediately played can be maintained in the playback queue
`114. As one digital media asset completes its playback,
`another digital media asset to be then played back can be
`obtained from the playback queue 110, unless such is empty.
`The user input device 116 for the client computing device
`100 can pertain to one or more input device. Examples of
`input devices include a touch surface, a pointing device (e. g.,
`mouse), a microphone, a button, a rotary input device, etc.
`The nature of the user input being provided to the client 20
`computing device 100 Via the user input device 116 can also
`vary. In one example, if a touch surface is used, the user input
`can be user touch gestures, either single-touch or multi-touch
`gestures. In another example, ifa microphone is used, the user
`input can be voice inputs (e.g., voice commands).
`Although the client computing device 100 can play back
`digital media assets and present audio and/or video output to
`users via the speaker 108 and/or the display screen 110, in one
`embodiment, the client computing device 100 can wirelessly
`transmit (e.g., stream) digital content for the digital media
`assets to another device that provides audio and/or video
`output. Here, for example, the another device having audio or
`video output capability can be used to present a digital media
`asset that has been designated at the client computing device
`for playback at the another device.
`Also, if digital content for a digital media asset to be played
`is not available from the media asset storage device 112, in
`one embodiment, the digital content can be received from
`another device that wirelessly transmits (e.g., streams) the
`digital content to the client computing device 100. The digital
`content could be streams when needed or could be streamed
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`in advance of playback and temporarily stored at the client
`computing device 100 for use during playback.
`FIG. 2 is a flow diagram of a playback scheduling process
`200 according to one embodiment of the invention. The play-
`back scheduling process 200 can, for example, be performed
`by a client computing device, such as the client computing
`device 100 illustrated in FIG. 1.
`
`The playback scheduling process 200 can select 202 a
`playlist for playback. Next, playback of one or more digital
`media assets in the selected playlist can be initiated 204. In the
`case in which the selected playlist includes more than one
`digital media asset, the digital media assets are playback
`sequentially. After playback is initiated 204, a decision 206
`can determine whether selection of a digital media asset for
`playback has been received. Here, while the playback of the
`one or more of digital media assets in the selected playlist is
`ongoing, the client computing device can receive a selection
`of another digital media asset for playback.
`When the decision 206 determines that a selection of
`
`another digital media asset for playback has not been
`received, a decision 208 can determine whether playback of
`the one and more digital media assets in the selected playlist
`has completed. When the decision 208 determines that play-
`back has completed, then the playback scheduling process
`200 can end. Alternatively, when the decision 208 determines
`that playback of the one or more digital media assets in the
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`selected playlist has not been completed, the playback sched-
`uling process 200 can return to repeat the decision 206.
`On the other hand, when the decision 206 determines that
`a selection of another digital media asset for playback has
`been received, a decision 210 can determine whether play-
`back is currently in process. In other words, when the client
`computing device is still playing back digital media assets,
`such as the one or more digital media assets in the selected
`playlist, the playback of the selected digital media asset can
`be scheduled 212. Here, as one example, the selected digital
`media asset can be scheduled 212 to begin its playback after
`the digital media asset currently being played completes. As
`another example, the selected digital media asset can be
`scheduled 212 to begin its playback after all the one or more
`digital media assets in the selected playlist have been played.
`Alternatively, when the decision 210 determines that play-
`back is not currently in process, playback of the selected
`digital media asset can be initiated 214. Following the block
`212 or the block 214, the playback scheduling process 200
`can return to repeat the decision 206 and subsequent blocks.
`FIG. 3 is a flow diagram ofa playback management process
`300 according to one embodiment of the invention. The play-
`back management process 300 can, for example, be per-
`formed by a client computing device, such as the client com-
`puting device 100 illustrated in FIG. 1.
`The playback management process 300 can navigate 302
`through available media items.A decision 304 can then deter-
`mine whether a playback request has been received. While
`navigating through the available media items, the user will at
`some point cause the client computing device to receive a
`playback request. Hence, when the decision 304 determines
`that a playback request has not yet been received, the play-
`back management process 300 can return to repeat the block
`302 so that navigation through the available media items can
`continue. Alternatively, when the decision 304 determines
`that a playback request has been received, a decision 306 can
`determine whether playback is in process. Here, the decision
`306 determines whether the client computing device is cur-
`rently playing back some other media item. When the deci-
`sion 306 determines that playback is not in process, then
`playback of a specified media item can be initiated 308. The
`specified media item is specified by the playback request that
`has been received.
`On the other hand, when the decision 306 determines that
`playback is currently in process, a decision 310 can determine
`whether the specified media item is to be immediately played
`(i.e., play back now). In one implementation, the user per-
`forming the navigation through the available media items can
`select the specified media item and can also provide an indi-
`cation of whether the user desires the specified media item to
`be played back now or to have its playback scheduled. When
`the decision 310 determines that the specified media item is to
`be played back now, the playback currently in the process can
`be stopped 312, and playback of the specified media item can
`be initiated 314.
`
`Alternatively, when the decision 310 determines that the
`specified media item is not to be immediately played, a deci-
`sion 316 can determine whether the specified media item is to
`be played back next 316. Here, the decision 316 determines
`whether the specified media item is to be played back imme-
`diately following the playback of the currently played media
`item. When the decision 316 determines that the specified
`media item is to be played back next, the specified media item
`can be added 318 to a top of a playback queue. Alternatively,
`when the decision 316 determines that the specified media
`item is not to be played back next, the specified media item
`can be added 320 to a bottom of the playback queue.
`
`Page 00013
`
`Page 00013
`
`
`
`US 8,148,622 B2
`
`7
`Following the blocks 308, 314, 318 and 320, the playback
`management process 3 00 can return to repeat the block 3 02 so
`that additional media items, if desired, can be selected for
`playback. As noted above, the playback canbe immediate, the
`playback can be as a next item, or the playback can be after
`playing one or more other previously scheduled media items.
`FIGS. 4A-4F are representative screens that can be pre-
`sented according to one embodiment. The representative
`screens can be associated with a hierarchical graphical user
`interface that can be provided on a display screen of a client
`computing device. The client computing device is,
`for
`example, a portable electronic device.
`FIG. 4A illustrates a songs screen 400 that presents a
`plurality of songs available for selection. A highlight bar 402
`can indicate that “Song d” has been highlighted. The high-
`lighted song (“Song d”) can then be selected by a user input
`action with respect to the client computing device. If the
`highlighted song is selected, a now playing screen 404 can be
`illustrated as shown in FIG. 4B. The now playing screen 404
`can present a name and image pertaining to the highlighted
`song (“Song d”).
`While the highlighted song (“Song d”) is playing, through
`user interaction with the client computing device, a playlist
`screen 406 can be illustrated as shown in FIG. 4C. The user
`
`can interact with the client computing device to highlight a
`song. A highlight bar 408 can indicate that the highlighted
`song (“Song 3”) has been highlighted. If the highlighted song
`(“Song 3”) is selected, an updated playlist screen 406' can be
`illustrated as shown in FIG. 4D. The updated playlist screen
`406' is generally similar to the playlist screen 406 except that
`the updated playlist screen 406' includes a scheduling menu
`410 as shown in FIG. 4D. The scheduling menu 410 can be
`displayed over a part of the list of songs within the playlist.
`The scheduling menu 410 can include a plurality of user-
`selectable options. The user-selectable options can be used to
`control how the playback of the selected song (“Song 3”) is
`scheduled. A user can operate to select one of the user-select-
`able options. For example, the user-selectable options can, for
`example,
`include “Play Now”, “Play Next” or “Add to
`Queue”. The “Play Now” option requests that the selected
`song be played immediately (even if it requires that a cur-
`rently playing song to be interrupted). The “Play Next” option
`requests that the selected song be played after a currently
`playing song completes its playback. The “Add to Queue”
`option requests that the selected song be placed in a playback
`queue (e.g., at end of playback queue).
`FIG. 4E illustrates a queue screen 412 that presents a list of
`songs that are queued in a playback queue for playback. For
`example, if the selected song identified in FIG. 4D is to be
`added to the playback queue, the queue screen 412 includes
`the selected song (e.g., “Song 3”). After the currently playing
`song (“Song d”) from the now playing screen 404 has com-
`pleted its playback, a next song (e. g., “Song 3”) for playback
`can be obtained from the playback queue. Once playback of
`the next song is initiated, a now playing screen 414 can be
`illustrated as shown in FIG. 4F. The now playing screen 414
`can present a name and image pertaining to the next song
`(“Song 3”).
`In another embodiment, the scheduling menu 41 0 shown in
`FIG. 4D can include different or additional user-selectable
`
`options. The user-selectable options can be used to control
`how the playback ofthe selected song (“Song 3”) is scheduled
`or played back. For example, the user-selectable options can,
`for example, include “Fade In Next”, “Mix Into Next”, “Play
`Next and Return”, “Play Next and Others like it”, or “Play
`Artist Next”. The “Fade In Next” option can request that the
`selected song be p