WO2021086348A1 - Methods and systems for populating device-specific playlists in display devices - Google Patents

Methods and systems for populating device-specific playlists in display devices Download PDF

Info

Publication number
WO2021086348A1
WO2021086348A1 PCT/US2019/058816 US2019058816W WO2021086348A1 WO 2021086348 A1 WO2021086348 A1 WO 2021086348A1 US 2019058816 W US2019058816 W US 2019058816W WO 2021086348 A1 WO2021086348 A1 WO 2021086348A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
time
weather
determining
geographic area
Prior art date
Application number
PCT/US2019/058816
Other languages
French (fr)
Inventor
Steven Ridley
Michael R. Root
Michael Welsh
Original Assignee
Accuweather, Inc.
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 Accuweather, Inc. filed Critical Accuweather, Inc.
Priority to PCT/US2019/058816 priority Critical patent/WO2021086348A1/en
Publication of WO2021086348A1 publication Critical patent/WO2021086348A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Definitions

  • the invention relates to populating device-specific playlists in display devices.
  • Methods and systems are disclosed herein for improvements in the quality and relevancy of content. More particularly, methods and systems are disclosed herein for improvements in the quality and relevancy of content selected for playlists in a device. For example, by selecting playlist content for a specific device based on a range of characteristics of both the device and a user that may view content of the device, the quality and relevancy of the selected content as well as the experience of the user may be improved. While conventional systems may select content specific to a user, the selection of content on a public device (e.g., one viewed by numerous users) is difficult as the content of the device must appeal to multiple users, the identities and characteristics of which may be unknown.
  • the system disclosed herein appeals to multiple users by selecting content based on a common characteristic of the users.
  • a stationary device e.g., an electronic billboard, kiosk, etc.
  • one such common characteristic is a geographic area. That is, each of the users that may see the stationary device and share the common characteristic of being located in the same geographic area.
  • basing content selection on only a single characteristic may not provide a level of diversity or precision that keeps multiple users engaged.
  • the system disclosed herein may also assign categories of users to the geographic area. From these categories, the system may further base content selections. To ensure that these categories are properly assigned, the system may profile individual users, and/or groups of users, and monitor their movements.
  • the system may determine a user category of the user. As the user frequents the geographic area, the system can determine that there is a high likelihood that other users that would also belong to the user category may frequent the geographic area. From this, the system determines other common characteristics. In yet another example, the system may determine another common characteristic of the users in the geographic area - the current weather in the geographic area. Using specific criteria based on common characteristic of the users, the system may select content for devices (e.g., stationary, public) that appeal to all the users in the area. The system may select the content based on determine a number or percentage of the users in the given category and compare that number or percentage to a respective threshold.
  • devices e.g., stationary, public
  • the system may then select content that appeals to the number or percentage of the users. Furthermore, the system may have different thresholds for different categories. For example, a certain category (e.g., a highly desirable category to the content provider) may have a lower threshold than another category (e.g., with a less desirable category to the content provider).
  • a certain category e.g., a highly desirable category to the content provider
  • another category e.g., with a less desirable category to the content provider.
  • the disclosed system selects content in the aforementioned way, the system also overcomes specific challenges unique to device-specific playlists. Namely, in many cases, a user or third party may wish for specific content, having a specific length, to display at a specific time on the device. Therefore, in addition to improving the characteristics upon which content is based, the system must also ensure that the content has specific lengths, may be displayed at specific times, be in a particular format for a selected device, etc. These requirements present unique challenges to basing content selection on the aforementioned characteristics because the characteristics may change depending on the requirements. For example, depending on a display time of content in the playlist, the weather or users in the area may change.
  • the system may use real-time and/or near real-time data sources on users, weather conditions, etc. These sources may include networks of sensors, continuous monitoring, and data aggregation from numerous parties and/or sources. Furthermore, to prepare for any potential scenario (e.g., a given user, at a given location, during given weather conditions), the system may further rely on historic data (e.g., weather and climate data) and prediction models, user-generated data, and/or user-observed data.
  • historic data e.g., weather and climate data
  • prediction models e.g., user-generated data
  • user-observed data e.g., user-generated data
  • the system for populating device-specific playlists in display devices may monitor geographic areas visited by a user and determine that the user visited a particular geographic area for the first time. For example, the system may monitor the movement of the user through a device featuring global positioning system (“GPS”) functionality.
  • GPS global positioning system
  • the system may further generate, access, and/or otherwise store a user profile associated with the user that includes an assigned user category (e.g., based on demographic, preferential, or other user-specific data). The system may then assign the user category to the geographic area based on the geographic area being visited by the user for the first time.
  • the system may then assign the user category to the geographic area based on the geographic area being visited by the user for the first time.
  • the system may then receive a request to populate a device-specific playlist in a display device (e.g., an electronic billboard, kiosk, or other public display) at the geographic area at a second time (e.g., a point in the near future).
  • the request to populate the device-specific playlist may further indicate a first length of time available in the device-specific playlist as well as a required format, content restrictions, etc.
  • the system may determine and/or utilize a weather forecast for the geographic area at the second time (e.g., based on a weather sensor in the geographic area, historical data, and/or prediction models) and select a media asset to populate the device specific playlist based on the media asset corresponding to the user category, the first length of time, and the weather forecast. For example, the system may select a media asset featuring content about warm and sunny getaways in response to determining that the current weather in unseasonably cold. The system then generates for display the media asset in the device-specific playlist at the first geographic area at the second time. For example, the system may transmit instructions and/or the media asset or otherwise cause the display device to display the media asset.
  • a weather forecast for the geographic area at the second time e.g., based on a weather sensor in the geographic area, historical data, and/or prediction models
  • the system may learn or be trained utilizing various mathematical or algorithmic processes (e.g., artificial intelligence, machine learning, etc.), together with various databases, connected sensors and other devices (e.g., Internet of Things) to associate various geographic areas, times of the day, week, month or year, and various weather and climatic conditions, with the unique user groups and/or the mass movement of these user groups in the geographic area.
  • various mathematical or algorithmic processes e.g., artificial intelligence, machine learning, etc.
  • sensors and other devices e.g., Internet of Things
  • FIG. 1 shows systems for populating device-specific playlists in digital out-of-home display devices, in accordance with one or more embodiments.
  • FIG. 2 shows a machine learning model configured to populating device-specific playlists in digital out-of-home display devices, in accordance with one or more embodiments.
  • FIG. 3 shows a diagram for monitoring geographic areas of users, in accordance with one or more embodiments.
  • FIG. 4 shows two illustrative user profiles for use in determining common characteristics for users in a geographic area, in accordance with one or more embodiments.
  • FIG. 5 shows an illustrative diagram for selecting media assets based for DOOH display devices, in accordance with one or more embodiments.
  • FIG. 6 shows a flow chart for populating device-specific playlists in digital out-of-home display devices, in accordance with one or more embodiments.
  • FIG. 7 shows a flow chart for populating device-specific playlists in real-time and near real-time, in accordance with one or more embodiments.
  • FIG. 8 shows a flow chart for determining a weather forecast in a geographic area, in accordance with one or more embodiments.
  • FIG. 1 shows systems for populating device-specific playlists in digital out-of-home display devices, in accordance with one or more embodiments.
  • the components shown in FIG. 1 are illustrative only, and in some embodiments, one component may perform functions associated with another component. Additionally or alternatively, in some embodiments, the functions of one component may be performed by a plurality of other components. Additionally or alternatively, system 100 may be implemented in a cloud environment, in which one or more of the components and/or functions of system 100 is provided by cloud components.
  • FIG. 1 shows system 100 which includes a plurality of components used to populate devices-specific playlists in digital out-of-home (“DOOH”) display devices.
  • DOOH display devices may refer to display devices that appear in environments accessible to the public such as digital billboards, electronic kiosks, outdoor signage, and/or other publicly available networks of screens.
  • DOOH display devices may display a variety of media assets.
  • “media asset” and “content” may include any electronically consumable user asset, such as television programming (including pay-per-view programs, on-demand programs (as in video-on-demand (VOD) systems)), Internet content (e.g., streaming content, downloadable content, Webcasts, etc.), video clips, audio, content information, pictures, rotating images, documents, playlists, websites, articles, books, electronic books, blogs, advertisements, chat sessions, social media, applications, games, and/or any other media or multimedia and/or combination of the same.
  • television programming including pay-per-view programs, on-demand programs (as in video-on-demand (VOD) systems)
  • Internet content e.g., streaming content, downloadable content, Webcasts, etc.
  • video clips e.g., audio, content information, pictures, rotating images, documents, playlists, websites, articles, books, electronic books, blogs, advertisements, chat sessions, social media, applications, games, and/or any other media or multimedia
  • Each of the components shown in system 100 may also include electronic storages.
  • the electronic storages may include non-transitory storage media that electronically stores information.
  • the electronic storage media of the electronic storages may include one or both of (i) system storage that is provided integrally (e.g., substantially non-removable) with servers or client devices or (ii) removable storage that is removably connectable to the servers or client devices via, for example, a port (e.g., a USB port, a firewire port, etc.) or a drive (e.g., a disk drive, etc.).
  • a port e.g., a USB port, a firewire port, etc.
  • a drive e.g., a disk drive, etc.
  • the electronic storages may include one or more of optically readable storage media (e.g., optical disks, etc.), magnetically readable storage media (e.g., magnetic tape, magnetic hard drive, floppy drive, etc.), electrical charge-based storage media (e.g., EEPROM, RAM, etc.), solid-state storage media (e.g., flash drive, etc.), and/or other electronically readable storage media.
  • the electronic storages may include one or more virtual storage resources (e.g., cloud storage, a virtual private network, and/or other virtual storage resources).
  • the electronic storage may store software algorithms, information determined by the processors, information obtained from servers, information obtained from client devices, or other information that enables the functionality as described herein.
  • Each of the components shown in system 100 may also receive content and data via input/output (hereinafter “I/O”) paths and may also include processors and/or control circuitry to send and receive commands, requests, and other suitable data using the I/O paths.
  • the control circuitry may comprise any suitable processing circuitry.
  • Each of the components in system 100 may also include a user input interface and/or display for use in receiving and displaying data.
  • System 100 includes DOOH display devices 180, 181, and 182, which may be referred to collectively as display devices 180.
  • display devices 180 may correspond to display device 510 (FIG. 5) below.
  • media assets displayed on display devices 180 may be received over an electronic communications network 130.
  • Network 130 may include the Internet, a mobile phone network, a mobile voice or data network (e.g., a 5G or LTE network), a cable network, a public switched telephone network, or other types of communications network or combinations of communications networks.
  • the network may include both wired and wireless connection as well as other short-range point-to-point communication paths, such as USB cables, IEEE 1394 cables, wireless paths (e.g., Bluetooth, infrared, IEEE 802-1 lx, etc.), or other short-range communication via wired or wireless paths.
  • Data, including media assets, provided to display devices 180 over communications network 130 may come from a plurality of sources.
  • weather data e.g., data on current weather conditions
  • Sensor network 110 may include a plurality of weather sensors and/or a plurality of types of weather sensors, each of which may be owned or controlled by a government, public, and/or private entity.
  • the types of weather sensors in sensor network 110 may include weather sensors that monitor for weather and/or climate conditions such as atmospheric pressure, humidity, solar radiation, temperature, precipitation, etc.
  • the weather sensors may be found in one of more weather stations, which may include private, public, and/or government facilities.
  • the weather sensors may collect and/or generate weather data automatically and at predetermined times (e.g., a synoptic weather station) or the weather sensors may collect and/or generate weather data in response to user requests.
  • weather data may be user generated and/or user observed weather data, such as weather data for a geographic area generated and/or collected by a user physically located in the geographic area and directly generating and/or collecting the weather data.
  • user generated and/or user observed weather data may include weather data generated and/or collected by a user using an electronic device (e.g., a smart phone).
  • user generated and/or user observed weather data may be generated and/or collected automatically and passively (e.g., without any interaction from a user).
  • weather sensors may include weather data received from Internet of Things (“IoT”) connections, satellite networks, and/or other communication networks.
  • IoT connections may include interrelated computing devices, mechanical and digital machines, objects, animals or people that are provided with unique identifiers (“UIDs”) and the ability to transfer data over a network without requiring human-to-human or human-to- computer interaction.
  • IoT connections, satellite networks, and/or other communication networks may also be used to transfer user profile data, media asset data, and/or any other data discussed herein.
  • Data, including media assets, provided to display devices 180 over communications network 130 may also come from a weather forecasting engine (e.g., weather forecast engine 140).
  • Weather forecasting engine 140 may itself receive data, particularly data used to generate weather forecasts and/or populate media asset playlists in display devices from a plurality of sources.
  • weather forecasting engine 140 may receive data from one or more databases (e.g., database 160, which includes historical weather and/or climate data, historical weather observation data, forecasted datasets, and other data used to predict future weather and/or climate conditions and/or explain historical weather and/or climate conditions).
  • Weather forecasting engine 140 may also receive data from thirty-party sources of historical weather and/or climate data, historical weather observation data, forecasted datasets, and other data used to predict future weather and/or climate conditions and/or explain historical weather and/or climate conditions.
  • weather forecasting engine 140 may include data from third-party database 170.
  • Third party database 170 may also include user profile information.
  • User profile information (such as the user profile information discussed in FIG. 4 below) may include information on a user, including user demographics, user preferences, user categories into which the user falls, and/or any other information pertaining to the user. User profile information may be used to target media assets to a particular user (or users), may be used to determine preferences and/or common characteristics of an area, and/or any other purpose related to populating media asset playlists in display devices.
  • the system may infer location and/or movement data about a user based on information available for other sources.
  • the system may determine that at a given time (e.g., lunch time) and at area (e.g., a restaurant), one or more specific users are present (e.g., a user that had made an online reservation at the restaurant).
  • a given time e.g., lunch time
  • area e.g., a restaurant
  • one or more specific users e.g., a user that had made an online reservation at the restaurant.
  • the system may rely on calendar and published location information related to the restaurant as opposed to location data specific to the user.
  • Weather forecasting engine 140 may receive, process, store, and/or aggregate data from the plurality of sources. Weather forecasting engine 140 may then output processed data, including weather forecasts (e.g., based on historical weather data from database 160 and/or weather data generated and/or collected from sensor network 110), recommended media assets, user profile information, etc. to communications network 130. In some embodiments, outputs from weather forecasting engine 140 may be monitored and/or filter by system output 190. [033] For example, in some embodiments, system output 190 may regulate and filter data output from weather forecasting engine 140 for timeliness and accuracy. For example, in some embodiments, system 100 may operate in a real-time or near real-time computing environment.
  • system 100 may use real-time software, which may include synchronous programming languages, real time operating systems, and real-time networks.
  • System 100 may operate as a real-time or near real-time in order to provide hyper local and real-time (or near-real -time weather forecasts). Additionally or alternatively, system 100 may operate as a real-time or near real-time in order to provide user profile information and/or media assets to display device 180 based on current conditions. For example, through the use of system output 190 regulating and filtering data for compliance with specified time constraints, system 100 may maintain its real-time or near-real -time environment.
  • System 100 may also record collected information over time and analyze the information for patterns.
  • the system may learn or be trained to utilize various mathematical or algorithmic processes (e.g., artificial intelligence, machine learning, etc.), together with various databases, connected sensors and other devices (e.g., Internet of Things) to associate various geographic areas, times of the day, week, month or year, and various weather and climatic conditions, with the unique user groups and/or the mass movement of these user groups in the geographic area.
  • the system may then use this knowledge to improve the quality and relevancy of the content presented to the display device(s).
  • system 100 may use one or more prediction models to predict (i) a current and/or future weather forecasts at a specific time and/or at a specified geographic area; (ii) common characteristics of user at a geographic area and/or at a specific time; (iii) a media assets that corresponds to (i) and/or (ii).
  • the prediction model may include one or more neural networks or other machine learning models.
  • neural networks may be based on a large collection of neural units (or artificial neurons). Neural networks may loosely mimic the manner in which a biological brain works (e.g., via large clusters of biological neurons connected by axons).
  • Each neural unit of a neural network may be connected with many other neural units of the neural network. Such connections can be enforcing or inhibitory in their effect on the activation state of connected neural units.
  • each individual neural unit may have a summation function which combines the values of all of its inputs together.
  • each connection (or the neural unit itself) may have a threshold function such that the signal must surpass the threshold before it propagates to other neural units.
  • neural network systems may be self-learning and trained, rather than explicitly programmed, and can perform significantly better in certain areas of problem solving, as compared to traditional computer programs.
  • neural networks may include multiple layers (e.g., where a signal path traverses from front layers to back layers).
  • back propagation techniques may be utilized by the neural networks, where forward stimulation is used to reset weights on the “front” neural units.
  • stimulation and inhibition for neural networks may be more free- flowing, with connections interacting in a more chaotic and complex fashion.
  • FIG. 2 shows a machine learning model configured to populate device-specific playlists in digital out-of-home display devices, in accordance with one or more embodiments.
  • system 200 includes machine learning model 202.
  • Machine learning model 202 may take inputs 204 and provide outputs 206.
  • inputs may include information received sensor network 110 and weather forecasting engine 140.
  • This information may include a past, current, and/or future weather forecasts (or data used to determine these forecasts) at a specific time and/or at a specified geographic area.
  • This information may also include user profile information on the whereabouts and/or movements of users, the characteristics of those users, and/or information related to media assets that may be used for populating display devices.
  • the machine learning model may be trained to use this information to predict and/or select media assets that corresponds to a current and/or future weather forecasts at a specific time and/or at a specified geographic area and/or common characteristics of user at a geographic area.
  • machine learning model 202 may be separately trained to predict future weather conditions based on current and historical weather data. For example, machine learning model 202 may determine which types and/or values of current and/or historical weather data are most representative of future types and/or values of weather data. Likewise, machine learning model 202 may be separately trained to predict common characteristics of a group of users at a geographic area based on user profile information of a user that visited that geographic area. For example, machine learning model 202 may determine which individual characteristics (e.g., characteristics of a single user) are most representative of common characteristics (e.g., characteristics shared by a plurality of users) for a given geographic area.
  • individual characteristics e.g., characteristics of a single user
  • common characteristics e.g., characteristics shared by a plurality of users
  • machine learning model 202 may be separately trained to predict weather reactions for a group of users at a geographic area based on user profile information of a user that visited that geographic area. For example, machine learning model 202 may determine a likely weather reaction (e.g., future product purchase, current mood, etc.) of a plurality of users based on a known weather reaction of a user (e.g., as determined by monitoring user actions after reacting to previous weather conditions). By training machine learning model 202 separately, machine learning model 202 may eliminate bias from model affecting another.
  • a likely weather reaction e.g., future product purchase, current mood, etc.
  • outputs 206 may be fed back to machine learning model 202 as input to train machine learning model 202 (e.g., alone or in conjunction with user indications of the accuracy of outputs 206, labels associated with the inputs, or with other reference feedback information).
  • machine learning model 202 may update its configurations (e.g., weights, biases, or other parameters) based on its assessment of its prediction (e.g., outputs 206) and reference feedback information (e.g., user indication of accuracy, reference labels, or other information).
  • connection weights may be adjusted to reconcile differences between the neural network’s prediction and the reference feedback.
  • one or more neurons (or nodes) of the neural network may require that their respective errors are sent backward through the neural network to them to facilitate the update process (e.g., backpropagation of error).
  • Updates to the connection weights may, for example, be reflective of the magnitude of error propagated backward after a forward pass has been completed. In this way, for example, the machine learning model 202 may be trained to generate better predictions.
  • FIG. 3 shows a diagram for monitoring geographic areas of users, in accordance with one or more embodiments.
  • the system may monitor the geographic area visited by a plurality of users. For example, the system has determined that a first user (e.g., “Bob”) has visited geographic area 302, geographic area 306, and geographic area 308. Additionally, the system has determined that a second user (e.g., “Mary”) has visited geographic area 302 and geographic area 304.
  • a first user e.g., “Bob”
  • a second user e.g., “Mary”
  • the system may use a plurality of techniques to monitor a user and/or the movements of the user.
  • the system may receive information from a GPS tracking unit carried by a vehicle or person (e.g., in a smartphone) that uses the GPS to track the user’s movements and determine his or her current geographic area.
  • the data may be received automatically (e.g., at regular intervals or upon a user entering/exiting a new geographic area).
  • the system may monitor user “check-ins” at geographic areas. For example, upon a user entering a geographic area, the user may update his or her status as located at the geographic area.
  • the system may also vary how geographic areas are defined. For example, a geographic may be based on a government boundary (e.g., a given city, state, county, etc.). Alternatively or additionally, the system may base a geographic area on a series of GPS coordinates. For example, the system may define an area based on GPS coordinates about its boundary. The system may determine whether or not the user is within that boundary. The system may also base a boundary on a structure. For example, the system may determine whether or not a user is within a given building (e.g., home, etc.).
  • a government boundary e.g., a given city, state, county, etc.
  • the system may base a geographic area on a series of GPS coordinates.
  • the system may define an area based on GPS coordinates about its boundary.
  • the system may determine whether or not the user is within that boundary.
  • the system may also base a boundary on a structure. For example, the system may determine whether or not a user is within a given building (e
  • the system may also define geographic areas based on a proximity to a particular point, GPS location, and or device (e.g., a display device or a weather sensor). For example, the system may define geographic area as a distance surrounding a given point or GPS location. To determine whether or not a user is within the geographic area, the system may determine the distance of the user to the point and compare that distance to a threshold distance. In response to determining that the user is equal or within the threshold distance, the system may determine that the user is at the geographic area.
  • a threshold distance e.g., a threshold distance
  • the system may also determine whether or not a weather sensor is within a threshold proximity to a display device, as discussed below in relation to FIG. 8. For example, the system may determine whether or not a weather sensor is available to send weather data on conditions at the display device based on whether or not a weather sensor is within a threshold proximity to a display device.
  • the system may both determine a geographic area based on a boundary and a proximity. For example, the system may receive continuous GPS coordinates from a GPS tracking unit on a user (e.g., in a smartphone of a user). Based on a comparison of the received coordinates with GPS location data, the system may determine that the user has entered a first geographic area (e.g., a city). In response to determining that the user has entered the first geographic area, the system may retrieve locations of one or more display devices within the first geographic area. The system may then determine a distance to the one or more display devices to the user. The system may then compare each distance to a threshold distance to determine if the user is in a second geographic area (e.g., a geographic area within the first geographic area and within a particular proximity to a display device).
  • a second geographic area e.g., a geographic area within the first geographic area and within a particular proximity to a display device.
  • the system may determine if the geographic area is one that features a display device and/or whether or not a user can see content displayed on the display device from the geographic area. That is, the system may select a threshold distance based on a viewing area for a given display device.
  • the viewing area may vary based on the display device. For example, a display device that is an electronic billboard may have a viewing area of a city block, whereas a display device that is an electronic kiosk may only have a viewing area corresponding to a room of a structure in which the kiosk is located.
  • the system may also determine a direction of a user from a display device (or geographic location). For example, the system may determine if the user in a threshold direction (or range of directions). For example, if the threshold direction is based on a display device, the system may determine that the user is within a range of direction that can view the display device. In response to determining that the user is within a geographic area, which may correspond to a view area of a display device. The system may retrieve a user profile of the user.
  • the system may determine the aforementioned characteristics of multiple users. For example, the system may determine if multiple users are in a viewing direction from a display device. The system may then compare the number and/or characteristics of users to one or more thresholds to select content. For example, the system may select the content generated for display based on a number or percentage of the users in a given category and compare that number or percentage to a respective threshold. In response to the threshold being met, the system may then select content that appeals to the number or percentage of the users. Furthermore, the system may have different thresholds for different categories. For example, a certain category (e.g., a highly desirable category to the content provider) may have a lower threshold than another category (e.g., with a less desirable category to the content provider).
  • a certain category e.g., a highly desirable category to the content provider
  • another category e.g., with a less desirable category to the content provider.
  • the system may have numerous thresholds and may base threshold on one or more characteristics of a user. In some embodiments, the system may base threshold on whether or not a specific user is identified. For example, the system may retrieve device identification information and/or personally identifiable information (PII) from a user device (e.g., a mobile phone) within the proximity of a display device. Based on the information, the system may determine whether or not a specific person is in the viewing area of the display device. In response to determining that the specific person is in the viewing area of the display device. The system may select content.
  • PII personally identifiable information
  • the system may use one or more techniques for identifying a specific user, including but not limited to facial recognition, biometric identification, virtual location sign-ins by the user, etc.
  • the system may target content to that user.
  • the system may identify the specific identify of multiple users with the proximity of the display device and target content that corresponds to one or more of the multiple users.
  • the system may also receive information from third party sources that either identify a user or indicate that the user is within proximity to a display device. For example, the system may receive a notification from a social media provider that indicates that a specific user it currently at a location that is with the proximity of a display device. The system may then select content based on that information.
  • the system may further control the operation (e.g., beyond the selection of content) for a display device. For example, the system may determine to power- on or power-off, increase/decrease the volume, increase/decrease the brightness, and/or other modify the audio and/or video characteristics of a display device based on one or more users being detected within its proximity.
  • the system may combine this information with weather data and/or other geographically relevant data.
  • the system may select content based on mass movements of users in a known geographical area based on current or previous determines. For example, the system may determine that at a given time (e.g., rush hour) and a given geographic location (e.g., a heliport on New York City), one or more specific users are present. The system may further determine that users having specific characteristics are present and/or are present in a threshold concentration. The system may then select content based on these determinations.
  • a given time e.g., rush hour
  • a given geographic location e.g., a heliport on New York City
  • the system may infer location and/or movement data about a user based on information available for other sources. For example, the system may determine that at another given time (e.g., school closing time) and at another given area (e.g., a bus stop), one or more specific users are present (e.g., a user that attends a near by school). In such case, the system may rely on school attendance data and location information related to the bus stop as opposed to location data specific to the user.
  • another given time e.g., school closing time
  • another given area e.g., a bus stop
  • one or more specific users e.g., a user that attends a near by school.
  • the system may rely on school attendance data and location information related to the bus stop as opposed to location data specific to the user.
  • the system may select content for one user and modify that content based on the presence of another user. For example, the system may select a media asset based on a first user (e.g., an adult) being present. The system may continue to monitor the geographic area within the proximity of the display device. The system, in response to determining that a second user (e.g., a child) enters the proximity of the display device, modifies that content by applying parent controls and/or content restrictions. For example, the system may identify expletive language, violence, etc. and may determine to modify, block, and/or replace the identified content in the media asset.
  • a first user e.g., an adult
  • the system may continue to monitor the geographic area within the proximity of the display device.
  • the system in response to determining that a second user (e.g., a child) enters the proximity of the display device, modifies that content by applying parent controls and/or content restrictions. For example, the system may identify expletive language, violence, etc. and may determine to modify, block,
  • FIG. 4 shows two illustrative user profiles (user profile 400 and user profile 410) for use in determining common characteristics for users in a geographic area, in accordance with one or more embodiments.
  • a user profile may include an explicit digital representation of a person’s identity.
  • user profile may also include a computer representation of a user model.
  • a user model may include a data structure that is used to capture certain characteristics about an individual user.
  • the user profile may include numerous types of information about the user such as demographic, geographic, preferential, and categories into which the user falls.
  • user profile 400 may include data on the name, occupation, income level of a first user.
  • the user profile may also include personality traits, social and behavioral information, and consumer information (e.g., buying habits, debt levels, previous exposure to advertisements and/or the results of that exposure to advertisements).
  • the system may use consumer information to target particular media assets to the user. For example, if the user is known to enjoy cars, the system may determine that a media asset featuring a car should be shown.
  • User profile 400 and user profile 410 may also be used by the system to determine a weather reaction of the user.
  • the system may store information on previous user behavior, purchases, media asset consumption, etc.
  • the system may further tag this information with a corresponding date.
  • the system may further store information the user’s previous geographic area and/or the weather conditions in that area.
  • the system may retrieve the previous user behavior, purchases, media asset consumption, etc. of a user during and/or following weather of a similar type. This may, in some embodiments, include products and/or services consumed or purchased during the particular weather.
  • user profile information, weather reactions, and/or other information about a user may be used as inputs into machine learning model 202 (FIG. 2) and that the system may use the machine learning model 202 (FIG. 2) to determine likely current and/or future user behavior, purchases, media asset consumption, weather reactions, etc.
  • the system may also aggregate user profile information. For example, the system may compare and contrast the information in corresponding categories for user profile 400 and user profile 410.
  • the system may use fuzzy logic and/or other techniques for comparing linguistic and/or categorical variables. Based on the comparison of the user profiles of multiple user, the system may find common characteristics between users. These common characteristics, or the categories that are normal the basis of common characteristics, may be used to target media assets to a plurality of users.
  • the system may determine that a first plurality of users at a first geographic location (e.g., Canada) do not change their purchase habits when the weather is below freezing.
  • the system may also determine that a second plurality of users at a second geographic location (e.g., Mexico) do change their purchase habits with the weather is below freezing. Therefore, in response to determining that the weather below is below freezing in Mexico, the system may select different media assets than are normally presented. In contrast, in response to determining that the weather below is below freezing in Canada, the system may not select different media assets than are normally presented.
  • the system may determine that users in a given geographic area all have the same purchase habits during a given weather type. In response to the system determining that one user purchases a specific item, the system may determine that all users in the geographic area will likely purchase the specific item as users in that geographic area all have the same purchase habits during a given weather type. Based on these determinations, the system may select a given media asset from a plurality of media assets.
  • FIG. 5 shows an illustrative diagram for selecting media assets based for DOOH display devices, in accordance with one or more embodiments.
  • FIG. 5 includes DOOH display device 510. These display devices, in some embodiments, may correspond to display device 180 (FIG. 1).
  • display devices 510 may include an electronic billboard, electronic signage, and/or an electronic kiosk.
  • each of these display devices is fed media assets from respective content management servers 520.
  • Each of the content management servers 520 itself has a respective device specific playlist 530, and each device specific playlist 530 include a plurality of respective media assets.
  • the content management servers 520 may request media assets to fill specific slots (e.g., slots 540) in the device specific playlists 530.
  • Each of these slots may have one or more requirements based on content, length of time, format, etc.
  • Each of the content management servers 520 may also have one or more requirements.
  • content management servers 520 may need to limit device specific playlists 530 to specific content or maintain a specific diversity of content.
  • each of display devices 510 may have one or more requirements.
  • display devices 510 may include requirements based on initial dimensions (pixels), maximum expanded dimensions (pixels), file size, load size, frame rate minimum and maximum, audio, submission lead time, operating systems, etc.
  • the requirements for a given media asset may change at any given time as the selection of one media asset may modify the requirements for other media assets in the playlist.
  • the content management servers 520 may wish to include targeted content. This targeted content may include content targeted based on current weather conditions.
  • content management servers 520 may transmit requests to the system (e.g., comprising one or more of the components shown in FIG. 1).
  • the request may include information on current conditions (e.g., current weather conditions), may include a request for specific media assets (e.g., target based on those specific conditions), and may include requirements specific to the devices of FIG. 5.
  • the request may include requirements for a specific slot (e.g., one of slots 540) and therefore request a media asset with a particular content, length of time, format, etc.
  • the request may also include requirements from content management servers 520 and/or display devices 510.
  • the request may specify a particular file size, load size, and frame rate.
  • the system may also request content that targets specific users based on user profile data of users (or categories of users) determined to be in the area as discussed in FIG. 4.
  • the system may respond to the request by inputting the requirements into a database that lists requirements met by each available media asset to find a media asset that matches the requirements. Furthermore, while processing the requests the system may maintain the specified time constraints for real-time and/or near-real-time operation. For example, follow the receipt of the request, the system may process the request and issue a response within a specified time constraint. To improve efficiencies, the system may use machine learning models (e.g., machine learning model 202 (FIG. 2)) to predict the various requirements that will likely be necessary at a given time and by a given display device.
  • machine learning models e.g., machine learning model 202 (FIG. 2)
  • FIG. 6 show flow chart for populating device-specific playlists in digital out-of-home display devices, in accordance with one or more embodiments. It should be noted that process 600 or any step thereof could be performed on, or provided by, any of the devices shown in FIGS. 1-2. For example, process 600 may be executed by control circuitry of one or more components shown in FIG. 1. In addition, one or more steps of process 600 may be incorporated into or combined with one or more steps of any other process or embodiment. [068] At step 602, process 600 monitors (e.g., using control circuitry) geographic areas visited by a user. For example, as described in relation to FIG. 3, process 600 may monitor one or more geographic areas visited by a user.
  • process 600 monitors (e.g., using control circuitry) geographic areas visited by a user. For example, as described in relation to FIG. 3, process 600 may monitor one or more geographic areas visited by a user.
  • the system may retrieve a user profile of the user (e.g., as discussed in relation to FIG. 4) and determine a user category assigned to the user. For example, the system may retrieve a user profile for the user and determine that the user is assigned the user category based on the user profile.
  • process 600 determines (e.g., using the control circuitry) a geographic area visited by the user at a first time. For example, the system may determine that a user entered a geographic area based on a GPS coordinate associated with the user being located with the boundary of the geographic area and/or below a threshold proximity to a point associated with the geographic area.
  • process 600 assigns (e.g., using the control circuitry) the user category to the geographic area based on the geographic area being visited by the user at the first time. For example, in response to the first user visiting the geographic area, the system may determine that at least one user belonging to a particular category is in the geographic area. Alternatively or additionally, the system may determine that the user category corresponds to a common characteristic. Therefore, the system may determine that multiple users in the geographic area may correspond to the user category. For example, the system may determine that the geographic area is one that is frequented by users of the user category, either currently or in the future.
  • process 600 receives (e.g., using the control circuitry) a request to populate a device-specific playlist in a display device at the geographic area at a second time.
  • the system may receive a request for a media asset that meets specific requirements.
  • the system may receive a request to populate a playlist at a future time.
  • the future time may be months, days, hours, minutes, and/or seconds into the future.
  • the system may need to rely on accurate and/or fast prediction methods (e.g., as discussed above) to accurately predict weather months in advance or immediately depending on when the second time is.
  • the system may respond to the request in real-time using its plurality of weather sensors (e.g., sensor network 110 (FIG. 1)). Additionally or alternatively, the system may rely on its machine learning models (e.g., machine learning model 202 (FIG. 2)) to generate accurate predictions.
  • its plurality of weather sensors e.g., sensor network 110 (FIG. 1)
  • the system may rely on its machine learning models (e.g., machine learning model 202 (FIG. 2)) to generate accurate predictions.
  • machine learning models e.g., machine learning model 202 (FIG. 2)
  • process 600 selects (e.g., using the control circuitry) a media asset to populate the device-specific playlist based on the media asset corresponding to the user category.
  • the system may determine a weather forecast for the geographic area at the second time. The system may then determine that the media asset that was selected corresponds to the weather forecast.
  • the system may determine that the media asset corresponds to the weather forecast by determining a weather reaction of users in the user category to the weather forecast and determining that the media asset corresponds to the weather reaction.
  • the system may determine a product used by users in the user category during weather of a type in the weather forecast and determine that the media asset features the product.
  • the system may input the user category into a database listing user categories associated with media assets.
  • the system may then receive an output from the database indicating that the media asset corresponds to the user category.
  • the system may identify a weather sensor for providing the weather forecast for the geographic area at a second time (e.g., a future time) in response to determining that the geographic area was visited by the user at the first time.
  • the system may perform one or more other operations and/or functions in response to one or more steps of process 700.
  • the system may additionally or alternatively to selecting content, power on or off a display device as well as modify an audio and/or video characteristic of the display device.
  • the modifications to the audio and/or video characteristics of the display device may be preset or may also be based on the user.
  • the system may determine that a user has trouble hearing. Therefore, the system may increase the volume of a display device. In another example, the system may determine that the user has trouble seeing. In response the system may modify the size of text displayed on the display device.
  • the system may select content for one user and modify the content based on the presence of another user. For example, the system may select a media asset based on a first user (e.g., an adult) being present. The system, in response to determining that a second user is present (e.g., a child), modify that content by applying parent controls and/or content restrictions. For example, expletive language, violence, etc. may be modified, blocked, and/or replaced in the media asset.
  • a first user e.g., an adult
  • a second user e.g., a child
  • modify that content by applying parent controls and/or content restrictions. For example, expletive language, violence, etc. may be modified, blocked, and/or replaced in the media asset.
  • the system may additionally or alternatively select a media asset (and/or modify the time of display) based on a current activity of a user or users. For example, the system may determine where a user is looking (e.g., based on direction of movement or information from video data). The system may determine whether or not a user is currently using an electronic device (e.g., based on information received from the electronic device). If so, the system may delay the display of an advertisement to the user. In another example, the system may determine that the user is near a display device in an elevator. Upon entry to the elevator, the system may determine that the user is actively monitoring the content of the display device.
  • the system may determine that the user is shopping or performing another activity (e.g., eating in a restaurant) based on purchase information and/or credit card data. In response the system, may select a media asset directed towards advertising for similar and/or complimentary products.
  • another activity e.g., eating in a restaurant
  • process 600 generates for display (e.g., using the control circuitry) the media asset in the device-specific playlist at the first geographic area at the second time.
  • the system populates a device specific playlist (e.g., device specific playlist 530 (FIG. 5)) with the selected media asset.
  • a device specific playlist e.g., device specific playlist 530 (FIG. 5)
  • FIG. 7 shows a flow chart for populating device-specific playlists in real-time and near real-time, in accordance with one or more embodiments.
  • process 700 or any step thereof could be performed on, or provided by, any of the devices shown in FIGS. 1- 2.
  • process 700 may be executed by control circuitry of one or more components shown in FIG. 1.
  • one or more steps of process 700 may be incorporated into or combined with one or more steps of any other process or embodiment.
  • process 700 may be performed by a content management server (e.g., one of content management servers 520 (FIG. 5)).
  • process 700 may be performed by any component is system 100 (FIG. 1)).
  • process 700 monitors slots (e.g., slot 540 (FIG. 5)) in a device specific playlist (e.g., one of device specific playlists 530 (FIG. 5)).
  • a device specific playlist e.g., one of device specific playlists 530 (FIG. 5)
  • the system may monitor the slots in real-time or near-real-time for empty slots.
  • the system may review the device specific playlist for any increment of time in the future.
  • process 700 determines whether or not there is a media asset in a given slot of a device specific playlist. For example, the system may review an index file of media assets and the corresponding time/date of presentation and length of playback on the device specific playlist. In response to determining that the slot is filled, process 700 proceeds to step 708 and present the scheduled media asset before returning to step 702. In response to determining that a slot in not filled, process 700 proceeds to step 706 and requests a media asset (e.g., from system output 190) before returning to step 702.
  • a media asset e.g., from system output 190
  • the request to populate the device-specific playlist may indicate a first length of time available in the device-specific playlist.
  • the request is received at a second length of time before the second time, wherein the second length of time is less than the first length of time.
  • the system may receive a request for a media asset (e.g., with a runtime of 30 seconds) that is scheduled to be presented in 1-5 seconds.
  • FIG. 8 shows a flow chart for determining a weather forecast in a geographic area, in accordance with one or more embodiments. It should be noted that process 800 or any step thereof could be performed on, or provided by, any of the devices shown in FIGS. 1-2. For example, process 800 may be executed by control circuitry of one or more components shown in FIG. 1. In addition, one or more steps of process 800 may be incorporated into or combined with one or more steps of any other process or embodiment.
  • process 800 receives a request for a media asset based on the weather forecast.
  • the system may receive a request a content management server (e.g., one of content management servers 520 (FIG. 5)).
  • the request may include one or more requirements and/or information about the geographic area of the display device.
  • the system may determine a weather forecast in the geographic area.
  • the system determines whether or not the there is a weather sensor (e.g., one of the weather sensors of sensor network 110 (FIG. 1)) at the geographic location.
  • the system may determine this based on inputting the geographic location into a database listing the geographic location of weather sensors in the sensor network. Additionally or alternatively, the system may determine a proximity of a weather sensor to the geographic area, compare the proximity to a threshold proximity, and in response to determining that the proximity is equal or below the threshold proximity, determine the weather forecast based on data from the weather sensor. If process 800 determines that there is a weather sensor in the geographic area, process 800 proceeds to step 810. If process 800 determines that there is not a weather sensor in the geographic area, process 800 proceeds to step 806.
  • process 800 determines whether or not an alternative weather source is available. For example, the system may request weather data from alternative sources such as user devices (e.g., a smartphone) in the geographic area and/or third party sources. If the system determines that an alternative weather source is available (e.g., the system may obtain information of current or future weather conditions by accessing data receive from a user device and/or a third party source), process 800 proceeds to step 810. If the system determines that an alternative weather source is not available, process 800 proceeds to step 808.
  • alternative weather source e.g., the system may obtain information of current or future weather conditions by accessing data receive from a user device and/or a third party source.
  • process 800 installs a weather sensor in the geographic area.
  • the system may install a weather sensor in a geographic area and/or on a display device.
  • process 800 receives the weather data for the weather forecast.
  • FIGS. 6-8 may be used with any other embodiment of this disclosure.
  • the steps and descriptions described in relation to FIGS. 6-8 may be done in alternative orders or in parallel to further the purposes of this disclosure.
  • each of these steps may be performed in any order or in parallel or substantially simultaneously to reduce lag or increase the speed of the system or method.
  • a method for populating device-specific playlists in display devices comprising: monitoring geographic areas visited by a user, wherein the user is assigned a user category; determining a geographic area visited by the user at a first time; assigning the user category to the geographic area based on the geographic area being visited by the user at the first time; receiving a request to populate a device-specific playlist in a display device at the geographic area at a second time; selecting a media asset to populate the device-specific playlist based on the media asset corresponding to the user category; and generating for display the media asset in the device-specific playlist at the first geographic area at the second time.
  • selection of the media asset is further based on: determining a weather forecast for the geographic area at the second time; and determining that the media asset corresponds to the weather forecast.
  • determining that the media asset corresponds to the weather forecast further comprises: determining a weather reaction of users in the user category to the weather forecast; and determining that the media asset corresponds to the weather reaction.
  • determining the weather reaction of users in the user category to the weather forecast comprises determining a product used by users in the user category during weather of a type in the weather forecast, and wherein determining that the media asset corresponds to the weather reaction comprises determining that the media asset features the product.
  • determining the user category of the user comprises: retrieving a user profile for the user; and determining the user is assigned the user category based on the user profile.
  • a tangible, non-transitory, machine-readable medium storing instructions that, when executed by a data processing apparatus, cause the data processing apparatus to perform operations comprising those of any of embodiments 1-10.
  • a system comprising: one or more processors; and memory storing instructions that, when executed by the processors, cause the processors to effectuate operations comprising those of any of embodiments 1-10.
  • a system comprising means for performing any of embodiments 1-10.

