U.S. Pat. No. 12,170,821

METHODS, SYSTEMS, AND MEDIA FOR AGGREGATING AND PRESENTING CONTENT RELEVANT TO A PARTICULAR VIDEO GAME

AssigneeGoogle LLC

Issue DateDecember 5, 2022

Illustrative Figure

Abstract

Methods, systems, and media for aggregating and presenting content relevant to a particular video game. In some embodiments, the method comprises: identifying videos related to a video game; selecting videos relevant to each of a plurality of categories; selecting videos based on popularity; receiving a request to present a user interface related to the video game; determining user subscription information for a user associated with the request; selecting videos based on user subscription information; causing the user interface to be presented including representations of: videos relevant to a first category in a first portion, videos selected based on popularity in a second portion, and videos selected based on the user subscription information in a third portion; receiving a request to present a video selected via the user interface; and causing the user device to present the requested video.

Description

DETAILED DESCRIPTION In accordance with various embodiments, mechanisms (which can include methods, systems, and/or media) for aggregating and presenting content relevant to a particular video game are provided. In some embodiments, the mechanisms described herein can associate videos that are available via a video hosting platform with one or more categories, keywords and/or video games. For example, when a video is uploaded, the mechanisms described herein can determine what type of video it is, such as a review of a video game, video of a video game being played, a music video, a live stream of a video being played, a promotional video from a publisher of a video game, a funny video about the video game, etc. As another example, the mechanisms described herein can determine keywords that are to be associated with the video, which can be used when searching for the video. As yet another example, the mechanisms described herein can determine which video game or video games (if any) the video is related to. In a more particular example, when a user uploads a video and inputs various data about the video, such as a title, description, and a video game to which the video is related, the mechanisms described herein can use the user inputted data, as well as any other suitable information (such as information extracted from the content of the video) to determine that the video is a review of the video game “Cones of Dunshire” released in 2013, and can associate various other categories and/or keywords with the video. In some embodiments, the mechanisms described herein can generate user interfaces for each video game that is associated with one or more videos such that if a user is interested in videos related to that video game, the user can request the user ...

DETAILED DESCRIPTION

In accordance with various embodiments, mechanisms (which can include methods, systems, and/or media) for aggregating and presenting content relevant to a particular video game are provided.

In some embodiments, the mechanisms described herein can associate videos that are available via a video hosting platform with one or more categories, keywords and/or video games. For example, when a video is uploaded, the mechanisms described herein can determine what type of video it is, such as a review of a video game, video of a video game being played, a music video, a live stream of a video being played, a promotional video from a publisher of a video game, a funny video about the video game, etc. As another example, the mechanisms described herein can determine keywords that are to be associated with the video, which can be used when searching for the video. As yet another example, the mechanisms described herein can determine which video game or video games (if any) the video is related to. In a more particular example, when a user uploads a video and inputs various data about the video, such as a title, description, and a video game to which the video is related, the mechanisms described herein can use the user inputted data, as well as any other suitable information (such as information extracted from the content of the video) to determine that the video is a review of the video game “Cones of Dunshire” released in 2013, and can associate various other categories and/or keywords with the video.

In some embodiments, the mechanisms described herein can generate user interfaces for each video game that is associated with one or more videos such that if a user is interested in videos related to that video game, the user can request the user interface for that video game and browse through various videos that the mechanisms described herein (and/or any other suitable mechanisms) have identified as being related to that particular game. In a more particular example, the mechanisms described herein can cause a user interface for the video game “Cones of Dunshire” to include the newly uploaded review video when the user interface is presented to a user.

In some embodiments, the user interface for a particular game can include various information about the game, artwork related to the game, and various portions with different types of videos that are all related to that game. For example, the user interface can include a portion for videos about that game that are currently popular. As another example, the user interface can include a portion for videos that include reviews of the video game. As yet another example, the user interface can include a portion for videos that include video of the game being played. As still another example, the user interface can include a portion for videos that have been uploaded by another user that the user being presented with the user interface subscribes to. In a more particular example, the mechanisms described herein can cause the video review for the video game “Cones of Dunshire” to be presented in a portion of the user interface devoted to reviews.

FIG.1shows an example100of a generalized schematic diagram of a system on which the mechanisms for aggregating and presenting content relevant to a particular video game as described herein can be implemented in accordance with some embodiments. As illustrated, system100can include one or more user devices110. User devices110can be local to each other or remote from each other. User devices110can be connected by one or more communications links108to a communication network106that can be linked to a server102via a communications link104.

System100can include one or more servers102. Server102can be any suitable server or servers for providing access to the mechanisms described herein for aggregating and presenting content relevant to a particular video game, such as a hardware processor, a computer, a data processing device, or any suitable combination of such devices. For example, the mechanisms for aggregating and presenting content relevant to a particular video game can be distributed into multiple backend components and multiple frontend components and/or user interfaces. In a more particular example, backend components, such as: mechanisms for determining a likelihood that a video is relevant to one or more categories, keywords and/or video games; mechanisms for associating a video with one or more categories, keywords and/or video games; mechanisms for selecting videos to be represented in a user interface associated with a particular video game; mechanisms for receiving requests for media content; etc., can be performed on one or more servers102. In another more particular example, frontend components, such as presentation of a user interface, initiating requests for a user interface associated with a particular video game, presenting the user interface, initiating requests for media content, etc., can be performed on one or more user devices110.

In some embodiments, each of user devices110and server102can be any of a general purpose device such as a computer or a special purpose device such as a client, a server, etc. Any of these general or special purpose devices can include any suitable components such as a hardware processor (which can be a microprocessor, a digital signal processor, a controller, etc.), memory, communication interfaces, display controllers, input devices, etc. For example, user device110can be implemented as a smartphone, a tablet computer, a mobile telephone, a wearable computer, a personal computer, a laptop computer, a digital media receiver, a set-top box, a smart television, a home entertainment system, a game console, any other suitable computing device, or any suitable combination thereof.

