Method and system for managing streaming video data

By receiving user action data on the server side and generating video streaming media in the recreated game environment, the problem of conveying other players' actions is solved, efficient streaming and commentary of e-sports competitions is realized, and automatic playroom and video queue management is provided. , improves the quality and efficiency of game commentary and analysis.

CN114681914BActive Publication Date: 2024-12-10SKILLZ PLATFORM INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202210469326.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2016-03-16
Filing Date
2017-03-15
Publication Date
2024-12-10
Estimated Expiration
2037-03-15

AI Technical Summary

Technical Problem

The prior art is difficult to effectively convey the movements and situations of other players in video games or e-sports competitions, especially in the interaction between game anchors and viewers, and there is a lack of effective ways to display and explain the game process of other players.

Method used

By receiving user action data on the server side, generating video streaming media for the recreated game environment, rendering video streaming media from the selected viewing location, and sending it to the viewing client, allowing the commentator or anchor to generate and transmit from a new perspective Video content, reduces data transmission, and provides a video queue interface to capture and play critical moments and clips of the game.

Benefits of technology

It realizes efficient streaming of e-sports competitions, allowing anchors and commentators to view and analyze competitions from multiple angles, provides automatic playroom and video queue management, and improves the quality and efficiency of game commentary and analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114681914B_ABST
    Figure CN114681914B_ABST
Patent Text Reader

Abstract

The present application relates to the management of streaming video data. User action data is received at a server, the user action data representing the actions of a player in a game environment running at a user client. The game environment is created by a user client separate from the server. Data representing a selected viewing position is received. The selected viewing position is different from the player viewing position. The selected viewing position represents a viewing position in the game environment. A recreated game environment is generated at the server from the user action data. A video stream of the recreated game environment is generated. The video stream includes a video from the perspective of the selected viewing position. The video stream is sent to the viewing client. Related devices, systems, articles and technologies are also described.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the PCT patent application entered into China with Chinese patent application number 201780030042.1, invention name “Management of Streaming Video Data” and application date March 15, 2017.

[0002] CROSS REFERENCE TO RELATED APPLICATIONS

[0003] This application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application No. 62 / 309,327, filed on March 16, 2016, the entire contents of which are expressly incorporated herein by reference. Technical Field

[0004] The subject matter described herein relates to streaming of video data and audio data, for example, involving real-time gameplay and commentary from multiple sources to multiple viewers simultaneously. Background Art

[0005] Video game streamers typically interact with their audience by showing live footage of their own gameplay, sometimes providing their own commentary during gameplay. While this is an effective means of showing what the streamer is seeing on his or her gaming screen, there is no effective way for the streamer to show and represent what is happening to other players in a separate portion of a game or esports competition. Summary of the invention

[0006] In one aspect, user action data is received at a server, the user action data representing actions of a player in a game environment running at a user client. The game environment is created by a user client separate from the server. Data representing a selected viewing position is received. The selected viewing position is different from a player viewing position. The selected viewing position represents a viewing position in the game environment. A recreated game environment is generated at the server from the user action data. A video stream of the recreated game environment is generated. The video stream includes a video from a perspective of the selected viewing position. The video stream is sent to a viewing client.

[0007] One or more of the following features may be included in any feasible combination. For example, the user action data may include data characterizing user interface actions of a player interacting with a game environment. Generating the recreated game environment may include running a game engine using the game state data and the user activity data. The server may include a game engine that receives the selected viewing position and the user action data and renders the recreated game environment from the perspective of the selected viewing position.

[0008] The user activity data may be retrieved from a database and may be associated with historical gameplay. The user activity data may be received from a user client or a game host server. The user activity data may be from a running game environment. Generating a video stream may include capturing a rendered recreated game environment. An audio stream may be received from a commentator client. The audio stream may be combined with the video stream before transmitting the video stream. Statistics about the player may be generated using the user action data. The statistics may be transmitted to a viewing client.

[0009] As esports grows in popularity, a need has arisen for a toolkit that allows individual streamers to perform the same level of commentary and gameplay analysis that is performed by teams of analysts in the parallel industry of sports.

[0010] The currently described subject matter can provide an automated playroom for a streamer to report on an esports ranking match being played in multiple different games. The currently described subject matter can capture video data or action data from all ranked match participants. A video queue interface can be provided for a streamer to watch, select, and play videos or clips of events occurring in a ranked match. In some variations, a view as seen by a player in a ranked match can be included in the video queue. In other variations, the perspective can be selected by a commentator or streamer streaming the content. The selected perspective does not have to be a player perspective.

[0011] The currently described theme can break down a video into highlightreels and key segments based on analysis of match data. The currently described theme can facilitate the provision of game analysis and recommended broadcasts for anchor combinations.

