Dynamic media content

Data associated with a user is collected from one or more remote sites. A first set of media data is received from a media content source. Metadata related to the media data is stored. An association is made between the data associated with the user and the metadata. In a computing device that includes a processor and a memory, the first set of media data is modified based at least in part on the association between the data associated with the user and the metadata.

BACKGROUND

Consumers of media content, such as audio and/or video content, may have different viewing preferences from one another. For example, one consumer may be fond of content featuring frightening or violent scenes. Such content may be displeasing to another consumer. Some consumers may only want to view content having happy endings. Others may prefer content having more “realistic,” i.e., ambiguous, endings. Similarly, a consumer may be particularly fond of a character in a movie or television series, where other consumers dislike that character. Such examples abound. Unfortunately, present content delivery systems are deficient in identifying user interests and inclinations related to media content. Further, present content delivery systems lack mechanisms for modifying content in accord with user interests and inclinations.

DETAILED DESCRIPTION

Media content, e.g., a video presentation such as a movie or a television program, may be modified before, or during, a presentation on a display device. Modifications are generally made based on metadata included in the media content and collected data relating to a content user. User data may be collected from one or more social media sites. Accordingly, user interests and tastes may be accounted for to provide an enhanced viewing experience. A same media content item, e.g., a movie, may include and/or omit different content segments when presented according to collected user data for different users.

System Overview

FIG. 1is a block diagram of an exemplary content delivery system100. A media content source105stores media content110. The media content110generally includes a first set of media data, referred to as standard content111, and may also include a second set of media data, referred to as optional segments112. Further, content metadata113for the standard content and/or the segments112is generally included in the media content110, although, as explained below, some or all of the metadata113could be provided separately from the content110.

The content110may be provided via a network115to a media device120. Further, the content110may be displayed to a user via the media device120and/or a media display device121such as a television, video monitor, or the like. When content110is referred to herein as being “displayed” it is to be understood that such display could include any possible mode of displaying media data, such as a display of visual data, audio data, etc. For example, content110could be displayed by showing video or image data on a screen with or without sound, by playing audio data with or without a visual display, etc.

Collected user data125and content metadata113, stored in a computer-readable medium included in or accessible by the media device120, may be used to generate modification data126. The collected user data125may be gathered by accessing remote user data135that is available from one or more social media sources130a. . .130n, or some other remote site, e.g., some other site accessed via the network115. That is, although social media sources130are discussed in connection with the examples provided herein, other remote user data could be accessed to obtain user data135for collected data125. For example, instead of a social media source130, user data125could be collected using one or more of remote user data135for an e-commerce site, a news site, investment sites (for example to tailor news coverage to relevant articles), search engine history, fan forum/Bulletin Board Service (BBS), sites providing reference information, etc. In any case, remote user data such as data135could be collected by accessing a user's account, e.g., a user's account for a social media source130. Further, remote user data135could be accessed according to a user's other information, for example a username or handle under which a user has made comments on Twitter (i.e., tweets), posted reviews on a review web site or e-commerce web site, etc. And in any event, remote user data135may include data related to user activity, such as posts, tweets, messages, etc.

Modification data126may be used to determine whether to modify the standard content111, including whether to insert some or all of the optional segments112, prior to, or during, display of an item of media content110. Accordingly, modification data126may be used to identify a portion or portions of standard content111to be deleted, augmented, and/or replaced. In general, the content110displayed via the devices120and/or121may include some or all of the standard content111and/or one or more optional segments112.

Exemplary System Elements

The media content source105may be any one, or some combination, of various mechanisms for delivering media content110, and may depend on a type of media content110being provided. By way of example and not limitation, media content110data may be provided as video-on-demand through a cable, satellite or internet protocol television (IPTV) distribution system, as streaming Internet video data, or as some other kind of data. Further for example, the media content source105could be a computer readable medium included in or accessible by the media device120, e.g., an optical disc such as a DVD (sometimes referred to as a digital video disk) or Blu-ray™ disc, etc. In general, examples of media content110include various types of data, including audio, video, images, etc. Accordingly, examples of content sources105may include one or more of a cable or satellite television head end, a video streaming service such as generally includes a multimedia web server (or some other computing device), or some other mechanism for delivering multimedia data.