Communications network106can be any suitable computer network or combination of such networks including the Internet, an intranet, a wide-area network (WAN), a local-area network (LAN), a wireless network, a Wi-Fi network, a digital subscriber line (DSL) network, a frame relay network, an asynchronous transfer mode (ATM) network, a virtual private network (VPN), an intranet, etc. Each of communications links104and108can be any communications links suitable for communicating data among user devices110, and servers102, such as network links, dial-up links, wireless links, hard-wired links, any other suitable communications links, or any suitable combination of such links. Note that, in some embodiments, multiple servers102can be used to provide access to different mechanisms associated with the mechanisms described herein for aggregating and presenting content relevant to a particular video game. For example, system100can include a media content discovery server102that facilitates discovery of media content available from a media content platform using the mechanisms described herein, a media content delivery server102that responds to requests for the media content by causing the video content to be presented by a user device, a user interface generation server102that creates instructions for presenting a user interface associated with a particular video game, and/or any other suitable servers for performing any suitable functions of the mechanisms described herein.

FIG.2shows an example200of hardware that can be used to implement one or more of user devices110and servers102depicted inFIG.1in accordance with some embodiments of the disclosed subject matter. Referring toFIG.2, user device110can include a hardware processor212, a display214, an input device216, and memory218, which can be interconnected. In some embodiments, memory218can include a storage device (such as a non-transitory computer-readable medium) for storing a computer program for controlling hardware processor212.

Hardware processor212can use the computer program to execute the mechanisms described herein for initiating requests for a user interface associated with a particular video game, presenting the user interface, initiating requests for media content via the user interface, and/or to perform any other suitable functions in accordance with instructions received as a result of, for example, process300described below in connection withFIG.3and/or process400described below in connection withFIG.4, and/or to send and receive data through communications link108. In some embodiments, hardware processor212can send and receive data through communications link108or any other communications links using, for example, a transmitter, a receiver, a transmitter/receiver, a transceiver, and/or any other suitable communication device. Display214can include a touchscreen, a flat panel display, a cathode ray tube display, a projector, a speaker or speakers, and/or any other suitable display and/or presentation devices. Input device216can be a computer keyboard, a computer mouse, a touchpad, a voice recognition circuit, a touchscreen, and/or any other suitable input device.

Server102can include a hardware processor222, a display224, an input device226, and memory228, which can be interconnected. In some embodiments, memory228can include a storage device for storing data received through communications link104or through other links. The storage device can further include a server program for controlling hardware processor222. In some embodiments, memory228can include information stored as a result of user activity (e.g., metadata input by a user, sharing of content by users, requests for content associated with users, etc.), and hardware processor222can receive requests to present a user interface associated with a particular video game from user devices110. In some embodiments, the server program can cause hardware processor222to, for example, execute at least a portion of process300as described below in connection withFIG.3, process400as described below in connection withFIG.4and/or processes describe in connection withFIG.7.

Hardware processor222can use the server program to communicate with user devices110as well as provide access to and/or copies of the mechanisms described herein. It should also be noted that data received through communications link104or any other communications links can be received from any suitable source. In some embodiments, hardware processor222can send and receive data through communications link104or any other communications links using, for example, a transmitter, a receiver, a transmitter/receiver, a transceiver, and/or any other suitable communication device. In some embodiments, hardware processor222can receive commands and/or values transmitted by one or more user devices110and/or one or more users of server102, such as a user that makes changes to adjust settings associated with the mechanisms described herein for aggregating and presenting content relevant to a particular video game. Display224can include a touchscreen, a flat panel display, a cathode ray tube display, a projector, a speaker or speakers, and/or any other suitable display and/or presentation devices. Input device226can be a computer keyboard, a computer mouse, a touchpad, a voice recognition circuit, a touchscreen, and/or any other suitable input device.

In some embodiments, server102can be implemented in one server or can be distributed as any suitable number of servers. For example, multiple servers102can be implemented in various locations to increase reliability and/or increase the speed at which the server can communicate with user devices110. Additionally or alternatively, as described above in connection withFIG.1, multiple servers102can be implemented to perform different tasks associated with the mechanisms described herein.

Turning toFIG.3, an example300of a process for aggregating and presenting content relevant to a particular video game is shown in accordance with some embodiments of the disclosed subject matter. At302, process300can receive and/or select a video to be classified as being relevant to one or more categories, keywords and/or video games. In some embodiments, process300can use any suitable technique or combination of techniques to receive and/or select a video to be classified. For example, process300can receive a video to be classified when that video is uploaded and/or shared to a media content platform such as a video hosting and/or sharing platform. As another example, process300can select a video to be classified from all videos or a subset of videos available from a video hosting and/or sharing platform.

In some embodiments, process300can select a video to be classified based on an amount of time that has passed since the video has been previously classified. For example, in some embodiments, when a video is initially uploaded (and/or shared) to a video hosting and/or sharing platform, process300can initially classify the video. In such an example, process300can select the video to be classified after a threshold period of time has elapsed since the video was initially classified, and can perform an updated classification on the selected video.

In some embodiments, process300can select a video to be classified based on a number of times that the video has been requested for presentation since the video has been previously classified. For example, in some embodiments, when a video is initially uploaded (and/or shared) to a video hosting and/or sharing platform, process300can initially classify the video. In such an example, process300can select the video to be classified after the video has been requested at least a predetermined number of times since the video was initially classified, and can perform an updated classification on the selected video.

In some embodiments, process300can update the classification of a particular video any suitable number of times and in response to any suitable factors. For example, process300can periodically update the classification for all videos based on available computing resources of a server or servers (e.g., server102) executing process300.

Note that, although the mechanisms described herein are generally described in connection with videos related to particular video games, the mechanisms described herein can be used with any suitable types of media content (e.g., text documents, audio, video, etc.) related to any particular media content item of any suitable type (e.g., a video game or a series of video games, a movie or a series of movies, a book or a series of books, a television series, a song, a collection of songs, etc.) and/or a collection of different types of media content items related to a single subject (e.g., movies and comic books about the same characters, books and television series about the same stories, etc.). Additionally, the mechanisms described herein can be used with any type of product and/or service that is not necessarily a type of media content, such as restaurants, consumer electronics, etc.

