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: 10805662
    Abstract: 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: Grant
    Filed: November 25, 2019
    Date of Patent: October 13, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
  • Patent number: 10750139
    Abstract: 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: Grant
    Filed: May 23, 2017
    Date of Patent: August 18, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
  • Publication number: 20200092599
    Abstract: 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: Application
    Filed: November 25, 2019
    Publication date: March 19, 2020
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
  • Patent number: 10554713
    Abstract: 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: Grant
    Filed: June 19, 2015
    Date of Patent: February 4, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Brian Smith, Eduardo Alberto Cuervo Laffaye, David Chiyuan Chu
  • Patent number: 10491941
    Abstract: 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: Grant
    Filed: August 30, 2017
    Date of Patent: November 26, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
  • Patent number: 10200261
    Abstract: 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: Grant
    Filed: April 30, 2015
    Date of Patent: February 5, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Eduardo A. Cuervo Laffaye, David Chiyuan Chu, Kaifei Chen
  • Patent number: 10109031
    Abstract: 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: Grant
    Filed: December 11, 2017
    Date of Patent: October 23, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Johannes Kopf, Eduardo Alberto Cuervo Laffaye, David Chiyuan Chu, Bernhard Reinert
  • Patent number: 9965823
    Abstract: 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: Grant
    Filed: February 25, 2015
    Date of Patent: May 8, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kiryong Ha, Paramvir Bahl, David Chiyuan Chu, Eduardo Cuervo, Lenin Ravindranath Sivalingam, Alastair Wolman
  • Publication number: 20180101930
    Abstract: 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: Application
    Filed: December 11, 2017
    Publication date: April 12, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Johannes Kopf, Eduardo Alberto Cuervo Laffaye, David Chiyuan Chu, Bernhard Reinert
  • Publication number: 20170366838
    Abstract: 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: Application
    Filed: August 30, 2017
    Publication date: December 21, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
  • Patent number: 9842377
    Abstract: 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: Grant
    Filed: January 9, 2017
    Date of Patent: December 12, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Johannes Kopf, Eduardo Alberto Cuervo Laffaye, David Chiyuan Chu, Bernhard Reinert
  • Publication number: 20170257609
    Abstract: 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: Application
    Filed: May 23, 2017
    Publication date: September 7, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
  • Patent number: 9756375
    Abstract: 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: Grant
    Filed: January 22, 2015
    Date of Patent: September 5, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
  • Publication number: 20170200254
    Abstract: 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: Application
    Filed: January 9, 2017
    Publication date: July 13, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Johannes Kopf, Eduardo Alberto Cuervo Laffaye, David Chiyuan Chu, Bernhard Reinert
  • Patent number: 9686520
    Abstract: 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: Grant
    Filed: January 22, 2015
    Date of Patent: June 20, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
  • Patent number: 9674661
    Abstract: 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: Grant
    Filed: October 21, 2011
    Date of Patent: June 6, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Chiyuan Chu, Xiangying Meng, Thomas Moscibroda, Jian Qiu
  • Patent number: 9661312
    Abstract: 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: Grant
    Filed: January 22, 2015
    Date of Patent: May 23, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: David Chiyuan Chu, Eduardo Alberto Cuervo Laffaye, Johannes Peter Kopf, Alastair Wolman, Yury Degtyarev, Kyungmin Lee, Sergey Grizan
  • Patent number: 9569812
    Abstract: 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: Grant
    Filed: January 7, 2016
    Date of Patent: February 14, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Johannes Kopf, Eduardo Alberto Cuervo Laffaye, David Chiyuan Chu, Bernhard Reinert
  • Publication number: 20160373502
    Abstract: 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: Application
    Filed: June 19, 2015
    Publication date: December 22, 2016
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Brian Smith, Eduardo Alberto Cuervo Laffaye, David Chiyuan Chu
  • Publication number: 20160323161
    Abstract: 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: Application
    Filed: April 30, 2015
    Publication date: November 3, 2016
    Inventors: Eduardo A. Cuervo Laffaye, David Chiyuan Chu, Kaifei Chen