The network115represents one or more mechanisms for delivering content110from a content source105to a media device120. Accordingly, the network115may be one or more of various wired or wireless communication mechanisms, including any desired combination of wired (e.g., cable and fiber) and/or wireless (e.g., cellular, wireless, satellite, microwave, and radio frequency) communication mechanisms and any desired network topology (or topologies when multiple communication mechanisms are utilized). Exemplary communication networks include wireless communication networks, local area networks (LAN) and/or wide area networks (WAN), including the Internet, providing data communication services.

Media content110is generally delivered via the network115in a digital format, e.g., as compressed audio and/or video data. For example, MPEG refers to a set of standards generally promulgated by the International Standards Organization/International Electrical Commission Moving Picture Experts Group (MPEG). H.264 refers to a standard promulgated by the International Telecommunications Union (ITU). Accordingly, by way of example and not limitation, media content110may be provided in a format such as the MPEG-2 or the H.264/MPEG-4 Advanced Video Coating standards (AVC) (H.264 and MPEG-4 at present being consistent), or according to some other standard or standards. For example, media content110could be audio data formatted according to standards such as MPEG-1 or MPEG-2 Audio Layer III (MP3), Advanced Audio Coding (AAC), etc. Further, the foregoing standards generally include support for metadata, such as the metadata113discussed herein. Content110that using a standard or standards that do not explicitly include provisions for metadata, or standards that have limitations on metadata size, may be supplemented with discrete metadata113(e.g. separate files) which uses either embedded metadata113or information such as timecodes/time stamps/timing intervals which can be used to modify the standard content111.

Standard content111, together with metadata113related to the standard content111, generally includes portions of an item of media content110provided for general distribution. That is, standard content111is provided without regard to any instructions for customization or tailoring, e.g., such as may be performed using modification data126. For example, standard content111may present a movie, television program, video file, audio file, etc. in an original and unmodified form.

Optional segments112are portions of media content110that may be inserted into standard content111. For example, an optional segment112may include content related to standard content111, such as an outtake, extra scene, alternative scene, etc. Therefore, an optional segment112may be appropriate for insertion into standard content111at a certain location or locations in the standard content111. Further, the optional segment112could replace a portion of standard content111at a specified location or locations. Alternatively or additionally, the optional segment could augment the standard content111, i.e., it could be inserted into the standard content111at a specified location without replacing any of the standard content111. Further, more than one optional segment112could be inserted into standard content111at a specified location or locations, e.g., two optional segments112could be inserted into standard content111at a specified location in a specified sequence. Likewise, different optional segments112could be inserted into an item of standard content111at different respective locations in the standard content111.

A given segment112could be associated with more than one item of content110, just as an item of content110could include more than one segment112. Although depicted inFIG. 1as being included in an item of content110, segments112could alternatively or additionally be stored separately from the content110. For example, the content110, e.g., in metadata113, could include pointers, file paths, time codes, uniform resource locators, or other indicators of a location where associated optional segments are stored. Further for example, information about an optional segment112related to an item of content110, including information sufficient for retrieving the segment112from a local or remote storage location, could be stored in a data structure not included in a content110. In this instance, a table, file, etc., could identify an association between an item of media content110and an optional segment112. Further, such data structure could identify multiple associations between items of media content110and optional segments112.

Content metadata113generally includes indexes, pointers, or other mechanisms for identifying locations in media content110, e.g., a stream of standard content111. Such location-identifying mechanisms may be used with other content metadata113to identify locations in standard content111for modification of the standard content111based on modification data126. As stated above and detailed further below, modification data126may be generated by using collected user data125and the content metadata113.

