[go: up one dir, main page]

WO2018104945A1 - Adaptive driving feed - Google Patents

Adaptive driving feed Download PDF

Info

Publication number
WO2018104945A1
WO2018104945A1 PCT/IL2017/051326 IL2017051326W WO2018104945A1 WO 2018104945 A1 WO2018104945 A1 WO 2018104945A1 IL 2017051326 W IL2017051326 W IL 2017051326W WO 2018104945 A1 WO2018104945 A1 WO 2018104945A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
playlist
ride
messages
message
Prior art date
Application number
PCT/IL2017/051326
Other languages
French (fr)
Inventor
Lior MENASHE
Moran SHAMSI
Yitzchac LIVIAN
Original Assignee
Hearmeout Ltd.
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 Hearmeout Ltd. filed Critical Hearmeout Ltd.
Publication of WO2018104945A1 publication Critical patent/WO2018104945A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/635Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/638Presentation of query results
    • G06F16/639Presentation of query results using playlists
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
    • H04N21/814Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts comprising emergency warnings

Definitions

  • the present invention in some embodiments thereof, relates to creating an audible playlist for a user and, more particularly, but not exclusively, to creating an audible playlist adapted for a user according to one or more ride characteristics of a certain ride of the user.
  • a computer implemented method of creating a playlist for a certain ride of a user comprising using one or more processors for executing a code for:
  • the messages presented to the user may be selected to best match the ride and hence correlate between the content presented to the user and the ride itself. Converting the messages to audio tracks may allow adapting the obtained messages, in particular text messages to audio format(s) supported by the audio means of the user for the audible presentation
  • a system for creating a playlist for a certain ride of a user comprising one or more processors adapted to execute a code, the code comprising: Code instructions to determine one or more ride characteristics of a certain ride of a user; Code instructions to obtain a plurality of messages designating the user based on one or more of the ride characteristics according to a ranking score calculated for each of the plurality of messages;
  • the user is a member of a group consisting of: a driver of a vehicle, a passenger in the vehicle and a passenger in a public transportation vehicle. This may allow creating the playlist for a plurality of users using various vehicles to ride from one geographical location to another.
  • each of the one or more ride characteristics is a member selected from a group consisting of: a current location, a destination, a distance, a duration, an estimated time of arrival, a time of day, a date, a presence of one or more passenger during the certain ride and one or more operational parameters of a vehicle used for the certain ride.
  • Each of the determined ride characteristics may contribute to determining the overall ride nature and hence allow improved correlation of the content presented to the user to fit the ride.
  • each of the one or more ride characteristics is determined based on an analysis of input received from one or more of: a sensor, a location service, a location application, a navigation application and a scheduling record.
  • the variety of source for retrieving the ride characteristic(s) may allow for flexibility, ease of use and/or improved accuracy of the determined ride characteristic(s).
  • one or more of the plurality of messages is obtained from one or more of a plurality of remote sources accessible by the user over one or more networks.
  • the messages may be obtained from the remote resources which may be a fundamental element in most modern technologies, services and/or platforms.
  • one or more of the plurality of messages is obtained from one or more local sources available locally to the user.
  • the messages may be obtained from local resources in which the user may maintain, store and/or collect private content.
  • the ranking score is calculated for the each message according to a plurality of message attributes, each of the plurality of attributes indicates one or more of: a past interaction of the user with an originator of the each message identified by analyzing past content consumption of the user, a relevance of the each message to the certain ride identified according to one or more of the ride characteristics.
  • the ranking score may be calculated accurately.
  • each of the plurality of message attributes is assigned a weight indicating a contribution of the each message attribute in the ranking score.
  • the weight assigned to each of the plurality of message attributes is based on: a past interaction between the user and an originator of the each message and a relevance of each message to one or more of the ride characteristics.
  • the messages may be more accurately selected according to their relevance and/or significance to the user.
  • the messages may be better selected according to the nature of the ride.
  • the members are ordered in the playlist according to the ranking score. This may allow first presenting the user with the higher ranking score audio tracks (messages) that are expected to be of higher relevance and/or significance to the user.
  • the playlist is adjusted according to one or more ride patterns learned by applying one or more learning algorithms for analyzing one or more past rides of the user.
  • the ride patterns may allow for improved extraction of the ride characteristics.
  • content consumption pattern(s) may be identified during the ride and may be associated with the ride pattern(s). This may allow selecting messages similar to messages that were consumed by the user in the past.
  • the playlist is adjusted dynamically during the certain ride according to a change in one or more of the ride characteristics. This may allow changing the playlist to add, remove and/or replace messages in the playlist in case a change in one or more of the ride characteristics is detected.
  • the audible presentation is executed by one or more members selected from a group consisting of: a client terminal associated with the user and a media system of a vehicle used for the certain ride.
  • a client terminal associated with the user
  • a media system of a vehicle used for the certain ride may allow a personal presentation of the playlist to the user.
  • the audible presentation may be provided by the car media system(s) that may typically provide better audio presentation capabilities than the client terminal.
  • the audible presentation of the playlist is interrupted in response to an interrupt indication received from the user.
  • the interrupt indication indicates one or more actions selected from a group consisting of: stop the audible presentation, repeat the audible presentation, repeat one or more audio tracks of the audible presentation and skip one or more audio tracks of the audible presentation. This may allow the user to control the audio presentation dynamically on the fly.
  • the interrupt indication initiated by the user further comprises a respond indication to respond to one or more messages of interest of the playlist.
  • one or more messages of interest is the message currently playing while the respond indication is received or the one or more messages of interest finished playing a pre-defined time interval prior to reception of the respond indication. This may allow the user to actively interact and/or respond to one or more messages presented in the audible presentation.
  • the response comprises recording an audible response message of the user.
  • This may allow the user to respond to text based services, platforms and/or applications with no need to actually type text but simply by recording a response that may be automatically converted to text and transmitted to the originator of the message of interest.
  • the recorded audible response message is converted to a text format prior to transmission. This may allow the user to respond to the message(s) of interest through a textual interface.
  • a feedback is received from the user for the playlist of the audible presentation. This may allow identifying and/or learning content consumption pattern(s) of the user in order to improve creation of future playlist(s).
  • the playlist is adjusted according to the feedback received for one or more past play lists such as the playlist. This may allow identifying and/or improving creation of future playlist(s) to better fit the user preferences based on the learned content consumption pattern(s) of the user.
  • Implementation of the method and/or system of embodiments of the invention can involve performing or completing selected tasks manually, automatically, or a combination thereof.
  • several selected tasks could be implemented by hardware, by software or by firmware or by a combination thereof using an operating system.
  • hardware for performing selected tasks according to embodiments of the invention could be implemented as a chip or a circuit.
  • selected tasks according to embodiments of the invention could be implemented as a plurality of software instructions being executed by a computer using any suitable operating system.
  • one or more tasks according to exemplary embodiments of method and/or system as described herein are performed by a data processor, such as a computing platform for executing a plurality of instructions.
  • the data processor includes a volatile memory for storing instructions and/or data and/or a non-volatile storage, for example, a magnetic hard-disk and/or removable media, for storing instructions and/or data.
  • a network connection is provided as well.
  • a display and/or a user input device such as a keyboard or mouse are optionally provided as well.
  • FIG. 1 is a flowchart of an exemplary process for creating an audible playlist for a certain ride of a user, according to some embodiments of the present invention
  • FIG. 2A is a schematic illustration of a first embodiment of an exemplary system for creating an audible playlist for a certain ride of a user, according to some embodiments of the present invention. and only message comment as above
  • FIG. 2B is a schematic illustration of a second embodiment of an exemplary system for creating an audible playlist for a certain ride of a user, according to some embodiments of the present invention. Only message comment as above
  • FIG. 2C is a schematic illustration of a third embodiment of an exemplary system for creating an audible playlist for a certain ride of a user, according to some embodiments of the present invention.
  • the present invention in some embodiments thereof, relates to creating an audible playlist for a user and, more particularly, but not exclusively, to creating an audible playlist adapted for a user according to one or more ride characteristics of a certain ride of the user.
  • the playlist comprises audio tracks selected from a plurality of sources according to one or more ride characteristics identified for the (current) ride.
  • the user may be for example, a driver driving a vehicle, a passenger in the vehicle, a user riding a public transportation vehicle (e.g. a taxi, a bus, a train, etc.).
  • a plurality of messages may be selected (obtained) from a plurality of sources available locally (local storage) and/or remotely, for example, from the Internet accessible through one or more networks supported by a client terminal (e.g. a smartphone, a tablet, a smart watch, etc.) associated with the user and/or a car system (e.g. a multimedia system, a communication system, etc.) installed and/or attached to the vehicle in case the user is the driver and/or a passenger in the vehicle.
  • the remote source(s) may include, for example, online social network(s), online news feed(s), online radio station(s), online music provider(s), online eBook provider(s), advertiser(s), and email server and/or the like.
  • the messages may include audible messages (e.g. an audio post, an audio news feed, an advertisement, a radio show, a music soundtrack, an eBook soundtrack, a voice mail message, an audio file, etc.) and/or messages converted to an audible form (e.g. one or more text messages, for example, a text post, a textual news feed, an email message, a text message and/or the like).
  • audible messages e.g. an audio post, an audio news feed, an advertisement, a radio show, a music soundtrack, an eBook soundtrack, a voice mail message, an audio file, etc.
  • messages converted to an audible form e.g. one or more text messages, for example, a text post, a textual news feed, an email message, a text message and/or the like.
  • the messages may be selected (obtained) according to one or more ride characteristics identified for the current ride, for example, a geographical location, a destination, a duration, a weather condition, a presence of passenger(s) and/or the like.
  • the ride characteristics may be deduced from an analysis of one or more sensors, services and/or applications available by the client terminal and/or the car system(s).
  • the sensor(s) may include, for example, a Global Positioning System (GPS) sensor(s), an image sensor(s), an accelerometer(s), a wireless communication module(s) and/or the like.
  • GPS Global Positioning System
  • the messages may be selected (obtained) according to an analysis of past
  • the messages may further be selected based a ranking score calculated for each selected message according to an analysis of one or more attributes of each of the messages indicating, for example, a past interaction of the user with the originating source of the message, a relevance of the message to the ride and/or the like.
  • the messages in particular the text messages may be converted to audio tracks in one or more audio coding formats supported by the client terminal and/or the car media system(s) for presenting the sound tracks to the user.
  • the playlist may be created by ordering selected audio tracks created from the obtained messages according to the ride characteristic(s) and/or the calculated ranking scores. An audible presentation of the playlist may then be played through one or more audio user interfaces of the client terminal(s) and/or the car media systems.
  • While the playlist is played the user may interact with the device playing the playlist to initiate one or more actions, for example, stop the audible presentation, repeat the audible presentation, skip one or more audio tracks, repeat one or more audio tracks and/or the like.
  • the user interaction may be monitored in order to identify satisfaction of the user with the selected audio tracks and possible adjust one or more selection and/or ranking rules for selecting the messages for one or more future rides.
  • the user may respond to one or more of the played audio tracks.
  • the response may be transmitted according to the origin of the audio tracks (message(s)) the user responded to.
  • Creating an audible presentation playlist adjusted for a certain ride of the user may present significant advantages. While currently existing methods and systems are available for selecting and ranking the contents of the playlist according to a plurality of characteristics and/or attributes of a user, for example, favorites, interaction with other users, past media consumption patterns and/or the like, none of the existing methods and/or systems may adapt the playlist according to the ride characteristics. By adapting the playlist according to the ride characteristic(s), the audio content presented to the user may be better suited for the specific ride and may therefore benefit the user.
  • the playlist may be created automatically with no and/or minimal intervention of the user thus increasing the ability of the user to concentrate on the driving tasks without being distracted with operating a media consumption device, tool and/or application.
  • the playlist content may include one or more messages directed to specific geographical locations (e.g. a current location, a destination, a location along the route, a nearby location, etc.) that may be of interest to the user.
  • the playlist may include messages from one or more members of an online social network that are within a certain radius of the current location.
  • the playlist may include one or more messages from a traffic website or application reporting traffic conditions along the route of the current ride.
  • the playlist may also be adapted according to, for example, duration, a time of day and/or a date of the current ride.
  • the duration of the playlist audible presentation may be set according to the duration of the current ride.
  • one or more ride patterns of the user may be identified over time and the playlist may be adjusted accordingly for one or more of the learned ride patterns. Furthermore, the obtained, selected and presented messages may be correlated with the ride characteristics identified for the ride pattern(s).
  • the playlist may also be constructed to avoid inclusion of private messages and/or adult content when the user is driving the vehicle in case passengers are detected in the vehicle during the current ride.
  • the playlist content may further include one or more messages directed to operational parameters of the vehicle during the current ride, for example, a fuel level, a tires condition and or the like.
  • the playlist may be created to include an audio message indicating the low fuel level and possibly include an audio message for directing the user driving the vehicle to a nearby gas station.
  • the present invention may be a system, a method, and/or a computer program product.
  • the computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
  • the computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device.
  • the computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
  • Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
  • the computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
  • electronic circuitry including, for example, programmable logic circuitry, field -programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s).
  • the functions noted in the block may occur out of the order noted in the figures.
  • FIG. 1 illustrates a flowchart of an exemplary process for creating an audible playlist for a certain ride of a user, according to some embodiments of the present invention.
  • a process 100 may be executed to create an audible playlist comprising one or more audible messages played to a user, for example, a driver driving a vehicle, a passenger in the vehicle, a user riding a public transportation vehicle and/or the like during a certain ride.
  • One or more messages designated for the user may be obtained by one or more devices available to the user (e.g. a client terminal and/or a car media system) having access to one or more remote sources over one or more networks.
  • the message(s) may be obtained from one or more of a plurality of sources, for example, an online source accessible over one or more networks (e.g. an online social network, an online news feed, an online radio station, an online music provider, an online eBook provider, an advertiser, etc.) and/or a local source (e.g. a client terminal storage, a car media system storage, etc.).
  • the messages may include audible messages (e.g. an audio post, an audio news feed, an advertisement, a radio show, a music soundtrack, an eBook soundtrack, a voice mail message, an audio file, etc.).
  • the messages may further include text messages (e.g. a text post, a textual news feed, an email message, a text message, etc.).
  • the messages may be obtained according to one or more ride characteristics (e.g. current location, destination, distance, ride duration, estimated time of arrival, time of day, date, presence of passenger(s), operational parameter(s) of the vehicle, etc.) of a certain ride, one or more of the plurality of messages may be selected for a playlist to be played to the user during the (certain) ride.
  • ride characteristics e.g. current location, destination, distance, ride duration, estimated time of arrival, time of day, date, presence of passenger(s), operational parameter(s) of the vehicle, etc.
  • ride characteristics e.g. current location, destination, distance, ride duration, estimated time of arrival, time of day, date, presence of passenger(s), operational parameter(s) of the vehicle, etc.
  • ride characteristics e.g. current location, destination, distance, ride duration, estimated time of arrival, time of day, date, presence of passenger(s), operational parameter(s) of the vehicle, etc.
  • the messages may be further obtained by based on analysis of one or more attributes of each of the
  • the message(s), in particular the text messages may be converted to one or more audio coding formats using one or more text-to-audio converters to allow an audible presentation of the textual message(s).
  • the playlist may then be automatically created by ordering the selected messages according to the ranking score calculated for each message.
  • the playlist may then be played through one or more audio user interfaces of the client terminal(s) and/or the car media systems.
  • FIG. 2A, FIG. 2B and FIG. 2C are schematic illustrations of a first embodiment, a second embodiment and a third embodiment of exemplary systems for creating an audible playlist for a certain ride of a user, according to some embodiments of the present invention.
  • a system 200A for executing a playlist creation and presentation process such as the process 100 comprises a playlist server 270 communicating with a client terminal 201, for example, a Smartphone, a tablet, a smart watch and/or the like over one or more networks 230.
  • the playlist server 270 for example, a server, a processing node, a cluster of processing nodes and/or the like comprising one or more processors, homogenous or heterogeneous, that may be arranged for parallel processing, as clusters and/or as one or more multi core processor(s).
  • the processor(s) of the playlist server 270 may be coupled to storage means comprising, one or more non-transitory persistent storage devices, for example, a hard drive, a Flash array, a Solid State Disk (SSD) and/or the like for storing program code.
  • SSD Solid State Disk
  • the processor(s) of the playlist server 270 is further coupled to one or more volatile memory devices, for example, a Random Access Memory (RAM) device for executing the program code.
  • the storage of the playlist server 270 may further comprise one or more network storage devices, for example, a storage server, a network accessible storage (NAS), a network drive, and/or the like.
  • the playlist server 270 comprises networking means for connecting to one or more of the networks 230, for example, a Local area Network (LAN), a Wide Area Network (WAN), a network infrastructure backbone, the Internet 240 and/or the like.
  • the playlist server 270 may execute one or more software modules (program code), wherein a software module may be, for example, a process, an application, an agent, a utility and/or the like each comprising a plurality of program instructions stored in a non-transitory medium and executed by one or more processors.
  • the playlist server 270 may execute, for example, a playlist generator 272 comprising one or more software modules for creating the playlist for the user 250 to be played during one or more rides the user 250 makes with the vehicle.
  • the playlist server 270 specifically the playlist server 270 executing the playlist generator 272 is implemented as one or more networked services for example, a cloud service, a Software as a Service (SaaS), a Platform as a Service (PaaS) and/or the like.
  • SaaS Software as a Service
  • PaaS Platform as a Service
  • the client terminal 201 may include an input/output (I/O) interface 202, a processor(s) 204, storage 206 and a user interface 208.
  • the I/O interface 202 may provide one or more wireless interfaces for connecting one or more of the remote sources, for example, the Internet 240 and/or the playlist server 270 over one or more of the networks 230, for example, a Wireless LAN (WLAN) interface (e.g. Wi-Fi), a cellular interface and/or the like.
  • WLAN Wireless LAN
  • the I O interface 202 may further provide one or more interfaces, wired and/or wireless for connecting to one or more car media systems 220 of the vehicle, for example, a LAN interface, a WLAN interface, a Bluetooth interface, a Radio Frequency (RF) interface, a Universal Serial Bus (USB) interface, a Controller Area Network (CAN bus) interface and/or the like.
  • the car media systems 220 may include one or more built in car media and/or an attachable car media, for example, a speaker, a multimedia system, an infotainment system, a navigation system and/or the like.
  • the I/O interface 202 may further allow connecting to one or more other car systems and/or sensors, for example, a GPS sensor, an accelerometer, a driving control system, an image sensor and/or the like.
  • one or more of the sensors is integrated in the client terminal 201.
  • the processor(s) 204 may be arranged for parallel processing, as clusters and/or as one or more multi core processor(s).
  • the storage 206 may include one or more non-transitory persistent storage devices, for example, a Flash array, an SSD and/or the like for storing program code.
  • the storage 206 may further be utilized through one or more volatile memory devices, for example, a RAM device used to store program code downloaded from one or more remote locations over the I/O interface 202 and/or from an external device, for example, a memory stick, a Flash card and/or the like.
  • the storage 206 may be further used to store one or more of a plurality of messages 212.
  • the user interface 208 may include a one or more human-machine interfaces, for example, a keyboard, a pointing device, a touch surface, a display, a microphone, a speaker and/or the like for interacting with a user 250, for example, a driver driving a vehicle, a passenger in the vehicle, a user riding a public transportation vehicle and/or the like.
  • a human-machine interfaces for example, a keyboard, a pointing device, a touch surface, a display, a microphone, a speaker and/or the like for interacting with a user 250, for example, a driver driving a vehicle, a passenger in the vehicle, a user riding a public transportation vehicle and/or the like.
  • the processor(s) 204 may execute one or more software modules (program code), for example, a playlist player 210 for presenting (playing) the playlist for the user 250 during one or more rides the user 250 makes with the vehicle and/or a monitor module 211 for collecting one or more ride characteristics of the rides the user 250 makes with the vehicle.
  • the playlist player 210 may communicate with the playlist generator 272 over the network 230 to receive from the playlist generator 272 the created playlist in order to play it to the user 250.
  • the monitor module 211 may communicate with the playlist generator 272 over the network 230 to provide the playlist generator 272 with the ride characteristic(s) collected during a certain ride.
  • the playlist player 210 and the monitor module 211 are integrated in a single software module, for example, an application, an agent and/or the like.
  • the playlist player 210 and/or the monitor module 211 are executed by one or more of the car media systems 220 of the vehicle for the user 250 driving the vehicle.
  • a system 200B for executing a playlist creation and presentation process such as the process 100 includes the playlist server 270 communicating with a car media system 220 comprising an I/O interface 222 such as the I/O interface 202, a processor(s) 224 such as the processor(s) 204, storage such as the storage 206 and a user interface 228 such as the user interface 208.
  • the processor(s) 224 may execute, for example, the playlist generator 272 and/or the monitor module 211 from the storage 226.
  • the storage 226 may be further used to store one or more of the messages 212.
  • one or more of the sensors is integrated in one or more of the car media systems 220.
  • the playlist player 210 and/or the monitor module 211 executed by the car media system 220 ma communicate with the playlist generator 272 over the network 230.
  • the playlist player 210 and the monitor module 211 are integrated in a single software module, for example, an application, an agent and/or the like.
  • the playlist player 272 is executed at the client terminal 201.
  • a system 200C for executing a playlist creation and presentation process such as the process 100 includes the client terminal 201 executing the playlist generator 272 locally and communicates with the car media system 220 that executes the playlist player 210 the monitor module 211.
  • the playlist generator 272 may be executed at the car media system 200.
  • two or more of the playlist generator 272, the playlist player 210 and/or the monitor module 211 are integrated in a single software module, for example, an application, an agent and/or the like.
  • the process 100 may be implemented in a plurality of additional deployments and/or combinations and the system embodiments as presented in the systems 200A, 200B and/or 200C collectively referred to as the system 200 should not be construed as limiting.
  • the process 100 A may be applied through a plurality of deployments and execution schemes in which the playlist generator 272, the playlist player 210 and the monitor module 211 are executed by one or more of the client terminal 201, the car media system 220 and/or the playlist generator server 270.
  • the playlist generator 272 may be executed by the playlist server 270
  • the playlist player 210 and/or the monitor module 211 may be executed entirely by one or more client terminals such as the client terminal 201, entirely by the car media system(s) 220 and/or jointly by both the client terminal(s) 201 and the car media system(s) 220.
  • the playlist generator 272, the playlist player 210 and/or the monitor module 21 l may be executed entirely by the client terminal(s) 201, entirely by the car media system(s) 220 and/or jointly by both the client terminal(s) 201 and the car media system(s) 220.
  • one or more of the messages 212 may be stored by one or more of the storage 206 and/or 226 such that they may be available and/or used by the playlist generator 272.
  • one or more of the deployments and/or combinations of the system 200 may be derived from the capabilities of the client terminal 201 and/or the car media system(s) 220.
  • the car media system(s) 200 have a network connection to the network(s) 230 while in some embodiments of the present invention the car media system(s) 200 do not have access to the network(s) 230.
  • the process 100 applied the system 200 may be applied for generating playlist for a plurality of users such as the user 250.
  • the process 100 is described for a single user 250 associated with a single client terminal such as the client terminal 201 and/or a single vehicle having one or more car media systems such as the car media system 220.
  • the process 100 starts with the monitor module 211 determining one or more ride characteristics of the current ride of the user 250.
  • the ride characteristics may comprise, for example, a current geographical location, a destination, a distance of the ride, a route of the ride, duration of the ride, an estimated time of arrival (TOA), a time of day (current time), a date and/or the like.
  • the monitor module 211 may determine one or more of the ride characteristics, for example, the current location, the destination, the distance, the duration, the estimated TOA and/or the like by analyzing input received from one or more applications executed by the client terminal 201 and/or the car media system(s) 220, for example, a navigation application, a positioning application and/or the like.
  • the monitor module 211 may also determine one or more of the ride characteristics by analyzing input received from one or more of the sensors connected to and/or integrated in the client terminal 210 and/or the car media system 220.
  • the monitor module 211 may determine one or more of the ride characteristics, for example, the current time by analyzing input received from a clock device connected to and/or integrated in the client terminal 210 and/or the car media system 220.
  • the monitor module 211 may further determine one or more of the ride characteristics by analyzing input received from one or more applications and/or services executed by the client terminal 210 and/or the car media system 220, for example, a timing service, a navigation application, a geographical location service and/or the like.
  • the monitor module 211 may further obtain one or more of the ride characteristics, for example, the time of day, the destination, the duration, the estimated TOA and/or the like by analyzing input received from one or more scheduling applications and/or services, for example, a calendar, a task management application and/or the like used by the user 250 for scheduling events. For example, the monitor module 211 may identify the certain ride by analyzing one or more events logged in one or more of the scheduling applications and/or services.
  • the ride characteristics may also comprise a presence of one or more other passengers in the vehicle, being a private vehicle or a public transportation vehicle.
  • the presence of the passenger(s) may be identified by the monitor module 211, for example, by interacting with one or more of the vehicle's systems that monitor, for example, pressure sensor(s) on the car seats, seat belt(s) usage, child seat sensor(s), motion sensor(s) in the vehicle's cabin and/or the like.
  • the monitor module 211 210 may further apply one or more signal processing algorithms to identify sounds and/or speech in the cabin indicating the presence of the passenger(s).
  • the ride characteristics may further comprise one or more environmental conditions, for example, an external temperature, an internal temperature (in the cabin), a rain condition, a snow condition and/or the like.
  • the monitor module 211 may obtain the environmental condition(s) from one or more devices and/or systems connected to the client terminal 210 and/or the car media system 220, for example, a temperature sensor, a wiper sensor and/or the like.
  • the ride characteristics may comprise one or more operational parameter of the vehicle, for example, a parking brake status, a door status, a fuel level status, a speed, a brake pedal status, an engine temperature, a wiper status, a tire status, an airbag status, a battery status, a lamp status and/or the like.
  • a parking brake status for example, a parking brake status, a door status, a fuel level status, a speed, a brake pedal status, an engine temperature, a wiper status, a tire status, an airbag status, a battery status, a lamp status and/or the like.
  • the monitor module 211 may provide the collected ride characteristic(s) to the playlist generator 272.
  • the playlist generator 272 executed by the playlist server 270
  • the monitor module 211 executed, for example, by the car media system 220 may transmit the ride characteristic(s) to the playlist server 270 over the network(s) 230, for example, the cellular network.
  • the playlist generator 272 may be executed by the client terminal 201 while the monitor module 211 may be executed by the car media system 220.
  • the monitor module 211 may transmit the ride characteristic(s) to the client terminal 201 over one or more interfaces, for example, the Bluetooth connection.
  • the monitor module 211 may transmit the ride characteristic(s) to one or more additional remote locations, for example, a server, a networked service, a cloud service and/or the like.
  • the monitor module 211 may transmit the ride characteristic(s), in particular one or more of the vehicle operational parameters to a manufacturer of the vehicle, a leasing company leasing the vehicle, a rental agency renting the vehicle and/or the like.
  • the monitor module 211 may by further configured to transmit one or more alerts, for example, to the manufacturer, the leasing company and/or the rental agency based on the collected ride characteristic(s).
  • the monitor module 211 may transmit an alert to the leasing company and/or the rental agency to inform the vehicle is crossing the state border. This may allow the leasing company and/or the rental agency to keep track of the vehicle usage and location.
  • the playlist generator 272 may apply one or more learning algorithms to analyze mobility patterns of the user 250 as reflected by the ride characteristic(s) collected for a plurality of rides to identify one or more ride patterns of the user 250 over time. The playlist generator 272 may then determine one or more of the ride characteristics based on analysis of the ride pattern(s). For example, the playlist generator 272 may identify a first ride pattern in which the user 250 drives to his work place every morning of the week at a certain time.
  • the playlist generator 272 may then learn the ride approximate duration, the ride approximate time of day, etc.
  • the playlist generator 272 may identify a second ride pattern in which the user 250 drives to a golf club every weekend at noon. Similarly, the playlist generator 272 may then learn the ride approximate duration, the ride approximate time of day, etc.
  • the playlist generator 272 obtains one or more messages 212 designated for the user 250 to create the playlist based on the ride characteristic(s) determined for the current ride. Typically, the playlist generator 272 starts executing when a certain ride takes place.
  • the playlist generator 272 may be notified by the monitor module 21 lidentifying that the user 250 is, for example, in the vehicle, in the vehicle proximity and/or starting to drive.
  • the monitor module 211 may identify and/or be informed of the ride according to one or more indications, for example, a connection to one or more of the vehicle's systems, ignition of the vehicle, positioning information received, for example, from a Global Positioning system (GPS), a speed of the vehicle and/or the like.
  • GPS Global Positioning system
  • the playlist generator 272 may be launched manually by the user 250.
  • the messages 212 may include one or more audible messages, for example, an online social network audio post (e.g. a HearMeOut post, a Facebook audio post, a Google+ audio post, etc.), an audio news feed, an audio advertisement, a radio show, a live broadcast, a streaming feed, a traffic report, a music soundtrack, an eBook soundtrack, a voice mail message, an audio file, a video file and/or the like.
  • the messages 212 may further include one or more text messages, for example, an online social network text post, a textual news feed, an email message, a text message and/or the like.
  • the playlist generator 272 may obtain one or more of the messages 212 from the remote sources by retrieving the messages 212 over the network(s) 230.
  • the remote sources for example, the Internet 240 accessible over one or more networks may include one or more sources, for example, an online social network (e.g. a Facebook text post, a Google+ text post, etc.), an online news feed, an online radio station, an online music provider, an online eBook provider, a streaming video/audio provider, an online traffic website and/or the like.
  • the playlist generator 272 may obtain one or more of the messages 212, for example, a music soundtrack, an eBook soundtrack, a voice message, a text message and/or the like may be communicating with the client terminal 201 and/or the car media system 220 to obtain the message(s) from one or more local resources, for example, the storage 206 and/or the storage 226.
  • the messages 212 for example, a music soundtrack, an eBook soundtrack, a voice message, a text message and/or the like may be communicating with the client terminal 201 and/or the car media system 220 to obtain the message(s) from one or more local resources, for example, the storage 206 and/or the storage 226.
  • the playlist generator 272 may further interact with one or more applications, services, platform and/or the like executed by the client terminal 201 and/or the car media system(s) 220, for example, a mail service, a messaging service, a music player and/or the like to obtain one or more of the messages 212.
  • the messages may be pushed to the playlist generator 272 by one or more of the remote sources, for example, as a push service.
  • the messages 212 are designated for the user 250 meaning that the messages 212 are associated with the specific user 250.
  • One or more of the messages 212 may be obtained from private sources associated with the user 250, for example, a social network account, a service subscription, a mail account, a voice messaging service, a music application, an eBook application, a music directory at the storage 206 and/or 226 and/or the like.
  • one or more of the messages 212 may be obtained from publicly available sources and may be adapted for the user 250, for example, a public website, such as, for example, a news website, a weather website, a traffic website, an advertiser, a radio station and/or the like.
  • the playlist generator 272 may analyze the determined ride characteristic(s) and select the obtained messages accordingly. For example, in case the time of the ride is morning the playlist generator 272 may select news feed messages. The playlist generator 272 may also select posts posted on one or more of the online social networks during the night. In another example, the playlist generator 272 may select a traffic report posted at an online traffic website that relates to a route of the current ride. In another example, the playlist generator 272 may select one or more messages originating from member(s) of an online social network that are within a certain radius from the current geographical location of the user 250 and/or from the route of the ride.
  • the playlist generator 272 may select one or more advertisements of auto repair shops and/or services offering tire repair services. Based on the geographical location of the user 250, the playlist generator 272 may further select advertisement(s) of auto repair shops and/or services that are in close proximity to the current location of the user 250. In another example, the playlist generator 272 may identify that one or more passengers are present in the vehicle and avoid selection of messages 212 that are marked as private messages for the user 250. The playlist generator 272 may further identify presence of children in the vehicle and avoid selecting messages 212 that are not suitable for children.
  • the playlist generator 272 may further base the selection of the obtained message(s) from the messages 212 on a ranking score calculated for each of the obtained messages by analyzing media content consumption of the user 250.
  • the playlist generator 272 may obtain the media content consumption of the user 250 from the playlist player 210 for example.
  • the playlist generator 272 may apply one or more algorithms for calculating the ranking score that may predict a level of relevance and/or significance of each obtained message to the user 250, in particular during the (current) ride.
  • the playlist generator 272 may apply one or more learning algorithms to collect and/or analyze one or more attributes of each message, for example, past interaction of the user 250 with an originator of the respective message, an expressed interest of the user 250 in past message(s) similar to the respective message, a relevance of the message to the ride and/or the like.
  • the playlist generator 272 may calculate the ranking score by analyzing the attribute(s) of each obtained message and calculating a probability score for each attribute indicating a probability that the user 250 will like the message.
  • the attributes of the messages may be divided to one or more attribute groups, for example, actions made by the user 250 a respective one of the online social networks (attribute group A), tags and/or hashtags made by the user 250 to one or more messages (e.g. posts of the respective online social network) (attribute group B), user favorites at the respective online social network (attribute group C), user geographical location during the current ride (attribute group D), user mobility status (attribute group E), user mood during the current ride (attribute group F), vehicle parameters during the current ride (attribute group G) and/or the like.
  • Each of the obtained message(s) may be associated with one or more message attributed from one or more of the attribute groups.
  • the playlist generator 272 may analyze past (historical) media content consumption of the user 250 collected, for example, from the playlist player 210 monitoring interaction of the user 250 with the presented (played) media content.
  • the past media content may include, for example, past interaction of the user 250 with one or more members (originators) of one or more online social networks, for example, Facebook, HearMeOut, Google+ and/or the like.
  • the playlist generator 272 may collect the past interaction that may be expressed by one or more actions of the user 250, for example, following a respective member of a respective online social network, a "like” credited to a post posted by the respective member, a comment to a post posted by the respective member, a "post share” action to a post posted by the respective member, playing an audio post posted by the respective member, a "repost” action of a post posted by the respective member and/or the like.
  • the playlist generator 272 may analyze "like” credits the user 250 gave to posts posted by other members of a specific online social network.
  • the playlist generator 272 may update a "likes” table comprising "like” credits made by the user 250 to posts posted by one or more members.
  • the "likes” table may include a plurality of entries, each entry indicating "like” credit(s) made by the user 250 to a post posted by a certain member in the form of, for example, (user_id_like, post_id, user_id_post_owner).
  • the playlist generator 272 may update the respective entry of the member B in the table of the user 250 with the values (user 250, post X, Member B).
  • the playlist generator 272 may, for example, analyze comments made by the user 250 to posts posted by other members of a specific online social network.
  • the playlist generator 272 may update a "comments" table comprising comments made by the user 250 to posts posted by one or more members.
  • the "comments” table may include a plurality of entries, each entry indicating comment(s) of the user 250 to a post posted by a certain member in the form of, for example, (user_id_commented, comment_text, comment_tags, comment_hashtags, post_id, user_id_post_owner).
  • the comment_text contains the text of the comment
  • the comment_tags contains the comment tag(s)
  • the comment_hashtags contains the comment hashtag(s).
  • the playlist generator 272 may, for example, analyze the user 250 reading comments made to posts posted by other members of a specific online social network.
  • the playlist generator 272 may update a "readComments" table comprising indications of the user 250 reading comments to a post posted by one or more members.
  • the "readComments” table may include a plurality of entries, each entry indicating comment(s) the user 250 read for a post posted by a certain member in the form of, for example, (user_id_read_comment, post_id, user_id_post_owner). Where the user_id_read comment is the ID of the member that read the comment(s).
  • the playlist generator 272 may, for example, analyze the user 250 playing audio posts posted by other members of a specific online social network.
  • the playlist generator 272 may update a "postPlays" table comprising indications of the user 250 plays a post posted by to the plurality of members.
  • the "postPlays" table may include a plurality of entries, each entry indicating comment(s) the user 250 played a post posted by a certain member in the form of, for example, (user_id_play, post_id, post_type_id, user_id_post_owner, datetime_post_played).
  • post_type_id is the type of the post (e.g. news, music, etc.)
  • datetime_post_played indicates the time and date the member played the post.
  • the playlist generator 272 may, for example, analyze the user 250 following other members of a specific online social network.
  • the playlist generator 272 may update a "followings" table comprising indications of the user 250 following other member(s).
  • the "followings" table may include a plurality of entries, each entry indicating the user 250 follows a certain member in the form of, for example, (user_id_following, user_id_followed, datetime_following). Where the user_id_following is the ID of the following member, user_id_f olio wed is the ID of the followed member and datetime_following indicates the time and date the following member started following the followed member.
  • the playlist generator 272 may, for example, analyze the user 250 reposting posts posted by other members of a specific online social network.
  • the playlist generator 272 may update a "reposts" table comprising indications of the user 250 reposting post(s) posted by one or more members.
  • the "reposts" table may include a plurality of entries, each entry indicating the user 250 reposted a post of a certain member in the form of, for example, (user_id_reposted, post_id, user_id_post_owner, datetime_reposted). Where the user_id_reposted is the ID of the member that reposted the post and datetime_reposted indicates the time and date the reposting member reposted the post.
  • the playlist generator 272 may apply one or more similarity detection algorithms to the past actions (interaction) of the user 250 in order to identify similarity between the actions of the user 250 and one or more other similar members of the respective online social network.
  • the playlist generator 272 may apply the similarity detection algorithm(s) to, for example, the "likes” table, the “comments” table, the “readComments” table, the "postPlays” table, the “followings” table and/or the “reposts” table.
  • the playlist generator 272 may collect and analyze a plurality of other attributes of the messages (posts) and the exemplary collected information should not be construed as limiting.
  • the probability score may be calculated for one or more of the obtained messages (posts) according to actions made by the similar member(s).
  • the similarity detection algorithms may include, for example, the Jaccard index algorithm as expressed in equation 1 below.
  • U 1 is a first member
  • U 2 is a second member
  • L x is a list of posts the member U 1 credited with likes, for example
  • L 2 is a list of posts the member U 2 credited with likes.
  • the playlist generator 272 may calculate a similarity of the user 250 with respect to a plurality of other N members of the respective online social network and based on the similarity between the user 250 and each of the other member(s), the playlist generator 272 may calculate a probability score for one or more of the obtained message.
  • An exemplary similarity analysis is presented in the table 1 below:
  • the playlist generator 272 may identify the similarity between the user A, being for example, the user 250 and each of the other members B through E. As evident from the table 1, the similarity between the member A (the user 250) and the member B is higher than a similarity between the member A and the other members, for example, the members c through E. Using the Jaccard index algorithm as expressed in the equation 1, the playlist generator 272 may calculate the similarity between the user 250 (member A) and the members B through E as expressed in equations 2 below. Equation 2:
  • the playlist generator 272 may calculate a probability score that the user 250 will like the new post 10.
  • the playlist generator 272 may calculate the probability of the user 250 (user A) to like the new post 10 using the calculation expressed in equation 3 below.
  • ZL is the sum of the similarity scores (indices) between a member U and all members who credited a post M with a "like”
  • ML is the number of member who credited the post M with a "like”.
  • the playlist generator 272 may calculate the probability of the user 250 (user A) to like the new post 10 to be 0.6 as expressed by a calculation at equation 4 below.
  • the playlist generator 272 may repeat the same process to calculate the probability score for each attribute of the actions attribute group, for example, the comments the user 250 made to posts, the comments to the posts that the user 250 read, the audio posts that the user 250 played, the members the user 250 follows and/or the posts the user 250 reposted.
  • the playlist generator 272 may apply the same process as is done for the actions attribute group.
  • the playlist generator 272 may analyze the information collected for the past actions of the user 250 over a period of time in order to identify past interaction between the user 250 and the originator (member) of one or more of the obtained messages. Based on the past interaction, the playlist generator 272 may the probability score for one or more of the user favorites attributes for one or more of the obtained messages. For example, the playlist generator 272 may calculate the probability score according to the percentage of likes the user 250 credited posts of the certain member that posted the message (post) out of the overall number of likes the user 250 credited at the online social network. An exemplary distribution of "like" credits of an exemplary user 250 is presented in table 2 below.
  • the playlist generator 272 may further segment the percentage values to segments, for example, percentages between 0% and 25% are assigned with a probability score of 1, percentages between 25.1% and 50% are assigned with a probability score of 2, percentages between 50.1% and 75% are assigned with a probability score of 3 and percentages between 75.1% and 100% are assigned with a probability score of 4. For example, as evident from the table 2, the probability that the user 250 will like a post posted by the member F is higher that the probability that the user 250 will like a post posted any other of the members, B, C, D, E, G, H, I or J.
  • the playlist generator 272 may repeat the same process to calculate the probability score for one or more other attributes of the user favorites attribute group, for example, the percentage of comments the user 250 made to posts of the certain member that posted the message (post) out of the overall number of comments the user 250 made at the online social network, the percentage of comments to posts by the certain member that the user 250 read out of the overall number of comments the user 250 read at the online social network, the percentage of audio post(s) posted by the respective member that the user 250 listened to out of the overall time of the audio post(s) posted by the respective member and/or the like.
  • the percentage of comments the user 250 made to posts of the certain member that posted the message (post) out of the overall number of comments the user 250 made at the online social network the percentage of comments to posts by the certain member that the user 250 read out of the overall number of comments the user 250 read at the online social network
  • the playlist generator 272 may apply the same process to media content consumption of the user 250 from one or more other message sources, for example, a news website, a streaming music website, an online radio station and/or the like.
  • the playlist generator 272 may further apply the same process to one or more local resources available at the client terminal 201 and/or the car media system(s) 220, for example, a music directory, a music application and/or the like.
  • the playlist generator 272 may analyze past interaction of the driver 250 with one or more of the other message sources (remote and/or local) to calculate the probability score for one or more messages originating from the other message source(s).
  • the playlist generator 272 may analyze one or more playlists created by the user 250 in one or more music applications to identify favorite music tracks of the user 250.
  • the playlist generator 272 may analyze a browsing history of the user 250 to identify favorite news feed websites and possibly favorite news sections and/or fields of interest. Based on the analysis of the favorite messages (items) of the user 250, the playlist generator 272 may calculate a ranking score for each of the messages.
  • the playlist generator 272 may use one or more of the ride characteristics determined as described before in step 102 of the process 100. Based on the collected ride characteristics relating to the attribute groups D, E and/or G, the playlist generator 272 may obtain one or more messages complying with one or more selection rules, for example, a proximity of the originator of the message(s) to the current location of the user 250, a proximity of the originator of the message(s) to the destination of the certain ride, a relevancy to the car operational parameter(s) and/or the like.
  • the playlist generator 272 may then apply the similarity analysis as presented above over media consumption preferences of a plurality of users presenting similar attributes of attribute groups D, E and/or G to the attributes identified for the user 250 during the certain (current) ride. Based on the similarity analysis, the playlist generator 272 may calculate the probability of the user 250 to like each of the obtained messages according to the calculation in equation 3.
  • the playlist generator 272 may identify the mood of the user 250 during the current ride in order to calculate the ranking score for each of the obtained messages with respect to one or more mood characteristics, for example, tense, angry, happy and/or the like of the user 250.
  • the playlist generator 272 may identify the mood of the user 250 by applying, for example, one or more signal processing algorithms to analyze sounds and/or speech of the user 250 recorded, for example, by the monitor module 211 and/or the playlist player 210 in the cabin during the ride.
  • the playlist generator 272 may identify, for example, a speech volume, a speech coherency, a speech rapidness, a tone, an intonation and/or the like that may be indicative of the mood characteristic(s) of the user 250.
  • the playlist generator 272 may further convert the recorded sounds and/or speech of the user 250 to text and analyze the text to identify key words that may be indicative of the mood characteristic(s) of the user 250. Based on the identified mood (attribute groups F), the playlist generator 272 may obtain one or more messages, for example, a calm music track, a cheerful music track, an advertisement for a depression therapist and/or the like. The playlist generator 272 may then apply the similarity analysis as presented above over media consumption preferences of a plurality of users exhibiting similar mood characteristic(s) as identified for the user 250 during the certain (current) ride. Based on the similarity analysis, the playlist generator 272 may calculate the probability of the user 250 to like each of the obtained messages according to the calculation in equation 3.
  • the playlist generator 272 may assign weights to each of the message's attributes to indicate a contribution (significance) of each attribute to the selection of the message to the playlist. By assigning the weights, the playlist generator 272 may set the contribution of each of the message attributes to the overall ranking score.
  • the playlist generator 272 may assign different weights for different users such as the user 250 to allow adjustment of the prediction of suitable messages per driver (user). An exemplary weights assignment is provided in table 3 below.
  • the playlist generator 272 may calculate the ranking score for the selected (obtained) messages according to one or more of the attributes identified for the messages.
  • the playlist generator 272 may calculate the ranking score (R) using the calculation expressed in equation 5 below.
  • R (M) P( ) X W(A M )
  • P( ) is the probability score calculated for the message M according to a message attribute A M and W(A M ) is the weight assigned to the attribute A M .
  • the playlist generator 272 may calculate the ranking score for a plurality of message attributes in one or more of the attribute groups and aggregate the overall ranking score to produce an attribute group ranking score. The playlist generator 272 may further aggregate the ranking score produced for the attribute group(s) to produce an overall ranking score for one or more of the selected (obtained) messages.
  • the playlist generator 272 may select the (obtained) messages from the messages 212 that may potentially be used to create the playlist for the user 250 during the (current) ride.
  • the playlist generator 272 may further adjust one or more rules, for example, a selection rule, a ranking rule and/or weight rule for calculating the ranking score based on feedback of the user 250 to a playlist created for one or more past rides.
  • the feedback may be further used to identify one or more content consumption patterns of the user 250.
  • the playlist generator 272 may use the learned content consumption pattern(s) to improve selection of the messages to be included in the playlist according to the preferences of the user 250. For example, during one or more of the past rides, the user 250 may have indicated that the online social network messages (posts) are of higher importance than news feed messages.
  • the playlist generator 272 may then adjust one or more of the rules for creating the playlist for the current ride.
  • the playlist generator 272 may further apply one or more of the learning algorithms to correlate between the ride pattern(s) and the feedback provided by the user 250. For example, the playlist generator 272 may identify that during one or more rides associated with the exemplary first ride pattern (driving to the work place) the user 250 provided a feedback indicating a business news feed message is of high significance.
  • the playlist generator 272 may then create and/or adjust a respective selection rule for selecting messages for the first pattern ride(s) to include a larger portion of business news feed message.
  • the playlist generator 272 converts one or more of the selected (obtained) messages to audio tracks of one or more audio formats that may be presented by the client terminal 201 and/or the car media system(s) 220.
  • the playlist generator 272 converts only the obtained message(s) that are not compliant with the means, for example, device(s), audio decoder(s) and/or the like available for the audible presentation of the messages to the user 250.
  • the playlist generator 272 may convert one or more audio messages of the messages 212 from one audio coding format to another, for example, from Waveform Audio File Format (WAV) to MPEG Audio Layer 3 (MP3).
  • WAV Waveform Audio File Format
  • MP3 MPEG Audio Layer 3
  • the playlist generator 272 may also convert one or more video messages of the messages 212 to an audible message compliant with an audio coding format that may be presented by the client terminal 201 and/or the car media system(s) 220.
  • the playlist generator 272 may further convert one or more text messages of the messages 212 to audio records in one or more audio coding formats using one or more text-to-audio converters to allow an audible presentation of the textual message(s) by the client terminal 201 and/or the car media system(s) 220.
  • the playlist generator 272 selects a group of one or more of the audio tracks obtained for the playlist to be presented to the user 250 during the (current) ride.
  • the playlist generator 272 may select the audio tracks according to one or more of the ride characteristics of the (current) ride based on the ranking score calculated for each audio track. For example, the playlist generator 272 may set duration of the playlist to fit the duration of the ride.
  • the user 250 may set the playlist generator 272 to create the playlist according to a preset presentation rule independent of the ride characteristics and/or the ranking score.
  • the playlist generator 272 may create the playlist according to a reversed chronological time in which each of the obtained message was posted, i.e. the latest posted message is placed first (at the top of the playlist).
  • the playlist generator 272 may apply one or more selection rules for selecting the audio tracks included in the group for creating the playlist. For example, the playlist generator 272 may select portions of the overall playlist duration to be assigned to audio tracks selected according to one or more of the attribute groups. The playlist generator 272 may assign, for example, 40% of the playlist duration to audio tracks selected according to the user actions attribute group (Group A), 30% of the playlist duration to audio tracks selected according to the user favorites attribute group (Group C), 30% of the playlist duration to audio tracks selected according to the ride characteristics attribute groups (Group D, E and/or G) and or the like. This may allow for diversifying the audio tracks included in the playlist.
  • the playlist generator 272 may assign, for example, 40% of the playlist duration to audio tracks selected according to the user actions attribute group (Group A), 30% of the playlist duration to audio tracks selected according to the user favorites attribute group (Group C), 30% of the playlist duration to audio tracks selected according to the ride characteristics attribute groups (Group D, E and/or G) and or the like. This may allow for diversifying the audio tracks included in the playlist.
  • the playlist generator 272 may create the group of the audio tracks from one or more bulks of a pre-defined size, for example, a pre-defined number (e.g. 20 messages), a pre-defined duration (e.g. 10 minutes,), a pre-defined volume (e.g. 100 MB) and/or the like.
  • a pre-defined size for example, a pre-defined number (e.g. 20 messages), a pre-defined duration (e.g. 10 minutes,), a pre-defined volume (e.g. 100 MB) and/or the like.
  • An exemplary message ranking of a plurality of audio tracks for an exemplary user 250 is presented in table 4 below.
  • the ranking scores of the audio tracks is calculated by aggregating the ranking scores calculated for attributes of the same attribute group for one or more of the audio tracks.
  • the playlist generator 272 may aggregate ranking scores calculated for one or more of the attribute groups for a certain audio track.
  • the playlist generator 272 may apply one or more of the selection rules to select the audio tracks from table 1 to be included in the group used to create the playlist.
  • the playlist generator 272 creates the playlist of 20 audio tracks bulks and allocates 35% of each bulk to audio tracks selected according to the Group A attributes, 25% to audio tracks selected according to the Group B attributes, 15% to audio tracks selected according to the Group C attributes, 10% to audio tracks selected according to the Group D attributes, 10% to audio tracks selected according to the Group E attributes and 10% to audio tracks selected according to the Group F attributes.
  • playlist generator 272 creating the bulks from 7 audio tracks selected according to the Group A attributes, 5 audio tracks selected according to the Group B attributes, 3 to audio tracks selected according to the Group C attributes, 2 audio tracks selected according to the Group D attributes, 1 audio track selected according to the Group E attributes and 1 audio track selected according to the Group F attributes.
  • the playlist generator 272 may apply one or more heuristics and/or algorithms to create the playlist. For example, the playlist generator 272 may create the playlist to include a music audio track every several social network audio tracks.
  • the playlist generator 272 dynamically adjusts the playlist presentation according to one or more of the ride characteristics and/or availability of the messages 212. For example, in case a text message is received at the client terminal 201, the playlist generator 272 may interrupt the currently presented message and present the received text message, typically after converting the text message to a an audio track that may be presented audibly. In another example, in case the playlist generator 272 identifies a low fuel level, the playlist generator 272 may interrupt the currently presented audio track and present an audio track warning of the low fuel level. The playlist generator 272 may further present a directions audio track for driving to a nearby gas station. In another example, in case the playlist generator 272 identifies the ride destination is changed by the user and subsequently the ride duration is increased, the playlist generator 272 may select additional messages from the messages 212 to be included in the playlist (after converted to audio tracks if needed).
  • the playlist generator 272 creates the playlist by ordering the audio tracks in the playlist according to the ranking score calculated for each of the audio tracks of the group (members). For example, the playlist generator 272 may order the audio tracks in the playlist such that high ranking audio tracks having high ranking score are placed at the top (beginning) of the playlist while lower ranking audio tracks are placed lower in the playlist. As shown at 112, playlist generator 272 instructs an audible presentation of the playlist to the user 250 by providing the created playlist to the playlist player 210 and instructing the playlist player 210 to start the audible presentation. The playlist generator 272 may provide the playlist as a record comprising the actual messages of the playlist, for example, binary files, media files and/or the like.
  • the playlist generator 272 may provide pointers to one or more messages included in the playlist, for example, a Uniform Resource Locator (URL), a message title, a directory path and/or the like.
  • the playlist generator 272 may include in the playlist a binary file of a recorded commercial obtained from an advertiser website.
  • the playlist generator 272 may provide the playlist player with a music track title and/or directory path to allow the playlist player 210 to retrieve the music track from the local storage, for example, the storage 206.
  • the playlist player 210 may present the playlist through one or more interfaces of the client terminal 201 and/or the car media system(s) 220 to play the playlist for the user 250.
  • the playlist may be presented through one or more audio interfaces of the client terminal 201, for example, a speaker.
  • the playlist may be presented through one or more audio interfaces of the car media system(S) 220, for example, a speaker, an audio system and/or the like.
  • the playlist player 210 may also present the playlist through one or more devices attached to the client terminal 201 and/or the car media system(s) 220, for example, a Bluetooth speaker paired with the client terminal 201 and/or the like.
  • the playlist generator 272 and/or the playlist player 210 interact with one or more applications executed by the client terminal 201 and/or the car media system(s) 220 to play the playlist to the user 250.
  • the playlist generator 272 and/or the playlist player 210 may instruct a music player application executed by the terminal 201 and/or the car media system(s) 220 to play the created playlist.
  • the playlist player 210 may allow the user 250 to interrupt the audible presentation, for example, stop the audible presentation, restart the audible presentation, skip an audio track(s), repeat an audio track (s) and/or the like.
  • the user 250 may interrupt the presentation by interacting with the playlist player 210, for example, through a voice command, a push button press, a touch screen gesture and/or the like.
  • the playlist player 210 may monitor the audible presentation to the user 250 in order to collect feedback from the user 250.
  • the playlist generator 250 may identify audio tracks that are fully played, partially played and/or skipped in order to determine their level of significance and/or relevance to the user 250.
  • the user 250 interacts with the playlist player 210 to manually provide the feedback for the created playlist indicating a level of satisfaction of the user 250 from the audible presentation (created playlist).
  • the playlist generator 272 may transmit the feedback to the playlist generator 272 that may use the feedback provided for the created playlist (for the current ride) to adjust the rules used for selecting, tanking and/or weighing the messages selected for the playlist for one or more future rides.
  • the playlist player 210 allows the user 250 to select specific content comprising one or more messages to be included in the playlist. The playlist player 210 may then update the playlist with the message(s) selected by the user 250. Additionally and/or alternatively, the playlist player 210 transmits the selection made by the user 250 to the playlist generator 272 to indicate the selected message(s). The playlist generator 272 may update the playlist with the message(s) selected by the user 250 and resend the updated playlist to the playlist player 210 to be presented to the user 250.
  • the user 250 may select the selected message(s) by directly interacting with the playlist generator 272 using one or more configuration tools, for example, a web page accessible with a web browser, a configuration application and/or the like rather than selecting the message(s) through the playlist player 210.
  • the user 250 may select the selected message(s) offline, i.e. prior to the certain ride, using the configuration tool(s).
  • the playlist player 210 allows the user 250 to respond to one or more of the audio tracks included in the playlist.
  • the user 250 may indicate the playlist player 210, for example, through a voice command, a push button press, a touch screen gesture and/or the like to capture a response to one or more of the audio tracks played during the audible presentation.
  • the playlist player 210 may identify the particular audio track(s) (message(s)) of interest that the user 250 responds to as the audio track that is currently presented (played).
  • the playlist player 210 may be configured to associate the response indication of the user with an audio track of interest in case the response indication is received within a pre-defined time interval following presentation of the audio track of interest. This may allow the user 250 to hear the audio track of interest to its end and then indicate he wishes to respond to the message of interest.
  • the user 250 may respond to the audio track(s) of interest by recording an audible response message using an audio input, for example, the microphone of the client terminal 201, the microphone of the car media system(s) 220 and/or the like.
  • the playlist player 210 may enter a recording mode once identifying the response indication initiated by the user 250. Additionally and/or alternatively, the user 250 may manually set the client terminal 201 and/or the car media system 220 to the recording mode.
  • the playlist player 210 may transmit the audible response message of the user 250 to the source(s) from which the audio track(s) (message(s)) of interest originated. For example, the user 250 may record an audible response message to respond to a post posted on his feed in one of the online social networks.
  • the playlist player 210 may then post the recorded audible response message of the user 250 at the appropriate location at the respective online social network. Additionally and/or alternatively, the playlist player 210 transmits the response message to the playlist generator 272 the response message to allow the playlist generator 272 to post the recorded audible response message of the user 250 at the appropriate location at the respective online social network.
  • the playlist player 210 may convert the recorded audible response message of the user 250 to a textual format using one or more speech-to-text conversion tools. The playlist player 210 may then transmit the converted audile response message to the source from which the audio track of interest originated. For example, the user 250 may respond with an audible response message to a text message (converted to an audio track) received from a family member. The playlist player 210 may then convert the audible response message to create a reply text message and send it to the family member.
  • a compound or “at least one compound” may include a plurality of compounds, including mixtures thereof.
  • range format is merely for convenience and brevity and should not be construed as an inflexible limitation on the scope of the invention. Accordingly, the description of a range should be considered to have specifically disclosed all the possible subranges as well as individual numerical values within that range. For example, description of a range such as from 1 to 6 should be considered to have specifically disclosed subranges such as from 1 to 3, from 1 to 4, from 1 to 5, from 2 to 4, from 2 to 6, from 3 to 6 etc., as well as individual numbers within that range, for example, 1, 2, 3, 4, 5, and 6. This applies regardless of the breadth of the range.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