[0012] The implementation of the current theme may include, but is not limited to, methods consistent with the description provided herein and articles including tangibly implemented machine-readable media, which are operable to cause one or more machines (e.g., computers, etc.) to cause operations that implement one or more of the features. Similarly, a computer system is also described, which may include one or more processors and one or more memories connected to the one or more processors. The memory may include a computer-readable storage medium, which may include one or more programs, encode, store, etc., one or more programs, and these programs cause one or more processors to perform one or more operations described herein. The computer-implemented method consistent with one or more implementations of the current theme may be implemented by one or more data processors present in a single computing system or multiple computing systems. Such multiple computing systems may be connected via one or more connection methods and may exchange data and / or commands or other instructions, etc., including but not limited to connection methods through a network (e.g., the Internet, a wireless wide area network, a local area network, a wide area network, a wired network, etc.), through a direct connection method between one or more of the multiple computing systems, etc.

[0013] The detailed information of one or more variations of the subject matter described herein will be explained in the following drawings and detailed description. According to the detailed description, drawings and claims, other features and advantages of the subject matter described herein will be apparent. It should be readily understood that the features described herein are not intended to be restrictive. The appended claims of the present invention are intended to limit the scope of the protected subject matter. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The accompanying drawings are incorporated in and constitute a part of this specification, and together with the detailed description, they illustrate certain aspects of the subject matter disclosed herein and help explain some principles related to the disclosed embodiments.

[0015] Figure 1 is a schematic diagram illustrating aspects of such a system that features consistent with embodiments of the present subject matter;

[0016] Figure 2 System block diagram of an example system for implementing peer-to-peer digital game ranking competitions;

[0017] Figure 3 is a system block diagram of a system with an example media management server that implements video streaming of online e-sports ranking tournaments;

[0018] Figure 4 is an illustration of a graphical user interface having features consistent with the presently described subject matter;

[0019] Figure 5is an illustration of a graphical user interface having features consistent with the presently described subject matter;

[0020] Figure 6 is a system block diagram illustrating an example recreation engine that enables a media management server to recreate a game environment from game state data and / or user activity data and enables a commentator to generate new video from a new perspective; and

[0021] Figure 7 is a process flow diagram illustrating a method of generating video streaming from a narrator's perspective. DETAILED DESCRIPTION

[0022] The present invention provides a toolkit to effectively and efficiently stream game video data and audio data and commentary data to viewers of streaming content during e-sports competitions. The toolkit can provide an automatic playback room for anchors to report on e-sports ranking matches occurring in the game. The toolkit can facilitate video and audio capture from all ranking match participants. The toolkit can facilitate the transmission of a video queue interface so that the anchor can watch, select and play videos or clips. The toolkit can be configured to break down the game into high-energy moments and key clips, provide game analysis, and recommend broadcasts for anchor combinations based on game events. In some embodiments, the game environment can be recreated for the commentator to explore and / or generate new video content from any desired viewing position, perspective and / or time point. The method can reduce the amount of data that needs to be transmitted between game participant devices, streaming servers, and game viewer devices.

[0023] Figure 1 1 is an illustration of a system 100 having one or more features consistent with the present subject matter. The system 100 may include a server 102 configured to manage and maintain a streamer toolkit. The system 100 may include one or more client devices 104. The one or more client devices 104 may be associated with a player participating in a ranked game. The client device 104 may include one or more of a laptop, a netbook, a smart phone, a mobile device, a tablet, a desktop computer, etc. The system 100 may include a commentator device 106. The commentator device 106 may be a device similar to the client device 104. The system 100 may include external resources 108. The external resources 108 may include one or more third-party servers that provide resources used by one or more of the server 102, the client device 104, the commentator device 106, etc.

[0024] The server 102, client device 104, narrator device 106, external resources 108, and / or other components of the system 100 may communicate electronically via a network 110. The network may be a local area network, a wide area network, the Internet, a cloud network, or the like.

[0025] The server 102 may be configured to maintain a streamer toolkit. The streamer toolkit may be configured to facilitate streaming of gameplay and commentary to one or more client devices 104. In some variations, facilitating streaming of gameplay may include receiving audio data and video data from a device associated with a game participant. The audio data and video data may represent the view and sound of the game presented to the game participant. In other variations, facilitating streaming of the game may include receiving player action information, which represents the player's actions taken by the game participant in the game.

[0026] In some variations, given data representing player actions, the streaming toolkit can be configured to recreate the game on the client device 104 to which the gameplay has been streamed. In this way, a significantly reduced amount of data can be transmitted between the game participant device and the game viewer device.

[0027] Game participants and game viewers may connect to the system 100 via similar devices (eg, client device 104 ).

[0028] In some variations, game data may be streamed directly from a game participant device to a game viewer device without routing the game data through the server 102 or through the commentator device 106. Commentator data (data generated by the commentator device 106) may be sent to the game viewer device so that commentary and game data may be synchronized.

[0029] Game data, whether video and audio streaming or game participant action data, may first be provided to the commentator device 106. The commentator, through the commentator device 106, may share streaming of the gameplay provided to game viewers, as well as any commentary or animations that the commentator wishes to supplement.

[0030] System 100 may facilitate game viewers receiving streaming data provided by a commentator.

[0031] Figure 4 is an illustration of a graphical user interface 400 having features consistent with the presently described subject matter. Graphical user interface 400 is an exemplary embodiment of a graphical user interface presented to a viewer of a game. Graphical user interface 400 may include content shared by a commentator. The content may include video replays, a streamer's feed, ranked match information, and current leaderboard status.

[0032] Figure 5 5 is a diagram of a graphical user interface 500 having features consistent with the presently described subject matter. Graphical user interface 500 is an exemplary embodiment of a graphical user interface presented to a commentator or anchor. Graphical user interface 500 can be configured to facilitate the commentator to provide high-quality and engaging video images to the audience.

[0033] The toolkit may be configured to facilitate capturing video replays of all game participants participating in a ranked tournament. The toolkit or streaming management system may be configured to facilitate providing access by a streamer to a list of all participating players in the tournament he or she is commentating. The streamer or commentator may access the relevant replays for each participant.

[0034] For each participant, the streamer has multiple actions they can take with the participant's video replay captured. For example, the streamer can watch a preview of a specific participant's gameplay. The streamer can watch a participant's replay privately without sharing that video to the live stream. This tool gives the streamer the flexibility to review games before talking about them, look for specific moments of the replay he or she wants to show, or preview a replay before showing it to his or her audience.

[0035] The streamer can add video replays of participants in the game to the queue. The streamer can annotate the video replays, add statistics for the playback through the annotations feed, etc.

[0036] The video queue graphical user interface 500 can allow the host to interact with and control the content being broadcasted by his or her streaming media. In some exemplary embodiments, the graphical user interface 500 can include multiple areas, such as a streaming media area, a queue area, etc.

[0037] The Now Playing Streaming area can be configured to show the streamer the playback currently being streamed to them. This is a persistent space that enables the streamer to monitor what they are currently sharing even when using a window to preview the stream or adjusting the playback in a way that is not shared with the audience.

[0038] The queue area can be configured to facilitate control of the order of replays to be broadcast on the streamer's stream. The graphical user interface 500 can facilitate adding various replays that the streamer wants to show next, changing the order of videos to be broadcast, etc. In some embodiments, the toolkit can be configured to automatically stream video of gameplay if the streamer chooses not to add any content to the queue or if the queue becomes empty. Preset criteria can be provided to specify the content to be displayed when the content queue becomes empty. For example, video content showing the gameplay of the top three contestants can be presented, content of the main actions or events in a ranking tournament can be presented, etc.

[0039] In some variations, user action information may be sent to the commentator device 106. The system 100 may be configured to recreate the game environment of a ranked match being played for a commentator or streamer. The streamer may select the location and viewing angle of the stream, which may be referred to as, for example, the streamer's perspective. The system 100 may be configured to facilitate movement of the streamer's perspective by the streamer. Gameplay footage from the streamer's perspective may be streamed to game viewers.

[0040] In graphical user interface 500, system 100 may be configured to analyze gameplay and present interesting gameplay footage to the streamer for the streamer to select and add to their streaming queue. System 100 may be configured to analyze gameplay and select interesting gameplay footage based on actions taken by game participants, based on events experienced by game participants, game events selected by other game streamers, etc.

[0041] The system 100 can analyze the gameplay to provide statistics to the streamer. The system 100 can facilitate the streamer to work as a one-man team and have interesting footage that is easy to stream without having to interrupt from the live stream to look up past footage or statistics about players and / or non-player characters.

[0042] In some variations, automatic analysis of gameplay may include automatically capturing a complete history of all game records of a player and details of the player's play in the game. System 100 may be configured to calculate a player's skill level based on the player's game history in all games, the current game, the current ranking match within the game, etc. Player information may be used to automatically provide a streaming media of interesting data for a particular player, which streamers may use to enhance their broadcasts. For example, statistics may include information such as that player A usually beats player B, generally 57% of the time, but only 47% of the time at a particular level being broadcast, and only 43% of the time in this replay if he is at his current position.

