Networks of digital displays that render digital signage related to advertising, entertainment, educational, and/or other content items are installed across a wide range of physical spaces (e.g. a retailer network). Content items displayed on such digital displays can include images, videos, and interactive content that users can interact with in real time. The content may be associated with a plurality of different entities, such as advertisers, having different needs and/or goals for display of respective content items.
Embodiments of the present disclosure will now be described with reference to the accompanying figures, wherein like numerals refer to like elements throughout. The terminology used in the description presented herein is not intended to be interpreted in any limited or restrictive manner, simply because it is being utilized in conjunction with a detailed description of certain specific embodiments. Furthermore, embodiments described herein may include several novel features, no single one of which is solely responsible for its desirable attributes or which is essential to practicing the systems and methods herein described.
In one embodiment, an interactive display device management device (or simply “management device”) manages a plurality of digital display devices that are in communication with the display management system via one or more networks. In one embodiment, the display devices comprise various types and/or sizes of display devices. For example, a first display device may include a touch sensitive display screen while a second display device includes a projector that projects video images onto a surface and one or more cameras that detect movements of users with respect to the surface. Additionally, the display devices may be positioned in different geographical locations, such as at different retail establishments in different locals, cities, states, or countries.
The management device may receive content items from each of one or more content clients, such as advertising clients, advertising networks, or agents of an entity that provide digital content for rendering on one or more digital display devices, that the content client desires to have displayed on one or more display devices. Each content item includes video images, audio files, and/or software code configured for execution by a computing device, such as a processor of a display device, in order to generate video images, such as video images including virtual objects, with which a user may interact. Content items may include any number of video, audio, and/or image files that are selectively rendered by respective digital display devices according to software code that is also includes as part of the content item, such as in response to user interactions with virtual objects that are rendered by the digital display devices. The content items may be related to one or more of advertising, education, entertainment, and/or any other purpose for which a content client desires to display the content item.
In one embodiment, content items may include associated content display parameters that indicate parameters for display of the content item on each of one or more particular display devices, types of display devices, geographical locations, etc. Thus, the same content item may be rendered in different manners based on the size of the display device on which the content item is rendered, for example. The content item may also include interaction rules regarding how interactions between users near display devices and virtual objects displayed on the respective display devices affect operation of the display device. For example, interaction rules of a particular content item may indicate changes to the rendered content item in response to user interactions with respective portions of video images, such as virtual items, that are displayed on a display device as part of the content item.
In one embodiment, the interactive display management device manages content of digital display devices across multiple networks, including multiple heterogeneous display devices. In one embodiment, certain display devices are interactive, such as an interactive display device that includes one or more cameras and/or projectors. In one embodiment, the display management system may also selectively issue commands to respective display devices, such as in response to input received from one or more content clients associated with a particular display device and/or content item(s) rendered on the display device, and may distribute content items to the network of digital displays.
In one embodiment, the display management device receives interaction data from at least some of the display devices. Interaction data may include indications of interactions that users have had with virtual objects of the content item(s), possibly from multiple content providers. Interaction data from multiple display devices may be analyzed by the display management device and changes and/or updates to one or more display schedules (also referred to herein as “playlists”) for display devices may be based at least partly on the interaction data.
The interaction data from each of the interactive display devices 140 may be intermittently transmitted to the interactive display management device 120, which may analyze the interaction data and update the content items, playlists, and/or commands for one or more of the interactive display devices 140. For example, if the interaction data from display device 140A indicates that a particular content item was repeatedly interacted with in a certain manner, the interactive display management device 120 may be configured to adjust the playlist of interactive display device 140B and/or interactive display device 140C to cause those interactive display devices to display the particular content item less or more frequently. Depending on the embodiment, the network 160 may include one or more of any suitable communication network, such as one or more LAN, WAN, and/or the Internet, for example. The devices 120, 140, and other devices described herein, may communicate via the network 160 using one or more wired and/or wireless communication mediums.
In one embodiment, the one or more content clients also communicate with the interactive display management device 120 via the network 160. The content clients may transmit content items, scheduling rules, commands, and/or any other data that might be used in controlling or monitoring display of video data and/or interactions with displayed video data on one or more interactive display devices 140. For example, a content client may upload content items to the management device 120 (or otherwise make the content items available), such as a software application that presents interactive advertising content that is responsive to interactions with rendered virtual objects. In one embodiment, the content clients may access information regarding their respective content items, playlists including those content items (possibly including indications of other content items associated with other content clients), and/or interactions with content items, and/or provide further content items to the management device 120 via one or more Internet-accessible interfaces, such as interfaces that are renderable in one or more browser, for example. Depending on the embodiment, content clients may communicate with the management device 120 via one or more standalone software applications that are executed on computing devices of the content client, and/or by transmitting data to the management device 120 via any other electronic communication medium and protocol, such as file transfer protocol (FTP), Hypertext Transfer Protocol (HTTP), email, or short messaging service (SMS), for example.
In the embodiment of
In operation, the interactive display management device 120 transmits updated content items, playlists, and/or commands to each of the interactive display devices 140, as necessary. For example, in the embodiment of
In one embodiment, the content client device 170 provides scheduling rules to the management device 120 that are used by the management device 120 to determine where, when, and how content items are displayed. For example, the content client 120 may indicate scheduling rules for a particular content item, or multiple content items, that includes rules related to dayparting (e.g., the time of day when the content items should or must be displayed), location information that indicates general and/or specific geographic locations (e.g., one or more ZIP code areas), a particular type of location where the content item should or must be displayed (e.g., a mall, a department store, a university, etc.), limitations on adjacent content (e.g., content before and/or after a particular content item), such as an indication that content items within one or more classes or associated with one or more specific content clients may not be displayed within a specific time before or after the content item, a particular class and/or particular display device(s) on which the content may or may not be displayed, and/or rules that define weather, current events, and/or demographics of areas around display devices that must match corresponding predefined thresholds before the content item(s) are transmitted to the corresponding display device.
The data 145, 155 that is downloaded to and uploaded by display devices 140 may be transferred over the network 160 in an incremental manner, such that the amount of data that needs to be transferred is reduced and network bandwidth may be reduced. For example, the management device 120 and a particular display device 140 may initially compare directory trees, file timestamps, and/or file hashes, for example, associated with data (e.g., content items or playlists for the particular display device) that is to be common on both devices, in order to determine the specific differences between the data stored on the two device, and only transmit the files and/or portions of files, that have been updated or added since the last incremental update.
The interactive display devices 140A, 140B, which may comprise different types of display devices, are each configured to detect interactions with users. A user may include a visitor, customer, or student, for example, that interacts with a display device 140. Thus, if the display device 140A is positioned in a shopping center, users may include customers that are shopping in the shopping center. In one embodiment, the interactive display devices 140 transmits certain or all of the interaction data representing interactions between displayed content items, or more specifically between virtual objects displayed as part of the content items, and one or more users. The interaction data may include data indicating counts of each of certain interactions and/or types of interactions, how users interact with respective virtual object, how long users interact with various virtual objects, etc. In the embodiment of
The interactive management device 120 is advantageously configured to receive interaction data from each display device 140, to analyze the interaction data, such as with reference to scheduling rules from respective content client devices 170, and to determine adjustments to playlists, including the particular content items and/or content display parameters associated with the content items, for display devices 140. In one embodiment, the management device 120 receives and/or compiles interaction data associated with content items from a particular content client device 170 from multiple display devices 140. Thus, the management device 120 may make playlist adjustments to display devices not just based on the interaction data from a single display device, but based on interaction data from multiple display devices 140. As illustrated in
In one embodiment, the management device 120 generates and provides the content client device 170 with access to interaction reports that include data regarding interactions with the content items of the content client 170, and possibly other reports associated with the content items of the content client 170 (and possibly of other content clients). In one embodiment, an interaction report indicates the interactions with a particular content item and compares those interactions with interactions with other content items, such as other content items of the content client 170 and/or content items of other content clients 170. For example, an interaction report may indicate interactions with a particular content item of a content client 170, as well as a comparison of the interactions with other content items rendered by the particular display devices 140 and/or other display devices. Thus, an interaction report may include data that allows the content client 170 to determine how interactive a particular content item is in relation to other content items and, accordingly, may be useful in determining which content items should be displayed less, additionally, and/or that may benefit from updating.
In one embodiment, the interactive display management device 120 comprises, for example, one or more servers or personal computers that are IBM, Macintosh, or Linux/Unix compatible. In another embodiment, the interactive display management device 120 comprises a laptop computer, smart phone, personal digital assistant, or other computing device. In one embodiment, the interactive display management device 120 includes one or more central processing units (“CPU”) 205, which may include conventional or specific-purpose microprocessors. In one embodiment, the interactive display management device 120 includes one or more memories 230, such as random access memory (“RAM”) for temporary storage of information, a read only memory (“ROM”) for permanent storage of information (not shown), and one or more mass storage devices 220 (including mass storage devices 220A and 220B of illustrative
The interactive display management device 120 is generally controlled and coordinated by operating system software, such as Windows 95, 98, NT, 2000, XP, Vista, 7; SunOS; Solaris; Blackberry OS, or other compatible operating systems. In Macintosh systems, the operating system may be any available operating system, such as MAC OS X. In other embodiments, the interactive display management device 120 may be controlled by any other suitable operating system, such as a proprietary operating system. Conventional operating systems control and schedule computer processes for execution, perform memory management, provide file systems, networking, and I/O services, and/or provide a user interface, such as a graphical user interface (“GUI”), among other functions.
The illustrative interactive display management device 120 may include one or more commonly available input/output (I/O) interfaces and devices 210, such as a keyboard, mouse, touchpad, and printer. In one embodiment, the I/O interfaces and devices 210 include interfaces to one or more display devices, such as a monitor, that allow the visual presentation of data to a user. More particularly, a display device provides for the presentation of content items, such as video images including, GUIs, menus, icons, animations, application software data, and multimedia presentations, for example. In one embodiment, the I/O interfaces and devices 210 comprise devices that are in communication with modules of the interactive display management device 120 via a network, such as the network 160 or any local area network, including secured local area networks, or any combination thereof. The interactive display management device 120 may also include one or more multimedia devices 240, such as speakers, video cards, graphics accelerators, and microphones, for example.
In the embodiment of
The application modules of the illustrative interactive display management device 120 include a client interface module 250 and a display device interface module 255. In general, the client interface module 250 is configured to interface with one or more content client devices 170 (
The management device 120 also includes a display device interface module 255 that is configured to interface with each of a plurality of interactive display devices 140 (
Additionally, the display device interface module 255 receives interaction data from the respective display devices 140. As discussed above, interaction data may include various types and formats of data regarding interactions with particular content items and/or groups of content items, and comparisons of interaction data associated with certain content items. In the embodiment of
The illustrative interactive display device 300 includes one or more central processing units 305 and one or more memories 330, such as random access memories and/or read only memories, one or more I/O interfaces and devices 310, and one or more mass storage devices, such as the device data store 320. The central processing unit 305, memory 330, and I/O interfaces and devices 310 may include any suitable devices, such as those described above with respect to
In general, the content player 350 is configured to generate a video output comprising video images for display by the display device 300. For example, in one embodiment the content player 350 generates video output at a predetermined or adjustable frame rate (e.g., 20, 30, 40, 50, or 60 frames per second) that is transmitted to a projection device, such as a digital movie projector, for projection onto a display surface, such as a display screen, floor, wall, or other surface. The video output may be customized depending on the specifications of the particular display device. For example, video output for a projector may be formatted differently (e.g., a different frame rate and/or resolution) then a video output of the same content item for a touchscreen display. Thus, in one embodiment the content player 350 of the display device 300 is configured to render video output for display on the particular display hardware of the display device 300. In one embodiment, the content player initiates execution of content items in the form of software code via the CPU 305 and generates corresponding video images for display by the display device 300. The content player 350 may also be configured to render video and/or audio files in various formats, such as AVI, MPEG, VCD, DVD, WMV, ASF, MP4, 3GP, DivX, XviD, DAT, RM, RMVB, MOV, QT, M4V, FLV, MKV.
The activity monitor 355 is generally configured to detect interactions of users with the interactive display device 300, such as based on one or more inputs from other multimedia devices and/or I/O interfaces and devices 310. For example, if the display device 300 comprises a touch sensitive display screen, the activity monitor 355 may detect interactions of the user with certain virtual objects then displayed on the touch sensitive display screen in response to information received from the touch sensitive display screen, such as screen location(s), duration, pressure, and/or repetition, etc. associated with the user's interaction. Similarly, if display device 300 comprises a camera that records images of at least a portion of a user interacting with a screen onto which video images are being projected, such as by a projector, the activity monitor 355 may be configured to analyze the recorded images from the camera and determine when an interaction with a virtual object of the video images has occurred. In one embodiment, the activity monitor 355 may determine gestures performed by the user based on a series of interactions with a display screen, for example, such as a user moving a finger in a predefined pattern across a touch sensitive display screen or moving a hand (or other body part) in a certain pattern in front of a camera that records images of the user.
In one embodiment, the activity monitor 355 records logs that include data indicating the starting and ending time and identification for content items that were rendered on the display device, frame rate, memory usage, and/or application errors and warnings, for example. The logs may include system metrics, such as available disk space in memory, frame rates, display status, display problems such as overheating or component failure, raw and analyzed images from webcams or vision systems, application status, and/or display errors. The activity monitor 355 may use such logs and interaction data to generate alerts and reports. The alerts and reports may be custom defined, for example the custom definition may be defined by code entered into a web interface using languages such as SQL, or by entering a specific item of monitoring data and an associated threshold for alerting.
The scheduler 360 is generally configured to receive a playlists and/or updates to playlists from the management device 120, maintains the appropriate content data on a device data store 320, and initiate rendering of respective display items at the appropriate times (e.g., the time indicated in the playlist) or in response to a particular condition (a certain interaction with a first content item may trigger rendering of a second content item by a display device). In one embodiment, the scheduler 360 may be configured to update the playlist based on one or more user interactions with the display device 300, commands from the management device 120, and/or based on scheduling rules from a content client 170. Thus, in one embodiment the display device 300 is configured to update a playlist for the display device 300 according to scheduling rules established by one or more content clients, for example, rules based on interaction data of the interactive display device 300. The scheduler 360 may also be configured to upload content items to one or more other devices, such as other display devices 140, and/or perform quality assurance testing on content items.
The device data store 320 is configured to store content items and/or location information of content items, content display parameters associated with respective content items, scheduling rules for particular content items, and/or interaction data associated with respective content items.
In one embodiment, the live images from the video camera 420 are processed in substantially real-time in order to separate mobile objects (e.g. people) from the static background, regardless of what the background is. The processing can be done as follows: first, input frames from the video camera may be converted to grayscale to reduce the amount of data and to simplify the detection process. Next, the converted input frames may be blurred slightly to reduce noise. In one embodiment, any object that does not move over a long period of time is presumed to be background; therefore, the system is able to eventually adapt to changing lighting or background conditions. In one embodiment, a model image of the background can be generated by numerous methods that examine the input frames over a range of time, for example. In one method, the last several input frames (or a subset thereof) are examined to generate a model of the background, either through averaging, generating the median, detecting periods of constant brightness, or other heuristics, for example. The length of time over which the input frames are examined determines the rate at which the model of the background adapts to changes in the input image.
An object of interest, e.g., a portion of a user's body, is presumed to differ in brightness from the background. In order to find objects, the current video input may be subtracted from the model image of the background. In this embodiment, if the absolute value of this difference at a particular location is larger than a particular threshold, then that location is classified as an object; otherwise, it is classified as background.
In one embodiment, a computing system associated with the camera accesses the object/background classification of an image (possibly in addition to other data) as input, and outputs a video image based on this input, possibly in real time. Software that performs this functionality can take on an infinite number of forms, and is thus as broadly defined as a computer application. For example, this component could be as simple as producing a spotlight in the shape of the detected objects, or as complicated as a paint program controlled through gestures made by people who are detected as objects. In addition, applications could use other forms of input, such as sound, temperature, keyboard input etc. as well as additional forms of output, such as audio, tactile, virtual reality, aromatic, etc.
In one embodiment, objects detected by the camera and/or associated computing device are able to interact with virtual objects of the video images displayed on the display screen 423. For example, an interactive content item showing a group of ducklings could be programmed to follow behind any real object (e.g. a person) that walks in front of the display. As another example, computer games that can be played by people moving in front of the camera form another class of interactive content items.
Beginning in block 510, the interactive display management device 120 intermittently transmits content items, playlists, and/or commands to each of the interactive display devices. As described above, the content items for display on display devices may be transmitted for storage at the interactive display device 140 or may be stored elsewhere that is accessible to the display devices 140, such as in response to a display device providing authentication information to the storage device. The playlist may include a list of content items to be rendered by a particular display device, as well as one or more display parameters for each of the content items and/or for multiple content items. The data transmitted to the display devices 140 may include scheduling rules, such as portions or all of the scheduling rules that are received from one or more content clients, that indicate criteria for adjusting a playlist of a respective display device 140, such as in response to certain interaction data at a particular display device.
Next, in block 520, interaction data is received from multiple interactive display devices 140. Interaction data generally indicates interactions between a user and one or more video images and/or specific virtual objects rendered in the video images. Interaction data may be in various formats, such as in a log format that indicates each interaction between a user and an interactive display device, along with a time of each interaction and possibly other information regarding each interaction, or in one or more summary formats that indicate different combinations of the interaction data, such as a total number of a particular interaction during a predetermined time period. In other embodiments, the interaction data may include any other information related to interactions with the content items rendered on a display device and/or content items displayed on other display devices.
Moving to block 530, based on the received interaction data, and possibly on other data such as the scheduling rules from one or more content clients 170, the interactive display management device 120 determines if updates to the content items, playlists, and/or commands should be made for any of the one or more display devices 140 in the interactive display network.
Beginning in block 610, the interactive display management device 120 receives interaction data from one or more interactive display devices 140, such as is described above with reference to block 520 of
Next, in block 630 scheduling rules of one or more content clients are applied to at least the interaction data. For example, substantially real-time interaction data may be received by the interactive display management device 120 and may be provided to one or more content client device 170 in a substantially real-time manner, such as via one or more Internet-accessible user interfaces, for example. In this embodiment, scheduling rules for a particular content client and/or particular content item may be applied to the real-time interaction data associated with the content item in order to determine if the scheduling rules are currently satisfied. For example, a particular content item may require a predetermined minimum quantity of interactions with the content item, and/or with particular virtual objects of the content item, in order to continue rendering of the content item (in some embodiments, the content client pays for rendering of the content item based on the amount of time the content item is displayed on one or more display devices and, thus, may not want to pay for continued rendering of the content item if the content item is not being sufficiently interacted with by users). Thus, if the particular content item has not met the predetermined minimum user interaction threshold, the application of the rules on the interaction data would indicate that the minimum threshold has not been met.
Similarly, scheduling rules of multiple content clients may be applied to the interaction data, such as scheduling rules of each content client for which content items are scheduled over a predetermined future time. As noted above, scheduling rules may include limitations on adjacent content items, such that the scheduling rules of content items that are scheduled for rendering in the future may be relevant to the current content item on the playlist. For example, if a current content item triggers a scheduling rule for a later scheduled content item, e.g., the current content item is being rendered too close in time to the later scheduled content item, the interactive display management device 120 detects triggering of the scheduling rule. Additionally, scheduling rules may consider interaction data from multiple display devices 140, such as interaction data associated with multiple content items associated with a particular content client that are rendered on multiple display devices 140. For example, a particular content item of a content client may be rendered on display devices 140 in multiple states, countries, types of locations, etc., and the interactive display management device 120 may compile the interaction data for all of the display devices 140 on which the particular content item has been rendered and/or is scheduled to be rendered, possibly within a predetermined time. Thus, the scheduling rules of the content client may also include minimum and/or maximum rendering time quantities for a particular content item or group of content items, across multiple display devices 140, locations, location types, and/or any other criteria.
Moving to block 640, the interactive display management device 120 determines if updates to playlists of one or more display devices 140 is indicated by the application of scheduling rules. If updates to playlists are indicated, the method continues to block 650 where the interactive management device 120 determines playlist adjustments and selectively transmits updated playlists, and/or portions of playlists, to respective display devices 140.
Beginning in block 710, the display device 140 intermittently receives content items, playlist updates, and/or command data from the interactive display management device 120. In one embodiment, content items are transmitted on a regular schedule, such as nightly at a particular time when bandwidth for transfer of large content items is more easily accessible. Similarly, playlists may be transmitted on a predetermined schedule, such as once every hour, six hours, or days, for example. In some embodiments, content items, playlists (or playlist updates), and/or command data may be transmitted on an as needed basis or upon request from the display device 140. For example, if the interactive display management device 120 determines that a playlist update is needed, such as in response to application of one or more scheduling rules on real-time interaction data from one or more display devices 140, updated playlist information may be received by the interactive display device 140 outside of a normal schedule (or there may not be a normal schedule such that playlist updates are only transmitted when updated).
In block 720, the display device executes commands indicated in the received command data, if any. Commands may be entered by a content client and/or administrator, in order to cause a particular display device and/or one or more display devices that execute a particular content item or content items, to perform an associated function. For example, a content client may issue a command indicating that all renderings of a particular content item are to be stopped as soon as possible and a replacement content item of the client is to be rendered in its stead. Similarly, an administrator may issue a command to slow the frame rate of a particular content item on a particular display device in response to receiving log data from the display device that indicates the display device is overheating. In some embodiments, commands are not transmitted to the display device, such that block 720 is not performed by the display device.
Next, in block 730, the display device initiates display of one or more content items according to the received playlist. If updated playlist information was received, such as in block 710, content items selected for rendering on the display device are selected based on the updated playlist. In one embodiment, the display device may adjust the playlist based on application of scheduling rules by the interactive display device 140, hardware considerations associated with the interactive display device 140, and/or any other relevant factors.
Continuing to block 740, the display device 140 detects interactions with video images and/or portions of video images, such as virtual objects that are displayed as part of video images. As noted above, detection of such interactions may be accomplished in various manners such as by analyzing images of a user near a display screen upon which the video images are projected.
Next, in block 750, the display device intermittently transmits incremental interaction data to the management device 750. Depending on the embodiment, the transmission of the interaction data may occur on a periodic schedule, may be transmitted in response to a request for interaction data from the interactive display management device 120 and/or the content client device 170, and/or may be transmitted in response to detection of certain types, quantities, and/or patterns of interactions in the interaction data. For example, a particular interactive display device 140 may be configured to transmit interaction data on a regular basis, unless a particular interaction is detected by the display device. Thus, real-time indications of the particular interaction may be transmitted to the interactive display management device 120, which may adjust not only a playlist for the particular display device 140 but possibly for other display devices 140 in the interactive display network, based at least partly on the detected interaction.
The foregoing description details certain embodiments of the present disclosure. It will be appreciated, however, that no matter how detailed the foregoing appears in text, the present disclosure can be practiced in many ways. As is also stated above, it should be noted that the use of particular terminology when describing certain features or aspects of systems or methods should not be taken to imply that the terminology is being re-defined herein to be restricted to including any specific characteristics of the features or aspects with which that terminology is associated. The scope of this disclosure should therefore be construed in accordance with the appended claims and any equivalents thereof.
This application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Application Ser. No. 61/061,105, filed on Jun. 12, 2008, which is hereby expressly incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61061105 | Jun 2008 | US |