At304, process300can identify information that is to be used in associating the video with one or more categories, keywords and/or video games. In some embodiments, process300can identify any suitable information to be used in associating the video with one or more categories, keywords and/or video games. For example, process300can identify metadata that was input by a user (e.g., a user that uploaded the video, a user that requested that the video be presented, etc.) as information that is to be used in associating the video with one or more categories, keywords and/or video games. As another example, process300can identify metadata associated with the video that may not have been input by a user, such as closed captioning information (which may have been automatically generated), metadata generated using one or more image analysis techniques to analyze the image content of the video, etc.

As yet another example, process300can identify information related to other videos that are often requested by and presented to users that also requested and were presented with the selected video. In such an example, the context in which the other videos and the selected video were requested and/or presented can also be identified. In a more particular example, if a user entered a search for a particular video game and watched another video that has been classified as relating to that game, and also watched the selected video, process300can identify this context as information that is to be used in associating the selected video with one or more categories, keywords and/or video games.

As still another example, process300can identify information related to other videos that are in a playlist of videos with the video received and/or selected at302. In a more particular example, process300can identify whether the received and/or selected video is included in any playlists, and can identify information related to the other videos in those playlists.

At306, process300can determine, based on the information identified at304, a likelihood that the video is relevant to each of one or more categories, keywords and/or video games. Process300can use any suitable technique of combination of techniques to determine a likelihood that the video is relevant to each of the one or more categories, keywords and/or video games. For example, process300can use a trained classification model to determine a category or categories to which the video is likely to be relevant, and a likelihood or confidence associated with the determination. Similarly, in such an example, process300can use the same or a different trained classification model to determine a keyword or keywords to which the video is likely to be relevant, and/or to which video game or video games the video is likely to be relevant.

In some embodiments, a trained classification model can be trained using any suitable techniques, which can include presenting a video to a human oracle and requesting that the human oracle classify the video as being relevant to one or more categories, keywords and/or video games, presenting the video to the human oracle and requesting that the human oracle determine whether a classification by the trained classification model was made correctly, etc.

As another example, process300can use any other suitable technique to automatically and/or manually determine, based on the information identified at304, a likelihood that the video is relevant to each of one or more categories, keywords and/or video games.

In some embodiments, process300can determine a likelihood that the video is relevant to any suitable categories such as music videos, comedy videos, movies, videos relevant to video games, etc. In some embodiments, process300can determine a likelihood that the received and/or selected video is relevant to each category and/or a subset of all categories (where the subset can be selected using any suitable technique or combination of techniques). Additionally, in some embodiments, process300can determine a likelihood that the video is relevant to any suitable sub-categories which are related to a broader category. For example, process300can determine the likelihood that the video is relevant to a video game category, and can also determine the likelihood that the video includes a review of a video game, game play of a video game, etc.

In some embodiments, process300can determine a likelihood that the contents of the video and/or metadata associated with the video is spam. If process300determines that the likelihood that the video is spam is over a threshold likelihood, process300can use this information to reduce the visibility of the video (e.g., make the video appear further down in lists of videos and/or search results than it otherwise would) and/or inhibit other classifications of the video (e.g., use the designation as spam to inhibit the designation that the video is relevant to a particular video game). Additionally, in some embodiments, process300can inform a user that uploaded the video that the video has been designated as spam and give that user feedback as to why the video was designated as spam.

In some embodiments, the categories for which process300makes a likelihood determination can include any suitable categories that are potentially relevant to all types of videos, such as live streaming content, review content, promotional content, interview content, etc. Additionally, in some embodiments, the categories for which process300makes a likelihood determination can include categories that are specific to games, such as game play videos, walkthroughs, hint videos, complete play through videos (e.g., a playlist of videos showing a relatively complete play of a game from beginning to an ending point), speed runs, etc.

In some embodiments, process300can determine that the likelihood that the video is promotional content from a publisher of a video game is relatively high if the video is determined to be related to a game from the published and the video was uploaded from an account that has been verified to be associated with the published.

In some embodiments, process300can determine a likelihood that the video is relevant to any suitable keywords which can identify people and/or characters in the video, a subject of the video, topics that are discussed or referenced in the video, a title of the video, and/or any other suitable keywords that may be relevant to the video. As another example, a keyword can be relevant to a video if the keyword is a term that a user searching for the video might enter in a search query. In some embodiments, process300can select the keywords for which a likelihood is to be determined using any suitable technique or combination of techniques.

In some embodiments, process300can determine the likelihood that the video is relevant to a particular video game or video games from a collection of video games. Such a collection of video games can be identified and/or constructed using any suitable technique or combination of techniques. In some embodiments, process300can determine a likelihood that the received and/or selected video is relevant to each video game of the collection and/or a subset of all video games of the collection (where the subset can be selected using any suitable technique or combination of techniques).

In some embodiments, in addition to determining the likelihood that a particular received and/or selected video is relevant to one or more categories, keywords and/or video games, process300can determine a likelihood that a group of multiple videos (e.g., videos in a playlist) is relevant to one or more categories, keywords and/or video games.

At308, process300can associate the video received and/or selected at302with one or more categories, keywords and/or video games for which the likelihood that the video is relevant to those one or more categories, keywords and/or video games is over a threshold. In some embodiments, process300can use any suitable threshold in determining which categories, keywords and/or video games to which the video game is relevant. For example, if process300determines that it is more likely than not that the video is relevant to a particular category, process300can associate that category with the video. As another example, if process300determines that the video is relevant to a particular video game with ninety percent confidence, process300can associate the video with that video game. Note that the threshold likelihoods and/or confidence values are merely given as examples and any suitable threshold likelihoods and/or confidence values can be used in connection with the mechanisms described herein.

