WO2004071094A1 - System and method for creating dynamic playlists - Google Patents

System and method for creating dynamic playlists Download PDF

Info

Publication number
WO2004071094A1
WO2004071094A1 PCT/US2003/003005 US0303005W WO2004071094A1 WO 2004071094 A1 WO2004071094 A1 WO 2004071094A1 US 0303005 W US0303005 W US 0303005W WO 2004071094 A1 WO2004071094 A1 WO 2004071094A1
Authority
WO
WIPO (PCT)
Prior art keywords
playlist
meta
content
dynamic playlist
dynamic
Prior art date
Application number
PCT/US2003/003005
Other languages
French (fr)
Inventor
Sean Ward
Original Assignee
Sean Ward
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sean Ward filed Critical Sean Ward
Priority to AU2003207785A priority Critical patent/AU2003207785A1/en
Priority to PCT/US2003/003005 priority patent/WO2004071094A1/en
Publication of WO2004071094A1 publication Critical patent/WO2004071094A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/251Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/252Processing of multiple end-users' preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Definitions

  • the present invention relates generally to a system and method for music and ⁇ playback, and more particularly, providing to the user recommendations of items which 1 yet been sampled by the user, based on a list of items already sampled by the user, uti method for the dynamic addition, subtraction and sorting of a queue of items for playback
  • a system is needed that is easy to use, adapts to personal tastes, and can easil) subtract music or videos, as they become available.
  • Such a system should provide m ⁇ random sorting and shuffle-play options to overcome the deficiencies of a static playlist the playlist becomes dynamic.
  • An object of the present invention is to provide the dynamic playlist system w data items are music or video items.
  • Another object of the present invention is to provide a dynamic playlist that dyn; adapts to usage patterns.
  • Another object of the present invention is to provide a dynamic playlist that dyn* adapts to personal preferences.
  • Another object of the present invention is to provide a dynamic playlist that is eas
  • a met system for creating a dynamic playlist including meta-data having j association with a respective content item configured to be played on a content player.
  • the system maintains a database of linkages between elements associated with items as well as weighted linkages between elements and respective properties.
  • the sysi hybrid content based and collaborative filtering system wherein the insertion of a new it the database results in the new item sharing preference weights and number of prel associated with items pre-existing in the database.
  • an initial input query list c potentially results in the return of many content items available from one or more providers, wherein the retrieved content, called a " dynamic playlist", has a high correlati the user's preference or with whatever other basis was used to frame the input list, and in ⁇ content items on the dynamic playlist may not have been previously experienced by the us
  • a dynamic playlist is a list of items that can be played in linear order, as is done traditional playlist, or in more exotic sequences after application of sorting or c algorithms.
  • User profiles can be applied to the sorting process, i.e., by ranking items bi the user's meta-data, which can include usage patterns or explicit preferences, and furt order reflected by usage of other users.
  • the most useful aspect of a dynamic playlist is the dynamic addition and subtrac playlist items. This is accomplished by accepting at least one meta-category defined as a s least one criterion, where each criterion has a potential association with a content ite retrieving from at least one content provider a first result set of meta-data fitting an; criteria, wherein the first result set enables acquisition of content items to be played, filtered first result set is calculated by application of a collaborative filtering query algo the first result set, and then the filtered first result set is added to the dynamic playlist.
  • at least one meta-category defined as a s least one criterion, where each criterion has a potential association with a content ite retrieving from at least one content provider a first result set of meta-data fitting an; criteria, wherein the first result set enables acquisition of content items to be played, filtered first result set is calculated by application of a collaborative filtering query algo the first result set, and then the filtered first result set is added to the dynamic playlist.
  • I s system seeds a next meta-category, if any, with the result set and repeating the re calculating, inserting and seeding steps until all meta-categories have been proces; accordance with this method, an initial meta-category of selection preferences potentiall; in the return of many content items available from one or more content providers, whe retrieved content has a high correlation with the user's preference or with whatever otr was used to frame the meta-category.
  • the collaborative filtering query algorithm can be arranged to include the ⁇ playlist itself, which becomes especially meaningful subsequent successive playlist updal algorithm can also include user play pattern data including manual intervention detectei playing of contents associated with the dynamic playlist, or rating data indicative of prefe distaste for selected content items.
  • the method for creating a dynamic playlist also includes accessing a database co: to include meta-data elements, wherein each element defines at least one relationship be user and a respective content item, identifying at least one meta-category from the datab updating the database to include at least parts of the dynamic playlist.
  • the method for creating a dynamic playlist also includes applying a reordering al to the filtered first result set to obtain the dynamic playlist.
  • the ordering algorithm is from a group of algorithms including a ranking algorithm, a random element removal al
  • a respective second result set is obtained for eac category, wherein the respective second result set includes meta-data identifying all conte fitting any at least one criterion of each meta-category.
  • An ordering algorithm is applie second result set to obtain the dynamic playlist.
  • the pairing sort algorithm begins with selecting a first and second item from the determining if both elements are in an elements table, inserting whichever element is into the elements table, incrementing by 1 a pair link between the first and second eleme incrementing by 1 a counter associated with the second element. If a pair link exists betv first and second items, the algorithm inserts a new pair link of strength 1 between the J second items and increments by 1 a counter associated with the second item. If a pair li not exist between the first and second items, and if another item remains in the pla algorithm identifies the first item as the second item and the other item as the second iti sequence is repeated until no items remain in the playlist.
  • the input set can either be associated with other input sets by a pr ⁇ or be a seed user profile, i.e., a single individual or source that submits the input sets, or t set is simply collected on a stand-alone basis. This allows the creation of aggregate between a series of queries or seed actions. Finally, if the action is a query, several proj could be used to create a composite view of the multiple profiles, such as, for example, 1 song both a husband and wife would enjoy.
  • the pairing sort algorithm as applied to at least one user profile begins with sel seed user profile, and processes the steps of comparing the seed user profile against all a profiles, ranking all compared profiles by similarity to the selected seed profile, cluste most similar profiles with the seed profile, counting the frequency of all elements in the c profiles, building a hash profile of the most frequent items to represent each respective placing the respective hash profile in a hash table, removing the seed and clustered profi the profile list, identifying a next user profile, if available, as the seed user profile, and coi the sequence until no profiles are available.
  • FIG. 1 is a highly simplified schematic drawing of components of the dynamic system 100 according to the present invention
  • FIG. 2 is a simplified schematic drawing showing more details the system shown l;
  • FIG. 3 is a logic flow diagram of the basic mode dynamic playlist algorithm acco the present invention.
  • FIG. 4 is a logic flow diagram of the recommendation mode dynamic playlist a] according to the present invention.
  • FIG. 5 is a schematic drawing of the recommendation mode dynamic playlist a] according to the present invention.
  • FIG. 6 is a schematic drawing of a sample pairing sort system according to the invention.
  • FIG. 7 is a logic flow diagram of a sample pairing sort seed algorithm accordiri present invention.
  • FIG. 8 is a simplified logic flow diagram of a hash clustering system accordin present invention.
  • FIG. 1 A simplified arrangement of components of the dynamic playlist system 100 accc the present invention is schematically shown in FIG. 1, which includes a dynamic playlisl player 10, a content provider system 20, and a sort server 30, all interconnecte communications interface 40. Any number of computers 10, 20, and 30 can be intercc according to the present invention. For example, multiple client computers 10 can obtain provided by one or more content provider computers 20.
  • Communications interface 40 can be any type of bus, local area network, w network, or a global network such as the Internet.
  • communications inte includes wireless communications, satellite connections, or any other connection mean: not shown in detail as such interfaces are well-known and commonly used in conjunct distributed systems.
  • the playlist items can be played in linear order, as is dom traditional playlist, or in more exotic sequences after application of sorting or ⁇ algorithms.
  • the playlist items can be sorted by grouping frequency, i.e., apt of a pairing sort to the items.
  • User profiles can be applied to the sorting process, i.e., by items based on the user's meta-data, as discussed later, in connection with FIG. 8.
  • meta-elements can be added to the playlist, such as with music, the of an artist to the playlist. Then, when the playlist is used, the playlist queries a main se the existence of content relating to that meta-data. I.e. adding an artist or group would entire given artist or groups content to the playlist, or would add the content not removed links (listed dislikes) existing in a user's profile. Additionally, it could be configured to content that was highest ranked as returned by a collaborative filtering query focused on of the playlist' s content, up to a certain number of songs. What this would allow is the ere themed playhsts that were random, yet fit together. Additionally, it would allow 1 subscribe to artists and automatically have their playlists updated with new content, such an artist releases a new song, by having playlists which contained the meta-catego particular artist included in their playlist. That would be a valuable opportunity for both u artists to connect.
  • a playlist could also be made entirely of meta-elements. For example, it could two artists (a meta-category). First the system would build a result list of all the element have the meta-categories which are in the playlist, such as all the songs an artist has pi Next, a collaborative filtering query could be executed on the result list, to rank and/or items that the current user would most enjoy in the list. After that, various randomiz ordering algorithms could be applied to make the playlist "flow" in an effective mann item to item. For example, the pairing sort described in FIG. 6, to be described later, c executed. A playlist made in that manner would be fresh each time it was played, as i pick new content and alter its playback order each time it was used.
  • a pairing order sort could be appliei playlist, which would have the effect of ordering it in the most popular order. Therefore, pieces could be ordered to flow in the manner that most people have ordered them, wh most likely result in the most compatible ordering.
  • a sample pairing sort routine is showi 6, to be described later. Additionally, the most incompatible elements could optioi discarded from the sorted list.
  • a popularity sort could also be applied, wherein the results ranked based on overall popularity among all listeners, or the subset closest to the current creator.
  • the least popular items could be culled, or given higher weig] the user desired.
  • Other common sort mechanisms such as by artist, random, meta-catego popular, or album ordered could also be implemented.
  • FIG. 2 shows the arrangement of FIG. 1 in greater detail, including a simplified sc diagram of the major functional components of the dynamic playlist system IOC arrangement of FIG. 2 is one of many possible arrangements of the functional element present invention and serves to facilitate their description and general concept of the invention. Other arrangements will be described later.
  • the dynamic playlist system 100 is conceptionally organized into three separate s including a dynamic playlist content player system 110 and content provider server sysl arranged to operate in a known client-server mode.
  • Sort server system 130 is optiona extent that its function is to provide sophisticated filtering services by way of collal filtering algorithms, and operates in support of the dynamic playlist content player systen those embodiments calling for such services.
  • content item storage can be ⁇ function with local storage being locally accessible by dynamic playlist content player 110 with additional content being accessible from remote storage associated with one ⁇ content provider systems 120.
  • the dynamic playlist client system 110 includes a content player 10, which i known devices for playback of audio or video files, taking the form of popular c ⁇ programs for use on personal computers, as well as integrated video and audio stereo syst the preferred embodiment, content player 10 is operably connected to a content s program 11 and a playback program 12 arranged to operatively control peripheral including an output device 13, which can be any device configured to play or display file such as, for example, audio, graphic, and video files.
  • Video files can include motion films, computer games, and the like.
  • Content player 10 also includes, and is operably res to, known input, display, memory, and processor devices commonly associated with cor Content player 10 includes a data storage device 15 configured to operate one of any type storage model, including, but not limited to, a relational data base. Regardless of the data model employed, data storage device 15 includes storage of a meta-data playlist 16, ⁇ storage of local content items 17, and at least one user profile 18, all to be described later.
  • the content provider system 120 includes a content provider server 20, which is storage system 22 configured for storing content items, such as, for example, audio c content items.
  • the content items stored on content provider system 20 are stored in an known data storage models, such as, for example, a relational database. Stored content it associated with respective meta-information, both of which can be accessed over cornmu: interface 40 by content selection program 11 located on content player 10.
  • retrieved content items optionally can be post-processed by data mining re algorithms 32 located on sort server 30 and sorting and culling algorithms 14 associated 1 content player 10, and then output on output device 13.
  • any of the known relational alg can be used in connection with the present invention and all variations of algorithm t; installation configurations are intended to be included within the scope of the present ⁇ x such as, for example, the Firefly system as disclosed in U.S. Patent No. 5,749,081, 1 systems as disclosed in U.S. Patent Nos. 4,870,579 and 4,996,642, or the approaches in ti system as disclosed in U.S. Patent No. 5,724,567. All variations of algorithm tj installation configurations are intended to be included within the scope of the present inve
  • a sort server system 130 includes a server 30 configured to run profile based su recommendation or data mining algorithms 32, which also are not shown in detail, as the well-known and commonly used in the art of collaborative and recommendation f Alternatively, algorithms 32 can be located at any of the three computers 10, 20, , provided sufficient computational power and network throughout are available.
  • the soi 30 is comprised of a known collaborative filtering engine and a pairing sort system, as d( in FIGS. 6 and 7. It should be understood that the present invention might be readily adapted for a embodiments and modes of operation.
  • the content selection program playback program 12 could be accomplished using the directory structure of a hard drive indexed database of content to which a user has access.
  • the dynamic playlist system c implemented in a variety of devices and mediums.
  • Another form of the playlist content player 10 could take the form of a set top television be within a stereo sound system, with the database of available titles being stored eithei the devices themselves, or on a remote server system, which, potentially, can also se content.
  • aspects of the sort server system 130 and the content provider sysl can be integrated into the content player system 110.
  • FIG. 3 is a simplified flow diagram illustrating operation of one embodiment, tl form, in which only a content provider 120 and a playlist consumer 110 are required.
  • the playlist consumer picks a seed meta-category from the ;
  • the playlist consumer queries available content providers for all content pieces fitting the see category.
  • it then applies ranking or culling algorithms to the resul as randomly removing elements, or only keeping the top N most popular result items. ' . step S4 it inserts the results into the play queue, and continues at steps S5 and S6 to 1 meta-category in the playlist and repeats the process.
  • step S7 it performs an ⁇ ranking or culling sort on the play queue, such as randomizing the play order, and playback.
  • This mode of operation can be implemented in a non networked environmen less powerful than the recommendation mode of operation, to be described next, as it apply advanced sort routines to the playlist. However, it does allow a playlist can be uniq time it is expanded, and can add new content without having to modify the playlist w content providers make new content accessible.
  • FIG. 4 is a simplified flow diagram illustrating operation of one alternate embo called the recommendation form, in which a third system element, sort server system added to the basic form illustrated in FIG. 3.
  • the addition of a central sort server syst allows advanced profile based collaborative filtering or pairing sort queries to be performi the dynamic playlists.
  • the recommendation form playlist expansion is simila of the basic form, with the addition of the more sophisticated sort algorithms ranking and results after each step.
  • a meta-category is chosen as the seed from the playlist.
  • content providers are queried for available content in the seed meta-category and then tl content list is ranked and culled by performing a collaborative filtering query based on at items within the playlist, with any results not in the content list received from the providers discarded.
  • any additional ranking or culling algorithms performed, such as randomly discarding some elements, or ranking based on raw po]
  • the content list is inserted into the play queue, and the next meta-c in the playlist is chosen. At that point the process is repeated, using the results currentl play queue to seed a collaborative filtering request after each list of available content f returned from the content providers.
  • Upon seeding the play queue with all meta-categ final ranking and culling pass can be performed, using any of the common playlist mani algorithms, and optionally, a pairing sort algorithm, to be described in comiection with and 7.
  • playback can commence. As items are played back from the play qu system also reports to the sort server that the user has listened to the item, to al collaborative filtering system to increase its understanding of the content. Additionally, ei two songs are listened to in sequence, their pairing is submitted to the sort server's pail system to allow the pairing sorted to increase its understanding of the content as well.
  • FIG. 5 is a preferred rearrangement of the "client-server" configuration shown in wherein elements in common between FIGS. 2 and 5 share common reference m
  • Dynamic playlist content player 50 serves as content player 10 and further includes local storage functionality as well as operating to access content stored remotely at content 120.
  • This jukebox style arrangement includes a program configured to access aspects server 30 and content provider system 20.
  • the content player 10 is operably connec content selection program 11, the playback program 12, at least one sorting and culling a] program 14, stored content items 22, and an output device 13.
  • the dynamic playlist content player system 50 preferably is connec the Internet to a separate sort server system 130, and is configured to access both local co and available streamable content 22 from content provider systems 120.
  • the content provider systems 120 include a known indexed of content items and respective meta-information.
  • the content provider system is imp using a relational database such as, for example, the OracleTM relational database.
  • Tb providers serve their available content by any known means, such as, for example, t streaming media server like RealServerTM or via known direct http streaming systems IcecastTM.
  • a user using system 50 builds a playlist contain local content items and streamable items.
  • the playlist is a stored index of meta-data each having an association with separately stored one or more content items.
  • the conu may be stored locally or are streamable from a remote content provider.
  • the meta-data ⁇ can be of any configuration, and preferably include descriptors of at least one associatec item and optionally include descriptors relating to preferences of one or more users.
  • the playlist is submitted to the sort server sysl which performs the algorithm described in connection with FIG. 2 to expand all meta-c ⁇ into specific content items, by drawing upon the content available from the user's local] content pool and from streaming content providers.
  • the system returns the expandec to the jukebox program, which then uses the playlist like a standard static playlist.
  • the system records such instances in the meta-data associated user, i.e., the user profile.
  • a new now adapted to the expressed tastes of the playlist listener is generated and the rejected items are not selected based on the updated user profile.
  • the list is submitted to the sort server to execute a pairing al ⁇ described in connection with in FIGS. 6 and 7, to allow the pairing sort engine shown ir to further adapt to how the user ordered the playlist.
  • FIG. 6 is a simplified schematic diagram of a sample pairing sort engine suitable by dynamic playlist system 100 to further adapt to how the user ordered the playlist. pairing algorithms which produce comparable results are also suitable in the present im
  • CPU 60 receives input 62 in the form of the playlist as executed by the user using d contest content player system 110.
  • CPU 62 applies a flow order sort algorithm, or i algorithm, illustrated in FIG. 7, to input 62 and updates elements table 64 and pairs 1 stores the result for further use and optionally makes the result available on display 68.
  • FIG. 7 is a simplified flow diagram of the flow order sort algorithm used in the pairing sort engine shown in FIG. 6.
  • system 100 selects the first two item; and item 2, in the playlist.
  • steps S21 and S22 if it is determined that both items (e are not in the elements table 64 shown in FIG. 6, then the missing items(s) are inserted ii 64.
  • steps S23-S25 the system increments a weight between the first item and the item. This is accomplished, by determining that both items are in the elements table and a pair link exists between item 1 and item 2. If a pair link does not exist, then at step S2 pair link of strength 1 is inserted between items 1 and 2 and a TotalLinks counter of i incremented by 1.
  • step S25 determines whether more items exii playlist. If yes, at step S27, the inquiry is advanced by one item in the playlist so tha becomes item 1 and a new item becomes item 2. If no more items remain in the playlist step S28, the sort ends.
  • FIG. 8 is a simplified flow diagram of a hash clustering system according to the invention in which successive seed profiles are compared with all profiles.
  • dynamic playlist system 100 selects a user profile 18 from storage 17 and at step S40, o the seed against all profiles available to system 100.
  • the most similar pro clustered with the seed profile, and at step S43, the frequency of all elements in the c profiles are counted.
  • the most frequent items are used to build a hash p represent each respective cluster, and at step S45, the respective hash profile is placed ii table and the seed and clustered profiles are removed from the profile list. If more pro left to be considered, then at step S46, select the next user profile, make it the seed pro. continue the sequence at step S40.

Abstract

Method and system provided for creating a dynamic playlist including meta-data having potential association with a respective content item configured to be played on a content player, and having dynamic addition of subtraction of playlist items. The system maintains a database of linkages between elements associated with content items as well as weighted linkages between elements and respective properties. The system is a hybrid content based and collaborative filtering system, wherein the insertion of a new item into the database results in the new item sharing preference weights and number of preferences associated with items pre-existing in the database. Thus, an initial input query list of items potentially results in the return of many content, called a 'dynamic playlist', has a high correlation with the user's preference or with whatever other basis was used to frame the input list, and individual content items on the dynamic playlist may not have been previously experienced by the user.

Description

SYSTEM AND METHOD FOR CREATING DYNAMIC PLAYLISTS
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to a system and method for music andΛ playback, and more particularly, providing to the user recommendations of items which 1 yet been sampled by the user, based on a list of items already sampled by the user, uti method for the dynamic addition, subtraction and sorting of a queue of items for playback
2. Description of Related Art
The concept of a playlist is old, i.e. a static list of items to be played one by one its entirety, in the order listed in the playlist. So far, only rudimentary attempts at c playback have been made, consisting mainly of randomizing the order in which selectio the playlist are played. Some attempts have been made to let people quickly create playlis on particular artists, or albums, or styles of music. However, all of them are still a static they are created, and don't automatically reorder themselves in a pleasing way, or inc< new content which would fit with them as it is made available. Additionally, any complex concept such as building a playlist which contains more than one piece of m« such as, for example, more than one artist, typically requires complex Boolean logic sta to build, making such playlist creation processes inaccessible to those unskilled in ] techniques.
A system is needed that is easy to use, adapts to personal tastes, and can easil) subtract music or videos, as they become available. Such a system should provide m< random sorting and shuffle-play options to overcome the deficiencies of a static playlist the playlist becomes dynamic.
It is therefore a principal object of the present invention to provide a dynamic system and method for a dynamic playlist of digital items that automatically adds iten subtracts items from, the playlist, as the items become available. An object of the present invention is to provide the dynamic playlist system w data items are music or video items.
Another object of the present invention is to provide a dynamic playlist that dyn; adapts to usage patterns.
Another object of the present invention is to provide a dynamic playlist that dyn* adapts to personal preferences.
Another object of the present invention is to provide a dynamic playlist that is eas
SUMMARY OF THE INVENTION
The above objects are obtained according to the present invention in which a met system is provided for creating a dynamic playlist including meta-data having j association with a respective content item configured to be played on a content player.
The system maintains a database of linkages between elements associated with items as well as weighted linkages between elements and respective properties. The sysi hybrid content based and collaborative filtering system, wherein the insertion of a new it the database results in the new item sharing preference weights and number of prel associated with items pre-existing in the database. Thus, an initial input query list c potentially results in the return of many content items available from one or more providers, wherein the retrieved content, called a " dynamic playlist", has a high correlati the user's preference or with whatever other basis was used to frame the input list, and in< content items on the dynamic playlist may not have been previously experienced by the us
A dynamic playlist is a list of items that can be played in linear order, as is done traditional playlist, or in more exotic sequences after application of sorting or c algorithms. User profiles can be applied to the sorting process, i.e., by ranking items bi the user's meta-data, which can include usage patterns or explicit preferences, and furt order reflected by usage of other users.
The most useful aspect of a dynamic playlist is the dynamic addition and subtrac playlist items. This is accomplished by accepting at least one meta-category defined as a s least one criterion, where each criterion has a potential association with a content ite retrieving from at least one content provider a first result set of meta-data fitting an; criteria, wherein the first result set enables acquisition of content items to be played, filtered first result set is calculated by application of a collaborative filtering query algo the first result set, and then the filtered first result set is added to the dynamic playlist. Is system seeds a next meta-category, if any, with the result set and repeating the re calculating, inserting and seeding steps until all meta-categories have been proces; accordance with this method, an initial meta-category of selection preferences potentiall; in the return of many content items available from one or more content providers, whe retrieved content has a high correlation with the user's preference or with whatever otr was used to frame the meta-category.
The collaborative filtering query algorithm can be arranged to include the < playlist itself, which becomes especially meaningful subsequent successive playlist updal algorithm can also include user play pattern data including manual intervention detectei playing of contents associated with the dynamic playlist, or rating data indicative of prefe distaste for selected content items.
The method for creating a dynamic playlist also includes accessing a database co: to include meta-data elements, wherein each element defines at least one relationship be user and a respective content item, identifying at least one meta-category from the datab updating the database to include at least parts of the dynamic playlist.
The method for creating a dynamic playlist also includes applying a reordering al to the filtered first result set to obtain the dynamic playlist. The ordering algorithm is from a group of algorithms including a ranking algorithm, a random element removal al| a retention of top N most popular elements algorithm, and a pairing sort algorithm.
In a separate embodiment, a respective second result set is obtained for eac category, wherein the respective second result set includes meta-data identifying all conte fitting any at least one criterion of each meta-category. An ordering algorithm is applie second result set to obtain the dynamic playlist.
The pairing sort algorithm begins with selecting a first and second item from the determining if both elements are in an elements table, inserting whichever element is into the elements table, incrementing by 1 a pair link between the first and second eleme incrementing by 1 a counter associated with the second element. If a pair link exists betv first and second items, the algorithm inserts a new pair link of strength 1 between the J second items and increments by 1 a counter associated with the second item. If a pair li not exist between the first and second items, and if another item remains in the pla algorithm identifies the first item as the second item and the other item as the second iti sequence is repeated until no items remain in the playlist.
Alternatively, the input set can either be associated with other input sets by a pr< or be a seed user profile, i.e., a single individual or source that submits the input sets, or t set is simply collected on a stand-alone basis. This allows the creation of aggregate between a series of queries or seed actions. Finally, if the action is a query, several proj could be used to create a composite view of the multiple profiles, such as, for example, 1 song both a husband and wife would enjoy.
The pairing sort algorithm as applied to at least one user profile begins with sel seed user profile, and processes the steps of comparing the seed user profile against all a profiles, ranking all compared profiles by similarity to the selected seed profile, cluste most similar profiles with the seed profile, counting the frequency of all elements in the c profiles, building a hash profile of the most frequent items to represent each respective placing the respective hash profile in a hash table, removing the seed and clustered profi the profile list, identifying a next user profile, if available, as the seed user profile, and coi the sequence until no profiles are available.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other features of the present invention and the attendant advantages readily apparent to those having ordinary skill in the art, and the invention will be moi understood from the following detailed description of the preferred embodiments t conjunction with the accompanying drawings, wherein like reference characters repres parts throughout the several views.
FIG. 1 is a highly simplified schematic drawing of components of the dynamic system 100 according to the present invention; FIG. 2 is a simplified schematic drawing showing more details the system shown l;
FIG. 3 is a logic flow diagram of the basic mode dynamic playlist algorithm acco the present invention;
FIG. 4 is a logic flow diagram of the recommendation mode dynamic playlist a] according to the present invention;
FIG. 5 is a schematic drawing of the recommendation mode dynamic playlist a] according to the present invention;
FIG. 6 is a schematic drawing of a sample pairing sort system according to the invention;
FIG. 7 is a logic flow diagram of a sample pairing sort seed algorithm accordiri present invention;
FIG. 8 is a simplified logic flow diagram of a hash clustering system accordin present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
A simplified arrangement of components of the dynamic playlist system 100 accc the present invention is schematically shown in FIG. 1, which includes a dynamic playlisl player 10, a content provider system 20, and a sort server 30, all interconnecte communications interface 40. Any number of computers 10, 20, and 30 can be intercc according to the present invention. For example, multiple client computers 10 can obtain provided by one or more content provider computers 20.
Communications interface 40 can be any type of bus, local area network, w network, or a global network such as the Internet. Alternatively, communications inte includes wireless communications, satellite connections, or any other connection mean: not shown in detail as such interfaces are well-known and commonly used in conjunct distributed systems. In a dynamic playlist, the playlist items can be played in linear order, as is dom traditional playlist, or in more exotic sequences after application of sorting or < algorithms. For example, the playlist items can be sorted by grouping frequency, i.e., apt of a pairing sort to the items. User profiles can be applied to the sorting process, i.e., by items based on the user's meta-data, as discussed later, in connection with FIG. 8. The it be ranked by other user order frequencies, such as, for example, the order reflected in other users. While these all create a much more interesting playback order, somew having a disk jockey who understands both the music/videos and the person listening/v them, the most useful aspect of a dynamic playlist is the dynamic addition and subtraction
Specifically, meta-elements can be added to the playlist, such as with music, the of an artist to the playlist. Then, when the playlist is used, the playlist queries a main se the existence of content relating to that meta-data. I.e. adding an artist or group would entire given artist or groups content to the playlist, or would add the content not removed links (listed dislikes) existing in a user's profile. Additionally, it could be configured to content that was highest ranked as returned by a collaborative filtering query focused on of the playlist' s content, up to a certain number of songs. What this would allow is the ere themed playhsts that were random, yet fit together. Additionally, it would allow 1 subscribe to artists and automatically have their playlists updated with new content, such an artist releases a new song, by having playlists which contained the meta-catego particular artist included in their playlist. That would be a valuable opportunity for both u artists to connect.
A playlist could also be made entirely of meta-elements. For example, it could two artists (a meta-category). First the system would build a result list of all the element have the meta-categories which are in the playlist, such as all the songs an artist has pi Next, a collaborative filtering query could be executed on the result list, to rank and/or items that the current user would most enjoy in the list. After that, various randomiz ordering algorithms could be applied to make the playlist "flow" in an effective mann item to item. For example, the pairing sort described in FIG. 6, to be described later, c executed. A playlist made in that manner would be fresh each time it was played, as i pick new content and alter its playback order each time it was used. Additionally, several ranking and/or culling techniques can be applied to the g< playlists before or during playback. For example, a pairing order sort could be appliei playlist, which would have the effect of ordering it in the most popular order. Therefore, pieces could be ordered to flow in the manner that most people have ordered them, wh most likely result in the most compatible ordering. A sample pairing sort routine is showi 6, to be described later. Additionally, the most incompatible elements could optioi discarded from the sorted list.
As another example, a popularity sort could also be applied, wherein the results ranked based on overall popularity among all listeners, or the subset closest to the current creator. As another option, the least popular items could be culled, or given higher weig] the user desired. Other common sort mechanisms, such as by artist, random, meta-catego popular, or album ordered could also be implemented.
FIG. 2 shows the arrangement of FIG. 1 in greater detail, including a simplified sc diagram of the major functional components of the dynamic playlist system IOC arrangement of FIG. 2 is one of many possible arrangements of the functional element present invention and serves to facilitate their description and general concept of the invention. Other arrangements will be described later.
The dynamic playlist system 100 is conceptionally organized into three separate s including a dynamic playlist content player system 110 and content provider server sysl arranged to operate in a known client-server mode. Sort server system 130 is optiona extent that its function is to provide sophisticated filtering services by way of collal filtering algorithms, and operates in support of the dynamic playlist content player systen those embodiments calling for such services. Moreover, content item storage can be ∑ function with local storage being locally accessible by dynamic playlist content player 110 with additional content being accessible from remote storage associated with one ι content provider systems 120.
The dynamic playlist client system 110 includes a content player 10, which i known devices for playback of audio or video files, taking the form of popular c< programs for use on personal computers, as well as integrated video and audio stereo syst the preferred embodiment, content player 10 is operably connected to a content s program 11 and a playback program 12 arranged to operatively control peripheral including an output device 13, which can be any device configured to play or display file such as, for example, audio, graphic, and video files. Video files can include motion films, computer games, and the like. Content player 10 also includes, and is operably res to, known input, display, memory, and processor devices commonly associated with cor Content player 10 includes a data storage device 15 configured to operate one of any type storage model, including, but not limited to, a relational data base. Regardless of the data model employed, data storage device 15 includes storage of a meta-data playlist 16, < storage of local content items 17, and at least one user profile 18, all to be described later.
The content provider system 120 includes a content provider server 20, which is storage system 22 configured for storing content items, such as, for example, audio c content items. The content items stored on content provider system 20 are stored in an known data storage models, such as, for example, a relational database. Stored content it associated with respective meta-information, both of which can be accessed over cornmu: interface 40 by content selection program 11 located on content player 10. As discussed i below, retrieved content items optionally can be post-processed by data mining re algorithms 32 located on sort server 30 and sorting and culling algorithms 14 associated 1 content player 10, and then output on output device 13. Any of the known relational alg can be used in connection with the present invention and all variations of algorithm t; installation configurations are intended to be included within the scope of the present υx such as, for example, the Firefly system as disclosed in U.S. Patent No. 5,749,081, 1 systems as disclosed in U.S. Patent Nos. 4,870,579 and 4,996,642, or the approaches in ti system as disclosed in U.S. Patent No. 5,724,567. All variations of algorithm tj installation configurations are intended to be included within the scope of the present inve
A sort server system 130 includes a server 30 configured to run profile based su recommendation or data mining algorithms 32, which also are not shown in detail, as the well-known and commonly used in the art of collaborative and recommendation f Alternatively, algorithms 32 can be located at any of the three computers 10, 20, , provided sufficient computational power and network throughout are available. The soi 30 is comprised of a known collaborative filtering engine and a pairing sort system, as d( in FIGS. 6 and 7. It should be understood that the present invention might be readily adapted for a embodiments and modes of operation. For example, the content selection program playback program 12 could be accomplished using the directory structure of a hard drive indexed database of content to which a user has access. The dynamic playlist system c implemented in a variety of devices and mediums. For example, a computer program w any of the many languages such as C++, that would allow advanced data structures platform that would allow content playback, could serve as the playlist content pla Another form of the playlist content player 10 could take the form of a set top television be within a stereo sound system, with the database of available titles being stored eithei the devices themselves, or on a remote server system, which, potentially, can also se content. Additionally, aspects of the sort server system 130 and the content provider sysl can be integrated into the content player system 110.
FIG. 3 is a simplified flow diagram illustrating operation of one embodiment, tl form, in which only a content provider 120 and a playlist consumer 110 are required. At when a playlist is executed, the playlist consumer picks a seed meta-category from the ; At step S2, It then queries available content providers for all content pieces fitting the see category. At step S3, optionally, it then applies ranking or culling algorithms to the resul as randomly removing elements, or only keeping the top N most popular result items. '. step S4 it inserts the results into the play queue, and continues at steps S5 and S6 to 1 meta-category in the playlist and repeats the process. Finally, at step S7, it performs an < ranking or culling sort on the play queue, such as randomizing the play order, and playback. This mode of operation can be implemented in a non networked environmen less powerful than the recommendation mode of operation, to be described next, as it apply advanced sort routines to the playlist. However, it does allow a playlist can be uniq time it is expanded, and can add new content without having to modify the playlist w content providers make new content accessible.
FIG. 4 is a simplified flow diagram illustrating operation of one alternate embo called the recommendation form, in which a third system element, sort server system added to the basic form illustrated in FIG. 3. The addition of a central sort server syst allows advanced profile based collaborative filtering or pairing sort queries to be performi the dynamic playlists. In operation, the recommendation form playlist expansion is simila of the basic form, with the addition of the more sophisticated sort algorithms ranking and results after each step.
At step S8, a meta-category is chosen as the seed from the playlist. At step content providers are queried for available content in the seed meta-category and then tl content list is ranked and culled by performing a collaborative filtering query based on at items within the playlist, with any results not in the content list received from the providers discarded. At optional step S10, any additional ranking or culling algorithms performed, such as randomly discarding some elements, or ranking based on raw po] Next, at steps SI 1-S13 the content list is inserted into the play queue, and the next meta-c in the playlist is chosen. At that point the process is repeated, using the results currentl play queue to seed a collaborative filtering request after each list of available content f returned from the content providers. Upon seeding the play queue with all meta-categ final ranking and culling pass can be performed, using any of the common playlist mani algorithms, and optionally, a pairing sort algorithm, to be described in comiection with and 7.
Finally, playback can commence. As items are played back from the play qu system also reports to the sort server that the user has listened to the item, to al collaborative filtering system to increase its understanding of the content. Additionally, ei two songs are listened to in sequence, their pairing is submitted to the sort server's pail system to allow the pairing sorted to increase its understanding of the content as well.
FIG. 5 is a preferred rearrangement of the "client-server" configuration shown in wherein elements in common between FIGS. 2 and 5 share common reference m Dynamic playlist content player 50 serves as content player 10 and further includes local storage functionality as well as operating to access content stored remotely at content 120. This jukebox style arrangement includes a program configured to access aspects server 30 and content provider system 20. The content player 10 is operably connec content selection program 11, the playback program 12, at least one sorting and culling a] program 14, stored content items 22, and an output device 13.
In operation, the dynamic playlist content player system 50 preferably is connec the Internet to a separate sort server system 130, and is configured to access both local co and available streamable content 22 from content provider systems 120. Thus, man; players can access any of multiple content provider systems as well as their r individually stored content. The content provider systems 120 include a known indexed of content items and respective meta-information. The content provider system is imp using a relational database such as, for example, the Oracle™ relational database. Tb providers serve their available content by any known means, such as, for example, t streaming media server like RealServer™ or via known direct http streaming systems Icecast™.
In the preferred embodiment, a user using system 50 builds a playlist contain local content items and streamable items. The playlist is a stored index of meta-data each having an association with separately stored one or more content items. The conu may be stored locally or are streamable from a remote content provider. The meta-data ι can be of any configuration, and preferably include descriptors of at least one associatec item and optionally include descriptors relating to preferences of one or more users.
When the user plays the playlist, the playlist is submitted to the sort server sysl which performs the algorithm described in connection with FIG. 2 to expand all meta-c∑ into specific content items, by drawing upon the content available from the user's local] content pool and from streaming content providers. The system the returns the expandec to the jukebox program, which then uses the playlist like a standard static playlist. Op when the user expresses dislike for a particular content item, either by skipping the through a rating system, the system records such instances in the meta-data associated user, i.e., the user profile. Upon resubmission of the playlist to the sort server, a new now adapted to the expressed tastes of the playlist listener is generated and the rejected items are not selected based on the updated user profile. After the user stops or plays coi through the playlist, the list is submitted to the sort server to execute a pairing al^ described in connection with in FIGS. 6 and 7, to allow the pairing sort engine shown ir to further adapt to how the user ordered the playlist.
FIG. 6 is a simplified schematic diagram of a sample pairing sort engine suitable by dynamic playlist system 100 to further adapt to how the user ordered the playlist. pairing algorithms which produce comparable results are also suitable in the present im CPU 60 receives input 62 in the form of the playlist as executed by the user using d contest content player system 110. CPU 62 applies a flow order sort algorithm, or i algorithm, illustrated in FIG. 7, to input 62 and updates elements table 64 and pairs 1 stores the result for further use and optionally makes the result available on display 68.
FIG. 7 is a simplified flow diagram of the flow order sort algorithm used in the pairing sort engine shown in FIG. 6. At step S20, system 100 selects the first two item; and item 2, in the playlist. At steps S21 and S22, if it is determined that both items (e are not in the elements table 64 shown in FIG. 6, then the missing items(s) are inserted ii 64. At steps S23-S25, the system increments a weight between the first item and the item. This is accomplished, by determining that both items are in the elements table and a pair link exists between item 1 and item 2. If a pair link does not exist, then at step S2 pair link of strength 1 is inserted between items 1 and 2 and a TotalLinks counter of i incremented by 1. If a pair link does exist between items 1 and 2, then at step S25, the link in incremented by 1 and the TotalLinks counter of item 2 is incremented by 1. ] case, after the appropriate insertion step, step S26 determines whether more items exii playlist. If yes, at step S27, the inquiry is advanced by one item in the playlist so tha becomes item 1 and a new item becomes item 2. If no more items remain in the playlist step S28, the sort ends.
FIG. 8 is a simplified flow diagram of a hash clustering system according to the invention in which successive seed profiles are compared with all profiles. At step ! dynamic playlist system 100 selects a user profile 18 from storage 17 and at step S40, o the seed against all profiles available to system 100. At step S41, all compared pro ranked by similarity to the selected seed profile. At step S42, the most similar pro clustered with the seed profile, and at step S43, the frequency of all elements in the c profiles are counted. At step S44, the most frequent items are used to build a hash p represent each respective cluster, and at step S45, the respective hash profile is placed ii table and the seed and clustered profiles are removed from the profile list. If more pro left to be considered, then at step S46, select the next user profile, make it the seed pro. continue the sequence at step S40.
While this invention has been described in conjunction with specific embo thereof, it is evident that many alternative modifications and variations will be apparent skilled in the art. Accordingly, the preferred embodiments of the invention as set forth he intended to be illustrative, not limiting. Various changes may be made without departi the true spirit and scope of the invention as defined in the following claims.

