Filtering of content in near real time

Aspects of the present invention provide an approach for customizing media content being consumed at a location. For each of the viewers in a group consuming the media content at the location, a media profile having a set of media content preferences is created. These media profiles are aggregated to generate a composite profile that has a set of content restriction preferences for the group. As the media content is provided to and being consumed by the group, the media content is analyzed to identify any elements that have attributes that may be unsuitable to some viewers. If an element has a suitability attribute that violates the content restriction preferences for the group, the media content is modified to filter out the element.

TECHNICAL FIELD

The subject matter of this invention relates generally to media content delivery. More specifically, aspects of the present invention provide a solution that filters media content in near real time based on the preferences of the viewers of the media content.

BACKGROUND

In today's modern world, the amount of media content, such as audio/video media content, that is available for consumption is ever increasing. Where a few decades ago, there were only a mere handful of channels broadcasting live television, the advent of cable, satellite, and streaming television services has dramatically increased the number of channels that provide media content. Moreover, new streaming services, such as Netflix, Hulu, Youtube, Amazon Prime and others, now provide on demand streaming of media content. (All trademarks and trade names used herein are the property of their respective owners and are used for illustrative and descriptive purposes only.) Added to these, are increased ways of storing media content for later consumption, such as digital video recorders (DVR), digital video disks (DVD), and/or the like.

With the increase of media content options, it has become increasingly difficult to select which content to consume. While some media content may be enjoyable and/or appropriate for most or all audiences, other media content may contain elements that are inappropriate, uncomfortable, unenjoyable, and/or unhealthy for some audience members. This difficulty can become even more challenging when the content is being consumed by a group of viewers, who may have different ages, social backgrounds, health issues, and/or the like.

SUMMARY

In general, aspects of the present invention provide an approach for customizing media content being consumed at a location. For each of the viewers consuming the media content at the location, a media profile having a set of media content preferences is created. These media profiles are aggregated to generate a composite profile that has a set of content restriction preferences for the group. As the media content is provided to and being consumed by the group, the media content is analyzed to identify any elements that have attributes that may be unsuitable to some viewers. If an element has a suitability attribute that violates the content restriction preferences for the group, the media content is modified to filter out the element.

One aspect of the invention provides a method for customizing media content being consumed at a location, comprising: creating, for each viewer of a set of viewers consuming the media content at the location, a media profile having a set of media content preferences; generating a composite profile having a set of content restriction preferences for the set of viewers consuming the media content at the location based on a aggregation of media profiles corresponding to each of the set of viewers; analyzing the media content as the media content is being consumed to identify a suitability attribute for each element within the media content; and modifying the media content to filter out an element within the media content in response to a determination that the suitability attribute violates the set of content restriction preferences.

Another aspect of the invention provides a system for customizing media content being consumed at a location, comprising: a memory medium comprising instructions; a bus coupled to the memory medium; and a processor coupled to the bus that when executing the instructions causes the system to perform a method, comprising: creating, for each viewer of a set of viewers consuming the media content at the location, a media profile having a set of media content preferences; generating a composite profile having a set of content restriction preferences for the set of viewers consuming the media content at the location based on an aggregation of media profiles corresponding to each of the set of viewers; analyzing the media content as the media content is being consumed to identify a suitability attribute for each element within the media content; and modifying the media content to filter out an element within the media content in response to a determination that the suitability attribute violates the set of content restriction preferences.

Yet another aspect of the invention provides a computer program product embodied in a computer readable medium that, when executed by a computer device, performs a method for customizing media content being consumed at a location, the method comprising: creating, for each viewer of a set of viewers consuming the media content at the location, a media profile having a set of media content preferences; generating a composite profile having a set of content restriction preferences for the set of viewers consuming the media content at the location based on an aggregation of media profiles corresponding to each of the set of viewers; analyzing the media content as the media content is being consumed to identify a suitability attribute for each element within the media content; and modifying the media content to filter out an element within the media content in response to a determination that the suitability attribute violates the set of content restriction preferences.

Still yet, any of the components of the present invention could be deployed, managed, serviced, etc., by a service provider who offers to implement passive monitoring in a computer system.

Embodiments of the present invention also provide related systems, methods, and/or program products.

DETAILED DESCRIPTION

Illustrative embodiments will now be described more fully herein with reference to the accompanying drawings, in which embodiments are shown. This disclosure may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the scope of this disclosure 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.

