US20100332483A1 - Content output queue generation - Google Patents
Content output queue generation Download PDFInfo
- Publication number
- US20100332483A1 US20100332483A1 US12/835,667 US83566710A US2010332483A1 US 20100332483 A1 US20100332483 A1 US 20100332483A1 US 83566710 A US83566710 A US 83566710A US 2010332483 A1 US2010332483 A1 US 2010332483A1
- Authority
- US
- United States
- Prior art keywords
- content
- list
- content items
- content item
- playback
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 claims abstract description 80
- 230000008569 process Effects 0.000 claims description 60
- 230000007717 exclusion Effects 0.000 claims description 19
- 238000001914 filtration Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 9
- 238000009826 distribution Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000008676 import Effects 0.000 description 6
- 239000000203 mixture Substances 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 239000011435 rock Substances 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010561 standard procedure Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/438—Presentation of query results
- G06F16/4387—Presentation of query results by the use of playlists
Definitions
- This invention pertains generally to automatically arranging electronic content items, and more particularly to arranging such content items in a queue for output or download.
- One technique is to output items from the library in the order in which they are stored.
- Another technique is to manually manipulate the order in which content items are stored in the library, and then output the content items in the new order in which they are stored.
- Yet another technique includes randomly selecting and outputting one item from the library, randomly selecting and outputting a second item from the library, and so on.
- An automated system is disclosed that is configured to “shuffle” a pool of electronic content items in accordance with various criteria.
- the shuffled content items may be output to a user (the process acts as an automated or “robotic” disk jockey) or transferred to a device.
- a list of the shuffled content items is built and saved for later use. In some instances the list is built without output or download of the content items.
- the instant invention includes a method and system for providing a “smart-shuffle” or “pseudo-shuffle,” that allows playback of all or a subset of the items in the user's collection to occur in a pseudo-random order.
- a list, having a “smart” selection of content, may be generated for playback on a PC or portable device.
- the system may be configured such that content items that are rated more highly or that have been played more often appear more frequently or earlier in the generated list, and items that are less highly rated or played infrequently appear later or less frequently in the list.
- Output of the generated list may be configured so that only a few items at a time would initially appear in the play queue, with a “look ahead” list of items that have not yet played. Removing items from the list would cause new items to come into the list to replace them. Items can be played more than once if wanted (preference). There is theoretically no end to the queue length, but parameters may be set to play through the entire library before starting over the full library shuffle.
- the library shuffle of the present invention is the ability to randomly play the contents of the entire library or a subset of the library, in some unpredictable, but guided, order, while taking into account additional user variables like ratings, rotations, repeats, play counts genres, etc.
- the library shuffle of the present invention is configured to generate pseudo random playback or navigation through compressed or uncompressed audio files (e.g. CD audio tracks), picture files, video files, networked content (from another drive, PC, service, etc.), or compilations of any of the above, while maintaining a fully navigational forward or backward advancement of output content item in the play history.
- the system and methods of the present invention allow taking user ratings, item plays, repeat settings, and so forth into account for weighting the order of playing items.
- a library of content items may be first filtered to make a smaller content pool.
- the items in the content pool may then be randomly selected and evaluated in accordance with one or more criteria (i.e. a “smart” shuffle).
- the selected content items are placed in the output queue or are downloaded to a device, or a list of the selected content items is saved.
- the criteria include weighting factors associated with each content item so that content items with particular weights will tend to appear at various positions in the output queue or saved list. Since the process begins with a random selection of a content item from the content pool, different output queue orders are generated using the same items from the content pool.
- the content items will first be output in one order until all have been output, and then the content items will be output in a different order.
- a user may manipulate the output queue or the list to add, delete, or rearrange one or more particular content items, and the user may save the manipulated queue or list.
- one or more groups of desired content items are filtered from a large library of content items and placed into a pool, and then the content items in the pool are automatically output in a unique, non-repeating manner pleasing to a user.
- An aspect of the invention is a method for generating a list of content items for playback.
- the method comprises the steps of accessing a library having a plurality of library content items, and selecting a plurality of playback content items from the library to generate a pseudo-random list of content items for playback, wherein selection of library content items is manipulated to control the generated list of playback content items by evaluating one or more characteristics of the library content items according to one or more predetermined selection criteria.
- the library content items may comprise any number or combination of sound (e.g., music), video, picture, or similar files, such as MP3, OGG, WMA, AAC, WAV, MPG, MOV, AVI, GIF, and TIFF files.
- the evaluated characteristics may be any type of data associated with the file, and may vary according to file type. Exemplary characteristics include, but are not limited to characteristics comprising one or more of the following: filename, song or album title, genre, size, type, duration, last played, play count, date created, composer, bitrate, beats per minute (BPM), season, episode number, show, and the like.
- the list comprises an output queue for playback of the selected playback content items on a platform used to generate the list.
- the list may be configured for output to an external device for playback, such as a portable media player.
- each of the library content items comprises presentation data for playback, and metadata associated with the presentation data, wherein the metadata comprises the characteristics for selection.
- the library content items may be filtered into a content pool prior to being selected so that the playback content items are selected from the content pool to generate the pseudo-random list.
- the library content items may be filtered to generate the content pool according to the one or more characteristics.
- the characteristics and selection criteria are selectable by a user.
- selecting a plurality of playback content items further comprises randomly selecting a first content item from the library, evaluating one or more characteristics of the first content item against one or more predetermined criteria, and placing the first content item in the list if the one or more criteria are met.
- selecting a plurality of playback content items includes the steps of randomly selecting a second content item from the library, comparing the first content item to the second content item according to the one or more predetermined criteria, and including or excluding the second content item at a location in the list if the one or more predetermined criteria are met.
- the second content item may be temporarily excluded from one or more locations in the list to maintain a minimum queue distance between the first content item and the second content item, wherein the temporary exclusion is a function of the predetermined criteria.
- the second content item may be excluded from all remaining locations in the list based on the predetermined criteria.
- the second content item may also be placed in the list at a location sequential with the first content item.
- the playback content items are selected to generate a list having one or more clusters of content items, the clusters having a specified probability of having a characteristic matching one or more specified criteria.
- Another aspect is a method for generating a list of content items for playback.
- the method includes the steps of providing a library having a plurality of library content items, randomly selecting a set of content items from the plurality of library content items, evaluating one or more characteristics of each of the content items in the set against one or more predetermined criteria, and generating a list of playback content items having at least one characteristic matching at least one of the predetermined criteria, wherein the generated list is configured to provide a sequential order for playback of the content items.
- the list may comprise an output queue for playback of the selected playback content items on a platform used to generated the list, or be configured for output to an external device for playback.
- characteristics are stored as metadata associated with each of the library content items.
- the library may be stored on a platform used to generate the list, or at a remote location.
- the step of evaluating one or more characteristics of the selected content items includes: evaluating one or more characteristics of the first content item against one or more predetermined criteria; placing the first content item in said list if the one or more criteria are met; comparing a second content item to the first content item according to the one or more predetermined criteria; and including or excluding the second content item at a location in the list if the one or more predetermined criteria are met.
- a characteristic comprises a rating value associated with each content item, such that a content item is excluded or included at a location on the list based on the rating value exceeding a predetermined threshold.
- the predetermined criteria may be used to control the probability that a library content item having a particular rating value is included in the list.
- the rating value may be explicitly applied to each content item by a user, or implicitly applied to each content item based on the frequency that each content item is selected for playback by a user.
- Another aspect is a method comprising; providing a library having a plurality of library content items; accessing first data associated with one or more content items in the library; selecting a plurality of playback content items for which the accessed first data meets a selection criterion; and storing second data associated with each selected playback content item, wherein the stored second data comprises a list of selected songs.
- the stored second data is stored as a content output queue for playback.
- the method may further comprise generating a pool of content items by applying one or more filtering criteria to the library, wherein the plurality of playback content items are selected from the pool.
- playback content items are randomly selected against the selection criterion to generate a pseudo-random list.
- FIG. 1 is a diagram illustrating the content selection process of the present invention.
- FIG. 2 is a diagram illustrating an electronic content item.
- FIG. 3 illustrates a user interface for selecting a media type.
- FIG. 4 is illustrates a display window outputting a list of content items having a soft exclusion.
- FIG. 5 illustrates a clustering feature for generating an output queue in accordance with the present invention.
- FIG. 6A-6H and 6 J illustrate display views for output queue generation in accordance with the present invention.
- FIGS. 7A-B illustrate an exemplary user interface for the method of the present invention.
- FIG. 1 through FIG. 7B the apparatus generally shown in FIG. 1 through FIG. 7B .
- the apparatus may vary as to configuration and as to details of the parts, and that the method may vary as to the specific steps and sequence, without departing from the basic concepts as disclosed herein.
- Coding is routine in view of this disclosure. In one embodiment, coding is done using C++ with C, XML, and ECMAScript (FSK by KINOMA, INC., Palo Alto, Calif.).
- FIG. 1 is a diagrammatic view of a content filtering and arrangement process of the present invention, as carried out by a conventional electronic data processing platform 102 (e.g., desk top/portable personal computer using X86-architecture microprocessor, or playback device such as an MP3 player, viewer or other media player).
- a conventional electronic data processing platform 102 e.g., desk top/portable personal computer using X86-architecture microprocessor, or playback device such as an MP3 player, viewer or other media player.
- the invention may include part of a content output client (e.g., CONNECT PLAYER by SONY CORPORATION) executed by data processing platform 102 .
- Various single- and multi-media electronic library content items 104 e.g., audio data such as music or audio book readings, video data, audio/video data such as music videos or movies, text, graphics, electronic books, and so forth
- the files may be uncompressed or compressed files that require a codec for compression, decompression and playback.
- Exemplary file formats may include but are not limited to those commonly used in the art, such as MP3, OGG, WMA, AAC, WAV, MPG, MOV, AVI, GIF, TIFF, and similar formats.
- content items 104 may be transferred (including down-, up-, or side-loading, or streaming) via interface 100 (e.g. communication port such as an Ethernet connection, USB port, serial port, etc.) for access by the platform 102 .
- interface 100 e.g. communication port such as an Ethernet connection, USB port, serial port, etc.
- content output client e.g., CONNECT PLAYER by SONY CORPORATION
- library content items 104 may be transferred from an electronic content providing source (not shown; e.g., a remote server system such as the CONNECT MUSIC STORE operated by SONY CORPORATION; a peer data processing platform) via interface 100 and a network interconnection (e.g., an interconnection to the Internet network of interconnected networks; a peer-to-peer interconnection) to memory (not shown) in or coupled to platform 102 .
- a network interconnection e.g., an interconnection to the Internet network of interconnected networks; a peer-to-peer
- FIG. 2 is a diagrammatic view of an illustrative electronic content item 104 (e.g., illustrative container format) that includes presentation data 104 a and metadata 104 b .
- metadata 104 b and presentation data 104 a are stored at the same electronic storage location (e.g. on a hard drive coupled to the platform 102 ).
- some or all metadata 104 b is stored at a location (e.g., a server accessed via a network) different from the electronic storage location at which presentation data 104 a is stored, in which case remotely stored metadata 104 c is accessed via a communications link so as to perform actions described below.
- Each content item typically includes both data used to make an output presentation to a user (e.g., digitized audio data used to reconstruct music) and metadata associated with the output presentation data (e.g., filename, song or album title, genre, size, type, duration, last played, play count, date created, date modified, composer, bit rate, beats per minute (BPM), season, episode number, show. etc.).
- data used to make an output presentation to a user e.g., digitized audio data used to reconstruct music
- metadata associated with the output presentation data e.g., filename, song or album title, genre, size, type, duration, last played, play count, date created, date modified, composer, bit rate, beats per minute (BPM), season, episode number, show. etc.
- the content items in content library 106 are not stored in a single storage device.
- Content library 106 may, for example, be stored in two or more different memory types (e.g., flash EEPROM and hard disk) at platform 102 or may be distributed among two or more data processing platforms.
- Content items in such a distributed content library 106 may be accessed via network or peripheral connections, and such content items may be from different content sources (e.g., different content providing services).
- a filtering process 108 may optionally be employed (described in further detail below) to pre-select particular content items 104 from library 106 , thereby placing the selected content items in content pool 110 .
- Filtering process 108 allows the user to specify a subset of the content items in library 106 from which to construct an output queue. This filtering feature may be used, for example, if a large number (e.g., thousands) of content items are stored in library 106 , or if various different content item types (e.g., audio only, audio/video) are stored in content library 106 . In some instances filtering 108 and pool 110 are not used, and selection process 112 operates directly on library 106 (illustrated in FIG. 1 as line 130 ).
- Selection process 112 is then used to arrange filtered content items 132 in pool 110 to generate a content output queue 114 , e.g., a “playlist”, (the term “playlist” is herein defined to mean an output of any type of content item, including output of two or more different types of content items) having a set or plurality of playback content items 134 . Since a random selection process is generally associated with this arrangement in some way, the arranging can be considered a “shuffle” of the content pool 110 “deck”. This shuffling, as described herein in its various embodiments, can in one embodiment be selected or unselected by a user.
- Output 116 of the data from output queue 114 may vary depending on the particular device configuration of platform 102 (e.g. personal computer, media player, etc.).
- the output 116 data may be processed for playback (e.g. audio data output having an MP3 format output may be decoded (decompression) with a decoding software for playback via a speaker, with the output queue 114 list of content items content items being sent to the display for viewing/selection/manipulation by the user (e.g., content data consumer, listener, viewer).
- video data may be output via a display and speaker that are coupled to the platform.
- Selection process 112 is also used to arrange content items in pool 110 (or directly from library 106 ) into list 118 of playback content items 134 to be transferred (up-, down-, or side-loaded, or streamed) from platform 102 .
- Playback content items 134 listed on list 118 may be output via port 120 (e.g., by direct interconnection using IEEE 1394 protocol, by transfer via flash memory card, etc.) to an external device 122 (e.g., to a content library in a portable media/content player, such as a WALKMAN or in a SONY PSP portable game platform, etc.), or to another platform for remote storage or playback.
- the presentation data of the transferred content items 134 may then be output 124 via output device 122 to the user in a similar fashion to output 116 .
- the external device 122 outputs content item presentation data using output queue generation logic substantially similar in whole or in part to that described in this description (i.e., device 122 performs another selection process 112 to build an output queue similar to output queue 114 ).
- external device 122 may output content item presentation data in accordance with other well-known output processes (e.g., output in the library order, output using “random” (pseudo-random electronic data processing techniques) content shuffling, receives one or more output queues 114 from platform 102 and uses a received output queue 114 as a playlist, uses a separately generated playlist, etc.).
- output processes e.g., output in the library order, output using “random” (pseudo-random electronic data processing techniques) content shuffling, receives one or more output queues 114 from platform 102 and uses a received output queue 114 as a playlist, uses a separately generated playlist, etc.
- output queue 114 is saved and is used as a playlist for content output from, e.g., platform 102 or output device 122 . In some instances, two or more different output queues 114 are saved and the user selections one output queue 114 to use as a playlist.
- filtering process 108 may be used to select content items from library 106 for selection in content pool 110 . This filtering is done using one or more various parameters associated with the content items in library 106 . For example, filtering process 108 may be used to place only content of a particular type, such as music audio works (e.g., songs) or music videos, into content pool 110 .
- music audio works e.g., songs
- music videos e.g., music videos
- filtering process 108 allows the user to further select content items by choosing other parameters such as music genre (e.g., music classified as tango music or as rock and roll music), artist, exact number of content items to be placed in content pool 110 , container format (e.g., files encoded in accordance with ISOIIEC 11172-3 Layer 3 (MPEG-1 Audio Layer 3, popularly known as “MP3”)), content creation date, content purchase date, content transfer date (e.g., date transferred to platform 102 ; recently transferred content may be of particular interest to a user), content duration, date last played (e.g., a user may be particularly interested in songs recently played or in songs not recently played), etc.
- music genre e.g., music classified as tango music or as rock and roll music
- container format e.g., files encoded in accordance with ISOIIEC 11172-3 Layer 3 (MPEG-1 Audio Layer 3, popularly known as “MP3”)
- content creation date e.g., files encoded in accordance with ISOIIEC 11
- FIG. 3 is a diagrammatic view of an illustrative wizard interface dialog box 202 with radio buttons 204 , used during filtering process 108 .
- the user may be restricted from editing content pool 110 , but can view a list of content items in content pool 110 .
- a list of the parameters used during filtering process 108 may be viewable by the user so as to recall the general nature of the content items in content pool 110 .
- the user can edit the parameters used during filtering process 108 so as to use a somewhat different filtering process 108 to create another content pool 110 .
- one or more other content item filtering applications may also be available to build content pool 110 from content items in content library 106 .
- an application using technology from GRACENOTE, INC. may be used as filter 108 (e.g., by music genre) to create a playlist that functions as a source or content pool 110 .
- an application using mix technology from MOODLOGIC, INC. is used as a filter 108 to create a playlist that functions as content pool 110 .
- Output queue 114 may be constructed in several ways: (a) automatically using one or more preset build criteria, (b) automatically using one or more preset build criteria and one or more user specified build criteria, and (c) manual editing of a list built using (a) or (b). As outlined above and discussed in detail below, this construction is done using selection process 112 . Once content pool 110 is built, each filtered content item 132 in content pool 110 becomes a candidate to be selected for output queue 114 or list 118 . The description below concentrates on selection process 112 building output queue 114 , although list 118 is generally built using similar processes.
- Building output queue 114 is generally associated with presentation data being output as output queue 114 is constructed (the build process places a small number of content items in the output queue following the content item presently being output to the user), whereas building list 118 generally just builds the list. In one instance, however, content items are transferred 120 as list 118 is built. Either output queue 114 or list 118 can be saved and/or output to later function as an output or transfer queue.
- output queue 114 may simply duplicate content pool 110 so that each content item in content pool 110 is output 116 in the order it appears in content pool 110 (selection process 112 is disabled).
- output queue 114 is automatically built so that the presentation data of content items in content pool 110 is output in an unpredictable (random) order that varies each time selection process 112 is performed.
- the first content item in output queue 114 may randomly be selected from all content items in content pool 110 .
- the second content item in output queue 114 is randomly selected from the remaining non-selected content items in content pool 110 .
- the selection continues until all content items in content pool have been placed in output queue 114 .
- the user may, however, choose to allow items in content pool 110 be selected more than once.
- selection process 112 begins again to build another unique output queue 114 from the content items in content pool 110 . Any of such output queues 114 can be saved.
- the continuous building of output queues 114 and associated output of queued content item presentation data provides a continuous output (continuous play) of data to the user.
- the automatic random selection of content items is modified.
- the first content item in output queue 114 may randomly selected from all content items in content pool 110 .
- a second content item is randomly selected from the remaining non-selected content items in content pool 110 .
- Information associated with the second content item may then be automatically compared with information associated with the first content item.
- the selected second content item is placed in output queue 114 (or prevented from being placed in output queue 114 ) if the comparison has a specific result.
- the parameters or criteria for comparison may be any number of characteristics set by the user.
- the comparison may be used to prevent two content items by the same artist from being placed consecutively in output queue 114 .
- the user may specify that that a set number of songs (e.g. two, three, four, etc.) of the same artist be placed consecutively in the output queue 114 (e.g. grouping songs by the same artist).
- comparison parameters may be changed so that two content items from the same album (or genre, disc, or other content item grouping) are prevented from or specified to be placed consecutively in output queue 114 .
- the selection process 112 may also be configured so that the user may choose to have the content items in content pool automatically selected/ordered in accordance with various parameter settings that the user selects. For example, the user may establish one or more evaluation parameters (if not using default settings) to be applied to the content pool (e.g. randomly select from songs having a first characteristic (e.g. songs not played in last 14 days). Then, a content item is randomly selected from content pool 110 and is evaluated against the user's selection parameters.
- the selection parameters may also be applied in combination via Boolean operands (e.g. “and”, “or”, “nor”). For example, the selection criteria may comprise a genre of “rock” “and” year of “1990-1999” to select only rock songs from the ‘90’s. If the content item meets one or more evaluation parameters, then the content item is placed in output queue 114 .
- the user's selected criteria for selection process 112 may also be saved so that the user may alter one or more of these criteria for another instance of using selection process 112
- a non-selected content item maybe designated to no longer be a candidate for output queues 114 until the excluding evaluation parameter is changed.
- This type of blocking is considered a “hard” exclusion.
- content pool 110 includes both MP3 and SONY Adaptive Transform Acoustic Coding (ATRAC)-type content item container formats, the user may choose to exclude the ATRAC-type content items from output queues 114 built from this content pool.
- Other hard exclusions include, for example, content type (e.g., no video content, no music video content, no “podcast”-type (e.g., audio programs published via the Internet) content) and duration (e.g., no songs under or over five minutes).
- content items having an output duration longer than a specified time may be excluded from output queue 114 .
- the size of the content item may also be used to form an exclusion, for example, any files over 10 MB may be omitted as a candidate from output queue.
- the content item may be specified to remain a candidate for later selection and evaluation.
- This type of blocking is considered “soft” exclusion.
- the soft exclusions are based on output queue 114 build options set by the user.
- a user may set an option that specifies the minimum output queue distance (e.g. four) between content items created by the same artist.
- selection process 112 places a first content item by artist A in the first position 210 of output queue 114 . If selection process 112 randomly selects another artist A content item from content pool 110 for the second through fifth positions 212 in output queue 114 , then the selected content item will not be placed in output queue 114 . However, if selection process 112 randomly selects a second artist A content item from content pool 110 for the sixth position 214 , it would be eligible for placement in that spot of output queue 114 .
- other embodiments may include setting a minimum queue distance between content items associated with the same genre, album, track (e.g. for embodiments in which a track may be selected multiple times from content pool 110 ), etc.
- One option is to allow more frequent inclusion of certain content items into output queue 114 (“heavy rotation” of content item output).
- general options include preventing a content item from being repeated in output queue 114 , or specifying a minimum queue distance between content items. At times, however, a user may desire to have one or more content items more frequently output.
- the heavy rotation option allows a user to specify options such as allowing repeated entries in a single output queue 114 for specific content items, or reducing the artist or album queue distance for specific artists or albums while maintaining a larger queue distance for other content items.
- the parameters may also be set so that the probability of desirable content items 104 is increased.
- particular content items may be specified to be arranged early in output queue 114 (e.g. the more desirable content items may be “front loaded” in output queue 114 ).
- content items 104 may be assigned an explicit and/or an implicit user preference.
- the explicit rating is explicitly made by the user (or others) using, e.g., wherein the user assigns a value to the content item on a scale from 1 to 5.
- an implicit rating may be made automatically (e.g., on the scale from 1 to 5) by evaluating behavior of the user (or others), such as evaluating how often a content item is output (either while using an output queue 114 , output without using an output queue 114 (e.g., manual selection for output), or a combination of such outputs). Frequently output content items are assumed to be preferred and are assigned a higher number.
- a default implicit rating of three may be automatically assigned when a content item 104 is imported to the platform 102 . This default implicit rating is then automatically modified in accordance with output of the content item's presentation data.
- a content item's implicit rating is only used if an explicit rating does not exist.
- the soft or hard exclusions may be applied based on a rating or score value that is calculated for a particular content item.
- selected content items having a score larger than a particular value are included in output queue 114 .
- selected content items having a score smaller than a particular value are excluded from output queue 114 .
- the probability that explicitly or implicitly rated items be selected for inclusion or exclusion in output queue 114 may also be set by the user.
- selection process 112 may be configured to generate an output queue of having a 50% composition of randomly content items having a “four” rating, a 30% composition of content items having a “five” rating, and a 20% composition of content items having a “thee” rating.
- These assigned probabilities may also be applied to other criteria such as genre, last played, etc. instead of or in combination to the rating value.
- selection process 112 may be configured to include or exclude a selected content item from output queue 114 is made relative to previously selected content item scores. For example, a score or rating for a content item selected from content pool 110 is compared to a specified parameter, e.g. the average score of all previously selected content items. If the selected content item score is higher than the average, then the content item is included in output queue 114 . Otherwise the selected content item is returned to output queue 110 as a candidate to be selected at a later time. Alternatively, the score of a selected content item may compared against a running average of scores for recently included (e.g., the last ten) content items.
- a specified parameter e.g. the average score of all previously selected content items.
- the numbers of times content items are output may be stored in memory (“play count”).
- An implicit rating value, or scoring weight (e.g., in the range 0-20) may be assigned to the play count. If the play count scoring weight is set relatively high (e.g., seventeen), then frequently output content items are favored for inclusion in output queue 114 . If the play count scoring weight is set relatively low (e.g., three), then output queue 114 will have a larger variety of frequently and less frequently output content items.
- the numbers of times content items that are transferred may be stored in memory (“transfer count”).
- a scoring weight (e.g., 0-20) is assigned to the transfer count. If the transfer count scoring weight is set relatively high (e.g., 18), then content items that are frequently transferred to one or more other devices are favored for inclusion in output queue 114 . If the transfer count scoring weight is set relatively low (e.g., 2), then output queue 114 will have a larger variety of frequently and less frequently transferred content items.
- Content genres are subdivisions of forms of expression (e.g., in music, genres may include divisions such as “rock” and “Latin”, and in some instances are hierarchical (e.g., “jazz” and particular styles of jazz (delta blues, Chicago blues, Latin jazz, fusion, etc.)).
- music genres may be weighted 0-10 for inclusion, with a 0 weight meaning that the inclusion weight is ignored, and with a 10 meaning that the associated genre is always included in output queue 114 .
- music genres may be weighted 0-10 for exclusion, with a 0 weight meaning the exclusion weight is ignored and with a 10 meaning that the associated genre is always excluded from output queue 114 .
- content types may be assigned scoring weights for exclusion.
- Content types are of a more general nature than genres, which are often but not always subdivisions of content types.
- Audio types e.g., music, spoken word, podcast
- video types e.g., movies, television broadcast program episodes
- audio types are weighted 0-10 for exclusion. An audio type with a 0 weight could be set so that that the exclusion is ignored.
- an audio type with a 10 weight means that this audio type will always be excluded.
- Selection process 112 may further be configured to select content items 104 for output queue 114 as a function of the date/time the content items were imported.
- the date and time that content items have been imported 104 to library 106 may be stored in memory (“import date”).
- a scoring weight (e.g., ⁇ 10 to +10) may be assigned to the range of import date.
- a low value import time weight e.g., ⁇ 8 will favor including content items into output queue 114 that were imported at relatively earlier dates
- a high value import time weight e.g., +8 will favor including content items that were imported more recently.
- An import time weight of zero causes import time to be ignored.
- selection process 112 may also be configured to select content items 104 for output queue 114 as a function of the date/time the content items were played from platform 102 or output device 122 .
- the most recent date/time that a content item is output 116 is stored in memory (“play time”).
- a scoring weight (e.g., ⁇ 10 to +10) is assigned to play time scoring.
- a low value play time weight e.g., ⁇ 7 will favor including content items into output queue 114 that have not been output 116 for a relatively long time. In this manner, content items about which the user has forgotten can be favored.
- a high value play time weight e.g., +7) will favor including content items output more recently.
- election process 112 may also be configured to “cluster” selected content items in output queue 114 .
- music content items can be clustered by artist, album, genre, and so forth.
- FIG. 5 is a diagrammatic view illustrating clustering for output queue 114 in accordance with the present invention.
- content item positions 302 (numbered 1 to n) are shown sequentially in output queue 114 along the horizontal axis.
- the clustering feature may be set to a scale, e.g. from 0 to 10, where a “zero” setting means the clustering feature is ignored and a “ten” setting means that content items in output queue 114 will be heavily clustered.
- One or more clustering distributions may be applied to the selection process. As shown in FIG. 5 , three clustering distributions, 304 a , 304 b , 304 c are shown distributed over various content item positions 302 . Clustering probabilities values 306 are shown along the vertical axis, and correspond to various points (A, B, C, and D) in the clustering distributions 304 a - 304 c . In the example illustrated in FIG. 5 and point A is assigned a 30 percent probability, point B is assigned an 80 percent probability, point C is assigned a 100 percent probability, and point D is assigned a 30 percent probability D, and point E is assigned a 30 percent probability. It is appreciated that any number of clusters, points, and probability values may be used.
- each range of content item positions 302 covered by a clustering distribution is matched with the probabilities for the cluster distribution.
- content item position number 10 is matched with A, number 11 with B, number 12 with C, number 13 with D, and number 14 with E.
- the output queue may be clustered by artist.
- Artist1 may be selected as a seed artist for the first cluster 304 a .
- Seed selection may be done using any of the various selection processes described, including manual selection by the user, or selection based on earlier clustering.
- the content item with the highest score in a cluster may be used as the seed for the immediately following cluster. Since content item position number 10 in output queue 114 is matched with distribution probability A, the content item selected for position number 10 is made such that there is a 30-percent probability that the selected content item is associated with Artist1.
- the content item selected for position number 11 is 80-percent, for position number 12 is 100-percent (i.e., Artist1 must be selected), for position number 13 is 80-percent, and for position number 14 is 30-percent.
- Artist2 is selected as the seed artist for the second cluster 304 b , and Artist2's content items are similarly inserted into output queue 114 .
- Clustering may also be applied to the selection process 112 for albums and for other classifications such as genres, rating, etc. In this way, the user tends to experience a cluster of related or desired content items.
- the distribution ranges and probability values described herein are illustrative, and various ranges and probabilities may be selected by the user.
- Desirable content items may also be clustered near the beginning of output queue 114 so that such items are “front loaded”. Such a front loading feature is especially useful for a list 118 to ensure that desired content items are transferred to a device if the device capacity is limited.
- a few remaining content items in content pool 110 will fail to meet automated selection criteria for inclusion in output queue 114 .
- various options are may be employed for processing, such as not including the remaining content items in output queue 114 , ignoring the selection criteria and placing the remaining content items into output queue in a random order, and prompting the user to act on the remaining content items to, e.g., include, exclude, save, or order them in output queue 114 .
- Such remaining content items, if excluded or left until the end, may also be flagged to increase the chance of being included in a subsequent output queue 114 .
- content is generally output 116 as output queue 114 is built.
- the output 116 of presentation content associated with output queue 114 is stopped. For example, in one instance output is stopped if a source (e.g., drive, connection) that provides a content item in output queue 114 is removed. In another instance the output is stopped if the software client that incorporates selection process 112 is launched by selecting a Uniform Resource Locator (or Uniform Resource Identifier) or by another event that requires the client to immediately begin output of another content item. In yet another instance, the output 116 is stopped if the “shuffle” option in the client is stopped and restarted; the “shuffle” option then beginning anew. And in still another instance, the output 116 is changed if one or more various selection process 112 selection process criteria are changed (i.e., the user decides to change how content output queue 114 is built).
- a source e.g., drive, connection
- Uniform Resource Locator or Uniform Resource Identifier
- FIGS. 6A-6H and 6 J are diagrammatic views that illustrate features associated with output queue 114 and a content pool 110 of n content items.
- a number of the content items in output queue 114 are displayed in window (or pane) 402 .
- window 402 is a pane (or panel, or frame) in a windowing-type graphical user interface display system.
- window 402 represents a full small screen display on, e.g., a portable device such as output device 122 . Queue information outside the boundary of window 402 is generally not visible to a viewer without scrolling view the device or platform input.
- the titles 404 (illustrated as long horizontal lines) of an exemplary seven content items are shown next to their corresponding output queue position numbers 406 . It is appreciated that in some embodiments, the position number 406 may be omitted to free window or display space.
- the title 404 of each selected content item is placed next to its corresponding position number 406 .
- an output indicator 408 (illustratively shown as a schematic speaker symbol in FIGS. 6A-J ) may be located next to the queue position number that corresponds to the content item currently being output. As shown in FIG.
- the output indicator 408 appears next to the second position number 406 so as to allow a user to see the title of the content item previously output.
- the titles 404 of the next five content items to be output are shown to allow the user to see ahead in output queue 114 , and to modify the selected content item order as described herein. Queue position no. 8, however, has not yet been filled by selection process 112 .
- FIG. 6B illustrates that output of one content item in output queue has ended output of the next content item has started.
- Output indicator 408 now appears next to the queue position and title of the content item being output (queue position no. 3).
- the earlier output content item titles (illustrated by queue position no. 1) disappear from view at the top of window 402 , and a new content item title (illustrated by queue position no. 8) appears at the bottom of window 402 .
- the content item in queue position no. 1 remains in output queue 114 even though its title is not displayed.
- the titles of content items in later queue positions are not visible, even though selection process 112 has in some instances placed some or all content items from content pool 110 into output queue 114 .
- selection process 112 is configured to place content items into queue positions at a specified number (e.g., the number of items that will fit in window 402 ) ahead of the queue position of the content item currently being output. As shown in FIG. 6B , selection process 112 may be configured to not yet have filled queue position number 9. Alternatively, selection process 112 fills all queue positions at once, and positions 9-n are simply not output in window 402 , but may be viewed by scrolling via input from the user.
- a specified number e.g., the number of items that will fit in window 402
- FIG. 6C illustrates that output queue 114 may be edited to rearrange the queue positions assigned to a queue by selection process 112 .
- the content item in queue position no. 3 is being output.
- the user views the titles of the next five content items in output queue 114 and decides that the content item in queue position no. 7 should be output next.
- the user then moves the content item in queue position no. 7 to queue position no. 4, and the content items originally in queue positions no. 4-6 are automatically shifted down to queue positions 5-7, respectively.
- This rearrangement of content items in output queue 114 may be achieved using standard techniques, such as drag-and-drop using a pointer or selection and movement using a direction button.
- FIG. 6D illustrates that output queue 114 may be edited to delete one or more content items assigned to a queue position by selection process 112 .
- the content item in queue position no. 3 is being output. If the user views titles of the next five content items in output queue 114 and decides that the content item in queue position no. 7 should be deleted from output queue 114 , the user can delete the content item in queue position no. 7, and the content items in the following output queue positions are automatically moved up one position.
- This deletion of a content item in output queue 114 may be achieved using standard techniques, such as drag-and-drop using a pointer or selection and deletion using a delete button. In a preferred embodiment, the deletion of a content item does not stop selection process 112 , or otherwise alter the output of output queue 114 .
- FIG. 6E illustrates the end of output queue 114 .
- Selection process 112 has ended (if generated real-time) or where the entire output queue is generated prior to playback, playback of the generated list has ended.
- Output queue 114 is now complete and can be stored (e.g. the queue information is stored since the content items are already stored in library 106 from which they are accessed for output) for future use to, e.g., review or edit titles in output queue 114 , or to once again output the content items in output queue 114 .
- FIG. 6F illustrates that output of content items in output queue 114 can manually advanced.
- the content item in queue position no. 3 is being output as shown in FIG. 6B .
- the user may skip ahead (e.g. before the playback for the content item in position no. 3) so that the content item in queue position no. 4 is output, as shown by output indicator 408 in FIG. 6F .
- the titles 404 shown in window 402 also shift ahead so that, e.g., the title of the content item in queue position no. 9 appears at the bottom of window 402 .
- FIG. 6G illustrates that output of content items in output queue 114 can be advanced backwards.
- the content item in queue position no. 3 is being output as shown in FIG. 6B .
- output is skipped backward so that the content item in queue position number 2 is output (i.e., re-output), as shown by output indicator 408 in FIG. 6G .
- content items already in output queue 114 are not removed from the queue.
- the selection process 112 may act to ensure that five content items are positioned in output queue 114 after the content item presently being output, as illustrated by queue positions number 4-8 if the content item at queue position number 3 is being output as shown in FIG.
- FIG. 6H illustrates that content item titles 404 and output queue positions 406 may extend outside of window 402 so that the queue positions and titles can be scrolled through window 402 .
- FIG. 6J illustrates that a content item can be added to output queue 114 .
- the content item 410 in queue position no. 3 has been added while the presentation data associated with the content item in queue position no. 2 is being output.
- Content item 410 may be selected from content pool 110 , from library 106 , or from another source.
- Selection process 112 continues to build output queue 114 , populating queue position nos. 4-n after content item 410 is inserted.
- content item 410 may be inserted between two populated queue positions or after the last queue position.
- content item 410 is inserted at a particular desired queue position number (e.g., at queue position number n so that output queue 114 ends with a particular content item). The addition of content item 410 does not stop the action of selection process 112 .
- the continuous playback of output queue 114 may include removing an item, drive, or connection to any media in the current list, launching the client from a URL, item Explorer link, or other event that requires that the client immediately begin playback of a new item, unselecting the shuffle option and/or reselecting the shuffle option, or changing the criteria on which the library shuffle is based.
- FIGS. 7A and 7B illustrate a user interface for the methods of the present invention.
- the present invention may incorporate a user interface that includes a number of windows, pull-down menus, etc.
- window 602 may show a library pane 606 corresponding to library 106 and showing a comprehensible, scroll-down list of library content items 104 .
- a filter option box 608 may also be included and show filter results in filtered items pane 610 .
- a separate filter option pane or window 612 may be included for filter options such as search criteria 614 , Moodlogic mix 616 , or Gracenote playlist 618 .
- search criteria pane 614 may include options such as genre, year, file type, etc., along with Boolean operands.
- the library pane 606 or filtered pool pane 610 may be individually applied as a series of playback options 620 , including play back in order as shown in block 622 , or pseudorandom playback as shown in block 624 .
- window 624 may detail pseudo random selection criteria 626 , hard exclusions 628 , soft exclusions 630 , scoring 632 , and grouping/clustering options 634 .
- the selection process may generate a further screen or window detailing the play queue 642 or output list 640 which may be output to an external device 646 via device software 644 .
- the device or platform may include a variety of playback commands 650 to either the output queue 642 or list 640 .
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
An automated method and system configured to pseudo-shuffle a pool of electronic content items in accordance with various criteria so that playback of all or a subset of the items in the user's collection occur in a pseudo-random order. The shuffled content items may be output to a user or transferred to a device. A list of the shuffled content items is built and may be saved for later use for playback on a PC or portable device. In some instances the list is built without output or download of the content items.
Description
- This application is a continuation of U.S. patent application Ser. No. 11/538,243 filed on Oct. 3, 2006, now U.S. Pat. No. ______, incorporated herein by reference in its entirety, which claims priority from U.S. provisional application Ser. No. 60/723,205 filed on Oct. 3, 2005, incorporated herein by reference in its entirety.
- Not Applicable
- Not Applicable
- A portion of the material in this patent document is subject to copyright protection under the copyright laws of the United States and of other countries. The owner of the copyright rights has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the United States Patent and Trademark Office publicly available file or records, but otherwise reserves all copyright rights whatsoever. The copyright owner does not hereby waive any of its rights to have this patent document maintained in secrecy, including without limitation its rights pursuant to 37 C.F.R. §1.14.
- 1. Field of the Invention
- This invention pertains generally to automatically arranging electronic content items, and more particularly to arranging such content items in a queue for output or download.
- 2. Description of Related Art
- Various techniques exist that allow a user to automatically output electronic content stored in a library of electronic content items. One technique is to output items from the library in the order in which they are stored. Another technique is to manually manipulate the order in which content items are stored in the library, and then output the content items in the new order in which they are stored. Yet another technique includes randomly selecting and outputting one item from the library, randomly selecting and outputting a second item from the library, and so on.
- An automated system is disclosed that is configured to “shuffle” a pool of electronic content items in accordance with various criteria. The shuffled content items may be output to a user (the process acts as an automated or “robotic” disk jockey) or transferred to a device. A list of the shuffled content items is built and saved for later use. In some instances the list is built without output or download of the content items.
- The instant invention includes a method and system for providing a “smart-shuffle” or “pseudo-shuffle,” that allows playback of all or a subset of the items in the user's collection to occur in a pseudo-random order. A list, having a “smart” selection of content, may be generated for playback on a PC or portable device.
- The system may be configured such that content items that are rated more highly or that have been played more often appear more frequently or earlier in the generated list, and items that are less highly rated or played infrequently appear later or less frequently in the list. Output of the generated list may be configured so that only a few items at a time would initially appear in the play queue, with a “look ahead” list of items that have not yet played. Removing items from the list would cause new items to come into the list to replace them. Items can be played more than once if wanted (preference). There is theoretically no end to the queue length, but parameters may be set to play through the entire library before starting over the full library shuffle.
- At its most basic, the library shuffle of the present invention is the ability to randomly play the contents of the entire library or a subset of the library, in some unpredictable, but guided, order, while taking into account additional user variables like ratings, rotations, repeats, play counts genres, etc. The library shuffle of the present invention is configured to generate pseudo random playback or navigation through compressed or uncompressed audio files (e.g. CD audio tracks), picture files, video files, networked content (from another drive, PC, service, etc.), or compilations of any of the above, while maintaining a fully navigational forward or backward advancement of output content item in the play history.
- The system and methods of the present invention allow taking user ratings, item plays, repeat settings, and so forth into account for weighting the order of playing items.
- In one aspect a library of content items may be first filtered to make a smaller content pool. The items in the content pool may then be randomly selected and evaluated in accordance with one or more criteria (i.e. a “smart” shuffle). The selected content items are placed in the output queue or are downloaded to a device, or a list of the selected content items is saved. In some embodiments the criteria include weighting factors associated with each content item so that content items with particular weights will tend to appear at various positions in the output queue or saved list. Since the process begins with a random selection of a content item from the content pool, different output queue orders are generated using the same items from the content pool. Thus, if a user chooses to have a continuous output of the content items in the content pool, the content items will first be output in one order until all have been output, and then the content items will be output in a different order. A user may manipulate the output queue or the list to add, delete, or rearrange one or more particular content items, and the user may save the manipulated queue or list.
- Thus, one or more groups of desired content items are filtered from a large library of content items and placed into a pool, and then the content items in the pool are automatically output in a unique, non-repeating manner pleasing to a user.
- An aspect of the invention is a method for generating a list of content items for playback. The method comprises the steps of accessing a library having a plurality of library content items, and selecting a plurality of playback content items from the library to generate a pseudo-random list of content items for playback, wherein selection of library content items is manipulated to control the generated list of playback content items by evaluating one or more characteristics of the library content items according to one or more predetermined selection criteria.
- The library content items may comprise any number or combination of sound (e.g., music), video, picture, or similar files, such as MP3, OGG, WMA, AAC, WAV, MPG, MOV, AVI, GIF, and TIFF files. The evaluated characteristics may be any type of data associated with the file, and may vary according to file type. Exemplary characteristics include, but are not limited to characteristics comprising one or more of the following: filename, song or album title, genre, size, type, duration, last played, play count, date created, composer, bitrate, beats per minute (BPM), season, episode number, show, and the like.
- In one embodiment, the list comprises an output queue for playback of the selected playback content items on a platform used to generate the list. Alternatively, or in combination, the list may be configured for output to an external device for playback, such as a portable media player.
- In another embodiment, each of the library content items comprises presentation data for playback, and metadata associated with the presentation data, wherein the metadata comprises the characteristics for selection.
- In yet another embodiment, the library content items may be filtered into a content pool prior to being selected so that the playback content items are selected from the content pool to generate the pseudo-random list. The library content items may be filtered to generate the content pool according to the one or more characteristics. Preferably, the characteristics and selection criteria are selectable by a user.
- In one mode, selecting a plurality of playback content items further comprises randomly selecting a first content item from the library, evaluating one or more characteristics of the first content item against one or more predetermined criteria, and placing the first content item in the list if the one or more criteria are met.
- In one embodiment, selecting a plurality of playback content items includes the steps of randomly selecting a second content item from the library, comparing the first content item to the second content item according to the one or more predetermined criteria, and including or excluding the second content item at a location in the list if the one or more predetermined criteria are met. The second content item may be temporarily excluded from one or more locations in the list to maintain a minimum queue distance between the first content item and the second content item, wherein the temporary exclusion is a function of the predetermined criteria. Alternatively, the second content item may be excluded from all remaining locations in the list based on the predetermined criteria. The second content item may also be placed in the list at a location sequential with the first content item.
- In yet another embodiment, the playback content items are selected to generate a list having one or more clusters of content items, the clusters having a specified probability of having a characteristic matching one or more specified criteria.
- Another aspect is a method for generating a list of content items for playback. The method includes the steps of providing a library having a plurality of library content items, randomly selecting a set of content items from the plurality of library content items, evaluating one or more characteristics of each of the content items in the set against one or more predetermined criteria, and generating a list of playback content items having at least one characteristic matching at least one of the predetermined criteria, wherein the generated list is configured to provide a sequential order for playback of the content items. The list may comprise an output queue for playback of the selected playback content items on a platform used to generated the list, or be configured for output to an external device for playback.
- In one embodiment, characteristics are stored as metadata associated with each of the library content items. The library may be stored on a platform used to generate the list, or at a remote location.
- In another embodiment, the step of evaluating one or more characteristics of the selected content items includes: evaluating one or more characteristics of the first content item against one or more predetermined criteria; placing the first content item in said list if the one or more criteria are met; comparing a second content item to the first content item according to the one or more predetermined criteria; and including or excluding the second content item at a location in the list if the one or more predetermined criteria are met.
- In another embodiment, a characteristic comprises a rating value associated with each content item, such that a content item is excluded or included at a location on the list based on the rating value exceeding a predetermined threshold. The predetermined criteria may be used to control the probability that a library content item having a particular rating value is included in the list. The rating value may be explicitly applied to each content item by a user, or implicitly applied to each content item based on the frequency that each content item is selected for playback by a user.
- Another aspect is a method comprising; providing a library having a plurality of library content items; accessing first data associated with one or more content items in the library; selecting a plurality of playback content items for which the accessed first data meets a selection criterion; and storing second data associated with each selected playback content item, wherein the stored second data comprises a list of selected songs. The stored second data is stored as a content output queue for playback.
- The method may further comprise generating a pool of content items by applying one or more filtering criteria to the library, wherein the plurality of playback content items are selected from the pool.
- In one embodiment of the current aspect, playback content items are randomly selected against the selection criterion to generate a pseudo-random list.
- Further aspects of the invention will be brought out in the following portions of the specification, wherein the detailed description is for the purpose of fully disclosing preferred embodiments of the invention without placing limitations thereon.
- The invention will be more fully understood by reference to the following drawings which are for illustrative purposes only:
-
FIG. 1 is a diagram illustrating the content selection process of the present invention. -
FIG. 2 is a diagram illustrating an electronic content item. -
FIG. 3 illustrates a user interface for selecting a media type. -
FIG. 4 is illustrates a display window outputting a list of content items having a soft exclusion. -
FIG. 5 illustrates a clustering feature for generating an output queue in accordance with the present invention. -
FIG. 6A-6H and 6J illustrate display views for output queue generation in accordance with the present invention. -
FIGS. 7A-B illustrate an exemplary user interface for the method of the present invention. - Referring more specifically to the drawings, for illustrative purposes the present invention is embodied in the apparatus generally shown in
FIG. 1 throughFIG. 7B . It will be appreciated that the apparatus may vary as to configuration and as to details of the parts, and that the method may vary as to the specific steps and sequence, without departing from the basic concepts as disclosed herein. - Well-known and understood features and functions (e.g., those of typical computing platforms, electronic data networks, etc.) are omitted from this description so as more clearly describe the various illustrative embodiments. Coding is routine in view of this disclosure. In one embodiment, coding is done using C++ with C, XML, and ECMAScript (FSK by KINOMA, INC., Palo Alto, Calif.).
-
FIG. 1 is a diagrammatic view of a content filtering and arrangement process of the present invention, as carried out by a conventional electronic data processing platform 102 (e.g., desk top/portable personal computer using X86-architecture microprocessor, or playback device such as an MP3 player, viewer or other media player). - In one embodiment, the invention may include part of a content output client (e.g., CONNECT PLAYER by SONY CORPORATION) executed by
data processing platform 102. Various single- and multi-media electronic library content items 104 (e.g., audio data such as music or audio book readings, video data, audio/video data such as music videos or movies, text, graphics, electronic books, and so forth) may be stored or coupled to adata processing platform 102. The files may be uncompressed or compressed files that require a codec for compression, decompression and playback. Exemplary file formats may include but are not limited to those commonly used in the art, such as MP3, OGG, WMA, AAC, WAV, MPG, MOV, AVI, GIF, TIFF, and similar formats. - In some embodiments,
content items 104 may be transferred (including down-, up-, or side-loading, or streaming) via interface 100 (e.g. communication port such as an Ethernet connection, USB port, serial port, etc.) for access by theplatform 102. When used as a part of a content output client (e.g., CONNECT PLAYER by SONY CORPORATION)library content items 104 may be transferred from an electronic content providing source (not shown; e.g., a remote server system such as the CONNECT MUSIC STORE operated by SONY CORPORATION; a peer data processing platform) viainterface 100 and a network interconnection (e.g., an interconnection to the Internet network of interconnected networks; a peer-to-peer interconnection) to memory (not shown) in or coupled toplatform 102. -
FIG. 2 is a diagrammatic view of an illustrative electronic content item 104 (e.g., illustrative container format) that includespresentation data 104 a andmetadata 104 b. In some instances metadata 104 b andpresentation data 104 a (essence; although the data need not be encoded) are stored at the same electronic storage location (e.g. on a hard drive coupled to the platform 102). In other instances, some or all metadata 104 b is stored at a location (e.g., a server accessed via a network) different from the electronic storage location at whichpresentation data 104 a is stored, in which case remotely storedmetadata 104 c is accessed via a communications link so as to perform actions described below. - The various transferred
content items 104, stored as a whole on, or coupled to,platform 102, are grouped ascontent library 106. Each content item typically includes both data used to make an output presentation to a user (e.g., digitized audio data used to reconstruct music) and metadata associated with the output presentation data (e.g., filename, song or album title, genre, size, type, duration, last played, play count, date created, date modified, composer, bit rate, beats per minute (BPM), season, episode number, show. etc.). - In some instances, the content items in
content library 106 are not stored in a single storage device.Content library 106 may, for example, be stored in two or more different memory types (e.g., flash EEPROM and hard disk) atplatform 102 or may be distributed among two or more data processing platforms. Content items in such a distributedcontent library 106 may be accessed via network or peripheral connections, and such content items may be from different content sources (e.g., different content providing services). - In one embodiment, a
filtering process 108 may optionally be employed (described in further detail below) to pre-selectparticular content items 104 fromlibrary 106, thereby placing the selected content items incontent pool 110.Filtering process 108 allows the user to specify a subset of the content items inlibrary 106 from which to construct an output queue. This filtering feature may be used, for example, if a large number (e.g., thousands) of content items are stored inlibrary 106, or if various different content item types (e.g., audio only, audio/video) are stored incontent library 106. In some instances filtering 108 andpool 110 are not used, andselection process 112 operates directly on library 106 (illustrated inFIG. 1 as line 130). -
Selection process 112, described in detail below, is then used to arrange filteredcontent items 132 inpool 110 to generate acontent output queue 114, e.g., a “playlist”, (the term “playlist” is herein defined to mean an output of any type of content item, including output of two or more different types of content items) having a set or plurality ofplayback content items 134. Since a random selection process is generally associated with this arrangement in some way, the arranging can be considered a “shuffle” of thecontent pool 110 “deck”. This shuffling, as described herein in its various embodiments, can in one embodiment be selected or unselected by a user. - The presentation data in
playback content items 134 ofoutput queue 114 are thenoutput 116.Output 116 of the data fromoutput queue 114 may vary depending on the particular device configuration of platform 102 (e.g. personal computer, media player, etc.). Theoutput 116 data may be processed for playback (e.g. audio data output having an MP3 format output may be decoded (decompression) with a decoding software for playback via a speaker, with theoutput queue 114 list of content items content items being sent to the display for viewing/selection/manipulation by the user (e.g., content data consumer, listener, viewer). Likewise, video data may be output via a display and speaker that are coupled to the platform. -
Selection process 112 is also used to arrange content items in pool 110 (or directly from library 106) intolist 118 ofplayback content items 134 to be transferred (up-, down-, or side-loaded, or streamed) fromplatform 102.Playback content items 134 listed onlist 118 may be output via port 120 (e.g., by direct interconnection using IEEE 1394 protocol, by transfer via flash memory card, etc.) to an external device 122 (e.g., to a content library in a portable media/content player, such as a WALKMAN or in a SONY PSP portable game platform, etc.), or to another platform for remote storage or playback. - The presentation data of the transferred
content items 134 may then beoutput 124 viaoutput device 122 to the user in a similar fashion tooutput 116. In some embodiments, theexternal device 122 outputs content item presentation data using output queue generation logic substantially similar in whole or in part to that described in this description (i.e.,device 122 performs anotherselection process 112 to build an output queue similar to output queue 114). In other instances,external device 122 may output content item presentation data in accordance with other well-known output processes (e.g., output in the library order, output using “random” (pseudo-random electronic data processing techniques) content shuffling, receives one ormore output queues 114 fromplatform 102 and uses a receivedoutput queue 114 as a playlist, uses a separately generated playlist, etc.). - In some instances,
output queue 114 is saved and is used as a playlist for content output from, e.g.,platform 102 oroutput device 122. In some instances, two or moredifferent output queues 114 are saved and the user selections oneoutput queue 114 to use as a playlist. - As outlined above, filtering
process 108 may be used to select content items fromlibrary 106 for selection incontent pool 110. This filtering is done using one or more various parameters associated with the content items inlibrary 106. For example, filteringprocess 108 may be used to place only content of a particular type, such as music audio works (e.g., songs) or music videos, intocontent pool 110. In another instance, filteringprocess 108 allows the user to further select content items by choosing other parameters such as music genre (e.g., music classified as tango music or as rock and roll music), artist, exact number of content items to be placed incontent pool 110, container format (e.g., files encoded in accordance with ISOIIEC 11172-3 Layer 3 (MPEG-1Audio Layer 3, popularly known as “MP3”)), content creation date, content purchase date, content transfer date (e.g., date transferred toplatform 102; recently transferred content may be of particular interest to a user), content duration, date last played (e.g., a user may be particularly interested in songs recently played or in songs not recently played), etc. - In some embodiments, the user may be prompted to make selections for
filtering process 108 with a Wizard-type interface of a step-by-step set of interactive dialogs.FIG. 3 is a diagrammatic view of an illustrative wizardinterface dialog box 202 withradio buttons 204, used duringfiltering process 108. Oncecontent pool 110 is built, the user may be restricted from editingcontent pool 110, but can view a list of content items incontent pool 110. In some embodiments, a list of the parameters used duringfiltering process 108 may be viewable by the user so as to recall the general nature of the content items incontent pool 110. In some embodiments, the user can edit the parameters used duringfiltering process 108 so as to use a somewhatdifferent filtering process 108 to create anothercontent pool 110. - In some embodiments, one or more other content item filtering applications may also be available to build
content pool 110 from content items incontent library 106. In one instance, for example, an application using technology from GRACENOTE, INC. (Emeryville, Calif.) may be used as filter 108 (e.g., by music genre) to create a playlist that functions as a source orcontent pool 110. In another instance, for example, an application using mix technology from MOODLOGIC, INC. (San Francisco, Calif.) is used as afilter 108 to create a playlist that functions ascontent pool 110. -
Output queue 114 may be constructed in several ways: (a) automatically using one or more preset build criteria, (b) automatically using one or more preset build criteria and one or more user specified build criteria, and (c) manual editing of a list built using (a) or (b). As outlined above and discussed in detail below, this construction is done usingselection process 112. Oncecontent pool 110 is built, each filteredcontent item 132 incontent pool 110 becomes a candidate to be selected foroutput queue 114 orlist 118. The description below concentrates onselection process 112building output queue 114, althoughlist 118 is generally built using similar processes.Building output queue 114 is generally associated with presentation data being output asoutput queue 114 is constructed (the build process places a small number of content items in the output queue following the content item presently being output to the user), whereas buildinglist 118 generally just builds the list. In one instance, however, content items are transferred 120 aslist 118 is built. Eitheroutput queue 114 orlist 118 can be saved and/or output to later function as an output or transfer queue. - In one embodiment,
output queue 114 may simply duplicatecontent pool 110 so that each content item incontent pool 110 isoutput 116 in the order it appears in content pool 110 (selection process 112 is disabled). - In another embodiment,
output queue 114 is automatically built so that the presentation data of content items incontent pool 110 is output in an unpredictable (random) order that varies eachtime selection process 112 is performed. For example, the first content item inoutput queue 114 may randomly be selected from all content items incontent pool 110. The second content item inoutput queue 114 is randomly selected from the remaining non-selected content items incontent pool 110. The selection continues until all content items in content pool have been placed inoutput queue 114. The user may, however, choose to allow items incontent pool 110 be selected more than once. - After all content items in
content pool 114 have been placed intooutput queue 114;selection process 112 begins again to build anotherunique output queue 114 from the content items incontent pool 110. Any ofsuch output queues 114 can be saved. The continuous building ofoutput queues 114 and associated output of queued content item presentation data provides a continuous output (continuous play) of data to the user. - In yet another embodiment, the automatic random selection of content items is modified. For example, the first content item in
output queue 114 may randomly selected from all content items incontent pool 110. A second content item is randomly selected from the remaining non-selected content items incontent pool 110. Information associated with the second content item may then be automatically compared with information associated with the first content item. The selected second content item is placed in output queue 114 (or prevented from being placed in output queue 114) if the comparison has a specific result. The parameters or criteria for comparison may be any number of characteristics set by the user. For example, the comparison may be used to prevent two content items by the same artist from being placed consecutively inoutput queue 114. Alternatively, the user may specify that that a set number of songs (e.g. two, three, four, etc.) of the same artist be placed consecutively in the output queue 114 (e.g. grouping songs by the same artist). - In another embodiment, comparison parameters may be changed so that two content items from the same album (or genre, disc, or other content item grouping) are prevented from or specified to be placed consecutively in
output queue 114. - The
selection process 112 may also be configured so that the user may choose to have the content items in content pool automatically selected/ordered in accordance with various parameter settings that the user selects. For example, the user may establish one or more evaluation parameters (if not using default settings) to be applied to the content pool (e.g. randomly select from songs having a first characteristic (e.g. songs not played in last 14 days). Then, a content item is randomly selected fromcontent pool 110 and is evaluated against the user's selection parameters. The selection parameters may also be applied in combination via Boolean operands (e.g. “and”, “or”, “nor”). For example, the selection criteria may comprise a genre of “rock” “and” year of “1990-1999” to select only rock songs from the ‘90’s. If the content item meets one or more evaluation parameters, then the content item is placed inoutput queue 114. The user's selected criteria forselection process 112 may also be saved so that the user may alter one or more of these criteria for another instance of usingselection process 112. - In some embodiments, a non-selected content item maybe designated to no longer be a candidate for
output queues 114 until the excluding evaluation parameter is changed. This type of blocking is considered a “hard” exclusion. For example, ifcontent pool 110 includes both MP3 and SONY Adaptive Transform Acoustic Coding (ATRAC)-type content item container formats, the user may choose to exclude the ATRAC-type content items fromoutput queues 114 built from this content pool. Other hard exclusions include, for example, content type (e.g., no video content, no music video content, no “podcast”-type (e.g., audio programs published via the Internet) content) and duration (e.g., no songs under or over five minutes). In one instance, content items having an output duration longer than a specified time (e.g., 1500 seconds for a music item—approximately the time of a single side of a 33⅓ RPM 12-inch music record album) may be excluded fromoutput queue 114. The size of the content item may also be used to form an exclusion, for example, any files over 10 MB may be omitted as a candidate from output queue. - If the content item does not meet the evaluation parameters, the content item may be specified to remain a candidate for later selection and evaluation. This type of blocking is considered “soft” exclusion. In some embodiments, the soft exclusions are based on
output queue 114 build options set by the user. - For example, a user may set an option that specifies the minimum output queue distance (e.g. four) between content items created by the same artist. Referring to
FIG. 4 ,selection process 112 places a first content item by artist A in thefirst position 210 ofoutput queue 114. Ifselection process 112 randomly selects another artist A content item fromcontent pool 110 for the second throughfifth positions 212 inoutput queue 114, then the selected content item will not be placed inoutput queue 114. However, ifselection process 112 randomly selects a second artist A content item fromcontent pool 110 for thesixth position 214, it would be eligible for placement in that spot ofoutput queue 114. In a similar manner, other embodiments may include setting a minimum queue distance between content items associated with the same genre, album, track (e.g. for embodiments in which a track may be selected multiple times from content pool 110), etc. - One option is to allow more frequent inclusion of certain content items into output queue 114 (“heavy rotation” of content item output). As described above, general options include preventing a content item from being repeated in
output queue 114, or specifying a minimum queue distance between content items. At times, however, a user may desire to have one or more content items more frequently output. The heavy rotation option allows a user to specify options such as allowing repeated entries in asingle output queue 114 for specific content items, or reducing the artist or album queue distance for specific artists or albums while maintaining a larger queue distance for other content items. - The parameters may also be set so that the probability of
desirable content items 104 is increased. For example, particular content items may be specified to be arranged early in output queue 114 (e.g. the more desirable content items may be “front loaded” in output queue 114). - In some embodiments,
content items 104 may be assigned an explicit and/or an implicit user preference. The explicit rating is explicitly made by the user (or others) using, e.g., wherein the user assigns a value to the content item on a scale from 1 to 5. As an alternative or in addition to the explicit rating, an implicit rating may be made automatically (e.g., on the scale from 1 to 5) by evaluating behavior of the user (or others), such as evaluating how often a content item is output (either while using anoutput queue 114, output without using an output queue 114 (e.g., manual selection for output), or a combination of such outputs). Frequently output content items are assumed to be preferred and are assigned a higher number. For example, a default implicit rating of three may be automatically assigned when acontent item 104 is imported to theplatform 102. This default implicit rating is then automatically modified in accordance with output of the content item's presentation data. In one embodiment, a content item's implicit rating is only used if an explicit rating does not exist. - In some embodiments, the soft or hard exclusions may be applied based on a rating or score value that is calculated for a particular content item. In one embodiment, selected content items having a score larger than a particular value are included in
output queue 114. In another embodiment, selected content items having a score smaller than a particular value are excluded fromoutput queue 114. These two exclusion systems are combined in some instances so that a selected content item having a score larger than a first value is placed intooutput queue 114, a content item having a score smaller than a second value is permanently excluded from output queue, and a content item having a score between the first and the second values remains a candidate for a later selection. - The probability that explicitly or implicitly rated items be selected for inclusion or exclusion in
output queue 114 may also be set by the user. For example,selection process 112 may be configured to generate an output queue of having a 50% composition of randomly content items having a “four” rating, a 30% composition of content items having a “five” rating, and a 20% composition of content items having a “thee” rating. These assigned probabilities may also be applied to other criteria such as genre, last played, etc. instead of or in combination to the rating value. - Alternatively,
selection process 112 may be configured to include or exclude a selected content item fromoutput queue 114 is made relative to previously selected content item scores. For example, a score or rating for a content item selected fromcontent pool 110 is compared to a specified parameter, e.g. the average score of all previously selected content items. If the selected content item score is higher than the average, then the content item is included inoutput queue 114. Otherwise the selected content item is returned tooutput queue 110 as a candidate to be selected at a later time. Alternatively, the score of a selected content item may compared against a running average of scores for recently included (e.g., the last ten) content items. - In one embodiment, the numbers of times content items are output may be stored in memory (“play count”). An implicit rating value, or scoring weight (e.g., in the range 0-20) may be assigned to the play count. If the play count scoring weight is set relatively high (e.g., seventeen), then frequently output content items are favored for inclusion in
output queue 114. If the play count scoring weight is set relatively low (e.g., three), thenoutput queue 114 will have a larger variety of frequently and less frequently output content items. - In an alternative embodiment, the numbers of times content items that are transferred (e.g. from
platform 102 to device 122) may be stored in memory (“transfer count”). A scoring weight (e.g., 0-20) is assigned to the transfer count. If the transfer count scoring weight is set relatively high (e.g., 18), then content items that are frequently transferred to one or more other devices are favored for inclusion inoutput queue 114. If the transfer count scoring weight is set relatively low (e.g., 2), thenoutput queue 114 will have a larger variety of frequently and less frequently transferred content items. - In addition, specific content genres may be assigned scoring weights for inclusion into and exclusion from
output queue 114. Content genres are subdivisions of forms of expression (e.g., in music, genres may include divisions such as “rock” and “Latin”, and in some instances are hierarchical (e.g., “jazz” and particular styles of jazz (delta blues, Chicago blues, Latin jazz, fusion, etc.)). - In one illustrative instance, music genres may be weighted 0-10 for inclusion, with a 0 weight meaning that the inclusion weight is ignored, and with a 10 meaning that the associated genre is always included in
output queue 114. Similarly, music genres may be weighted 0-10 for exclusion, with a 0 weight meaning the exclusion weight is ignored and with a 10 meaning that the associated genre is always excluded fromoutput queue 114. - Alternatively, content types may be assigned scoring weights for exclusion. Content types are of a more general nature than genres, which are often but not always subdivisions of content types. Audio types (e.g., music, spoken word, podcast) and video types (e.g., movies, television broadcast program episodes) are examples of content types. In one illustrative instance, audio types are weighted 0-10 for exclusion. An audio type with a 0 weight could be set so that that the exclusion is ignored. Correspondingly, an audio type with a 10 weight means that this audio type will always be excluded.
-
Selection process 112 may further be configured to selectcontent items 104 foroutput queue 114 as a function of the date/time the content items were imported. For example, the date and time that content items have been imported 104 tolibrary 106 may be stored in memory (“import date”). A scoring weight (e.g., −10 to +10) may be assigned to the range of import date. In one illustrative instance, a low value import time weight (e.g., −8) will favor including content items intooutput queue 114 that were imported at relatively earlier dates, whereas a high value import time weight (e.g., +8) will favor including content items that were imported more recently. An import time weight of zero causes import time to be ignored. - In another embodiment,
selection process 112 may also be configured to selectcontent items 104 foroutput queue 114 as a function of the date/time the content items were played fromplatform 102 oroutput device 122. Generally, the most recent date/time that a content item isoutput 116 is stored in memory (“play time”). A scoring weight (e.g., −10 to +10) is assigned to play time scoring. In one illustrative instance, a low value play time weight (e.g., −7) will favor including content items intooutput queue 114 that have not beenoutput 116 for a relatively long time. In this manner, content items about which the user has forgotten can be favored. In a similar manner, a high value play time weight (e.g., +7) will favor including content items output more recently. - In some embodiments,
election process 112 may also be configured to “cluster” selected content items inoutput queue 114. For example, music content items can be clustered by artist, album, genre, and so forth. -
FIG. 5 is a diagrammatic view illustrating clustering foroutput queue 114 in accordance with the present invention. As illustrated inFIG. 5 , content item positions 302 (numbered 1 to n) are shown sequentially inoutput queue 114 along the horizontal axis. In one instance, the clustering feature may be set to a scale, e.g. from 0 to 10, where a “zero” setting means the clustering feature is ignored and a “ten” setting means that content items inoutput queue 114 will be heavily clustered. - One or more clustering distributions may be applied to the selection process. As shown in
FIG. 5 , three clustering distributions, 304 a, 304 b, 304 c are shown distributed over various content item positions 302. Clustering probabilities values 306 are shown along the vertical axis, and correspond to various points (A, B, C, and D) in the clustering distributions 304 a-304 c. In the example illustrated inFIG. 5 and point A is assigned a 30 percent probability, point B is assigned an 80 percent probability, point C is assigned a 100 percent probability, and point D is assigned a 30 percent probability D, and point E is assigned a 30 percent probability. It is appreciated that any number of clusters, points, and probability values may be used. - In the above example, each range of content item positions 302 covered by a clustering distribution is matched with the probabilities for the cluster distribution. For example, in
clustering distribution 304 a, contentitem position number 10 is matched with A,number 11 with B,number 12 with C,number 13 with D, andnumber 14 with E. - In a one embodiment, the output queue may be clustered by artist. For Artist1 may be selected as a seed artist for the
first cluster 304 a. Seed selection may be done using any of the various selection processes described, including manual selection by the user, or selection based on earlier clustering. For example, the content item with the highest score in a cluster may be used as the seed for the immediately following cluster. Since contentitem position number 10 inoutput queue 114 is matched with distribution probability A, the content item selected forposition number 10 is made such that there is a 30-percent probability that the selected content item is associated with Artist1. Likewise, the content item selected forposition number 11 is 80-percent, forposition number 12 is 100-percent (i.e., Artist1 must be selected), forposition number 13 is 80-percent, and forposition number 14 is 30-percent. Likewise, Artist2 is selected as the seed artist for thesecond cluster 304 b, and Artist2's content items are similarly inserted intooutput queue 114. - Clustering may also be applied to the
selection process 112 for albums and for other classifications such as genres, rating, etc. In this way, the user tends to experience a cluster of related or desired content items. The distribution ranges and probability values described herein are illustrative, and various ranges and probabilities may be selected by the user. Desirable content items may also be clustered near the beginning ofoutput queue 114 so that such items are “front loaded”. Such a front loading feature is especially useful for alist 118 to ensure that desired content items are transferred to a device if the device capacity is limited. - In some instances, near the end of selection process 112 a few remaining content items in
content pool 110 will fail to meet automated selection criteria for inclusion inoutput queue 114. In these situations, various options are may be employed for processing, such as not including the remaining content items inoutput queue 114, ignoring the selection criteria and placing the remaining content items into output queue in a random order, and prompting the user to act on the remaining content items to, e.g., include, exclude, save, or order them inoutput queue 114. Such remaining content items, if excluded or left until the end, may also be flagged to increase the chance of being included in asubsequent output queue 114. - As described above, content is generally
output 116 asoutput queue 114 is built. In some instances, however, theoutput 116 of presentation content associated withoutput queue 114 is stopped. For example, in one instance output is stopped if a source (e.g., drive, connection) that provides a content item inoutput queue 114 is removed. In another instance the output is stopped if the software client that incorporatesselection process 112 is launched by selecting a Uniform Resource Locator (or Uniform Resource Identifier) or by another event that requires the client to immediately begin output of another content item. In yet another instance, theoutput 116 is stopped if the “shuffle” option in the client is stopped and restarted; the “shuffle” option then beginning anew. And in still another instance, theoutput 116 is changed if one or morevarious selection process 112 selection process criteria are changed (i.e., the user decides to change howcontent output queue 114 is built). -
FIGS. 6A-6H and 6J are diagrammatic views that illustrate features associated withoutput queue 114 and acontent pool 110 of n content items. As shown inFIG. 6A , a number of the content items inoutput queue 114 are displayed in window (or pane) 402. In someembodiments window 402 is a pane (or panel, or frame) in a windowing-type graphical user interface display system. In other embodiments,window 402 represents a full small screen display on, e.g., a portable device such asoutput device 122. Queue information outside the boundary ofwindow 402 is generally not visible to a viewer without scrolling view the device or platform input. - In
FIG. 6A , the titles 404 (illustrated as long horizontal lines) of an exemplary seven content items are shown next to their corresponding output queue position numbers 406. It is appreciated that in some embodiments, theposition number 406 may be omitted to free window or display space. Asselection process 112 buildsoutput queue 114, thetitle 404 of each selected content item is placed next to itscorresponding position number 406. Duringcontent output 116, an output indicator 408 (illustratively shown as a schematic speaker symbol inFIGS. 6A-J ) may be located next to the queue position number that corresponds to the content item currently being output. As shown inFIG. 6A , theoutput indicator 408 appears next to thesecond position number 406 so as to allow a user to see the title of the content item previously output. Thetitles 404 of the next five content items to be output (queue position nos. 3-7) are shown to allow the user to see ahead inoutput queue 114, and to modify the selected content item order as described herein. Queue position no. 8, however, has not yet been filled byselection process 112. -
FIG. 6B illustrates that output of one content item in output queue has ended output of the next content item has started.Output indicator 408 now appears next to the queue position and title of the content item being output (queue position no. 3). The earlier output content item titles (illustrated by queue position no. 1) disappear from view at the top ofwindow 402, and a new content item title (illustrated by queue position no. 8) appears at the bottom ofwindow 402. The content item in queue position no. 1 remains inoutput queue 114 even though its title is not displayed. Likewise, the titles of content items in later queue positions (e.g., positions no. 9-n) are not visible, even thoughselection process 112 has in some instances placed some or all content items fromcontent pool 110 intooutput queue 114. - In one illustrative embodiment,
selection process 112 is configured to place content items into queue positions at a specified number (e.g., the number of items that will fit in window 402) ahead of the queue position of the content item currently being output. As shown inFIG. 6B ,selection process 112 may be configured to not yet have filledqueue position number 9. Alternatively,selection process 112 fills all queue positions at once, and positions 9-n are simply not output inwindow 402, but may be viewed by scrolling via input from the user. -
FIG. 6C illustrates thatoutput queue 114 may be edited to rearrange the queue positions assigned to a queue byselection process 112. As shown in 6C, the content item in queue position no. 3 is being output. The user views the titles of the next five content items inoutput queue 114 and decides that the content item in queue position no. 7 should be output next. The user then moves the content item in queue position no. 7 to queue position no. 4, and the content items originally in queue positions no. 4-6 are automatically shifted down to queue positions 5-7, respectively. This rearrangement of content items inoutput queue 114 may be achieved using standard techniques, such as drag-and-drop using a pointer or selection and movement using a direction button. -
FIG. 6D illustrates thatoutput queue 114 may be edited to delete one or more content items assigned to a queue position byselection process 112. As shown inFIG. 6D , the content item in queue position no. 3 is being output. If the user views titles of the next five content items inoutput queue 114 and decides that the content item in queue position no. 7 should be deleted fromoutput queue 114, the user can delete the content item in queue position no. 7, and the content items in the following output queue positions are automatically moved up one position. This deletion of a content item inoutput queue 114 may be achieved using standard techniques, such as drag-and-drop using a pointer or selection and deletion using a delete button. In a preferred embodiment, the deletion of a content item does not stopselection process 112, or otherwise alter the output ofoutput queue 114. -
FIG. 6E illustrates the end ofoutput queue 114.Selection process 112 has ended (if generated real-time) or where the entire output queue is generated prior to playback, playback of the generated list has ended.Output queue 114 is now complete and can be stored (e.g. the queue information is stored since the content items are already stored inlibrary 106 from which they are accessed for output) for future use to, e.g., review or edit titles inoutput queue 114, or to once again output the content items inoutput queue 114. -
FIG. 6F illustrates that output of content items inoutput queue 114 can manually advanced. For example, the content item in queue position no. 3 is being output as shown inFIG. 6B . During output of the content item in queue position no. 3, the user may skip ahead (e.g. before the playback for the content item in position no. 3) so that the content item in queue position no. 4 is output, as shown byoutput indicator 408 inFIG. 6F . And, thetitles 404 shown inwindow 402 also shift ahead so that, e.g., the title of the content item in queue position no. 9 appears at the bottom ofwindow 402. -
FIG. 6G illustrates that output of content items inoutput queue 114 can be advanced backwards. For example, the content item in queue position no. 3 is being output as shown inFIG. 6B . During output of the content item in queue position no. 3, output is skipped backward so that the content item inqueue position number 2 is output (i.e., re-output), as shown byoutput indicator 408 inFIG. 6G . In one embodiment, content items already inoutput queue 114 are not removed from the queue. For example, where selection is real-time, theselection process 112 may act to ensure that five content items are positioned inoutput queue 114 after the content item presently being output, as illustrated by queue positions number 4-8 if the content item atqueue position number 3 is being output as shown inFIG. 6B . If content item output is skipped backwards one queue position to queueposition number 2, the content items in queue positions number 4-8 remain in the queue such that there are now six content items inoutput queue 114 following the content item currently being output. Where theentire output queue 114 is generated prior to playback, the advancement of the current content item for playback either forward or backward does not affect the sequence or composition of thequeue 114. -
FIG. 6H illustrates thatcontent item titles 404 andoutput queue positions 406 may extend outside ofwindow 402 so that the queue positions and titles can be scrolled throughwindow 402. -
FIG. 6J illustrates that a content item can be added tooutput queue 114. For example, thecontent item 410 in queue position no. 3 has been added while the presentation data associated with the content item in queue position no. 2 is being output.Content item 410 may be selected fromcontent pool 110, fromlibrary 106, or from another source.Selection process 112 continues to buildoutput queue 114, populating queue position nos. 4-n aftercontent item 410 is inserted. In another instance,content item 410 may be inserted between two populated queue positions or after the last queue position. In yet another instance,content item 410 is inserted at a particular desired queue position number (e.g., at queue position number n so thatoutput queue 114 ends with a particular content item). The addition ofcontent item 410 does not stop the action ofselection process 112. - The continuous playback of
output queue 114 may include removing an item, drive, or connection to any media in the current list, launching the client from a URL, item Explorer link, or other event that requires that the client immediately begin playback of a new item, unselecting the shuffle option and/or reselecting the shuffle option, or changing the criteria on which the library shuffle is based. -
FIGS. 7A and 7B illustrate a user interface for the methods of the present invention. The present invention may incorporate a user interface that includes a number of windows, pull-down menus, etc. For example,window 602 may show alibrary pane 606 corresponding tolibrary 106 and showing a comprehensible, scroll-down list oflibrary content items 104. Afilter option box 608 may also be included and show filter results in filtereditems pane 610. A separate filter option pane orwindow 612 may be included for filter options such assearch criteria 614,Moodlogic mix 616, orGracenote playlist 618. For example,search criteria pane 614 may include options such as genre, year, file type, etc., along with Boolean operands. - The
library pane 606 or filteredpool pane 610 may be individually applied as a series ofplayback options 620, including play back in order as shown inblock 622, or pseudorandom playback as shown inblock 624. For example,window 624 may detail pseudorandom selection criteria 626,hard exclusions 628,soft exclusions 630, scoring 632, and grouping/clustering options 634. - The selection process may generate a further screen or window detailing the
play queue 642 oroutput list 640 which may be output to anexternal device 646 viadevice software 644. The device or platform may include a variety of playback commands 650 to either theoutput queue 642 orlist 640. - Although the description above contains many details, these should not be construed as limiting the scope of the invention but as merely providing illustrations of some of the presently preferred embodiments of this invention. Therefore, it will be appreciated that the scope of the present invention fully encompasses other embodiments which may become obvious to those skilled in the art, and that the scope of the present invention is accordingly to be limited by nothing other than the appended claims, in which reference to an element in the singular is not intended to mean “one and only one” unless explicitly so stated, but rather “one or more.” All structural and functional equivalents to the elements of the above-described preferred embodiment that are known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the present claims. Moreover, it is not necessary for a device or method to address each and every problem sought to be solved by the present invention, for it to be encompassed by the present claims. Furthermore, no element, component, or method step in the present disclosure is intended to be dedicated to the public regardless of whether the element, component, or method step is explicitly recited in the claims. No claim element herein is to be construed under the provisions of 35 U.S.C. 112, sixth paragraph, unless the element is expressly recited using the phrase “means for.”
Claims (21)
1-31. (canceled)
32. An apparatus for automatically outputting electronic content stored in a library of electronic content items, comprising:
a computer configured for electronic data processing and the playing of media;
programming configured for execution on said computer for,
accessing metadata associated with a library of content items, as a first content list, having a plurality of library content items;
generating a pool of content items, as a second content list, by applying one or more user-selected filtering criteria to the metadata for the library content items as first content list, whereby one or more groups of desired content items are filtered from said library of content items into said pool of content items; and
adding a content item from the pool of content items to a third list of content items for playback, by the steps of,
choosing a candidate content item for playback from said pool of content items in response to a random or pseudo-random selection process,
evaluating one or more metadata characteristics of said candidate content item based on one or more selection criterion established by a user, and
adding said candidate content item to said third list of content items for playback if it matches said selection criterion established by the user;
repeating the adding of additional content items to said third list of content items for playback;
wherein the selected content items for playback can be played out immediately.
33. The apparatus recited in claim 32 , wherein said third list comprises an output queue for playback of the selected playback content items on a platform used to generate the list.
34. The apparatus as recited in claim 32 , wherein said third list is configured for output to an external device for playback.
35. The apparatus as recited in claim 32 , wherein each of the library content items comprises:
presentation data for playback; and
metadata associated with said presentation data;
said metadata comprising the one or more characteristics.
36. The apparatus as recited in claim 32 , wherein said library content items comprise one or more of the following files: MP3, OGG, WMA, ACC, WAV, MPG, MOV, AVI GIF, and TIFF.
37. The apparatus as recited in claim 32 , wherein said characteristics comprise one or more of the following: filename, song or album title, genre, size, type, duration, last played, play count, date created, composer, bitrate, beats per minute (BPM), season, episode number, show.
38. The apparatus as recited in claim 32 , wherein selecting a plurality of playback content items further comprises:
randomly selecting a first content item from the library;
evaluating one or more metadata characteristics of the first content item against one or more predetermined criteria; and
placing the first content item in said list if the one or more criteria are met.
39. The apparatus as recited in claim 38 , wherein selecting a plurality of playback content items further comprises:
randomly selecting a second content item from the library;
comparing metadata of the first content item to the second content item according to the one or more predetermined criteria; and
including or excluding the second content item at a location in the list if the one or more predetermined criteria are met.
40. The apparatus as recited in claim 39 :
wherein the second content item is temporarily excluded from one or more locations in the list to maintain a minimum queue distance between the first content item and the second content item;
said temporary exclusion being a function of the predetermined criteria.
41. The apparatus as recited in claim 40 , wherein the second content item is excluded from all remaining locations in the list based on the predetermined criteria.
42. The apparatus as recited in claim 40 , wherein the second content item is placed in the list at a location sequential with the first content item.
43. The apparatus as recited in claim 32 :
wherein the playback content items are selected to generate a list having one or more clusters of content items;
wherein said clusters have a specified probability of having a characteristic matching one or more specified criteria.
44. An apparatus for automatically outputting electronic content stored in a library of electronic content items, comprising:
a computer configured for electronic data processing and the playing of media;
programming configured for execution on said computer for,
accessing metadata associated with a library, as a first content item list, having a plurality of media content items;
generating a second content list in response to a first filtering selection of content from said first content list into said second content list;
generating a third content list, comprising content items from said second content list, in response to pseudo random selection, or random selection of a media content item from said second content list and then determining that said media content item meets one or more user selection criterion;
said third content list is configured to provide a sequential order for playback of the content items and comprises an output queue for playback of the selected playback content items on a platform used to generate the list.
45. The apparatus as recited in claim 44 , wherein said third list of content items is configured for output to an external device for playback.
46. The apparatus as recited in claim 44 , wherein the one or more characteristics are stored as metadata associated with each of the library content items.
47. The apparatus as recited in claim 44 , wherein evaluating one or more characteristics of the metadata associated with the selected content items comprises:
evaluating one or more characteristics of the first content item against one or more predetermined metadata criteria;
placing the first content item in said list if the one or more criteria are met in the metadata of the first content item;
comparing the metadata of a second content item to the first content item according to the one or more predetermined metadata criteria; and
including or excluding the second content item at a location in the list if the one or more predetermined metadata criteria are met.
48. The apparatus as recited in claim 47 :
wherein the second content item is temporarily excluded from one or more locations in the list based on the predetermined metadata criteria to maintain a minimum queue distance between the first content item and the second content item.
49. The apparatus as recited in claim 44 :
wherein said metadata characteristic comprises a rating value associated with each content item; and
wherein a content item is excluded or included at a location on the list based on the rating value exceeding a predetermined threshold.
50. The apparatus as recited in claim 44 , wherein said predetermined criteria control the probability that a library content item having a particular rating value is included in the list.
51. An apparatus for automatically outputting electronic content stored in a library of electronic content items, comprising:
accessing metadata associated with a library having a plurality of library content items as a first content list;
selecting a plurality of playback content items from said first content list into a second content list for which the accessed metadata meets a first selection criterion; and
adding content items from said second content list to a third content list in response to a random, or pseudorandom, selection and a determination that the content item meets one or more selection criterion established by a user;
wherein said third content list is configured to allow immediate playback.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/835,667 US20100332483A1 (en) | 2005-10-03 | 2010-07-13 | Content output queue generation |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US72320505P | 2005-10-03 | 2005-10-03 | |
US11/538,243 US7788586B2 (en) | 2005-10-03 | 2006-10-03 | Content output queue generation |
US12/835,667 US20100332483A1 (en) | 2005-10-03 | 2010-07-13 | Content output queue generation |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/538,243 Continuation US7788586B2 (en) | 2005-10-03 | 2006-10-03 | Content output queue generation |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100332483A1 true US20100332483A1 (en) | 2010-12-30 |
Family
ID=37946123
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/538,243 Expired - Fee Related US7788586B2 (en) | 2005-10-03 | 2006-10-03 | Content output queue generation |
US12/835,667 Abandoned US20100332483A1 (en) | 2005-10-03 | 2010-07-13 | Content output queue generation |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/538,243 Expired - Fee Related US7788586B2 (en) | 2005-10-03 | 2006-10-03 | Content output queue generation |
Country Status (1)
Country | Link |
---|---|
US (2) | US7788586B2 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080141132A1 (en) * | 2006-11-21 | 2008-06-12 | Tsai Daniel E | Ad-hoc web content player |
US20090217804A1 (en) * | 2008-03-03 | 2009-09-03 | Microsoft Corporation | Music steering with automatically detected musical attributes |
US20110022594A1 (en) * | 2006-01-03 | 2011-01-27 | Susumu Takatsuka | Contents reproducing device, contents reproducing method, and program |
US20110100197A1 (en) * | 2007-02-08 | 2011-05-05 | Kaleidescape, Inc. | Sound sequences with transitions and playlists |
CN102567289A (en) * | 2010-12-31 | 2012-07-11 | 盛乐信息技术(上海)有限公司 | Dynamic automatic page turning system and method |
US20120226706A1 (en) * | 2011-03-03 | 2012-09-06 | Samsung Electronics Co. Ltd. | System, apparatus and method for sorting music files based on moods |
CN106775275A (en) * | 2016-11-04 | 2017-05-31 | 咪咕数字传媒有限公司 | A kind of page guided reading method and device |
CN107038171A (en) * | 2016-02-03 | 2017-08-11 | 广州酷狗计算机科技有限公司 | The single method and apparatus of generation song |
US20180341373A1 (en) * | 2017-05-25 | 2018-11-29 | Microsoft Technology Licensing, Llc | Providing Personalized Notifications |
US10409850B2 (en) * | 2011-03-02 | 2019-09-10 | T-Mobile Usa, Inc. | Preconfigured media file uploading and sharing |
US20210232625A1 (en) * | 2019-01-10 | 2021-07-29 | Marcelo Alonso MEJIA COBO | Systems and methods of playing media files |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7788586B2 (en) * | 2005-10-03 | 2010-08-31 | Sony Corporation | Content output queue generation |
KR100778001B1 (en) * | 2005-10-14 | 2007-11-21 | 엘지전자 주식회사 | method for reproducing multimedia file, and apparatus thereof |
US20070143526A1 (en) * | 2005-12-20 | 2007-06-21 | Bontempi Raymond C | Method and apparatus for enhanced randomization function for personal media |
WO2007085056A1 (en) * | 2006-01-30 | 2007-08-02 | Mainstream Software Pty Ltd | A selection system |
US20080115173A1 (en) | 2006-11-10 | 2008-05-15 | Guideworks Llc | Systems and methods for using playlists |
US8554265B1 (en) * | 2007-01-17 | 2013-10-08 | At&T Mobility Ii Llc | Distribution of user-generated multimedia broadcasts to mobile wireless telecommunication network users |
KR20100000335A (en) * | 2008-06-24 | 2010-01-06 | 삼성전자주식회사 | User interface, content navigation method and content reproducing apparatus, and storing medium storing the method |
US9332217B2 (en) * | 2008-12-29 | 2016-05-03 | Centurylink Intellectual Property Llc | Method and apparatus for communicating data via a cable card |
US20100235866A1 (en) * | 2009-03-10 | 2010-09-16 | Jangid Sawai S | On-demand entertainment content for passenger vehicles |
JP2011166417A (en) * | 2010-02-09 | 2011-08-25 | Sony Corp | Radio communication apparatus, radio communication system, program, and radio communication method |
US20110238670A1 (en) * | 2010-03-23 | 2011-09-29 | Microsoft Corporation | Crowd-sourcing and contextual reclassification of rated content |
US9312969B2 (en) * | 2010-04-15 | 2016-04-12 | North Eleven Limited | Remote server system for combining audio files and for managing combined audio files for downloading by local systems |
US20120215935A1 (en) * | 2011-02-08 | 2012-08-23 | Randy Woods | Methods and systems related to internet radio broadcasts |
US9426510B2 (en) * | 2011-02-11 | 2016-08-23 | Sony Corporation | Method and apparatus for searching over a network |
US9147435B2 (en) | 2011-06-09 | 2015-09-29 | Sony Computer Entertainment America Llc | Weighted playlist |
US8204890B1 (en) * | 2011-09-26 | 2012-06-19 | Google Inc. | Media content voting, ranking and playing system |
US20130104047A1 (en) * | 2011-10-19 | 2013-04-25 | Dana E. Laursen | System for delivery of random novel content |
US9654821B2 (en) | 2011-12-30 | 2017-05-16 | Sonos, Inc. | Systems and methods for networked music playback |
US8908879B2 (en) * | 2012-05-23 | 2014-12-09 | Sonos, Inc. | Audio content auditioning |
US9674587B2 (en) | 2012-06-26 | 2017-06-06 | Sonos, Inc. | Systems and methods for networked music playback including remote add to queue |
US20140074613A1 (en) * | 2012-09-08 | 2014-03-13 | At&T Intellectual Property I, L.P. | Methods, Systems, and Products for Queuing Advertisements |
US20150149327A1 (en) * | 2013-03-09 | 2015-05-28 | Live365, Inc. | Integrated content provider-distributor network |
US9501533B2 (en) | 2013-04-16 | 2016-11-22 | Sonos, Inc. | Private queue for a media playback system |
US9247363B2 (en) * | 2013-04-16 | 2016-01-26 | Sonos, Inc. | Playback queue transfer in a media playback system |
US9361371B2 (en) * | 2013-04-16 | 2016-06-07 | Sonos, Inc. | Playlist update in a media playback system |
US9703521B2 (en) | 2013-05-29 | 2017-07-11 | Sonos, Inc. | Moving a playback queue to a new zone |
US10715973B2 (en) | 2013-05-29 | 2020-07-14 | Sonos, Inc. | Playback queue control transition |
US9495076B2 (en) | 2013-05-29 | 2016-11-15 | Sonos, Inc. | Playlist modification |
US9798510B2 (en) | 2013-05-29 | 2017-10-24 | Sonos, Inc. | Connected state indicator |
US9684484B2 (en) | 2013-05-29 | 2017-06-20 | Sonos, Inc. | Playback zone silent connect |
US9953179B2 (en) | 2013-05-29 | 2018-04-24 | Sonos, Inc. | Private queue indicator |
US9735978B2 (en) | 2013-05-29 | 2017-08-15 | Sonos, Inc. | Playback queue control via a playlist on a mobile device |
CN103338159B (en) * | 2013-06-19 | 2016-08-10 | 华为技术有限公司 | Polling dispatching implementation method and device |
KR102268052B1 (en) * | 2013-11-11 | 2021-06-22 | 삼성전자주식회사 | Display apparatus, server apparatus and user interface screen providing method thereof |
CN117540040A (en) * | 2024-01-10 | 2024-02-09 | 成都索贝数码科技股份有限公司 | Media resource content exchange device and method |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020103796A1 (en) * | 2001-01-31 | 2002-08-01 | Sonicblue, Inc. | Method for parametrically sorting music files |
US20030229537A1 (en) * | 2000-05-03 | 2003-12-11 | Dunning Ted E. | Relationship discovery engine |
US20040017997A1 (en) * | 2002-07-29 | 2004-01-29 | Sonicblue, Inc | Automated playlist generation |
US20040210533A1 (en) * | 2000-07-14 | 2004-10-21 | Microsoft Corporation | System and method for dynamic playlist of media |
US20050240551A1 (en) * | 2004-04-23 | 2005-10-27 | International Business Machines Corporation | Methods and apparatus for discovering data providers satisfying provider queries |
US6987221B2 (en) * | 2002-05-30 | 2006-01-17 | Microsoft Corporation | Auto playlist generation with multiple seed songs |
US6993532B1 (en) * | 2001-05-30 | 2006-01-31 | Microsoft Corporation | Auto playlist generator |
US20060088292A1 (en) * | 2002-12-17 | 2006-04-27 | Guillen Newton G | Method for tagging and displaying songs in a digital audio player |
US20070083897A1 (en) * | 2005-10-03 | 2007-04-12 | Sony Corporation | Content output queue generation |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6993592B2 (en) * | 2002-05-01 | 2006-01-31 | Microsoft Corporation | Location measurement process for radio-frequency badges |
KR101194163B1 (en) | 2004-05-05 | 2012-10-24 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | Methods and apparatus for selecting items from a collection of items |
-
2006
- 2006-10-03 US US11/538,243 patent/US7788586B2/en not_active Expired - Fee Related
-
2010
- 2010-07-13 US US12/835,667 patent/US20100332483A1/en not_active Abandoned
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030229537A1 (en) * | 2000-05-03 | 2003-12-11 | Dunning Ted E. | Relationship discovery engine |
US20040210533A1 (en) * | 2000-07-14 | 2004-10-21 | Microsoft Corporation | System and method for dynamic playlist of media |
US20020103796A1 (en) * | 2001-01-31 | 2002-08-01 | Sonicblue, Inc. | Method for parametrically sorting music files |
US6993532B1 (en) * | 2001-05-30 | 2006-01-31 | Microsoft Corporation | Auto playlist generator |
US6987221B2 (en) * | 2002-05-30 | 2006-01-17 | Microsoft Corporation | Auto playlist generation with multiple seed songs |
US20040017997A1 (en) * | 2002-07-29 | 2004-01-29 | Sonicblue, Inc | Automated playlist generation |
US20060088292A1 (en) * | 2002-12-17 | 2006-04-27 | Guillen Newton G | Method for tagging and displaying songs in a digital audio player |
US20050240551A1 (en) * | 2004-04-23 | 2005-10-27 | International Business Machines Corporation | Methods and apparatus for discovering data providers satisfying provider queries |
US20070083897A1 (en) * | 2005-10-03 | 2007-04-12 | Sony Corporation | Content output queue generation |
Non-Patent Citations (2)
Title |
---|
Aucouturier, "Scaling Up Music Playlist Generation," Jan 8 2004, Sony Computer Science Laboratory, pages 1-3 * |
Rio Grande Mud Media, "Tobasco's Amazing Clock Wheel Playlist Generator," February 2004, 2 pages * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110022594A1 (en) * | 2006-01-03 | 2011-01-27 | Susumu Takatsuka | Contents reproducing device, contents reproducing method, and program |
US20080141132A1 (en) * | 2006-11-21 | 2008-06-12 | Tsai Daniel E | Ad-hoc web content player |
US9417758B2 (en) * | 2006-11-21 | 2016-08-16 | Daniel E. Tsai | AD-HOC web content player |
US20110100197A1 (en) * | 2007-02-08 | 2011-05-05 | Kaleidescape, Inc. | Sound sequences with transitions and playlists |
US8642872B2 (en) * | 2008-03-03 | 2014-02-04 | Microsoft Corporation | Music steering with automatically detected musical attributes |
US20090217804A1 (en) * | 2008-03-03 | 2009-09-03 | Microsoft Corporation | Music steering with automatically detected musical attributes |
CN102567289A (en) * | 2010-12-31 | 2012-07-11 | 盛乐信息技术(上海)有限公司 | Dynamic automatic page turning system and method |
US10409850B2 (en) * | 2011-03-02 | 2019-09-10 | T-Mobile Usa, Inc. | Preconfigured media file uploading and sharing |
US20120226706A1 (en) * | 2011-03-03 | 2012-09-06 | Samsung Electronics Co. Ltd. | System, apparatus and method for sorting music files based on moods |
CN107038171A (en) * | 2016-02-03 | 2017-08-11 | 广州酷狗计算机科技有限公司 | The single method and apparatus of generation song |
CN106775275A (en) * | 2016-11-04 | 2017-05-31 | 咪咕数字传媒有限公司 | A kind of page guided reading method and device |
US20180341373A1 (en) * | 2017-05-25 | 2018-11-29 | Microsoft Technology Licensing, Llc | Providing Personalized Notifications |
US10656793B2 (en) * | 2017-05-25 | 2020-05-19 | Microsoft Technology Licensing, Llc | Providing personalized notifications |
US20210232625A1 (en) * | 2019-01-10 | 2021-07-29 | Marcelo Alonso MEJIA COBO | Systems and methods of playing media files |
CN113544657A (en) * | 2019-01-10 | 2021-10-22 | 马塞洛·阿隆索·梅贾·科博 | System and method for playing media files |
Also Published As
Publication number | Publication date |
---|---|
US20070083897A1 (en) | 2007-04-12 |
US7788586B2 (en) | 2010-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7788586B2 (en) | Content output queue generation | |
US7680824B2 (en) | Single action media playlist generation | |
US7533091B2 (en) | Methods, systems, and computer-readable media for generating a suggested list of media items based upon a seed | |
US6953886B1 (en) | Media organizer and entertainment center | |
US9247295B2 (en) | Automated playlist generation | |
KR101224354B1 (en) | Multiuser playlist generation | |
CN1301506C (en) | Play list management device and method | |
EP1548740A2 (en) | Intelligent music track selection | |
EP1705584A1 (en) | Methods, systems, and computer-readable media for generating an ordered list of one or more media items | |
US20040225519A1 (en) | Intelligent music track selection | |
US20050254366A1 (en) | Method and apparatus for selecting an audio track based upon audio excerpts | |
EP1548741A1 (en) | Intelligent music track selection | |
KR20060101854A (en) | Methods and systems for generating a subgroup of one or more media items from a library of media items | |
US20060294131A1 (en) | System and method for generating a play-list | |
WO2006063447A1 (en) | Probabilistic audio networks | |
US20070078895A1 (en) | System and method for generating a play-list | |
US11169767B2 (en) | Automatically generated media preview | |
US20060288042A1 (en) | System and method for generating a play-list | |
US8621392B2 (en) | Method of navigating items at a media player | |
US20110125297A1 (en) | Method for setting up a list of audio files | |
Miller | The ultimate digital music guide | |
JP2008204506A (en) | Content list generating apparatus | |
KR101262377B1 (en) | Digital Media Player and method of displaying | |
US20070078847A1 (en) | System and method for generating a play-list | |
US20100153469A1 (en) | Electronic device and method of creating a sequence of content items |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SONY ELECTRONICS, INC., NEW HAMPSHIRE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROWNELL, JASON;REEL/FRAME:025642/0738 Effective date: 20110107 Owner name: SONY CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROWNELL, JASON;REEL/FRAME:025642/0738 Effective date: 20110107 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |