In one aspect, disclosed is an example method for use in connection with a media-presentation device having an associated presentation area, the method including: (i) obtaining presentation area data associated with the presentation area; (ii) determining that the obtained presentation area data satisfies each and every condition of a condition set; (iii) responsive to at least determining that the obtained presentation area data satisfies each and every condition of the condition set, identifying an upcoming media segment insertion point within a media program; and (iv) facilitating the media-presentation device outputting for presentation a media segment starting at the identified media segment insertion point within the media program.

Patent
   11949965
Priority
Jun 23 2023
Filed
Jun 23 2023
Issued
Apr 02 2024
Expiry
Jun 23 2043
Assg.orig
Entity
Large
0
16
currently ok
1. A method for use in connection with a media-presentation device having an associated presentation area, the method comprising:
obtaining presentation area data associated with the presentation area, wherein the presentation area data indicates an extent of background noise in the presentation area;
determining that the obtained presentation area data satisfies each and every condition of a condition set;
responsive to at least determining that the obtained presentation area data satisfies each and every condition of the condition set, identifying an upcoming media segment insertion point within a media program; and
facilitating the media-presentation device outputting for presentation a media segment starting at the identified media segment insertion point within the media program, wherein facilitating the media-presentation device outputting for presentation the media segment starting at the identified media segment insertion point within the media program comprises:
using the obtained presentation area data that indicates an extent of background noise in the presentation area as a basis to select a media segment from among a group of selectable media segments; and
inserting the selected media segment into the media program.
18. A non-transitory computer-readable storage medium having stored thereon program instructions that upon execution by a processor, cause a computing system to perform a set of acts for use in connection with a media-presentation device having an associated presentation area, the set of acts comprising:
obtaining presentation area data associated with the presentation area, wherein the presentation area data indicates an extent of background noise in the presentation area;
determining that the obtained presentation area data satisfies each and every condition of a condition set;
responsive to at least determining that the obtained presentation area data satisfies each and every condition of the condition set, identifying an upcoming media segment insertion point within a media program; and
facilitating the media-presentation device outputting for presentation a media segment starting at the identified media segment insertion point within the media program, wherein facilitating the media-presentation device outputting for presentation the media segment starting at the identified media segment insertion point within the media program comprises:
using the obtained presentation area data that indicates an extent of background noise in the presentation area as a basis to select a media segment from among a group of selectable media segments; and
inserting the selected media segment into the media program.
17. A computing system comprising a processor and a non-transitory computer-readable storage medium having stored thereon program instructions that upon execution by the processor, cause the computing system to perform a set of acts for use in connection with a media-presentation device having an associated presentation area, the set of acts comprising:
obtaining presentation area data associated with the presentation area, wherein the presentation area data indicates an extent of background noise in the presentation area;
determining that the obtained presentation area data satisfies each and every condition of a condition set;
responsive to at least determining that the obtained presentation area data satisfies each and every condition of the condition set, identifying an upcoming media segment insertion point within a media program; and
facilitating the media-presentation device outputting for presentation a media segment starting at the identified media segment insertion point within the media program, wherein facilitating the media-presentation device outputting for presentation the media segment starting at the identified media segment insertion point within the media program comprises:
using the obtained presentation area data that indicates an extent of background noise in the presentation area as a basis to select a media segment from among a group of selectable media segments; and
inserting the selected media segment into the media program.
2. The method of claim 1, wherein the obtained presentation area data includes or is based on (i) visual data captured by a camera oriented towards at least a portion of the presentation area, (ii) audio data captured by a microphone in or near the presentation area, (iii) motion data detected by a motion sensor oriented towards at least a portion of the presentation area, (iv) physiological data detected by a wearable device worn by a person in the presentation area, or (v) sensor data captured by a sensor in or near the presentation area.
3. The method of claim 1, wherein the presentation area data includes audience data associated with a person in the presentation area, and wherein the audience data includes (i) a people count indicating a number of people in the presentation area, or (ii) a user profile identifier associated with a person in the presentation area.
4. The method of claim 1, wherein the presentation area data includes audience engagement data indicating an extent of engagement of one or more people in the presentation area, with respect to media presented by the media-presentation device.
5. The method of claim 4, wherein the audience engagement data indicates an extent to which a body, face, and/or eye gaze of a person in the presentation area is oriented and/or directed towards media presented by the media-presentation device.
6. The method of claim 4, wherein the audience engagement data indicates an extent to which a person in the presentation area is using a device other than the media-presentation device.
7. The method of claim 4, wherein the audience engagement data indicates an extent to which a person in the presentation area is eating and/or drinking.
8. The method of claim 4, wherein the audience engagement data indicates an extent to which a person in the presentation area is speaking.
9. The method of claim 8, wherein determining that the obtained presentation area data satisfies each and every condition of the condition set comprises:
determining an extent to which the person is speaking about media being presented by the media-presentation device.
10. The method of claim 4, wherein the audience engagement data indicates a physiological state of a person in the presentation area.
11. The method of claim 4, wherein the audience engagement data indicates an extent of lighting in the presentation area.
12. The method of claim 1, wherein the condition set include a condition that the obtained presentation area data has a predefined characteristic relative to reference presentation area data.
13. The method of claim 1, wherein identifying an upcoming media segment insertion point within the media program comprises:
identifying an upcoming predefined advertisement segment insertion point within the media program.
14. The method of claim 1, wherein identifying an upcoming media segment insertion point within the media program comprises:
identifying an upcoming scene-change transition point within the media program, wherein the scene-change transition point is not a predefined advertisement segment insertion point within the media program.
15. The method of claim 13, wherein identifying an upcoming media segment insertion point within the media program comprises:
identifying a next upcoming scene-change transition point within the media program, wherein the scene-change transition point is not a predefined advertisement segment insertion point within the media program.
16. The method of claim 1, wherein facilitating the media-presentation device outputting for presentation the media segment starting at the identified media segment insertion point within the media program comprises:
providing the obtained presentation area data to a media segment bidding system and responsively receiving an indication of a selected media segment provided by a media provider, wherein the media segment was selected by the media segment bidding system based on a corresponding successful bid from the media provider.

In this disclosure, unless otherwise specified and/or unless the particular context clearly dictates otherwise, the terms “a” or “an” mean at least one, and the term “the” means the at least one.

In one aspect, an example method is disclosed. The method is for use in connection with a media-presentation device having an associated presentation area. The method includes: (i) obtaining presentation area data associated with the presentation area; (ii) determining that the obtained presentation area data satisfies each and every condition of a condition set; (iii) responsive to at least determining that the obtained presentation area data satisfies each and every condition of the condition set, identifying an upcoming media segment insertion point within a media program; and (iv) facilitating the media-presentation device outputting for presentation a media segment starting at the identified media segment insertion point within the media program.