Claims

CLAIMS:
1. A dynamic playlist computer system for creating a dynamic playlist comprising:
a storage component configured to store an elements table and a pairs table;
a first component configured to accept at least one meta-category, said at least oi category being a set of at least one criterion, said at least one criterion having a ] association with a content item;
a second component configured to retrieve from at least one content provider a rest meta-data fitting any said at least one criterion, wherein said result set enables ac< of content items associated with said meta-data;
a third component configured to insert the result set to said dynamic playlist; and
a fourth component configured to seed a next meta-category, if any, with the result ι
2. The dynamic playlist client system set forth in claim 1 further comprising a fifth coi configured to reorder the dynamic playlist after insertion of the at least one cont into the dynamic playlist.
3. The dynamic playlist client system set forth in claim 1 further comprising component configured to reorder the dynamic playlist after insertion of the at 1 content item into the dynamic playlist.
4. The dynamic playlist client system set forth in claim 3 further comprising a compc culling the at least one content item, whereby at least one of the at least one conten removed.
5. The dynamic playlist client system set forth in claim 1 further comprising a so: configured to perform collaborative filtering and paring sort calculations, said so being connected to said client component over the communications interface.
6. A method for creating a dynamic playlist, the dynamic playlist including meta-data association with a respective content item configured to be played on a content pla method comprising the steps of:
accepting at least one meta-category, said at least one meta-category being a set of one criterion, said at least one criterion having a potential association with a content
retrieving from at least one content provider a result set of meta-data fitting any said one criterion, wherein said result set enables acquisition of content items associat said meta-data;
inserting the result set to said dynamic playlist; and
seeding a next meta-category, if any, with the result set and repeating said ret inserting and seeding steps until all meta-categories have been pr
7. The method for creating a dynamic playlist set forth in claim 6 wherein, the method comprises applying a reordering algorithm to the result set to obtain the dynamic pla
8. The method for creating a dynamic playlist set forth in claim 7 wherein said rec algorithm is selected from a group of algorithms including a ranking algorithm, a element removal algorithm and a retention of top N most popular elements algorithπ
9. The method for creating a dynamic playlist set forth in claim 6 further comprising i of applying an ordering algorithm to the dynamic playlist.
10. The method for creating a dynamic playlist set forth in claim 6 wherein said c algorithm is a random reordering algorithm.
11. The method for creating a dynamic playlist set forth in claim 6 wherein said at le content provider is a provider selected from a group of providers including a loca collection, a central content server, and a peer-to-peer computer system.
12. A method for creating a dynamic playlist, the dynamic playlist including meta-data association with a respective content item configured to be played on a content pla; method comprising the steps of: accepting at least one meta-category, said at least one meta-category being a set of one criterion, said at least one criterion having a potential association with a content
retrieving from at least one content provider a result set of meta-data fitting any saic one criterion, wherein said result set enables acquisition of content items associai said meta-data;
calculating a filtered result set by application of a collaborative filtering query algo the result set;
inserting said filtered result set to said dynamic playlist; and
seeding a next meta-category, if any, with the result set and repeating said re calculating, inserting and seeding steps until all meta-categories have been process^
13. The method for creating a dynamic playlist set forth in claim 12 wherein the colla filtering query algorithm includes user play pattern data, said user play pattern incl least one manual intervention detected during playing of contents associated 7 dynamic playlist.
14. The method for creating a dynamic playlist set forth in claim 12 wherein said at 1 content provider is a provider selected from a group of providers including a loc collection, a central content server, and a peer-to-peer computer system.
15. The method for creating a dynamic playlist as set forth in claim 14 whe collaborative filtering query algorithm includes rating data, said rating data being ii of preference and distaste for selected content items.
16. The method for creating a dynamic playlist set forth in claim 15 wherein, the further comprises the step of applying a first reordering algorithm to the filtered res
17. The method for creating a dynamic playlist set forth in claim 16 wherein s reordering algorithm is selected from a group of algorithms including a ranking al a random element removal algorithm, a retention of top N most popular elements al and a pairing sort algorithm.
18. The method for creating a dynamic playlist set forth in claim 17 further comprising of applying an second reordering algorithm to the dynamic playlist.
19. The method for creating a dynamic playlist set forth in claim 18 wherein said reordering algorithm is a random reordering algorithm.
20. The method for creating a dynamic playlist set forth in claim 19 wherein each insl said meta-data comprises an element and said pairing sort algorithm comprises the s
selecting a first and second element from the playlist;
determining if both elements are in an elements table and inserting whichever ele missing into the elements table;
incrementing a weight between the first element and the second element; and
determining that another element remains in the playlist and if present, identifying s element as said second element and said another element as said second eleme repeating said determining, incrementing and inserting steps until no elements remai playlist.
21. The method for creating a dynamic playlist set forth in claim 20 wherein said at le meta-category is at least one user profile having associated elements, the method comprising the steps of:
selecting a seed user profile;
comparing the seed user profile against all available profiles;
ranking all compared profiles by similarity to the selected seed profile;
clustering the most similar profiles with the seed profile;
counting the frequency of all elements in the clustered profiles;
building a hash profile of the most frequent items to represent each respective clustei
placing the respective hash profile in a hash table; removing the seed and clustered profiles from the profile list;
identifying a next user profile, if available, as the seed user profile; and
continuing said comparing through identifying steps until no profiles are
22. A method for creating a dynamic playlist, the dynamic playlist including meta-dau association with a respective content item configured to be played on a content ph method comprising the steps of:
accepting at least one meta-category, said at least one meta-category being a set ol one criterion, said at least one criterion having a potential association with a content
retrieving from at least one content provider a result set of meta-data fitting any saic one criterion, wherein said result set enables acquisition of content items associai said meta-data, said at least one content provider being a provider selected from a j providers including a local music collection, a central content server, and a peei computer system;
calculating a filtered result set by application of a collaborative filtering query algo the result set;
applying a reordering algorithm to the filtered result set, said reordering algorithi selected from a group of algorithms including a ranking algorithm, a random removal algorithm, a retention of top N most popular elements algorithm, and a pau algorithm;
inserting said filtered result set to said dynamic playlist; and
seeding a next meta-category, if any, with the result set and repeating said ret calculating, inserting and seeding steps until all meta-categories have been processe
23. The method for creating a dynamic playlist set forth in claim 22 wherein each insl said meta-data comprises an element and said pairing sort algorithm comprises the s'
selecting a first and second element from the playlist; determining if both elements are in an elements table and inserting whichever elen missing into the elements table;
incrementing a weight between the first element and the second element; and
determining that another element remains in the playlist and if present, identifying sai element as said second element and said another element as said second elemen repeating said determining, incrementing and inserting steps until no elements remain playlist.
24. The method for creating a dynamic playlist set forth in claim 23 wherein said at lea meta-category is at least one user profile having associated elements, the method f comprising the steps of:
selecting a seed user profile;
comparing the seed user profile against all available profiles;
ranking all compared profiles by similarity to the selected seed profile;
clustering the most similar profiles with the seed profile;
counting the frequency of all elements in the clustered profiles;
building a hash profile of the most frequent items to represent each respective cluster;
placing the respective hash profile in a hash table;
removing the seed and clustered profiles from the profile list;
identifying a next user profile, if available, as the seed user profile; and
continuing said comparing through identifying steps until no profiles are avai
PCT/US2003/003005 2003-02-03 2003-02-03 System and method for creating dynamic playlists WO2004071094A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2003207785A AU2003207785A1 (en) 2003-02-03 2003-02-03 System and method for creating dynamic playlists
PCT/US2003/003005 WO2004071094A1 (en) 2003-02-03 2003-02-03 System and method for creating dynamic playlists

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2003/003005 WO2004071094A1 (en) 2003-02-03 2003-02-03 System and method for creating dynamic playlists