Content metadata113may be implemented in various ways.FIG. 2is a block diagram of exemplary metadata113providing information about standard content111. Standard content111may include a plurality of media units205a. . .205n, e.g., frames or the like in a stream of compressed media data formatted according to the MPEG standard or the like. Pointers210in metadata113associate tags215in the metadata113with media units205. Thus, metadata tags215are associated with locations in the standard content111. For example,FIG. 2shows tags215aand215brespectively associated with pointers210aand210b, the pointers210aand210bpointing respectively to media units205cand205g. Further, optional segments112a. . .112ninclude media units205, e.g., as seen inFIG. 2, respective media units being associated with respective pointers210c. . .210n.

The tags215generally describe attributes of a portion or all of the standard content111and/or optional segments112. A tag215could include virtually any descriptive information related to some or all of the content111and/or segments112, such as a rating (e.g., critical, e.g., 4 stars, or maturity level, e.g., PG-13), a genre (e.g., romance, slapstick, etc.), featured characters, featured actors, geographic locations, musical titles, etc. For example, tags215could include words or phrases describing an indicated portion of the standard content111, e.g., describing a scene such as “violent,” “love scene,” etc. Further, a tag215might include attributes, e.g., “begin” and “end” indicating a beginning and an end of a portion of standard content111associated with a tag215description, e.g., “violent,” “love scene,” etc.

As also seen inFIG. 2, pointers210can associate tags215with optional segments112. Accordingly, when a tag215indicated in metadata113associated with standard content111, e.g., via a pointer210, matches a tag215indicated in metadata113associated with a segment112, the indicated segment112may be inserted into the standard content111at a location or locations indicated by the pointer210. For example, tags215aand215bin metadata113for standard content111may occur in metadata113for respective segments112aand112b, the metadata113for the segments112aand112balso including pointers210cand210d, respectively, thus providing a mechanism for inserting the segments112aand112binto the standard content111.

Alternatively or in addition to the example ofFIG. 2, Table 1 provides an example of certain content metadata113that may be included with an item of media content110, or that could be provided to the media device from a separate file, and even from a source other than the media content source105. In any case, as stated above, the metadata113, along with collected user data125, may be used for generating modification data126. Other table formats are possible, such as organizing by Segment ID, or by using “linked lists” of content for each location where optional content112may be placed, to name a few examples.

The metadata113may include an identifier for, or pointer to, an optional segment112, along with starting and ending locations, e.g., indices, in the standard content111. Further, the metadata113may include tag215data associated with the specified segment112. Thus, as seen in Table 1, the tag215“Chewbacca” may be associated with a segment112having the identifier “ABC.” Further, this segment112is appropriate to replace units205of standard content111starting at index number 010201 and ending at index number 012201. Accordingly, as explained further below, if collected user data125indicates that the user is interested in scenes featuring the character Chewbacca, the segment112specified by the segment identifier ABC could be inserted into an item of standard content111at a location indicated by the provided starting and ending indices.

As can be seen in Table 1 with reference to the segment112identifier ABC, a segment112may have multiple tags215associated with it. Conversely, although not shown, a tag215could be used to describe multiple segments112. Further, as can be seen with reference to the segment112identifier BCD, a segment112may be appropriate for association with more than one location in standard content111. In addition, as can be seen with reference to the segment112identifiers FDC and GHJK, multiple optional segments112may be appropriate for association with a same portion of standard content111. In general, segments112can be inserted into standard content111in any order or combination specified by modification data126, which modification data126may be generated by using, at least in part, metadata113.

Segment112identifiers for the last two exemplary records of Table 1 are indicated to be null values. A null segment112identifier indicates content metadata113for a portion of standard content111, although no segment112is associated with the portion of standard content111. The system100may use metadata113about portions of standard content111to delete and/or replace the portions of standard content111even if no optional segment112can be associated with the portion of standard content111.