In another aspect, an example computing system is disclosed. The computing system includes a processor and a non-transitory computer-readable storage medium having stored thereon program instructions that upon execution by the processor, cause the computing system to perform a set of acts for use in connection with a media-presentation device having an associated presentation area. The set of acts includes: (i) obtaining presentation area data associated with the presentation area; (ii) determining that the obtained presentation area data satisfies each and every condition of a condition set; (iii) responsive to at least determining that the obtained presentation area data satisfies each and every condition of the condition set, identifying an upcoming media segment insertion point within a media program; and (iv) facilitating the media-presentation device outputting for presentation a media segment starting at the identified media segment insertion point within the media program.

In another aspect, an example non-transitory computer-readable medium is disclosed. The computer-readable medium has stored thereon program instructions that upon execution by a processor, cause a computing system to perform a set of acts for use in connection with a media-presentation device having an associated presentation area. The set of acts includes: (i) obtaining presentation area data associated with the presentation area; (ii) determining that the obtained presentation area data satisfies each and every condition of a condition set; (iii) responsive to at least determining that the obtained presentation area data satisfies each and every condition of the condition set, identifying an upcoming media segment insertion point within a media program; and (iv) facilitating the media-presentation device outputting for presentation a media segment starting at the identified media segment insertion point within the media program.

FIG. 1 is a simplified block diagram of an example media system in which various described principles can be implemented.

FIG. 2 is a simplified block diagram of an example media-presentation system in which various described principles can be implemented.

FIG. 3 is a perspective view of an example media-presentation system in which various described principles can be implemented.

FIG. 4 is a simplified block diagram of an example computing system in which various described principles can be implemented.

FIG. 5 is a flow chart of an example method.

FIG. 6 is a flow chart of another example method.

In the context of a media system, a media manager can obtain media (e.g., a movie or television show) from a media database and can transmit the obtained media to a media-distribution system, which in turn can transmit the media to a media-presentation device (e.g., a television), such that the media-presentation device can output the media for presentation to an audience. In some cases, before the media gets transmitted to the media-presentation device, the media manager can insert an advertisement into the media, such that that advertisement can be transmitted to the media-presentation device and presented to the audience as well.

In this context, advertisers generally seek to maximize the effectives of such media-based advertisements. But for a variety of reasons, such as there being many different types of audience situations that might need to be accounted for, advertisers often fall short of this goal. Indeed, advertisers often end up spending significant money and resources on advertisements that do not provide a sufficient return on their investment. The disclosed techniques provide technological solutions help provide improvements in this area.

According to the present disclosure, in one aspect, a media system can obtain presentation area data associated with a presentation area of a media-presentation system, and can use the obtained presentation area data for various purposes. For example, based on the obtained presentation area data having certain characteristics (i.e., indicating the existence of a particular audience-related situation), the media system can responsively perform one or more actions to facilitate inserting a media segment into a media program, such as by responsively selecting a media segment to insert and/or by responsively identifying an insertion point for the media segment to be inserted into.

The obtained presentation data can include data obtained directly from a camera, sensor, or another device, or the obtained presentation data can be data derived from that data. There can be various types of presentation area data associated with the presentation area. For example, presentation area data can include audience data associated with one or more people in the presentation area. For instance, the audience data can include a people count indicating a number of people in the presentation area, or can include one or more user profile identifiers each associated with a respective person in the presentation area. As another example, presentation area data can include audience engagement data, which can indicate an extent of engagement of one or more people in the presentation area, with respect to media presented by the media-presentation device. There can also be various types of audience engagement data. For example, the audience engagement data could indicate an extent to which the body, face, and/or eye gaze of a person is oriented and/or directed towards the media-presentation device, an extent to which a person is moving, an extent to which a person is using a device other than the media-presentation device, an extent to which a person is eating or drinking, and/or an extent to which a person is engaging in interpersonal activity (e.g., talking to another person or hugging another person), among numerous other possibilities, each of which may relate to the extent of the person's engagement, which hence which might impact the decision about when and whether to insert an advertisement, or perhaps how much to spend on such an advertisement.

After the media system obtained area presentation data, the media system can determine that the obtained presentation area data satisfies each and every condition of a condition set and can responsively identify an upcoming media segment insertion point within a media program. The media system can then facilitate the media-presentation device outputting for presentation a media segment starting at the identified media segment insertion point within the media program. As part of this, the media system can use the obtained presentation area data to select the advertisement or other media segment.

Among other benefits, this can enable advertisers or other media providers to specify the particular audience-situation in which they want to have an advertisement inserted into the media program. Thus, for example, consider a first example condition set that includes a first condition that there are two people in the presentation area, a second condition that one person is an adult women, a third condition that one person is a child, a fourth condition that the woman and the child are speaking to each other, and a fifth condition that both people have been generally stationary for at least thirty minutes. In this situation, responsive to the media system determining that these conditions are satisfied, the media system could select and then insert an appropriately targeted advertisement for that audience in that specific situation.

In some cases, this advertisement selection process can involve providing the obtained presentation area data to a media segment bidding system, in which advertisers or others could bid on purchasing advertisement or media segment insertion rights in various audience situations. For example, a given advertiser could submit a bid to insert an advertisement specifically in the situation where the conditions of a given condition set are met (so as to reach a given type of audience). In practice, this could be done on a larger scale where many advertisers could interface with the system to submit bids in connection with many different types of audience situations. These and related examples and operations will now be described in greater detail. These and related operations and features will now be described in greater detail.

FIG. 1 is a simplified block diagram of an example media system 100. Generally, the media system 100 can perform operations related to media. Media can include a video component and/or an audio component. For context, there can be various examples of media. For instance, media can be or include a media program such as a movie or a television show, an advertisement, or a portion or combination thereof, among numerous other possibilities.

In some instances, media can be made up one or more segments. For example, in the case where the media is a media program, the media program can be made up of multiple segments, each representing a scene of the media program. In various other examples, a segment can be a smaller or larger portion of the media. In some cases, a media program can include one or more advertisements embedded therein. In such cases, each advertisement may be considered its own segment, perhaps among other segments of the media program.

Media can be represented by media data, which can be generated, stored, and/or organized in various ways and according to various formats and/or protocols, using any related techniques now know or later discovered. For example, the media can be generated by using a camera, a microphone, and/or other equipment to capture or record a live-action event. In other examples, the media can be synthetically generated (e.g., an advertisement could be generated/adjusted to include the same number of people with roughly the same age as those who are in a viewing area ready to view the advertisement), such as by using any related media generation techniques now know or later discovered.

As noted above, media data can also be stored and/or organized in various ways. For example, the media data can be stored and organized as a Multimedia Database Management System (MDMS) and/or in various digital file formats, such as the MPEG-4 format, among numerous other possibilities.