Abstract

Methods and systems are disclosed for improvements in the quality of content selected for playlists in a display device. For example, by selecting playlist content for a specific device based on a range of characteristics of both the device and a user that may view content of the device, the quality of the selected content as well as the experience of the user may be improved.

Description

METHODS AND SYSTEMS FOR POPULATING DEVICE-SPECIFIC PLAYLISTS IN DISPLAY DEVICES
FIELD OF HU INVENTION
[001] The invention relates to populating device-specific playlists in display devices.
BACKGROUND
[002] In recent years, the amount and diversity of media content has increased exponentially as technical advances have allowed media to be displayed on an ever-increasing amount of devices. However, as the amount of content has increased, there has also been an increase for the demand from users in the quality of that content.
SUMMARY
[003] Methods and systems are disclosed herein for improvements in the quality and relevancy of content. More particularly, methods and systems are disclosed herein for improvements in the quality and relevancy of content selected for playlists in a device. For example, by selecting playlist content for a specific device based on a range of characteristics of both the device and a user that may view content of the device, the quality and relevancy of the selected content as well as the experience of the user may be improved. While conventional systems may select content specific to a user, the selection of content on a public device (e.g., one viewed by numerous users) is difficult as the content of the device must appeal to multiple users, the identities and characteristics of which may be unknown.
[004] In one approach, the system disclosed herein appeals to multiple users by selecting content based on a common characteristic of the users. For a stationary device (e.g., an electronic billboard, kiosk, etc.), one such common characteristic is a geographic area. That is, each of the users that may see the stationary device and share the common characteristic of being located in the same geographic area. However, basing content selection on only a single characteristic may not provide a level of diversity or precision that keeps multiple users engaged. Accordingly, the system disclosed herein may also assign categories of users to the geographic area. From these categories, the system may further base content selections. To ensure that these categories are properly assigned, the system may profile individual users, and/or groups of users, and monitor their movements. In response to determining that a profiled user(s) is in the geographic area, the system may determine a user category of the user. As the user frequents the geographic area, the system can determine that there is a high likelihood that other users that would also belong to the user category may frequent the geographic area. From this, the system determines other common characteristics. In yet another example, the system may determine another common characteristic of the users in the geographic area - the current weather in the geographic area. Using specific criteria based on common characteristic of the users, the system may select content for devices (e.g., stationary, public) that appeal to all the users in the area. The system may select the content based on determine a number or percentage of the users in the given category and compare that number or percentage to a respective threshold. In response to the threshold being met, the system may then select content that appeals to the number or percentage of the users. Furthermore, the system may have different thresholds for different categories. For example, a certain category (e.g., a highly desirable category to the content provider) may have a lower threshold than another category (e.g., with a less desirable category to the content provider).
[005] While the disclosed system selects content in the aforementioned way, the system also overcomes specific challenges unique to device-specific playlists. Namely, in many cases, a user or third party may wish for specific content, having a specific length, to display at a specific time on the device. Therefore, in addition to improving the characteristics upon which content is based, the system must also ensure that the content has specific lengths, may be displayed at specific times, be in a particular format for a selected device, etc. These requirements present unique challenges to basing content selection on the aforementioned characteristics because the characteristics may change depending on the requirements. For example, depending on a display time of content in the playlist, the weather or users in the area may change.
[006] To account for these changes, the system may use real-time and/or near real-time data sources on users, weather conditions, etc. These sources may include networks of sensors, continuous monitoring, and data aggregation from numerous parties and/or sources. Furthermore, to prepare for any potential scenario (e.g., a given user, at a given location, during given weather conditions), the system may further rely on historic data (e.g., weather and climate data) and prediction models, user-generated data, and/or user-observed data.
[007] In one aspect, the system for populating device-specific playlists in display devices is described. The system may monitor geographic areas visited by a user and determine that the user visited a particular geographic area for the first time. For example, the system may monitor the movement of the user through a device featuring global positioning system (“GPS”) functionality. The system may further generate, access, and/or otherwise store a user profile associated with the user that includes an assigned user category (e.g., based on demographic, preferential, or other user-specific data). The system may then assign the user category to the geographic area based on the geographic area being visited by the user for the first time.
[008] The system may then receive a request to populate a device-specific playlist in a display device (e.g., an electronic billboard, kiosk, or other public display) at the geographic area at a second time (e.g., a point in the near future). The request to populate the device-specific playlist may further indicate a first length of time available in the device-specific playlist as well as a required format, content restrictions, etc.
[009] In response, the system may determine and/or utilize a weather forecast for the geographic area at the second time (e.g., based on a weather sensor in the geographic area, historical data, and/or prediction models) and select a media asset to populate the device specific playlist based on the media asset corresponding to the user category, the first length of time, and the weather forecast. For example, the system may select a media asset featuring content about warm and sunny getaways in response to determining that the current weather in unseasonably cold. The system then generates for display the media asset in the device-specific playlist at the first geographic area at the second time. For example, the system may transmit instructions and/or the media asset or otherwise cause the display device to display the media asset.
[010] In another aspect, as a result of the operation of the system through time, the system may learn or be trained utilizing various mathematical or algorithmic processes (e.g., artificial intelligence, machine learning, etc.), together with various databases, connected sensors and other devices (e.g., Internet of Things) to associate various geographic areas, times of the day, week, month or year, and various weather and climatic conditions, with the unique user groups and/or the mass movement of these user groups in the geographic area. The system may then use this knowledge to improve the quality and relevancy of the content presented to the display device(s).
[Oil] Various other aspects, features, and advantages of the invention will be apparent through the detailed description of the invention and the drawings attached hereto. It is also to be understood that both the foregoing general description and the following detailed description are examples and not restrictive of the scope of the invention. As used in the specification and in the claims, the singular forms of “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. In addition, as used in the specification and the claims, the term “or” means “and/or” unless the context clearly dictates otherwise.
BRIEF DESCRIPTION OF THE DRAWINGS
[012] FIG. 1 shows systems for populating device-specific playlists in digital out-of-home display devices, in accordance with one or more embodiments.
[013] FIG. 2 shows a machine learning model configured to populating device-specific playlists in digital out-of-home display devices, in accordance with one or more embodiments. [014] FIG. 3 shows a diagram for monitoring geographic areas of users, in accordance with one or more embodiments.
[015] FIG. 4 shows two illustrative user profiles for use in determining common characteristics for users in a geographic area, in accordance with one or more embodiments. [016] FIG. 5 shows an illustrative diagram for selecting media assets based for DOOH display devices, in accordance with one or more embodiments.
[017] FIG. 6 shows a flow chart for populating device-specific playlists in digital out-of-home display devices, in accordance with one or more embodiments.
[018] FIG. 7 shows a flow chart for populating device-specific playlists in real-time and near real-time, in accordance with one or more embodiments.
[019] FIG. 8 shows a flow chart for determining a weather forecast in a geographic area, in accordance with one or more embodiments.
DETATEED DESCRIPTION OF THE INVENTION
[020] In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the invention. It will be appreciated by those having skill in the art, however, that the embodiments of the invention may be practiced without these specific details or with an equivalent arrangement. In other cases, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the embodiments of the invention.
[021] FIG. 1 shows systems for populating device-specific playlists in digital out-of-home display devices, in accordance with one or more embodiments. It should be noted that the components shown in FIG. 1 are illustrative only, and in some embodiments, one component may perform functions associated with another component. Additionally or alternatively, in some embodiments, the functions of one component may be performed by a plurality of other components. Additionally or alternatively, system 100 may be implemented in a cloud environment, in which one or more of the components and/or functions of system 100 is provided by cloud components. In a cloud computing environment, various types of computing services for content sharing, processing, storage and/or distribution are provided by a collection of network-accessible computing and storage resources, referred to as “the cloud.” For example, the cloud can include a collection of server computing devices, which may be located centrally or at distributed locations, that provide cloud-based services to various types of users and devices connected via a network such as the Internet via communications network 130. [022] FIG. 1 shows system 100 which includes a plurality of components used to populate devices-specific playlists in digital out-of-home (“DOOH”) display devices. DOOH display devices may refer to display devices that appear in environments accessible to the public such as digital billboards, electronic kiosks, outdoor signage, and/or other publicly available networks of screens. DOOH display devices may display a variety of media assets. As referred to herein, “media asset” and “content” may include any electronically consumable user asset, such as television programming (including pay-per-view programs, on-demand programs (as in video-on-demand (VOD) systems)), Internet content (e.g., streaming content, downloadable content, Webcasts, etc.), video clips, audio, content information, pictures, rotating images, documents, playlists, websites, articles, books, electronic books, blogs, advertisements, chat sessions, social media, applications, games, and/or any other media or multimedia and/or combination of the same.
[023] Each of the components shown in system 100 may also include electronic storages. The electronic storages may include non-transitory storage media that electronically stores information. The electronic storage media of the electronic storages may include one or both of (i) system storage that is provided integrally (e.g., substantially non-removable) with servers or client devices or (ii) removable storage that is removably connectable to the servers or client devices via, for example, a port (e.g., a USB port, a firewire port, etc.) or a drive (e.g., a disk drive, etc.). The electronic storages may include one or more of optically readable storage media (e.g., optical disks, etc.), magnetically readable storage media (e.g., magnetic tape, magnetic hard drive, floppy drive, etc.), electrical charge-based storage media (e.g., EEPROM, RAM, etc.), solid-state storage media (e.g., flash drive, etc.), and/or other electronically readable storage media. The electronic storages may include one or more virtual storage resources (e.g., cloud storage, a virtual private network, and/or other virtual storage resources). The electronic storage may store software algorithms, information determined by the processors, information obtained from servers, information obtained from client devices, or other information that enables the functionality as described herein. Each of the components shown in system 100 may also receive content and data via input/output (hereinafter “I/O”) paths and may also include processors and/or control circuitry to send and receive commands, requests, and other suitable data using the I/O paths. The control circuitry may comprise any suitable processing circuitry. Each of the components in system 100 may also include a user input interface and/or display for use in receiving and displaying data.
[024] System 100 includes DOOH display devices 180, 181, and 182, which may be referred to collectively as display devices 180. In some embodiments, display devices 180 may correspond to display device 510 (FIG. 5) below. As shown in FIG. 1, media assets displayed on display devices 180 may be received over an electronic communications network 130. Network 130 may include the Internet, a mobile phone network, a mobile voice or data network (e.g., a 5G or LTE network), a cable network, a public switched telephone network, or other types of communications network or combinations of communications networks. The network may include both wired and wireless connection as well as other short-range point-to-point communication paths, such as USB cables, IEEE 1394 cables, wireless paths (e.g., Bluetooth, infrared, IEEE 802-1 lx, etc.), or other short-range communication via wired or wireless paths. [025] Data, including media assets, provided to display devices 180 over communications network 130 may come from a plurality of sources. For example, in system 100, weather data (e.g., data on current weather conditions) is generated by a plurality of weather sensors, referred collectively as sensor network 110. Sensor network 110 may include a plurality of weather sensors and/or a plurality of types of weather sensors, each of which may be owned or controlled by a government, public, and/or private entity. The types of weather sensors in sensor network 110 may include weather sensors that monitor for weather and/or climate conditions such as atmospheric pressure, humidity, solar radiation, temperature, precipitation, etc. The weather sensors may be found in one of more weather stations, which may include private, public, and/or government facilities.
[026] The weather sensors may collect and/or generate weather data automatically and at predetermined times (e.g., a synoptic weather station) or the weather sensors may collect and/or generate weather data in response to user requests. In some embodiments, weather data may be user generated and/or user observed weather data, such as weather data for a geographic area generated and/or collected by a user physically located in the geographic area and directly generating and/or collecting the weather data. For example, such user generated and/or user observed weather data may include weather data generated and/or collected by a user using an electronic device (e.g., a smart phone). In some embodiments, user generated and/or user observed weather data may be generated and/or collected automatically and passively (e.g., without any interaction from a user).
[027] In some embodiments, weather sensors may include weather data received from Internet of Things (“IoT”) connections, satellite networks, and/or other communication networks. IoT connections may include interrelated computing devices, mechanical and digital machines, objects, animals or people that are provided with unique identifiers (“UIDs”) and the ability to transfer data over a network without requiring human-to-human or human-to- computer interaction. It should be noted that IoT connections, satellite networks, and/or other communication networks may also be used to transfer user profile data, media asset data, and/or any other data discussed herein.
[028] Data, including media assets, provided to display devices 180 over communications network 130 may also come from a weather forecasting engine (e.g., weather forecast engine 140). Weather forecasting engine 140 may itself receive data, particularly data used to generate weather forecasts and/or populate media asset playlists in display devices from a plurality of sources. For example, weather forecasting engine 140 may receive data from one or more databases (e.g., database 160, which includes historical weather and/or climate data, historical weather observation data, forecasted datasets, and other data used to predict future weather and/or climate conditions and/or explain historical weather and/or climate conditions).
[029] Weather forecasting engine 140 may also receive data from thirty-party sources of historical weather and/or climate data, historical weather observation data, forecasted datasets, and other data used to predict future weather and/or climate conditions and/or explain historical weather and/or climate conditions. For example, weather forecasting engine 140 may include data from third-party database 170.
[030] Third party database 170 may also include user profile information. User profile information (such as the user profile information discussed in FIG. 4 below) may include information on a user, including user demographics, user preferences, user categories into which the user falls, and/or any other information pertaining to the user. User profile information may be used to target media assets to a particular user (or users), may be used to determine preferences and/or common characteristics of an area, and/or any other purpose related to populating media asset playlists in display devices. [031] In some embodiments, the system may infer location and/or movement data about a user based on information available for other sources. For example, the system may determine that at a given time (e.g., lunch time) and at area (e.g., a restaurant), one or more specific users are present (e.g., a user that had made an online reservation at the restaurant). In such cases, the system may rely on calendar and published location information related to the restaurant as opposed to location data specific to the user.
[032] Weather forecasting engine 140 may receive, process, store, and/or aggregate data from the plurality of sources. Weather forecasting engine 140 may then output processed data, including weather forecasts (e.g., based on historical weather data from database 160 and/or weather data generated and/or collected from sensor network 110), recommended media assets, user profile information, etc. to communications network 130. In some embodiments, outputs from weather forecasting engine 140 may be monitored and/or filter by system output 190. [033] For example, in some embodiments, system output 190 may regulate and filter data output from weather forecasting engine 140 for timeliness and accuracy. For example, in some embodiments, system 100 may operate in a real-time or near real-time computing environment. For example, real-time programs and computer environments maintain response times within specified time constraints. Similarly, a near-real-time environment depicts events or situations as existing at the current time minus the processing time. In such embodiments, system 100 may use real-time software, which may include synchronous programming languages, real time operating systems, and real-time networks.
[034] System 100 may operate as a real-time or near real-time in order to provide hyper local and real-time (or near-real -time weather forecasts). Additionally or alternatively, system 100 may operate as a real-time or near real-time in order to provide user profile information and/or media assets to display device 180 based on current conditions. For example, through the use of system output 190 regulating and filtering data for compliance with specified time constraints, system 100 may maintain its real-time or near-real -time environment.
[035] System 100 may also record collected information over time and analyze the information for patterns. For example, the system may learn or be trained to utilize various mathematical or algorithmic processes (e.g., artificial intelligence, machine learning, etc.), together with various databases, connected sensors and other devices (e.g., Internet of Things) to associate various geographic areas, times of the day, week, month or year, and various weather and climatic conditions, with the unique user groups and/or the mass movement of these user groups in the geographic area. The system may then use this knowledge to improve the quality and relevancy of the content presented to the display device(s).
[036] For example, in some embodiments, system 100 may use one or more prediction models to predict (i) a current and/or future weather forecasts at a specific time and/or at a specified geographic area; (ii) common characteristics of user at a geographic area and/or at a specific time; (iii) a media assets that corresponds to (i) and/or (ii). The prediction model may include one or more neural networks or other machine learning models. As an example, neural networks may be based on a large collection of neural units (or artificial neurons). Neural networks may loosely mimic the manner in which a biological brain works (e.g., via large clusters of biological neurons connected by axons). Each neural unit of a neural network may be connected with many other neural units of the neural network. Such connections can be enforcing or inhibitory in their effect on the activation state of connected neural units. In some embodiments, each individual neural unit may have a summation function which combines the values of all of its inputs together. In some embodiments, each connection (or the neural unit itself) may have a threshold function such that the signal must surpass the threshold before it propagates to other neural units. These neural network systems may be self-learning and trained, rather than explicitly programmed, and can perform significantly better in certain areas of problem solving, as compared to traditional computer programs. In some embodiments, neural networks may include multiple layers (e.g., where a signal path traverses from front layers to back layers). In some embodiments, back propagation techniques may be utilized by the neural networks, where forward stimulation is used to reset weights on the “front” neural units. In some embodiments, stimulation and inhibition for neural networks may be more free- flowing, with connections interacting in a more chaotic and complex fashion.
[037] FIG. 2 shows a machine learning model configured to populate device-specific playlists in digital out-of-home display devices, in accordance with one or more embodiments. For example, system 200 includes machine learning model 202. Machine learning model 202 may take inputs 204 and provide outputs 206. For example, inputs may include information received sensor network 110 and weather forecasting engine 140. This information may include a past, current, and/or future weather forecasts (or data used to determine these forecasts) at a specific time and/or at a specified geographic area. This information may also include user profile information on the whereabouts and/or movements of users, the characteristics of those users, and/or information related to media assets that may be used for populating display devices. The machine learning model may be trained to use this information to predict and/or select media assets that corresponds to a current and/or future weather forecasts at a specific time and/or at a specified geographic area and/or common characteristics of user at a geographic area.
[038] In some embodiments, machine learning model 202 may be separately trained to predict future weather conditions based on current and historical weather data. For example, machine learning model 202 may determine which types and/or values of current and/or historical weather data are most representative of future types and/or values of weather data. Likewise, machine learning model 202 may be separately trained to predict common characteristics of a group of users at a geographic area based on user profile information of a user that visited that geographic area. For example, machine learning model 202 may determine which individual characteristics (e.g., characteristics of a single user) are most representative of common characteristics (e.g., characteristics shared by a plurality of users) for a given geographic area. Additionally or alternatively, machine learning model 202 may be separately trained to predict weather reactions for a group of users at a geographic area based on user profile information of a user that visited that geographic area. For example, machine learning model 202 may determine a likely weather reaction (e.g., future product purchase, current mood, etc.) of a plurality of users based on a known weather reaction of a user (e.g., as determined by monitoring user actions after reacting to previous weather conditions). By training machine learning model 202 separately, machine learning model 202 may eliminate bias from model affecting another.
[039] Once trained, outputs 206 may be fed back to machine learning model 202 as input to train machine learning model 202 (e.g., alone or in conjunction with user indications of the accuracy of outputs 206, labels associated with the inputs, or with other reference feedback information). In another use case, machine learning model 202 may update its configurations (e.g., weights, biases, or other parameters) based on its assessment of its prediction (e.g., outputs 206) and reference feedback information (e.g., user indication of accuracy, reference labels, or other information). In another use case, where machine learning model 202 is a neural network, connection weights may be adjusted to reconcile differences between the neural network’s prediction and the reference feedback. In a further use case, one or more neurons (or nodes) of the neural network may require that their respective errors are sent backward through the neural network to them to facilitate the update process (e.g., backpropagation of error). Updates to the connection weights may, for example, be reflective of the magnitude of error propagated backward after a forward pass has been completed. In this way, for example, the machine learning model 202 may be trained to generate better predictions.
[040] FIG. 3 shows a diagram for monitoring geographic areas of users, in accordance with one or more embodiments. As shown in diagram 300, the system may monitor the geographic area visited by a plurality of users. For example, the system has determined that a first user (e.g., “Bob”) has visited geographic area 302, geographic area 306, and geographic area 308. Additionally, the system has determined that a second user (e.g., “Mary”) has visited geographic area 302 and geographic area 304.
[041] The system may use a plurality of techniques to monitor a user and/or the movements of the user. For example, the system may receive information from a GPS tracking unit carried by a vehicle or person (e.g., in a smartphone) that uses the GPS to track the user’s movements and determine his or her current geographic area. In some embodiments, the data may be received automatically (e.g., at regular intervals or upon a user entering/exiting a new geographic area). Alternatively or additionally, the system may monitor user “check-ins” at geographic areas. For example, upon a user entering a geographic area, the user may update his or her status as located at the geographic area.
[042] The system may also vary how geographic areas are defined. For example, a geographic may be based on a government boundary (e.g., a given city, state, county, etc.). Alternatively or additionally, the system may base a geographic area on a series of GPS coordinates. For example, the system may define an area based on GPS coordinates about its boundary. The system may determine whether or not the user is within that boundary. The system may also base a boundary on a structure. For example, the system may determine whether or not a user is within a given building (e.g., home, etc.).
[043] The system may also define geographic areas based on a proximity to a particular point, GPS location, and or device (e.g., a display device or a weather sensor). For example, the system may define geographic area as a distance surrounding a given point or GPS location. To determine whether or not a user is within the geographic area, the system may determine the distance of the user to the point and compare that distance to a threshold distance. In response to determining that the user is equal or within the threshold distance, the system may determine that the user is at the geographic area.
[044] The system may also determine whether or not a weather sensor is within a threshold proximity to a display device, as discussed below in relation to FIG. 8. For example, the system may determine whether or not a weather sensor is available to send weather data on conditions at the display device based on whether or not a weather sensor is within a threshold proximity to a display device.
[045] In some embodiments, the system may both determine a geographic area based on a boundary and a proximity. For example, the system may receive continuous GPS coordinates from a GPS tracking unit on a user (e.g., in a smartphone of a user). Based on a comparison of the received coordinates with GPS location data, the system may determine that the user has entered a first geographic area (e.g., a city). In response to determining that the user has entered the first geographic area, the system may retrieve locations of one or more display devices within the first geographic area. The system may then determine a distance to the one or more display devices to the user. The system may then compare each distance to a threshold distance to determine if the user is in a second geographic area (e.g., a geographic area within the first geographic area and within a particular proximity to a display device).
[046] For example, the system may determine if the geographic area is one that features a display device and/or whether or not a user can see content displayed on the display device from the geographic area. That is, the system may select a threshold distance based on a viewing area for a given display device. The viewing area may vary based on the display device. For example, a display device that is an electronic billboard may have a viewing area of a city block, whereas a display device that is an electronic kiosk may only have a viewing area corresponding to a room of a structure in which the kiosk is located.
[047] In some embodiments, the system may also determine a direction of a user from a display device (or geographic location). For example, the system may determine if the user in a threshold direction (or range of directions). For example, if the threshold direction is based on a display device, the system may determine that the user is within a range of direction that can view the display device. In response to determining that the user is within a geographic area, which may correspond to a view area of a display device. The system may retrieve a user profile of the user.
[048] Additionally or alternatively, the system may determine the aforementioned characteristics of multiple users. For example, the system may determine if multiple users are in a viewing direction from a display device. The system may then compare the number and/or characteristics of users to one or more thresholds to select content. For example, the system may select the content generated for display based on a number or percentage of the users in a given category and compare that number or percentage to a respective threshold. In response to the threshold being met, the system may then select content that appeals to the number or percentage of the users. Furthermore, the system may have different thresholds for different categories. For example, a certain category (e.g., a highly desirable category to the content provider) may have a lower threshold than another category (e.g., with a less desirable category to the content provider).
[049] The system may have numerous thresholds and may base threshold on one or more characteristics of a user. In some embodiments, the system may base threshold on whether or not a specific user is identified. For example, the system may retrieve device identification information and/or personally identifiable information (PII) from a user device (e.g., a mobile phone) within the proximity of a display device. Based on the information, the system may determine whether or not a specific person is in the viewing area of the display device. In response to determining that the specific person is in the viewing area of the display device. The system may select content.
[050] The system may use one or more techniques for identifying a specific user, including but not limited to facial recognition, biometric identification, virtual location sign-ins by the user, etc. In response to identifying that a specific user is within the proximity of the display device, the system may target content to that user. In some embodiments, the system may identify the specific identify of multiple users with the proximity of the display device and target content that corresponds to one or more of the multiple users.
[051] The system may also receive information from third party sources that either identify a user or indicate that the user is within proximity to a display device. For example, the system may receive a notification from a social media provider that indicates that a specific user it currently at a location that is with the proximity of a display device. The system may then select content based on that information.
[052] In some embodiments, the system may further control the operation (e.g., beyond the selection of content) for a display device. For example, the system may determine to power- on or power-off, increase/decrease the volume, increase/decrease the brightness, and/or other modify the audio and/or video characteristics of a display device based on one or more users being detected within its proximity.
[053] Additionally or alternatively, the system may combine this information with weather data and/or other geographically relevant data. For example, the system may select content based on mass movements of users in a known geographical area based on current or previous determines. For example, the system may determine that at a given time (e.g., rush hour) and a given geographic location (e.g., a heliport on New York City), one or more specific users are present. The system may further determine that users having specific characteristics are present and/or are present in a threshold concentration. The system may then select content based on these determinations.
[054] In some embodiments, the system may infer location and/or movement data about a user based on information available for other sources. For example, the system may determine that at another given time (e.g., school closing time) and at another given area (e.g., a bus stop), one or more specific users are present (e.g., a user that attends a near by school). In such case, the system may rely on school attendance data and location information related to the bus stop as opposed to location data specific to the user.
[055] In another example, the system may select content for one user and modify that content based on the presence of another user. For example, the system may select a media asset based on a first user (e.g., an adult) being present. The system may continue to monitor the geographic area within the proximity of the display device. The system, in response to determining that a second user (e.g., a child) enters the proximity of the display device, modifies that content by applying parent controls and/or content restrictions. For example, the system may identify expletive language, violence, etc. and may determine to modify, block, and/or replace the identified content in the media asset.
[056] FIG. 4 shows two illustrative user profiles (user profile 400 and user profile 410) for use in determining common characteristics for users in a geographic area, in accordance with one or more embodiments. As referred to herein, a user profile may include an explicit digital representation of a person’s identity. As user profile may also include a computer representation of a user model. A user model may include a data structure that is used to capture certain characteristics about an individual user.
[057] The user profile may include numerous types of information about the user such as demographic, geographic, preferential, and categories into which the user falls. For example, as shown in FIG. 4, user profile 400 may include data on the name, occupation, income level of a first user. The user profile may also include personality traits, social and behavioral information, and consumer information (e.g., buying habits, debt levels, previous exposure to advertisements and/or the results of that exposure to advertisements). For example, the system may use consumer information to target particular media assets to the user. For example, if the user is known to enjoy cars, the system may determine that a media asset featuring a car should be shown. [058] User profile 400 and user profile 410 may also be used by the system to determine a weather reaction of the user. For example, the system may store information on previous user behavior, purchases, media asset consumption, etc. The system may further tag this information with a corresponding date. The system may further store information the user’s previous geographic area and/or the weather conditions in that area. To determine a user’s weather reaction to given weather, the system may retrieve the previous user behavior, purchases, media asset consumption, etc. of a user during and/or following weather of a similar type. This may, in some embodiments, include products and/or services consumed or purchased during the particular weather. It should further be noted that user profile information, weather reactions, and/or other information about a user may be used as inputs into machine learning model 202 (FIG. 2) and that the system may use the machine learning model 202 (FIG. 2) to determine likely current and/or future user behavior, purchases, media asset consumption, weather reactions, etc.
[059] The system may also aggregate user profile information. For example, the system may compare and contrast the information in corresponding categories for user profile 400 and user profile 410. The system may use fuzzy logic and/or other techniques for comparing linguistic and/or categorical variables. Based on the comparison of the user profiles of multiple user, the system may find common characteristics between users. These common characteristics, or the categories that are normal the basis of common characteristics, may be used to target media assets to a plurality of users.
[060] For example, the system may determine that a first plurality of users at a first geographic location (e.g., Canada) do not change their purchase habits when the weather is below freezing. The system may also determine that a second plurality of users at a second geographic location (e.g., Mexico) do change their purchase habits with the weather is below freezing. Therefore, in response to determining that the weather below is below freezing in Mexico, the system may select different media assets than are normally presented. In contrast, in response to determining that the weather below is below freezing in Canada, the system may not select different media assets than are normally presented.
[061] In another example, the system may determine that users in a given geographic area all have the same purchase habits during a given weather type. In response to the system determining that one user purchases a specific item, the system may determine that all users in the geographic area will likely purchase the specific item as users in that geographic area all have the same purchase habits during a given weather type. Based on these determinations, the system may select a given media asset from a plurality of media assets.
[062] FIG. 5 shows an illustrative diagram for selecting media assets based for DOOH display devices, in accordance with one or more embodiments. FIG. 5 includes DOOH display device 510. These display devices, in some embodiments, may correspond to display device 180 (FIG. 1). For example, display devices 510 may include an electronic billboard, electronic signage, and/or an electronic kiosk. As shown in FIG. 5, each of these display devices is fed media assets from respective content management servers 520. Each of the content management servers 520 itself has a respective device specific playlist 530, and each device specific playlist 530 include a plurality of respective media assets.
[063] In order to populate the device specific playlists 530, the content management servers 520 may request media assets to fill specific slots (e.g., slots 540) in the device specific playlists 530. Each of these slots may have one or more requirements based on content, length of time, format, etc. Each of the content management servers 520 may also have one or more requirements. For example, content management servers 520 may need to limit device specific playlists 530 to specific content or maintain a specific diversity of content. Moreover, each of display devices 510 may have one or more requirements. For example, display devices 510 may include requirements based on initial dimensions (pixels), maximum expanded dimensions (pixels), file size, load size, frame rate minimum and maximum, audio, submission lead time, operating systems, etc.
[064] Furthermore, the requirements for a given media asset may change at any given time as the selection of one media asset may modify the requirements for other media assets in the playlist. Additionally, in order to improve user experience, the content management servers 520 may wish to include targeted content. This targeted content may include content targeted based on current weather conditions. In such cases, content management servers 520 may transmit requests to the system (e.g., comprising one or more of the components shown in FIG. 1). The request may include information on current conditions (e.g., current weather conditions), may include a request for specific media assets (e.g., target based on those specific conditions), and may include requirements specific to the devices of FIG. 5.
[065] For example, the request may include requirements for a specific slot (e.g., one of slots 540) and therefore request a media asset with a particular content, length of time, format, etc. The request may also include requirements from content management servers 520 and/or display devices 510. For example, the request may specify a particular file size, load size, and frame rate. The system may also request content that targets specific users based on user profile data of users (or categories of users) determined to be in the area as discussed in FIG. 4.
[066] The system may respond to the request by inputting the requirements into a database that lists requirements met by each available media asset to find a media asset that matches the requirements. Furthermore, while processing the requests the system may maintain the specified time constraints for real-time and/or near-real-time operation. For example, follow the receipt of the request, the system may process the request and issue a response within a specified time constraint. To improve efficiencies, the system may use machine learning models (e.g., machine learning model 202 (FIG. 2)) to predict the various requirements that will likely be necessary at a given time and by a given display device.
[067] FIG. 6 show flow chart for populating device-specific playlists in digital out-of-home display devices, in accordance with one or more embodiments. It should be noted that process 600 or any step thereof could be performed on, or provided by, any of the devices shown in FIGS. 1-2. For example, process 600 may be executed by control circuitry of one or more components shown in FIG. 1. In addition, one or more steps of process 600 may be incorporated into or combined with one or more steps of any other process or embodiment. [068] At step 602, process 600 monitors (e.g., using control circuitry) geographic areas visited by a user. For example, as described in relation to FIG. 3, process 600 may monitor one or more geographic areas visited by a user. Additionally, the system may retrieve a user profile of the user (e.g., as discussed in relation to FIG. 4) and determine a user category assigned to the user. For example, the system may retrieve a user profile for the user and determine that the user is assigned the user category based on the user profile.
[069] At step 604, process 600 determines (e.g., using the control circuitry) a geographic area visited by the user at a first time. For example, the system may determine that a user entered a geographic area based on a GPS coordinate associated with the user being located with the boundary of the geographic area and/or below a threshold proximity to a point associated with the geographic area.
[070] At step 606, process 600 assigns (e.g., using the control circuitry) the user category to the geographic area based on the geographic area being visited by the user at the first time. For example, in response to the first user visiting the geographic area, the system may determine that at least one user belonging to a particular category is in the geographic area. Alternatively or additionally, the system may determine that the user category corresponds to a common characteristic. Therefore, the system may determine that multiple users in the geographic area may correspond to the user category. For example, the system may determine that the geographic area is one that is frequented by users of the user category, either currently or in the future.
[071] At step 608, process 600 receives (e.g., using the control circuitry) a request to populate a device-specific playlist in a display device at the geographic area at a second time. For example, as discussed in relation to FIG. 5 above, the system may receive a request for a media asset that meets specific requirements. For example, the system may receive a request to populate a playlist at a future time. The future time may be months, days, hours, minutes, and/or seconds into the future. For weather data in particular, the system may need to rely on accurate and/or fast prediction methods (e.g., as discussed above) to accurately predict weather months in advance or immediately depending on when the second time is. For example, the system may respond to the request in real-time using its plurality of weather sensors (e.g., sensor network 110 (FIG. 1)). Additionally or alternatively, the system may rely on its machine learning models (e.g., machine learning model 202 (FIG. 2)) to generate accurate predictions.
[072] At step 610, process 600 selects (e.g., using the control circuitry) a media asset to populate the device-specific playlist based on the media asset corresponding to the user category. For example, the system may determine a weather forecast for the geographic area at the second time. The system may then determine that the media asset that was selected corresponds to the weather forecast. In some embodiments, the system may determine that the media asset corresponds to the weather forecast by determining a weather reaction of users in the user category to the weather forecast and determining that the media asset corresponds to the weather reaction. For example, the system may determine a product used by users in the user category during weather of a type in the weather forecast and determine that the media asset features the product. For example, the system may input the user category into a database listing user categories associated with media assets. The system may then receive an output from the database indicating that the media asset corresponds to the user category. For example, the system may identify a weather sensor for providing the weather forecast for the geographic area at a second time (e.g., a future time) in response to determining that the geographic area was visited by the user at the first time.
[073] In some embodiments, the system may perform one or more other operations and/or functions in response to one or more steps of process 700. For example, the system may additionally or alternatively to selecting content, power on or off a display device as well as modify an audio and/or video characteristic of the display device. The modifications to the audio and/or video characteristics of the display device may be preset or may also be based on the user. For example, the system may determine that a user has trouble hearing. Therefore, the system may increase the volume of a display device. In another example, the system may determine that the user has trouble seeing. In response the system may modify the size of text displayed on the display device.
[074] In another example, the system may select content for one user and modify the content based on the presence of another user. For example, the system may select a media asset based on a first user (e.g., an adult) being present. The system, in response to determining that a second user is present (e.g., a child), modify that content by applying parent controls and/or content restrictions. For example, expletive language, violence, etc. may be modified, blocked, and/or replaced in the media asset.
[075] In some embodiments, the system may additionally or alternatively select a media asset (and/or modify the time of display) based on a current activity of a user or users. For example, the system may determine where a user is looking (e.g., based on direction of movement or information from video data). The system may determine whether or not a user is currently using an electronic device (e.g., based on information received from the electronic device). If so, the system may delay the display of an advertisement to the user. In another example, the system may determine that the user is near a display device in an elevator. Upon entry to the elevator, the system may determine that the user is actively monitoring the content of the display device. In yet another example, the system may determine that the user is shopping or performing another activity (e.g., eating in a restaurant) based on purchase information and/or credit card data. In response the system, may select a media asset directed towards advertising for similar and/or complimentary products.
[076] At step 612, process 600 generates for display (e.g., using the control circuitry) the media asset in the device-specific playlist at the first geographic area at the second time. For example, the system populates a device specific playlist (e.g., device specific playlist 530 (FIG. 5)) with the selected media asset.
[077] FIG. 7 shows a flow chart for populating device-specific playlists in real-time and near real-time, in accordance with one or more embodiments. It should be noted that process 700 or any step thereof could be performed on, or provided by, any of the devices shown in FIGS. 1- 2. For example, process 700 may be executed by control circuitry of one or more components shown in FIG. 1. In addition, one or more steps of process 700 may be incorporated into or combined with one or more steps of any other process or embodiment. In some embodiments, process 700 may be performed by a content management server (e.g., one of content management servers 520 (FIG. 5)). Alternatively, process 700 may be performed by any component is system 100 (FIG. 1)).
[078] At step 702, process 700 monitors slots (e.g., slot 540 (FIG. 5)) in a device specific playlist (e.g., one of device specific playlists 530 (FIG. 5)). For example, the system may monitor the slots in real-time or near-real-time for empty slots. Alternatively or additionally, the system may review the device specific playlist for any increment of time in the future.
[079] At step 704, process 700 determines whether or not there is a media asset in a given slot of a device specific playlist. For example, the system may review an index file of media assets and the corresponding time/date of presentation and length of playback on the device specific playlist. In response to determining that the slot is filled, process 700 proceeds to step 708 and present the scheduled media asset before returning to step 702. In response to determining that a slot in not filled, process 700 proceeds to step 706 and requests a media asset (e.g., from system output 190) before returning to step 702.
[080] In some embodiments, the request to populate the device-specific playlist may indicate a first length of time available in the device-specific playlist. Given the real-time nature of the system, in some embodiments, the request is received at a second length of time before the second time, wherein the second length of time is less than the first length of time. For example, the system may receive a request for a media asset (e.g., with a runtime of 30 seconds) that is scheduled to be presented in 1-5 seconds.
[081] FIG. 8 shows a flow chart for determining a weather forecast in a geographic area, in accordance with one or more embodiments. It should be noted that process 800 or any step thereof could be performed on, or provided by, any of the devices shown in FIGS. 1-2. For example, process 800 may be executed by control circuitry of one or more components shown in FIG. 1. In addition, one or more steps of process 800 may be incorporated into or combined with one or more steps of any other process or embodiment.
[082] At step 802, process 800 receives a request for a media asset based on the weather forecast. For example, the system may receive a request a content management server (e.g., one of content management servers 520 (FIG. 5)). The request may include one or more requirements and/or information about the geographic area of the display device. Based on the requirements or based on the systems ability to select geographically and weather-specific media assets, the system may determine a weather forecast in the geographic area. [083] At step 804, the system determines whether or not the there is a weather sensor (e.g., one of the weather sensors of sensor network 110 (FIG. 1)) at the geographic location. The system may determine this based on inputting the geographic location into a database listing the geographic location of weather sensors in the sensor network. Additionally or alternatively, the system may determine a proximity of a weather sensor to the geographic area, compare the proximity to a threshold proximity, and in response to determining that the proximity is equal or below the threshold proximity, determine the weather forecast based on data from the weather sensor. If process 800 determines that there is a weather sensor in the geographic area, process 800 proceeds to step 810. If process 800 determines that there is not a weather sensor in the geographic area, process 800 proceeds to step 806.
[084] At step 806, process 800 determines whether or not an alternative weather source is available. For example, the system may request weather data from alternative sources such as user devices (e.g., a smartphone) in the geographic area and/or third party sources. If the system determines that an alternative weather source is available (e.g., the system may obtain information of current or future weather conditions by accessing data receive from a user device and/or a third party source), process 800 proceeds to step 810. If the system determines that an alternative weather source is not available, process 800 proceeds to step 808.
[085] At step 808, process 800 installs a weather sensor in the geographic area. For example, the system may install a weather sensor in a geographic area and/or on a display device. At step 810, process 800 receives the weather data for the weather forecast.
[086] It is contemplated that the steps or descriptions of FIGS. 6-8 may be used with any other embodiment of this disclosure. In addition, the steps and descriptions described in relation to FIGS. 6-8 may be done in alternative orders or in parallel to further the purposes of this disclosure. For example, each of these steps may be performed in any order or in parallel or substantially simultaneously to reduce lag or increase the speed of the system or method.
[087] Although the present invention has been described in detail for the purpose of illustration based on what is currently considered to be the most practical and preferred embodiments, it is to be understood that such detail is solely for that purpose and that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover modifications and equivalent arrangements that are within the scope of the appended claims. For example, it is to be understood that the present invention contemplates that, to the extent possible, one or more features of any embodiment can be combined with one or more features of any other embodiment. [088] The present techniques will be better understood with reference to the following enumerated embodiments:
1. A method for populating device-specific playlists in display devices, the method comprising: monitoring geographic areas visited by a user, wherein the user is assigned a user category; determining a geographic area visited by the user at a first time; assigning the user category to the geographic area based on the geographic area being visited by the user at the first time; receiving a request to populate a device-specific playlist in a display device at the geographic area at a second time; selecting a media asset to populate the device-specific playlist based on the media asset corresponding to the user category; and generating for display the media asset in the device-specific playlist at the first geographic area at the second time.
2. The method of embodiment 2, wherein the selection of the media asset is further based on: determining a weather forecast for the geographic area at the second time; and determining that the media asset corresponds to the weather forecast.
3. The method of any of embodiment 2, wherein determining that the media asset corresponds to the weather forecast further comprises: determining a weather reaction of users in the user category to the weather forecast; and determining that the media asset corresponds to the weather reaction.
4. The method of any of embodiments 3, wherein determining the weather reaction of users in the user category to the weather forecast comprises determining a product used by users in the user category during weather of a type in the weather forecast, and wherein determining that the media asset corresponds to the weather reaction comprises determining that the media asset features the product.
5. The method of any of embodiments 2-4, further comprising: determining a proximity of a weather sensor to the geographic area; comparing the proximity to a threshold proximity; and in response to determining that the proximity is equal or below the threshold proximity, determining the weather forecast based on data from the weather sensor.
6. The method of any of embodiments 1-5, wherein the request to populate the device specific playlist further indicates a first length of time available in the device-specific playlist, and wherein selecting the media asset to populate the device-specific playlist is further based on determining that a length of the media asset corresponds to the first length of time.
7. The method of embodiments 6, wherein the request is received at a second length of time before the second time, and wherein the second length of time is less than the first length of time.
8. The method of any of embodiments 2-9, further comprising identifying a weather sensor for providing the weather forecast for the geographic area at the second time in response to determining that the geographic area was visited by the user at the first time.
9. The method of any of embodiments 1-8, further comprising: inputting the user category into a database listing user categories associated with media assets; and receiving an output from the database indicating that the media asset corresponds to the user category.
10. The method of any of embodiments 1-9, wherein determining the user category of the user comprises: retrieving a user profile for the user; and determining the user is assigned the user category based on the user profile.
11. A tangible, non-transitory, machine-readable medium storing instructions that, when executed by a data processing apparatus, cause the data processing apparatus to perform operations comprising those of any of embodiments 1-10.
12. A system comprising: one or more processors; and memory storing instructions that, when executed by the processors, cause the processors to effectuate operations comprising those of any of embodiments 1-10.
13. A system comprising means for performing any of embodiments 1-10.