As indicated above, aspects of the present invention provide an approach for customizing media content being consumed at a location. For each of the viewers consuming the media content at the location, a media profile having a set of media content preferences is created. These media profiles are aggregated to generate a composite profile that has a set of content restriction preferences for the group. As the media content is provided to and being consumed by the group, the media content is analyzed to identify any elements that have attributes that may be unsuitable to some viewers. If an element has a suitability attribute that violates the content restriction preferences for the group, the media content is modified to filter out the element.

Referring now toFIG. 1, a schematic of an example of a data processing system is shown. Data processing system10is only one example of a suitable data processing system and is not intended to suggest any limitation as to the scope of use or functionality of embodiments of the invention described herein. Regardless, data processing system10is capable of being implemented and/or performing any of the functionality set forth hereinabove.

Referring now toFIG. 2, a system diagram describing the functionality discussed herein according to an embodiment of the present invention is shown. It is understood that the teachings recited herein may be practiced within any type of networked computing environment70(e.g., a cloud computing environment50). A stand-alone computer system/server12is shown inFIG. 2for illustrative purposes only. In the event the teachings recited herein are practiced in a networked computing environment70, each display device86or set top box (not shown) need not have a media content modification engine (hereinafter “system72”). Rather, system72could be loaded on a server or server-capable device that communicates (e.g., wirelessly) with display device86and/or set top box to provide processing therefor. Regardless, as depicted, system72is shown within computer system/server12. In general, system72can be implemented as program/utility40on computer system12ofFIG. 1and can enable the functions recited herein. It is further understood that system72may be incorporated within or work in conjunction with any type of system that receives, processes, and/or executes commands to enable display of media content88on display device86. Such other system(s) have not been shown inFIG. 2for brevity purposes.

Along these lines, system72may perform multiple functions similar to a general-purpose computer. Specifically, among other functions, system72can customize media content88being consumed at a location (e.g., by one or more users80). To accomplish this, system72can include: a profile creating module90, a composite profile generating module92, a media content analyzing module94, and a media content modification module96.

Referring toFIG. 3, an example media content consumption environment100is shown according to an embodiment of the invention. As shown, a set of human viewers110A-N (referred to singularly as “viewer110N”) are consuming media content88on a display device106. To this extent, media content consumption environment100can be any location in which set of viewers110A-N can consume media content88, including, but not limited to, a living room, a family room, a bedroom, a home theater, a patio, or any other indoor or outdoor area in which a set of viewers110A-N may congregate to consume media content. Media content88being consumed by set of viewers110A-N can include video content, audio content, text (e.g., subtitle) content, still images, etc. To this extent, display device106used by set of viewers110A-N to view media content88can include a television, a computer monitor, a video projection device, a mobile device, one or more speakers, headphones, and/or any other solution for providing media content88. In any case, display device106can obtain media content88from one or more media delivery solutions, including, but not limited to: a radio frequency (RF) antenna112, a satellite antenna114, a media storage medium116, over a computer network118(e.g., the Internet), and/or any other solution for delivering media content88to a display device106. This media content88can be transmitted to display device106directly, or, alternatively, can be provided via one or more media decoders, which may include, but are not limited to: a set-top box122, a streaming box124, a computer126and/or the like. Whatever the case, as shown, media content88is being consumed by a plurality of different viewers110A-N located in the environment, who may have different viewing preferences based on their ages, backgrounds, tastes, sensitivities, etc.

The inventors of the invention described herein have discovered certain deficiencies in the current solutions for providing media content that matches the viewing preferences of a specific audience. For example, most content providers provide the same content to all viewers and do not provide the ability of individual users to “censor” undesired elements from content that they might otherwise be interested in consuming. Some current solutions include assigning ratings (e.g., G, PG, PG-13, R, and NC-17 for movies) to the media content88. However, the ratings value is typically assigned to the media content88as a whole and, as such, may not be reflective of the preferences of individual viewers110N, instead being either overly restrictive or overly permissive. Further, these ratings often fail to consider factors other than the maturity of the audience, such as health issues, sensitivities, and/or the like.