The media data can represent the media by specifying various properties of the media, such as video properties (e.g., luminance, brightness, and/or chrominance values), audio properties, and/or derivatives thereof. In some instances, the media data can be used to generate the represented media. But in other instances, the media data can be a fingerprint or signature of the media, which represents the media and/or certain characteristics of the media and which can be used for various purposes (e.g., to identify the media or characteristics thereof), but which is not sufficient at least on its own to generate the represented media.

In some instances, media can include metadata associated with the video and/or audio component. In the case where the media includes video and audio, the audio may generally be intended to be presented in sync together with the video. To help facilitate this, the media data can include metadata that associates portions of the video with corresponding portions of the audio. For example, the metadata can associate a given frame or frames of video with a corresponding portion of audio. In some cases, audio can be organized into one or more different channels or tracks, each of which can be selectively turned on or off, or otherwise controlled.

Returning back to the media system 100, this can include various components, such as a media manager 102, a media database 104, a media-distribution system 106, and/or a media-presentation system 108. The media system 100 can also include one or more connection mechanisms that connect various components within the media system 100. For example, the media system 100 can include the connection mechanisms represented by lines connecting components of the media system 100, as shown in FIG. 1.

In this disclosure, the term “connection mechanism” means a mechanism that connects and facilitates communication between two or more devices, systems, other entities, and/or components thereof. A connection mechanism can be or include a relatively simple mechanism, such as a cable or system bus, and/or a relatively complex mechanism, such as a packet-based communication network (e.g., the Internet). In some instances, a connection mechanism can be or include a non-tangible medium, such as in the case where the connection is at least partially wireless. In this disclosure, a connection can be a direct connection or an indirect connection, the latter being a connection that passes through and/or traverses one or more entities, such as a router, switcher, or other network device. Likewise, in this disclosure, a communication (e.g., a transmission or receipt of data) can be a direct or indirect communication.

FIG. 2 is a simplified block diagram of an example media-presentation system 108. The media-presentation system 108 can include various components, such as a media-presentation device 202 and/or a presentation-area data system 204.

The media-presentation device 202 can take various forms. For example, the media-presentation device 202 can take the form of a television, a sound speaker, a streaming media player, and/or a set-top box, among numerous other possibilities. In practice, one or more of these can be integrated with another. For instance, in one example, a media-presentation device 202 can take the form of a television with an integrated sound speaker component and an integrated streaming media player component.

The media-presentation system 108 can also include one or more connection mechanisms that connect various components within the media-presentation system 108. For example, the media-presentation system 108 can include the connection mechanisms represented by lines connecting components of the media-presentation system 108, as shown in FIG. 2.

Returning back to FIG. 1, generally, the media manager 102 can obtain media from the media database 104, and can transmit the obtained media to the media-distribution system 106, which in turn can transmit the media to the media-presentation device 202, such that the media-presentation device 202 can output the media for presentation to an end-user.

The media manager 102 can obtain media in various ways, such as by selecting media based on user input and retrieving it from the media database 104. In some examples, the media-presentation device 202 can receive such input from a user via a user interface, and can then transmit the input to the media manager 102, such that the media manager 102 can use the input to make the selection.

The media manager 102 can then transmit the media to the media-distribution system 106, which in turn can transmit the media to the media-presentation device 202. The media-distribution system 106 can transmit the media to the media-presentation device 202 in various ways. For example, the media-distribution system 106 can transmit the media on one or more channels (sometimes referred to as stations or feeds). As such, the media-distribution system 106 can be associated with a single channel media distributor or a multi-channel media distributor such as a multi-channel video program distributor (MVPD).

The media-distribution system 106 and its means of transmission of media on the channel to the media-presentation device 202 can take various forms. By way of example, the media-distribution system 106 can be or include a cable-television head-end that is associated with a cable-television provider and that transmits the media on the channel to the media-presentation device 202 through hybrid fiber/coaxial cable connections. As another example, the media-distribution system 106 can be or include a satellite-television head-end that is associated with a satellite-television provider and that transmits the media on the channel to the media-presentation device 202 through a satellite transmission. As yet another example, the media-distribution system 106 can be or include a television-broadcast station that is associated with a television-broadcast provider and that transmits the media on the channel through a terrestrial over-the-air interface to the media-presentation device 202. And as yet another example, the media-distribution system 106 can be an Internet-based distribution system that transmits the media using a media streaming-characteristic service or the like to the media-presentation device 202. In these and other examples, the media-distribution system 106 can transmit the media in the form of an analog or digital broadcast stream representing the media.

The media-presentation device 202 can then receive the media from the media-distribution system 106. In one example, the media-presentation device 202 can select (e.g., by tuning to) a channel from among multiple available channels, perhaps based on input received via a user interface, such that the media-presentation device 202 can receive media on the selected channel.

After the media-presentation device 202 receives the media from the media-distribution system 106, the media-presentation device 202 can output the media for presentation. The media-presentation device 202 can output media for presentation in various ways. For example, in the case where the media-presentation device 202 is a television, outputting the media for presentation can involve the television outputting the media via a user interface (e.g., a display screen and/or a sound speaker), such that it can be presented to an end-user. As another example, in the case where the media-presentation device 202 is a media streaming player, outputting the media for presentation can involve the media streaming player outputting the media via a communication interface (e.g., an HDMI interface), such that it can be received by a television and in turn output by the television for presentation to an end-user.

In the context of the media-presentation device 202 presenting media, the media-presentation device 202 and/or the presented media can have an associated presentation area, in which one or more people can view and/or listen to presented media. As one example, in the case where the media-presentation device 202 is a television in a living room, the presentation area can be the area of the living room where people can view video being presented on a display screen of the television and where people can hear the corresponding audio being presented through sound speakers of the television. In some cases, a presentation area can include at least a portion of one or more other rooms as well. For example, in the case where the living room has a nearby kitchen from which people can also view and/or listen to the presented media, the presentation area can also include at least a portion of that room too. Many other configurations are possible as well and as such, in connection with the given media-presentation device 202, the associated presentation area can have various different shapes, sizes, dimensions, etc.

Returning back to FIG. 2, the presentation-area data system 204 can perform operations related to obtaining presentation area data. For example, the presentation-area data system 204 can be or include a smart home device, Internet of Things (IoT) device, wearable device (e.g., worn by a person in the presentation area), or similar type of device that can obtain data associated with the presentation area (which itself is associated with the media-presentation device 202, as discussed above). For example, the presentation-area data system 204 can be or include a camera, a microphone, a motion sensor, a temperature sensor, a humidity sensor, a light sensor, and/or a physiological data sensor, among numerous other possibilities. Such devices could be placed in various locations, orientations, etc. perhaps depending on the type of data that they are configured to obtain. For example, a camera can be located in or just outside the presentation area and oriented towards at least a portion of the presentation area, a microphone can be located in or near the presentation area, a motion sensor can be located in or just outside the presentation area and oriented towards at least a portion of the presentation area, and a wearable device could worn by a person in the presentation area, and thus located in the presentation area as well.

