# Patent

## Title
System and method for adaptive media playback based on destination

## Abstract

Disclosed herein are systems, methods, and computer readable-media for adaptive media playback based on destination. The method for adaptive media playback comprises determining one or more destinations, collecting media content that is relevant to or describes the one or more destinations, assembling the media content into a program, and outputting the program. In various embodiments, media content may be advertising, consumer-generated, based on real-time events, based on a schedule, or assembled to fit within an estimated available time. Media content may be assembled using an adaptation engine that selects a plurality of media segments that fit in the estimated available time, orders the plurality of media segments, alters at least one of the plurality of media segments to fit the estimated available time, if necessary, and creates a playlist of selected media content containing the plurality of media segments.

## Background
PRIORITY
The present application is a continuation of U.S. patent application Ser. No. 12/177,582, filed Jul. 22, 2008, now U.S. Pat. No. 7,996,422 B2, the content of which is included herewith in its entirety.


RELATED APPLICATION
The present application is related to U.S. patent application Ser. No. 12/177,551 filed on the same day herewith, the contents of which are incorporated herein by reference in their entirety.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to media playback and more specifically to adapting media playback to with content relevant to one or more anticipated destinations.
2. Introduction
Media playback has become an important part of every day life for many people. As various content delivery systems grow more and more sophisticated, media consumers may expect a certain level responsiveness, or in other words, more adaptive media. Contextual ads on the Internet can be highly targeted and relevant to the surrounding web page, making the advertisements more effective. This concept has not been applied to media playback, however. For example, users who are driving from Los Angeles to Las Vegas on I-15 may be highly susceptible to advertisements on gambling or may be interested hearing about the history of the Mojave National Preserve. There is, at present, no means of adapting media playback based on user destination.
One approach currently used in the art is to use general geographic location in an attempt to target content more effectively, such as a local business advertising on local radio or a local news station broadcasting news that would interest most of the viewers. This approach is more of a shotgun approach where a broad common interest is assumed. The media content is not tailored or customized for individual users and does not take into account their expected destinations.
Another exemplary approach in the art is prerecorded informational tours through a museum or other attraction on a portable playback device. These devices are typically linear and channel the listener along a predetermined route, ignoring the fact that users may desire to browse through the museum or attraction in a route other than the outlined route.
These and other shortcomings exist in current approaches of media playback such that there is a need in the art for a more flexible method of providing media content.
SUMMARY
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth herein.
Disclosed are systems, methods and computer-readable media for adaptive media playback based on destination. The system of the present disclosure determines one or more destinations, collects media content that is relevant to or describes the one or more destinations, assembles the media content into a program, and outputs the program.
The systems, methods, and computer-readable media may be compatible for use with sightseeing tour media presentations, GPS-based travel guides, AM/FM radio, digital satellite radio, television broadcasts, music playback systems for callers who are on hold, or other content playback schemes.
Various embodiments include media content that is advertising, consumer-generated, based on actual or planned events, based on a user profile. The media content may be assembled to fit within an estimated available time. An adaptation engine may be used to collect media content that is relevant. Such an adaptation engine may select a plurality of media segments that fit in the estimated available time, order the plurality of media segments, and create a playlist of selected media content containing the plurality of media segments. As the expected travel path changes, destinations and the associated media content may be updated or adjusted.
Other state data may be used to alter the media content, such as data indicating that the driver is now going 60 mph, rather than 30 mph and will reach the destination sooner than originally calculated. Another embodiment bases dynamically selected media content on a user profile.



BRIEF DESCRIPTION OF THE DRAWINGS
In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only exemplary embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
FIG. 1 illustrates an example system embodiment;
FIG. 2 illustrates a method embodiment for adaptive media playback;
FIG. 3A illustrates adaptive media playback in a guided tour scenario;
FIG. 3B illustrates an example system embodiment; and
FIG. 4 illustrates an adaptation engine and method embodiment.



