Patents by Inventor Andrew Goossen

Andrew Goossen 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).

  • Publication number: 20220318945
    Abstract: To optimize the compilation of shaders for execution within an application, a computer system discovers the context in which the shaders are executed. The application is compiled and executed on a target platform. Snapshots of the application during execution are captured. A snapshot includes data and commands passed between the central processing unit and the graphics processing unit of the target platform to generate a single frame of graphics data. The shaders used in these snapshots are identified. These shaders are compiled with a number of different permutations of available compiler options, resulting in sets of differently compiled shaders. The snapshot is re-executed with the sets of differently compiled shaders, and performance is measured. The set of compiler options that results in compiled shaders providing better performance can be used as the set of compilation parameters for the set of shaders for this application.
    Type: Application
    Filed: June 7, 2022
    Publication date: October 6, 2022
    Inventors: Ivan NEVRAEV, Cole BROOKING, J. Andrew GOOSSEN, Eric CHRISTOFFERSEN, Jason STRAYER
  • Patent number: 11379943
    Abstract: To optimize the compilation of shaders for execution within an application, a computer system discovers the context in which the shaders are executed. The application is compiled and executed on a target platform. Snapshots of the application during execution are captured. A snapshot includes data and commands passed between the central processing unit and the graphics processing unit of the target platform to generate a single frame of graphics data. The shaders used in these snapshots are identified. These shaders are compiled with a number of different permutations of available compiler options, resulting in sets of differently compiled shaders. The snapshot is re-executed with the sets of differently compiled shaders, and performance is measured. The set of compiler options that results in compiled shaders providing better performance can be used as the set of compilation parameters for the set of shaders for this application.
    Type: Grant
    Filed: January 31, 2019
    Date of Patent: July 5, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ivan Nevraev, Cole Brooking, J. Andrew Goossen, Eric Christoffersen, Jason Strayer
  • Patent number: 11206393
    Abstract: Methods, systems, and apparatuses are provided for measuring a display latency. A video capturing device is configured to capture a video of a reference light flash of a light emitter of a computing device. In the same video, the video capturing device is configured to capture a flash of a predetermined image displayed in a reference frame on a display screen coupled to the computing device. The video is analyzed to determine a time difference between the reference light flash of the light emitter and the flash of the predetermined image on the display screen. The determined time difference is compared with a reference time difference to determine a display latency, and the display latency may be provided to a user. In this manner, a display latency may be determined accurately and with readily available hardware, thus reducing the need to rely on expensive and specialized measuring equipment.
    Type: Grant
    Filed: September 22, 2017
    Date of Patent: December 21, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Matthew W. Lee, James Andrew Goossen, Roberto Ruggeri
  • Patent number: 10942588
    Abstract: Enhanced user input devices and user input interfacing systems are provided herein which can reduce perceived interaction latency. In one example, a method of operating a user input interface on a host system includes identifying a target pace for delivery of user input state to an application, and determining, based at least on the target pace, one or more timing parameters for transfer of the user input state from a user input device. The method also includes indicating the one or more timing parameters to the user input device, wherein the user input device responsively transfers the user input state according to the one or more timing parameters.
    Type: Grant
    Filed: March 2, 2019
    Date of Patent: March 9, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Christopher Michael McAllen, Matthew Bronder, James Andrew Goossen, Christopher John Tector, Hamze Kalache
  • Publication number: 20200278758
    Abstract: Enhanced user input devices and user input interfacing systems are provided herein which can reduce perceived interaction latency. In one example, a method of operating a user input interface on a host system includes identifying a target pace for delivery of user input state to an application, and determining, based at least on the target pace, one or more timing parameters for transfer of the user input state from a user input device. The method also includes indicating the one or more timing parameters to the user input device, wherein the user input device responsively transfers the user input state according to the one or more timing parameters.
    Type: Application
    Filed: March 2, 2019
    Publication date: September 3, 2020
    Inventors: Christopher Michael McAllen, Matthew Bronder, James Andrew Goossen, Christopher John Tector, Hamze Kalache
  • Patent number: 10593010
    Abstract: Examples described herein generally relate to capturing and executing graphics processing operations. A memory trap function can be activated to cause a graphics processing unit (GPU) to report memory accesses in executing graphics processing operations. Based on activating the memory trap function and for each of a sequence of executed graphics processing operations executed by the GPU, a sequence of memory accessing commands and associated portions of memory modified based on executing the sequence of executed graphics processing operations can be received. Each of the sequence of multiple memory accessing commands and associated portions of memory can be stored and provided to the GPU to emulate re-executing of the sequence of executed graphics processing operations by the GPU.
    Type: Grant
    Filed: December 13, 2017
    Date of Patent: March 17, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: James Andrew Goossen, Michael Alan Dougherty, Cole James Brooking
  • Patent number: 10388058
    Abstract: Systems, methods, apparatuses, and software for graphics processing systems in computing environments are provided herein. In one example, a method of handling tiled resources in graphics processing environments is presented. The method includes establishing, in a graphics processing unit, a residency map having values determined from memory residency properties of a texture resource, and sampling from the residency map at a specified location to determine a residency map sample for the texture resource at the specified location, where the residency map sample indicates at least an initial level of detail presently resident and a smoothing component to reach a next level of detail.
    Type: Grant
    Filed: May 30, 2017
    Date of Patent: August 20, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: James Andrew Goossen, Matthew William Lee, Mark S. Grossman
  • Publication number: 20190236750
    Abstract: To optimize the compilation of shaders for execution within an application, a computer system discovers the context in which the shaders are executed. The application is compiled and executed on a target platform. Snapshots of the application during execution are captured. A snapshot includes data and commands passed between the central processing unit and the graphics processing unit of the target platform to generate a single frame of graphics data. The shaders used in these snapshots are identified. These shaders are compiled with a number of different permutations of available compiler options, resulting in sets of differently compiled shaders. The snapshot is re-executed with the sets of differently compiled shaders, and performance is measured. The set of compiler options that results in compiled shaders providing better performance can be used as the set of compilation parameters for the set of shaders for this application.
    Type: Application
    Filed: January 31, 2019
    Publication date: August 1, 2019
    Inventors: Ivan NEVRAEV, Cole BROOKING, J. Andrew GOOSSEN, Eric CHRISTOFFERSEN, Jason STRAYER
  • Publication number: 20190180407
    Abstract: Examples described herein generally relate to capturing and executing graphics processing operations. A memory trap function can be activated to cause a graphics processing unit (GPU) to report memory accesses in executing graphics processing operations. Based on activating the memory trap function and for each of a sequence of executed graphics processing operations executed by the GPU, a sequence of memory accessing commands and associated portions of memory modified based on executing the sequence of executed graphics processing operations can be received. Each of the sequence of multiple memory accessing commands and associated portions of memory can be stored and provided to the GPU to emulate re-executing of the sequence of executed graphics processing operations by the GPU.
    Type: Application
    Filed: December 13, 2017
    Publication date: June 13, 2019
    Inventors: James Andrew GOOSSEN, Michael Alan DOUGHERTY, Cole James BROOKING
  • Patent number: 10258882
    Abstract: Active gameplay of a video game on a computer gaming device is overseen by a platform-level in-game recording companion that executes separately from any of a plurality of different video games. During active gameplay of the video game, the active gameplay is continuously and automatically buffered to a temporary storage buffer. During active gameplay the computer gaming device receives a command to save a segment of the active gameplay for subsequent viewing. While displaying gameplay of the currently-executing video game, an interface for the platform-level in-game recording companion is displayed. The segment of the active gameplay is saved from the temporary storage buffer to a library of the platform-level in-game recording companion.
    Type: Grant
    Filed: February 1, 2018
    Date of Patent: April 16, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Steven Trombetta, Edmund Samuel Victor Pinto, Todd Ryun Manion, James Andrew Goossen
  • Patent number: 10248459
    Abstract: Embodiments disclosed herein are related to systems, methods, and computer readable medium for allocating one or more system resources for the exclusive use of an application. The embodiments include receiving a request for an exclusive allocation of one or more system resources for a first application, the one or more system resources being useable by the first application and one or more second applications; determining an appropriate amount of the one or more system resources that are to be allocated exclusively to the first application; and partitioning the one or more system resources into a first portion that is allocated for the exclusive use of the first application and a second portion that is not allocated for the exclusive use of the first application, the second portion being available for the use of the one or more second applications.
    Type: Grant
    Filed: June 30, 2016
    Date of Patent: April 2, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gregory John Colombo, Logananth Seetharaman, Graham Wong, Mehmet Iyigun, Steven Michel Pronovost, Thomas Fahrig, Thobias Jones, Michael Charles Crandall, James Andrew Goossen
  • Publication number: 20190098293
    Abstract: Methods, systems, and apparatuses are provided for measuring a display latency. A video capturing device is configured to capture a video of a reference light flash of a light emitter of a computing device. In the same video, the video capturing device is configured to capture a flash of a predetermined image displayed in a reference frame on a display screen coupled to the computing device. The video is analyzed to determine a time difference between the reference light flash of the light emitter and the flash of the predetermined image on the display screen. The determined time difference is compared with a reference time difference to determine a display latency, and the display latency may be provided to a user. In this manner, a display latency may be determined accurately and with readily available hardware, thus reducing the need to rely on expensive and specialized measuring equipment.
    Type: Application
    Filed: September 22, 2017
    Publication date: March 28, 2019
    Inventors: Matthew W. Lee, James Andrew Goossen, Roberto Ruggeri
  • Patent number: 10210591
    Abstract: To optimize the compilation of shaders for execution within an application, a computer system discovers the context in which the shaders are executed. The application is compiled and executed on a target platform. Snapshots of the application during execution are captured. A snapshot includes data and commands passed between the central processing unit and the graphics processing unit of the target platform to generate a single frame of graphics data. The shaders used in these snapshots are identified. These shaders are compiled with a number of different permutations of available compiler options, resulting in sets of differently compiled shaders. The snapshot is re-executed with the sets of differently compiled shaders, and performance is measured. The set of compiler options that results in compiled shaders providing better performance can be used as the set of compilation parameters for the set of shaders for this application.
    Type: Grant
    Filed: February 2, 2015
    Date of Patent: February 19, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ivan Nevraev, Cole Brooking, J. Andrew Goossen, Eric Christoffersen, Jason Strayer
  • Patent number: 10159901
    Abstract: Embodiments of the present invention split game processing and rendering between a client and a game server. A rendered video game image is received from a game server and combined with a rendered image generated by the game client to form a single video game image that is presented to a user. Control input is received by a client device and then communicated to a game server, potentially with some preprocessing, and is also consumed locally on the client, at least in part. An embodiment of the present invention processes and renders some or all of a character's interactions with game objects on the client device associated with the character. A character is associated with a client device when control input associated with the character is received from a user of the client device.
    Type: Grant
    Filed: June 9, 2017
    Date of Patent: December 25, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John Raymond Justice, J. Andrew Goossen, David Wu, Habib Zargarpour
  • Publication number: 20180232940
    Abstract: Systems, methods, apparatuses, and software for graphics processing systems in computing environments are provided herein. In one example, a method of handling tiled resources in graphics processing environments is presented. The method includes establishing, in a graphics processing unit, a residency map having values determined from memory residency properties of a texture resource, and sampling from the residency map at a specified location to determine a residency map sample for the texture resource at the specified location, where the residency map sample indicates at least an initial level of detail presently resident and a smoothing component to reach a next level of detail.
    Type: Application
    Filed: May 30, 2017
    Publication date: August 16, 2018
    Inventors: JAMES ANDREW GOOSSEN, MATTHEW WILLIAM LEE, MARK S. GROSSMAN
  • Publication number: 20180154259
    Abstract: Active gameplay of a video game on a computer gaming device is overseen by a platform-level in-game recording companion that executes separately from any of a plurality of different video games. During active gameplay of the video game, the active gameplay is continuously and automatically buffered to a temporary storage buffer. During active gameplay the computer gaming device receives a command to save a segment of the active gameplay for subsequent viewing. While displaying gameplay of the currently-executing video game, an interface for the platform-level in-game recording companion is displayed. The segment of the active gameplay is saved from the temporary storage buffer to a library of the platform-level in-game recording companion.
    Type: Application
    Filed: February 1, 2018
    Publication date: June 7, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Steven Trombetta, Edmund Samuel Victor Pinto, Todd Ryun Manion, James Andrew Goossen
  • Patent number: 9950257
    Abstract: Active gameplay of a video game on a computer gaming device is overseen by a platform-level in-game recording companion that executes separately from any of a plurality of different video games. During active gameplay of the video game, the active gameplay is continuously and automatically buffered to a temporary storage buffer. During active gameplay the computer gaming device receives a command to save a segment of the active gameplay for subsequent viewing. Without interrupting the active gameplay, the segment of the active gameplay is saved from the temporary storage buffer to a library of the platform-level in-game recording companion.
    Type: Grant
    Filed: January 27, 2015
    Date of Patent: April 24, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Steven Trombetta, Edmund Samuel Victor Pinto, Todd Ryun Manion, James Andrew Goossen
  • Publication number: 20170274284
    Abstract: Embodiments of the present invention split game processing and rendering between a client and a game server. A rendered video game image is received from a game server and combined with a rendered image generated by the game client to form a single video game image that is presented to a user. Control input is received by a client device and then communicated to a game server, potentially with some preprocessing, and is also consumed locally on the client, at least in part. An embodiment of the present invention processes and renders some or all of a character's interactions with game objects on the client device associated with the character. A character is associated with a client device when control input associated with the character is received from a user of the client device.
    Type: Application
    Filed: June 9, 2017
    Publication date: September 28, 2017
    Inventors: JOHN RAYMOND JUSTICE, J. ANDREW GOOSSEN, DAVID WU, HABIB ZARGARPOUR
  • Publication number: 20170269968
    Abstract: Embodiments disclosed herein are related to systems, methods, and computer readable medium for allocating one or more system resources for the exclusive use of an application. The embodiments include receiving a request for an exclusive allocation of one or more system resources for a first application, the one or more system resources being useable by the first application and one or more second applications; determining an appropriate amount of the one or more system resources that are to be allocated exclusively to the first application; and partitioning the one or more system resources into a first portion that is allocated for the exclusive use of the first application and a second portion that is not allocated for the exclusive use of the first application, the second portion being available for the use of the one or more second applications.
    Type: Application
    Filed: June 30, 2016
    Publication date: September 21, 2017
    Inventors: Gregory John Colombo, Logananth Seetharaman, Graham Wong, Mehmet lyigun, Steve Michel Pronovost, Thomas Fahrig, Thobias Jones, Michael Charles Crandall, James Andrew Goossen
  • Patent number: 9710973
    Abstract: A system that includes a head mounted display device and a processing unit connected to the head mounted display device is used to fuse virtual content into real content. In one embodiment, the processing unit is in communication with a hub computing device. The processing unit and hub may collaboratively determine a map of the mixed reality environment. Further, state data may be extrapolated to predict a field of view for a user in the future at a time when the mixed reality is to be displayed to the user. This extrapolation can remove latency from the system.
    Type: Grant
    Filed: May 23, 2016
    Date of Patent: July 18, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Avi Bar-Zeev, J. Andrew Goossen, John Tardif, Mark S. Grossman, Harjit Singh