The presentation-area data system 204 can also include one or more connection mechanisms that connect various components within the presentation-area data system 204. In some cases, the presentation-area data system 204 can include additional devices, such as a smart home or IoT hub device, router, etc., that facilitate communication among these and/or other devices.

Generally, the media system 100 can use the obtained presentation area data for various purposes. For example, based on the obtained presentation area data having certain characteristics (i.e., indicating the existence of a particular audience-related situation), the media system 100 can responsively perform one or more actions to facilitate inserting a media segment into a media program. In some examples, this could involve the media system 100 using the obtained presentation area data as a basis to select a media segment (e.g., an advertisement) that is specially targeted to the audience in the presentation area, and/or to identify an insertion point at which the selected media segment (or perhaps a different media segment) should be inserted, such that the media system 100 can then carry out such an insertion.

FIG. 3 is a perspective view of an example media-presentation system 108, according to one example configuration with a few of the above-described devices and components. As shown, the media-presentation system 108 includes a television 302, speakers 304, and a streaming media player 306, all positioned on top of or above a table 308. The television 302 is configured to present video and the speakers 304 are configured to present audio. The presented media (i.e., the presented video and audio) is presented in a presentation area that can generally be considered to be the area near and around sofa 310. The streaming media player 306 includes a camera 312 positioned and oriented towards the presentation area, and a microphone 313 located near the presentation area. Several people 314 are located in the presentation area, such that they can view/listen to the presented media. While in the presentation area, the people 314 are also within a field of view of the camera 312 and within range of the microphone 313. The streaming media player 306 can also include or be connected to one or more IoT devices, sensors, etc. (not shown). It should be noted that FIG. 3 is provided as just one example configuration. Many other systems, devices, and/or components could be included as well and many other configurations could also be possible.

In some instances, the media system 100 and/or components thereof can include multiple instances of at least some of the described components. The media system 100 and/or components thereof can take the form of a computing system, an example of which is described below.

FIG. 4 is a simplified block diagram of an example computing system 400. The computing system 400 can be configured to perform and/or can perform various operations, such as the operations described in this disclosure. The computing system 400 can include various components, such as a processor 402, a data storage unit 404, a communication interface 406, a user interface 408, a camera 410, and/or a sensor 412.

The processor 402 can be or include a general-purpose processor (e.g., a microprocessor) and/or a special-purpose processor (e.g., a digital signal processor). The processor 402 can execute program instructions included in the data storage unit 404 as described below.

The data storage unit 404 can be or include one or more volatile, non-volatile, removable, and/or non-removable storage components, such as magnetic, optical, and/or flash storage, and/or can be integrated in whole or in part with the processor 402. Further, the data storage unit 404 can be or include a non-transitory computer-readable storage medium, having stored thereon program instructions (e.g., compiled or non-compiled program logic and/or machine code) that, upon execution by the processor 402, cause the computing system 400 and/or another computing system to perform one or more operations, such as the operations described in this disclosure. These program instructions can define, and/or be part of, a discrete software application.

In some instances, the computing system 400 can execute program instructions in response to receiving an input, such as an input received via the communication interface 406 and/or the user interface 408. The data storage unit 404 can also store other data, such as any of the data described in this disclosure.

The communication interface 406 can allow the computing system 400 to connect with and/or communicate with another entity according to one or more protocols. Therefore, the computing system 400 can transmit data to, and/or receive data from, one or more other entities according to one or more protocols. In one example, the communication interface 406 can be or include a wired interface, such as an Ethernet interface or a High-Definition Multimedia Interface (HDMI). In another example, the communication interface 406 can be or include a wireless interface, such as a cellular or WI-FI interface.

The user interface 408 can allow for interaction between the computing system 400 and a user of the computing system 400. As such, the user interface 408 can be or include an input component such as a keyboard, a mouse, a remote controller, a microphone, and/or a touch-sensitive panel. The user interface 408 can also be or include an output component such as a display device (which, for example, can be combined with a touch-sensitive panel) and/or a sound speaker.

The camera 410 can be or include any type of camera (e.g., a webcam) configured to capture visual data (e.g., data representing an image and/or video).

The sensor 412 can be or include any type of sensor configured to capture sensor data. For example, the sensor could be or include a motion sensor, a temperature sensor, a humidity sensor, a light sensor, and/or a vital sign sensor, among numerous other possibilities.

The computing system 400 can also include one or more connection mechanisms that connect various components within the computing system 400. For example, the computing system 400 can include the connection mechanisms represented by lines that connect components of the computing system 400, as shown in FIG. 4.

The computing system 400 can include one or more of the above-described components and can be configured or arranged in various ways. For example, the computing system 400 can be configured as a server and/or a client (or perhaps a cluster of servers and/or a cluster of clients) operating in one or more server-client type arrangements, such as a partially or fully cloud-based arrangement, for instance.

As noted above, the media system 100 and/or components of the media system 100 can take the form of a computing system, such as the computing system 400. In some cases, some or all of these entities can take the form of a more specific type of computing system, such as a desktop or workstation computer, a laptop, a tablet, a mobile phone, a television, a set-top box, a streaming media player, a head-mountable display device (e.g., virtual-reality headset or an augmented-reality headset), and/or a wearable device (e.g., a smart watch), among numerous other possibilities.

Although some example architecture has been provided above, the above-described components, systems, and/or other entities can be configured in various other ways as well. For example, the above-described components, systems, and/or other entities can be combined and/or split into different components, systems, and/or other entities, for instance.

The media system 100, the computing system 400, and/or components of either can be configured to perform and/or can perform various operations, such as operations for use in connection with the media-presentation device 202 and its associated presentation area. In one aspect, this can involve the media system 100 (i) obtaining presentation area data associated with the presentation area; (ii) determining that the obtained presentation area data satisfies each and every condition of a condition set; (iii) responsive to at least determining that the obtained presentation area data satisfies each and every condition of the condition set, identifying an upcoming media segment insertion point within a media program; and (iv) facilitating the media-presentation device outputting for presentation a media segment starting at the identified media segment insertion point within the media program. These and related operations will now be described in greater detail.

To begin, the media system 100 can obtain presentation area data associated with the presentation area. In some example, the media system 100 can do this before or while the media-presentation device 202 presents media. For example, in the scenario where the media-presentation device 202 presents a television show, the media system 100 could obtain presentation area data before or while the media-presentation device 202 is presenting one or more segments of the television show.

