BUILT-IN SUPPORT OF IN-GAME VIRTUAL SPLIT SCREENS WITH PEER-TO PEER-VIDEO CONFERENCING
20170165569 ยท 2017-06-15
Inventors
Cpc classification
H04N7/147
ELECTRICITY
A63F13/87
HUMAN NECESSITIES
A63F2300/401
HUMAN NECESSITIES
A63F13/30
HUMAN NECESSITIES
A63F13/355
HUMAN NECESSITIES
A63F13/213
HUMAN NECESSITIES
International classification
A63F13/215
HUMAN NECESSITIES
A63F13/355
HUMAN NECESSITIES
A63F13/87
HUMAN NECESSITIES
Abstract
Methods of providing in-game virtual split screens with peer-to-peer video conferencing are described for use in online gaming, for instance. In one approach, a live video stream, a live audio stream, and a player viewpoint are sent from a first computer system for receipt by a second computer system. The first and second computer systems concurrently execute the online game. The live video stream, the in-game video stream, and locally rendered in-game content are combined to create a composite video stream, and the live audio stream, the in-game audio stream, and locally generated in-game audio are combined to create a composite audio stream. The composite video stream and the composite audio stream are operable to be presented at the second computer system in real-time.
Claims
1. A method of sharing information with remote players in an online game, the method comprising: executing the online game using a processor and a memory of a computer system; capturing a live video stream using a camera of the computer system; capturing a live audio stream using a microphone of the computer system; generating a player viewpoint of the online game during execution thereof, wherein the player viewpoint comprises an in-game video stream and an in-game audio stream; and sending the live video stream, the live audio stream, and the player viewpoint for receipt by a second computer system, wherein: the second computer system is concurrently executing the online game; the live video stream and the in-game video stream are combined to create a composite video stream; the live audio stream and the in-game audio stream are combined to create a composite audio stream; and the composite video stream and the composite audio stream are operable to be rendered at the second computer system.
2. The method of claim 1, wherein the live video and audio streams and the in-game video and audio streams are presented alongside in-game content generated by the second computer system.
3. The method of claim 1, further comprising performing at least one of compression, encryption, or encoding on the live video stream and the live audio stream.
4. The method of claim 1, further comprising performing at least one of compression, encryption, or encoding on the in-game video stream and the in-game audio stream.
5. The method of claim 1, wherein the in-game video stream is generated using a 3D driver.
6. The method of claim 1, wherein the computer network comprises the Internet.
7. The method of claim 1, wherein the computer network comprises a local area network.
8. A method of sharing a multiplayer game, the method comprising: executing the online game using a processor and a memory of a computer system; capturing a live video stream using a camera coupled to the computer system; capturing a live audio stream using a microphone coupled to the computer system; generating a player viewpoint of the online game during execution, wherein the player viewpoint comprises an in-game video stream and an in-game audio stream; and sending the live video stream, the live audio stream, and the player viewpoint for receipt by a host using a computer network, wherein: the host is operable to connect to a second computer system using the network; the second computer system is operable to concurrently execute the online game; the live video stream and the in-game video stream are combined to create a composite video stream; the live audio stream and the in-game audio stream are combined to create a composite audio stream; and the composite video stream and the composite audio stream are operable to be rendered at the second computer system.
9. The method of claim 8, wherein the live video and audio streams and the in-game video and audio streams are presented alongside in-game content generated by the second computer system.
10. The method of claim 8, further comprising performing at least one of compression, encryption, or encoding on the live video stream and the live audio stream.
11. The method of claim 8, further comprising performing at least one of compression, encryption, or encoding on the in-game video stream and the in-game audio stream.
12. The method of claim 8, wherein the in-game video stream is generated using a 3D driver.
13. The method of claim 8, wherein the computer network comprises the Internet.
14. The method of claim 8, wherein the computer network comprises a local area network.
15. An apparatus for sharing a player viewpoint and audio-video communication with remote players of an online game, comprising: a processor and memory configured to execute instructions of an online game, wherein the instructions, when executed, generate a player viewpoint comprising in-game audio data and in-game video data; a camera for capturing a live video stream; a microphone for capturing a live audio stream; a network streamer for sending the in-game audio data, the in-game video data, the live video stream, and the live audio stream for receipt by a host using a computer network and receiving data from the host using the computer network; a video compositor for combining the in-game video data, the live video stream, and local in-game video data to create a composite video stream; and an audio compositor for combining in-game audio data, live audio stream, and local in-game audio data to create a composite audio stream.
16. The method of claim 15, wherein: the host connects to a second computer system using the network; the second computer system is concurrently executing a copy of the online game; and the composite video stream and the composite audio stream are presented at the second computer system such that the in-game audio and video and the live audio and video streams are presented alongside in-game content generated by the second computer system.
17. The apparatus of claim 15, further comprising a 3D driver for translating video data instructions.
18. The apparatus of claim 15, further comprising a video encoder for encoding video data and an audio encoder for encoding audio data.
19. The apparatus of claim 18, further comprising a video decoder for decoding video data and an audio decoder for decoding audio data.
20. The apparatus of claim 15, wherein the first computer system, the second computer system, and host communicate using webRTC.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention:
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
DETAILED DESCRIPTION
[0019] Reference will now be made in detail to several embodiments. While the subject matter will be described in conjunction with the alternative embodiments, it will be understood that they are not intended to limit the claimed subject matter to these embodiments. On the contrary, the claimed subject matter is intended to cover alternative, modifications, and equivalents, which may be included within the spirit and scope of the claimed subject matter as defined by the appended claims.
[0020] Furthermore, in the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the claimed subject matter. However, it will be recognized by one skilled in the art that embodiments may be practiced without these specific details or with equivalents thereof. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects and features of the subject matter.
[0021] Portions of the detailed description that follows are presented and discussed in terms of a method. Although steps and sequencing thereof are disclosed in a figure herein (e.g.,
[0022] Some portions of the detailed description are presented in terms of procedures, steps, logic blocks, processing, and other symbolic representations of operations on data bits that can be performed on computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, computer-executed step, logic block, process, etc., is here, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
[0023] It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout, discussions utilizing terms such as accessing, writing, including, storing, transmitting, traversing, associating, identifying or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
In-Game Virtual Split Screen With Peer-To-Peer Video Conferencing
[0024] Embodiments of the present invention are drawn to exemplary computing devices generally having a network interface component, a video camera, and a microphone. The following discussion describes one such exemplary computing device.
[0025] In the example of
[0026] In the embodiment of
[0027] System 101 of
[0028] Audio driver 108 receives audio data from CPU 113 and generates signals with suitable voltage, current, timing and/or demultiplexing to generate formatted audio for playback. In on illustrative example, during execution of game 104 by CPU 113, audio driver 108 receives instructions comprising audio data from CPU 113 executing game 104 and translates the instructions to be encoded by audio encoder 112. According to some embodiments, audio driver 108 receives audio data from an operating system of computer system 101 and converts the audio to a format suitable for playback.
[0029] Network streamer 115 receives data from video encoders 110 and 111 and audio encoders 109 and 111 and prepares the data for transmission to another system or device using network interface 116. Network interface 116 comprises an Ethernet or wireless network adapter for sending and receiving data over a computer network. Network streamer 115 receives audio and video data captured using microphone 105 and camera 106, respectively. Network streamer 115 also receives in-game graphics and audio content from video encoder 111 and audio encoder 112 for transmission.
[0030] Network streamer 115 prepares the in-game and real-world multimedia data for sharing with other connected devices, and may be configured to share the data over a network connection (e.g., network interface 116) using a peer-to-peer or star network topology. An exemplary peer-to-peer network topology for sharing in-game and real-world audio and video data is described in
[0031] Network interface 116 comprises a hardware network interface or wireless interface for connecting to a local area network, Intranet, or the Internet. Network interface 116 is used by network streamer 115 to transmit audio and video data to screen sharing server 103. Network interface 116 is also sends data (e.g., game-state, player input, etc.) from game 104 to game server 102, and also to receive data from game server 102 to be used by game 104 during execution.
[0032]
[0033] A network streamer 161 enables computer system 150 to communicate with game server 102 and screen sharing server 103 for sharing real-time communications and player viewpoint data with other on-line players. Network streamer 161 is coupled to network interface 162 to communicate with other computer systems, networks, or devices via an electronic communications network, including wired and/or wireless communication and including a local area network, Intranet or the Internet. Real-time communication (e.g., video and/or voice chat) data received by network streamer 161 from screen sharing server 103 is passed to video decoder 157 and audio decoder 159 for processing (e.g., decoding, decompressing, etc.). Network streamer 161 also receives real-time game data from screen sharing server 103 comprising audio and/or video data based on in-game assets. The game data comprising video data is sent to video decoder 158 for processing, and the game data comprising audio data is sent to audio decoder 160. The processed video data from video decoders 157 and 158 is sent to video composer 155, and the processed audio from audio decoders 159 and 160 is sent to audio composer 156. According to some embodiments, video compositor 155 and audio compositor 156 are a software component of an operating system. According to other embodiments, video compositor 155 and audio compositor 156 are hardware components located on a video card, sound card, processor, or motherboard, for example.
[0034] Still with regard to
[0035] Processed audio data from audio decoders 159 and 160 is received by audio compositor 156. Audio compositor 156 also receives local game data comprising audio data based on in-game assets from audio driver 163. Audio driver 163 receives audio data from CPU 113 and generates signals with suitable voltage, current, timing and/or demultiplexing to generate formatted audio for playback. During execution of game 151 by CPU 164, audio driver 163 receives instructions comprising audio data from CPU 164 and translates the instructions for playback. The translated instructs are then sent to audio compositor 156 to combine in-game and real-world audio content for playback using speaker 153. Speaker 153 comprises a multi-channel surround sound system, TV speakers, or headphones, for example.
[0036] While the embodiment of
Displaying Virtual Split Screens Using Audio and Video Compositors
[0037] With regard to
[0038] With regard to
[0039] With regard to
[0040] With regard to
[0041] With regard to
[0042] With regard to
[0043] With regard to
[0044] With regard to
[0045] With regard to
[0046] Embodiments of the present invention are thus described. While the present invention has been described in particular embodiments, it should be appreciated that the present invention should not be construed as limited by such embodiments, but rather construed according to the following claims.