In some embodiments, process300can use different thresholds for different types of classifications, and/or different types of categories and/or keywords. For example, process300can determine which category or categories are to be associated with the video based on a lower threshold level of likelihood than when determining which video game is to be associated with the video (if any).

In some embodiments, process300can associate the video with a single video game to the exclusion of other video games to which the video may be relevant. For example, if process300determines that the likelihood that video is relevant to multiple video games over a threshold likelihood for each of the games, process300can nevertheless select a single video game to associate with the video. In some embodiments, process300can select the video game for which the video has the highest likelihood of being relevant.

At310, process300can generate instructions for causing a user device to present a user interface for a particular video game, including at least a portion of videos associated with the video game. In some embodiments, process300can generate the instructions and/or a portion of the instructions at any suitable time and/or using any suitable technique or combination of techniques. For example, process300can generate the instructions in response to one or more videos initially being associated with a video game to which the user interface corresponds. As another example, process300can generate and/or update the instructions at regular and/or irregular intervals based on current classifications of videos that have been associated with one or more categories, keywords and/or video games at308. In a more particular example, process300can generate updated instructions each time a video is newly associated with the video game to which the user interface corresponds. In another more particular example, process300can generate updated instruction each time the user interface is requested for presentation.

Additionally, in some embodiments, the user interface can include any suitable content and user interface elements, and/or can be arranged in any suitable configuration. For example, as described below in connection withFIGS.5A,5B and6, the user interface can include metadata about the video game corresponding to the user interface and representations of one or more of the videos that have been associated with the video game.

FIG.4shows an example400of a process for generating instructions for causing a user interface to be presented that is relevant to a particular video game in accordance with some embodiments of the disclosed subject matter. In some embodiments, one or more portions of process400can be executed in connection with310described above in connection withFIG.3. As shown inFIG.4, process400can receive a request to present a user interface associated with a particular video game. Additionally, in some embodiments, the request can be received from a user device associated with a particular user (e.g., a user that has logged in to a service that provides that user interface). In some embodiments, process400can use any suitable technique or combination of techniques to receive the request and the request can be received at any suitable time.

At404, process400can identify videos that are associated with the video game based on metadata related to videos that can potentially be presented using the requested user interface. In some embodiments, process400can identify videos associated with the video game at any suitable time and/or using any suitable technique or combination of techniques. For example, in some embodiments, process400can identify videos associated with the video game at regular and/or irregular intervals. In such an example, process400can identify videos associated with the video game at times that are unrelated to receiving requests for the user interface that is to be used to present representations of videos associated with the video game (e.g., not in response to the request received at402). As another example, process400can identify videos associated with the video game in response to receiving the request to present the user interface associated with the video game at402.

In some embodiments, another process (e.g., process300) can associate videos with particular video games, and identifying videos associated with the video game can include querying a database for identifying information of videos that have been associated with the video game.

At406, process400can determine if one or more of the videos identified at404is relevant to the user associated with the user device from which the request was received at402. In some embodiments, process400can determine that a video is relevant to a user based on any suitable factor or combination of factors. For example, process400can determine that a particular video is relevant to the user if the user subscribes to videos from a user that uploaded the video (e.g., that the user subscribes to a channel on which the video has been uploaded). As another example, process400can determine that a particular video is relevant to the user if the video has been requested and/or enjoyed by a group of other users that watch and/or enjoy similar videos as the user. As yet another example, process400can determine that a particular video is relevant to the user if that video has been shared with the user (e.g., by another user that is a social connection of the requesting user), but not yet requested by the user and/or not presented for at least a threshold amount of time to the user.

If process400determines that one or more of the videos identified at404are relevant to the requesting user (“YES” at406), process400can proceed to408. At408, process400can select one or more of the identified videos that are relevant to the user as videos that are to be represented in the user interface. Process400can use any suitable technique or combination of techniques to determine which of the videos relevant to the user to select for representation in the user interface. For example, process400can select the most recent videos that are relevant to the user. As another example, process400can select videos that have been determined (using any suitable process) to be videos that the user is likely to enjoy. As yet another example, process400can select videos based on the overall popularity of the videos.

Otherwise, if process400determines that none of the videos identified at404are relevant to the requesting user (“NO” at406), process400can proceed to410. At410, process400can select one or more of the identified videos corresponding to each of a particular group of categories that are to be included in the user interface. As described above in connection with408, process400can use any suitable technique or combination of techniques to select videos corresponding to each category, such as the most popular videos corresponding to those categories, the most recent videos corresponding to those categories, the videos corresponding to that category that are most likely to be relevant to that category, etc.