The obtained presentation data can include data obtained directly from a camera, sensor, or another device, or the obtained presentation data can be data derived from that data. Also, in some examples, the media system 100 obtaining area presentation data can involve the media-presentation device 202 and/or the area-presentation data system 204 obtaining the data (or data derived therefrom), whereas in other examples, the media-presentation device 202 and/or the area-presentation data system 204 can obtain and then transmit such data (or data derived therefrom) to the media manager 102 and as such, the media manager 102 can obtain area presentation data by receiving it from the media-presentation device 202 and/or the area-presentation data system 204, for example.

There can be various types of presentation area data associated with the presentation area. For example, presentation area data can include audience data associated with one or more people in the presentation area. There can be various types of audience data. For example, the audience data can include a people count indicating a number of people in the presentation area. In another example, the audience data can include one or more user profile identifiers each associated with a respective person in the presentation area.

As another example, presentation area data can include audience engagement data indicating an extent of engagement of one or more people in the presentation area, with respect to media presented by the media-presentation device 202. As such, in the case where a person is located in the presentation area, and the media-presentation device 202 is presenting a television show, the audience engagement data can indicate an extent of that person's engagement with that television show or with some specific portion thereof.

There can also be various types of audience engagement data and the audience engagement data can include and/or be based on various components, which by themselves or collectively can indicate the extent of engagement. For example, the audience engagement data could indicate an extent to which the body, face, and/or eye gaze of a person is oriented and/or directed towards the media-presentation device 202 and/or the presented media (or perhaps some specific portion thereof). In some implementations, in the case where the person's body, face, and/or eye gaze is or is relatively more oriented and/or directed towards the media-presentation device 202, this could serve as an indication that the person is or is relatively more engaged, whereas in the case where the person's body, face, and/or eye gaze is not or is relatively less oriented and/or directed towards the media-presentation device 202, this could serve as an indication that the person is not or is relatively less engaged.

As another example, the audience engagement data can indicate an extent to which a person is moving. In some implementations, in the case where the person has little to no movement, this could serve as an indication that the person is asleep and therefore not engaged. Likewise, in the case where the person is moving a lot (e.g., walking around the room or constantly switching back and forth between sitting and standing), this could serve as an indication that the person is engaged in other activities and therefore not very engaged in the media being presented. On the other hand, in the case where the person is moving somewhere in between the two extents of movement described above, this could serve as an indication that the person is generally focused on the media being presented and is therefore engaged, perhaps with a degree of engagement being based on the specific the extent of movement.

As another example, the audience engagement data can indicate an extent to which a person is using a device other than the media-presentation device 202, such as a phone, tablet, laptop, or video game system. In some implementations, the extent to which the person is using such a device can be inversely proportional to the person's extent of engagement with the media being presented. As such, in the case where the person is using a device, this could serve as an indication that the person is not engaged or has relatively less engagement. On the other hand, in the case where the person is not using a device, this could serve as an indication that the person is or is relatively more engaged. Notably though, in some implementations, in the case where the person is using the device in a manner that is associated with the media being presented (e.g., to look up information associated with the media being presented), the extent to which the person is using a mobile can instead be proportional to the person's extent of engagement with the media being presented. As such, in some cases, obtaining presentation area data can include determining whether the mobile being used by a person in the presentation area is being used in a manner that is associated with the media being presented. This could be done in various ways, such as by comparing Internet traffic associated with the device with metadata of the media being presented or with a transcription of the audio component of the media, and detecting a threshold extent of similarity, for instance.

As another example, the audience engagement data can indicate an extent to which a person is eating or drinking. In some implementations, the extent to which the person is eating or drinking can be inversely proportional to the person's extent of engagement with the media being presented. As such, in the case where the person is eating or drinking, this could serve as an indication that the person is not engaged or has relatively less engagement. On the other hand, in the case where the person is not eating or drinking, this could serve as an indication that the person is or is relatively more engaged.

As another example, the audience engagement data can indicate an extent to which a person is speaking. In some implementations, the extent to which the person is speaking (e.g., talking on a phone or conversing with someone in the room) can be inversely proportional to the person's extent of engagement with the media being presented. As such, in the case where the person is speaking, this could serve as an indication that the person is not engaged or has relatively less engagement. On the other hand, in the case where the person is not speaking, this could serve as an indication that the person is or is relatively more engaged. Notably though, in some implementations, in the case where the person is speaking and the content of that speech is associated with the media being presented (e.g., the person is talking about a plot point), the extent to which the person is speaking can instead be proportional to the person's extent of engagement with the media being presented. As such, in some cases, obtaining presentation area data can include determining whether content of a person's speech is associated with the media being presented. This could be done in various ways, such as by using a speech to text system to convert the person's speech to text, and then comparing the text with metadata of the media being presented or with a transcription of the audio component of the media, and detecting a threshold extent of similarity, for instance.

As another example, the audience engagement data can indicate a physiological state of a person. For example, this could include data related to a person's heart rate, blood pressure, etc. In some situations, such as in the case where the person is watching sports-related media, certain physiological states can inform the person's extent of engagement with the media being presented. For example, in the case where the person has a high heart rate, high blood pressure, etc. this could serve as an indication that the person is engaged or has relatively more engagement. On the other hand, in the case where the person has low heart rate, low blood pressure, etc., this could serve as an indication that the person is not or is relatively less engaged.

In some instances, rather than being person-specific, the audience engagement data can be area-specific (but can still be relevant to the engagement level of one or more people in the presentation area). For example, the audience engagement data can indicate an extent of background noise in the presentation area. In some implementations, the extent of background noise (e.g., construction sounds or music being played) can be inversely proportional to one or more people's extent of engagement with the media being presented. As such, in the case where there is or is relatively more background noise, this could serve as an indication that the one or more people are not engaged or has relatively less engagement. On the other hand, in the case where there is no or relatively little background noise, this could serve as an indication that the one or more people are or are relatively more engaged.

Although several examples of audience engagement data have been discussed, it should be appreciated that there could be other types of audience engagement data as well, including for example, audience engagement data that indicates an extent of lighting, a temperature setting, and/or any other type of data that the media system 100 can obtain and which might indicate an extent of or relate in some way to audience engagement.

The media system 100 can obtain the presentation area data associated with the presentation area in various ways. In various examples, the media system 100 can use a camera, a microphone, a motion sensor, a temperature sensor, a humidity sensor, a light sensor, and/or a physiological data sensor (e.g., a wearable device or a camera), among numerous other possible devices, to obtain or to facilitate obtaining such data. In some cases, the media system 100 can obtain data and can process it using various data processing techniques (e.g., to identify data patterns, characteristics, or the like) to obtain the presentation area data. As such, more generally, the obtained presentation area data can include or be based on (i) visual data captured by a camera oriented towards at least a portion of the presentation area, (ii) audio data captured by a microphone in or near the presentation area, (iii) motion data detected by a motion sensor oriented towards at least a portion of the presentation area, (iv) physiological data detected by a wearable device worn by a person in the presentation area, (v) physiological data detected by a camera oriented towards at least a portion of the presentation area, (vi) sensor data captured by a sensor in or near the presentation area, among numerous other possibilities.

