Patents by Inventor Jack Andrew ELLIOTT

Jack Andrew ELLIOTT 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: 10762691
    Abstract: Examples described herein generally relate to displaying an image on a display device where a motion during a latency between a first time associated with activating a first portion of the display device and a second time associated with activating a second portion of the display device is predicted. At least a second portion of an image, to be displayed at the second time, is distorted based at least in part on a function of the motion and the latency to compensate for the latency. A first portion of the image is displayed at the first time by activating the first portion of the display device. The second portion of the image, as distorted, is displayed at the second time by activating the second portion of the display device.
    Type: Grant
    Filed: February 14, 2018
    Date of Patent: September 1, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrew Zicheng Yeung, Brent Michael Wilson, Jack Andrew Elliott, Matthew David Sandy, Michael George Boulton, Yang You
  • Patent number: 10719268
    Abstract: Methods and devices for managing first-in first-out (FIFO) queues in graphics processing are described. A write operation can be executed by multiple write threads on a graphics processing unit (GPU) to write data to memory locations in the multiple pages of memory. Similarly, and/or simultaneously, a read operation can be executed by multiple read threads to read data from the memory locations. The write and read operations include updating a pointer or multiple pointers indicating the point at which all preceding data has been fully written, or fully read. The read and write operations can also include maintaining and advancing one or more allocation pointers, and performing comparisons with the read and write done pointers, and/or various methods of synchronization, to handle overflow and underflow scenarios, to ensure read operations only read valid data, and write operations do not attempt to write to locations which are already in use.
    Type: Grant
    Filed: June 29, 2018
    Date of Patent: July 21, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jason Matthew Gould, Jack Andrew Elliott
  • Patent number: 10708597
    Abstract: Examples described herein generally relate to performing frame extrapolation in image frame rendering. A vertex mesh as a set of vertices is generated, and each vertex is mapped to a screen space position for defining a texture. One or more motion vectors for one or more regions in a first image frame of a stream of image frames can be determined. The screen space positions associated with at least a portion of the set of vertices within the texture can be modified based at least in part on the one or more motion vectors. A graphics processing unit (GPU) can render the first image frame into the texture. The extrapolated image frame is displayed after the first image frame and before a next image frame in the stream of image frames.
    Type: Grant
    Filed: February 1, 2018
    Date of Patent: July 7, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrew Zicheng Yeung, Michael George Boulton, Ashraf Ayman Michail, Matt Bronder, Jack Andrew Elliott, Matthew David Sandy
  • Patent number: 10699374
    Abstract: Methods and devices for processing image frames is described. The techniques presented herein leverage known characteristics of the optical transfer component in order to modify the resource allocation for rendering the subset of pixels whose contribution to the final rendered image is less than a contribution threshold. Thus, in situations where the deflection of light from the lens may impact the contribution of the one or more subset of pixels of an image frame towards the final rendered image, the image processing techniques presented here may either omit or deprioritize the identified subset of pixels in order to conserve valuable resources (e.g., dedicate less processing time and memory to rendering the identified subset of pixels).
    Type: Grant
    Filed: December 5, 2017
    Date of Patent: June 30, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrew Zicheng Yeung, Jack Andrew Elliott
  • Publication number: 20200004460
    Abstract: Methods and devices for managing first-in first-out (FIFO) queues in graphics processing are described. A write operation can be executed by multiple write threads on a graphics processing unit (GPU) to write data to memory locations in the multiple pages of memory. Similarly, and/or simultaneously, a read operation can be executed by multiple read threads to read data from the memory locations. The write and read operations include updating a pointer or multiple pointers indicating the point at which all preceding data has been fully written, or fully read. The read and write operations can also include maintaining and advancing one or more allocation pointers, and performing comparisons with the read and write done pointers, and/or various methods of synchronization, to handle overflow and underflow scenarios, to ensure read operations only read valid data, and write operations do not attempt to write to locations which are already in use.
    Type: Application
    Filed: June 29, 2018
    Publication date: January 2, 2020
    Inventors: Jason Matthew GOULD, Jack Andrew ELLIOTT
  • Publication number: 20190238854
    Abstract: Examples described herein generally relate to performing frame extrapolation in image frame rendering. A vertex mesh as a set of vertices is generated, and each vertex is mapped to a screen space position for defining a texture. One or more motion vectors for one or more regions in a first image frame of a stream of image frames can be determined. The screen space positions associated with at least a portion of the set of vertices within the texture can be modified based at least in part on the one or more motion vectors. A graphics processing unit (GPU) can render the first image frame into the texture. The extrapolated image frame is displayed after the first image frame and before a next image frame in the stream of image frames.
    Type: Application
    Filed: February 1, 2018
    Publication date: August 1, 2019
    Inventors: Andrew Zicheng YEUNG, Michael George BOULTON, Ashraf Ayman MICHAIL, Matt BRONDER, Jack Andrew ELLIOTT, Matthew David SANDY
  • Patent number: 10360704
    Abstract: Examples described herein generally relate to rendering graphics in a computing device. A processing over-budget condition related to rendering a frame can be detected, based on which a value of a rendering parameter for a layer, where the layer is one of multiple layers to render for the frame can be modified. The layer can be rendered based at least in part on the value of the rendering parameter while one or more other layers of the multiple layers can be rendered based on respective values for the rendering parameter. The value of the rendering parameter for the layer can be different from at least one of the respective values of the rendering parameter for the one or more other layers.
    Type: Grant
    Filed: August 11, 2017
    Date of Patent: July 23, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrew Zicheng Yeung, Jack Andrew Elliott, Brent Michael Wilson, Michael George Boulton
  • Publication number: 20190172178
    Abstract: Methods and devices for processing image frames is described. The techniques presented herein leverage known characteristics of the optical transfer component in order to modify the resource allocation for rendering the subset of pixels whose contribution to the final rendered image is less than a contribution threshold. Thus, in situations where the deflection of light from the lens may impact the contribution of the one or more subset of pixels of an image frame towards the final rendered image, the image processing techniques presented here may either omit or deprioritize the identified subset of pixels in order to conserve valuable resources (e.g., dedicate less processing time and memory to rendering the identified subset of pixels).
    Type: Application
    Filed: December 5, 2017
    Publication date: June 6, 2019
    Inventors: Andrew Zicheng YEUNG, Jack Andrew ELLIOTT
  • Publication number: 20190080505
    Abstract: Examples described herein generally relate to displaying an image on a display device where a motion during a latency between a first time associated with activating a first portion of the display device and a second time associated with activating a second portion of the display device is predicted. At least a second portion of an image, to be displayed at the second time, is distorted based at least in part on a function of the motion and the latency to compensate for the latency. A first portion of the image is displayed at the first time by activating the first portion of the display device. The second portion of the image, as distorted, is displayed at the second time by activating the second portion of the display device.
    Type: Application
    Filed: February 14, 2018
    Publication date: March 14, 2019
    Inventors: Andrew Zicheng YEUNG, Brent Michael WILSON, Jack Andrew ELLIOTT, Matthew David SANDY, Michael George BOULTON, Yang YOU
  • Publication number: 20190051026
    Abstract: Examples described herein generally relate to rendering graphics in a computing device. A processing over-budget condition related to rendering a frame can be detected, based on which a value of a rendering parameter for a layer, where the layer is one of multiple layers to render for the frame can be modified. The layer can be rendered based at least in part on the value of the rendering parameter while one or more other layers of the multiple layers can be rendered based on respective values for the rendering parameter. The value of the rendering parameter for the layer can be different from at least one of the respective values of the rendering parameter for the one or more other layers.
    Type: Application
    Filed: August 11, 2017
    Publication date: February 14, 2019
    Inventors: Andrew Zicheng YEUNG, Jack Andrew ELLIOTT, Brent Michael WILSON, Michael George BOULTON