Collected user data125generally includes information, e.g., tags or the like, indicating attributes of media content110likely to enhance a user experience. Moreover, collected user data125generally includes user data135from one or more social media sources130or other remote sites. A process for generating collected user data125is discussed in further detail below with respect toFIG. 4. Further, an example of collected user data125is provided in Table 2.

As can be seen in table 2, collected user data125may include various tags215associated with user identifiers. In general, a media device120may be used by one or more users. Media content110may be modified differently for different users, as illustrated by the fact that different tags215are provided for different users in Table 2.

Tags215can indicate either that a user wants to consume or that a user does not want to consume content110associated with the tag215. For example, in Table 2 the tag “not gory” indicates that user 0002 wants to avoid gory content. Other indicators of positive or negative user associations with a tag215could be indicated, e.g., in addition to the negative indication shown in the last record of Table 2, positive indications could be associated with a tag215to indicate a user's heightened level of interest in the tag215. For example, the user could be a Star Wars fan, but also could be an extreme fan of the character Chewbacca, wanting to see scenes including Chewbacca wherever possible.

Modification data126provides information for modifying standard content111based on collected user data125. In general, modification data126is based on an association of data included in metadata113with data included in user data125. A process for generating modification data126is discussed below with respect toFIG. 5. Moreover, Table 3 provides an example of modification data126, which could take various other formats.

As seen in record no. 1 of exemplary Table 3, modification data126could provide information relating to a portion of standard content111to be deleted when the content111is played on media device120and/or display121. That is, instead of a segment112identifier being provided, a null value is indicated. Thus, the modification data126indicates that media units205between the specified starting and ending indices should be removed when the content111is displayed for a user. Further, modification data126could provide information relating to one or more optional segments112to be inserted into the content111, as seen in records2and3. In other words, record no. 2 indicates that the segment112having an identifier ABC should replace content111starting at index 010201 and ending at index 012201. Likewise, the segment112having an identifier CDEF should replace content111starting at index 208767 and ending at index 230983. In addition, record no. 3 indicates that the segment CDEF should be followed by the segment112indicated in record no. 4. Accordingly, record no. 4 indicates that the segment112having an identifier BCD should be inserted into the standard content111at index 230983.

A social media source130is generally a known social media provider, such as Facebook, Twitter, MySpace, LinkedIn, Google+, etc. In general, user data135includes data associated with a user that is available from a remote site such as a social media source130. User data135may include data accessed from a user account on a remote site and/or data accessed about a user from the remote site. For example, social media sources130such as Twitter, Facebook, LinkedIn etc., may provide data135associated with a user without requiring a log-in to a user's account. Likewise, other remote sites may allow for access to user data135, e.g., e-commerce sites such as Amazon.com, Netflix, etc., may provide data135about a user without requiring a login to the user's account on the remote site.

In cases where a user account is used to obtain user data135, a user account on a social media source130can generally be accessed by providing a user login identifier and password. Logging in with such identifier and password generally provides access to user data135. For example, logging in to a user's Facebook account provides access to the user's Facebook page and other account information, including a user's “likes,” posts to the user's and other users' Facebook “walls,” etc. Similarly, logging into a user's Twitter account provides access to other Twitter users that the user is “following.” Further, a Twitter user's login information, or simply information relating to the user's Twitter “handle,” provides a mechanism for following the user's “tweets.” As discussed further below, such social media user data135may be used to identify tags215to be included in collected user data125.

Exemplary Process Flows

FIG. 3is a diagram of an exemplary process300for dynamically delivering media content.

The process300begins in a block305in which user data125is collected from social media sources130.FIG. 4, discussed below, provides details of an exemplary process400by which user data125is collected and stored by media device120.

Next, in a block310, media device120receives media content110from content source105. Media content110may be received from the media content source105in a variety of ways, as mentioned above. For example, the media content110may be provided as a programming channel in a satellite or cable television system, or as video-on-demand in such a system. Further, as mentioned above, media content110could be provided on a computer readable medium included in or accessible by the media device120, e.g., an optical disc such as a DVD (sometimes referred to as a digital video disk) or Blu-ray™ disc. In some cases, e.g., video-on-demand, media content110may be pushed to the media device120from the content source105to be available for user purchase, or video-on-demand media content110may be retrieved from the content source105when purchased. Further, media device120could receive media content110as a download of media data via a network such as the Internet.