Publications (1)

Publication Number Publication Date
WO2004071094A1 true WO2004071094A1 (en) 2004-08-19

Family

ID=32848669

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/003005 WO2004071094A1 (en) 2003-02-03 2003-02-03 System and method for creating dynamic playlists

Country Status (2)

Country Link
AU (1) AU2003207785A1 (en)
WO (1) WO2004071094A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006082566A1 (en) * 2005-02-03 2006-08-10 Koninklijke Philips Electronics, N.V. System and method for influencing media selection in a common area
WO2006087672A2 (en) 2005-02-15 2006-08-24 Koninklijke Philips Electronics, N.V. Automatic personal play list generation based on external factors such as weather, financial market, media sales or calendar data
WO2007081591A2 (en) * 2006-01-04 2007-07-19 Motorola, Inc. Method and apparatus for identifying related media across playback platforms
WO2008016416A2 (en) * 2006-08-01 2008-02-07 Sbc Knowledge Ventures, L.P. System and method of providing community content
US8725740B2 (en) 2008-03-24 2014-05-13 Napo Enterprises, Llc Active playlist having dynamic media item groups
US8977771B2 (en) 2007-10-02 2015-03-10 International Business Machines Corporation Managing a plurality of media files for distribution using an archive
US9432431B2 (en) 2014-03-18 2016-08-30 Accenture Global Servicse Limited Manifest re-assembler for a streaming video channel
WO2017116231A1 (en) * 2015-12-30 2017-07-06 Rollin Video Tech B.V. Live-stream video advertisement system
US10116981B2 (en) 2016-08-01 2018-10-30 Microsoft Technology Licensing, Llc Video management system for generating video segment playlist using enhanced segmented videos

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5616876A (en) * 1995-04-19 1997-04-01 Microsoft Corporation System and methods for selecting music on the basis of subjective content
WO2001035667A1 (en) * 1999-11-10 2001-05-17 Launch Media, Inc. Internet radio and broadcast method
US20020116517A1 (en) * 2001-01-17 2002-08-22 Hudson Michael D. Virtual program streaming multi-media system
US20020138641A1 (en) * 2001-03-26 2002-09-26 Taylor Christopher Stephen Targeted multimedia proxy server (tmps)

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5616876A (en) * 1995-04-19 1997-04-01 Microsoft Corporation System and methods for selecting music on the basis of subjective content
WO2001035667A1 (en) * 1999-11-10 2001-05-17 Launch Media, Inc. Internet radio and broadcast method
US20020116517A1 (en) * 2001-01-17 2002-08-22 Hudson Michael D. Virtual program streaming multi-media system
US20020138641A1 (en) * 2001-03-26 2002-09-26 Taylor Christopher Stephen Targeted multimedia proxy server (tmps)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006082566A1 (en) * 2005-02-03 2006-08-10 Koninklijke Philips Electronics, N.V. System and method for influencing media selection in a common area
WO2006087672A2 (en) 2005-02-15 2006-08-24 Koninklijke Philips Electronics, N.V. Automatic personal play list generation based on external factors such as weather, financial market, media sales or calendar data
WO2006087672A3 (en) * 2005-02-15 2006-11-09 Koninkl Philips Electronics Nv Automatic personal play list generation based on external factors such as weather, financial market, media sales or calendar data
WO2007081591A3 (en) * 2006-01-04 2008-05-22 Motorola Inc Method and apparatus for identifying related media across playback platforms
WO2007081591A2 (en) * 2006-01-04 2007-07-19 Motorola, Inc. Method and apparatus for identifying related media across playback platforms
WO2008016416A3 (en) * 2006-08-01 2009-02-19 Sbc Knowledge Ventures Lp System and method of providing community content
WO2008016416A2 (en) * 2006-08-01 2008-02-07 Sbc Knowledge Ventures, L.P. System and method of providing community content
US8977771B2 (en) 2007-10-02 2015-03-10 International Business Machines Corporation Managing a plurality of media files for distribution using an archive
US8725740B2 (en) 2008-03-24 2014-05-13 Napo Enterprises, Llc Active playlist having dynamic media item groups
US9432431B2 (en) 2014-03-18 2016-08-30 Accenture Global Servicse Limited Manifest re-assembler for a streaming video channel
US9948965B2 (en) 2014-03-18 2018-04-17 Accenture Global Services Limited Manifest re-assembler for a streaming video channel
WO2017116231A1 (en) * 2015-12-30 2017-07-06 Rollin Video Tech B.V. Live-stream video advertisement system
NL2016051B1 (en) * 2015-12-30 2017-07-12 Rollin Video Tech B V Live-stream video advertisement system
US10116981B2 (en) 2016-08-01 2018-10-30 Microsoft Technology Licensing, Llc Video management system for generating video segment playlist using enhanced segmented videos

