Patents by Inventor J. Andrew Goossen

J. 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
  • 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
  • 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: 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
  • 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
  • Patent number: 9694277
    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: February 12, 2014
    Date of Patent: July 4, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John Raymond Justice, J. Andrew Goossen, David Wu, Habib Zargarpour
  • Patent number: 9564102
    Abstract: Embodiments of the present invention provide client-side scene movement using imagery generated by a game server. Embodiments of the present invention predictively render additional imagery surrounding the present field of view. The predictive scene imagery may be on all sides of the current field of view. Embodiments of the present invention determine the amount of predictive scene imagery generated according to a likelihood of use. In addition to client-adjusted rotation, embodiments of the present invention may predictively translate the field of view. Translation is moving the point of view forward, backward or side-to-side. Predictive translation imagery may be communicated to the game server for use in local translation functions.
    Type: Grant
    Filed: February 13, 2014
    Date of Patent: February 7, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John Raymond Justice, J. Andrew Goossen, David S. Wu, Habib Zargarpour
  • Publication number: 20160267717
    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: Application
    Filed: May 23, 2016
    Publication date: September 15, 2016
    Inventors: Avi Bar-Zeev, J. Andrew Goossen, John Tardif, Mark S. Grossman, Harjit Singh
  • Publication number: 20160224258
    Abstract: To optimize utilization of such dedicated memory by a particular application, the application is executed with multiple permutations of placement of data in the dedicated memory. That application is executed on a target platform, and snapshots of the application during execution are captured on the target platform. A snapshot is a log that 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. Given a snapshot, multiple permutations of resource placement are generated and tested by re-executing the snapshot on the target platform. For multiple snapshots and multiple permutations for each snapshot, the computer system accesses or computes performance statistics. Based on the performance statistics, the computer system determines a layout of data for using the dedicated memory.
    Type: Application
    Filed: February 2, 2015
    Publication date: August 4, 2016
    Inventors: Ivan Nevraev, Cole Brooking, J. Andrew Goossen, Jason Strayer
  • Publication number: 20160225118
    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: February 2, 2015
    Publication date: August 4, 2016
    Inventors: Ivan Nevraev, Cole Brooking, J. Andrew Goossen, Eric Christoffersen, Jason Strayer
  • Patent number: 9348141
    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: October 27, 2010
    Date of Patent: May 24, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Avi Bar-Zeev, J. Andrew Goossen, John Tardif, Mark S. Grossman, Harjit Singh
  • Patent number: 8884974
    Abstract: Content is rendered for display using a plurality of rendering contexts. Rendering is performed, at least in part, using a graphics processing unit (GPU). The plurality of rendering contexts can comprise a lower priority rendering context and a higher priority rendering context. One or more components can be associated with each of the lower priority rendering context and the higher priority rendering context. Different restrictions can be imposed on each rendering context. Restrictions can include a restriction on block size, prioritization of requests for each context, and a restriction on the number of requests in a GPU queue at a time.
    Type: Grant
    Filed: August 12, 2011
    Date of Patent: November 11, 2014
    Assignee: Microsoft Corporation
    Inventors: Andrew Dadi, Robert C. Aldinger, Ketan K. Dalal, Jason Matthew Gould, Jeffrey Kay, J. Andrew Goossen, David Ruzyski
  • Patent number: 8872823
    Abstract: A method and system are disclosed for automatic instrumentation that modifies a video game's shaders at run-time to collect detailed statistics about texture fetches such as MIP usage. The tracking may be transparent to the game application and therefore not require modifications to the application. In an embodiment, the method may be implemented in a software development kit used to record and provide texture usage data and optionally generate a report.
    Type: Grant
    Filed: October 9, 2009
    Date of Patent: October 28, 2014
    Assignee: Microsoft Corporation
    Inventors: Jason Matthew Gould, Michael Edward Pietraszak, Zsolt Mathe, J. Andrew Goossen, Casey Leon Meekhof
  • Publication number: 20140274379
    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: February 12, 2014
    Publication date: September 18, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: JOHN RAYMOND JUSTICE, J. ANDREW GOOSSEN, DAVID WU, HABIB ZARGARPOUR
  • Publication number: 20140267429
    Abstract: Embodiments of the present invention provide client-side scene movement using imagery generated by a game server. Embodiments of the present invention predictively render additional imagery surrounding the present field of view. The predictive scene imagery may be on all sides of the current field of view. Embodiments of the present invention determine the amount of predictive scene imagery generated according to a likelihood of use. In addition to client-adjusted rotation, embodiments of the present invention may predictively translate the field of view. Translation is moving the point of view forward, backward or side-to-side. Predictive translation imagery may be communicated to the game server for use in local translation functions.
    Type: Application
    Filed: February 13, 2014
    Publication date: September 18, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: JOHN RAYMOND JUSTICE, J. ANDREW GOOSSEN, DAVID S. WU, HABIB ZARGARPOUR
  • Patent number: 8707317
    Abstract: A system and method provides a high level of system functionality in a multimedia console through the use of system applications, while reducing any corresponding lack of control that multimedia applications will have while running on the console. A predetermined amount of hardware resources of the multimedia console is reserved. The system application is executed substantially using the predetermined amount of reserved hardware resources and the multimedia application is executed substantially within the remaining unreserved hardware resources.
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: April 22, 2014
    Assignee: Microsoft Corporation
    Inventors: J. Andrew. Goossen, Michael Cory Maston, Tracy C. Sharpe
  • Patent number: 8667473
    Abstract: The performance of a video game is analyzed using non-intrusive capture and storage of game data. A non-linear capture format is used for capturing run-time game data. The run-time game data includes run-time parameters associated with execution of an application code as well as run-time parameters associated with hardware of a game platform upon which the application code is being executed. The captured data is stored in a storage medium using a non-contiguous storage format.
    Type: Grant
    Filed: October 31, 2007
    Date of Patent: March 4, 2014
    Assignee: Microsoft Corporation
    Inventors: J. Andrew Goossen, Parham Mohadjer, Matthew Kimball, Randal N. Linden, David Aronson
  • Publication number: 20130038614
    Abstract: Content is rendered for display using a plurality of rendering contexts. Rendering is performed, at least in part, using a graphics processing unit (GPU). The plurality of rendering contexts can comprise a lower priority rendering context and a higher priority rendering context. One or more components can be associated with each of the lower priority rendering context and the higher priority rendering context. Different restrictions can be imposed on each rendering context. Restrictions can include a restriction on block size, prioritization of requests for each context, and a restriction on the number of requests in a GPU queue at a time.
    Type: Application
    Filed: August 12, 2011
    Publication date: February 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Andrew Dadi, Robert C. Aldinger, Ketan K. Dalal, Jason Matthew Gould, Jeffrey Kay, J. Andrew Goossen, David Ruzyski