AUTOMATIC PERSONAL PLAY LIST GENERATION BASED ON DYNAMICALLY CHANGING CRITERIA SUCH AS LIGHT INTENSITY OR VEHICLE SPEED AND
LOCATION
The invention relates generally to generating a play list, such as lists of songs for play back on a media player such as a CD player, MP3 player or the like, and more particularly to a method and system for automatically generating such a play list based on dynamically changing criteria.
Various types of media players are now available to consumers and other users. For example, portable digital music players, such as MP3 players, and personal computers (PCs) allow the storage of numerous songs in digital format. Moreover, home entertainment systems are also media players that allow the user to access content via cable and satellite television networks, computer networks such as the Internet, and via local storage such as movies stored on digital versatile disks (DVDs). For example, electronic program guides allow the user to select from available television broadcast programs. Broadcast of radio programs, such as talk shows, and music, via satellite to car and home receivers in a digital format is also gaining in popularity.
For instance, the Nexperia™ Personal Media Player from Philips Corp. provides a reference design for mobile device manufacturers. It offers high-resolution video recording and playback as well as connectivity to PCs and home entertainment systems. Personal media players based on the design allow consumers to connect, wired or wirelessly, to their PCs and home entertainment appliances to record and store high-quality digital audio and video and then watch movies, listen to music and view photos on the move. The media player offers compatibility with a variety of audio and video standards, including MP3, AAC, Dolby® Digital, MPEG-2, MPEG-4, and DivX®. Due to the proliferation of available content, the current media players typically assist the user in making selections among media items (e.g., songs, or television or radio programs) by providing recommendations and generating a play list of programs. For example, user preferences may be developed by providing a user interface that asks a user to identify the type of music, for instance, in which he or she is interested. Or, the media player may employ logic that tracks a user' s selections over time to learn what type of content he or she is interested in. The media player can then recommend content in the
play list. For instance, a portable media player may automatically generate a play list of songs, and display information such as the title and artist on a display of the media player.
While most media players offer the feature of automatic play list generation, this is generally limited to the specific meta data such as genre, artist and album, or other song characteristics. In particular, available solutions do not take into account the changing environment of the user to generate a play list that provides a more enjoyable and interesting experience for the user, and is customized based on criteria of special interest to the user.
The present invention addresses the above and other issues by providing a method and system for automatically generating a play list based on dynamically changing criteria such as ambient light level, such as while in the home, or data regarding a vehicle such as geographic location and speed.
The user can select the dynamic criteria, which represents the mood and/or current preferences of the user in a much better way than the conventional criteria such as genre, artist or album alone. The personal play list can be generated once per specific period based on the dynamic data or at other times as warranted by the dynamic data.
In one aspect of the invention, a method for generating a play list of media items for a media player includes: (a) obtaining data regarding a dynamically changing criteria of an environment of a user, (b) mapping data based on the dynamically changing criteria to a plurality of media items to select at least one of the plurality of media items as at least one matching media item, and (c) generating a play list comprising the at least one matching media item.
In another aspect, a method for generating a play list of media items for a media player includes: (a) determining a geographic location of a vehicle, (b) accessing a database identifying a plurality of points of interest and their corresponding geographic locations to determine at least one of the points of interest whose geographic location is proximate to the geographic location of the vehicle, (c) mapping at least one of the points of interest to a plurality of media items to select at least one of the plurality of media items as at least one matching media item, and (d) generating a play list comprising the at least one matching media item.
In a further aspect, a method for generating a play list of media items for a media player includes: (a) obtaining data regarding a vehicle, (b) mapping the data regarding the vehicle to a plurality of media items to select at least one of the plurality of media items as
at least one matching media item, and (c) generating a play list comprising the at least one matching media item.
Corresponding media player apparatuses and program storages devices may also be provided. In the drawings:
In all the Figures, corresponding parts are referenced by the same reference numerals.
Fig. 1 illustrates a block diagram of a media player, according to the invention;
Fig. 2 illustrates an example media player user interface, according to the invention; Fig. 3 illustrates a process for mapping an ambient light level to media items to select a matching media item, according to the invention;
Fig. 4 illustrates a process for mapping a geographic location of a vehicle to media items to select a matching media item, according to the invention;
Fig. 5 illustrates a process for mapping data regarding a vehicle to media items to select a matching media item, according to the invention; and
Fig. 6 illustrates a process for mapping a vehicle's speed to media items to select a matching media item, according to the invention.
The present invention can be used in any type of media player that automatically generates a play list of media items that are to be played by the system. Examples of media players include hard disk device (HDD) music players, set-top boxes, home media players, personal computers, portable MP3 players, vehicle based systems, and the like. The play list conventionally attempts to provide a list of media items (e.g., songs, lectures, TV programs, slides in a slide show) that are interrelated. The songs may refer to similar artists or genres or may make use of user preferences that are stored by the media player. Moreover, electronic program guides (EPG) are commonly used to determine which programs are scheduled for broadcast. A play list thus can be created for an evening's worth of TV viewing, for instance, by selecting programs from the EPG. Many media players also provide for recording of the broadcast programs for subsequent play back at any time. Fig. 1 illustrates a block diagram of an example media player. In Fig. 1, block 105 reads "vehicle interface", block 108 reads "location device", block 109 reads "database", block 110 reads "user interface", block 115 reads "light detector", block 120 reads "memory", block 130 reads "processor", block 140 reads "content player", block 145 reads
"user preferences", block 150 reads "content storage", and block 160 reads "meta data". The media player 100 includes a processor 130 and a memory 120. The memory 120 may store instructions, such as software, micro-code or firmware, which are executed by the processor 130 to achieve the functionality described herein. The memory 120 may thus be considered a program storage device that tangibly embodies the executable instructions. Such a program storage device can be built into the media player or provided as a removable media, such as a CDROM or portable USB flash memory. The user preferences block 145 represents user preference data that is maintained by the media player for one or more users. This data can indicate that the user likes a certain genre of music, for instance. Content storage 150 represents a storage resource for storing a database of media items, including audio content (e.g., songs, lectures), video content (e.g., digital photos) and audio/video content (e.g., movies). The content storage 150 can be a hard disk drive, flash memory, or any other memory resource. A content player 140 may be an audio and/or video player that processes the content from the content storage 150 (e.g., by performing decompression and decoding, for example) to provide an appropriate output signal, such as to a display or audio amplifier. A user interface 110 may provide a display, e.g., an LCD screen, or possibly a voice/audio interface, that allows a user to enter commands.
A meta data block 160 indicates meta data that is stored for the media items in the content storage 150. The meta data can optionally be stored with the media items themselves as well. The meta data can include information such as genre, artist and album title, song characteristics such as tempo and beats per minute, keywords and lyrics. The meta data can also indicate whether a media item is expected to be popular with certain users based on demographic factors such as age, gender and so forth. The meta data of songs can be obtained from various sources. For example, audio fingerprinting technology available from Philips Corporation, and access to a database such as Gracenote
Corporation's CDDB® database (Emeryville, California), may be used. Moreover, the meta data can be based on the ID3 tagging used for MP3 songs, or on similar mechanisms for AAC songs or other song formats. Note that the ID3 tags can be extended with additional information as needed. The vehicle interface 105 allows the media player to receive data from systems in a vehicle, e.g., automobile. For example, the vehicle interface 105 may communicate with a speedometer, odometer, or a computer which receives data from the speedometer and/or odometer, to learn the speed with which the vehicle is traveling. An average speed over
time can be obtained as well as the current speed. The media player 100 can be installed into the vehicle on a permanent basis, or may be removably connected, such as by a wire or port. In this manner, the media player 100 can obtain data regarding the vehicle. Data other than speed can be obtained if the appropriate data is maintained by the vehicle. This may include acceleration and deceleration/braking forces, cornering forces, whether a sunroof is open or a convertible top is down, whether an automatic transmission is in a winter driving mode or a high performance mode, whether the climate control system is delivering hot or cold air, and so forth. The vehicle interface 105 may also communicate with a location device 108 in the vehicle, which is used to determine the geographic location of the vehicle. For example, the location device may include a radio receiver such as a global positioning system (GPS) receiver. Such receivers are becoming increasingly common as vehicle navigation systems gain popularity. The location device 108 may include an associated database 109 that stores information such as points of interest and speed limits indexed by geographic location. The location device 108 and the associated database 109 could alternatively be provided in the media player 100 itself.
The user interface 110 allows the user to enter commands to the media player 100 and provides information to the user via a display, such as a play list.
The light detector 115 detects the ambient light level in the environment of the user, such as a room in which the user is located. The ambient light level can also represent the light level outdoors. Any type of light detector that detects light that is in a spectrum that is visible to humans can be used for this purpose. For example, photo sensors of the type that detect ambient light for adjusting the brightness of an electronic display may be used. Moreover, one or more light detectors may be built into the media system 100 or light level data may be provided by an external sensor and communicated to the media system 100 via a wired or wireless path. For example, the light detector may communicate with a home network, which in turn communicates with the media player 100.
Fig. 2 illustrates an example media player user interface, according to the invention. The example user interface 200 includes a display 210 for displaying a play list. In one possibility, the media player interface 200 is a self-contained media player such as a portable media player. It is also possible for the media player interface 200 to be provided in a device such as a handheld remote control that is used to communicate with other components in a home media player. For example, the display 210 may be in a TV remote control for providing a play list of TV programs. Additional buttons may be provided for
controlling the TV, or the buttons may be generated on the display 210 as touch screen buttons. In another example, the media player interface 200 is a remote control for a CD player, and the display 210 provides a play list of songs available from a CD library. In another example, the media player interface 200 is part of a digital camera, and the display 210 provides a play list of images stored in the camera. Various other possibilities will be apparent to those skilled in the art. The media player interface 200 includes an input device 220 such as arrow-shaped buttons that allow the user to enter commands and view the play list. The particular arrangement shown is an example only, as other arrangements are possible. Other interface mechanisms such as voice/audio interface can also be used. Or, the display 210 may be a touch screen that allows a user to enter commands by touch.
Fig. 3 illustrates a process for mapping an ambient light level to media items to select a matching media item, according to the invention. Block 300 reads "Detect ambient light level", block 310 reads "Classify ambient light level into category", block 320 reads "Map category to media items to find matching media items", and block 330 reads "Generate play list". Generally, the invention enables a play list to be generated based on dynamically changing conditions in the user's environment. One condition is the ambient light level, such as in a room in which the user is located. At different times of the day, the ambient lighting in the room changes, e.g., from brightly lit in the day time to less bright in the evening or at dusk. Furthermore, the light intensity can be measured inside a room or outdoors. Measurements indoors can be affected by electric lights turned on or off, or curtains drawn, by the user. According to one aspect of the invention, as the room darkens, a play list of the media device 100 can be updated such that songs related to the changed environment are added. The change in the ambient light level can be monitored over a period of hours, for instance. Moreover, the play list can be updated based on the light level on an absolute scale, or based on changes in the light level over time.
The light detector 115 measures light intensity, which can be classified into one of a number of categories (block 310) based on, e.g., a numerical and/or a qualitative scale. The measured intensity and/or categories can be characterized with one or more corresponding keywords, e.g., dark, light, bright, twilight, dusk, dawn, and so forth. When a new value of the light intensity is different from a previous value, such as from an hour or more earlier, a modified play list can be generated such as by modifying the media items in the play list which are remaining to be played. The entire play list can also be modified, such as in case of repeated play.
Songs can be selected for the play list based on a comparison of their meta data with the keywords representing the light intensity. However, meta data is not required, as various algorithms may be used to find songs that are similar to a song that represents a dynamic criteria, such as ambient light level. For instance, a soothing song can be associated with a low ambient light level. In particular, to modify the play list, the category in which the light intensity is classified is mapped to the media items to finding matching media items (block 320). In one possible approach, the ambient light level can be converted to meta data for creating the matching criteria for the meta data of the media items. The mapping may also be responsive to the user preferences 145 in determining the matching media items and generating the play list (block 330). The invention thus can provide a mapping between dynamic data and the meta data of the media items, which includes standard meta data such as song title, artists, keywords, and lyrics of the song. For example, when the light intensity indicates it is the morning, based on a gradual increase in brightness, the song "Good day sunshine" can be selected for the play list. Or, when the light intensity indicates it is the evening, based on a gradual decrease in brightness, the song "Tonight's the night" can be selected for the play list.
Generally, the media player may allow the user to choose, via the user interface 110, from among one or more different types of dynamic data for generating a play list. The type of dynamic data can be selected by the user based on the user' s current mood or interests, for example. In one possible approach, the selected type of dynamic data is recorded for subsequent use in generating a play list. Or, the media player may immediately generate a new of modified play list. Other examples of dynamic data that may be used include ambient sound level. When the sound level is relatively high, a relaxing song may be selected, for instance, to calm the user. The time of day may be also used as dynamic data such that play lists generated in the morning are different than those generated at night. The media player 100 can be equipped with a clock to obtain this data.
As an example of using the user preferences 145, the age and gender of the user may be used to select one of a number of different songs that are potential matches. For example, a song recorded many years ago may appeal to older users, while a modern version of the same song may appeal to younger users. Moreover, one user may prefer the genre of songs from old movies, while another user prefers the Motown genre. Various other examples will be apparent to those skilled in the art.
Note that a new play list can be generated where each media item is based on the dynamic data. For example, all songs on the play list can relate to morning when the dynamic data relates to the ambient light, and the ambient light indicates it is morning. Or, a predetermined portion of the play list, e.g., half of the songs, can be based on the dynamic data, while the other half are conventionally generated. Furthermore, an existing play list can be modified to include the songs related to the dynamic data by replacing some of the media items on the existing play list. Thus, both all new and modified play lists can be generated. Note also that the generated play lists can be saved and re-used later by the user. Furthermore, a play list can be updated from time to time as changes in the dynamic criteria are detected. Or, the play list can be fixed once generated even when changes in the dynamic criteria are detected by the media player
Fig. 4 illustrates a process for mapping a geographic location of a vehicle to media items to select a matching media item, according to the invention. Block 400 reads "Determine geographic location of vehicle", block 410 reads "Access database to identify a point of interest", block 420 reads "Map point of interest to media items to find matching media items", and block 430 reads "Generate play list". Generally, the location of the user, or a vehicle in which the user is traveling, can be used as a dynamic criteria for generating a play list, e.g., that relates to different points of interest along a road or other path of travel. When traveling in a vehicle such as an automobile, or even a bicycle, airplane, or boat, or even on foot, the user may pass by or near different points of interest, such as certain towns, neighborhoods, mountains, rivers, lakes, amusement parks, restaurants, buildings and so forth. The point of interest may also include a road.
The geographic location can be determined (block 400) using the location device 108, such as a GPS-based car navigation system. Such systems use a radio receiver that receives signals from three or more satellites and performs triangulation to pinpoint its location, which can be expressed in terms of latitude and longitude. Furthermore, such navigation systems typically include a database 109 that identifies various points of interest and their geographic locations. Such a database can be accessed to identify one or more points of interest that are proximate to the user' s location, such as the current location, or a location at which the user is expected to arrive soon based on the user's current speed and direction. The point of interest can then be mapped to the media items to find matching media items (block 420), and to generate a play list (block 430). Songs can again be
selected for the play list based on their meta data and a comparison of that meta data with keywords representing the points of interest.
For example, when it is determined that the user is driving in the city of San Francisco, songs related to this city may be added to the play list, such as "I left my heart in San Francisco." When it is determined that the user is driving in the Haight-Ashbury neighborhood of San Francisco, hippie-era songs related to this neighborhood may be added to the play list, such as "If you're going to San Francisco." The amount of time that the vehicle is in a geographic area can also be considered. For example, if the vehicle has arrived in a new geographic area, songs related to the area can be added to the play list more frequently than when the vehicle is located in the area on an ongoing basis.
As before, user preferences may be accounted for as well. The user preferences may relate to the points of interest as well as to the media items. For instance, a user may have a preference for French restaurants that is stored in the user preferences 145, in which case a French language song can be added to the play list when the user is driving near a French restaurant. Or, a user may have a preference for a certain genre of music, in which case a matching song having the same genre can be selected from among the media items that are otherwise potential matches based on mapping of the geographic location alone. Fig. 5 illustrates a process for mapping data regarding a vehicle to media items to select a matching media item, according to the invention. Block 500 reads "Obtain data regarding vehicle", block 510 reads "Map data to media items to find matching media items", and block 520 reads "Generate play list". The dynamic data used by the media system can further include vehicle speed, acceleration and deceleration/braking forces, cornering forces, whether a sunroof is open or a convertible top is down, whether an automatic transmission is in a winter driving mode or a high performance mode, whether the climate control system is delivering hot or cold air, and so forth.
The data regarding the vehicle can be obtained (block 510) by the media system by communicating with a computer and/or sensors in the vehicle via the vehicle interface 105, for instance. For instance, it can be determined whether the vehicle has been driving relatively slowly for a long period, indicating that it is in a traffic jam, in which case a song relating to traffic such as "Crosstown traffic" can be selected for generating the play list
(block 520). As another example, if the speed of the vehicle indicates the vehicle is driving on a trip on the highway, e.g., based on a constant highway speed for a period of time, a song relating to the open road such as "On the road again" can be selected. Generally, the
media player 100 can process the speed data from the vehicle to derive a profile indicating how the vehicle is being operated. Data from other vehicle systems can also be used. For example, if the vehicle is in a winter driving mode, a song relating to winter driving such as "Let it snow" can be selected. If the sunroof is open, a song such as "Let the sun shine" can be selected. Again, user preferences may be included in the mapping (block 510).
Fig. 6 illustrates a process for mapping a vehicle's speed to media items to select a matching media item, according to the invention. Block 600 reads "Determine speed of vehicle", block 610 reads "Determine geographic location of vehicle", block 620 reads "Access database to identify speed limit for geographic location", block 630 reads "Determine whether vehicle is speeding", block 640 reads "Map determination of whether vehicle is speeding to media items to find matching media items with slow tempo if vehicle is speeding", and block 650 reads "Generate play list". In this aspect of the invention, the dynamic behavior used by the media system relates to the vehicle's speed and whether the vehicle is speeding, e.g., exceeding a speed limit. To achieve this, the speed of the vehicle is determined (block 600) as previously mentioned, such as by accessing speed data maintained by the vehicle's computer. It is also possible to derive the speed from the location device 108 by determining a change in distance versus time. Furthermore, the geographic location of the vehicle is determined (block 610) as previously mentioned, such as by accessing a GPS receiver in the vehicle. At block 620, the database 109 is accessed to determine the speed limit for the road on which the vehicle is currently traveling. In particular, the database 109 may be configured with speed limit data organized by geographic location, such as for major roads, including highways. This data may also indicate a general speed limit in a town, such as on residential streets, or state. Note that the location detector 108 is accurate enough to determine which road a vehicle is traveling on. At block 630, it is determined whether the vehicle is speeding by comparing its current speed, with the applicable speed limit for the road on which the vehicle is currently traveling. An instantaneous or average speed over time may be used. Furthermore, the degree of the speeding may be categorized, e.g., category 1 for up to 10 mi/h over the limit, category 2 for up to 20 mi/h over the limit, and so forth.
At block 640, the determination regarding speeding is mapped to the media items to find matching media items. For example, if the vehicle is speeding, a media item with a relatively slow tempo or beat can be selected to relax the driver and encourage him or her
to drive slower. Moreover, a relatively higher category of speeding can be mapped to media items with a relatively slower tempo or beat. Information regarding the tempo and/or beat of a song can be extracted from the songs using algorithms available from Philips Corp. and other, and saved as meta data. Songs are again selected for the play list (block 650) based on their meta data and, in particular, the information on the tempo and or beat of a song. User preferences again may be included in the mapping (block 640).
While there has been shown and described what are considered to be preferred embodiments of the invention, it will, of course, be understood that various modifications and changes in form or detail could readily be made without departing from the spirit of the invention. It is therefore intended that the invention not be limited to the exact forms described and illustrated, but should be construed to cover all modifications that may fall within the scope of the appended claims.