Other solutions attempt to remedy this by including multiple versions of the same media content88that a host can select from based on the host's understanding of the viewing preferences of the viewers110A-N. However, these solutions can be space and time intensive, requiring multiple versions of the same content to be stored, each of which must be individually prepared. Because of this, only a small percentage of media content88and/or sources of media content88allow such a selection, and the number of selections allowed may be limited. Furthermore, this solution requires a selection from a viewer110N and, as such, cannot function in an environment in which viewers110A-N have no access to the means for making such a selection (e.g., does not have a remote control), such as in a public location like a store, shopping mall, health care institution, waiting room, or the like. Still further, similar to the ratings, these selections may not specifically address the particular factor or factors that are specific to a certain individual viewer110N or group of viewers110A-N. Moreover, in cases in which the host has an incomplete knowledge of the personal details (e.g., age, current health, etc.) of each guest, the host may not be equipped to make an informed selection that is not only the preferences of the viewers110A-N but also potential conflicts between these preferences. In addition, none of the solutions currently available can dynamically alter the filtering when viewers enter or leave the media consumption environment100.

The approach set forth herein overcomes some or all of these deficiencies in current solutions. To accomplish this, this approach uses real-time classification of media content88. The media content88being consumed is buffered, classified, filtered (e.g., using a cognitive system) and then rendered according to the preferences of the viewers110A-N in the media consumption environment100. These preferences are obtained from sources that can include both stored information and social media information regarding each viewer110N, aggregated into a group profile, and constantly updated based on real-time feedback from the viewers110A-N. The result is the ability to dynamically and progressively modify any media content88from any source to adapt to the specific preferences of the viewers110A-N that are present in the environment100, allowing any viewer110N or group of viewers110A-N to view any content (with just the unwanted elements filtered out) and saving time, aggravation, and computing resources.

Referring now toFIG. 4, an example data flow diagram200is depicted according to an embodiment of the current invention. Referring additionally toFIG. 2in conjunction withFIG. 3, profile creating module90of system72, as executed by computer system/server12, is configured to create media profiles76A-N (generically single76N) for each viewer110N consuming media content in environment100. Viewers110A-N in environment100who have opted in to system72can be detected using various solutions. In an embodiment, environment100can be polled for electronic devices (e.g., cellular telephone, tablets, personal digital assistants, wearables, internet of things devices, health monitoring devices, etc.) located in environment100, and viewers110A-N associated with the discovered devices can be identified and queried as to whether they would like to participate in system72. Additionally or in the alternative, an announcement could by provided to viewers110A-N that system72is in use and asking each viewer110N to provide an indication if he or she wishes to participate. Then, facial recognition could be performed on viewers110A-N who opt in based on images from one or more cameras84located in environment100and/or voice recognition could be performed on sounds from one or more microphones85in the environment100. In any case, each viewer profile76N can be created based on user preferences stored in and retrieved from a user preference database202. The resulting media profile76N, which can be encrypted for privacy and can be purged from system72after use, can include information regarding viewer110N's age, current health status, and/or any other information that may affect viewer110N's consuming preferences regarding media content88.

The retrieved user preferences can be augmented in media profiles76A-N with information from one or more social media204accounts associated with viewer110N. For example, if a particular viewer110N indicated satisfaction or dissatisfaction with a particular piece, genre, or element of media content88in social media204, the media profile76A-N associated with the viewer110N can be augmented to reflect the preference. In an embodiment, the generation and/or augmentation of the media profile76A-N conditions with social media204can be performed by a cognitive system74based on the set of user preferences and the information from the social media account. To this extent, cognitive system74is a computer system that is configured to provide information and/or determine actions based on provided information and external contextual data. Cognitive system74has self-learning attributes that increase the accuracy of the determinations as more information and/or contextual data is provided. In an embodiment, cognitive system74can include IBM's Watson Analytics or Watson Personality Insights (Watson and IBM are trademarks of International Business Machines Corporation).

Composite profile generating module92of system72, as executed by computer system/server12, is configured to generate a composite profile208that has a set of content restriction preferences for viewers110A-N in environment100. To accomplish this, composite profile generating module92(e.g., using cognitive system74) can aggregate media profiles76A-N corresponding to each of the set of viewers110A-N. The resulting composite profile208generated by composite profile generating module92is unique to the viewers in environment100and reflects the specific types of content that would be objectionable, inappropriate, unhealthy, and/or otherwise needing to be filtered out so that every viewer can enjoy the media content88. Additionally, the composite profile208can include one or more thresholds, which may be associated with the profile as a whole or with individual content types therein.

Media content analyzing module94of system72, as executed on computer system/server12, is configured to identify which elements within media content88are and are not suitable for displaying to viewers110A-N. To accomplish this, media content analyzing module analyzes media content88as media content88is being consumed and identifies each element within media content88. This identification can be performed by cognitive system74using models that have already been trained by model generator214and placed into model repository216.