Also Published As

Publication number Publication date
AU2003207785A1 (en) 2004-08-30

Similar Documents

Publication Publication Date Title
US6526411B1 (en) System and method for creating dynamic playlists
US10860611B2 (en) Method for sharing and searching playlists
US8903843B2 (en) Historical media recommendation service
US7693887B2 (en) Dynamic identification of a new set of media items responsive to an input mediaset
US8200602B2 (en) System and method for creating thematic listening experiences in a networked peer media recommendation environment
US7454509B2 (en) Online playback system with community bias
KR101217421B1 (en) Media item clustering based on similarity data
US7840620B2 (en) Hierarchical playlist generator
US8762847B2 (en) Graphical user interface system for allowing management of a media item playlist based on a preference scoring system
US8090606B2 (en) Embedded media recommendations
CN104182413B (en) The recommendation method and system of multimedia content
RU2595575C2 (en) Method of synchronising digital multimedia content
US20050015712A1 (en) Resolving metadata matched to media content
US20090083116A1 (en) Heavy influencer media recommendations
US20090138457A1 (en) Grouping and weighting media categories with time periods
AU2001271980A1 (en) Online playback system with community bias
JP2001155038A (en) User inclination information structure having multi- hierarchy structure, and method for providing multimedia information by utilizing the same
WO2007109095A1 (en) System and method for creating custom playlists based on user inputs
WO2004071094A1 (en) System and method for creating dynamic playlists
JP2003323458A (en) Information retrieval method and its device, execution program of method and recording medium recording execution program of method
EP2096558A1 (en) Method for generating an ordered list of content items
US20080177773A1 (en) Customized media selection using degrees of separation techniques
EP2000968A1 (en) Method, system and computer readable medium for providing recommendations to a group

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP

DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)