[0043] The system 100 can be configured so that replays and player lists appear in an order selected by the streamer. For example, the order can be the current ranking of the player in a ranked match, the current skill level of the player in a particular game, the current ranking of the player among all players in a public gaming platform hosting multiple games, etc. When the order is based on the current ranking of the player, it can be assumed that the most interesting events involve the participation of the highest-ranked players. Alternatively, the measure that the event may be exciting can be based on the relative difference in the rankings of the participants in a multi-player game. In other words, it can be assumed that players who are closely followed in skill level have a higher probability of participating in more interesting games. Therefore, this configuration makes it easy to find more interesting game replays. Before watching the video replay of the user's gameplay, the streamer will know what level of players have been selected and the possible results of their games.

[0044] The system 100 may be configured to provide historical game replays. In some variations, links may be provided to historical replays of the same game that occurred during previous ranked matches, actions taken by players in similar but different games, etc. This may be convenient for streamers to provide their favorite footage for easy reference. Example uses include showing the best recorded games, keeping a reference for playing the game yourself, using footage with particularly interesting or relevant play or strategy, showing matches between players in previous games, etc.

[0045] The graphical user interface 500 may be configured to provide a notification to the anchor or commentator that a leaderboard has changed. In some variations, this may be limited to a certain number of players at the top of the leaderboard or at the bottom of the leaderboard. The graphical user interface 500 may be configured to notify the anchor when a game participant moves up or down an unusually large number of positions on the leaderboard. The analysis provided by the system 100 may be configured to detect segments where the change in score (or other success metric) per unit time is unusually high or low. This may facilitate detection of key actions in a game where a player achieves a win or focuses on an area where other good players struggle and may have lost the game.

[0046] The graphical user interfaces 400 and 500 can be configured to facilitate providing live score updates to the streamer and indicate whether a player is currently on track to beat their previous score or secure a top spot in the leaderboard. This takes the current concept of "splits" as seen in the Olympics and makes it automatically applicable to any esports, regardless of the scoring type.

[0047] Figure 2 System block diagram of an example system 200 for implementing ranked matches for a peer-to-peer digital game. The system 200 includes a ranked match server 260 that allows ranked matches to be conducted between players of the game.

[0048] Multiple Players 210 i (i=1, 2, ..., N) Operate each player client 220 i . Each player client 220 i Including third-party gaming applications 230 i . Game Applications 230 i It can be any online digital game (e.g., video game). In some embodiments, multiple players 210 can confront each other online. The game can be consistent between game applications 230 (e.g., if the player 210 is playing chess (chess), each game application 230 is an instance of an electronic chess game). Each game application 230 can communicate with a game server 250 and receive game data from the game server 250. The game server 250 provides the game data required for operating the game. The game server 250 can be a third-party game server, for example, separated from the ranking match server 260 and the ranking match server 260 has limited accessibility (e.g., the ranking match server 260 does not communicate with the game server or has limited API call access to the game server). The player client 220 may include a mobile device (e.g., a smart phone, a tablet computer, etc.), and the player client 220, the game server 250, and the ranking match server 260 can realize the ranking match on a network (e.g., the Internet).

[0049] Each game application 230 includes a peer-tournament module 240 i . The peer ranking competition module 240 is integrated into the game application 230 and enables players 210 to register and participate in online game competitions. The peer ranking competition module 240 communicates and works in conjunction with the ranking competition server 260. When the game application 230 runs a competition (e.g., a copy of a game), as the associated player 210 interacts with the game (e.g., plays a game), the game application 230 has an internal game state that changes over time. The peer ranking competition module 240 can periodically and / or continuously capture game state data and send the captured game state to the ranking competition server 260. The game state data may include user action data, which includes a feature description of the user input in the interface, such as pressing a button, mouse / joystick / directional keyboard input, etc. The ranking competition server 260 may receive game states from multiple peer ranking competition modules 240. Because the competition does not share game states, the competition can be conducted separately. For example, each game application 230 can be an asynchronous single-player game. In some embodiments, the competition shares game states (e.g., multiple players interact in a game environment).

[0050] In some embodiments, the peer ranking module 240 and the ranking server 260 do not provide the game application 230 with the i In other words, in some embodiments, they are not involved in implementing a copy of the game, but rather observe the game, capture game state, and enable multi-match ranking functionality layering.

[0051] Figure 3 is a system block diagram of a system 300 having an example media management server 310 for implementing video streaming of online e-sports ranking matches. The example system 300 includes the above-referenced Figure 2 The components described above, and further include a media management server 310. The media management server 310 interacts with a ranking match commentator 320, who can be a ranking match host, participant or third party (also referred to as anchor 320). The commentator 320 can be a client device. The media management server 310 can provide an automatic virtual playback room for the ranking match commentator 320 to report the e-sports ranking match. The media management server 310 receives game state data from the ranking match server 260, and can automatically recreate the game environment, allowing the commentator to select or specify viewing parameters (such as camera position and viewing angle), and generate video streaming media from the perspective selected or specified by the commentator. The generated commentator perspective video streaming media can be provided to the viewing client 330 and / or the player 210 and / or used for the ranking match commentator 320 to combine recommended broadcasts. The media management server 310 can broadcast live video images (controlled by the ranking match commentator 320) to the player 210 and / or the viewing client 330. The example media management server 310 includes a recreation engine 605 .

