Voice overlay
First Claim
1. A system comprising:
- first game logic configured to generate first audio data for a game state of a video game;
an audio input configured to receive second audio data from a first client of the video game;
a first encoding pipeline dynamically provisioned based on determined audio capabilities of a second client, the first encoding pipeline including audio overlay logic and an audio encoder, the audio encoder provisioned based on presence of a corresponding audio decoder at the second client, the audio overlay logic defined to scale the second audio data as received from the first client, the audio overlay logic further defined to place the second audio data in a scaled form as an audio overlay on the first audio data as generated by the first game logic, the audio encoder defined to encode the first audio data with the second audio data in the scaled form overlaid thereon into a first audio packet, the first audio packet formatted for decoding by the corresponding audio decoder at the second client;
an output configured to provide the first audio packet to the second client over a communication network; and
an electronic processor configured to execute the first game logic or the first encoding pipeline.
4 Assignments
0 Petitions
Accused Products
Abstract
A video server is configured to provide streaming video to players of computer games over a computing network. The video server can provided video of different games to different players simultaneously. This is accomplished by rendering several video streams in parallel using a single GPU (Graphics Processing Unit). The output of the GPU is provided to graphics processing pipelines that are each associated with a specific client/player and are dynamically allocated as needed. A client qualifier may be used to assure that only clients capable of presenting the streaming video to a player at a minimum level of quality receive the video stream. Video frames provided by the video server optionally include overlays added to the output of the GPU. These overlays can include voice data received from another game player.
384 Citations
23 Claims
-
1. A system comprising:
-
first game logic configured to generate first audio data for a game state of a video game; an audio input configured to receive second audio data from a first client of the video game; a first encoding pipeline dynamically provisioned based on determined audio capabilities of a second client, the first encoding pipeline including audio overlay logic and an audio encoder, the audio encoder provisioned based on presence of a corresponding audio decoder at the second client, the audio overlay logic defined to scale the second audio data as received from the first client, the audio overlay logic further defined to place the second audio data in a scaled form as an audio overlay on the first audio data as generated by the first game logic, the audio encoder defined to encode the first audio data with the second audio data in the scaled form overlaid thereon into a first audio packet, the first audio packet formatted for decoding by the corresponding audio decoder at the second client; an output configured to provide the first audio packet to the second client over a communication network; and an electronic processor configured to execute the first game logic or the first encoding pipeline. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 21, 22, 23)
-
-
9. A method of generating game audio, the method comprising:
-
operating a computer system to execute game logic to generate game audio for a game state of a video game; receiving audio data from a first player of the video game over a computing network; provisioning a dynamic encoding pipeline for a second player of the video game, the dynamic encoding pipeline provisioned based on audio capabilities of a computing system of the second player of the video game, the dynamic encoding pipeline including audio overlay logic and an audio encoder, the audio encoder provisioned based on presence of a corresponding audio decoder at the computing system of the second player of the video game, the audio overlay logic defined to scale the audio data received from the first player of the video game; executing the overlay logic to scale the audio data received from the first player of the video game; executing the overlay logic to overlay a scaled version of the audio data received from the first player on the game audio generated by the game logic; executing the audio encoder to encode the overlaid game audio and scaled audio data to generate an audio stream; and delivering the audio stream to the second player of the video game over the computing network. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer readable medium having stored thereupon:
-
computing instructions for generating game audio for a game state of a video game; computing instructions for receiving audio data from at least a first player of the video game over a computing network; computing instructions for provisioning a dynamic encoding pipeline for a second player of the video game, the dynamic encoding pipeline provisioned based on audio capabilities of a computing system of the second player of the video game, the dynamic encoding pipeline including audio overlay logic and an audio encoder, the audio encoder provisioned based on presence of a corresponding audio decoder at the computing system of the second player of the video game, the audio overlay logic defined to scale the audio data received from the first player of the video game; computing instructions for executing the overlay logic to scale the audio data received from the first player of the video game; computing instructions for overlaying a scaled version of the audio data received from the first player on the game audio; computing instructions for encoding the overlaid game audio and scaled audio data to generate an audio stream; and computing instructions for delivering the audio stream to the second player of the video game over the computing network. - View Dependent Claims (19, 20)
-
Specification