DETAILED DESCRIPTION
Various embodiments of the invention are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the invention.
With reference to FIG. 1, an exemplary system includes a general-purpose computing device 100, including a processing unit (CPU) 120 and a system bus 110 that couples various system components including the system memory such as read only memory (ROM) 140 and random access memory (RAM) 150 to the processing unit 120. Other system memory 130 may be available for use as well. It can be appreciated that the invention may operate on a computing device with more than one CPU 120 or on a group or cluster of computing devices networked together to provide greater processing capability. The system bus 110 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. A basic input/output (BIOS) stored in ROM 140 or the like, may provide the basic routine that helps to transfer information between elements within the computing device 100, such as during start-up. The computing device 100 further includes storage devices such as a hard disk drive 160, a magnetic disk drive, an optical disk drive, tape drive or the like. The storage device 160 is connected to the system bus 110 by a drive interface. The drives and the associated computer readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the computing device 100. In one aspect, a hardware module that performs a particular function includes the software component stored in a tangible computer-readable medium in connection with the necessary hardware components, such as the CPU, bus, display, and so forth, to carry out the function. The basic components are known to those of skill in the art and appropriate variations are contemplated depending on the type of device, such as whether the device is a small, handheld computing device, a desktop computer, or a computer server.
Although the exemplary environment described herein employs the hard disk, it should be appreciated by those skilled in the art that other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, digital versatile disks, cartridges, random access memories (RAMs), read only memory (ROM), a cable or wireless signal containing a bit stream and the like, may also be used in the exemplary operating environment.
To enable user interaction with the computing device 100, an input device 190 represents any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech, global positioning system (GPS) connected with a portable navigation system for the purpose of communicating a programmed destination, and so forth. The input may be used by the presenter to indicate the beginning of a speech search query. The device output 170 can also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems enable a user to provide multiple types of input to communicate with the computing device 100. The communications interface 180 generally governs and manages the user input and system output. There is no restriction on the invention operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.
For clarity of explanation, the illustrative system embodiment is presented as comprising individual functional blocks (including functional blocks labeled as a “processor”). The functions these blocks represent may be provided through the use of either shared or dedicated hardware, including, but not limited to, hardware capable of executing software. For example the functions of one or more processors presented in FIG. 1 may be provided by a single shared processor or multiple processors. (Use of the term “processor” should not be construed to refer exclusively to hardware capable of executing software.) Illustrative embodiments may comprise microprocessor and/or digital signal processor (DSP) hardware, read-only memory (ROM) for storing software performing the operations discussed below, and random access memory (RAM) for storing results. Very large scale integration (VLSI) hardware embodiments, as well as custom VLSI circuitry in combination with a general purpose DSP circuit, may also be provided.
The logical operations of the various embodiments are implemented as: (1) a sequence of computer implemented steps, operations, or procedures running on a programmable circuit within a general use computer, (2) a sequence of computer implemented steps, operations, or procedures running on a specific-use programmable circuit; and/or (3) interconnected machine modules or program engines within the programmable circuits.
FIG. 2 illustrates a method embodiment for adaptive media playback. First, the method includes determining one or more destinations (202). Examples of determining one or more destinations include highlighting scenic spots in a cross-country road trip and identifying local businesses along a commute to work. Multiple destinations may be selected based on proximity, relevance to the driver, or other factors. As a user's movement changes, the destinations are updated to reflect the new expected travel path. One example of how updated destinations occur is when a museum-goer decides to explore the museum in a non-linear order, as museum-goers are wont or when a commuter who routinely takes the same route to work every day and encounters traffic, road construction, an accident, etc. which causes the commuter to deviate from the usual commute. The expected travel path may be updated on the fly automatically or manually.
Second, the method includes assembling preliminary information about the one or more destinations (204). Preliminary information can be assembled from one source or from multiple sources. The preliminary information may be pre-programmed. For example, an automated sight-seeing audio tour guide or museum guide can explain about points of interest along a given route, like a series of paintings by the same artist or a particular set of monuments. In one aspect, information about points of interest is pre-prepared and stored on a local storage device for retrieval and playback. In a GPS system in a vehicle, the GPS system intersperses media content in between or over spoken directions. For example, many GPS systems give spoken signals to the user such as, “Turn left on Maple Street in 300 feet.” In between those spoken signals, a Global Positioning System (GPS) unit plays back the media content based on the intended destination or planned intermediate destinations. This media content is stored locally or is retrieved via a network, wireless or wired. A user may be able to program in a destination while still in his garage, for example, and the GPS unit downloads media content through the home network for intended playback during the trip to the intended destination. A GPS unit provides media content that is audio, video, or other types of media content that are suitable for playback on the unit. Video may be interspersed with directions or simultaneous with directions, like a picture-in-picture display. Handheld GPS units can also operate in a similar fashion. One of skill in the art will understand or be able to readily discover the capabilities and limitations of GPS units and appreciate the many applications of the principles taught herein as applied to GPS units. For example, controls on the steering wheel enable a user to switch between a map on the GPS unit and media content. Other control mechanisms may be presented as well. Control mechanisms in a vehicle may be made available to the driver and to one or more passengers in the vehicle.
In one aspect, if a possible destination includes multiple sources of interest, the system engages in a dialog with the user to seek confirmation of what content to present. “Do you want content about A or B?”
Third, the method includes collecting media content that is relevant to or describes the one or more destinations (206). Media content may be advertising or a local news report that is relevant to the anticipated travel path. For example, a commuter is forewarned of a major car accident 4 miles down the freeway. Other media content may be based on actual or planned events. A calendar of events and their respective locations can serve as a repository for such media content. If a destination is a place like Gettysburg, Pa., the media content may describe events and history associated with the destination. The content may also be presented in an interactive fashion in which users may select via a touch or voice menu system various portions of the content to receive.
Often, media content based on events may serve as a type of advertising. Advertising media content may include a furniture store advertising to everyone within a half mile radius that all loveseats are 55% off until 5:00 pm. More complex advertising media content for a business like a downtown lunch restaurant may advertise coupons to individuals at lunchtime heading in the direction of the restaurant.
Decisions as to what is relevant media content may be based on a user profile. A user profile contains a database of likes and preferences representing what the user prefers to view or hear. In one aspect, a profile contains a database of dislikes representing content that should rarely or never be played. A user profile may also contain a calendar showing when, where, and what the user is planning to do so that media content is not scheduled for consumption when it would conflict with another activity. One user profile may be linked to the user's other profiles to share information. For example, the user's profile at the office and at home might be synchronized with the user's profile in his car, so the same preferences and calendar are available to each profile. A user profile may even include such items as a spending history which may give some insight into user purchasing preferences and trends, much in the same manner as Amazon.com suggests related books based on what a user has already viewed or purchased. A user profile may take in to account consumer-generated media content by other consumers who have submitted their thoughts and commentary on particular events, places, or services. Such consumer-generated media content may be contained on blogs, customer review websites, YouTube, Flickr, social networking sites such as MySpace or Facebook, or any other available resource, local or on the Internet. Consumer-generated media may be digital or otherwise, such as handwritten comments in a guest-book.
Fourth, the method includes assembling the media content into a program (208). A program may be assembled to fit within an estimated available time. If a user is driving to work every morning and the commute typically lasts 25 minutes, then portions of media content may be planned and assembled to occupy the entire 25 minutes so that they are contextually relevant to the anticipated location of the commuter when they are played.
Lastly, the method includes outputting the program (210). Program output may be audio, video, other types of sensorial output, or any combination thereof. In a guided tour aspect, output may be in the form of a small playback device with headphones attached for audio playback. While driving cross-country with the assistance of a GPS system, the program output may be video, still images, a ticker of text on the bottom of the screen, or any other visual display. Just one example of other sensorial output is Braille outputs for blind individuals to enjoy the same information. One example of a combined sensorial output is a combination of video with audio in a traditional advertising format, but other senses such as touch or smell may be incorporated. One example of a touch-based sensorial output is vibration or rumble features as are common in video games. One example of smell-based sensorial output includes the scent of freshly baked bread combined with a video clip about a local bakery.
FIG. 3A illustrates adaptive media playback in a guided tour scenario. The dotted line 304 represents the path of a walking person 306. The letters identify certain attractions in the guided tour. First, the person is walking along the dotted line east. In that direction, the destinations A and B are in the anticipated path, so media content regarding A begins to play and media content regarding B is prepared for playback after A's media content is finished and/or the person walks past A. But at point 1, the user turns north unexpectedly. Based upon this change in direction, media content about A is still playing, but based on the new trajectory, media content about D is prepared. As the user passes A and approaches D, the media content about D is played back. If content about A is still playing, it may be compressed, redacted, reduced, or otherwise cut short in anticipation of content about D. The reduction of content may be adjusted over time so the reduced time-frame content smoothly transitions and is not awkward.
At point 2, the user again changes direction east. Now C and B are both ahead, so media content about C and B are prepared and either one may be played as the user leaves D. At this point the guided tour may choose which one of C and B to play back based on the user's profile. At point 3, the user changes direction south and media content about B is played and media content about A may be retrieved again in case the user decides to revisit that particular attraction. The full version of the content for A may be output since the user has retuned to A. The user may also receive content that was previously truncated or cut short if the user returns to a destination previously visited. One possible way to accomplish this is to summarize the content previously presented and transition from the summary to a more detailed presentation of the material. Another possible way to accomplish this is providing an introduction into the content to be presented.
In a similar fashion, travelers on a freeway may be presented with media content regarding attractions or points of interest at upcoming freeway exits or rest stops. The presented media content may change based on which exits and connecting highways the travelers choose. In this way, the program may be modified, changed, or reduced as a new destination is determined.
As in the freeway example given above, a vehicle may be outfitted with a GPS device which may serve as the user interface and playback device. FIG. 3B illustrates an exemplary system showing how a GPS device and other devices is used as a part of the principles described herein. A vehicle 350 may be fitted with a GPS device 352. As is known in the art, the GPS device may be affixed to the vehicle or may be removable. The GPS device may have one or more displays and may be capable of generating spoken instructions to the driver of the vehicle. The GPS may employ the speaker system in the automobile to communicate with the driver instead of internally contained speakers. The GPS unit ascertains the location, trajectory, destination and/or speed of the vehicle. Other information may also be ascertained by the GPS unit through observation or communication with satellites or by direct input from the user. The GPS unit can transmit all or part of the ascertained information over a network 356 to one or more servers 358. Transmission may be via a wireless signal 354 or other communications medium. The server can digest information received from the GPS unit and reference information from a destination database 360, a media segment database 362, and/or a user profile 364. The server may then determine one or more destination, collect media content that is relevant to one or more of the destinations, assemble media content into a program, and transmit that program to the GPS device through the network to output to the user. Of course, the principles described here apply to other mobile devices besides GPS units.
We turn now to another embodiment that relates to how the media content is collected using an adaptation engine. FIG. 4 illustrates an adaptation engine 402. The adaptation engine drives the dynamic selection and modification of media content to fill the estimated remaining amount of time with destination related content. First the adaptation engine selects a plurality of media segments that fit in the estimated amount of time 404. The plurality of media segments can be several clips that would fill the remaining time themselves, or the plurality of media segments can be several clips which, if played back to back, would fill the remaining time. Second, the adaptation engine orders the plurality of media segments 406. Potentially based on user profiles or group profiles, the plurality of media segments are organized and prioritized. In the case of audio only media, the organization is linear because only one thing may be listened to at a time. With video media, the organization of media segments may include playing several clips at once. The effect is similar to showing a stock ticker on the bottom of a news report. Third, the adaptation engine alters each of the plurality of media segments attributes to fit the estimated time 408, if necessary. The alterations may include adjusting the playback speed to extend or compress the media content to fit the estimated remaining time. Alterations may include truncating the media content. If the estimated time suddenly drops, one alteration is jumping straight to the conclusion after the current sentence ends. If the estimated time increases, one alteration is queuing up an additional media segment to follow the currently playing media segment or an alternate, longer version of previously summarized content. Fourth, the adaptation engine creates a playlist of selected media content containing the plurality of media segments 410. As stated before, the playlist may be dynamically altered or adjusted to reflect the current estimated time remaining while retaining the destination relevance. FIG. 4 also illustrates a corresponding method embodiment as well.
In the case of a vehicular implementation, a GPS unit, such as a GarminTM, displays the media content on the entire screen or a subsection thereof. A handheld GPS unit may also display media content in a non-vehicular implementation. In vehicular or other implementations, media content may also be displayed or played back on a portable DVD player, a DVD player integrated into a vehicle, an Apple iPodTM or other portable media player, a Bluetooth headset, a RIM BlackberryTM, or any other device capable of playing media content.
Embodiments within the scope of the present invention may also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or combination thereof) to a computer, the computer properly views the connection as a computer-readable medium. A “tangible” computer-readable medium expressly excludes software per se (not stored on a tangible medium) and a wireless, air interface. Thus, any such connection is properly termed a computer-readable medium.
Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of the computer-readable media.
Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Computer-executable instructions also include program modules that are executed by computers in stand-alone or network environments. Generally, program modules include routines, programs, objects, components, and data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.
Those of skill in the art will appreciate that other embodiments of the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
The various embodiments described above are provided by way of illustration only and should not be construed to limit the invention. For example, the processes described herein may have application in self-guided tours (vehicular or ambulatory), museums, schools, zoos, or in GPS-assisted trip planning systems. Devices may be operative in any kind of network, such as the IP Multimedia Subsystem, wireless network, etc. Those skilled in the art will readily recognize various modifications and changes that may be made to the present invention without following the example embodiments and applications illustrated and described herein, and without departing from the true spirit and scope of the present invention.