The media system 100 can obtain the presentation area data associated with the presentation area in various ways using any suitable techniques now known or later discovered. In some cases, the techniques used may vary depending on the type of data being obtained. For example, in the case of audience data that includes a people count indicating a number of people in the presentation area, the media system 100 can use a camera to capture visual data representing the presentation area, and can then process the visual data by using any known facial detection technique or the like to identify how many people are represented in the visual data. As another example, in the case of audience data that includes one or more user profile identifiers, the media system 100 can process the visual data by using any known facial recognition and matching technique, any voice recognition and matching technique, or the like, to identify not only that people are present, but specifically which people are present (e.g., by comparing query data with reference data for identified users and stored in a reference database, together with corresponding user profile data or identifiers, for instance). In this way, the media system 100 can determine user profile data (e.g., demographic data, preferences data, etc.) for a given user in the presentation area.

There can be various types of user profile data that can be obtained/determined in this context. For example, the user profile data can include demographic data that provides details about the user's age, gender, etc. As another example, the user profile data can include preference data that indicates media-related preferences for that user. For example, the preference data could include genre preference data that indicates one or more genre types (e.g., action, adventure, comedy, or romance) that the user prefers. As another example, the preference data could include actor/actress preference data that indicates one or more actors or actresses that the user prefers. There can be many other types of preference data as well, including preference data related to any aspect of media (e.g., preferences related to plot types, writers, directors, settings, art styles, release dates, budgets, ratings, and/or reviews, among numbers possibilities).

Preference data can be represented in various ways. For instance, preference data can be represented with one or more scores (e.g., from 0-100) being assigned to each of multiple different potential preferences to indicate a degree or confidence score of each one, with 0 being the lowest and 100 being the highest, as just one example. For instance, in the case where the preference data indicates genre type preferences, the preference data could indicate a score of 96 for action, a score of 82 for adventure, a score of 3 for comedy, a score of 18 for romance, and so on. As such, the score of 96 for action can indicate that the user generally has a strong preference for media content of the action genre. Similarly, the score of 82 for adventure can indicate that the user also generally has a strong preference for media content of the adventure genre, though not quite as strong as a preference as compared to the action genre. And so on for each of the other genres.

There can be other types of user profile data as well. For example, user profile data can include language preference information or media presentation history information of the user, among numerous other possibilities. In some instances, media presentation history information could indicate various user activity in connection with media and/or portions thereof. For example, user profile data could indicate which movies, television shows, or advertisements a user has watched, how often, etc. In another example, user profile data could indicate an extent to which the user has replayed or paused certain media, or a segment thereof, which might indicate a certain level of interest in that portion. Such user profile data can be obtained, stored, organized, and retrieved in various ways, such as by using any related user profile data techniques now known or later discovered. In some instances, user profile data can be obtained, stored, and/or used only after the user has provided explicit permission for such operations to be performed.

As another example, in the case of detecting an extent to which the body, face, and/or eye gaze of a person is oriented and/or directed towards the media-presentation device 202, the media system 100 can process visual data by using any known body or head-pose estimation technique, and/or any known eye gaze detection technique, for example.

Similarly suitable techniques could be used to obtain other examples of area presentation data. For instance, in the case of the audience engagement data indicating at extent to which a person is moving, the media system 100 can process the visual data by using any known movement detection technique, for example. Such a technique can be configured in various different ways to detect various different types of movement and related information. For example, the model might indicate an extent of movement, a speed of movement, an indication as to whether the user is sitting, standing, etc., for how long, etc. The same and similar types of related information can likewise be determined in connection with other presentation area.

As another example, in the case of detecting an extent to which a person is using a device, eating or drinking, and/or speaking, the media system 100 can process visual data by using an object tracking and/or detection technique (i.e., to track or detect a device or to track or detect food or drink-related objects) and/or an activity detection technique to determine whether the person is performing a specific type of activity (e.g., using a device, eating/drinking, or speaking), perhaps by using a classification scheme. In some cases, the media system 100 can also process audio data to help detect this type or another type of activity. For instance, in the case of detecting an extent to which a person is speaking, the media system 100 can process audio data by using a voice identification technique and/or by comparing the audio data with reference voice fingerprints for one or more people in the presentation area, for instance. In this way, the media system 100 can distinguish between speech uttered by a person located in the room and other audio (e.g., background construction noise) that may be present in the presentation area.

As noted above, various components within the media system 100 can be involved in obtaining the presentation data. For example, the media-presentation system 108 can obtain presentation data and can transmit it to the media manager 102. As such, in some examples, the media manager 102 can obtain the presentation data by obtaining it from the media-presentation system 108.

After obtaining the presentation data, the media manager 102 can determine that the obtained presentation area data satisfies each and every condition of a condition set. Then, responsive to at least determining that the obtained presentation area data satisfies each and every condition of the condition set, the media manager 102 can identify an upcoming media segment insertion point within a media program. And finally, the media manager 102 can facilitate the media-presentation device 202 outputting for presentation a media segment starting at the identified media segment insertion point within the media program.

By determining that the obtained presentation area data satisfies each and every condition of a condition set, the media manager 102 can detect various audience-related situations in connection with the presentation area, where it may be desirable to facilitate the media-presentation device 202 performing one or more responsive operations, such as operations that facilitate the media-presentation device 202 outputting for presentation an advertisement or other media segment starting at an identified media segment insertion point within the media program. Thus, based on certain audience-related situations, the media manager 102 can cause a given media segment to be inserted into the media program at a given insertion point.

The condition set can include various different types of conditions to allow for different types of media segments to be inserted in different situations. Among other benefits, this can enable advertisers or other media providers to specify the particular audience-situation in which they want to have an advertisement inserted into the media program. In some instances, the conditions be conditions that are based on the presentation area data. But the conditions can be based on other information as well, such as metadata of the media being presented. For illustration purposes, a few example condition sets will now be discussed.

A first example condition set could include a first condition that there are two people in the presentation area, a second condition that one person is an adult women, a third condition that one person is a child, a fourth condition that the woman and the child are speaking to each other, and a fifth condition that both people have been generally stationary for at least thirty minutes.

A second example condition set could include a first condition that there is one person in the presentation area, a second condition that the person is a child, a third condition that the child is standing, and a fourth condition that there is a threshold amount of background noise (e.g., above a given decibel level) in the presentation area.

A third example condition set could include a first condition that there are two people in the presentation area, a second condition that the two people are both teenagers, and a third condition that the two people are also using mobile devices.

A fourth example condition set could include a first condition that there are two people in the presentation area, a second condition that the two people are respectively associated with two user profile identifiers (e.g., for two previously identified parents in the households), a third condition that both people have an eye gaze oriented towards the media-presentation device 202, and a fourth condition that both people are speaking.