Next, in a block315, media device120receives a user request to display an item of media content110. For example, a user may select a channel of satellite or cable programming, purchase a video-on-demand movie, stream a movie or video over the Internet or other network, etc.

Next, in a block320, the media device120identifies modifications, if any, to be made to the standard content111in the media content110indicated in block315. Identifying such modifications generally includes consulting modification data126, discussed above with respect to Table 3 and below with respect toFIG. 5, to determine a portion or portions of the standard content111to be modified. Further, optional segments112to be inserted into the standard content111, locations of such insertions, and whether the optional segment112is to replace, proceed, or follow a specified portion of the standard content111, may be indicated by the modification data126. Moreover, as noted above, modification data126could simply indicate that a specified portion or portions of the standard content111is to be deleted when the item be a content110is displayed to a user.

Next, in a block325, the media device120performs the modifications to standard content111determined from block320. That is, a first set of media data, the content111, may be modified based at least in part on an association between the data125associated with the user and the metadata113, such as may be indicated by modification data126. For example, the media device120could remove a portion or portions of the content111and/or replace such portion or portions of the content111with a segment112, etc.

Next, in a block330, the modified standard content111is displayed, e.g., by media device120, or as provided to the display device121by the media device120.

Next, in a block335, media device120determines whether further user data125has been collected. Block335is optional. In some implementations, the process300ends following step330. However, it is possible to collect user data125while the content111is being displayed. For example, a user may be providing social media user data135while the content111is being displayed, e.g., by posting to a Facebook wall, sending a tweet via Twitter, etc. In such event, the media device120could query various social media sources130, e.g., at regular intervals such as every two minutes, to determine if additional data135is present to be included in collected data125. Additionally or alternatively, data may be “pushed” to the media device when additional data is available. If further data is collected, the process300returns to block320. Otherwise, the process300ends following block335, and after the content111has been displayed.

FIG. 4is a diagram of an exemplary process400for collecting user data125. The process400could be initiated via a variety of mechanisms. For example, a user of media device120could be provided with a user interface for manually initiating the collection of user data125. Further, media device120could include an application, either initiated by a user or running automatically on startup, that periodically, e.g., once every thirty minutes, once every day, etc., initiates the process400.

The process400begins in a block405, in which the media device120obtains a user's account information, e.g., a login and password, for one or more social media sources130. For example, a graphical user interface could be provided, e.g., in a web browser in a computer media device120, in a screen presented in a display device121by a set-top box media device120, etc., prompting a user to enter social media account information. Further, block405may not be executed every time the process400is carried out. Social media source130account information could be stored by the media device120so that a user need not provide such account information every time the process400is carried out.

Next, in a block410, the social media source or sources130for which account information was provided in block405are queried. As mentioned above, such query generally includes obtaining social media user information135that can be used to generate tags215. The process400generally operates under instructions tailored to a specific social media source130being queried. For example, querying a user's Twitter account could include searching for Twitter hashtags, identifying other Twitter accounts being followed by the user, searching a user's tweets for certain keywords, etc. Likewise, querying a user's Facebook account could include identifying other Facebook accounts that the user has “friended,” searching for the user's “likes,” etc. It should be understood that querying of other social media sources130could similarly be done in a fashion appropriate for the particular social media source130, and the social media user data135available therein.

