Methods, systems, and products for media consumption gap filling
By generating personalized media corpus and artificial intelligence recommendations, the content gap problem of users waiting for expected programs in a hybrid streaming environment is solved, and personalized media content filling is provided, which improves user experience and platform stickiness.
Patent Information
- Application Number
- CN202111373496.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-11-20
- Filing Date
- 2021-11-19
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2041-11-19
AI Technical Summary
In a hybrid streaming environment, users lack personalized media content fills while waiting for the start of a desired program, resulting in poor viewing experience.
By generating a personalized media corpus, analyzing user viewing history and preferences, using artificial intelligence to recommend personalized media content to fill gaps, including social media connections and user-like media clusters, providing personalized video and audio content to fill gaps.
It improves the user's viewing experience, increases the fun of media consumption, maintains users' attention through personalized content, and improves the user stickiness of the streaming platform.
Smart Images

Figure CN114518966B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates generally to the field of media consumption, and more particularly in hybrid streaming environments. Background Art
[0002] Digital media streaming companies can provide a mix of recorded content, live content (e.g., sporting events, award shows, news programs, messages from government leaders), and emerging shows or series that can be viewed by users. These digital media streaming services are typically accessed via the Internet. Summary of the Invention
[0003] According to one exemplary embodiment, a method for gap filling in media consumption is provided. The method may include receiving a notification that a first user has selected the first broadcast channel to view a first program while the first broadcast channel is currently showing the first program. A desired program scheduled to be presented via the first broadcast channel at a time after the end of the first program may be determined. A first duration may be calculated that begins at a current time and ends at a scheduled time for the start of the desired program. First gap filling content having a duration sufficient to fill the first duration may be identified. The first gap filling content may be from a first personalized media corpus associated with the first user. The first gap filling content may be presented. A computer system and a computer program product corresponding to the above method are also disclosed herein. BRIEF DESCRIPTION OF THE DRAWINGS
[0004] These and other objects, features, and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which will be read in conjunction with the accompanying drawings. The various features of the drawings are not to scale, as the drawings are intended for clarity and to aid those skilled in the art in understanding the present invention in conjunction with the specific embodiments. In the drawings:
[0005] Figure 1 illustrates a networked computer environment according to at least one embodiment;
[0006] Figure 2 is an operational flow diagram illustrating a process for media consumption gap filling in accordance with at least one embodiment;
[0007] Figure 3A is an operational flow diagram illustrating a process for adding to a corpus of personalized media via a social media connection in accordance with at least one embodiment;
[0008] Figure 3B is an operational flow diagram illustrating a process for media component skipping during presentation of personalized media content for gap filling in accordance with at least one embodiment;
[0009] Figure 4Ais an operational flow diagram illustrating a process for adding to a personalized media corpus associated with a first user in accordance with at least one embodiment;
[0010] Figure 4B is an operational flow diagram illustrating a process for determining whether desired media content has begun on a particular broadcast channel in accordance with at least one embodiment;
[0011] Figure 5 According to at least one embodiment Figure 1 block diagrams of the internal and external components of computers and servers depicted in;
[0012] Figure 6 According to an embodiment of the present disclosure, Figure 1 A block diagram of an illustrative cloud computing environment for the computer system depicted in ; and
[0013] Figure 7 According to an embodiment of the present disclosure Figure 6 A block diagram of the functional layers of an illustrative cloud computing environment. DETAILED DESCRIPTION
[0014] Detailed embodiments of the claimed structures and methods are disclosed herein; however, it will be understood that the disclosed embodiments are merely illustrative of the claimed structures and methods that may be embodied in different forms. However, the present invention may be embodied in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be comprehensive and complete and will fully convey the scope of the invention to those skilled in the art. In the description, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments.
[0015] The exemplary embodiments described below provide computer systems, methods, and computer program products for gap filling in media consumption. As such, the present embodiments have the ability to improve the technical field of hybrid streaming for media consumption by helping users (e.g., cord cutters) access more personalized media for viewing, increasing their viewing enjoyment, and increasing their engagement with streaming platforms. The present embodiments help users receive personalized media content while waiting for a desired program to begin.
[0016] See also Figure 1, depicts an exemplary networked computer environment 100 according to one embodiment. The networked computer environment 100 may include a computer 102 having a processor 104 and a data storage device 106 capable of running a software program 108 and a media consumption gap filler program 110a. The networked computer environment 100 may also include a server 112 capable of running a media consumption gap filler program 110b that may interact with a database 114 and a communication network 116. The networked computer environment 100 may include multiple computers 102 and servers 112, only one of which is shown. The communication network 116 may include different types of communication networks, such as a wide area network (WAN), a local area network (LAN), a telecommunications network, a wireless network, a public switched network, and / or a satellite network. It should be understood that Figure 1 This merely provides an illustration of one embodiment and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environments may be made based on design and implementation requirements.
[0017] The client computer 102 can communicate with the server computer 112 via a communication network 116. The communication network 116 can include connections such as wired, wireless communication links, or fiber optic cables. Figure 5 As discussed, the server computer 112 can include internal components 902a and external components 904a, respectively, and the client computer 102 can include internal components 902b and external components 904b, respectively. The server computer 112 can also operate in a cloud computing service model, such as software as a service (SaaS), platform as a service (PaaS), or infrastructure as a service (IaaS). The server 112 can also be located in a cloud computing deployment model, such as a private cloud, a community cloud, a public cloud, or a hybrid cloud. The client computer 102 can be, for example, a mobile device, a phone, a personal digital assistant, a netbook, a laptop, a tablet computer, a desktop computer, or any type of computing device capable of running programs, accessing a network, and accessing a database 114. According to different implementations of this embodiment, the media consumption gap filler programs 110a, 110b can interact with a database 114, which can be embedded in different storage devices, such as, but not limited to, the computer / mobile device 102, the networked server 112, or a cloud storage service.
[0018] Digital media streaming companies can provide a mix of recorded content, live content (e.g., sporting events, award shows, news programs, messages from government leaders), and emerging shows or series that can be viewed by users. Since these digital media streaming services are typically accessed via the Internet, users can also easily access a vast content library of video sources, such as those that are close in time to when they use the digital media streaming service. Hybrid streaming can include services that allow recorded content, live content, new and old shows, new broadcast episodes, and internet accessible content to all be accessed and viewed.
[0019] According to the present embodiment, a user using the client computer 102 or the server computer 112 can use the media consumption gap filler 110a, 110b (respectively) to present personalized media from a personalized corpus of injectable media content to the user for viewing during the gap before the start of a program that the user desires to watch. Figure 2 、 Figure 3A 、 Figure 3B 、 Figure 4A and Figure 4B The media consumption gap filling method is explained in more detail.The media consumption gap filling program 110a, 110b can help a streaming service better retain the attention of its customers while they wait for a desired program to begin.
[0020] Now see Figure 2 , depicts an operational flow diagram illustrating a media consumption gap filling process 200 used by the media consumption gap filling programs 110a and 110b in accordance with at least one embodiment.
[0021] exist Figure 2 In step 202 of the illustrated media consumption gap filling process 200, a user and a service provider elect to participate in the media consumption gap filling program 110a, 110b. A plurality of users may elect to participate in the media consumption gap filling program 110a, 110b. The election may include a user downloading the media consumption gap filling program 110a to a personal computer (e.g., Figure 1The service provider may download the media consumption gap filler 110b to a server 112 used or owned by the service provider. Alternatively, the service provider's opt-in may include the service provider downloading another portion of the program while the third party runs and controls the media consumption gap filler 110b on the server 112. Opting in will inform the user that the agreement means that the media consumption gap filler 110a, 110b will record and analyze the user's future media viewing selections in order to prepare better gap filling recommendations and selections for the user. The opt-in may include requesting the user's age so that the media consumption gap filler 110a, 110b can make media selections appropriate for the user's age. For example, no adult content or content from TV-MA rated programs will be presented to teenagers or children via the media consumption gap filler 110a, 110b. The opt-in process may prevent young children from opting in without parental consent.
[0022] exist Figure 2 In step 204 of the illustrated media consumption gap filling process 200, a corresponding personalized media corpus is generated for the first user and for each user who chooses to enter. The personalized media corpus of the first user may be referred to as a first personalized media corpus. The personalized media corpus may include injectable media content, which may include media that can be accessed and injected into the user's computer / TV / viewing device. The user's viewing history may be analyzed by the artificial intelligence of the media consumption gap filling program 110a, 110b to generate the personalized media corpus. For example, if the viewer recently watched For example, if a user watches a VHS transfer of comedy show X on a television, the AI of the media consumption gap filler 110a, 110b can then load, as gap filler content for that viewer / user, a segment of, for example, a ten-minute clip of a later, different comedy show designed by actors from comedy show X or actors from the creator of comedy show X. The AI can use the link between the same actors and the same genre—in the above example: comedy—between the two shows as a trigger for selecting the later, different comedy show clip or segment or episode to be added to the user / viewer's personal corpus of personally injectable media content.
[0023] The personal media corpus that can be injected into the media content may include recaps of media that the user has previously viewed. The personal media corpus that can be injected into the media content may include the end of a first media content, whereby the first user has previously viewed the beginning of the first media content. The media consumption gap filler 110a, 110b may integrate media clips from different media platforms. The media consumption gap filler 110a, 110b may obtain social media, such as and / or Videos in order to build a personalized corpus of media content that can be injected into the user. and Time limits within the platform, and The videos may necessarily be of shorter length. For example, the videos may be of a length of less than two minutes. The videos may be of a shorter length, e.g., less than two minutes in length, or may be of a longer length. The media consumption gap fillers 110a, 110b may also acquire medium-length videos, e.g., from two minutes to fifteen minutes, to add to the personal corpus of injectable media content associated with the user. Such medium-length videos may be from social media, may be shorthand from a streaming corpus, or may be entire TV programs with or without commercial breaks and advertisements in such commercial breaks. The media consumption gap fillers 110a, 110b may also acquire long-length videos, e.g., fifteen minutes or more, to add to the personal corpus of injectable media content associated with the user. Such longer-length videos may be from social media, may be entire long-length videos or portions of long-length videos, may be long TV or radio programs, or may also be video.
[0024] For a user who regularly watches Show X, videos for the personal corpus of injectable media content may include recaps of previous episodes of Show X in the current season, or may include recaps of previous seasons of Show X, where the recaps are generated by the producers of Show X or by an independently authorized third party.
[0025] A personal corpus can also include new videos from subscribed content creators, sports highlight packs featuring highlights from recent games of the user's favorite sports teams, portions of content from other shows or videos that the user had previously started but not finished, and / or nature shows or other displays about animals of interest to the user (e.g., dogs).
[0026] A graphical user interface may be generated by the media consumption gap filler 110a, 110b and may query the user for content that the user plans to view regularly. This viewing data, as input, may be used by the media consumption gap filler 110a, 110b to identify relevant media content that may be added to the user's personal corpus of injectable media content.
[0027] The generation of the personalized media corpus in step 204 may include the media consumption gap filler 110b analyzing user-provided media preferences, which may be obtained when the user opts in to the media consumption gap filler 110a, 110b. For example, when the user opts in, the user may indicate a preference for sketch comedies, Owen videos, all media featuring a certain actor or actress, all media about a certain sport or sports team, all media featuring a certain music group or dance group, and so on. This selection input may also include the user indicating which program the user regularly watches, so that the user profile stored by the media consumption gap filler 110b can be more quickly implemented while the user is waiting to watch that program and prefer the personalized media being shown during the wait. The preferences indicated by the user and collected by the media consumption gap filler 110b can then be compared with metatags or tags provided in the video or other media, or with the title of the video or other media. For example, some media may include tags for specific sports teams, specific actors, or specific animals, which can help the media consumption gap filler 110b match such tagged media with users who have indicated preferences for those media types or tags. The media guide may include descriptive language or tags that can be compared to keywords stored by the media consumption gap filler 110b, for example, in the database 114, in a gap filler profile for the user. Step 204 may include subject analysis and natural language processing (e.g., Word2Vec processing) of keywords from the user's preferences or from the user's viewing history to compare with tags in available media content and in new media content (such as media presented on social media). If the meta tags or tags of the media element match the user's profile, the media element may be added to the user's personalized media corpus.
[0028] The personal media corpus associated with the user can be stored in a memory, such as in a database 114, so that the media consumption gap filler 110b can access the personalized media corpus and obtain media content from the personal corpus. In some instances, links to media content or access directions to media content can be stored in the database 114, rather than the entire media files themselves being stored in the database 114. When the links or access directions are stored in the database 114, the media consumption gap fillers 110a, 110b can periodically check the links or access directions to confirm that the media content is still available at these links. When the media content is no longer accessible, the media consumption gap fillers 110a, 110b can remove or delete the links or access directions to the media consumption gap fillers from the personal corpus that can be injected with media content.
[0029] Step 204 of the media consumption gap filling process 200 may include Figure 3A A portion of the media from social connections process 300 is shown. In the media from social connections process 300, in step 302, a user selects one or more of his or her social media connections to access and add media content to a personalized media corpus associated with a first user. The selected social media connection can be considered a contributor to the personal media corpus associated with the first user. In step 304, the designated social media connection selects a video or other media to share with the user. This shared video / media can be referred to as friend media content. In step 306, the shared video / media is added to the personalized media corpus associated with the first user so that the friend media content can be displayed to the user as gap filler content while the user waits to watch a desired program. The media consumption gap filler program 110a, 110b can crawl the user's social media account, the user's email account, or the user's device to find messages, links, or posts with media content from the designated connection or from the contributor. This crawled media can then be added to the user's personalized media corpus.
[0030] Step 204 of the media consumption gap filling process 200 may also include Figure 4A4. The media adding from similar users process 400 is shown in FIG. In step 402 of the media adding from similar users process 400, multiple user profiles can be clustered based on the media consumed and based on user preferences provided by the respective users. This clustering can include feeding the user profile data into a clustering algorithm, such as a K-NN algorithm or a K-means algorithm. Using the K-means algorithm, the profiles are divided into clusters or buckets. A K-Nearest neighbor function can be applied to the new media element found, with the output indicating which cluster is closest to the data point of the new media element. In step 404, a second user profile can be located within the first cluster of the multiple user profiles. The first user's profile can also be within the first cluster. The second user profile can represent a second user. Another personal media corpus or a second personal media corpus, into which media content can be injected, can be associated with the second user. In step 406, media content elements from a second personalized media corpus associated with the second user can be added to the first personalized media corpus associated with the first user. Such clustering may help the media consumption gap fillers 110a, 110b better predict what types of media will be of interest to the user and discover new interesting media to add to the user's personalized media corpus.
[0031] exist Figure 2 In step 206 of the illustrated media consumption gap filling process 200, a user preset for fuzzy or specific content presentation is received. The user presets may include a first user preset from a first user. Wherein, the first user preset may include a preference for flexible gap filling or a strict gap filling end. Flexible gap filling allows the presentation of gap-filling media content to extend beyond the scheduled time of the start of the desired viewing program. In some cases, flexible gap filling may be referred to as fuzzy content presentation. Strict end of gap filling causes the presentation to end at the scheduled time of the start of the desired content or the desired viewing program. Strict end may be referred to as specific content presentation for gap filling. The media consumption gap filling program 110b may save the user presets for a specific user in a memory associated with the media consumption gap filling program 110b, for example, in a database 114.
[0032] exist Figure 2 In step 208 of the media consumption gap filling process 200 shown in FIG, the user's media consumption device is turned on. If the media consumption device has been turned off, when the media consumption device is then turned on so that its state changes from off to on, notifications can be sent and received, for example, by the media consumption gap filling program 110b.
[0033] exist Figure 2In step 210 of the illustrated media consumption gap filling process 200, desired content to be presented in the future is determined. The user desires to see the content in the future (e.g., in the near future, such as within the next half hour). Determining the desired content may include receiving a notification that the user has selected the first broadcast channel to watch while the first broadcast channel is displaying the first program. The selection may include the user (e.g., the first user) turning the media consumption device to the first broadcast channel. The selection may include the user (e.g., the first user) turning the media consumption device to the first broadcast channel and leaving the media consumption device on the first broadcast channel for a specific time, such as greater than 5 seconds or greater than 10 seconds. The selection may include the user logging into the channel before a specific upcoming program that is predicted to have high popularity. The selection may include the user opening a digital TV guide and scrolling to the specific upcoming program. The scrolling may include the user leaving the cursor on the entry for the specific upcoming show for a time above a threshold, such as greater than ten seconds. The desired content or program may be referred to as a second program in some cases. This determination in step 210 may be determining to schedule the desired program for presentation via the first broadcast channel at a time after the end of the first program that had already begun when the user engaged the streaming platform or engaged the media consumption gap filler 110a.
[0034] In some embodiments of step 210, determining the desired content may include receiving a notification that the user has tuned the media consumption device to the first broadcast channel or logged into the first broadcast channel at a point within a previous program prior to a final commercial break that occurs after the previous program ends and prior to the scheduled start of the desired content. Because an average commercial break can be approximately four minutes in length, in some embodiments of step 210, determining the desired content may include receiving a notification that the user has tuned the media consumption device to the first broadcast channel or logged into the first broadcast channel at a point within the previous program at least four or five minutes prior to the scheduled start time of the desired content. In other embodiments of step 210, determining the desired content may include receiving a notification that the user has tuned the media consumption device to the first broadcast channel or logged into the first broadcast channel at any point prior to the scheduled start time of the desired content, even during the final commercial break between a previous program (e.g., the first program) and the desired program.
[0035] Step 210 of the media consumption gap filling process 200 may include the media consumption gap filling program 110a, 110b directly asking the user to input which program is the user's desired program. The question may be presented via a GUI on the screen of the user's device, or may be audibly presented to the user via a smart speaker with a microphone. The corresponding response may be provided by the user typing on a keyboard, by the user scrolling through an online keyboard with a remote control, or by the user audibly speaking a response captured by a microphone.
[0036] Step 210 may also include the artificial intelligence of the media consumption gap filler 110a, 110b interpreting the user's actions, the user's viewing history, the viewing list entered by the user, and the popularity of broadcast events to determine what upcoming programs the user is expected to watch, see, or hear. The artificial intelligence may analyze the cursor position of the computer 102 operated by the user and may analyze the event similarity with past content that the user has watched. The artificial intelligence may access program ratings and viewership from recent times and from past years to better identify which programs are more likely to be popular and more likely to be the user's desired viewing content, for example, more likely to be the user's desired program.
[0037] Step 210 may include receiving a notification that the first user has selected the first broadcast channel past the midpoint of the first program duration of the first program. The media consumption gap filler 110a, 110b may identify that the user is not primarily interested in the first program because the first program is more than halfway through. As a result, the subsequent program (e.g., the program that directly follows the desired program) may be identified as the program that the user primarily desires to watch.
[0038] Step 210 may include the media consumption gap filler 110a, 110b comparing the similarity between the content of the current broadcast program on the channel and the program scheduled to be broadcast subsequently on the channel. In the event that the content is substantially different and the media consumption gap filler 110a, 110b has identified the user's interest in viewing the subsequent program, for example, via analysis of the user's preferences or the user's viewing history, the media consumption gap filler 110a, 110b may interpret that the user is not interested in viewing the current broadcast program. If the media consumption gap filler 110a, 110b concludes that the current and subsequent programs have different media content, the media consumption gap filler 110a, 110b may assume that the user desires the gap filler content as an alternative to the current program that is not of interest to the user.
[0039] Step 210 may include the media consumption gap filler 110a, 110b performing a gap filling demand likelihood analysis, whereby the likelihood that the user will prefer gap filler content over the current broadcast program is analyzed. This analysis may include the media consumption gap filler 110a, 110b using a point generation system and a point rating system regarding the likelihood that the user will desire the presentation of gap filler content. The points generated for the current broadcast may be based on a certain percentage, e.g., 80%, based on viewing history, based on user-provided preferences, based on the expected number of viewers for the program, and based on the timing of the user switching to the channel to view the current broadcast program while in the current broadcast program (e.g., if the current broadcast program is more than halfway through when the user switches to the channel), with another percentage (e.g., 20%) being used. Viewing history / user-provided preferences / overall program popularity score may have a higher weight in the score than the timing of the channel selection. A high likelihood score will trigger the media consumption gap filler 110a, 110b to assume that gap filler content is needed or desired. A low likelihood score may cause the media consumption gap filler 110a, 110b to assume that gap filler content is not currently needed or desired.
[0040] Step 210 may also include user confirmation that the program selected as desired content by the artificial intelligence of the media consumption gap filler 110a, 110b is actually the content the user is attempting to watch or hear. This confirmation may be performed by a graphical user interface prompt that is presented to the user, for example, at the computer 102, such as on the display monitor 924, as shown. Figure 5 As shown and described subsequently, this allows the user to click a button that a particular program is the desired primary selection. Such confirmation can be requested via a question played through a speaker connected to the computer 102, and the confirmation response can be picked up by a microphone connected to the computer 102 or another media device of the user. This audio confirmation can also be performed via a smart speaker that includes a microphone for capturing the audio response spoken by the user. By clicking a box or button on the GUI or by voice response to the smart speaker, the user can give or reject confirmation of the suggestion provided by the media consumption gap filler 110a, 110b.
[0041] In one embodiment, a user has watched a new episode of X on Channel Z on a particular day (e.g., Tuesday) during the first broadcast showing of the first two episodes. If the user then switches to Channel Z on the same day of the week, e.g., Tuesday, mid-month, a little later than ten minutes before the scheduled start time for the new episode of X, the media consumption gap filler 110a, 110b can identify or determine that the user is waiting to watch Program X, which is scheduled to start in 10 minutes. The media consumption gap filler 110a, 110b saves and records the user's view of Program X that was viewed the previous day of the month. If the user switches their media consumption device (e.g., their computer 102 or other television or smartphone) to Channel Z, the media consumption gap filler 110a, 110b has additional evidence that the user wants to watch Program X, which is scheduled to start in ten minutes. The media consumption gap filler 110a can also generate a GUI on the display of the computer 102 asking the user if they want to watch Program X starting in 10 minutes. In response, the user can activate a box or button on the GUI to give or refuse confirmation. Such confirmation can also be requested via a question and a voice response played / picked up by a speaker connected to the computer 102.
[0042] The media consumption gap filler program 110a may also generate another GUI on the computer 102 that requires confirmation that the user wants to watch the personalized video while the user waits 10 minutes for the new episode of X to begin displaying.
[0043] exist Figure 2In step 212 of the illustrated media consumption gap filling process 200, the duration from the current time to the scheduled start of the desired future content d1 is calculated. The desired future content may be a desired program. This duration may be considered a first duration. A timestamp may be obtained from the program at the current time or when the user selects the desired program. The timestamp may be obtained from another reliable source that tracks time via the internet, or from a time maintained by computer 102 or server 112. This calculation may include subtracting the scheduled start time from the current time or from the time the user selects the desired program. If the user has selected a channel to watch at 7:55 PM and the desired program starts at 8:00 PM, the duration may be a total of five minutes. The duration may be calculated to the nearest second or rounded to the nearest minute. The media consumption gap filling programs 110a, 110b may periodically crawl a regularly updated TV broadcast schedule or may access such a schedule to learn the scheduled start times of upcoming programs and the scheduled start time of the desired program. The media consumption gap filler 110a, 110b may alternatively or additionally have an API connection to a cable provider or to a streaming service to access published broadcast schedules. Cable providers and streaming services receive updates about their schedules from individual channels, which they use to build a comprehensive broadcast schedule for all channels.
[0044] exist Figure 2 In step 214 of the illustrated media consumption gap filling process 200, gap filling content capable of filling a duration is identified from a personalized media corpus associated with the user. The gap filling content may be first gap filling content and may have a duration sufficient to fill a first duration, e.g., from a current time to a scheduled start time of the start of a desired future content (e.g., a desired program). The personalized video of the gap filling content may include a recap of a previous episode of a program from a current season of the program, or may include a recap of a previous season of the program, or may include a video from a user at a time when the user is not currently viewing the gap filling content. New videos from content creators subscribed to on the platform may include a sports highlight package featuring highlights of recent games from the user's favorite sports teams, and may also include portions of content from other programs or videos that the user previously started but did not finish. In some instances, the media consumption gap filler program 110a, 110b identifies those media elements stored in the personalized media corpus that have the greatest relevance to the desired content (e.g., to the desired program). This relevance may be a contextual relevance of the desired program to the media in the user's personalized media corpus. For example, if the desired program is Program X, the identified and selected gap filler content from the personalized media corpus may include or may include all media elements that rate, summarize, or preview Program X. This identified gap filler content may have a duration that is closest to the first duration of all possible media selections in the user's personal corpus of injectable media content. The selected gap filler content may be a single media element, or may be an aggregation or concatenation of multiple media elements that together fill the first duration, i.e., individually, they would not fill the entire first duration, but together, they may fill all or substantially all of the first duration.
[0045] Step 214 may include the media consumption gap filler 110a, 110b automatically identifying and selecting content from the first user's personalized media corpus.
[0046] Alternatively or in addition, step 214 may include the media consumption gap filler 110a, 110b presenting a selection or selections from the personalized media corpus to the user for selection or confirmation through manual supervision. The presentation for manual management may include presentation of a graphical user interface (GUI) that displays or displays one or more selections on a screen of the computer 102 or another device of the user, so that the user can manually manage the selection by clicking a button or scrolling to the selection and then clicking. The presentation for manual management may include audio presentation via the user's device or a speaker or smart speaker of the user's computer 102, so that the user can manually manage the selection by speaking a response captured by a microphone of the computer 102 or another device of the user.
[0047] Step 214 may alternatively or additionally include the media consumption gap filler 110a, 110b presenting a filtering question to the user, whereby after the media consumption gap filler 110a, 110b receives the filtering response of the media consumption gap filler 110a from the user, 110b can more easily identify content of interest to the user from the personalized media corpus. This presentation of the filtering question may include displaying or presenting a graphical user interface (GUI) of the filtering question on a screen of the computer 102 or another device of the user, so that the user can manually type a response using a keyboard or mouse. This presentation of the filtering question may include audio presentation via the user's device or a speaker or smart speaker of the user's computer 102, so that the user can manually respond to the filtering question by speaking a response captured by a microphone of the computer 102 or another device of the user. The filtering question may be about the type of filler material desired or the source of the desired filler material. In one embodiment, the media consumption gap filler 110a, 110b asks the user whether the user would like to watch a preview or recap video related to the current broadcast program from the main channel, another video related to dogs and dog care, or another video about the latest celebrity gossip as part of a rerun of an old program. Filtering questions can ask whether the user wants to watch only the desired program-related material or any media material that is of interest to the user.
[0048] Step 214 may include a parental option or sensitivity option for which the ratings of the desired program are analyzed and for which age-appropriate gap-filling content is identified based on the television ratings and the channel on which the desired program will be presented.
[0049] In some instances, step 214 may include a dynamic check for new media content that can be immediately added to the personalized media corpus already generated for the user. This dynamic check may search for media components that have a high or strong relationship with the desired program or desired content but have not yet been added to the personalized media corpus. Such a dynamic check may target newly presented media, such as media from social media that was unavailable during the previous generation of the personalized media corpus that occurred in step 204. If new content is discovered that has a stronger relationship with the desired program than any existing content in the personalized media corpus, step 214 may include the newly discovered content as gap-filling content, bypassing the identification of other content in the user's personalized media corpus. This dynamic check may include topic analysis and natural language processing (e.g., Word2Vec processing) of event descriptions with tags from available media content and new media content (such as media presented on social media). Thus, in this instance, user preferences or keywords stored for the user's profile in the media consumption gap-filler program 110b may be bypassed, and instead keywords for the desired program may be compared with new media content tags. The dynamic check may include a prompt to crawl the user's social media accounts, the user's email account, or the user's device to find messages, links, or posts that have recently been received from a specified connection or from a contributor that includes media to be added to the user's personalized media corpus.
[0050] exist Figure 2 In step 216 of the illustrated media consumption gap filling process 200, the selected gap filling content is presented. As part of step 216, the media consumption gap filling program 110a, 110b may begin playing a personalized video to the user to fill the duration until the desired content begins, for example, to fill a ten-minute gap or duration until program X begins. This presentation of the gap filling content may occur on the user's first media consumption device or on the user's second media consumption device, such that the user intends to watch the desired content on the first media consumption device. The presentation may occur via the presentation of both video and audio, the display of only video, or the playback of only audio. In some embodiments, a queue or buffer memory space may be provided at the user's viewing device (e.g., at a television or at a computer 102) that allows the gap filling content to be stored and ready for direct playback at the user's device.
[0051] If a user preset for flexible gap filling is received in step 206, then if the gap filling content is not complete, then the presentation may begin a short time after the scheduled start time of the desired content. This overlap with the program time of the desired content may be thirty seconds, one minute, two minutes, or some other fraction of time. In some instances, the media consumption gap filler programs 110a, 110b may have DVR capabilities so that the desired content can be played from the beginning even if the media consumption gap filler program 110b switches to the desired content a short time after the scheduled start time. If the user presets a strict end of gap filling in step 206, then the media consumption gap filler program 110b may switch control of the broadcast channel to the normal broadcast stream precisely at the scheduled start time of the desired content (e.g., the desired program). In such a case, if the desired content is scheduled to start at 8:00 PM, then the media consumption gap filler programs 110a, 110b may switch control of the broadcast channel to the normal broadcast stream precisely at 8:00 PM.
[0052] This step 216 may include Figure 3B Execution of the media skip process 348 is shown. In the media skip process 348, step 216 is first performed while presenting gap-filling content, which may include presenting a personalized media component to the user during the gap-filling period. In step 352, a skip request is received from the user. The skip request indicates that the user is choosing not to view the personalized media content presented during step 216, such as the first gap-filling content. In step 354, the remaining time of the personalized media component to be skipped is determined. The remaining time may be for the unwatched portion of the first gap-filling content.
[0053] In step 356, additional personalized media content is added to the queue to fill the determined remaining time. As part of this step 356, additional personalized media content may be identified from a personalized media corpus of injectable media content associated with the first user. The identified additional personalized media content may include or be referred to as second gap-filler content. The second gap-filler content may have a playback length referred to as a replacement duration. The queue may be a list of access instructions that the media consumption gap-filler programs 110a, 110b may use to locate desired media on the internet or on one of the broadcast platforms. The queue may also be a memory storage device at the user's device that may hold video files sent to the user's device as gap-filler content. In step 358, more personalized media is presented to the user during the gap-filling period. The additional personalized media content added to the queue, such as the second gap-filler content, may be initially presented after a skip or at the end of a sequence of other media presented from the personalized media corpus associated with the user. Thus, the additional personalized media content may either solely fill the remaining time of the first duration or partially fill the remaining time of the first duration. The skip request performed in step 352 may be accomplished via voice activation captured via a microphone associated with the media consumption gap filler 110a, 110b, for example, via a microphone in the computer 102 or in another device of the user that may communicate with the computer 102 or with the server 112 via the communication network 116. The skip request performed in step 352 may be accomplished via a remote control of the computer 102 or another device of the user or via an input device (e.g., a keyboard, such as Figure 5 This is accomplished by using the keyboard 926 shown in and described below.
[0054] The skipping of the media skip process 348 may generate a feedback request to the user at some point during or after execution of the media skip process 348, whether the user requested a temporary skip or whether the user does not wish to view the skipped material at any future time. Such a feedback request may occur via a GUI or via an audio request via a smart speaker.
[0055] This step 216 may include Figure 3A The final step from the social media connection process 300 shown, step 308, is where shared media (e.g., shared videos) or friend media content received from the user's designated social media connections is presented. The designated social media connections are designated as contributors to the personalized media corpus associated with the user.
[0056] In some embodiments, the playing of the gap filler content in step 216 may include playing advertisements inserted by the media consumption gap filler programs 110a, 110b. Such advertisements will have a shorter length than traditionally occurs in regular commercial breaks. Such advertisements will occupy some but not all of the duration filled by the gap filler content. Such advertisements may occupy less than half of the duration filled by the gap filler content. For example, if the gap filler content is selected to fill a twelve-minute duration before the start of a desired program, two minutes or less of the twelve minutes may be advertisements inserted by the media consumption gap filler programs 110a, 110b, while the remaining ten minutes or more may be personalized media. Such advertisements selected may have some relationship to the desired program, the gap filler content, or to the user's preferences saved in the user profile.
[0057] If a filtering question and response are provided and received in step 214, gap-filling content identified based on the response to the filtering question may be presented. For example, if the user indicates in response to the filtering question that the gap-filling media should be videos of dogs, then the gap-filling content presented in step 216 is all videos of dogs or videos that include at least some dogs.
[0058] exist Figure 2 In step 218 of the illustrated media consumption gap filling process 200, a query occurs regarding whether the start of the desired content is confirmed to have occurred after the end of the gap filling content. The user can set preferences regarding whether the user desires confirmation of the start of the desired program via a GUI or verbal instructions captured by the smart speaker. These preferences can be set during user opt-in or at some other prior time. The media consumption gap filling program 110a, 110b can also ask the user during the gap filling process whether to confirm the start of the desired content.
[0059] If step 218 is negative, then Figure 2 In step 220 of the illustrated media consumption gap filling process 200, the start of the desired content is checked. In at least some embodiments, this check can occur by receiving a notification from the user that the desired content has started on a broadcast channel. A graphical user interface can be generated and presented to the user to inquire whether the desired content has started on the broadcast channel, and when the user actuates a confirmation button, the display is confirmed. An audio question can be presented to the user via a speaker, and a microphone can then capture the response provided by the user.
[0060] Step 220 may include Figure 4B4. The desired content broadcast confirmation process 420 shown in FIG. The desired content broadcast confirmation process 420 can be performed to determine whether the desired content (e.g., a desired program) has started after the scheduled start time of the desired content. Sporting events often have uncertain end times. Their end times can vary depending on the number of timeouts that occur during the game, the number of stoppages for fouls, video reviews, or injuries, or whether the game enters an overtime period. Such variable end times can interfere with the broadcast schedule entered into the media guide for the day, because broadcasting such a game or match toward its end may subsequently extend beyond the initially planned broadcast time window and push into the time slot of the program scheduled to follow the game or match. In some instances, a program may be scheduled to start at a certain time, but will not actually start until a time after the scheduled time entered into the media guide. In such instances, it is helpful for the media consumption gap filling programs 110a, 110b to confirm whether the scheduled program has indeed started at its scheduled start time. If the actual start time of the desired program has been pushed back, gap filling can continue.
[0061] The determination or confirmation that occurs in conjunction with the desired content broadcast confirmation process 420 may include collecting, acquiring, and comparing steps. As part of the desired content broadcast confirmation process 420, in step 422, information from broadcasts that were broadcast on the first broadcast channel during the scheduled time of the desired program may be collected. In step 424, media guide information related to the desired content (e.g., with the desired program) may be acquired. In step 426, the collected information is compared to the media guide information. This comparison may be used in a query in step 428 to indicate a match or mismatch of the media being shown compared to the desired content scheduled to be shown at that time. If the comparison in step 428 indicates a match, step 430 may be performed because more gap filler content may be identified from the personal corpus of injectable media content associated with the user. This additional gap filler content may be referred to as second gap filler content. Following step 430, a query may be performed. Figure 2 Step 224 shown, because more gap filling content can be played or presented from the personalized media corpus associated with the user. If the comparison indicates a lack of a match in step 428, then the Figure 2 Step 226 is shown, where the desired content, such as the desired program, may be allowed to be played or presented on the first broadcast channel. The playing or presentation may occur on the user's media consumption device, such as the first media consumption device.
[0062] The information gathering in step 422 may include gathering audio information or visual information from a broadcast played on the first broadcast channel during the scheduled time of the desired program.
[0063] To gather audio information, the audio output of a program being broadcast can be recorded. The audio recording can then undergo speech-to-text conversion to produce converted text. The converted text can then be compared with text and keywords from the media guide information describing the desired program. If some or many of the keywords match, the media consumption gap filler 110a, 110b can assume that the program being broadcast is the desired program. Thus, gap filling is no longer necessary for the user to view this repetition, as the user can now watch the desired program. The audio information can also include a recording of the theme song of a regularly scheduled program. If the user already watches the program regularly, the theme song can be recorded in the user profile. The recorded broadcast song can be compared with the recorded song in the profile to determine whether the two songs match, whereby a match indicates that the desired program is indeed being broadcast.
[0064] To gather visual information, the media consumption gap filler 110a, 110b may capture multiple screenshots of the broadcast's visual video output and record them as images. The media consumption gap filler 110a, 110b may perform natural language processing on the images to parse out any text present in the images. Such text may include the title of a program presented during the program's introductory segment. The media consumption gap filler 110a, 110b may then compare this text with the title provided in the media guide information describing the desired program. If the text matches, the media consumption gap filler 110a, 110b may assume that the program being broadcast is the desired program. Thus, gap filling is no longer necessary for the user to view this repetition, as the user can now view the desired program. In some instances, facial images of actors / actresses / participants of the program may be captured in the images. The media consumption gap filler 110a, 110b may compare these captured images with the facial images of the actors / actresses / participants shown in the media guide information describing the desired program. If the images match, the media consumption gap filling programs 110a, 110b can assume that the program being broadcast is the desired program. Thus, gap filling is no longer necessary for this repetition of the user's viewing because the user can now view the desired program.
[0065] In at least some embodiments, presentation of the first gap filler content (e.g., the presentation that occurs in step 216) can continue until confirmation of the start of the desired content (e.g., a desired program). This confirmation can be provided manually by the user or automatically via program inspection, as described below. The first gap filler content can be played on the user's second device while the media consumption gap filler program 110a, 110b confirms via the first device that the desired content has begun. In some embodiments, the first gap filler content can be played on the user's first device while the media consumption gap filler program 110a, 110b confirms via the first device that the desired content has begun. The media consumption gap filler program 110a, 110b can use another media consumption device or another computer to confirm the start of the desired content while the first gap filler content continues to be presented via the user's first device. Such other device or other computer can be located at a remote location near the server 112, or can include the server 112 interpreting a stream from a channel scheduled to broadcast the desired content.
[0066] Step 222 may constitute a query as a result of the check that occurred in step 220. The media consumption gap filler 110a, 110b may have the result from step 220 to perform step 222 by making a binary decision of either confirmation or no confirmation.
[0067] If the query at step 222 is negative, then Figure 2 In step 224 of the illustrated media consumption gap filling process 200, more gap filler content from the personalized media corpus associated with the user is played. This additional gap filler content may be referred to as second gap filler content. This step 222 may include identifying the second gap filler content from the personal corpus of injectable media content associated with the first user. An identification process similar to the process used to manage the identification of step 214 may be used.
[0068] If step 218 is negative or if step 222 is positive, then Figure 2 In step 226 of the illustrated media consumption gap filling process 200, the desired content is permitted to be played. As part of this permission, the media consumption gap filling programs 110a, 110b may terminate all coverage of the broadcast content of the channel of the desired program, making the desired program freely playable and viewable by the user. Because the user is now viewing the desired program, the current demand for the gap filling content has ended.
[0069] exist Figure 2In step 228 of the illustrated media consumption gap filling process 200, the personalized media corpus associated with the user is updated. This step 228 may include deleting the first gap filling content that was viewed or presented to the user in step 216. The first gap filling content may be deleted from the personal corpus of injectable media content associated with the first user because the user has now viewed it and may not wish to view it again. The user may set a preference in the user profile of the media consumption gap filling program 110a, 110b regarding whether the user is interested in viewing repetitions of media content or whether content should be deleted from the corpus after viewing the content.
[0070] Step 228 may also include adding to the personalized media corpus associated with the first user, for example, Figure 4A This process may be as shown in the process 400 for adding media from similar users. Such addition may include the steps of clustering multiple user profiles, locating a profile of another user that matches the cluster, and adding content from the other user's media corpus to the personalized media corpus associated with the first user. In step 402 of the process 400 for adding media from similar users, multiple user profiles may be clustered based on the media consumed. This step 402 may be performed by the media consumption gap filler 110b, which may access the profiles of different users who have opted in to participate in the media consumption gap filler programs 110a and 110b. Clustering may include a K-means approach to clustering using the preferences and viewing history of each user. In step 404, a second user profile within the first cluster of the multiple user profiles may be located. The first user's profile may also be within the first cluster. The second user profile may represent a second user. Another personal corpus, or a second personal corpus, into which media content may be injected may be associated with the second user. In step 406 , media content elements from a second personalized media corpus associated with the second user may be added to the first personalized media corpus associated with the first user.
[0071] Step 228 may include Figure 3A A portion of the from social media connection process 300 is shown. In the from social media connection process 300, in step 302, a user selects one or more of his or her social media connections to have access rights and receives a designation as a contributor to add media content to a personalized media corpus associated with the first user. In step 304, the designated social media connection selects a video to share with the user. In step 306, the shared video / media is added to the personalized media corpus associated with the first user. The shared video / media may be referred to as friend media content.
[0072] If a skip request occurs, in which the user requests to skip some of the personalized media content presented in step 216, for example, if Figure 3B If a skip occurs during the media skip process 348 shown and described above, the skip can be used to help update the personalized media corpus in step 228, as occurs in step 228. In such an embodiment, step 228 may include deleting the skipped content from the personalized media corpus and may also include deleting or demoting other content similar to the skipped content. Such demoting may include receiving other similar material with a lower priority when, for example, future gap-filling content is identified in future iterations of step 214. In some embodiments, such deletion or demoting may occur if the user confirms, via a subsequent input request generated by the media consumption gap filler 110a, 110b, that the user is not interested in viewing the skipped material at a future time. In some cases, the user may be interested in viewing the skipped material at a future time, but not at the time of the skip. A GUI or audio request from the media consumption gap filler 110a, 110b may assist in interpreting the skip action performed by the user. Thus, the skip can constitute a feedback loop to help the artificial intelligence of the media consumption gap filler 110a, 110b more accurately select media components of interest to the user.
[0073] Step 228 may also include a feedback request generated by the media consumption gap filler 110a, 110b regarding whether the user appreciated some of the gap filler content presented to the user. If the user indicates approval or appreciation, for example, via a GUI generated by the media consumption gap filler 110a, 110b or by providing an audio response to an audio question presented by the media consumption gap filler 110a, 110b. The media consumption gap filler 110a, 110b may then find media content similar to the approved or appreciated content to add such similar content to the user's personalized media corpus. Such a feedback request may be generated during a commercial break of the desired program, immediately after the presentation of the gap filler content, or at a subsequent time period (such as the next time the user turns on the media consumption device). Such feedback may be sought by the media consumption gap filler 110a, 110b by providing a button indicating "Show me more videos like this" that appears on a GUI visible to the user and clickable by the user. If the user audibly expresses approval or satisfaction with the displayed gap-filler content to the smart speaker, the media consumption gap-filler program 110a, 110b may receive such feedback.
[0074] As part of step 228, the user's profile in the media consumption gap filler 110a, 110b can be updated to track the user's viewing history and to better anticipate when the user is waiting to watch a desired program. For example, if the user watches a large amount of media associated with children's or teen programming, then the media consumption gap filler 110a, 110b can anticipate that the user's partial logging into the children's or teen-focused channel for the duration of the program may indicate that the user is waiting for a new program or episode to be broadcast on the channel in the near future. This updated user profile can be used in conjunction with the personalized media corpus to better fill gaps for the user during the user's media consumption.
[0075] The media consumption gap filling process 200 may be a repeating cycle such that after performing step 228 , the media consumption gap filling process 200 may return to step 208 as part of the cycle.
[0076] In the present disclosure, adding or sharing media content may refer to adding or sharing a link to the content or access instructions to the content, which allows the recipient to find the media content without initially sending the entire media file to the user. Alternatively, adding or sharing media content may refer to sending or adding the actual entire media file to a corpus or queue.
[0077] The artificial intelligence used by the media consumption gap fillers 110a, 110b can use a recursive neural network architecture to generate outputs of targeted program recommendations (e.g., desired program recommendations) and outputs of generating or adding to a corresponding personalized media corpus for a user of the media consumption gap fillers 110a, 110b. The neural network architecture can use user viewing history, input user viewing preferences, program ratings information, friend media recommendations, and clustering information as inputs into the neural network. When a new media element is input into the neural network, the neural network of the artificial intelligence of the media consumption gap fillers 110a, 110b can add the new media element to the user's personalized media corpus as an output, and the new media element is considered a match for the user's personalized media corpus. When a new user with user preferences and viewing plans or viewing history is input into the neural network, the neural network of the artificial intelligence of the media consumption gap fillers 110a, 110b can build a personalized media corpus for the user as an output. When the user's immediate viewing program and scrolling features, as well as daily media guide information, are input into the neural network along with the user profile, the resulting output can be suggested desired programs that the user is waiting to watch, as well as suggested gap filler content for the user while the user waits for the desired program to start. User-provided feedback on gap filler content and skip requests made by the user can help train the neural network to make improved gap filler content suggestions and better identify anticipated desired programs and appropriate times for providing gap filler content.
[0078] I understand. Figure 2 、 3A , 3B, 4A, 4B only provide illustrations of some embodiments and do not imply any limitations on how to implement different embodiments. Many modifications can be made to the depicted embodiments based on design and implementation requirements.
[0079] Figure 5 According to an illustrative embodiment of the present invention Figure 1 900 is a block diagram of the internal and external components of a computer as depicted in FIG. Figure 5 This merely provides an illustration of one embodiment and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications may be made to the depicted environments based on design and implementation requirements.
[0080] A data processing system represents any electronic device capable of executing machine-readable program instructions. A data processing system may represent a smartphone, computer system, PDA, or other electronic device. Examples of computing systems, environments, and / or configurations that may be represented by a data processing system include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, network PCs, minicomputer systems, and distributed cloud computing environments that include any of the above.
[0081] The user client computer 102 and the network server 112 may include Figure 5 Respective sets of internal components 902a, 902b and external components 904a, 904b are shown. Each set of internal components 902a, 902b includes one or more processors 906, one or more computer-readable RAMs 908 and one or more computer-readable ROMs 910 on one or more buses 912, and one or more operating systems 914 and one or more computer-readable tangible storage devices 916. The one or more operating systems 914, software programs 108, and media consumption gap fillers 110a in the client computers 102, and the media consumption gap fillers 110b in the network servers 112, may be stored on the one or more computer-readable tangible storage devices 916 for execution by the one or more processors 906 via the one or more RAMs 908 (which typically include cache memory). Figure 5 In the illustrated embodiment, each of computer-readable tangible storage devices 916 is a disk storage device of an internal hard drive. Alternatively, each of computer-readable tangible storage devices 916 is a semiconductor memory device such as ROM 910, EPROM, flash memory, or any other computer-readable tangible storage device that can store computer programs and digital information.
[0082] Each set of internal components 902a, 902b also includes a R / W drive or interface 918 for reading from and writing to one or more portable computer-readable tangible storage devices 920, such as a CD-ROM, DVD, memory stick, tape, magnetic disk, optical disk, or semiconductor storage device. Software programs, such as the software program 108 and the media consumption gap filler program 110a, 110b, can be stored on one or more of the respective portable computer-readable tangible storage devices 920, read via the respective R / W drive or interface 918, and loaded into the respective hard drive 916.
[0083] Each set of internal components 902a, 902b may also include a network adapter (or switch port card) or interface 922, such as a TCP / IP adapter card, a wireless Wi-Fi interface card, or a 3G or 4G wireless interface card or other wired or wireless communication link. The software program 108 and the media consumption gap filler 110a in the client computer 102 and the media consumption gap filler 110b in the network server computer 112 may be downloaded from an external computer (e.g., a server) via a network (e.g., the Internet, a local area network, or other wide area network) and the corresponding network adapter or interface 922. The software program 108 and the media consumption gap filler 110a in the client computer 102 and the media consumption gap filler 110b in the network server computer 112 are loaded from the network adapter (or switch port adapter) or interface 922 to the corresponding hard drive 916. The network may include copper wire, fiber optics, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers.
[0084] Each set of external components 904a, 904b may include a computer display monitor 924, a keyboard 926, and a computer mouse 928. External components 904a, 904b may also include a touch screen, a virtual keyboard, a touchpad, a pointing device, and other human-computer interface devices. Each set of internal components 902a, 902b also includes a device driver 930 to interface to the computer display monitor 924, the keyboard 926, and the computer mouse 928. The device driver 930, the R / W driver or interface 918, and the network adapter or interface 922 comprise hardware and software (stored in the storage device 916 and / or ROM 910).
[0085] The present invention may be a system, method and / or computer program product of any possible level of integrated technical detail. The computer program product may include a computer-readable storage medium (or multiple media) having computer-readable program instructions thereon, the computer-readable program instructions being used to cause a processor to perform aspects of the present invention.
[0086] Computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. Computer readable storage medium can be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer readable storage medium includes the following: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory stick, a floppy disk, a mechanical encoding device (such as a punch card or a raised structure in a groove with instructions recorded thereon), and any suitable combination of the foregoing. As used herein, computer readable storage medium should not be interpreted as a transient signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated by a waveguide or other transmission medium (for example, a light pulse by a fiber optic cable), or an electrical signal transmitted by a wire.
[0087] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network can include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in a computer-readable storage medium within the corresponding computing / processing device.
[0088] The computer-readable program instructions for performing the operation of the present invention can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, the configuration data of an integrated circuit, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, and procedural programming languages, such as "C" programming language or similar programming languages. The computer-readable program instructions can be executed entirely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or executed entirely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network (including a local area network (LAN) or a wide area network (WAN)), or can be connected to an external computer (for example, by using the Internet of an Internet service provider). In some embodiments, an electronic circuit (including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA)) can execute the computer-readable program instructions to personalize the electronic circuit by utilizing the state information of the computer-readable program instructions, so as to perform aspects of the present invention.
[0089] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It should be understood that each block of the flowchart and / or block diagram, and combinations of blocks in the flowchart and / or block diagram, can be implemented by computer-readable program instructions.
[0090] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine such that the instructions are executed via the processor of the computer or other programmable data processing apparatus to create a device for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium that can instruct a computer, programmable data processing apparatus, and / or other device to function in a specific manner such that the computer-readable storage medium having the instructions stored therein comprises an article of manufacture including instructions for implementing various aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0091] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other apparatus that causes a series of operating steps to be performed on a computer, other programmable apparatus or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable apparatus or other device implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0092] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to different embodiments of the present invention. To this end, each box in the flowchart or block diagram can represent a part of a module, segment or instruction, which includes one or more executable instructions for realizing the specified logical function. In some alternative embodiments, the functions marked in the box may not occur in the order marked in the figure. For example, depending on the functions involved, the two boxes shown in succession can actually be completed as a step, executed simultaneously, substantially simultaneously, in a manner overlapping in part or all of time, or these boxes can sometimes be executed in the opposite order. It will also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart can be implemented by a system based on special-purpose hardware, which performs a specified function or action or performs a combination of special-purpose hardware and computer instructions.
[0093] It should be understood that although the present disclosure includes detailed descriptions about cloud computing, the implementation of the teachings cited herein is not limited to cloud computing environments. Instead, embodiments of the present invention can be implemented in conjunction with any other type of computing environment now known or later developed.
[0094] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be quickly provisioned and released with minimal management effort or interaction with the service provider. The cloud model can include at least five characteristics, at least three service models, and at least four deployment models.
[0095] Features are as follows:
[0096] On-demand self-service: Cloud consumers can automatically and unilaterally provision computing capacity, such as server time and network storage, on demand without requiring human interaction with the provider of the service.
[0097] Broad Network Access: Capabilities are available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
[0098] Resource pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, where different physical and virtual resources are dynamically allocated and reallocated as needed. Location independence is important because consumers typically have no control or knowledge of the exact location of the provided resources, but may be able to specify the location at a higher level of abstraction (e.g., country, state, or data center).
[0099] Rapid elasticity: Capacity can be quickly and elastically provisioned (in some cases, automatically) to quickly scale down and quickly released to quickly scale up. To the consumer, the capacity available for provisioning generally appears unlimited and can be purchased at any time and in any quantity.
[0100] Measured services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both the provider and consumer of the utilized service.
[0101] The business model is as follows:
[0102] Software as a Service (SaaS): The ability provided to consumers is to use the provider's applications running on a cloud infrastructure. Applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based email). Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
[0103] Platform as a Service (PaaS): The capability provided to consumers is to deploy consumer-created or acquired applications on cloud infrastructure, using programming languages and tools supported by the provider. Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but do have control over the deployed applications and possibly the configuration of the application hosting environment.
[0104] Infrastructure as a Service (IaaS): The capabilities provided to consumers are processing, storage, networking, and other basic computing resources on which they can deploy and run arbitrary software, including operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but rather have control over the operating system, storage, deployed applications, and possibly limited control over selected networking components (e.g., host firewalls).
[0105] The deployment model is as follows:
[0106] Private cloud: Cloud infrastructure is operated solely for an organization. It can be managed by the organization or a third party and can exist on-premises or off-premises.
[0107] Community cloud: A cloud infrastructure is shared by several organizations and supports a specific community with shared concerns (e.g., mission, security requirements, policies, and compliance considerations). It can be managed by the organization or a third party and can exist on-premises or off-premises.
[0108] Public cloud: Cloud infrastructure is made available to the public or a large industry group and is owned by an organization that sells cloud services.
[0109] Hybrid cloud: A cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).
[0110] The cloud computing environment is service-oriented and focuses on statelessness, low coupling, modularity, and semantic interoperability. The core of cloud computing is the infrastructure consisting of a network of interconnected nodes.
[0111] Now see Figure 6 , depicts an illustrative cloud computing environment 1000. As shown, the cloud computing environment 1000 includes one or more cloud computing nodes 100 with which local computing devices used by cloud consumers (such as, for example, personal digital assistants (PDAs) or cellular phones 1000A, desktop computers 1000B, laptop computers 1000C, and / or automobile computer systems 1000N) can communicate. The nodes 100 can communicate with each other. They can be physically or virtually grouped (not shown) in one or more networks, such as the private clouds, community clouds, public clouds, or hybrid clouds described above, or a combination thereof. This allows the cloud computing environment 1000 to provide infrastructure, platforms, and / or software as services without the cloud consumer needing to maintain resources on local computing devices. It should be understood that Figure 6 The types of computing devices 1000A-N shown are intended to be illustrative only and computing node 100 and cloud computing environment 1000 may communicate with any type of computerized device over any type of network and / or network addressable connection (eg, using a web browser).
[0112] Now see Figure 7 , shows a set of functional abstraction layers 1100 provided by the cloud computing environment 1000. It should be understood in advance that Figure 7 The components, layers, and functions shown in are intended to be illustrative only, and embodiments of the present invention are not limited thereto. As depicted, the following layers and corresponding functions are provided:
[0113] The hardware and software layer 1102 includes hardware and software components. Examples of hardware components include: host computers 1104; servers based on RISC (Reduced Instruction Set Computer) architecture 1106; servers 1108; blade servers 1110; storage devices 1112; and network and networking components 1114. In some embodiments, software components include network application server software 1116 and database software 1118.
[0114] The virtualization layer 1120 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual servers 1122 ; virtual storage 1124 ; virtual networks 1126 , including virtual private networks; virtual applications and operating systems 1128 ; and virtual clients 1130 .
[0115] In one instance, the management layer 1132 may provide the functionality described below. Resource provisioning 1134 provides dynamic acquisition of computing resources and other resources used to perform tasks within the cloud computing environment. Metering and pricing 1136 provides cost tracking when resources are utilized within the cloud computing environment, and bills or invoices for the consumption of these resources. In one example, these resources may include application software licenses. Security provides authentication for cloud consumers and tasks, as well as protection of data and other resources. User portal 1138 provides access to the cloud computing environment for consumers and system administrators. Service level management 1140 provides cloud computing resource allocation and management so that the required service levels are met. Service level agreement (SLA) planning and fulfillment 1142 provides pre-arrangement and procurement of cloud computing resources in anticipation of future requirements for the cloud computing resources according to the SLA.
[0116] The workload layer 1144 provides examples of functionality that can utilize a cloud computing environment. Examples of workloads and functionality that can be provided from this layer include: mapping and navigation 1146; software development and lifecycle management 1148; virtual classroom education delivery 1150; data analytics processing 1152; transaction processing 1154; and media consumption gap filling 1156. The media consumption gap filling programs 110a, 110b provide a way for users to fill gaps while they wait for their desired program to begin.
[0117] The terms used herein are for the purpose of describing specific embodiments only and are not intended to limit the present invention. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises," "comprising," "includes," "including," "has," "having," "with," and the like, when used in this specification, specify the presence of the recited features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0118] The description of various embodiments of the present invention has been presented for illustrative purposes and is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, practical applications, or technical improvements over technologies found in the marketplace, or to enable those of ordinary skill in the art to understand the embodiments disclosed herein.
Claims
1. A method for media consumption gap filling, the method comprising: receiving, via a computer system, a notification that a first user has selected a first broadcast channel to view a first program while the first broadcast channel is showing the first program; determining, via the computer system, a desired program to be scheduled to be presented via the first broadcast channel at a time after the first program ends; calculating, via the computer system, a first duration, wherein the first duration begins at a current time and ends at a scheduled time for the start of the desired program; identifying, via the computer system, first gap filler content, wherein the first gap filler content has a duration sufficient to fill the first duration, and wherein the first gap filler content is from a first personalized media corpus associated with the first user; presenting, via the computer system, the first gap-filling content; The method further comprises: determining, via the computer system, whether the desired program has started after the scheduled time for the start of the desired program, wherein determining whether the desired program has started comprises: collecting, via the computer system, information from broadcasts played on the first broadcast channel during the scheduled time of the desired program; obtaining, via the computer system, media guide information associated with the desired program; and comparing, via the computer system, the collected information with the media guide information; In response to determining that the desired program has not yet begun, identifying, via the computer system, second gap-filler content based on the personalized media corpus associated with the first user; and The second gap-filling content is presented via the computer system.
2. The method of claim 1 , further comprising receiving, via the computer system, a first user preset from the first user, wherein the first user preset comprises preferences for: Flexible gap filling, which allows the presentation to extend beyond the scheduled time of the start of the desired program, or A strict end of gap filling that causes the presentation to end at the scheduled time of the start of the desired program.
3. The method of claim 1 , wherein the first gap-filling content comprises restatement content; wherein the recapitulated content includes a recapitulation of previously screened media; and The previously shown media is related to the desired program.
4. The method of claim 1 , wherein the first gap-filling content comprises an ending portion of the first media content; and The beginning portion of the first media content has been previously viewed by the first user.
5. The method according to claim 1, further comprising: receiving, via the computer system, a skip notification that the user has chosen not to currently view the first gap-filler content; determining, via the computer system, a remaining time of an unwatched portion of the first gap-filler content; identifying, via the computer system, second gap filler content having an alternate duration sufficient to fill the remaining time, the second gap filler content being from the personalized media corpus associated with the first user; as well as The second gap-filling content is presented via the computer system.
6. The method according to claim 1, further comprising: adding to the personalized media corpus associated with the first user; Wherein, the adding includes: clustering, via the computer system, a plurality of user profiles based on consumed media; locating, via the computer system, a second user profile in a first cluster of the plurality of user profiles, wherein the first user's profile is also in the first cluster, wherein the second user profile represents a second user, and wherein a second personalized media corpus is associated with the second user; and Media content elements from the second personalized media corpus associated with the second user are added, via the computer system, to the first personalized media corpus associated with the first user.
7. The method according to claim 1, further comprising: receiving, via the computer system, a designation of the user's social media connections as contributors to the personalized media corpus associated with the first user; receiving, via the computer system, friend media content from the social media connection; as well as The friend media content is added, via the computer system, to the first personalized media corpus associated with the first user. 8 . The method of claim 1 , wherein the first user selects the first broadcast channel to view by turning a media consumption device to the first broadcast channel.
9. The method of claim 1, wherein the first program directly precedes the desired program on the first broadcast channel.
10. The method of claim 1 , wherein determining the desired program comprises: A selection notification is received via the computer system that the first user has selected the first broadcast channel at a point beyond the midpoint of a first program duration of the first program.
11. The method according to claim 1 , further comprising: The start of the desired program is confirmed via the computer system, wherein the presentation of the first gap-filler content continues until the confirmation of the start of the desired program.
12. A computer system for media consumption gap filling, the computer system comprising: One or more processors, one or more computer-readable memories, one or more computer-readable tangible storage media, and program instructions stored on at least one of the one or more computer-readable tangible storage media for execution by at least one of the one or more processors via at least one of the one or more computer-readable memories, wherein the computer system is capable of performing a method comprising: while a first broadcast channel is showing a first program, receiving a notification that a first user has selected the first broadcast channel to watch; determining a desired program scheduled to be presented via the first broadcast channel at a time after the first program ends; calculating a first duration, wherein the first duration begins at a current time and ends at a scheduled time for the start of the desired program; identifying first gap-filler content, the first gap-filler content having a duration sufficient to fill the first duration, and the first gap-filler content being from a first personalized media corpus associated with the first user; presenting the first gap-filling content; The method further comprises: determining whether the desired program has started after a scheduled time for the start of the desired program, wherein determining whether the desired program has started comprises: collecting information from broadcasts played on the first broadcast channel during the scheduled time of the desired program; obtaining media guide information associated with the desired program; and comparing the collected information with the media guide information; In response to determining that the desired program has not yet begun, identifying second gap-filler content based on the personalized media corpus associated with the first user; and The second gap-filler content is presented.
13. The computer system of claim 12, wherein the method further comprises: adding to the personalized media corpus associated with the first user, wherein the adding comprises: Clustering multiple user profiles based on the media consumed; locating a second user profile in the first cluster of the plurality of user profiles, wherein the first user's profile is also in the first cluster, wherein the second user profile represents a second user, and wherein a second personalized media corpus is associated with the second user; and Media content elements from the second personalized media corpus associated with the second user are added to the first personalized media corpus associated with the first user.
14. The computer system of claim 12, wherein determining the desired program comprises: A selection notification is received that the first user has selected the first broadcast channel at a point beyond the midpoint of a first program duration of the first program, wherein the first program directly precedes the desired program on the first broadcast channel.
15. A computer program product for media consumption gap filling, the computer program product comprising program instructions, wherein the program instructions are executable by a computer to cause the computer to perform a method comprising: while a first broadcast channel is showing a first program, receiving a notification that a first user has selected the first broadcast channel to watch; determining a desired program scheduled to be presented via the first broadcast channel at a time after the first program ends; calculating a first duration, wherein the first duration begins at a current time and ends at a scheduled time for the start of the desired program; identifying first gap-filler content, the first gap-filler content having a duration sufficient to fill the first duration, and the first gap-filler content being from a first personalized media corpus associated with the first user; presenting the first gap-filling content; The method further comprises: determining whether the desired program has started after a scheduled time for the start of the desired program, wherein determining whether the desired program has started comprises: collecting information from broadcasts played on the first broadcast channel after the scheduled start time of the desired program; obtaining media guide information associated with the desired program; and comparing the collected information with the media guide information; In response to determining that the desired program has not yet begun, identifying second gap-filler content based on the personalized media corpus associated with the first user; and The second gap-filler content is presented.
16. The computer program product of claim 15, wherein the method further comprises: adding to the personalized media corpus associated with the first user, wherein the adding comprises: Clustering multiple user profiles based on the media consumed; locating a second user profile in the first cluster of the plurality of user profiles, wherein the first user's profile is also in the first cluster, wherein the second user profile represents a second user, and wherein a second personalized media corpus is associated with the second user; and Media content elements from the second personalized media corpus associated with the second user are added to the first personalized media corpus associated with the first user.
17. The computer program product of claim 15, wherein determining the desired program comprises: A selection notification is received that the first user has selected the first broadcast channel at a point beyond the midpoint of a first program duration of the first program, wherein the first program directly precedes the desired program on the first broadcast channel.
Citation Information
Patent Citations
Method and apparatus for providing continuous programming on a broadcast channel
US20070033623A1
User directed customized adjustable content insertion
US20130212611A1
Systems and methods of facilitating installment-by-installment consumption of discrete installments of a unitary media program
US20150016800A1
Systems and methods to deliver a personalized mediacast with an uninterrupted lead-in portion
US20150074732A1
Content Recommendation System and Method-Based Implicit Ratings
US20200221181A1