A computer implemented method of creating a playlist for a certain ride of a user, comprising one or more processors for executing a code for determining one or more ride characteristics of a certain ride of a user, obtaining a plurality of messages designating the user based on the one or more ride characteristics according to a ranking score calculated for each of the plurality of messages, converting the plurality of messages into a plurality of audio tracks, selecting a group consisting some of the plurality of audio tracks according to the one or more ride characteristics, creating automatically a playlist comprising members of the group and instructing audible presentation of the playlist during the certain ride.

Description

ADAPTIVE DRIVING FEED
FIELD AND BACKGROUND OF THE INVENTION
The present invention, in some embodiments thereof, relates to creating an audible playlist for a user and, more particularly, but not exclusively, to creating an audible playlist adapted for a user according to one or more ride characteristics of a certain ride of the user.
Recent years had witnessed a rapid growth in volume and variety of media sources, media types and media consumption modes available to users. The amount of information, data and content available to the users is ever growing making it practically impossible for a user to consume or even keep track of the information flood.
In order to select appropriate content to be presented to the users, adapting media consumption according to characteristics and attributes of the users has become wide spread.
SUMMARY OF THE INVENTION
According to a first aspect of the present invention there is provided a computer implemented method of creating a playlist for a certain ride of a user, comprising using one or more processors for executing a code for:
Determining one or more ride characteristics of a certain ride of a user.
Obtaining a plurality of messages designating the user based on one or more of the ride characteristics according to a ranking score calculated for each of the plurality of messages.
Converting the plurality of messages into a plurality of audio tracks.
Selecting a group consisting some of the plurality of audio tracks according to one or more of the ride characteristics.
Creating automatically a playlist comprising members of the group; and
Instructing audible presentation of the playlist during the certain ride.
By creating the audible presentation playlist based on the ride characteristic(s) of the ride, the messages presented to the user may be selected to best match the ride and hence correlate between the content presented to the user and the ride itself. Converting the messages to audio tracks may allow adapting the obtained messages, in particular text messages to audio format(s) supported by the audio means of the user for the audible presentation
According to a second aspect of the present invention there is provided a system for creating a playlist for a certain ride of a user, comprising one or more processors adapted to execute a code, the code comprising: Code instructions to determine one or more ride characteristics of a certain ride of a user; Code instructions to obtain a plurality of messages designating the user based on one or more of the ride characteristics according to a ranking score calculated for each of the plurality of messages;
- Code instructions to convert the plurality of messages into a plurality of audio tracks;
Code instructions to select a group consisting some of the plurality of audio tracks according to one or more of the ride characteristics; Code instructions to create automatically a play list comprising members of the group; and
Code instructions to instruct audible presentation of the playlist during the certain ride. With reference to the first and/or second aspects of the invention, according to a first implementation, the user is a member of a group consisting of: a driver of a vehicle, a passenger in the vehicle and a passenger in a public transportation vehicle. This may allow creating the playlist for a plurality of users using various vehicles to ride from one geographical location to another.
With reference to the first and/or second aspects of the invention or any of the previous implementations, according to a second implementation, each of the one or more ride characteristics is a member selected from a group consisting of: a current location, a destination, a distance, a duration, an estimated time of arrival, a time of day, a date, a presence of one or more passenger during the certain ride and one or more operational parameters of a vehicle used for the certain ride. Each of the determined ride characteristics may contribute to determining the overall ride nature and hence allow improved correlation of the content presented to the user to fit the ride.
With reference to the first and/or second aspects of the invention or any of the previous implementations, according to a third implementation, each of the one or more ride characteristics is determined based on an analysis of input received from one or more of: a sensor, a location service, a location application, a navigation application and a scheduling record. The variety of source for retrieving the ride characteristic(s) may allow for flexibility, ease of use and/or improved accuracy of the determined ride characteristic(s).
With reference to the first and/or second aspects of the invention or any of the previous implementations, according to a fourth implementation, one or more of the plurality of messages is obtained from one or more of a plurality of remote sources accessible by the user over one or more networks. The messages may be obtained from the remote resources which may be a fundamental element in most modern technologies, services and/or platforms. With reference to the first and/or second aspects of the invention or any of the previous implementations, according to a fifth implementation, one or more of the plurality of messages is obtained from one or more local sources available locally to the user. The messages may be obtained from local resources in which the user may maintain, store and/or collect private content.
With reference to the first and/or second aspects of the invention or any of the previous implementations, according to a sixth implementation, the ranking score is calculated for the each message according to a plurality of message attributes, each of the plurality of attributes indicates one or more of: a past interaction of the user with an originator of the each message identified by analyzing past content consumption of the user, a relevance of the each message to the certain ride identified according to one or more of the ride characteristics. By evaluating the plurality of message attributes, the ranking score may be calculated accurately.
With reference to the first and/or second aspects of the invention or the sixth implementation, according to a seventh implementation, each of the plurality of message attributes is assigned a weight indicating a contribution of the each message attribute in the ranking score. By adjusting the weights assigned to the message attributes, the calculation of the ranking score may be adjusted per user.
With reference to the first and/or second aspects of the invention or the sixth and/or seventh implementations, according to an eighth implementation, the weight assigned to each of the plurality of message attributes is based on: a past interaction between the user and an originator of the each message and a relevance of each message to one or more of the ride characteristics. By analyzing the past interaction of the user with the message originator to assign the weight value, the messages may be more accurately selected according to their relevance and/or significance to the user. By adapting the weight value to the ride characteristic(s), the messages may be better selected according to the nature of the ride.
With reference to the first and/or second aspects of the invention or any of the previous implementations, according to a ninth implementation, the members are ordered in the playlist according to the ranking score. This may allow first presenting the user with the higher ranking score audio tracks (messages) that are expected to be of higher relevance and/or significance to the user.
Optionally, with reference to the first and/or second aspects of the invention or any of the previous implementations, according to a tenth implementation, the playlist is adjusted according to one or more ride patterns learned by applying one or more learning algorithms for analyzing one or more past rides of the user. The ride patterns may allow for improved extraction of the ride characteristics. Moreover, content consumption pattern(s) may be identified during the ride and may be associated with the ride pattern(s). This may allow selecting messages similar to messages that were consumed by the user in the past.
Optionally, with reference to the first and/or second aspects of the invention or any of the previous implementations, according to an eleventh implementation, the playlist is adjusted dynamically during the certain ride according to a change in one or more of the ride characteristics. This may allow changing the playlist to add, remove and/or replace messages in the playlist in case a change in one or more of the ride characteristics is detected.
With reference to the first and/or second aspects of the invention or any of the previous implementations, according to a twelfth implementation, the audible presentation is executed by one or more members selected from a group consisting of: a client terminal associated with the user and a media system of a vehicle used for the certain ride. Using the client terminal to present the audible presentation may allow a personal presentation of the playlist to the user. In case the user is driving or riding in a private vehicle having a media system(s), the audible presentation may be provided by the car media system(s) that may typically provide better audio presentation capabilities than the client terminal.
Optionally, with reference to the first and/or second aspects of the invention or any of the previous implementations, according to a thirteenth implementation, the audible presentation of the playlist is interrupted in response to an interrupt indication received from the user. The interrupt indication indicates one or more actions selected from a group consisting of: stop the audible presentation, repeat the audible presentation, repeat one or more audio tracks of the audible presentation and skip one or more audio tracks of the audible presentation. This may allow the user to control the audio presentation dynamically on the fly.
Optionally, with reference to the first and/or second aspects of the invention or the thirteenth implementation, according to a fourteenth implementation, the interrupt indication initiated by the user further comprises a respond indication to respond to one or more messages of interest of the playlist. Wherein one or more messages of interest is the message currently playing while the respond indication is received or the one or more messages of interest finished playing a pre-defined time interval prior to reception of the respond indication. This may allow the user to actively interact and/or respond to one or more messages presented in the audible presentation.
Optionally, with reference to the first and/or second aspects of the invention or the thirteenth and/or fourteenth implementations, according to a fifteenth implementation, the response comprises recording an audible response message of the user. This may allow the user to respond to text based services, platforms and/or applications with no need to actually type text but simply by recording a response that may be automatically converted to text and transmitted to the originator of the message of interest.
Optionally, with reference to the first and/or second aspects of the invention or the thirteenth, fourteenth and/or fifteenth implementations, according to a sixteenth implementation, the recorded audible response message is converted to a text format prior to transmission. This may allow the user to respond to the message(s) of interest through a textual interface.
Optionally, with reference to the first and/or second aspects of the invention or any of the previous implementations, according to a seventeenth implementation, a feedback is received from the user for the playlist of the audible presentation. This may allow identifying and/or learning content consumption pattern(s) of the user in order to improve creation of future playlist(s).
Optionally, with reference to the first and/or second aspects of the invention or the seventeenth implementation, according to an eighteenth implementation, the playlist is adjusted according to the feedback received for one or more past play lists such as the playlist. This may allow identifying and/or improving creation of future playlist(s) to better fit the user preferences based on the learned content consumption pattern(s) of the user.
Other systems, methods, features, and advantages of the present disclosure will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the present disclosure, and be protected by the accompanying claims.
Unless otherwise defined, all technical and/or scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the invention pertains. Although methods and materials similar or equivalent to those described herein can be used in the practice or testing of embodiments of the invention, exemplary methods and/or materials are described below. In case of conflict, the patent specification, including definitions, will control. In addition, the materials, methods, and examples are illustrative only and are not intended to be necessarily limiting.
Implementation of the method and/or system of embodiments of the invention can involve performing or completing selected tasks manually, automatically, or a combination thereof. Moreover, according to actual instrumentation and equipment of embodiments of the method and/or system of the invention, several selected tasks could be implemented by hardware, by software or by firmware or by a combination thereof using an operating system. For example, hardware for performing selected tasks according to embodiments of the invention could be implemented as a chip or a circuit. As software, selected tasks according to embodiments of the invention could be implemented as a plurality of software instructions being executed by a computer using any suitable operating system. In an exemplary embodiment of the invention, one or more tasks according to exemplary embodiments of method and/or system as described herein are performed by a data processor, such as a computing platform for executing a plurality of instructions. Optionally, the data processor includes a volatile memory for storing instructions and/or data and/or a non-volatile storage, for example, a magnetic hard-disk and/or removable media, for storing instructions and/or data. Optionally, a network connection is provided as well. A display and/or a user input device such as a keyboard or mouse are optionally provided as well.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
Some embodiments of the invention are herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of embodiments of the invention. In this regard, the description taken with the drawings makes apparent to those skilled in the art how embodiments of the invention may be practiced.
In the drawings:
FIG. 1 is a flowchart of an exemplary process for creating an audible playlist for a certain ride of a user, according to some embodiments of the present invention; FIG. 2A is a schematic illustration of a first embodiment of an exemplary system for creating an audible playlist for a certain ride of a user, according to some embodiments of the present invention; and only message comment as above
FIG. 2B is a schematic illustration of a second embodiment of an exemplary system for creating an audible playlist for a certain ride of a user, according to some embodiments of the present invention. Only message comment as above
FIG. 2C is a schematic illustration of a third embodiment of an exemplary system for creating an audible playlist for a certain ride of a user, according to some embodiments of the present invention. DETAILED DESCRIPTION
The present invention, in some embodiments thereof, relates to creating an audible playlist for a user and, more particularly, but not exclusively, to creating an audible playlist adapted for a user according to one or more ride characteristics of a certain ride of the user.
According to some embodiments of the present invention, there are provided methods, systems and computer program products for creating a playlist presented to a user during a certain ride of the user. The playlist comprises audio tracks selected from a plurality of sources according to one or more ride characteristics identified for the (current) ride. The user may be for example, a driver driving a vehicle, a passenger in the vehicle, a user riding a public transportation vehicle (e.g. a taxi, a bus, a train, etc.).
A plurality of messages may be selected (obtained) from a plurality of sources available locally (local storage) and/or remotely, for example, from the Internet accessible through one or more networks supported by a client terminal (e.g. a smartphone, a tablet, a smart watch, etc.) associated with the user and/or a car system (e.g. a multimedia system, a communication system, etc.) installed and/or attached to the vehicle in case the user is the driver and/or a passenger in the vehicle. The remote source(s) may include, for example, online social network(s), online news feed(s), online radio station(s), online music provider(s), online eBook provider(s), advertiser(s), and email server and/or the like. The messages may include audible messages (e.g. an audio post, an audio news feed, an advertisement, a radio show, a music soundtrack, an eBook soundtrack, a voice mail message, an audio file, etc.) and/or messages converted to an audible form (e.g. one or more text messages, for example, a text post, a textual news feed, an email message, a text message and/or the like).
The messages may be selected (obtained) according to one or more ride characteristics identified for the current ride, for example, a geographical location, a destination, a duration, a weather condition, a presence of passenger(s) and/or the like.
The ride characteristics may be deduced from an analysis of one or more sensors, services and/or applications available by the client terminal and/or the car system(s). The sensor(s) may include, for example, a Global Positioning System (GPS) sensor(s), an image sensor(s), an accelerometer(s), a wireless communication module(s) and/or the like.
Optionally, the messages may be selected (obtained) according to an analysis of past
(historical) ride data such as one or more ride patterns learned for the user over time. The messages may further be selected based a ranking score calculated for each selected message according to an analysis of one or more attributes of each of the messages indicating, for example, a past interaction of the user with the originating source of the message, a relevance of the message to the ride and/or the like.
The messages, in particular the text messages may be converted to audio tracks in one or more audio coding formats supported by the client terminal and/or the car media system(s) for presenting the sound tracks to the user.
The playlist may be created by ordering selected audio tracks created from the obtained messages according to the ride characteristic(s) and/or the calculated ranking scores. An audible presentation of the playlist may then be played through one or more audio user interfaces of the client terminal(s) and/or the car media systems.
While the playlist is played the user may interact with the device playing the playlist to initiate one or more actions, for example, stop the audible presentation, repeat the audible presentation, skip one or more audio tracks, repeat one or more audio tracks and/or the like. The user interaction may be monitored in order to identify satisfaction of the user with the selected audio tracks and possible adjust one or more selection and/or ranking rules for selecting the messages for one or more future rides.
Optionally, the user may respond to one or more of the played audio tracks. The response may be transmitted according to the origin of the audio tracks (message(s)) the user responded to.
Creating an audible presentation playlist adjusted for a certain ride of the user may present significant advantages. While currently existing methods and systems are available for selecting and ranking the contents of the playlist according to a plurality of characteristics and/or attributes of a user, for example, favorites, interaction with other users, past media consumption patterns and/or the like, none of the existing methods and/or systems may adapt the playlist according to the ride characteristics. By adapting the playlist according to the ride characteristic(s), the audio content presented to the user may be better suited for the specific ride and may therefore benefit the user.
Moreover, the playlist may be created automatically with no and/or minimal intervention of the user thus increasing the ability of the user to concentrate on the driving tasks without being distracted with operating a media consumption device, tool and/or application.
The playlist content may include one or more messages directed to specific geographical locations (e.g. a current location, a destination, a location along the route, a nearby location, etc.) that may be of interest to the user. For example, the playlist may include messages from one or more members of an online social network that are within a certain radius of the current location. In another example, the playlist may include one or more messages from a traffic website or application reporting traffic conditions along the route of the current ride. The playlist may also be adapted according to, for example, duration, a time of day and/or a date of the current ride. For example, the duration of the playlist audible presentation may be set according to the duration of the current ride. Moreover, using one or more analysis and/or learning algorithms, one or more ride patterns of the user may be identified over time and the playlist may be adjusted accordingly for one or more of the learned ride patterns. Furthermore, the obtained, selected and presented messages may be correlated with the ride characteristics identified for the ride pattern(s).
The playlist may also be constructed to avoid inclusion of private messages and/or adult content when the user is driving the vehicle in case passengers are detected in the vehicle during the current ride.
The playlist content may further include one or more messages directed to operational parameters of the vehicle during the current ride, for example, a fuel level, a tires condition and or the like. For example, in case low fuel level is detected, the playlist may be created to include an audio message indicating the low fuel level and possibly include an audio message for directing the user driving the vehicle to a nearby gas station.
Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not necessarily limited in its application to the details of construction and the arrangement of the components and/or methods set forth in the following description and/or illustrated in the drawings and/or the Examples. The invention is capable of other embodiments or of being practiced or carried out in various ways.
The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field -programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures.
For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
Referring now to the drawings, FIG. 1 illustrates a flowchart of an exemplary process for creating an audible playlist for a certain ride of a user, according to some embodiments of the present invention. A process 100 may be executed to create an audible playlist comprising one or more audible messages played to a user, for example, a driver driving a vehicle, a passenger in the vehicle, a user riding a public transportation vehicle and/or the like during a certain ride. One or more messages designated for the user may be obtained by one or more devices available to the user (e.g. a client terminal and/or a car media system) having access to one or more remote sources over one or more networks.
The message(s) may be obtained from one or more of a plurality of sources, for example, an online source accessible over one or more networks (e.g. an online social network, an online news feed, an online radio station, an online music provider, an online eBook provider, an advertiser, etc.) and/or a local source (e.g. a client terminal storage, a car media system storage, etc.). The messages may include audible messages (e.g. an audio post, an audio news feed, an advertisement, a radio show, a music soundtrack, an eBook soundtrack, a voice mail message, an audio file, etc.). The messages may further include text messages (e.g. a text post, a textual news feed, an email message, a text message, etc.).
The messages may be obtained according to one or more ride characteristics (e.g. current location, destination, distance, ride duration, estimated time of arrival, time of day, date, presence of passenger(s), operational parameter(s) of the vehicle, etc.) of a certain ride, one or more of the plurality of messages may be selected for a playlist to be played to the user during the (certain) ride. The messages may be further obtained by based on analysis of one or more attributes of each of the messages (e.g. past interaction of the user with the originator of each message, relevance of each message to the ride, etc.) to calculate a ranking score for each of the messages.
The message(s), in particular the text messages may be converted to one or more audio coding formats using one or more text-to-audio converters to allow an audible presentation of the textual message(s).
The playlist may then be automatically created by ordering the selected messages according to the ranking score calculated for each message. The playlist may then be played through one or more audio user interfaces of the client terminal(s) and/or the car media systems.
Reference is also made to FIG. 2A, FIG. 2B and FIG. 2C, which are schematic illustrations of a first embodiment, a second embodiment and a third embodiment of exemplary systems for creating an audible playlist for a certain ride of a user, according to some embodiments of the present invention. A system 200A for executing a playlist creation and presentation process such as the process 100 comprises a playlist server 270 communicating with a client terminal 201, for example, a Smartphone, a tablet, a smart watch and/or the like over one or more networks 230. The playlist server 270, for example, a server, a processing node, a cluster of processing nodes and/or the like comprising one or more processors, homogenous or heterogeneous, that may be arranged for parallel processing, as clusters and/or as one or more multi core processor(s). The processor(s) of the playlist server 270 may be coupled to storage means comprising, one or more non-transitory persistent storage devices, for example, a hard drive, a Flash array, a Solid State Disk (SSD) and/or the like for storing program code.
The processor(s) of the playlist server 270 is further coupled to one or more volatile memory devices, for example, a Random Access Memory (RAM) device for executing the program code. The storage of the playlist server 270 may further comprise one or more network storage devices, for example, a storage server, a network accessible storage (NAS), a network drive, and/or the like. The playlist server 270 comprises networking means for connecting to one or more of the networks 230, for example, a Local area Network (LAN), a Wide Area Network (WAN), a network infrastructure backbone, the Internet 240 and/or the like.
The playlist server 270 may execute one or more software modules (program code), wherein a software module may be, for example, a process, an application, an agent, a utility and/or the like each comprising a plurality of program instructions stored in a non-transitory medium and executed by one or more processors. The playlist server 270 may execute, for example, a playlist generator 272 comprising one or more software modules for creating the playlist for the user 250 to be played during one or more rides the user 250 makes with the vehicle. Optionally, the playlist server 270, specifically the playlist server 270 executing the playlist generator 272 is implemented as one or more networked services for example, a cloud service, a Software as a Service (SaaS), a Platform as a Service (PaaS) and/or the like.
The client terminal 201 may include an input/output (I/O) interface 202, a processor(s) 204, storage 206 and a user interface 208. The I/O interface 202 may provide one or more wireless interfaces for connecting one or more of the remote sources, for example, the Internet 240 and/or the playlist server 270 over one or more of the networks 230, for example, a Wireless LAN (WLAN) interface (e.g. Wi-Fi), a cellular interface and/or the like.
The I O interface 202 may further provide one or more interfaces, wired and/or wireless for connecting to one or more car media systems 220 of the vehicle, for example, a LAN interface, a WLAN interface, a Bluetooth interface, a Radio Frequency (RF) interface, a Universal Serial Bus (USB) interface, a Controller Area Network (CAN bus) interface and/or the like. The car media systems 220 may include one or more built in car media and/or an attachable car media, for example, a speaker, a multimedia system, an infotainment system, a navigation system and/or the like. The I/O interface 202 may further allow connecting to one or more other car systems and/or sensors, for example, a GPS sensor, an accelerometer, a driving control system, an image sensor and/or the like. Optionally, one or more of the sensors is integrated in the client terminal 201.
The processor(s) 204, homogenous or heterogeneous, may be arranged for parallel processing, as clusters and/or as one or more multi core processor(s). The storage 206 may include one or more non-transitory persistent storage devices, for example, a Flash array, an SSD and/or the like for storing program code. The storage 206 may further be utilized through one or more volatile memory devices, for example, a RAM device used to store program code downloaded from one or more remote locations over the I/O interface 202 and/or from an external device, for example, a memory stick, a Flash card and/or the like. The storage 206 may be further used to store one or more of a plurality of messages 212.
The user interface 208 may include a one or more human-machine interfaces, for example, a keyboard, a pointing device, a touch surface, a display, a microphone, a speaker and/or the like for interacting with a user 250, for example, a driver driving a vehicle, a passenger in the vehicle, a user riding a public transportation vehicle and/or the like.
The processor(s) 204 may execute one or more software modules (program code), for example, a playlist player 210 for presenting (playing) the playlist for the user 250 during one or more rides the user 250 makes with the vehicle and/or a monitor module 211 for collecting one or more ride characteristics of the rides the user 250 makes with the vehicle. The playlist player 210 may communicate with the playlist generator 272 over the network 230 to receive from the playlist generator 272 the created playlist in order to play it to the user 250. Similarly the monitor module 211 may communicate with the playlist generator 272 over the network 230 to provide the playlist generator 272 with the ride characteristic(s) collected during a certain ride. Optionally, the playlist player 210 and the monitor module 211 are integrated in a single software module, for example, an application, an agent and/or the like.
In some embodiments of the present invention, the playlist player 210 and/or the monitor module 211 are executed by one or more of the car media systems 220 of the vehicle for the user 250 driving the vehicle. A system 200B for executing a playlist creation and presentation process such as the process 100 includes the playlist server 270 communicating with a car media system 220 comprising an I/O interface 222 such as the I/O interface 202, a processor(s) 224 such as the processor(s) 204, storage such as the storage 206 and a user interface 228 such as the user interface 208. The processor(s) 224 may execute, for example, the playlist generator 272 and/or the monitor module 211 from the storage 226. The storage 226 may be further used to store one or more of the messages 212. Optionally, one or more of the sensors is integrated in one or more of the car media systems 220. As described for the system 200A, the playlist player 210 and/or the monitor module 211 executed by the car media system 220 ma communicate with the playlist generator 272 over the network 230. Optionally, as described for the client terminal 201 in the system 200A, the playlist player 210 and the monitor module 211 are integrated in a single software module, for example, an application, an agent and/or the like.
In some embodiments of the present invention, the playlist player 272 is executed at the client terminal 201. A system 200C for executing a playlist creation and presentation process such as the process 100 includes the client terminal 201 executing the playlist generator 272 locally and communicates with the car media system 220 that executes the playlist player 210 the monitor module 211. Optionally, the playlist generator 272 may be executed at the car media system 200. Optionally, two or more of the playlist generator 272, the playlist player 210 and/or the monitor module 211 are integrated in a single software module, for example, an application, an agent and/or the like.
The process 100 may be implemented in a plurality of additional deployments and/or combinations and the system embodiments as presented in the systems 200A, 200B and/or 200C collectively referred to as the system 200 should not be construed as limiting. The process 100 A may be applied through a plurality of deployments and execution schemes in which the playlist generator 272, the playlist player 210 and the monitor module 211 are executed by one or more of the client terminal 201, the car media system 220 and/or the playlist generator server 270.
For example, while the playlist generator 272 may be executed by the playlist server 270, the playlist player 210 and/or the monitor module 211may be executed entirely by one or more client terminals such as the client terminal 201, entirely by the car media system(s) 220 and/or jointly by both the client terminal(s) 201 and the car media system(s) 220. In another example, the playlist generator 272, the playlist player 210 and/or the monitor module 21 lmay be executed entirely by the client terminal(s) 201, entirely by the car media system(s) 220 and/or jointly by both the client terminal(s) 201 and the car media system(s) 220. In addition one or more of the messages 212 may be stored by one or more of the storage 206 and/or 226 such that they may be available and/or used by the playlist generator 272.
Moreover, one or more of the deployments and/or combinations of the system 200 may be derived from the capabilities of the client terminal 201 and/or the car media system(s) 220. For example, in some embodiments of the present invention the car media system(s) 200 have a network connection to the network(s) 230 while in some embodiments of the present invention the car media system(s) 200 do not have access to the network(s) 230.
Naturally, the process 100 applied the system 200 may be applied for generating playlist for a plurality of users such as the user 250. However, for brevity the process 100 is described for a single user 250 associated with a single client terminal such as the client terminal 201 and/or a single vehicle having one or more car media systems such as the car media system 220.
As shown at 102, the process 100 starts with the monitor module 211 determining one or more ride characteristics of the current ride of the user 250. The ride characteristics may comprise, for example, a current geographical location, a destination, a distance of the ride, a route of the ride, duration of the ride, an estimated time of arrival (TOA), a time of day (current time), a date and/or the like.
The monitor module 211 may determine one or more of the ride characteristics, for example, the current location, the destination, the distance, the duration, the estimated TOA and/or the like by analyzing input received from one or more applications executed by the client terminal 201 and/or the car media system(s) 220, for example, a navigation application, a positioning application and/or the like.
The monitor module 211 may also determine one or more of the ride characteristics by analyzing input received from one or more of the sensors connected to and/or integrated in the client terminal 210 and/or the car media system 220. The monitor module 211 may determine one or more of the ride characteristics, for example, the current time by analyzing input received from a clock device connected to and/or integrated in the client terminal 210 and/or the car media system 220. The monitor module 211 may further determine one or more of the ride characteristics by analyzing input received from one or more applications and/or services executed by the client terminal 210 and/or the car media system 220, for example, a timing service, a navigation application, a geographical location service and/or the like.
The monitor module 211 may further obtain one or more of the ride characteristics, for example, the time of day, the destination, the duration, the estimated TOA and/or the like by analyzing input received from one or more scheduling applications and/or services, for example, a calendar, a task management application and/or the like used by the user 250 for scheduling events. For example, the monitor module 211 may identify the certain ride by analyzing one or more events logged in one or more of the scheduling applications and/or services.
The ride characteristics may also comprise a presence of one or more other passengers in the vehicle, being a private vehicle or a public transportation vehicle. The presence of the passenger(s) may be identified by the monitor module 211, for example, by interacting with one or more of the vehicle's systems that monitor, for example, pressure sensor(s) on the car seats, seat belt(s) usage, child seat sensor(s), motion sensor(s) in the vehicle's cabin and/or the like. The monitor module 211 210 may further apply one or more signal processing algorithms to identify sounds and/or speech in the cabin indicating the presence of the passenger(s).
The ride characteristics may further comprise one or more environmental conditions, for example, an external temperature, an internal temperature (in the cabin), a rain condition, a snow condition and/or the like. The monitor module 211 may obtain the environmental condition(s) from one or more devices and/or systems connected to the client terminal 210 and/or the car media system 220, for example, a temperature sensor, a wiper sensor and/or the like.
In addition, the ride characteristics may comprise one or more operational parameter of the vehicle, for example, a parking brake status, a door status, a fuel level status, a speed, a brake pedal status, an engine temperature, a wiper status, a tire status, an airbag status, a battery status, a lamp status and/or the like.
After collecting the ride characteristic(s) of the certain (current) ride, the monitor module 211 may provide the collected ride characteristic(s) to the playlist generator 272. For example, in case the playlist generator 272 is executed by the playlist server 270, the monitor module 211 executed, for example, by the car media system 220 may transmit the ride characteristic(s) to the playlist server 270 over the network(s) 230, for example, the cellular network. In another example, the playlist generator 272 may be executed by the client terminal 201 while the monitor module 211 may be executed by the car media system 220. The monitor module 211 may transmit the ride characteristic(s) to the client terminal 201 over one or more interfaces, for example, the Bluetooth connection.
According to some embodiments of the present invention, the monitor module 211 may transmit the ride characteristic(s) to one or more additional remote locations, for example, a server, a networked service, a cloud service and/or the like. For example, the monitor module 211 may transmit the ride characteristic(s), in particular one or more of the vehicle operational parameters to a manufacturer of the vehicle, a leasing company leasing the vehicle, a rental agency renting the vehicle and/or the like.
This may allow the manufacturer, the leasing company and/or the rental agency to monitor the operational condition(s) and/or state of the vehicle. For example, in case of a malfunction in the vehicle, based on the received vehicle operational parameter(s) the leasing company and/or the rental agency may take action to resolve the failure and/or to assist the user 250. The monitor module 211 may by further configured to transmit one or more alerts, for example, to the manufacturer, the leasing company and/or the rental agency based on the collected ride characteristic(s).
For example, assuming the vehicle crosses a state border, based on the geographical location ride characteristic(s), the monitor module 211 may transmit an alert to the leasing company and/or the rental agency to inform the vehicle is crossing the state border. This may allow the leasing company and/or the rental agency to keep track of the vehicle usage and location.
Optionally, the playlist generator 272 may apply one or more learning algorithms to analyze mobility patterns of the user 250 as reflected by the ride characteristic(s) collected for a plurality of rides to identify one or more ride patterns of the user 250 over time. The playlist generator 272 may then determine one or more of the ride characteristics based on analysis of the ride pattern(s). For example, the playlist generator 272 may identify a first ride pattern in which the user 250 drives to his work place every morning of the week at a certain time.
The playlist generator 272 may then learn the ride approximate duration, the ride approximate time of day, etc. In another example, the playlist generator 272 may identify a second ride pattern in which the user 250 drives to a golf club every weekend at noon. Similarly, the playlist generator 272 may then learn the ride approximate duration, the ride approximate time of day, etc.
As shown at 104, the playlist generator 272 obtains one or more messages 212 designated for the user 250 to create the playlist based on the ride characteristic(s) determined for the current ride. Typically, the playlist generator 272 starts executing when a certain ride takes place. The playlist generator 272 may be notified by the monitor module 21 lidentifying that the user 250 is, for example, in the vehicle, in the vehicle proximity and/or starting to drive. The monitor module 211may identify and/or be informed of the ride according to one or more indications, for example, a connection to one or more of the vehicle's systems, ignition of the vehicle, positioning information received, for example, from a Global Positioning system (GPS), a speed of the vehicle and/or the like. Additionally and /or alternatively, the playlist generator 272 may be launched manually by the user 250.
The messages 212 may include one or more audible messages, for example, an online social network audio post (e.g. a HearMeOut post, a Facebook audio post, a Google+ audio post, etc.), an audio news feed, an audio advertisement, a radio show, a live broadcast, a streaming feed, a traffic report, a music soundtrack, an eBook soundtrack, a voice mail message, an audio file, a video file and/or the like. The messages 212 may further include one or more text messages, for example, an online social network text post, a textual news feed, an email message, a text message and/or the like.
The playlist generator 272 may obtain one or more of the messages 212 from the remote sources by retrieving the messages 212 over the network(s) 230. The remote sources, for example, the Internet 240 accessible over one or more networks may include one or more sources, for example, an online social network (e.g. a Facebook text post, a Google+ text post, etc.), an online news feed, an online radio station, an online music provider, an online eBook provider, a streaming video/audio provider, an online traffic website and/or the like. In addition, the playlist generator 272 may obtain one or more of the messages 212, for example, a music soundtrack, an eBook soundtrack, a voice message, a text message and/or the like may be communicating with the client terminal 201 and/or the car media system 220 to obtain the message(s) from one or more local resources, for example, the storage 206 and/or the storage 226.
The playlist generator 272 may further interact with one or more applications, services, platform and/or the like executed by the client terminal 201 and/or the car media system(s) 220, for example, a mail service, a messaging service, a music player and/or the like to obtain one or more of the messages 212. Optionally, the messages may be pushed to the playlist generator 272 by one or more of the remote sources, for example, as a push service.
The messages 212 are designated for the user 250 meaning that the messages 212 are associated with the specific user 250. One or more of the messages 212 may be obtained from private sources associated with the user 250, for example, a social network account, a service subscription, a mail account, a voice messaging service, a music application, an eBook application, a music directory at the storage 206 and/or 226 and/or the like. However, one or more of the messages 212 may be obtained from publicly available sources and may be adapted for the user 250, for example, a public website, such as, for example, a news website, a weather website, a traffic website, an advertiser, a radio station and/or the like.
The playlist generator 272 may analyze the determined ride characteristic(s) and select the obtained messages accordingly. For example, in case the time of the ride is morning the playlist generator 272 may select news feed messages. The playlist generator 272 may also select posts posted on one or more of the online social networks during the night. In another example, the playlist generator 272 may select a traffic report posted at an online traffic website that relates to a route of the current ride. In another example, the playlist generator 272 may select one or more messages originating from member(s) of an online social network that are within a certain radius from the current geographical location of the user 250 and/or from the route of the ride. In another example, in case the ride characteristic(s) indicate a potential vehicle malfunction, for example, a tire problem, the playlist generator 272 may select one or more advertisements of auto repair shops and/or services offering tire repair services. Based on the geographical location of the user 250, the playlist generator 272 may further select advertisement(s) of auto repair shops and/or services that are in close proximity to the current location of the user 250. In another example, the playlist generator 272 may identify that one or more passengers are present in the vehicle and avoid selection of messages 212 that are marked as private messages for the user 250. The playlist generator 272 may further identify presence of children in the vehicle and avoid selecting messages 212 that are not suitable for children.
The playlist generator 272 may further base the selection of the obtained message(s) from the messages 212 on a ranking score calculated for each of the obtained messages by analyzing media content consumption of the user 250. The playlist generator 272 may obtain the media content consumption of the user 250 from the playlist player 210 for example. The playlist generator 272 may apply one or more algorithms for calculating the ranking score that may predict a level of relevance and/or significance of each obtained message to the user 250, in particular during the (current) ride.
The playlist generator 272 may apply one or more learning algorithms to collect and/or analyze one or more attributes of each message, for example, past interaction of the user 250 with an originator of the respective message, an expressed interest of the user 250 in past message(s) similar to the respective message, a relevance of the message to the ride and/or the like. The playlist generator 272 may calculate the ranking score by analyzing the attribute(s) of each obtained message and calculating a probability score for each attribute indicating a probability that the user 250 will like the message.
The attributes of the messages may be divided to one or more attribute groups, for example, actions made by the user 250 a respective one of the online social networks (attribute group A), tags and/or hashtags made by the user 250 to one or more messages (e.g. posts of the respective online social network) (attribute group B), user favorites at the respective online social network (attribute group C), user geographical location during the current ride (attribute group D), user mobility status (attribute group E), user mood during the current ride (attribute group F), vehicle parameters during the current ride (attribute group G) and/or the like. Each of the obtained message(s) may be associated with one or more message attributed from one or more of the attribute groups. This means that each message may not necessarily be associated with all message attributes. The playlist generator 272 may analyze past (historical) media content consumption of the user 250 collected, for example, from the playlist player 210 monitoring interaction of the user 250 with the presented (played) media content. The past media content may include, for example, past interaction of the user 250 with one or more members (originators) of one or more online social networks, for example, Facebook, HearMeOut, Google+ and/or the like. The playlist generator 272 may collect the past interaction that may be expressed by one or more actions of the user 250, for example, following a respective member of a respective online social network, a "like" credited to a post posted by the respective member, a comment to a post posted by the respective member, a "post share" action to a post posted by the respective member, playing an audio post posted by the respective member, a "repost" action of a post posted by the respective member and/or the like.
For example, the playlist generator 272 may analyze "like" credits the user 250 gave to posts posted by other members of a specific online social network. The playlist generator 272 may update a "likes" table comprising "like" credits made by the user 250 to posts posted by one or more members. The "likes" table may include a plurality of entries, each entry indicating "like" credit(s) made by the user 250 to a post posted by a certain member in the form of, for example, (user_id_like, post_id, user_id_post_owner). Where the user_id_like is the identification (ID) of the member crediting the post with the "like", the post id is the ID of the post and the user_id_post_owner is the ID of the member who posted the post. For example, In case the user 250 credited a "like" to a post X posted by a member B, the playlist generator 272 may update the respective entry of the member B in the table of the user 250 with the values (user 250, post X, Member B).
Similarly, the playlist generator 272 may, for example, analyze comments made by the user 250 to posts posted by other members of a specific online social network. The playlist generator 272 may update a "comments" table comprising comments made by the user 250 to posts posted by one or more members. The "comments" table may include a plurality of entries, each entry indicating comment(s) of the user 250 to a post posted by a certain member in the form of, for example, (user_id_commented, comment_text, comment_tags, comment_hashtags, post_id, user_id_post_owner). Where the user_id_comment is the ID of the commenting member, the comment_text contains the text of the comment, the comment_tags contains the comment tag(s) and the comment_hashtags contains the comment hashtag(s).
Similarly, the playlist generator 272 may, for example, analyze the user 250 reading comments made to posts posted by other members of a specific online social network. The playlist generator 272 may update a "readComments" table comprising indications of the user 250 reading comments to a post posted by one or more members. The "readComments" table may include a plurality of entries, each entry indicating comment(s) the user 250 read for a post posted by a certain member in the form of, for example, (user_id_read_comment, post_id, user_id_post_owner). Where the user_id_read comment is the ID of the member that read the comment(s).
Similarly, the playlist generator 272 may, for example, analyze the user 250 playing audio posts posted by other members of a specific online social network. The playlist generator 272 may update a "postPlays" table comprising indications of the user 250 plays a post posted by to the plurality of members. The "postPlays" table may include a plurality of entries, each entry indicating comment(s) the user 250 played a post posted by a certain member in the form of, for example, (user_id_play, post_id, post_type_id, user_id_post_owner, datetime_post_played). Where the user_id_play is the ID of the member that played the post, post_type_id is the type of the post (e.g. news, music, etc.) and datetime_post_played indicates the time and date the member played the post.
Similarly, the playlist generator 272 may, for example, analyze the user 250 following other members of a specific online social network. The playlist generator 272 may update a "followings" table comprising indications of the user 250 following other member(s). The "followings" table may include a plurality of entries, each entry indicating the user 250 follows a certain member in the form of, for example, (user_id_following, user_id_followed, datetime_following). Where the user_id_following is the ID of the following member, user_id_f olio wed is the ID of the followed member and datetime_following indicates the time and date the following member started following the followed member.
Similarly, the playlist generator 272 may, for example, analyze the user 250 reposting posts posted by other members of a specific online social network. The playlist generator 272 may update a "reposts" table comprising indications of the user 250 reposting post(s) posted by one or more members. The "reposts" table may include a plurality of entries, each entry indicating the user 250 reposted a post of a certain member in the form of, for example, (user_id_reposted, post_id, user_id_post_owner, datetime_reposted). Where the user_id_reposted is the ID of the member that reposted the post and datetime_reposted indicates the time and date the reposting member reposted the post.
For the actions attribute group (attribute group A), the playlist generator 272 may apply one or more similarity detection algorithms to the past actions (interaction) of the user 250 in order to identify similarity between the actions of the user 250 and one or more other similar members of the respective online social network. The playlist generator 272 may apply the similarity detection algorithm(s) to, for example, the "likes" table, the "comments" table, the "readComments" table, the "postPlays" table, the "followings" table and/or the "reposts" table.
Naturally, the playlist generator 272 may collect and analyze a plurality of other attributes of the messages (posts) and the exemplary collected information should not be construed as limiting. By detecting similarity of the past interaction of the user 250 with the similar member(s), the probability score may be calculated for one or more of the obtained messages (posts) according to actions made by the similar member(s). The similarity detection algorithms may include, for example, the Jaccard index algorithm as expressed in equation 1 below.
Equation 1:
S(Ul t U2) = \L1 n L2 \ ÷ \L1 V L2 \
Where U1 is a first member, U2 is a second member, Lx is a list of posts the member U1 credited with likes, for example, and L2 is a list of posts the member U2 credited with likes.
The playlist generator 272 may calculate a similarity of the user 250 with respect to a plurality of other N members of the respective online social network and based on the similarity between the user 250 and each of the other member(s), the playlist generator 272 may calculate a probability score for one or more of the obtained message. An exemplary similarity analysis is presented in the table 1 below:
Table 1:
Figure imgf000023_0001
Based on the past information collected for the users A through E with respect to posts 1 through 9 (as presented in table 1), the playlist generator 272 may identify the similarity between the user A, being for example, the user 250 and each of the other members B through E. As evident from the table 1, the similarity between the member A (the user 250) and the member B is higher than a similarity between the member A and the other members, for example, the members c through E. Using the Jaccard index algorithm as expressed in the equation 1, the playlist generator 272 may calculate the similarity between the user 250 (member A) and the members B through E as expressed in equations 2 below. Equation 2:
(a) S(A, B = = l
(b) S(A, C) = - = 0.8
(c) S(A, D) = ^ = 0.6 (d) S(A, E) = = 0.4
Based on the actions of the other members B through E collected by the playlist generator 272 with respect to a new post, for example, post 10, the playlist generator 272 may calculate a probability score that the user 250 will like the new post 10. The playlist generator 272 may calculate the probability of the user 250 (user A) to like the new post 10 using the calculation expressed in equation 3 below.
Equation 3:
P(U, M) = ZL ÷ \ML \
Where ZL is the sum of the similarity scores (indices) between a member U and all members who credited a post M with a "like", and ML is the number of member who credited the post M with a "like".
By applying the exemplary values of the similarity scores from equations 2 (a)-(d) in equation 3 together with the information extracted from table 1 (the member B is not selected since he did not credit the post 10 with a like), the playlist generator 272 may calculate the probability of the user 250 (user A) to like the new post 10 to be 0.6 as expressed by a calculation at equation 4 below.
Equation 4:
S(A, C) + S(A, D) + S(A, E) 0.8 + 0.6 + 0.4
P(A, 10) = = = 0.6
The playlist generator 272 may repeat the same process to calculate the probability score for each attribute of the actions attribute group, for example, the comments the user 250 made to posts, the comments to the posts that the user 250 read, the audio posts that the user 250 played, the members the user 250 follows and/or the posts the user 250 reposted.
For the tags and/or hashtags attribute group (attribute group B), the playlist generator 272 may apply the same process as is done for the actions attribute group.
For the user favorites attribute group (attribute group C), the playlist generator 272 may analyze the information collected for the past actions of the user 250 over a period of time in order to identify past interaction between the user 250 and the originator (member) of one or more of the obtained messages. Based on the past interaction, the playlist generator 272 may the probability score for one or more of the user favorites attributes for one or more of the obtained messages. For example, the playlist generator 272 may calculate the probability score according to the percentage of likes the user 250 credited posts of the certain member that posted the message (post) out of the overall number of likes the user 250 credited at the online social network. An exemplary distribution of "like" credits of an exemplary user 250 is presented in table 2 below.
Table 2:
Figure imgf000025_0001
The playlist generator 272 may further segment the percentage values to segments, for example, percentages between 0% and 25% are assigned with a probability score of 1, percentages between 25.1% and 50% are assigned with a probability score of 2, percentages between 50.1% and 75% are assigned with a probability score of 3 and percentages between 75.1% and 100% are assigned with a probability score of 4. For example, as evident from the table 2, the probability that the user 250 will like a post posted by the member F is higher that the probability that the user 250 will like a post posted any other of the members, B, C, D, E, G, H, I or J.
The playlist generator 272 may repeat the same process to calculate the probability score for one or more other attributes of the user favorites attribute group, for example, the percentage of comments the user 250 made to posts of the certain member that posted the message (post) out of the overall number of comments the user 250 made at the online social network, the percentage of comments to posts by the certain member that the user 250 read out of the overall number of comments the user 250 read at the online social network, the percentage of audio post(s) posted by the respective member that the user 250 listened to out of the overall time of the audio post(s) posted by the respective member and/or the like.
While the examples above relate to one or more of the online social networks, the playlist generator 272 may apply the same process to media content consumption of the user 250 from one or more other message sources, for example, a news website, a streaming music website, an online radio station and/or the like. The playlist generator 272 may further apply the same process to one or more local resources available at the client terminal 201 and/or the car media system(s) 220, for example, a music directory, a music application and/or the like. The playlist generator 272 may analyze past interaction of the driver 250 with one or more of the other message sources (remote and/or local) to calculate the probability score for one or more messages originating from the other message source(s).
For example, the playlist generator 272 may analyze one or more playlists created by the user 250 in one or more music applications to identify favorite music tracks of the user 250. In another example, the playlist generator 272 may analyze a browsing history of the user 250 to identify favorite news feed websites and possibly favorite news sections and/or fields of interest. Based on the analysis of the favorite messages (items) of the user 250, the playlist generator 272 may calculate a ranking score for each of the messages.
For the geographical location attribute group (attribute group D), the mobility state attribute group (attribute group E) and/or the vehicle parameters attribute group (attribute group G), the playlist generator 272 may use one or more of the ride characteristics determined as described before in step 102 of the process 100. Based on the collected ride characteristics relating to the attribute groups D, E and/or G, the playlist generator 272 may obtain one or more messages complying with one or more selection rules, for example, a proximity of the originator of the message(s) to the current location of the user 250, a proximity of the originator of the message(s) to the destination of the certain ride, a relevancy to the car operational parameter(s) and/or the like.
The playlist generator 272 may then apply the similarity analysis as presented above over media consumption preferences of a plurality of users presenting similar attributes of attribute groups D, E and/or G to the attributes identified for the user 250 during the certain (current) ride. Based on the similarity analysis, the playlist generator 272 may calculate the probability of the user 250 to like each of the obtained messages according to the calculation in equation 3.
For the mood attribute group (attribute group F), the playlist generator 272 may identify the mood of the user 250 during the current ride in order to calculate the ranking score for each of the obtained messages with respect to one or more mood characteristics, for example, tense, angry, happy and/or the like of the user 250. The playlist generator 272 may identify the mood of the user 250 by applying, for example, one or more signal processing algorithms to analyze sounds and/or speech of the user 250 recorded, for example, by the monitor module 211 and/or the playlist player 210 in the cabin during the ride. Based on the signal processing analysis, the playlist generator 272 may identify, for example, a speech volume, a speech coherency, a speech rapidness, a tone, an intonation and/or the like that may be indicative of the mood characteristic(s) of the user 250.
The playlist generator 272 may further convert the recorded sounds and/or speech of the user 250 to text and analyze the text to identify key words that may be indicative of the mood characteristic(s) of the user 250. Based on the identified mood (attribute groups F), the playlist generator 272 may obtain one or more messages, for example, a calm music track, a cheerful music track, an advertisement for a depression therapist and/or the like. The playlist generator 272 may then apply the similarity analysis as presented above over media consumption preferences of a plurality of users exhibiting similar mood characteristic(s) as identified for the user 250 during the certain (current) ride. Based on the similarity analysis, the playlist generator 272 may calculate the probability of the user 250 to like each of the obtained messages according to the calculation in equation 3.
The playlist generator 272 may assign weights to each of the message's attributes to indicate a contribution (significance) of each attribute to the selection of the message to the playlist. By assigning the weights, the playlist generator 272 may set the contribution of each of the message attributes to the overall ranking score. The playlist generator 272 may assign different weights for different users such as the user 250 to allow adjustment of the prediction of suitable messages per driver (user). An exemplary weights assignment is provided in table 3 below.
Table 3:
Message Attribute Attribute Description Weight
1 User Likes "Likes" the user 250 credited posts of the certain member 3
2 User Comments Comments made by the user 250 to posts of the certain 5
member
3 User Comments Read Comments read of the user 250 of comments credited to 2
posts of the certain member
4 User Post Plays Posts of the certain member that the user 250 listened to 3
5 User followings Certain member(s) the user 250 follows 1
6 User Reposts Reposts the user 250 made to posts of the certain member 6
7 % of Listened Post Portion (percentage) of the post(s) of the certain member 1 to 4
that the user 250 listened to Message Attribute Attribute Description Weight
8 Tags the User Entered Tags the drivers 250 entered to posts of the certain 2
member
9 #Hashtags the User hashtags the drivers 250 entered to posts of the certain 2
Entered member
10 % of Likes on User's Percentage of likes the user 250 credited post(s) of the 1 to 4
Posts certain member out of the overall "likes" the user 250
credited at the at the online social network
11 % of Comments on Percentage of comments the user 250 made to post(s) of 1 to 4
User's Posts the certain member out of the overall comments the user
250 made at the online social network
12 User Geographic Geographical location of the user 250 2
Location
13 User Region Geographical region of the user 250 2
14 User Mood The mood of the user 250 4
15 User Driving Status Driving status of the user 250 O or 1
16 Car Parameters The vehicle operational parameters 0 to 10
After calculating the probability score for the selected (obtained) messages, the playlist generator 272 may calculate the ranking score for the selected (obtained) messages according to one or more of the attributes identified for the messages. The playlist generator 272 may calculate the ranking score (R) using the calculation expressed in equation 5 below.
Equation 5:
R (M) = P( ) X W(AM)
Where P( ) is the probability score calculated for the message M according to a message attribute AM and W(AM) is the weight assigned to the attribute AM.
The playlist generator 272 may calculate the ranking score for a plurality of message attributes in one or more of the attribute groups and aggregate the overall ranking score to produce an attribute group ranking score. The playlist generator 272 may further aggregate the ranking score produced for the attribute group(s) to produce an overall ranking score for one or more of the selected (obtained) messages.
Based on the ranking score calculated for at least part of the messages 212, the playlist generator 272 may select the (obtained) messages from the messages 212 that may potentially be used to create the playlist for the user 250 during the (current) ride.
The playlist generator 272 may further adjust one or more rules, for example, a selection rule, a ranking rule and/or weight rule for calculating the ranking score based on feedback of the user 250 to a playlist created for one or more past rides. The feedback may be further used to identify one or more content consumption patterns of the user 250. The playlist generator 272 may use the learned content consumption pattern(s) to improve selection of the messages to be included in the playlist according to the preferences of the user 250. For example, during one or more of the past rides, the user 250 may have indicated that the online social network messages (posts) are of higher importance than news feed messages.
The playlist generator 272 may then adjust one or more of the rules for creating the playlist for the current ride. The playlist generator 272 may further apply one or more of the learning algorithms to correlate between the ride pattern(s) and the feedback provided by the user 250. For example, the playlist generator 272 may identify that during one or more rides associated with the exemplary first ride pattern (driving to the work place) the user 250 provided a feedback indicating a business news feed message is of high significance. The playlist generator 272 may then create and/or adjust a respective selection rule for selecting messages for the first pattern ride(s) to include a larger portion of business news feed message.
As shown at 106, the playlist generator 272 converts one or more of the selected (obtained) messages to audio tracks of one or more audio formats that may be presented by the client terminal 201 and/or the car media system(s) 220. Naturally, the playlist generator 272 converts only the obtained message(s) that are not compliant with the means, for example, device(s), audio decoder(s) and/or the like available for the audible presentation of the messages to the user 250. For example, the playlist generator 272 may convert one or more audio messages of the messages 212 from one audio coding format to another, for example, from Waveform Audio File Format (WAV) to MPEG Audio Layer 3 (MP3).
The playlist generator 272 may also convert one or more video messages of the messages 212 to an audible message compliant with an audio coding format that may be presented by the client terminal 201 and/or the car media system(s) 220. The playlist generator 272 may further convert one or more text messages of the messages 212 to audio records in one or more audio coding formats using one or more text-to-audio converters to allow an audible presentation of the textual message(s) by the client terminal 201 and/or the car media system(s) 220.
As shown at 108, the playlist generator 272 selects a group of one or more of the audio tracks obtained for the playlist to be presented to the user 250 during the (current) ride. The playlist generator 272 may select the audio tracks according to one or more of the ride characteristics of the (current) ride based on the ranking score calculated for each audio track. For example, the playlist generator 272 may set duration of the playlist to fit the duration of the ride. Naturally, the user 250 may set the playlist generator 272 to create the playlist according to a preset presentation rule independent of the ride characteristics and/or the ranking score. For example, the playlist generator 272 may create the playlist according to a reversed chronological time in which each of the obtained message was posted, i.e. the latest posted message is placed first (at the top of the playlist).
The playlist generator 272 may apply one or more selection rules for selecting the audio tracks included in the group for creating the playlist. For example, the playlist generator 272 may select portions of the overall playlist duration to be assigned to audio tracks selected according to one or more of the attribute groups. The playlist generator 272 may assign, for example, 40% of the playlist duration to audio tracks selected according to the user actions attribute group (Group A), 30% of the playlist duration to audio tracks selected according to the user favorites attribute group (Group C), 30% of the playlist duration to audio tracks selected according to the ride characteristics attribute groups (Group D, E and/or G) and or the like. This may allow for diversifying the audio tracks included in the playlist. In another selection rule, the playlist generator 272 may create the group of the audio tracks from one or more bulks of a pre-defined size, for example, a pre-defined number (e.g. 20 messages), a pre-defined duration (e.g. 10 minutes,), a pre-defined volume (e.g. 100 MB) and/or the like.
An exemplary message ranking of a plurality of audio tracks for an exemplary user 250 is presented in table 4 below.
Table 4:
Figure imgf000030_0001
As shown in table 4, the ranking scores of the audio tracks is calculated by aggregating the ranking scores calculated for attributes of the same attribute group for one or more of the audio tracks. However, the playlist generator 272 may aggregate ranking scores calculated for one or more of the attribute groups for a certain audio track. The playlist generator 272 may apply one or more of the selection rules to select the audio tracks from table 1 to be included in the group used to create the playlist. For example, the playlist generator 272 creates the playlist of 20 audio tracks bulks and allocates 35% of each bulk to audio tracks selected according to the Group A attributes, 25% to audio tracks selected according to the Group B attributes, 15% to audio tracks selected according to the Group C attributes, 10% to audio tracks selected according to the Group D attributes, 10% to audio tracks selected according to the Group E attributes and 10% to audio tracks selected according to the Group F attributes.
This may result in the playlist generator 272 creating the bulks from 7 audio tracks selected according to the Group A attributes, 5 audio tracks selected according to the Group B attributes, 3 to audio tracks selected according to the Group C attributes, 2 audio tracks selected according to the Group D attributes, 1 audio track selected according to the Group E attributes and 1 audio track selected according to the Group F attributes.
The playlist generator 272 may apply one or more heuristics and/or algorithms to create the playlist. For example, the playlist generator 272 may create the playlist to include a music audio track every several social network audio tracks.
Optionally, the playlist generator 272 dynamically adjusts the playlist presentation according to one or more of the ride characteristics and/or availability of the messages 212. For example, in case a text message is received at the client terminal 201, the playlist generator 272 may interrupt the currently presented message and present the received text message, typically after converting the text message to a an audio track that may be presented audibly. In another example, in case the playlist generator 272 identifies a low fuel level, the playlist generator 272 may interrupt the currently presented audio track and present an audio track warning of the low fuel level. The playlist generator 272 may further present a directions audio track for driving to a nearby gas station. In another example, in case the playlist generator 272 identifies the ride destination is changed by the user and subsequently the ride duration is increased, the playlist generator 272 may select additional messages from the messages 212 to be included in the playlist (after converted to audio tracks if needed).
As shown at 110, the playlist generator 272 creates the playlist by ordering the audio tracks in the playlist according to the ranking score calculated for each of the audio tracks of the group (members). For example, the playlist generator 272 may order the audio tracks in the playlist such that high ranking audio tracks having high ranking score are placed at the top (beginning) of the playlist while lower ranking audio tracks are placed lower in the playlist. As shown at 112, playlist generator 272 instructs an audible presentation of the playlist to the user 250 by providing the created playlist to the playlist player 210 and instructing the playlist player 210 to start the audible presentation. The playlist generator 272 may provide the playlist as a record comprising the actual messages of the playlist, for example, binary files, media files and/or the like. Additionally and/or The playlist generator 272 may provide pointers to one or more messages included in the playlist, for example, a Uniform Resource Locator (URL), a message title, a directory path and/or the like. For example, the playlist generator 272 may include in the playlist a binary file of a recorded commercial obtained from an advertiser website. In another example, the playlist generator 272 may provide the playlist player with a music track title and/or directory path to allow the playlist player 210 to retrieve the music track from the local storage, for example, the storage 206.
The playlist player 210 may present the playlist through one or more interfaces of the client terminal 201 and/or the car media system(s) 220 to play the playlist for the user 250. For example, the playlist may be presented through one or more audio interfaces of the client terminal 201, for example, a speaker. Additionally and/or alternatively, the playlist may be presented through one or more audio interfaces of the car media system(S) 220, for example, a speaker, an audio system and/or the like.
The playlist player 210 may also present the playlist through one or more devices attached to the client terminal 201 and/or the car media system(s) 220, for example, a Bluetooth speaker paired with the client terminal 201 and/or the like. In some embodiments of the present invention the playlist generator 272 and/or the playlist player 210 interact with one or more applications executed by the client terminal 201 and/or the car media system(s) 220 to play the playlist to the user 250. For example, the playlist generator 272 and/or the playlist player 210 may instruct a music player application executed by the terminal 201 and/or the car media system(s) 220 to play the created playlist.
The playlist player 210 may allow the user 250 to interrupt the audible presentation, for example, stop the audible presentation, restart the audible presentation, skip an audio track(s), repeat an audio track (s) and/or the like. The user 250 may interrupt the presentation by interacting with the playlist player 210, for example, through a voice command, a push button press, a touch screen gesture and/or the like.
The playlist player 210 may monitor the audible presentation to the user 250 in order to collect feedback from the user 250. For example, the playlist generator 250 may identify audio tracks that are fully played, partially played and/or skipped in order to determine their level of significance and/or relevance to the user 250. Optionally, the user 250 interacts with the playlist player 210 to manually provide the feedback for the created playlist indicating a level of satisfaction of the user 250 from the audible presentation (created playlist).
The playlist generator 272 may transmit the feedback to the playlist generator 272 that may use the feedback provided for the created playlist (for the current ride) to adjust the rules used for selecting, tanking and/or weighing the messages selected for the playlist for one or more future rides.
Optionally, the playlist player 210 allows the user 250 to select specific content comprising one or more messages to be included in the playlist. The playlist player 210 may then update the playlist with the message(s) selected by the user 250. Additionally and/or alternatively, the playlist player 210 transmits the selection made by the user 250 to the playlist generator 272 to indicate the selected message(s). The playlist generator 272 may update the playlist with the message(s) selected by the user 250 and resend the updated playlist to the playlist player 210 to be presented to the user 250. Optionally, the user 250 may select the selected message(s) by directly interacting with the playlist generator 272 using one or more configuration tools, for example, a web page accessible with a web browser, a configuration application and/or the like rather than selecting the message(s) through the playlist player 210. In addition, the user 250 may select the selected message(s) offline, i.e. prior to the certain ride, using the configuration tool(s).
Optionally, the playlist player 210 allows the user 250 to respond to one or more of the audio tracks included in the playlist. The user 250 may indicate the playlist player 210, for example, through a voice command, a push button press, a touch screen gesture and/or the like to capture a response to one or more of the audio tracks played during the audible presentation. The playlist player 210 may identify the particular audio track(s) (message(s)) of interest that the user 250 responds to as the audio track that is currently presented (played). The playlist player 210 may be configured to associate the response indication of the user with an audio track of interest in case the response indication is received within a pre-defined time interval following presentation of the audio track of interest. This may allow the user 250 to hear the audio track of interest to its end and then indicate he wishes to respond to the message of interest.
The user 250 may respond to the audio track(s) of interest by recording an audible response message using an audio input, for example, the microphone of the client terminal 201, the microphone of the car media system(s) 220 and/or the like. The playlist player 210 may enter a recording mode once identifying the response indication initiated by the user 250. Additionally and/or alternatively, the user 250 may manually set the client terminal 201 and/or the car media system 220 to the recording mode. The playlist player 210 may transmit the audible response message of the user 250 to the source(s) from which the audio track(s) (message(s)) of interest originated. For example, the user 250 may record an audible response message to respond to a post posted on his feed in one of the online social networks. The playlist player 210 may then post the recorded audible response message of the user 250 at the appropriate location at the respective online social network. Additionally and/or alternatively, the playlist player 210 transmits the response message to the playlist generator 272 the response message to allow the playlist generator 272 to post the recorded audible response message of the user 250 at the appropriate location at the respective online social network.
Optionally, the playlist player 210 may convert the recorded audible response message of the user 250 to a textual format using one or more speech-to-text conversion tools. The playlist player 210 may then transmit the converted audile response message to the source from which the audio track of interest originated. For example, the user 250 may respond with an audible response message to a text message (converted to an audio track) received from a family member. The playlist player 210 may then convert the audible response message to create a reply text message and send it to the family member.
It is expected that during the life of a patent maturing from this application, many relevant car media systems, client terminals and/or user interfaces will be developed and the scope of the terms car media systems, client terminals and user interfaces respectively are intended to include all such new technologies a priori.
As used herein the term "about" refers to ± 10 %.
The terms "comprises", "comprising", "includes", "including", "having" and their conjugates mean "including but not limited to".
The term "consisting of means "including and limited to".
As used herein, the singular form "a", "an" and "the" include plural references unless the context clearly dictates otherwise. For example, the term "a compound" or "at least one compound" may include a plurality of compounds, including mixtures thereof.
Throughout this application, various embodiments of this invention may be presented in a range format. It should be understood that the description in range format is merely for convenience and brevity and should not be construed as an inflexible limitation on the scope of the invention. Accordingly, the description of a range should be considered to have specifically disclosed all the possible subranges as well as individual numerical values within that range. For example, description of a range such as from 1 to 6 should be considered to have specifically disclosed subranges such as from 1 to 3, from 1 to 4, from 1 to 5, from 2 to 4, from 2 to 6, from 3 to 6 etc., as well as individual numbers within that range, for example, 1, 2, 3, 4, 5, and 6. This applies regardless of the breadth of the range.
Whenever a numerical range is indicated herein, it is meant to include any cited numeral (fractional or integral) within the indicated range. The phrases "ranging/ranges between" a first indicate number and a second indicate number and "ranging/ranges from" a first indicate number "to" a second indicate number are used herein interchangeably and are meant to include the first and second indicated numbers and all the fractional and integral numerals therebetween.
It is appreciated that certain features of the invention, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable subcombination or as suitable in any other described embodiment of the invention. Certain features described in the context of various embodiments are not to be considered essential features of those embodiments, unless the embodiment is inoperative without those elements.

Claims

WHAT IS CLAIMED IS:
1. A computer implemented method of creating a playlist for a certain ride of a user, comprising:
using at least one processor for executing a code for:
determining at least one ride characteristic of a certain ride of a user; obtaining a plurality of messages designating said user based on said at least one ride characteristic according to a ranking score calculated for each of said plurality of messages;
converting said plurality of messages into a plurality of audio tracks; selecting a group consisting some of said plurality of audio tracks according to said at least one ride characteristic;
creating automatically a playlist comprising members of said group; and instructing audible presentation of said playlist during said certain ride.
2. The computer implemented method of claim 1, wherein said user is a member of a group consisting of: a driver of a vehicle, a passenger in said vehicle and a passenger in a public transportation vehicle.
3. The computer implemented method of claim 1, wherein said at least one ride characteristic is a member selected from a group consisting of: a current location, a destination, a distance, a duration, an estimated time of arrival, a time of day, a date, a presence of at least one passenger during said certain ride and at least one operational parameter of a vehicle used for said certain.
4. The computer implemented method of claim 1, wherein said at least one ride characteristic is determined based on an analysis of input received from at least one of: a sensor, a location service, a location application, a navigation application and a scheduling record.
5. The computer implemented method of claim 1, wherein at least one of said plurality of messages is obtained from at least one of a plurality of remote sources accessible by said user over at least one network.
6. The computer implemented method of claim 1, wherein at least one of said plurality of messages is obtained from at least one local source available locally to said user.
7. The computer implemented method of claim 1, wherein said ranking score is calculated for said each message according to a plurality of message attributes, each of said plurality of attributes indicates at least one of: a past interaction of said user with an originator of said each message identified by analyzing past content consumption of said user, a relevance of said each message to said certain ride identified according to said at least one ride characteristic.
8. The computer implemented method of claim 7, wherein each of said plurality of message attributes is assigned a weight indicating a contribution of said each message attribute in said ranking score.
9. The computer implemented method of claim 8, wherein said weight is assigned based on: a past interaction between said user and an originator of said each message and a relevance of said each message to said at least one ride characteristic.
10. The computer implemented method of claim 1, wherein said members are ordered in said playlist according to said ranking score.
11. The computer implemented method of claim 1, further comprising adjusting said playlist according to at least one ride pattern learned by applying at least one learning algorithm for analyzing at least one past ride of said user.
12. The computer implemented method of claim 1, further comprising adjusting said playlist dynamically during said certain ride according to a change in said at least one ride characteristic.
13. The computer implemented method of claim 1, wherein said audible presentation is executed by at least one member selected from a group consisting of: a client terminal associated with said user and a media system of a vehicle used for said certain ride.
14. The computer implemented method of claim 1, further comprising interrupting said audible presentation of said playlist in response to an interrupt indication received from said user, said interrupt indication indicates at least one action selected from a group consisting of: stop said audible presentation, repeat said audible presentation, repeat at least one audio track of said audible presentation and skip at least one audio track of said audible presentation.
15. The computer implemented method of claim 14, wherein said interrupt indication initiated by said user further comprises a respond indication to respond to at least one message of interest of said playlist, wherein said at least one message of interest is currently playing while said respond indication is received or said at least one message of interest finished playing a predefined time interval prior to reception of said respond indication.
16. The computer implemented method of claim 15, wherein said response comprises recording an audible response message of said user.
17. The computer implemented method of claim 16, wherein said recorded audible response message is converted to a text format prior to transmission.
18. The computer implemented method of claim 1, further comprising receiving a feedback from said user for said playlist of said audible presentation.
19. The computer implemented method of claim 18, further comprising adjusting said playlist according to said feedback received for at least one past playlist such as said playlist.
20. A system for creating a playlist for a certain ride of a user, comprising:
at least one processor adapted to execute a code, said code comprising:
code instructions to determine at least one ride characteristic of a certain ride of a user;
code instructions to obtain a plurality of messages designating said user based on said at least one ride characteristic according to a ranking score calculated for each of said plurality of messages;
code instructions to convert said plurality of messages into a plurality of audio tracks;
code instructions to select a group consisting some of said plurality of audio tracks according to said at least one ride characteristic; code instructions to create automatically a playlist comprising members of said group; and
code instructions to instruct audible presentation of said playlist during said certain ride.
PCT/IL2017/051326 2016-12-07 2017-12-07 Adaptive driving feed WO2018104945A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662430948P 2016-12-07 2016-12-07
US62/430,948 2016-12-07

Publications (1)

Publication Number Publication Date
WO2018104945A1 true WO2018104945A1 (en) 2018-06-14

Family

ID=62492264

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2017/051326 WO2018104945A1 (en) 2016-12-07 2017-12-07 Adaptive driving feed

Country Status (1)

Country Link
WO (1) WO2018104945A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020188097A1 (en) * 2019-03-20 2020-09-24 Continental Automotive Gmbh Method for restoring customisation content of a main radio stream
US11798033B2 (en) * 2021-08-18 2023-10-24 Hyundai Motor Company Method of providing content and advertisement customized to a passenger, and a server performing the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090030978A1 (en) * 1999-08-12 2009-01-29 Sam Johnson Media content device and system
US20140188920A1 (en) * 2012-12-27 2014-07-03 Sangita Sharma Systems and methods for customized content
US20150046267A1 (en) * 2007-08-24 2015-02-12 Iheartmedia Management Services, Inc. Live media stream including personalized notifications
US20150191122A1 (en) * 2014-01-06 2015-07-09 Harman International Industries, Incorporated In-vehicle notification presentation scheduling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090030978A1 (en) * 1999-08-12 2009-01-29 Sam Johnson Media content device and system
US20150046267A1 (en) * 2007-08-24 2015-02-12 Iheartmedia Management Services, Inc. Live media stream including personalized notifications
US20140188920A1 (en) * 2012-12-27 2014-07-03 Sangita Sharma Systems and methods for customized content
US20150191122A1 (en) * 2014-01-06 2015-07-09 Harman International Industries, Incorporated In-vehicle notification presentation scheduling

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020188097A1 (en) * 2019-03-20 2020-09-24 Continental Automotive Gmbh Method for restoring customisation content of a main radio stream
FR3094165A1 (en) * 2019-03-20 2020-09-25 Continental Automotive Method for restoring personalization content of a main radio stream
US11798033B2 (en) * 2021-08-18 2023-10-24 Hyundai Motor Company Method of providing content and advertisement customized to a passenger, and a server performing the same

Similar Documents

Publication Publication Date Title
US11316944B2 (en) Predictive caching
US10024675B2 (en) Enhanced user efficiency in route planning using route preferences
Sha et al. Social vehicle navigation: Integrating shared driving experience into vehicle navigation
CN112967716B (en) Feedback controller for data transmission
US9916362B2 (en) Content recommendation based on efficacy models
EP3343880A1 (en) Media content playback with state prediction and caching
US10986408B1 (en) Systems and methods for recommending linear content
AU2014385236B2 (en) Use of an anticipated travel duration as a basis to generate a playlist
US10768000B2 (en) Content presentation based on travel patterns
US20130345958A1 (en) Computing Recommendations for Stopping During a Trip
US20140201004A1 (en) Managing Interactive In-Vehicle Advertisements
US20160232451A1 (en) Systems and methods for managing audio content
US20150032366A1 (en) Systems and methods for delivering high relevant travel related content to mobile devices
US8694253B2 (en) User-specified route rating and alerts
WO2017200569A1 (en) Managing messages in vehicles
US9705460B2 (en) Information processing apparatus, control method, and non-transitory computer readable storage medium
JP2012522289A (en) User-generated notes integrated with location-based applications
US11438654B2 (en) Geographically tailored content management systems and methods
US10678497B2 (en) Display of cached media content by media playback device
CN104303200A (en) information distribution system
WO2018104945A1 (en) Adaptive driving feed
JP6687648B2 (en) Estimating device, estimating method, and estimating program
JP6282839B2 (en) Information processing apparatus, information providing system, information providing method, and program
JP6905762B2 (en) Programs and information processing equipment
US20170134498A1 (en) Selecting media using vehicle information

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17877957

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 25.09.2019)

122 Ep: pct application non-entry in european phase

Ref document number: 17877957

Country of ref document: EP

Kind code of ref document: A1