Next, in a block415, social media user data135collected in block410is stored as collected user data125. For example, media device120may include associated storage for storing the user data125. In general, social media user data135may be analyzed for possible tags215. For example, the media device120could store, or could obtain from a computing device such as a server within the content source105, a list of tags215that could be included in content metadata113for various items of media content110that could be provided by the content source105. The process400could then include determining whether social media user data135included data that may match a tag or tags215. For example, a list of tags215stored by the media device120could include “Luke Skywalker.” A user's social media user data135could indicate that the user had “liked” a Luke Skywalker-themed website through the user's Facebook account. This “like” could then be used to generate a “Luke Skywalker” tag215included in collected user data125for the user.

Following step415, the process400ends. However, as mentioned above, the process400is generally repeated on a periodic basis, sometimes while a user is consuming an item of media content110.

Further, variations in the process400are possible. For example, at least some of the process400could be carried out by a computing device included within the content source105, rather than according to instructions stored on the media device120. In one implementation, the process400could present a user interface, e.g., in a web browser or a screen presented by an application in a set top box or the like. Social media account information provided in block405could then be sent to the content source105. The content source105could then perform querying of social media source130accounts and collection of social media user data135. Further, the content source105could generate and store collected user data125, and/or could provide social media user data135and/or collected user data125to media device120for analysis and/or storage.

FIG. 5is a diagram of an exemplary process500for generating content modification data126. The process500could be carried out according to instructions stored and executed by a computing device within the content source105and/or the media device120. The process500begins in a block505, in which tags215stored in a user's collected user data are retrieved, e.g., from storage associated with the media device120.

Next, in a block510, the tags215retrieved in block505are used to identify tags215in metadata113of in an item of content110that has been requested by a user. In general, tags215in metadata113are identified where the tags215are related to tags215that have been generated from user data135and included in collected user data125. That is, an association may be made between a first tag or tags215in metadata113relevant to a second tag or tags215in user data125. For example, first and second tags215could be matched to one another, e.g., a “Luke Skywalker” tag215in metadata113could be matched to a “Luke Skywalker” tag in user data125.

Further, tags215could be related even if they do not match. Thus, other logic could be used to make an association between user data125and metadata113. For example, the process500could implement rules associating various tags215with one another. Consider an example in which user data125includes the first tag215“Star Wars,” and metadata113includes the second tag215“Luke Skywalker.” In this case, a rule could identify various Star Wars characters, including Luke Skywalker, as relevant to the “Star Wars” tag215.

In any event, once associated tags215are identified in metadata113, those tags215, and locations in the standard content111associated with the tags215, are stored as records in modification data126, e.g., as seen above in Table 3. Further, as mentioned above, tags215could be marked to indicate whether a user's association with the tag215was positive or negative. For example, a tag in metadata113could indicate that a portion of standard content111included extreme violence. A tag in user data125could indicate that the user dislikes violent content. In this case, the metadata113tag215could be marked in modification data126to indicate that a user feels negatively about the tag215.

Next, in a block515, portions of standard content111to be deleted, if any, are identified. For example, a tag215stored in block510could indicate that a user dislikes violent content, where a portion of standard content111included extreme violence. In that case, a portion of standard content111indicated by a tag or tags215in metadata113could be indicated in modification data126to be deleted or removed when the item of media content110is displayed.

Next, in a block520, segments112associated with a tag or tags215identified in block505are added to modification data126, e.g., in a record or records along with the tag or tags215and the data indicating a location in standard content111at which the segment112is to be inserted. For example, as discussed above concerning Table 3, a segment112could be inserted into standard content111by replacing a portion of the standard content111. In that case, the portion of the standard content111to be replaced would be indicated in the modification data126, e.g., according to indices, pointers210etc., included in metadata113. Further, a segment112could be added at a location in standard content111without replacing any portion of the standard content111. At least one way of indicating this kind of addition as discussed above in regard to Table 3.

Next, in a block525, modification data126is stored by media device120, e.g., in a memory, storage device, etc.

Following block525, the process500ends.

CONCLUSION

Computing devices such as those discussed herein generally each include instructions executable by one or more computing devices such as those identified above, and for carrying out blocks or steps of processes described above. For example, process blocks discussed above may be embodied as computer-executable instructions.