Claims

WHAT IS CLAIMED IS:
1. A system for populating device-specific playlists in display devices comprising: one or more processors; and memory storing instructions that, when executed by the processors, cause the processors to effectuate operations comprising: monitoring geographic areas visited by a user, wherein the user is assigned a user category; determining a geographic area visited by the user at a first time; assigning the user category to the geographic area based on the geographic area being visited by the user at the first time; receiving a request to populate a device-specific playlist in a display device at the geographic area at a second time, wherein the request to populate the device-specific playlist further indicates a first length of time available in the device-specific playlist; determining a weather forecast for the geographic area at the second time; selecting a media asset to populate the device-specific playlist based on the media asset corresponding to the user category, the first length of time, and the weather forecast; and generating for display the media asset in the device-specific playlist at the first geographic area at the second time.
2. The system of claim 1, wherein determining that the media asset corresponds to the weather forecast further comprises: determining a weather reaction of users in the user category to the weather forecast; and determining that the media asset corresponds to the weather reaction.
3. The system of claim 1, wherein the operations further comprise: determining a proximity of a weather sensor to the geographic area; comparing the proximity to a threshold proximity; and determining the weather forecast based on data from the weather sensor in response to determining that the proximity is equal or below the threshold proximity.
4. The system of claim 1, wherein the request is received at a second length of time before the second time, and wherein the second length of time is less than the first length of time.
5. A method for populating device-specific playlists in display devices, the method comprising: monitoring, using control circuitry, geographic areas visited by a user, wherein the user is assigned a user category; determining, using the control circuitry, a geographic area visited by the user at a first time; assigning, using the control circuitry, the user category to the geographic area based on the geographic area being visited by the user at the first time; receiving, using the control circuitry, a request to populate a device-specific playlist in a display device at the geographic area at a second time; selecting, using the control circuitry, a media asset to populate the device-specific playlist based on the media asset corresponding to the user category; and generating for display, using the control circuitry, the media asset in the device specific playlist at the first geographic area at the second time.
6. The method of claim 5, wherein the selection of the media asset is further based on: determining a weather forecast for the geographic area at the second time; and determining that the media asset corresponds to the weather forecast.
7. The method of claim 6, wherein determining that the media asset corresponds to the weather forecast further comprises: determining a weather reaction of users in the user category to the weather forecast; and determining that the media asset corresponds to the weather reaction.
8. The method of claim 7, wherein determining the weather reaction of users in the user category to the weather forecast comprises determining a product used by users in the user category during weather of a type in the weather forecast, and wherein determining that the media asset corresponds to the weather reaction comprises determining that the media asset features the product.
9. The method of claim 6, further comprising: determining a proximity of a weather sensor to the geographic area; comparing the proximity to a threshold proximity; and in response to determining that the proximity is equal or below the threshold proximity, determining the weather forecast based on data from the weather sensor.
10. The method of claim 5, wherein the request to populate the device-specific playlist further indicates a first length of time available in the device-specific playlist, and wherein selecting the media asset to populate the device-specific playlist is further based on determining that a length of the media asset corresponds to the first length of time.
11. The method of claim 10, wherein the request is received at a second length of time before the second time, and wherein the second length of time is less than the first length of time.
12. The method of claim 6, further comprising identifying a weather sensor for providing the weather forecast for the geographic area at the second time in response to determining that the geographic area was visited by the user at the first time.
13. The method of claim 5, further comprising: inputting the user category into a database listing user categories associated with media assets; and receiving an output from the database indicating that the media asset corresponds to the user category.
14. The method of claim 5, wherein determining the user category of the user comprises: retrieving a user profile for the user; and determining the user is assigned the user category based on the user profile.
15. A system for populating device-specific playlists in display devices, the system comprising: memory configured to store a user category assigned to a user; control circuitry configured to: monitor geographic areas visited by a user, wherein the user is assigned a user category; determine a geographic area visited by the user at a first time; assign the user category to the geographic area based on the geographic area being visited by the user at the first time; receive a request to populate a device-specific playlist in a display device at the geographic area at a second time; select a media asset to populate the device-specific playlist based on the media asset corresponding to the user category; and generate for display the media asset in the device-specific playlist at the first geographic area at the second time.
16. The system of claim 15, wherein the selection of the media asset is further based on the control circuitry: determining a weather forecast for the geographic area at the second time; and determining that the media asset corresponds to the weather forecast.
17. The system of claim 16, wherein the control circuitry configured to determine that the media asset corresponds to the weather forecast is further configured to: determine a weather reaction of users in the user category to the weather forecast; and determine that the media asset corresponds to the weather reaction.
18. The system of claim 17, wherein determining the weather reaction of users in the user category to the weather forecast comprises determining a product used by users in the user category during weather of a type in the weather forecast, and wherein determining that the media asset corresponds to the weather reaction comprises determining that the media asset features the product.
19. The system of claim 16, wherein the control circuitry is further configured to: determine a proximity of a weather sensor to the geographic area; compare the proximity to a threshold proximity; and determine the weather forecast based on data from the weather sensor in response to determining that the proximity is equal or below the threshold proximity.
20. The system of claim 15, wherein the request to populate the device-specific playlist further indicates a first length of time available in the device-specific playlist, and wherein the selection of the media asset is further based on the control circuitry determining that a length of the media asset corresponds to the first length of time.
21. The system of claim 20, wherein the request is received at a second length of time before the second time, and wherein the second length of time is less than the first length of time.
PCT/US2019/058816 2019-10-30 2019-10-30 Methods and systems for populating device-specific playlists in display devices WO2021086348A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2019/058816 WO2021086348A1 (en) 2019-10-30 2019-10-30 Methods and systems for populating device-specific playlists in display devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/058816 WO2021086348A1 (en) 2019-10-30 2019-10-30 Methods and systems for populating device-specific playlists in display devices

