US8572098B2ActiveUtilityA1

Client playlist generation

77
Assignee: WEARE CHRISTOPHER BPriority: Oct 12, 2009Filed: Oct 12, 2009Granted: Oct 29, 2013
Est. expiryOct 12, 2029(~3.3 yrs left)· nominal 20-yr term from priority
G06F 16/639G06F 16/634G06F 16/68G06F 16/48G06F 16/4387
77
PatentIndex Score
9
Cited by
21
References
19
Claims

Abstract

Client playlist generation is described. In embodiments, relationships between media assets are determined to identify similar media assets that can be included in an automatic playlist of the similar media assets. Projection vectors of the asset-to-asset relationships can be generated for each of the media assets, where a projection vector for a media asset identifies the similar media assets. The projection vectors are then communicated to a client device that utilizes the projection vectors to generate the automatic playlist for any one of the media assets that is selected as a starting media asset of the automatic playlist.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A computer-implemented method, comprising:
 determining asset-to-asset relationships to identify similar media assets that can be included in an automatic playlist of the similar media assets; 
 generating projection vectors of the asset-to-asset relationships for each of the media assets utilizing random projection, each projection vector for a media asset initialized to a dimension length for elements of the projection vector that identifies the similar media assets, and for each of the similar media assets: 
 applying a hashing algorithm to an asset identifier that is unique to a similar media asset to derive an integer number; 
 utilizing a random number generator to generate a series of random numbers for the similar media asset from the integer number, the series of random numbers that are generated corresponding to the dimension length of the projection vector; 
 generating a product by multiplying one of the random numbers by a weight of the asset-to-asset relationship between the media asset and the similar media asset, the weight of the asset-to-asset relationship indicating a similarity between the media asset and the similar media asset; 
 adding the product to the projection vector for the media asset at a next position index in the projection vector; and 
 quantizing the product for each element of the projection vector for the media asset to produce a binary representation of the elements; and 
 communicating the projection vectors for each of the media assets to a client device that is configured to utilize the projection vectors to generate the automatic playlist for any one of the media assets that is selected as a starting media asset of the automatic playlist. 
 
     
     
       2. A computer-implemented method as recited in  claim 1 , wherein the media assets are at least one of digital files of music tracks, books stored as digital media, or video programs. 
     
     
       3. A computer-implemented method as recited in  claim 1 , wherein the media assets are music tracks stored for playback at the client device, and wherein the method further comprises:
 determining track-to-track relationships to identify similar music tracks that can be used for generation of the automatic playlist of the similar music tracks; 
 generating the projection vectors of the track-to-track relationships for each of the music tracks, the projection vector for a music track identifying the similar music tracks; and 
 communicating the projection vectors to the client device that is configured to utilize the projection vectors to generate the automatic playlist for any one of the music tracks that is selected as a starting music track of the automatic playlist. 
 
     
     
       4. A computer-implemented method as recited in  claim 3 , further comprising receiving a request from the client device for the projection vectors that are generated at a music service provider; and
 wherein the client device is further configured to utilize the projection vectors to generate the automatic playlist when off-line from the music service provider. 
 
     
     
       5. A computer-implemented method as recited in  claim 4 , further comprising:
 receiving the automatic playlist from the client device after the automatic playlist is generated; and 
 determining additional music tracks that are related to the similar music tracks in the automatic playlist, wherein the additional music tracks are not stored for playback at the client device. 
 
     
     
       6. A computer-implemented method as recited in  claim 3 , further comprising utilizing random projection to generate the projection vectors of the track-to-track relationships for each of the music tracks. 
     
     
       7. A computer-implemented method as recited in  claim 6 , wherein a projection vector for a music track is generated based on a weighted similarity measure between the music track and each of the similar music tracks. 
     
     
       8. A computer-implemented method as recited in  claim 6 , further comprising generating the projection vector for the music track by initializing the projection vector of the dimension length, and for each of the similar music tracks:
 generating the series of random numbers from a track identifier that is unique to each of the similar music tracks; and 
 generating the product by multiplying one of the random numbers by a weight of the track-to-track relationship between the music track and the similar music track. 
 
     
     
       9. A computer-implemented method as recited in  claim 1 , further comprising:
 updating the asset-to-asset relationships to include additional media assets; 
 generating additional projection vectors of the asset-to-asset relationships for each of the additional media assets; and 
 communicating the additional projection vectors to update the client device for the additional media assets. 
 
     
     
       10. A computer-implemented method as recited in  claim 1 , further comprising:
 receiving the automatic playlist from the client device after the automatic playlist is generated by the client device, the automatic playlist comprising media assets that are stored for playback by the client device; and 
 determining additional media assets that are related to the similar media assets in the automatic playlist, the additional media assets available to the client device for download. 
 
     
     
       11. A computer-implemented method as recited in  claim 10 , wherein the additional media assets that are available to the client device for download are not stored for playback at the client device when the additional media assets are determined. 
     
     
       12. A music service provider, comprising:
 storage media configured to maintain media asset relationship data that identifies music tracks; 
 a communication device configured to communicate projection vectors to a client device that is configured to utilize the projection vectors to generate an automatic playlist for any one of the music tracks that is selected as a starting music track of the automatic playlist; 
 at least a memory and a processor that implement an asset model generation service configured to: 
 determine track-to-track relationships from the media asset relationship data to identify similar music tracks that can be included in the automatic playlist of the similar music tracks; 
 generate the projection vectors of the track-to-track relationships for each of the music tracks utilizing random projection, each projection vector for a music track initialized to a dimension length for elements of the projection vector that identifies the similar music tracks, and for each of the similar music tracks: 
 apply a hashing algorithm to a track identifier that is unique to a similar music track to derive an integer number; 
 generate a series of random number from a numbers for the track identifier from the integer number that is unique to a similar music track, the series of random number numbers that are generated corresponding to the dimension length of the projection vector; 
 generate a product by multiplying one of the random number numbers by a weight of the track-to-track relationship between the music track and the similar music track, the weight of the track-to-track relationship indicating a similarity between the music track and the similar music track; 
 add the product to the projection vector for the music track at a next position index in the projection vector, the product being added to the projection vector as an element of the projection vector; and 
 quantize the product for each element of the projection vector for the music track to produce a binary representation of the elements as either zero (0) or positive one (+1). 
 
     
     
       13. A music service provider as recited in  claim 12 , wherein a projection vector for a music track is generated based on a weighted similarity measure between the music track and each of the similar music tracks. 
     
     
       14. A music service provider as recited in  claim 12 , wherein the asset model generation service is further configured to:
 receive the automatic playlist from the client device after the automatic playlist is generated; and 
 determine additional music tracks that are related to the similar music tracks in the automatic playlist, wherein the additional music tracks are not stored for playback at the client device. 
 
     
     
       15. A client device, comprising:
 a storage media configured to maintain a library of music tracks and projection vectors of track-to-track relationships for each of the music tracks, a projection vector for a music track identifying similar music tracks; 
 at least a memory and a processor that implement a playlist generator configured to: 
 communicate a request to a music service provider for the projection vectors when the client device is on-line and configured for communication with the music service provider; 
 receive the projection vectors from the music service provider that generates the projection vectors of the track-to-track relationships for each of the music tracks by random projection, each projection vector for a music track initialized to a dimension length for elements of the projection vector that identifies the similar music tracks, and for each of the similar music tracks: 
 apply a hashing algorithm to a track identifier that is unique to a similar music track to derive an integer number; 
 utilize a random number generator to generate a series of random numbers between negative one (−1) and positive one (+1) for the similar music track from the integer number, the series of random numbers that are generated corresponding to the dimension length of the projection vector; 
 generate a product by multiplying one of the random numbers by a weight of the track-to-track relationship between the music track and the similar music track, the weight of the track-to-track relationship indicating a similarity between the music track and the similar music track; and 
 add the product to the projection vector for the music track at a next position index in the projection vector; 
 quantize the product for each element of the projection vector for the music track to produce a binary representation of the elements; and 
 utilize the projection vectors to generate an automatic playlist for any one of the music tracks that is selected as a starting music track of the automatic playlist, the automatic playlist configured to be generated when the client device is off-line from the music service provider. 
 
     
     
       16. A client device as recited in  claim 15 , wherein the playlist generator is further configured to calculate the distances between the starting music track and the similar music tracks using the projection vectors for each music track to generate the automatic playlist. 
     
     
       17. A client device as recited in  claim 15 , wherein a projection vector for a music track is generated based on a weighted similarity measure between the music track and each of the similar music tracks. 
     
     
       18. A client device as recited in  claim 15 , wherein the playlist generator is further configured to communicate the automatic playlist to the music service provider after the automatic playlist is generated, where the music service provider is configured to determine additional music tracks that are related to the similar music tracks in the automatic playlist, and wherein the additional music tracks are not stored for playback at the client device. 
     
     
       19. A client device as recited in  claim 18 , wherein the additional music tracks that are determined to be related are available for download by the client device.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.