## Claims

1. A computer-implemented method comprising:
determining a current location associated with a user at a first time;
determining a destination associated with the user, where the destination is an expected location of the user at a second time;
collecting, via a processor, a media content based on at least one of actual and planned events, wherein the media content is related to at least one of the current location, the destination, and a path from the current location to the destination;
selecting a plurality of media segments for the media presentation from the media content based at least in part on an estimated available time for the user to get to the destination;
altering at least one of the plurality of media segments to fill the estimated available time to yield an altered plurality of media segments;
creating a playlist containing the altered plurality of media segments; and
upon detecting an available time change associated with the estimated available time, modifying the media presentation to conform to the available time change.

2. The computer implemented method of claim 1, wherein the estimated available time for the user to get to the destination is determined based on at least one of user input, user movement patterns, average user speed, and the distance between the current location and the destination.

3. The computer implemented method of claim 1, wherein the media content is at least one of advertising, consumer generated, and based on a user profile.

4. The computer implemented method of claim 1, wherein the media content is based on at least one of actual and planned events.

5. The computer implemented method of claim 1, further comprising communicating the media presentation to the user.

6. The computer implemented method of claim 5, wherein the media presentation is communicated to the user using at least one of video, Internet content, text, sound files, odor, and Braille.

7. The computer implemented method of claim 1, wherein the current location is determined by a GPS device.