Publications (1)

Publication Number Publication Date
WO2021086348A1 true WO2021086348A1 (en) 2021-05-06

Family

ID=68766835

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2019/058816 WO2021086348A1 (en) 2019-10-30 2019-10-30 Methods and systems for populating device-specific playlists in display devices

Country Status (1)

Country Link
WO (1) WO2021086348A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018521A1 (en) * 2001-07-17 2003-01-23 International Business Machines Corporation Advertising based upon events reported from a GPS enabled event report system
US20030046158A1 (en) * 2001-09-04 2003-03-06 Kratky Jan Joseph Method and system for enhancing mobile advertisement targeting with virtual roadside billboards
US7069232B1 (en) * 1996-01-18 2006-06-27 Planalytics, Inc. System, method and computer program product for short-range weather adapted, business forecasting
US20070162328A1 (en) * 2004-01-20 2007-07-12 Nooly Technologies, Ltd. Lbs nowcasting sensitive advertising and promotion system and method
US20160148229A1 (en) * 2013-07-31 2016-05-26 Locator IP, L.P. Weather-based industry analysis system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069232B1 (en) * 1996-01-18 2006-06-27 Planalytics, Inc. System, method and computer program product for short-range weather adapted, business forecasting
US20030018521A1 (en) * 2001-07-17 2003-01-23 International Business Machines Corporation Advertising based upon events reported from a GPS enabled event report system
US20030046158A1 (en) * 2001-09-04 2003-03-06 Kratky Jan Joseph Method and system for enhancing mobile advertisement targeting with virtual roadside billboards
US20070162328A1 (en) * 2004-01-20 2007-07-12 Nooly Technologies, Ltd. Lbs nowcasting sensitive advertising and promotion system and method
US20160148229A1 (en) * 2013-07-31 2016-05-26 Locator IP, L.P. Weather-based industry analysis system

Similar Documents

Publication Publication Date Title
US11934186B2 (en) Augmented reality in a vehicle configured for changing an emotional state of a rider
US20210356284A1 (en) Intelligent transportation systems
CN113473187B (en) Cross-screen optimization of advertisement delivery
US11887483B2 (en) Using a predictive request model to optimize provider resources
CN105493057A (en) Content selection with precision controls
US11625796B1 (en) Intelligent prediction of an expected value of user conversion
US20140046727A1 (en) Method, device, and system for generating online social community profiles
WO2021086348A1 (en) Methods and systems for populating device-specific playlists in display devices
US20240126286A1 (en) Using social media data of a vehicle occupant to alter a route plan of the vehicle
US20230259770A1 (en) Apparatus and method for audio data management and playout monitoring
US20240126289A1 (en) Ai system to adjust state of rider based on changes to vehicle parameters
US20240126285A1 (en) Social data sources feeding a neural network to predict an emerging condition relevant to a transportation plan of at least one individual
US20240126255A1 (en) Hybrid neural network for determining at least one parameter of a charging plan for a vehicle

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: 19813687

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19813687

Country of ref document: EP

Kind code of ref document: A1