[0052] Figure 6 is a system block diagram illustrating an example recreation engine 605 that enables the media management server 310 to recreate a game environment through game state data and / or user activity data and enables a commentator to generate new video from a new perspective.

[0053] Re-creation engine 605 can include extended game engine, and the extended game engine can re-create game environment through user action data and / or game state data.Re-creation of game environment can be performed in a continuous manner to provide commentator coverage of live events.Re-creation of game environment can be performed for any past time point, so that commentator can analyze and generate video of past game play with new perspective.This can be achieved by maintaining a database of historical user action data and / or game state data.Re-creation engine 605 can be an extension of game engine, and the extension of this game engine is merged into the game application 230 being executed on player client 220.Game state data and / or user action data derived from player client 220 can be utilized by re-creation engine to re-create game environment.Re-creation engine 605 can utilize data files commonly used by game application, such as map, level specification, etc.

[0054] The re-creation engine 605 may include: game program logic 610, rendering engine 615, audio engine 620, physics engine 625, artificial intelligence 630 and commentator interface 635. Game program logic 610 includes the actual game logic that describes the game mechanics. The rendering engine 615 generates animated graphics (e.g., 2D or 3D) and utilizes one or more rendering application programming interfaces (APIs), such as Direct3D or OpenGL. The audio engine 620 processes audio data and may utilize APIs such as OpenAL, SDL audio, XAudio 2, Web Audio, etc. The physics engine 625 simulates the laws of physics for the game environment. The artificial intelligence 630 provides guidance for some game-controlled elements, such as non-player characters (NPCs).

[0055] The commentator interface 635 may allow for input from the commentator 320. The input may include providing viewing parameters, such as viewing position, viewing angle, field of view, visible or invisible portion of the field of view, etc. The commentator interface 635 may provide the commentator input data to the game program logic, which utilizes the commentator viewing parameters to render the game environment.

[0056] Figure 7 is a process flow diagram showing a method 700 for generating video streaming media from a commentator's perspective. The method 700 can utilize user action data and / or game state data to recreate the game environment. This method can reduce data transmission requirements (game state data and user action data can be smaller than view data) and enable the commentator to create video from a new vantage point that can be different from the player's vantage point.

[0057] At 710, user action data is received. The user action data describes or characterizes the actions of a player in a running game environment. For example, the user action data may include user interface inputs made by a user, such as keystrokes, button presses, mouse movements, joystick movements, directional pad inputs, etc. In some embodiments, the user action data is created by a player client 220 (e.g., a user client) and may be received from the player client 220 by the media management server 310. In some embodiments, the user action data may be received from a game server 250. Game state data may also be received. The game state data may include, for example, character position, character orientation, and any other attributes and / or data required to recreate the game environment at a particular point in time. The game state data may include the user action data.

[0058] At 720, a selected viewing position may be received. The selected viewing position may be received from commentator 320. The selected viewing position may be different than the player viewing position and may include a position (eg, field of view) for viewing the game environment.

[0059] At 730, a recreation of the gaming environment can be generated at the media management server 310. The gaming environment can be recreated from the user action data and / or the game state data. In some implementations, recreating the gaming environment can include running a gaming engine (e.g., the recreation engine 605) using the game state data, the user activity data, and the selected viewing position. The gaming engine can receive the viewing position, the game state data, and the user action data, and render the gaming environment from the perspective of the viewing position.

[0060] At 740, a video stream of the recreated gaming environment is generated. The video stream may be captured from the recreated environment rendered by the gaming engine. The video stream may include a view from a perspective of a selected viewing position. The video stream may be generated by the media management server 310.

[0061] At 750, a video stream may be provided. The video stream may be sent to a viewing client device. The video stream may be provided to a user interface for further editing and / or management by a narrator, for example, by utilizing Figure 5 The interface shown in .

[0062] In some implementations, different viewing parameters may be used, such as viewing angles, specific fields of view, viewing effects (e.g., black and white, adjusting contrast / color / brightness, additional video overlays, etc.), etc. In some implementations, an audio stream may be received from the commentator 320 and / or the player client 220. The audio stream may be combined with the generated video stream prior to transmission to the viewing client 330, or may be transmitted with the video stream for synchronized media consumption.

