Interactive gameplay playback system
US-2018001216-A1 · Jan 4, 2018 · US
US11260294B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11260294-B2 |
| Application number | US-201715608777-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 30, 2017 |
| Priority date | May 30, 2017 |
| Publication date | Mar 1, 2022 |
| Grant date | Mar 1, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A computing system includes an input driver and a virtual input controller. The input driver is configured to receive input data from a first controller of a recognized data protocol and to provide the input data to an API of an application to control actions of a first participant in the gaming application. The virtual input controller is, in contrast, configured to receive input data from a second controller of a protocol incompatible with the input driver, translate the input data to the recognized data protocol; request a broadcast application identifier for a currently-broadcasting application from the broadcasting agent, and provide the translated input data to the input driver in association with the broadcast application identifier for controlling actions of a second participant in the application via the API of the gaming application.
Opening claim text (preview).
What is claimed is: 1. A broadcasting device comprising: a broadcasting agent stored in memory and executable by a processor to broadcast an application data stream to a spectating device, the application data stream being generated by an application that is locally-executing on the broadcasting device; an input driver stored in memory and executable by the processor to convey user inputs received from a locally-present controller to an application programming interface (API) of the application to affect first control actions to content within the broadcast application data stream; and a virtual input controller stored in memory and executable by the processor to: receive, during broadcast of the application data stream, a request from the spectating device for remote participation in the broadcast application data stream; translate state data received from the spectating device from a protocol incompatible with the input driver to a protocol compatible with the input driver; request a broadcast application identifier for a currently-broadcasting application from the broadcasting agent; and initialize a communication channel between the spectating device and the input driver using the broadcast application identifier obtained from the broadcasting agent; and provide the translated state data to the input driver along the initialized communication channel to affect second control actions to content within the broadcast application data stream, the state data being received, translated and provided to the input driver without executing a secondary instance of the application. 2. The broadcasting device of claim 1 , wherein the virtual input controller is further configured to create a virtual device in the memory responsive to the request for remote participation from the spectating device. 3. The broadcasting device of claim 2 , wherein the virtual input controller uses a handle to the virtual device to transmit information from the input driver to the spectating device. 4. The broadcasting device of claim 1 , wherein the broadcasting agent is configured to: initiate the broadcast of the application data stream responsive to a determination that a process identifier for a currently in-focus application corresponds to an application of a gaming type; and provide the process identifier to the virtual input controller responsive to the request for the broadcast application identifier. 5. The broadcasting device of claim 1 , wherein virtual input controller is further configured to load the input driver responsive to receipt of the request for remote participation. 6. The broadcasting device of claim 1 , wherein the virtual input controller is included within an operating system of a gaming console and wherein the spectating device is a personal computer. 7. The broadcasting device of claim 1 , wherein the virtual input controller is further executable to: create a virtual device responsive to receipt of the request for remote participation from the spectating device, the virtual device having a device descriptor that the input driver recognizes as identifying a device type compatible with the input driver, wherein the communication channel is initialized between the input driver and the spectating device and the virtual device is configured to transmit the translated state data to the input driver along the initialized communication channel to affect the control actions to content within the broadcast application data stream. 8. One or more non-transitory computer-readable storage media encoding computer-executable instructions for executing on a computer system a computer process, the computer process comprising: broadcasting an application data stream from a broadcasting device for presentation on a spectating device, the broadcasting device locally-executing an application generating the application data stream and including an input driver configured to convey user inputs received from a locally-present controller to an application programming interface (API) of the application to affect first control actions to content within the broadcast application data stream; receiving, during broadcast of the application data stream, a request from the spectating device for remote participation in the broadcast application data stream; translating state data received from the spectating device from a first data protocol incompatible with the input driver of the broadcasting device to a second data protocol compatible with the input driver of the broadcasting device; requesting, during the broadcast of the application data stream, a broadcast application identifier that identifies the application generating the broadcast application data stream; initializing a communication channel between the spectating device and the input driver using the broadcast application identifier; and providing the translated state data to the input driver along the initialized communication channel to affect second control actions to content within the broadcast application data stream, the state data being received, translated, and provided to the input driver without executing a secondary instance of the application. 9. The one or more non-transitory computer readable storage media of claim 8 , wherein the computer process further comprises: loading the input driver of the broadcasting device responsive to receipt of the request for remote participation from the spectating device. 10. The one or more non-transitory computer readable storage media of claim 9 , wherein providing the translated state data to the input driver further comprises providing the spectating device with a handle to a virtual device having a device descriptor that the input driver recognizes as identifying a device type compatible with the input driver. 11. The one or more non-transitory computer readable storage media of claim 10 , wherein the computer process further comprises: loading the input driver based on characteristics of the virtual device. 12. The one or more non-transitory computer readable storage media of claim 8 wherein the broadcasting device is a gaming console and translating the state data is performed by an operating system of the gaming console. 13. The one or more non-transitory computer readable storage media of claim 8 , wherein the application is a gaming application and the translated state data from the spectating device controls an avatar of a first player in the gaming application and state data from a driver-compatible game controller controls an avatar of a second player in the gaming application. 14. The one or more non-transitory computer readable storage media of claim 8 , wherein the computer process further comprises: creating a virtual device responsive to receipt of the request for remote participation from the spectating device, the virtual device having a device descriptor that the input driver recognizes as identifying a device type compatible with the input driver, wherein the communication channel is initialized between the input driver and the spectating device and the virtual device is configured to transmit the translated state data to the input driver along the initialized communication channel to affect the control actions to content within the broadcast application data stream. 15. A computing device comprising: a game input driver stored in memory and executable by a processor to receive first input data from a locally-present first game controller of a recognized data protocol and provide the first input data to an API of a gaming application to control actions of a first player in the gaming application;
for interfacing with the game device, e.g. specific interfaces between game controller and console · CPC title
Protocols for games, networked simulations or virtual reality · CPC title
Digital input from, or digital output to, record carriers {, e.g. RAID, emulated record carriers or networked record carriers} · CPC title
Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client · CPC title
Data transfer via internet · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.