Referring now toFIG. 5, an example training system300is shown according to an embodiment. As shown, training system300includes a model generator214and a model repository216. Training is accomplished by feeding previously tagged media content88(FIG. 2) for one or more types of media310into model generator214. The previously tagged media can include sample tagged video content312, sample tagged audio content314, sample tagged subtitle content316, sample tagged image content318, and/or any other type of media310for which training is desired. In any case, the previously tagged media are run through a model generation learning system324(e.g., cognitive system74), where the previously tagged media are processed according to training parameters322to create new types of models330. As illustrated, these new types of models330include video model332, audio model334, text model336, image model338, etc., corresponding to types of media310used to create them. In any case, the newly generated models can be stored in model repository216for use by media content analyzing module94.

Referring again toFIG. 4in conjunction withFIGS. 2 and 3, in order to identify suitability attributes in the media content88elements, model selector212selects one or more of the generated content models (e.g., audio, video, subtitles, captions, etc.) from model repository216based on at least one element contained in the incoming media content88. As the media content88is received, the media content88is placed into a buffer222. Near real time classification226applies the selected set of content models to the buffered media content88(typically a few frames and a small audio sample). The results of this analysis of the buffered media content88based on the selected models are consolidated to identify a content genre (e.g., horror, vulgarity, etc.), and a confidence level is assigned to the designation.

Once the genre has been identified, each element of media content88in buffer222can be compared to the selected set of content models (e.g., using cognitive system74). Based on this comparison, suitability attributes can be assigned to the elements that indicate whether or not the particular element may or may not be suitable to certain viewers110A-N. For example, a suitability attribute for language may indicate that the language in the element may be unsuitable for viewers110A-N under the age of 13 and viewers110A-N who have certain religious preferences. In another example, a suitability attribute for stressful elements (e.g., horror, suspense, etc.) may indicate that the images and/or audio elements may be unsuitable for viewers110A-N under a certain age or viewers110A-N who have certain medical conditions. Each of these suitability attributes can also be assigned a confidence level that indicates a probability that the particular suitability attribute has been identified correctly.

Media content modification module96of system72, as executed on computer system/server12, is configured to modify media content88to filter out one or more elements within media content88that are not suitable for displaying to viewers110A-N. To accomplish this, media content modification module96determines whether the suitability attribute identified by media content analyzing module94violates the set of content restriction preferences in composite profile208. This determination can be performed based on a comparison of the suitability attribute with the composite profile208using the cognitive system. In an embodiment, real-time biometric feedback206(e.g., from medical monitoring devices associated with one or more viewers110A-N) can also be utilized in making this determination. If it is determined that the element is unsuitable, progressive censoring engine228can perform a “censoring” action of the element to filter out the unsuitable content. This action include reducing or muting the sound, blurring an image, changing a subtitle, skipping a scene, and/or any other solution for filtering media content88that is now known or later developed. In cases in which a scene is skipped, progressive censoring engine228can fast forward to the end of the scene. Alternatively, in an embodiment (e.g., in which not enough buffer exists to fast forward to the end of the scene), advertising selection224can replace the media content88with an advertisement or other relatively short length media selection until such time as the scene has ended and resumption of the media content88can occur.

In an embodiment, progressive censoring engine228can progressively modify the filtering based on one or more factors. For example, assume that the cognitive system74's comparison of the suitability attribute for an element with the composite profile208indicates that a suitability attribute exceeds a tolerance in the composite profile. Progressive censoring engine228can censor the element entirely (e.g., mute the sound, remove the subtitle, skip the scene, etc.) and the media transformation232can be provided for consumption to viewers110A-N. Alternatively, assume that the cognitive system74's comparison of the suitability attribute for an element with the composite profile208indicates a match, but that the suitability attribute is below the tolerance in the composite profile208but approaches the composite profile (e.g., within a predetermined percentage). Progressive censoring engine228can partially censor the element (e.g., incrementally lower the sound, edit words in the subtitle, blur portions of the scene, etc.) and the media transformation232can be provided for consumption to viewers110A-N. In addition, media content filter220can continue to monitor media content88and progressively increase the level of filtering as the confidence increases. For example, assume that the accuracy threshold in composite profile208is set for 80% for a horror scene at which point the sound is to be muted but that the comparison only yields a confidence level of 60%. Progressive censoring engine228can begin reducing the sound volume slowly and can continue to reduce the volume as the confidence level increases, muting the sound entirely when the confidence level reaches 80%.