[0063] Typically, video game streamers can interact with their audience by showing live footage of their own gameplay. But in esports rankings, a stream of just one display does not convey what is happening to other players in the individual parts of the game or esports competition. As esports grows in popularity, the media management server 310 addresses the need for a toolkit that allows individual streamers to perform the same level of commentary and gameplay analysis performed by teams of analysts in the parallel industry of sports.

[0064] The media management server 310 provides an automated playroom for anchors 320 to report (e.g., commentate) e-sports ranking matches in any game. The media management server may have two types of end users. The first type is a viewing client 330. The viewing client 330 does not touch the streaming media tool that may be used as part of the media management server 310. Instead, the viewing client 330 is able to see the content shared by the ranking match commentator 320. Examples of the content shared by the ranking match commentator 320 are shown in Figure 4 This includes video playback 410, an image of the host 420, ranking match information 430 and the current leaderboard status 440.

[0065] The second type of end user is the ranked match commentator 320 or "streamer" who uses the media management server 310 to deliver high quality and engaging video footage to their audience. Streamers are able to capture video from all ranked match participants; preview captured video to privately watch a player's replay without sharing the video to a live stream; interact with the video queue interface to view, select, and play videos or clips; and receive recommendations for automatically segmenting and assembling videos using game analytics into high energy moments and / or key segments.

[0066] The media management server 310, in conjunction with the peer ranking competition module 240, can automatically capture and record video replays of all players 210 participating in the ranking competition. In addition, video streaming can be generated by recreating the game environment and allowing the commentator to select viewing parameters that allow a controllable commentator perspective, such as described above with reference to Figure 6 and Figure 7 described.

[0067] Through the media management server 310, the host 320 hosting the ranking match can access a list of all the participating players or players 210 in the event he or she is hosting and the video capture associated with each player 210. For each player 210, the host 320 has at least two actions that can be taken when using the captured video replay. They can preview the captured video, where the host 320 privately watches the captured video of the player 210 without sharing the video to the live stream. This tool gives the host 320 the flexibility to review games before talking about them, find specific moments of the replay that he or she wants to show, or preview the video before showing it to his or her audience. The host 320 can also add the selected video to a video queue, which specifies the next video portion to be streamed on the live stream.

[0068] Figure 5 5 is a user interface showing a video control panel 500 (also referred to as a graphical user interface 500). The video control panel 500 includes a video queue interface 510 for the host 320 to view, select and play videos or clips. The video queue interface 510 allows the host to interact with and control the content being played by his or her streamer. The video queue interface 510 includes two components: the playing stream 510B and the queue 510A.

[0069] Now Playing Stream 510B shows the currently playing playback (e.g., live video stream or video) to the host 320. This is a persistent space that enables the host 320 to monitor what they are currently sharing even when using a window to preview the stream or adjust the playback in a way that is not shared with the audience.

[0070] The queue 510A enables the host 320 to control the order in which video portions or replays are to be displayed. The host 320 can add various video portions that they would like to be displayed next, or change the order of the videos to be played next. If the host 320 chooses not to add anything to the queue, or if the queue becomes empty, the system can use the cross-match comparison to automatically stream a player's video, for example, by streaming the video of one of the top three performing players 210, the video of the player 210 with the largest change in score over a one-minute period, etc.

[0071] The video control panel 500 includes a list of players 520 participating in a ranked match, and video capture of the players 520 can be broadcast to a wider audience. The list of players 520 includes options 520A and 520B, 520A: preview, 520B: add a replay of the player 520 to the queue 510A. The video control panel 500 further includes a preview space 530 for watching videos and a list of historical game replays 540, the list of historical game replays 540 having options 540A and 540B, 540A: preview, 540B: ​​add a historical game replay to the queue 510A.

[0072] In some embodiments, the media management server 310 automatically breaks down the video captured at the player client 220 into high-energy moments and key clips, and assembles recommended broadcasts for the streamer 320. Thus, the media management server 310 can have an automatic function that acts as a "behind-the-scenes analyst team" for the streamer 320. This allows the streamer 320 to work as a one-person team and easily select the right shots to play without having to interrupt from the live stream to look up past shots or statistics. Automatic analysis and features include ranked sorting of replays, which makes the replays and player lists appear in the queue 510A in the order of their current ranking in the ranked game. This makes it easy to find replays for any player based on their position. Before watching the video, the streamer can know the rank of the player they selected and what their game results are likely to be.

[0073] The automatic media management server 310 functions include providing a list of historical game replays. This can include links to historical replays of the same game that occurred during previous ranked matches. This allows the anchor 320 to call up their favorite shots for easy reference. For example, the anchor 320 can show the best games ever recorded, keep a reference to the game they played, or use shots with particularly interesting or relevant games or strategies. In some embodiments, the historical replays can include game state data, which includes user activity data that can recreate the game environment, allowing the commentator to recreate past games and generate new videos of the gameplay (possibly from a new perspective).

