Patents by Inventor David Chiyuan Chu
David Chiyuan Chu has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10805662Abstract: A server device and method are provided for use in predictive server-side rendering of scenes based on client-side user input. The server device may include a processor and a storage device holding instructions for an application program executable by the processor to receive, at the application program, a current navigation input in a stream of navigation inputs from a client device over a network, calculate a predicted future navigation input based on the current navigation input and a current application state of the application program, render a future scene based on the predicted future navigation input to a rendering surface, and send the rendering surface to the client device over the network.Type: GrantFiled: November 25, 2019Date of Patent: October 13, 2020Assignee: Microsoft Technology Licensing, LLCInventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
-
Patent number: 10750139Abstract: A head mounted display device including a processor configured to compute a rendered rendering surface of a predicted scene having a predicted user viewpoint, the predicted user viewpoint being a prediction of a viewpoint that a user will have at a point in time that was predicted for the user of the head mounted display device prior to the point in time, receive, from the user input device, a subsequent user navigation input near the point in time in the stream of user input, determine an actual user viewpoint based on the subsequent user navigation input, determine a user viewpoint misprediction based on the predicted user viewpoint and the actual user viewpoint, and reconstruct a viewport for the actual user viewpoint from the rendered rendering surface.Type: GrantFiled: May 23, 2017Date of Patent: August 18, 2020Assignee: Microsoft Technology Licensing, LLCInventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
-
Publication number: 20200092599Abstract: A server device and method are provided for use in predictive server-side rendering of scenes based on client-side user input. The server device may include a processor and a storage device holding instructions for an application program executable by the processor to receive, at the application program, a current navigation input in a stream of navigation inputs from a client device over a network, calculate a predicted future navigation input based on the current navigation input and a current application state of the application program, render a future scene based on the predicted future navigation input to a rendering surface, and send the rendering surface to the client device over the network.Type: ApplicationFiled: November 25, 2019Publication date: March 19, 2020Applicant: Microsoft Technology Licensing, LLCInventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
-
Patent number: 10554713Abstract: The present describes low latency streaming using temporal frame transformation. An execution component in an edge server executes a first instance of an application. A server interface component receives, from a remote server, a resolution delta frame indicating differences between a high resolution first frame and a low resolution first frame of a second instance of the application or, alternatively, receives the high resolution first frame. A video manipulation component generates a motion delta frame by identifying differences between a low resolution first frame and a low resolution second frame of the first instance of the application. The video manipulation component generates a high resolution transformed frame by applying the resolution delta frame and the motion delta frame to the low resolution second frame.Type: GrantFiled: June 19, 2015Date of Patent: February 4, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Brian Smith, Eduardo Alberto Cuervo Laffaye, David Chiyuan Chu
-
Patent number: 10491941Abstract: A server device and method are provided for use in predictive server-side rendering of scenes based on client-side user input. The server device may include a processor and a storage device holding instructions for an application program executable by the processor to receive, at the application program, a current navigation input in a stream of navigation inputs from a client device over a network, calculate a predicted future navigation input based on the current navigation input and a current application state of the application program, render a future scene based on the predicted future navigation input to a rendering surface, and send the rendering surface to the client device over the network.Type: GrantFiled: August 30, 2017Date of Patent: November 26, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
-
Patent number: 10200261Abstract: Nodes of a computing cluster can be selected to run new computing jobs while providing acceptable performance of jobs running on the nodes. Respective performance metrics of respective workloads on respective computing nodes can be determined. Each workload can include a new computing job and the performance metrics can be determined based at least in part on respective measured performance data of the ones of the computing nodes and information of the new computing job. Candidate ones of the computing nodes can be determined based at least in part on the respective performance metrics. One of the candidate computing nodes can be selected based at least in part on the information of the new computing job. In some examples, identification of the new computing job can be transmitted to the selected node. In some examples, state data of the nodes can be updated based on the performance data.Type: GrantFiled: April 30, 2015Date of Patent: February 5, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Eduardo A. Cuervo Laffaye, David Chiyuan Chu, Kaifei Chen
-
Patent number: 10109031Abstract: A first user input is received when a client program executed by a client computing device is in a first state. The first user input is sent to a server computing device to render a view of a virtual scene. A state change from the first state in the client program due to a second user input or a program event is identified. One or more gaps in a server-rendered current view due to the state change are determined. A rendering of the one or more gaps is selected from among the server-rendered current view, a server-rendered predicted view and one or more prior-rendered views. A current view is rendered using a simplified model of the virtual scene by rendering the one or more gaps from the selected rendering. The current rendered view is visually presented via a display of the client computing device.Type: GrantFiled: December 11, 2017Date of Patent: October 23, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Johannes Kopf, Eduardo Alberto Cuervo Laffaye, David Chiyuan Chu, Bernhard Reinert
-
Patent number: 9965823Abstract: The claimed subject matter includes techniques for live migration of a graphics processing unit (GPU) state. An example method includes receiving recorded GPU commands from a relay at a destination GPU. The method also includes replaying the recorded GPU commands at the destination GPU. The method also includes detecting a downtime for the GPU commands. The method further includes establishing a connection between the destination GPU and the client during the detected downtime.Type: GrantFiled: February 25, 2015Date of Patent: May 8, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Kiryong Ha, Paramvir Bahl, David Chiyuan Chu, Eduardo Cuervo, Lenin Ravindranath Sivalingam, Alastair Wolman
-
Publication number: 20180101930Abstract: A first user input is received when a client program executed by a client computing device is in a first state. The first user input is sent to a server computing device to render a view of a virtual scene. A state change from the first state in the client program due to a second user input or a program event is identified. One or more gaps in a server-rendered current view due to the state change are determined. A rendering of the one or more gaps is selected from among the server-rendered current view, a server-rendered predicted view and one or more prior-rendered views. A current view is rendered using a simplified model of the virtual scene by rendering the one or more gaps from the selected rendering. The current rendered view is visually presented via a display of the client computing device.Type: ApplicationFiled: December 11, 2017Publication date: April 12, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Johannes Kopf, Eduardo Alberto Cuervo Laffaye, David Chiyuan Chu, Bernhard Reinert
-
Publication number: 20170366838Abstract: A server device and method are provided for use in predictive server-side rendering of scenes based on client-side user input. The server device may include a processor and a storage device holding instructions for an application program executable by the processor to receive, at the application program, a current navigation input in a stream of navigation inputs from a client device over a network, calculate a predicted future navigation input based on the current navigation input and a current application state of the application program, render a future scene based on the predicted future navigation input to a rendering surface, and send the rendering surface to the client device over the network.Type: ApplicationFiled: August 30, 2017Publication date: December 21, 2017Applicant: Microsoft Technology Licensing, LLCInventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
-
Patent number: 9842377Abstract: A first user input is received when a client program executed by a client computing device is in a first state. The first user input is sent to a server computing device to render a view of a virtual scene. A state change from the first state in the client program due to a second user input or a program event is identified. One or more gaps in a server-rendered current view due to the state change are determined. A rendering of the one or more gaps is selected from among the server-rendered current view, a server-rendered predicted view and one or more prior-rendered views. A current view is rendered using a simplified model of the virtual scene by rendering the one or more gaps from the selected rendering. The current rendered view is visually presented via a display of the client computing device.Type: GrantFiled: January 9, 2017Date of Patent: December 12, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Johannes Kopf, Eduardo Alberto Cuervo Laffaye, David Chiyuan Chu, Bernhard Reinert
-
Publication number: 20170257609Abstract: A head mounted display device including a processor configured to compute a rendered rendering surface of a predicted scene having a predicted user viewpoint, the predicted user viewpoint being a prediction of a viewpoint that a user will have at a point in time that was predicted for the user of the head mounted display device prior to the point in time, receive, from the user input device, a subsequent user navigation input near the point in time in the stream of user input, determine an actual user viewpoint based on the subsequent user navigation input, determine a user viewpoint misprediction based on the predicted user viewpoint and the actual user viewpoint, and reconstruct a viewport for the actual user viewpoint from the rendered rendering surface.Type: ApplicationFiled: May 23, 2017Publication date: September 7, 2017Applicant: Microsoft Technology Licensing, LLCInventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
-
Patent number: 9756375Abstract: A server device and method are provided for use in predictive server-side rendering of scenes based on client-side user input. The server device may include a processor and a storage device holding instructions for an application program executable by the processor to receive, at the application program, a current navigation input in a stream of navigation inputs from a client device over a network, calculate a predicted future navigation input based on the current navigation input and a current application state of the application program, render a future scene based on the predicted future navigation input to a rendering surface, and send the rendering surface to the client device over the network.Type: GrantFiled: January 22, 2015Date of Patent: September 5, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
-
Publication number: 20170200254Abstract: A first user input is received when a client program executed by a client computing device is in a first state. The first user input is sent to a server computing device to render a view of a virtual scene. A state change from the first state in the client program due to a second user input or a program event is identified. One or more gaps in a server-rendered current view due to the state change are determined. A rendering of the one or more gaps is selected from among the server-rendered current view, a server-rendered predicted view and one or more prior-rendered views. A current view is rendered using a simplified model of the virtual scene by rendering the one or more gaps from the selected rendering. The current rendered view is visually presented via a display of the client computing device.Type: ApplicationFiled: January 9, 2017Publication date: July 13, 2017Applicant: Microsoft Technology Licensing, LLCInventors: Johannes Kopf, Eduardo Alberto Cuervo Laffaye, David Chiyuan Chu, Bernhard Reinert
-
Patent number: 9686520Abstract: A client device and method are provided for reconstructing a viewport from a rendered rendering surface of a predicted user viewpoint in order to reduce user perceived latency of the network. The client device may execute instructions to: receive, from a server device over a network, a rendered rendering surface of a predicted scene having a predicted user viewpoint, receive, from the user input device, a subsequent user navigation input in the stream of user input, determine an actual user viewpoint based on the subsequent user navigation input, determine a user viewpoint misprediction based on the predicted user viewpoint and the actual user viewpoint, and reconstruct a viewport for the actual user viewpoint from the rendered rendering surface.Type: GrantFiled: January 22, 2015Date of Patent: June 20, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
-
Patent number: 9674661Abstract: Techniques for generating a real-time 3D position of one device relative another device are described herein. In one embodiment, a first device may be equipped with one or more transmitters and receivers to collect location information based on direct localized signal transmission between the first device and a second device. The first device may also be equipped with an accelerometer and/or digital compasses to assist in resolving ambiguous locations when the first device and the second device are not at an alignment position. Each device may transmit part or all of its collected location information to another device to assist in obtaining the relative location. Alternatively, a separate server may receive the location information from the devices and calculate the relative location of each device based on the received location information.Type: GrantFiled: October 21, 2011Date of Patent: June 6, 2017Assignee: Microsoft Technology Licensing, LLCInventors: David Chiyuan Chu, Xiangying Meng, Thomas Moscibroda, Jian Qiu
-
Patent number: 9661312Abstract: A client device and method are provided for use in synthesizing a second eye viewport using interleaving in order to reduce bandwidth costs. The client device may comprise a user input device that receives a stream of user input, a stereoscopic display device, a processor, and a storage device holding instructions for a client application program, executable by the processor to obtain, at a view interpolation module of the client application program, a current rendered rendering surface representing a current view of a scene for a first eye of a user and a previously rendered rendering surface representing a past view of the scene for a second eye of the user, synthesize and display a current second eye viewport representing a current view of the scene for the second eye of the user based on the current rendered rendering surface and the previously rendered rendering surface.Type: GrantFiled: January 22, 2015Date of Patent: May 23, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
-
Patent number: 9569812Abstract: A first user input is received when a client program executed by a client computing device is in a first state. The first user input is sent to a server computing device to render a view of a virtual scene. A state change from the first state in the client program due to a second user input or a program event is identified. One or more gaps in a server-rendered current view due to the state change are determined. A rendering of the one or more gaps is selected from among the server-rendered current view, a server-rendered predicted view and one or more prior-rendered views. A current view is rendered using a simplified model of the virtual scene by rendering the one or more gaps from the selected rendering. The current rendered view is visually presented via a display of the client computing device.Type: GrantFiled: January 7, 2016Date of Patent: February 14, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Johannes Kopf, Eduardo Alberto Cuervo Laffaye, David Chiyuan Chu, Bernhard Reinert
-
Publication number: 20160373502Abstract: The present describes low latency streaming using temporal frame transformation. An execution component in an edge server executes a first instance of an application. A server interface component receives, from a remote server, a resolution delta frame indicating differences between a high resolution first frame and a low resolution first frame of a second instance of the application or, alternatively, receives the high resolution first frame. A video manipulation component generates a motion delta frame by identifying differences between a low resolution first frame and a low resolution second frame of the first instance of the application. The video manipulation component generates a high resolution transformed frame by applying the resolution delta frame and the motion delta frame to the low resolution second frame.Type: ApplicationFiled: June 19, 2015Publication date: December 22, 2016Applicant: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Brian Smith, Eduardo Alberto Cuervo Laffaye, David Chiyuan Chu
-
Publication number: 20160323161Abstract: Nodes of a computing cluster can be selected to run new computing jobs while providing acceptable performance of jobs running on the nodes. Respective performance metrics of respective workloads on respective computing nodes can be determined. Each workload can include a new computing job and the performance metrics can be determined based at least in part on respective measured performance data of the ones of the computing nodes and information of the new computing job. Candidate ones of the computing nodes can be determined based at least in part on the respective performance metrics. One of the candidate computing nodes can be selected based at least in part on the information of the new computing job. In some examples, identification of the new computing job can be transmitted to the selected node. In some examples, state data of the nodes can be updated based on the performance data.Type: ApplicationFiled: April 30, 2015Publication date: November 3, 2016Inventors: Eduardo A. Cuervo Laffaye, David Chiyuan Chu, Kaifei Chen