Techniques for extrapolating image frames

US10708597B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10708597-B2
Application numberUS-201815886448-A
CountryUS
Kind codeB2
Filing dateFeb 1, 2018
Priority dateFeb 1, 2018
Publication dateJul 7, 2020
Grant dateJul 7, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for performing frame extrapolation in image frame rendering, comprising: generating a vertex mesh as a set of vertices; mapping each vertex in the set of vertices to a screen space position for defining a texture; determining one or more motion vectors for one or more regions in a first image frame of a stream of image frames, wherein the one or more motion vectors represent motion of the one or more regions from a previous image frame in the stream of image frames; dividing the first image frame into areas to be modified based on the motion vectors; modifying screen space positions associated with at least a portion of the set of vertices within the areas to be modified based at least in part on the one or more motion vectors; rendering, by a graphics processing unit (GPU), the first image frame into the texture, such that a pixel position of one or more pixels in the first image frame are moved based at least in part on the screen space positions of at least the portion of the set of vertices within the texture as modified, to generate an extrapolated image frame, wherein movement of corresponding pixels of the first image frame are determined by properties of the modified screen space positions based on functionality of the GPU; and displaying the extrapolated image frame after the first image frame and before a next image frame in the stream of image frames. 2. The method of claim 1 , further comprising: determining depth information for one or more objects in the first image frame; and associating the depth information with at least a portion of the screen space positions that are determined to correspond to a position of the one or more objects in the first image frame. 3. The method of claim 2 , wherein rendering the first image frame into the texture is further based at least in part on the depth information. 4. The method of claim 3 , wherein rendering the first image frame based at least in part on the depth information comprises occluding, based on the depth information, one or more pixels of the one or more objects in generating the extrapolated image frame. 5. The method of claim 1 , wherein rendering the first image frame into the texture results in one or more original pixels, corresponding to at least one of the one or more regions in the first image frame, inheriting properties of the one or more original pixels in generating the extrapolated image frame. 6. The method of claim 1 , wherein rendering the first image frame into the texture results in one or more original pixels, corresponding to at least one of the one or more regions in the first image frame, inheriting properties of one or more adjacent pixels that are adjacent to the original pixel in generating the extrapolated image frame. 7. The method of claim 1 , wherein determining the one or more motion vectors is based at least in part on determining an acceleration computed from motion of the one or more regions of the image frame between multiple previous image frames in the stream of image frames. 8. The method of claim 1 , wherein modifying screen space positions associated with at least a portion of the set of vertices within the texture comprises applying a shader to modify the screen space positions based at least in part on the one or more motion vectors. 9. A computing device for performing frame extrapolation in image frame rendering, comprising: a memory storing one or more parameters or instructions for executing an operating system and one or more applications; a display interface coupled with a display device for communicating signals to display images on the display device; and at least one processor coupled to the memory and the display interface, wherein the at least one processor is configured to: generate a vertex mesh as a set of vertices; map each vertex in the set of vertices to a screen space position for defining a texture; determine one or more motion vectors for one or more regions in a first image frame of a stream of image frames, wherein the one or more motion vectors represent motion of the one or more regions from a previous image frame in the stream of image frames; divide the first image frame into areas to be modified based on the motion vectors; modify screen space positions associated with at least a portion of the set of vertices within the areas to be modified based at least in part on the one or more motion vectors; render, by a graphics processing unit (GPU), the first image frame into the texture, such that a pixel position of one or more pixels in the first image frame are moved based at least in part on the screen space positions of at least the portion of the set of vertices within the texture as modified, to generate an extrapolated image frame, wherein movement of corresponding pixels of the image first frame are determined by properties of the modified screen space positions based on functionality of the GPU; and display the extrapolated image frame after the first image frame and before a next image frame in the stream of image frames. 10. The computing device of claim 9 , wherein the at least one processor is further configured to: determine depth information for one or more objects in the first image frame; and associate the depth information with at least a portion of the screen space positions that are determined to correspond to a position of the one or more objects in the first image frame. 11. The computing device of claim 10 , wherein the GPU renders the first image frame into the texture further based at least in part on the depth information. 12. The computing device of claim 11 , wherein the GPU renders the first image frame based at least in part on the depth information by occluding, based on the depth information, one or more pixels of the one or more objects in generating the extrapolated image frame. 13. The computing device of claim 9 , wherein rendering, by the GPU, the first image frame into the texture, results in one or more original pixels, corresponding to at least one of the one or more regions in the first image frame, inheriting properties of the one or more original pixels in generating the extrapolated image frame. 14. The computing device of claim 9 , wherein rendering, by the GPU, the first image frame into the texture results in one or more original pixels, corresponding to at least one of the one or more regions in the first image frame, inheriting properties of one or more adjacent pixels that are adjacent to the original pixel in generating the extrapolated image frame. 15. The computing device of claim 9 , wherein the at least one processor is configured to determine the one or more motion vectors based at least in part on determining an acceleration computed from motion of the one or more regions of the image frame between multiple previous image frames in the stream of image frames. 16. The computing device of claim 9 , wherein the at least one processor is configured to modify the screen space positions associated with at least a portion of the set of vertices within the texture based at least in part on applying a shader to modify the screen space positions based at least in part on the one or more motion vectors. 17. A non-transitory computer-readable medium, comprising code executable by one or more processors for performing frame extrapolation in image frame rendering, the code comprising code for: generating a vertex mesh as a set of vertices; mapping each vertex in the set of vertices to a screen space position for defining a texture; determining one or more

Assignees

Inventors

Classifications

  • G06T13/80Primary

    Two-dimensional [2D] animation, e.g. using sprites · CPC title

  • Two-dimensional [2D] image generation · CPC title

  • Finite element generation, e.g. wire-frame surface description, {tesselation} · CPC title

  • Texture mapping · CPC title

  • H04N19/139Primary

    Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10708597B2 cover?
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 l…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06T13/80. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 07 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).