A fifth example condition set could include a first condition that there are at least ten people in the presentation area, a second condition that there is a given amount of background noise in the presentation area, and a third condition that at least half of the people are eating or drinking. For context, this could represent a situation where there is a party or large gathering and the people in the presentation area generally have limited engagement with the media being presented.

Of course, these are just a few examples of condition sets. In practice, condition sets could have lots of different conditions and could be configured to suit a desired configuration.

In some cases, in the context of obtaining presentation area data and/or determining that the obtained presentation area data satisfies each and every condition of the condition set, the media manager 102 can employ a machine learning technique, such as one that uses a deep neural network (DNN) to train a model to use a runtime input-data set to generate an appropriate runtime output-data set. Indeed, such a model could use an input-data set that includes data such as (i) visual data captured by a camera oriented towards at least a portion of the presentation area, (ii) audio data captured by a microphone in or near the presentation area, (iii) motion data detected by a motion sensor oriented towards at least a portion of the presentation area, (iv) physiological data detected by wearable device worn by a person in the presentation area, or (v) sensor data captured by a sensor in or near the presentation area, which is can use to generate an output-data set that includes one or more of the types of presentation area data discuss above and/or an indication as to whether a given condition has been met. In some cases, the model can output data in the form of score, to indicate an extent of something. For instance, in the case where the presentation data indicates an extent of engagement of a person, that could be represented with a value in a range from 1-100, with 100 indicating the highest level of engagement.

Notably though, before the media manager 102 uses the model for this purpose, the media manager 102 can first train the model by providing it with training input-data sets and training output-data sets. In practice, it is likely that large amounts of training data—perhaps thousands of training data sets or more—would be used to train the model as this generally helps improve the usefulness of the model. Training data can be generated in various ways, including by being manually assembled. However, in some cases, the one or more tools or techniques, including any training data gathering or organization techniques now known or later discovered, can be used to help automate or at least partially automate the process of assembling training data and/or training the model. In some cases, synthetically generated media content and data derived therefrom (e.g., video data and/or audio data extracted from the generated media content) can be used to help train the model.

After the model is trained, the media manager 102 can then provide to the model runtime input data, which the model can use to generate runtime output data. In this way, obtaining presentation area data associated with the presentation area, and/or determining that the obtained presentation area data satisfies each and every condition of a condition set can involve the media manager 102 using a trained model to perform such operations.

In this context, many different types of models can be employed, known examples of which could include a body or head-pose estimation model, an eye gaze detection model, an object detection model, an activity detection model, a movement detection model, and a voice identification model, among numerous other possibilities.

As noted above, responsive to at least determining that the obtained presentation area data satisfies each and every condition of the condition set, the media manager 102 can identify an upcoming media segment insertion point within a media program. The media manager 102 can do this in various ways. For example, this can include the media manager 102 identifying an upcoming (or perhaps the next upcoming) predefined advertisement segment insertion point within the media program. The media manager 102 could do this by analyzing metadata associated with the media program, for example, where that metadata provides time point markers indicating a predefined advertisement segment insertion point or placeholder (or perhaps the nearest upcoming one).

In another example, the media manager 102 can dynamically identify an upcoming media segment insertion point, such as by identifying a upcoming (or perhaps the next upcoming) scene-change transition point within the media program, wherein the scene-change transition point is not a predefined advertisement segment insertion point within the media program. The media manager 102 can do so by employing one or more scene-change detection techniques now known or later discovered. For example, techniques that detect threshold differences between pixel values, or averages of pixel values, can be used for this purpose. This can allow the media manager 102 to, based on a determination about a given audience situation, insert a targeted media segment at a place where insertion of an advertisement had not been previously scheduled to be inserted.

As noted above, the media manager 102 can then facilitate the media-presentation device 202 outputting for presentation a media segment starting at the identified media segment insertion point within the media program. The media manager 102 can do this in various ways. In one aspect, this can involve the media manager 102 selecting a media segment to be inserted. In some cases, the media manager 102 can use the obtained area presentation data and/or the conditions in the condition set to select the media segment. The media manager 102 can do this in various ways, such as by leveraging preexisting mapping data or the like to map given area presentation data and/or satisfied conditions of a condition set to a given media segment. In this way, the media manager 102 can select a media segment that is particularly suitable to the audience in the presentation area. For instance, in connection with each of the five example condition sets described above, the mapping data could specify one or more advertisements that are suitable selections in situations where the conditions of the given condition set are satisfied.

In some cases, this selection process can involve providing the obtained presentation area data to a media segment bidding system, in which advertisers or others could bid on purchasing advertisement or media segment insertion rights in various audience situations. For example, a given advertiser could submit a bid to insert an advertisement specifically in the situation where the conditions of a given condition set are met (so as to reach a given type of audience). In practice, this could be done on a larger scale where many advertisers could interface with the system to submit bids in connection with many different types of audience situations. As such, in some examples, this selection process can involve providing the obtained presentation area data to an external media segment bidding system and responsively receiving an indication of a selected media segment provided by a media provider, where the media segment was selected by the media segment bidding system based on a corresponding successful bid from the media provider.

Facilitating the media-presentation device 202 outputting for presentation a media segment starting at the identified media segment insertion point within the media program can also include other operations. For example, in the case where the media program is being streamed, the media manager 102 (or the media-distribution system 106) can switch from streaming the media program, to instead streaming the selected media segment at the media segment insertion point. Then, when the media segment concludes, the media manager 102 can then switch back to and resume streaming the media program. In some situations, the media manager 102 can send an appropriate instruction to the media-presentation device 202, to facilitate the media-presentation device 202 performing the insertion itself. As such, the media-presentation device 202 could obtain the media segment and perform the same or similar type of operation to insert the media program at the appropriate time. Of course, the media manager 102 and/or media-presentation device 202 can employ any other known techniques for inserting segments into media as well. Given this, based on the obtained presentation area data having certain characteristics (i.e., indicating the existence of a particular audience-related situation), the media system 100 can responsively perform one or more actions to facilitate inserting a media segment into a media program.

In some instances, the media system 100 can include a reporting and/or editing system component that keeps records of the data and related operations discussed above, that generated related reports, and/or that allows a user to review, approve, reject, and/or edit various operations or results of operations. Among other things, could be used to generate various reports, such as reports showing what area-presentation data was obtained in connection with which portions of media programs, perhaps on a person-by-person, or on an aggregate-type basis. In addition, this system could provide for generating certain reports and/or as part of a quality assurance process. For example, in the context of the media manager 102 obtaining area presentation data and/or determining that certain associated conditions were met, the reporting and/or editing system can provide suggested determinations, etc. that allows a user of the system to review and approve (perhaps with some user input/editing).