8. The computer implemented method of claim 1, further comprising:
upon detecting an available time change associated with the estimated available time for the user to get to the destination, modifying the media presentation to conform to available time change and the estimated available time.

9. A system, comprising:
a processor;
a storage device storing instructions for controlling the processor to perform steps comprising:
determining a current location associated with a user at a first time;
determining a destination associated with the user, where the destination is an expected location of the user at a second time;
collecting a media content, wherein the media content based on at least one of actual and planned events is related to at least one of the current location, the destination, and a path from the current location to the destination;
selecting a plurality of media segments for the media presentation from the media content based at least in part on an estimated available time for the user to get to the destination;
altering at least one of the plurality of media segments to fill the estimated available time to yield an altered plurality of media segments;
creating a playlist containing the altered plurality of media segments; and
upon detecting an available time change associated with the estimated available time, modifying the media presentation to conform to the available time change.

10. The system of claim 9, wherein the estimated available time for the user to get to the destination is determined based on at least one of user input, user movement patterns, average user speed, and the distance between the current location and the destination.

11. The system of claim 9, wherein the media content is at least one of advertising, consumer generated, and based on a user profile.

12. The system of claim 9, wherein the media content is based on at least one of actual and planned events.

13. The system of claim 9, the steps further comprising communicating the media presentation to the user.