[0074] The automatic media management server 310 functions include providing notifications when changes occur at the top of the leaderboard. When positions change between the top players in a ranked match, the streamer 320 can be notified (in addition to leaderboard changes).

[0075] See again Figure 1, the server 102 may include a processor 112 configured to provide information processing capabilities to a computing device having one or more features consistent with the current subject matter. The processor 112 may include one or more of a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and / or other mechanisms for electronically processing information. Although the processor 112 is Figure 1 112 is shown as a single entity, but this is for illustration purposes only. In some embodiments, processor 112 may include multiple processing units. These processing units may be physically located within the same device, or processor 112 may represent processing functionality of multiple devices operating in coordination. Processor 112 may be configured to execute machine-readable instructions that, when executed by processor 112, cause processor 112 to perform one or more of the functions described in this specification. The functions described herein may be performed by software; hardware; firmware; some combination of software, hardware, and / or firmware; and / or other mechanisms for configuring processing capabilities on processor 112.

[0076] Server 102 may include electronic storage 114. Electronic storage 114 may be configured to store information. Electronic storage 114 may be configured to store computer-readable instructions that, when executed by processor 112, may cause processor 112 to perform one or more operations described herein.

[0077] Electronic storage 114 may include electronic storage media that electronically stores information. The electronic storage media of electronic storage 114 may include one or both of system memory and / or removable memory, the system memory being integrally (i.e., substantially non-removably) disposed with a computing device (such as server 102, client device 104); the removable memory may be connected to server 102 via, for example, a port (e.g., a USB port, a FireWire port, etc.) or a drive (e.g., a disk drive, etc.). Electronic storage 114 may include one or more of optically readable storage media (e.g., optical disks, etc.), magnetically readable storage media (e.g., magnetic tape, magnetic hard drive, floppy disk drive, etc.), charge-based storage media (e.g., EEPROM, RAM, etc.), solid-state storage media (e.g., flash drives, etc.), and / or other electronically readable storage media. Electronic storage 114 may include one or more virtual storage resources (e.g., cloud storage, virtual private networks, and / or other virtual storage resources). Electronic storage 114 may store software algorithms, information determined by processor 112, information received from one or more computing devices (eg, server 102, client computing device 104), information enabling one or more computing devices to operate, and the like.

[0078] Without in any way limiting the scope, interpretation, or application of the claims appearing herein, a technical effect of one or more of the example embodiments disclosed herein may include facilitating the provision of streaming of shared and narrated video game play.

[0079] One or more aspects or features of the subject matter described herein can be implemented with digital electronic circuits, integrated circuits, specially designed application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) computer hardware, firmware, software and / or combinations thereof. These different aspects or features can include implementations in one or more computer programs executable and / or interpretable on a programmable system, the programmable system including at least one programmable processor, at least one input device and at least one output device, the at least one programmable processor can be dedicated or general purpose, connected to receive data and instructions from a storage system, and data and instructions are sent to the storage system. A programmable system or computing system can include a client and a server. The client and the server are usually far away from each other, and typically interact through a communication network. The relationship between the client and the server is generated by means of a computer program that runs on each computer and has a client-server relationship with each other.

[0080] These computer programs may also be referred to as programs, software, software applications, applications, components or codes, which include machine instructions for programmable processors and may be implemented in high-level procedural languages, object-oriented programming languages, functional programming languages, logic programming languages ​​and / or assembly / machine languages. The term "machine-readable medium" as used herein refers to any computer program product, device and / or equipment for providing machine instructions and / or data to a programmable processor, such as a disk, an optical disk, a memory and a programmable logic device (PLD), including a machine-readable medium that receives machine instructions as machine-readable signals. The term "machine-readable signal" refers to any signal for providing machine instructions and / or data to a programmable processor. A machine-readable medium may store such machine instructions in a non-volatile manner, such as a non-volatile solid-state memory or a magnetic hard drive or any equivalent storage medium. A machine-readable medium may alternatively or additionally store such machine instructions in a volatile manner, such as a processor cache or other random access memory associated with one or more physical processor cores.

[0081] In order to provide interaction with a user, one or more aspects or features of the subject matter described herein may be implemented on a computer having a display device, a keyboard, and a pointing device, such as a cathode ray tube (CRT) or a liquid crystal display (LCD) or a light emitting diode (LED) monitor for displaying information to a user, a keyboard and a pointing device such as a mouse or a trackball, through which a user can provide input to the computer. Other types of devices may also be used to provide interaction with a user. For example, the feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; input from the user may be received in any form, including but not limited to acoustic, voice, or tactile input. Other possible input devices include but are not limited to touch screens or other touch-sensitive devices, such as single-point or multi-point resistive or capacitive touch pads, voice recognition hardware and software, optical scanners, optical pointers, digital image capture devices and associated interpretation software, etc.