FIG. 5 is a flow chart illustrating an example method 500 for use in connection with a media-presentation device having an associated presentation area. The method 500 can be carried out by a media system, such as the media system 100, the media manager 102, or more generally, by a computing system, such as the computing system 400. At block 502, the method 500 includes obtaining presentation area data associated with the presentation area. At block 504, the method 500 includes determining that the obtained presentation area data satisfies each and every condition of a condition set. At block 506, the method includes responsive to at least determining that the obtained presentation area data satisfies each and every condition of the condition set, identifying an upcoming media segment insertion point within a media program. At block 508, the method includes facilitating the media-presentation device outputting for presentation a media segment starting at the identified media segment insertion point within the media program.

In some examples, the obtained presentation area data includes or is based on (i) visual data captured by a camera oriented towards at least a portion of the presentation area, (ii) audio data captured by a microphone in or near the presentation area, (iii) motion data detected by a motion sensor oriented towards at least a portion of the presentation area, (iv) physiological data detected by wearable device worn by a person in the presentation area, or (v) sensor data captured by a sensor in or near the presentation area.

In some examples, the presentation area data includes audience data associated with a person in the presentation area, and wherein the audience data includes (i) a people count indicating a number of people in the presentation area, or (ii) a user profile identifier associated with a person in the presentation area.

In some examples, the presentation area data includes audience engagement data indicating an extent of engagement of one or more people in the presentation area, with respect to media presented by the media-presentation device.

In some examples, the audience engagement data (i) indicates an extent to which a body, face, and/or eye gaze of a person in the presentation area is oriented and/or directed towards media presented by the media-presentation device, (ii) indicates an extent to which a person in the presentation area is using a device other than the media-presentation device, (iii) indicates an extent to which a person in the presentation area is eating and/or drinking, (iv) indicates an extent to which a person in the presentation area is speaking, (v) indicates a physiological state of a person in the presentation area, (vi) indicates an extent of background noise in the presentation area, (vii) indicates an extent of lighting in the presentation area.

In some examples, determining that the obtained presentation area data satisfies each and every condition of the condition set involves determining an extent to which the person is speaking about media being presented by the media-presentation device.

In some examples, the condition set include a condition that the obtained presentation area data has a predefined characteristic relative to reference presentation area data.

In some examples, identifying an upcoming media segment insertion point within the media program involves (i) identifying an upcoming predefined advertisement segment insertion point within the media program, (ii) identifying a upcoming scene-change transition point within the media program, wherein the scene-change transition point is not a predefined advertisement segment insertion point within the media program, or (iii) identifying a next upcoming scene-change transition point within the media program, wherein the scene-change transition point is not a predefined advertisement segment insertion point within the media program.

In some examples, facilitating the media-presentation device outputting for presentation the media segment starting at the identified media segment insertion point within the media program involves: (i) using the obtained presentation area data as a basis to select a media segment; and (ii) inserting the selected media segment into the media program, and transmitting the media program with the inserted media segment to the media-presentation device to be output for presentation.

In some examples, facilitating the media-presentation device outputting for presentation the media segment starting at the identified media segment insertion point within the media program involves providing the obtained presentation area data to a media segment bidding system and responsively receiving an indication of a selected media segment provided by a media provider, wherein the media segment was selected by the media segment bidding system based on a corresponding successful bid from the media provider.

FIG. 6 is a flow chart illustrating an example method 600 for facilitating a media-presentation device outputting for presentation a media segment starting at an identified media segment insertion point within a media program. The method 600 can be carried out by a media system, such as the media system 100, the media manager 102, or more generally, by a computing system, such as the computing system 400. At block 602, the method 600 includes using the obtained presentation area data as a basis to select a media segment. At block 604, the method 500 includes inserting the selected media segment into the media program, and transmitting the media program with the inserted media segment to the media-presentation device to be output for presentation.

Although some of the acts and/or functions described in this disclosure have been described as being performed by a particular entity, the acts and/or functions can be performed by any entity, such as those entities described in this disclosure. Further, although the acts and/or functions have been recited in a particular order, the acts and/or functions need not be performed in the order recited. However, in some instances, it can be desired to perform the acts and/or functions in the order recited. Further, each of the acts and/or functions can be performed responsive to one or more of the other acts and/or functions. Also, not all of the acts and/or functions need to be performed to achieve one or more of the benefits provided by this disclosure, and therefore not all of the acts and/or functions are required.

Although certain variations have been discussed in connection with one or more examples of this disclosure, these variations can also be applied to all of the other examples of this disclosure as well.

Although select examples of this disclosure have been described, alterations and permutations of these examples will be apparent to those of ordinary skill in the art. Other changes, substitutions, and/or alterations are also possible without departing from the invention in its broader aspects as set forth in the following claims.

Ramesh, Sunil, Cutter, Michael

Patent Priority Assignee Title
Patent Priority Assignee Title
10051326, Dec 27 2016 ADEIA GUIDES INC Methods and systems for determining user engagement based on user interactions during different advertisement slots
10231030, Apr 29 2011 Amazon Technologies, Inc. Customized insertions into digital items
5459517, Dec 15 1992 Fuji Xerox Co., Ltd. Moving picture scene detection system
6539055, Dec 03 1999 Intel Corporation Scene change detector for video data
6738100, Jun 07 1996 Hewlett Packard Enterprise Development LP Method for detecting scene changes in a digital video stream
9361005, Dec 27 2013 Rovi Product Corporation Methods and systems for selecting modes based on the level of engagement of a user
20010014876,
20080307454,
20090254931,
20130247081,
20140047464,
20140067395,
20150185993,
20200236427,
20230038108,
WO2009033187,
////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Jun 15 2023CUTTER, MICHAELROKU, INCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0640550900 pdf
Jun 23 2023RAMESH, SUNILROKU, INCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0640550900 pdf
Jun 23 2023ROKU, INC.(assignment on the face of the patent)
Sep 16 2024ROKU, INCCITIBANK, N A SECURITY INTEREST SEE DOCUMENT FOR DETAILS 0689820377 pdf
Date Maintenance Fee Events
Jun 23 2023BIG: Entity status set to Undiscounted (note the period is included in the code).


Date Maintenance Schedule
Apr 02 20274 years fee payment window open
Oct 02 20276 months grace period start (w surcharge)
Apr 02 2028patent expiry (for year 4)
Apr 02 20302 years to revive unintentionally abandoned end. (for year 4)
Apr 02 20318 years fee payment window open
Oct 02 20316 months grace period start (w surcharge)
Apr 02 2032patent expiry (for year 8)
Apr 02 20342 years to revive unintentionally abandoned end. (for year 8)
Apr 02 203512 years fee payment window open
Oct 02 20356 months grace period start (w surcharge)
Apr 02 2036patent expiry (for year 12)
Apr 02 20382 years to revive unintentionally abandoned end. (for year 12)