14. The system of claim 9, wherein the media presentation is communicated to the user using at least one of video, Internet content, text, sound files, odor, and Braille.

15. A non-transitory computer-readable storage medium storing instructions which, when executed by a computing device, cause the computing device to perform steps comprising:
determining a current location associated with a user at a first time;
determining a destination associated with the user, where the destination is an expected location of the user at a second time;
collecting a media content, wherein the media content based on at least one of actual and planned events is related to at least one of the current location, the destination, and a path from the current location to the destination;
selecting a plurality of media segments for the media presentation from the media content based at least in part on an estimated available time for the user to get to the destination;
altering at least one of the plurality of media segments to fill the estimated available time to yield an altered plurality of media segments;
creating a playlist containing the altered plurality of media segments; and
upon detecting an available time change associated with the estimated available time, modifying the media presentation to conform to the available time change.

16. The non-transitory computer-readable storage medium of claim 15, wherein the estimated available time for the user to get to the destination is determined based on at least one of user input, user movement patterns, average user speed, and the distance between the current location and the destination.

17. The non-transitory computer-readable storage medium of claim 15, wherein the media content is at least one of advertising, consumer generated, and based on a user profile.

18. The non-transitory computer-readable storage medium of claim 15, wherein the media content is based on at least one of actual and planned events.

19. The non-transitory computer-readable storage medium of claim 15, the steps further comprising communicating the media presentation to the user.

20. The non-transitory computer-readable storage medium of claim 15, wherein the media presentation is communicated to the user using at least one of video, Internet content, text, sound files, odor, and Braille.