[0082] In the above detailed description and claims, phrases such as "at least one of ..." or "one or more of ..." may appear, followed by a connected list of elements or features. The term "and / or" may also appear in a list of two or more elements or features. Unless otherwise implied or explicitly contradicted by the context in which it is used, this phrase means any element or feature listed alone, or any listed element or feature combined with any other listed element or feature. For example, the phrases "at least one of A and B", "one or more of A and B", and "A and / or B" all mean "only A, only B, or A and B together". A similar interpretation applies to lists including three or more items. For example, the phrases "at least one of A, B, and C", "one or more of A, B, and C", and "A, B, and / or C" all mean "only A, only B, only C, A and B together, A and C together, B and C together, or A and B and C together". In the above claims, the term "based on" is used to mean "based at least in part", which also allows for unlisted features or elements.

[0083] The subject matter described herein can be implemented as a system, device, method and / or article according to the desired configuration. The embodiments illustrated in the foregoing specific embodiments do not represent all embodiments consistent with the subject matter described herein. On the contrary, they are only some examples consistent with the aspects related to the subject matter. Although some variants are described in detail above, there may also be other modifications or additions. Specifically, in addition to what is described herein, more features and / or variants may be provided. For example, the embodiments described above may involve various combinations and variations of the disclosed features, and / or combinations and variations of several other features disclosed above. In addition, to achieve satisfactory results, the logic flow depicted in the accompanying drawings and / or the logic flow described in this article do not require the specific order or sequential order shown. Other embodiments may be within the scope of the appended claims.

Claims

1. A method for managing streaming video data, comprising: receiving user action data at a media management server from each of a plurality of client devices, wherein the user action data characterizes player actions in a digital game running on each of the plurality of client devices, wherein each of the plurality of client devices creates a digital game separate from the media management server, and wherein each of the plurality of client devices renders the digital game from a respective viewing position within each digital game; generating, by a media management server, a recreated digital game using the user action data received from each of the plurality of client devices; generating, by a media management server, a video stream of the recreated digital game, wherein the video stream includes a display of past actions of each player from each perspective at each viewing position; identifying, by the media management server, one or more high energy segments of the video streaming media based on calculation of at least one metric associated with the user motion data; combining, by the media management server, one or more identified high-energy segments of the video streaming media into a recommended video streaming media; The media management server provides the recommended video streaming media to the commentator client; The media management server combines the audio streaming media from the commentator client with the recommended video streaming media to generate a broadcast video streaming media; and The media management server sends the broadcast video streaming media to the viewing client.

2. The method for managing streaming video data according to claim 1, wherein: The user action data from each of the plurality of client devices includes data representative of user interface actions of a player interacting with the digital game.

3. The method for managing streaming video data according to claim 1, comprising: Game state data is received from each of a plurality of client devices.

4. The method for managing streaming video data according to claim 3, wherein: Generate a recreated digital game including: A game engine is run using the user action data and the game state data received from each of the plurality of client devices.

5. The method for managing streaming video data according to claim 1, wherein: Digital games include asynchronous single-player games.

6. The method for managing streaming video data according to claim 1, comprising: Provides links to historical replays of digital games.

7. The method for managing streaming video data according to claim 1, wherein: The viewing client includes at least one of the plurality of client devices.

8. The method for managing streaming video data according to claim 1, wherein: Each viewing position within each digital game includes a different viewing position from a respective viewing position within at least one other digital game.

9. The method for managing streaming video data according to claim 1, wherein: Generating video streaming includes: Capture rendered digital recreation of the game.

10. A system for managing streaming video data, comprising: at least one data processor; as well as A memory storing instructions which, when executed by at least one data processor, cause the at least one data processor to implement the method for managing streaming video data according to any one of claims 1-9.

11. A computer-readable storage medium storing instructions, which, when executed by at least one data processor of at least one computing system, implement the method for managing streaming video data according to any one of claims 1-9.

Citation Information

Patent Citations

  • Method and apparatus for online rendering of game files

    CN103052429A

  • Broadcast type distribution method, and computer readable recording medium recorded with program for executing the method by computer

    JP1999341449A

  • Spectator mode for a game

    US20070117617A1

  • System and Method for Selecting a Video Encoding Format Based on Feedback Data

    US20100166062A1

  • Game device, game device control method, and information storage medium

    US20100190551A1