In some embodiments, the categories for which videos are selected can include any suitable categories that may be particularly relevant to video games (or whatever the topic is that the user interface represents). For example, the categories can include a category corresponding to videos that include a review of the video game (i.e., review videos). As yet another example, the categories can include a category corresponding to videos (e.g., game play videos) or groups of videos (e.g., let's play videos) that include game play from a portion of the game and/or a play through of the game. As still another example, the categories can include a category corresponding to impressive play through at least a portion of the game (e.g., speed runs, etc.). As a further example, the categories can include categories corresponding to commentary, interviews, music, etc., related to the game. As a still further example, the categories can include a category corresponding to live streamed content related to the game.

At412, process400can select one or more of the identified videos based on the overall and/or trending popularity of the videos that are to be included in the user interface. In some embodiments, process400can select popular videos using any suitable technique or combination of techniques to determine which of the identified videos are more popular. For example, in some embodiments, process400can determine which of the identified videos are popular videos based on which videos have been requested the most times in any suitable period of time (e.g., up to and including since the service providing the video began operation). As another example, process400can determine which of the identified videos are popular videos based on which videos have received the most indications that the users requesting the video enjoyed it (e.g., videos that had the most “likes,” “thumbs ups,” “plusses,” etc.).

In some embodiments, the popular videos can be selected from videos that were not selected at408and/or410. Alternatively, the popular videos can be selected from all identified videos, and the videos selected at408and/or410can be selected from among videos that were not selected at412. As another alternative, selection of videos at408,410and412can be partially or completely independent such that the same video may be selected at408,410and412as being a video that is relevant to the user, a video that corresponds to a particular category, and a popular video, respectively.

In some embodiments, the number of videos that are selected at408from among videos relevant to the user, at410for each category, and/or at412based on popularity can be determined based on any suitable factor or factors. For example, the number can be set by a user (e.g., an administrator or programmer associated with process400, a user selection via the user interface, etc.). As another example, the number can be determined based on a total number of videos related to the game. As yet another example, the selection of videos can include determining an order in which representations of the videos are to be presented in the user interface, and may not limit how many videos are presented in the user interface. In such an example, representations of all videos meeting certain criteria can be presented for browsing in the user interface upon navigation through the user interface (e.g., by scrolling, etc.).

Note that, in some embodiments, in addition to or in lieu of selecting videos at408,410and/or412, process400can select playlists of videos. Additionally, although process400is described in connection with videos, as described above, any suitable media content or combinations of types of media content can be selected using process400that is relevant to any suitable product or topic (e.g., not only video games).

At414, process400can cause the user device that requested the user interface to present the user interface, including representations of the selected videos. In some embodiments, process400can cause the user interface to be presented using any suitable technique or combination of techniques. For example, process400can respond to the request to present the user interface with instructions (e.g., HTML code) that cause the user device to present a web page that includes the user interface. As another example, process400can provide identifying information that is to be used to populate a user interface with representations of videos selected using process400. In such an example, the user device can present graphics associated with the user interface based on instructions that were received from another source, and can retrieve metadata for videos that are to be included in the user interface based on the received identifying information. In such an example, the graphics associated with the user interface can be a web page that was loaded by a web browser executing on the user device based on instructions received via a process other than process400. Additionally or alternatively, the graphics associated with the user interface can be loaded by an application executing on the user device that can be used to browse for and/or present videos related to video games in accordance with the mechanisms described herein. Such an application can include instructions received from a server that are stored in memory and/or storage of the user device, and the user interface can be populated with representations of videos and/or other user interface elements based on the identifying information of videos provided by process400.

Note that, in some embodiments, one or more portions of user interface400(e.g.,404,410and412) can be executed at any suitable time (e.g., at regular and/or irregular intervals) as a background process and/or can be used to select videos for the user interface across a particular group of users (e.g., all users, users in a particular country or region, users that use a particular language, etc.). Additionally, in some embodiments, one or more portions of user interface400(e.g.,402,406,408and414) can be executed in response to communications from a user device.

FIG.5Ashows an example500of a user interface for presenting content relevant to a particular video game in accordance with some embodiments of the disclosed subject matter. As shown inFIG.5A, user interface500can include metadata502related to the game such as a title (e.g., “Cones of Dunshire”), a release data (e.g., “2013”), cover art from the game, other image data related to the game (e.g., as a background for metadata502), etc.

In some embodiments, user interface500can include a user interface element504that can be used to add or remove the game from a group of games that a user that is logged in has added to a list of favorites and/or games that they are interested in. In some embodiments, user interface500can include user interface elements506which can be tabs that each represent a different portion of user interface500which can be used to access and/or navigate to different portions of user interface500. For example, as shown inFIG.5, user interface500can include in tabs506a tab for “About” which can include further information about the game to which the user interface corresponds. As another example, user interface500can include in tabs506a tab for “All” which can include selected videos from other tabs. In such an example, the “All” tab may include videos from any or all of the other tabs and can include any suitable number of videos. As shown inFIG.5A, the “All” tab is currently selected and presenting representations of videos that can be selected for presentation to a user that are each represented by video identifying information508. As yet another example, user interface500can include any other suitable tabs in tabs506, such as a tab for “Live” content (e.g., livestreaming content related to “Cones of Dunshire”), a tab for “Reviews” (e.g., videos that include a review of “Cones of Dunshire”), a tab for “Game Play” videos (e.g., videos that include game play such as a “let's play” playlist, a speed run, and/or any other game play that may not be a review of the game), a tab for videos “From the Publisher” (e.g., videos that were uploaded by an account associated with the publisher of “Cones of Dunshire”), a “Personalized” tab (e.g., videos that are relevant to the user, such as videos selected as described above in connection with408ofFIG.4).

In some embodiments, user interface500can include one or more videos represented by video identifying information508. Such video identifying information can include any suitable information, such as video metadata (e.g., title, a screenshot representing the video, run time, number of videos for a playlist of videos, etc.), an icon510representing an uploader and/or channel associated with the video, and an icon512indicating a category with which the video is associated. The category represented by category icon512can, for example, represent whether the video is a popular video, a live video, a review, a gameplay video, etc. Note that, in some embodiments, a particular video may not be associated with a category icon512. For example, category icons512can be restricted to a certain subset of categories and videos not associated with one of those categories may not include a category icon in video identifying information508.

In some embodiments, user interface500can include one or more game icons514that can each represent a video game which the user has previously added to the user's games (e.g., using user interface element504to add the game). Any suitable number of game icons514can be shown, and an order in which game icons514are presented can be determined using any suitable technique or combination of techniques. In some embodiments, selection of a particular game icon514can cause a user interface for that game to be presented by a user device presenting user interface500.

In some embodiments, user interface500can include one or more channel icons516that can each represent a channel to which the user has subscribed. Any suitable number of channel icons516can be shown, and an order in which channel icons516are presented can be determined using any suitable technique or combination of techniques. In some embodiments, selection of a particular channel icon516can cause a user interface for that channel to be presented by a user device presenting user interface500.

FIG.5Bshows an example550of the user interface for presenting content relevant to a particular video game in accordance with some embodiments of the disclosed subject matter. As shown inFIG.5B, the “Personalized” tab in tabs506has been selected, and the videos represented via video identifying information508have been changed to reflect videos that were selected based on relevance to a user (e.g., as described above in connection with408ofFIG.4).

FIG.6shows an example600of a user interface for presenting content relevant to a particular video game on a mobile device in accordance with some embodiments of the disclosed subject matter. As shown inFIG.6, user interface600can include metadata602related to the game, which can include similar information to what is included in metadata502described above in connection withFIG.5A, but formatted for a screen associated with user device110.

In some embodiments, user interface600can include a user interface element604that can be used to add or remove the game from a group of games that a user that is logged in has added to a list of favorites and/or games that they are interested in. In some embodiments, user interface600can include user interface elements606which can be tabs that are similar to tabs506described above in connection withFIG.5A, but formatted for operation using one or more input devices of user device110and/or formatted for the screen of user device110.

In some embodiments, user interface600can include one or more videos represented by video identifying information608, which can be similar to video identifying information508described above in connection withFIG.5A, but formatted for the smaller screen size of user device110. Similarly, user interface600can include, in some embodiments, an icon612indicating a category with which a video is associated, which can be similar to icon512described above in connection withFIG.5A.

FIG.7shows an example700of a data flow that can be used in conjunction with the processes described above in connection withFIGS.3and/or4for aggregating and presenting content relevant to a particular video game as described herein can be implemented in accordance with some embodiments. At702, a first user device110-1can upload a video related to a particular video game to a server or servers102associated with a video hosting and/or sharing service. In some embodiments, the video can be uploaded using any suitable technique or combination of techniques and using any suitable user interface.

At704, user device110-1can receiver user input specifying video metadata associated with the video, which can include any suitable user identified information related to the video. For example, the video metadata specified by user input at704can include tags identifying things that the video may be relevant to, a title, descriptive information which may be input as narrative format, an indication of which video game or video games the video is related to (which may be chosen from a prefilled list or other predefined set of video games), and/or any other suitable metadata. In such an example, a user may be restricted to specifying a single video game to which the video is relevant.

At706, server102can receive the uploaded video and/or the video metadata input to user device110-1. In some embodiments, server102can receive the uploaded video and/or video metadata using any suitable technique or combination of techniques.

At708, server102can associate the video with one or more categories, keywords and/or video games based on the received metadata and/or any other suitable information. For example, server102can use at least a portion of process300described above in connection withFIG.3to associate the video with one or more categories, keywords and/or video games.

At710, a second user device110-2can request a user interface that includes videos that are related to the video game. In some embodiments, second user device110-2can cause such a request to be submitted to server102using any suitable technique such as by requesting content from a particular uniform resource locator (URL) using a web browser, requesting content associated with a particular video game using an application for presenting such content, etc.

At712, server102can generate a user interface that is to be presented by user device110-2that requested videos related to the video game, and can cause the user interface to be presented by user device110-2. In some embodiments, server102can generate the user interface and/or cause the user interface to be presented by user device110-2, such as techniques described above in connection with310and/or414in connection withFIGS.3and4, respectively.

At714, user device110-2can present the user interface based on instructions and/or other information (e.g., identifying information for videos that are to be used to populate the user interface) received from server102in response to the request to present the user interface at702. User device110-2can use any suitable application and technique or combination of techniques to present the user interface at714, and can present any suitable user interface (e.g., user interface500or600described above in connection withFIGS.6and7).

At716, user device110-2can receive user input (e.g., via an input device such as a mouse, keyboard, touch screen, etc.) to request that a particular video represented in the user interface be presented by user device110-2. For example, user device110-2can receive user input selecting identifying information of a video (e.g., video identifying information508or608).

At718, user device110-2can request presentation of the video selected at716. In some embodiments, user device110-2can request presentation of the video using any suitable technique or combination of techniques.

At720, server102can receive the request to present the selected video via the user interface, and at722can cause the video to be presented by user device110-2that requested presentation of the video. In some embodiments, server102can use any suitable technique or combination of techniques to receive the request for the video and/or to cause the video to be presented by user device110-2.

At724, user device110-2can present the requested video using any suitable user interface and/or at any suitable size. For example, user device110-2can present the video within the user interface used to present representations of the videos related to the video game. As another example, user device110-2can present the video in a new window and/or new tab that is used to present the video. As yet another example, user device110-2can navigate to a web page or other suitable user interface associated with the video and can present the video using that user interface. As still another example, user device110-2can present the video in a “full screen” mode in which the video takes up an entire screen and may be presented in lieu of another user interface.

In some embodiments, user device110-2can send feedback to server102in connection with presentation of the video by user device110-2at724. Such feedback can include passive information such as how much of the video was presented or active information such as user input received by the user interface associated with presentation of the video indicating that the user enjoyed the content.

At726, server102can receive feedback related to presentation of the video (and/or presentation of any other suitable videos). As described above, this feedback can include how much of the video was presented by a user device, as well as user input received at the user device indicating that the user enjoyed or did not enjoy the video, a user request to share the video with others (e.g., by sending a link, by posting the video to a social network, etc.), user input indicating that the video is incorrectly classified (e.g., that the video was associated with the wrong game), and/or any other suitable feedback.

At728, server102can update the association of the one or more categories, keywords and/or video games based on the feedback related to presentation of the video. For example, server102can update the associations as described above in connection withFIG.3.

In some embodiments, the mechanisms described herein can include server-side software, client-side software, server-side hardware, client-side hardware, firmware, or any suitable combination thereof. For example, these mechanisms can encompass one or more web pages or web page portions (e.g., via any suitable encoding, such as Hyper Text Markup Language (“HTML”), Dynamic Hyper Text Markup Language (“DHTML”), Extensible Markup Language (“XML”), JavaServer Pages (“JSP”), Active Server Pages (“ASP”), Cold Fusion, or any other suitable approaches). As another example, these mechanisms can encompass a computer program that causes a processor (such as hardware processor112and/or hardware processor122) to execute the mechanisms described herein. For instance, these mechanisms can encompass a computer program written in a programming language recognizable by user device110, and/or server102that is executing the mechanisms (e.g., a program written in a programming language, such as, Java, C, Objective-C, C++, C#, JavaScript, Visual Basic, HTML, XML, ColdFusion, any other suitable approaches, or any suitable combination thereof).

In situations in which the mechanisms described herein collect personal information about users, or can make use of personal information, the users can be provided with an opportunity to control whether programs or features collect user information (e.g., information about user actions stored on a user device110, information about user actions stored on a remote device such as server102, etc.), or to control whether and/or how to receive messages for promoting content. In addition, certain data can be treated in one or more ways before it is stored or used, so that personal information is removed. For example, a user's identity can be treated so that no personal information can be determined for the user, or a user's geographic location can be generalized where location information is obtained (such as to a city, ZIP code, or state level), so that a particular location of a user cannot be determined. Thus, the user can have control over how information is collected about the user and used by a content server.

In some embodiments, any suitable computer readable media can be used for storing instructions for performing the functions and/or processes described herein. For example, in some embodiments, computer readable media can be transitory or non-transitory. For example, non-transitory computer readable media can include media such as magnetic media (such as hard disks, floppy disks, etc.), optical media (such as compact discs, digital video discs, Blu-ray discs, etc.), semiconductor media (such as flash memory, electrically programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), etc.), any suitable media that is not fleeting or devoid of any semblance of permanence during transmission, and/or any suitable tangible media. As another example, transitory computer readable media can include signals on networks, in wires, conductors, optical fibers, circuits, any suitable media that is fleeting and devoid of any semblance of permanence during transmission, and/or any suitable intangible media.

In some embodiments of the disclosed subject matter, the above described steps of the processes ofFIGS.3,4and7can be executed or performed in any order or sequence not limited to the order and sequence shown and described in the figures. Also, some of the above steps of the processes ofFIGS.3,4and7can be executed or performed substantially simultaneously where appropriate or in parallel to reduce latency and processing times. Furthermore, it should be noted thatFIGS.3,4and7are provided as examples only. At least some of the steps shown in these figures may be performed in a different order than represented, performed concurrently, or omitted.

The provision of the examples described herein (as well as clauses phrased as “such as,” “e.g.,” “including,” and the like) should not be interpreted as limiting the claimed subject matter to the specific examples; rather, the examples are intended to illustrate only some of many possible aspects. It should also be noted that, as used herein, the term mechanism can encompass hardware, software, firmware, or any suitable combination thereof.

Accordingly, methods, systems, and media for aggregating and presenting content relevant to a particular video game are provided.

Although the invention has been described and illustrated in the foregoing illustrative embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the invention can be made without departing from the spirit and scope of the invention, which is limited only by the claims that follow. Features of the disclosed embodiments can be combined and rearranged in various ways.

Claims

  1. A method comprising: receiving, using a hardware processor associated with a video sharing service, a plurality of videos;identifying, using the hardware processor, a first subset of videos from the plurality of videos that corresponds to livestream videos that are currently being live streamed;identifying, using the hardware processor, a second subset of videos from the plurality of videos that a plurality of users of the video sharing service watched subsequent to performing searches for a plurality of video games, wherein each video in the second subset of videos is associated with one or more categories of game play from a plurality of categories of game play, and wherein the plurality of categories of game play includes at least a category corresponding to speed runs of the plurality of video games and a category corresponding to complete play throughs of the plurality of video games;determining, using the hardware processor and for each given livestream video included in the first subset of videos, a respective video game of the plurality of video games corresponding to the given livestream video and a respective category of gameplay of the plurality of categories of game play corresponding to the given livestream video;and causing, using the hardware processor, a user interface having a plurality of portions including at least a first portion and a second portion to be presented, wherein the first portion includes representations of one or more of the livestream videos included in the first subset of videos that are associated with a particular video game of the plurality of video games and a particular category of game play of the plurality of categories of game play and the second portion includes representations of one or more of the videos included in the second subset of videos that are associated with the same particular video game and the same particular category of game play as the one or more livestream videos included in the first portion, and wherein the user interface allows a user of a user device to select user interface elements to switch between the first portion, the second portion, and other portions from the plurality of portions.
  1. The method of claim 1, wherein determining the respective video game and the respective category of corresponding to each given livestream video included in the first subset of videos includes: determining, using the hardware processor, a likelihood that the given livestream video is relevant to a given video game from the plurality of video games based on identifying that one or more particular videos from the second subset of videos were watched by one or more of the plurality of users: subsequent to performing one or more of the searches for the given video game, and prior to watching the given livestream video.
  2. The method of claim 2, wherein determining the respective video game and the respective category of game play corresponding to each given livestream video included in the first subset of videos further includes: associating, using the hardware processor, the given livestream video with the respective video game and the respective category of game play based on the determined likelihood.
  3. The method of claim 1, wherein the method further comprises: receiving a request to present a particular video from the one or more livestream videos included in the first portion of the user interface or the one or more videos included in the second portion of the user interface in response to a user selection via the user interface;and causing the user device to present the particular video in response to receiving the request to present the particular video selected via the user interface for the video game.
  4. The method of claim 1, wherein the method further comprises: receiving a corpus of videos related to a variety of subjects that are available from the video sharing service;and classifying the corpus of videos related to the variety of subjects that are available from the video sharing platform to identify particular keywords that can be used for searching for one or more videos from the corpus of videos and which particular video game from the plurality of video games is associated with the one or more videos from the corpus of videos, wherein at least one video from the second subset of videos is identified further based on being included in a different video playlist of videos classified as associated with the particular video game.
  5. The method of claim 5, wherein the method further comprises selecting, from the plurality of videos, a third subset of popular videos that includes one or more videos based on popularity of each of the plurality of videos, wherein the popularity of each given video of the plurality of videos corresponds to a number of requesting users from the plurality of users that provided an indication of enjoying the given video.
  6. The method of claim 1, wherein the method further comprises: receiving a request from the user device to present the user interface including the representations of the livestream videos related to the particular video game and the representations of the videos from the second subset related to the particular video game;and determining particular videos from the plurality of videos that are relevant to the user device from which the request was received based on user subscription information for a user associated with the user device, wherein the user subscription information indicates that the user has subscribed to a plurality of channels on which each of the particular videos has been uploaded, wherein each of the plurality of channels contains a collection of user-selected video content associated with other users from the plurality of users of the video sharing platform.
  7. The method of claim 7, wherein the method further comprises: in response to receiving the request to present the user interface, selecting a third subset of videos from the plurality of videos that includes one or more of the particular videos based on the user subscription information;and causing the user device to present the user interface having the plurality of portions including at least the first portion the second portion, and a third portion, wherein the third portion includes representations of the particular videos selected based on the user subscription information from the third subset of videos, and wherein the user interface allows the user of the user device to select the user interface elements to switch between the first portion, the second portion, and the third portion.
  8. The method of claim 8, wherein the user interface includes a fourth portion that includes videos relevant to a second category of game play of the plurality of categories of game play, and wherein the user interface includes a plurality of user interface elements each corresponding to one of the plurality of portions such that selection of a given user interface element corresponding to a particular portion causes representations of videos included in the particular portion to be presented via the user interface.
  9. The method of claim 9, wherein the user interface includes a fifth portion that includes representations of at least one video from each of the first through fourth portions.
  10. The method of claim 9, wherein the plurality of user interface elements are presented as tabs over an area of the user interface in which representations of videos from a selected tab are presented.
  11. The method of claim 9, wherein each respective video presented in a given portion of the user interface that is associated with a given category of the plurality of categories is presented in association with an icon identifying the given category associated with the respective video.
  12. The method of claim 1, wherein the plurality of categories of game play includes videos that include game play from a particular portion of the particular video game.
  13. The method of claim 1, wherein the plurality of categories of game play includes videos featuring game play that were uploaded by a publisher of the video game.
  14. The method of claim 1, wherein the user interface includes metadata related to the particular video game including a title of the particular video game and one or more images related to the particular video game.
  15. A system for presenting videos related to a common subject, the system comprising: a hardware processor that is programmed to: receive, by a video sharing service, a plurality of videos;identify a first subset of videos from the plurality of videos that corresponds to livestream videos that are currently being live streamed in;identify a second subset of videos from the plurality of videos that a plurality of users of the video sharing service watched subsequent to performing searches for a plurality of video games, wherein each video in the second subset of videos is associated with one or more categories of game play from a plurality of categories of game play, and wherein the plurality of categories of game play includes at least a category corresponding to speed runs of the plurality of video games and a category corresponding to complete play throughs of the plurality of video games;determine, for each given livestream video included in the first subset of videos, a respective video game of the plurality of video games corresponding to the given livestream video and a respective category of gameplay of the plurality of categories of game play corresponding to the given livestream video;and cause a user interface having a plurality of portions including at least a first portion and a second portion to be presented, wherein the first portion includes representations of one or more of the livestream videos included in the first subset of videos that are associated with a particular video game of the plurality of video games and a particular category of game play of the plurality of categories of game play and the second portion includes representations of one or more of the videos included in the second subset of videos that are associated with the same particular video game and the same particular category of game play as the one or more livestream videos included in the first portion, and wherein the user interface allows a user of a user device to select user interface elements to switch between the first portion, the second portion, and other portions from the plurality of portions.
  16. A non-transitory computer-readable medium containing computer executable instructions that, when executed by a processor, cause the processor to: receive, by a video sharing service, a plurality of videos;identify a first subset of videos from the plurality of videos that corresponds to livestream videos that are currently being live streamed;identify a second subset of videos from the plurality of videos that a plurality of users of the video sharing service watched subsequent to performing searches for a plurality of video games, wherein each video in the second subset of videos is associated with one or more categories of game play from a plurality of categories of game play, and wherein the plurality of categories of game play includes at least a category corresponding to speed runs of the plurality of video games and a category corresponding to complete play throughs of the plurality of video games;determine, for each given livestream video included in the first subset of videos, a respective video game of the plurality of video games corresponding to the given livestream video and a respective category of gameplay of the plurality of categories of game play corresponding to the given livestream video;and cause a user interface having a plurality of portions including at least a first portion and a second portion to be presented, wherein the first portion includes representations of one or more of the livestream videos included in the first subset of videos that are associated with a particular video game of the plurality of video games and a particular category of game play of the plurality of categories of game play and the second portion includes representations of one or more of the videos included in the second subset of videos that are associated with the same particular video game and the same particular category of game play as the one or more livestream videos included in the first portion, and wherein the user interface allows a user of a user device to select user interface elements to switch between the first portion, the second portion, and other portions from the plurality of portions.
  17. The system of claim 16, wherein the hardware processor is further programmed to determine the respective video game and the respective category of game play corresponding to each given livestream video included in the first subset of videos based on causing the hardware processor to: determine a likelihood that the given livestream video is relevant to a given video game from the plurality of video games based on identifying that one or more particular videos from the second subset of videos were watched by one or more of the plurality of users: subsequent to performing one or more of the searches for the given video game, and prior to watching the given livestream video.
  18. The system of claim 18, wherein the hardware processor is further programmed to determine the respective video game and the respective category of game play corresponding to each given livestream video included in the first subset of videos further based on causing the hardware processor to: associate the given livestream video with the respective video game and the respective category of game play based on the determined likelihood.
  19. The non-transitory computer-readable medium of claim 17, further comprising additional instructions that, when executed by the processor, cause the processor to determine the respective video game and the respective category of game play corresponding to each given livestream video included in the first subset of videos based on causing the processor to: determine a likelihood that the given livestream video is relevant to a given video game from the plurality of video games based on identifying that one or more particular videos from the second subset of videos were watched by one or more of the plurality of users: subsequent to performing one or more of the searches for the given video game, and prior to watching the given livestream video.

Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.