This progressive censoring can also be progressively modified based on feedback from viewers110A-N. In an embodiment, feedback analyzer234can analyze various forms of feedback from viewers110A-N who have opted in as media content88is being displayed and use the feedback to retrain the system. In an embodiment, this feedback can include user actions that override the decisions from progressive censoring engine228. For example, the viewer110N may perform an action (e.g., using a remote control device) to lower the volume during an intense scene, raise the volume after media content filter220has lowered it, fast-forward through a scene, rewind to a scene that media content filter220has skipped, and/or any other action performed by viewer110N. Additionally, or in the alternative, the feedback can include feedback information from viewers110A-N gathered from external devices82that may indicate a reaction of viewers110A-N to media content or emotional state of viewers110A-N. These external devices can include, but are not limited to, a microphone85, a camera84, and/or a medical monitoring device. For example, in the event that a viewer110N is wearing a medical monitoring device and that device indicates that the viewer110N's heart rate or blood pressure exceeds a safe level, progressive censoring engine228can further modify media content88(e.g., to remove and/or minimize the effect of intense scenes).

Referring now toFIG. 6in conjunction withFIG. 2, a process flowchart400according to an embodiment of the present invention is shown. At410, profile creating module90of system72, as executed by computer system/server12, creates a media profile for each viewer110N of a set of viewers110A-N consuming media content88at a location. Each media profile has a set of media content preferences specific to the viewer110N to which it corresponds. At420, composite profile generating module92, as executed by computer system/server12, generates a composite profile that has a set of content restriction preferences pertaining to all viewers110A-N consuming the media content88at the location. This composite profile is generated based on an aggregation of the media profiles corresponding to each of the set of viewers110A-N in the location. At430, media content analyzing module94, as executed by computer system/server12, analyzes media content88as media content88is being consumed to identify a suitability attribute for each element within media content88. Finally, at440, media content modification module, as executed by computer system/server12, modifies media content88to filter out an element within media content88in response to a determination that the suitability attribute violates the set of content restriction preferences in the composite profile.

The process flowchart ofFIG. 6illustrates the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the blocks might occur out of the order depicted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently. It will also be noted that each block of flowchart illustration can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

While shown and described herein as an approach for customizing media content being consumed at a location, it is understood that the invention further provides various alternative embodiments. For example, in one embodiment, the invention provides a method that performs the process of the invention on a subscription, advertising, and/or fee basis. That is, a service provider, such as a Solution Integrator, could offer to provide functionality for customizing media content being consumed at a location. In this case, the service provider can create, maintain, support, etc., a computer infrastructure, such as computer system12(FIG. 1) that performs the processes of the invention for one or more consumers. In return, the service provider can receive payment from the consumer(s) under a subscription and/or fee agreement and/or the service provider can receive payment from the sale of advertising content to one or more third parties.

Some of the functional components described in this specification have been labeled as systems or units in order to more particularly emphasize their implementation independence. For example, a system or unit may be implemented as a hardware circuit comprising custom VLSI circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A system or unit may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices or the like. A system or unit may also be implemented in software for execution by various types of processors. A system or unit or component of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions, which may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified system or unit need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the system or unit and achieve the stated purpose for the system or unit.

Furthermore, systems/units may also be implemented as a combination of software and one or more hardware devices. For instance, system72may be embodied in the combination of a software executable code stored on a memory medium (e.g., memory storage device). In a further example, a system or unit may be the combination of a processor that operates on a set of operational data.

As noted above, some of the embodiments may be embodied in hardware. The hardware may be referenced as a hardware element. In general, a hardware element may refer to any hardware structures arranged to perform certain operations. In one embodiment, for example, the hardware elements may include any analog or digital electrical or electronic elements fabricated on a substrate. The fabrication may be performed using silicon-based integrated circuit (IC) techniques, such as complementary metal oxide semiconductor (CMOS), bipolar, and bipolar CMOS (BiCMOS) techniques, for example. Examples of hardware elements may include processors, microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), logic gates, registers, semiconductor devices, chips, microchips, chip sets, and so forth. However, the embodiments are not limited in this context.

The present invention may also be a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.

It is apparent that there has been provided approaches for customizing media content being consumed at a location. While the invention has been particularly shown and described in conjunction with exemplary embodiments, it will be appreciated that variations and modifications will occur to those skilled in the art. Therefore, it is to be understood that the appended claims are intended to cover all such modifications and changes that fall within the true spirit of the invention.