View rendering from multiple server-side renderings

US10109031B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10109031-B2
Application numberUS-201715838198-A
CountryUS
Kind codeB2
Filing dateDec 11, 2017
Priority dateJan 7, 2016
Publication dateOct 23, 2018
Grant dateOct 23, 2018

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.

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.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computing system comprising: one or more processors configured to: determine a virtual scene including a full model of geometry that includes a plurality of geometric elements that defines the virtual scene; render a plurality of views of the virtual scene based on the full model of geometry for a threshold area of the virtual scene; generate a simplified model of geometry of the virtual scene that represents the full model of geometry for the threshold area, the simplified model of geometry including a subset of the plurality of geometric elements of the full model of geometry; determine a current user view in the virtual scene based on a user input, the current user view having a different perspective within the threshold area than the rendered plurality of views; and render the current user view based on the rendered plurality of views and the simplified model of geometry of the virtual scene. 2. The computing system of claim 1 , wherein the one or more processors is configured to render the current user view by piecing together image fragments from the rendered plurality of views of the virtual scene. 3. The computing system of claim 1 , wherein the threshold area is defined by a constant offset determined for the plurality of views of the virtual scene. 4. The computing system of claim 1 , wherein the rendered plurality of views of the virtual scene are stored in memory, and the one or more processors is configured to render a plurality of user views based on the stored plurality of views and the simplified model of geometry. 5. The computing system of claim 1 , wherein the simplified model of geometry of the virtual scene includes derived geometry that is derived from but not included in the full model of geometry. 6. The computing system of claim 5 , wherein the derived geometry is a derived geometric element that is formed from collapsing multiple geometric elements of the plurality of geometric elements of the full model of geometry. 7. The computing system of claim 1 , wherein the simplified model of geometry includes portions of the full model of geometry that are viewable by a user and excludes portions of the full model of geometry that are not viewable by the user. 8. The computing system of claim 1 , wherein the simplified model of geometry includes approximated geometry of the full model of geometry. 9. The computing system of claim 8 , wherein the one or more processors is configured to generate plane geometry as approximated geometry for complex geometry of the full model of geometry. 10. The computing system of claim 1 , wherein the one or more processors is configured to generate the simplified model of geometry by processing the full model of geometry using an edge-collapse algorithm. 11. The computing system of claim 1 , wherein the simplified model of geometry includes a same volume as the full model of geometry, and less geometric elements than the full model of geometry. 12. A method comprising: determining a virtual scene including a full model of geometry that includes a plurality of geometric elements that defines the virtual scene; rendering a plurality of views of the virtual scene based on the full model of geometry for a threshold area of the virtual scene; generating a simplified model of geometry of the virtual scene that represents the full model of geometry for the threshold area, the simplified model of geometry including a subset of the plurality of geometric elements of the full model of geometry; determining a current user view in the virtual scene based on a user input, the current user view having a different perspective within the threshold area than the rendered plurality of views; and rendering the current user view based on the rendered plurality of views and the simplified model of geometry of the virtual scene. 13. The method of claim 12 , further comprising rendering the current user view by piecing together image fragments from the rendered plurality of views of the virtual scene. 14. The method of claim 12 , wherein the threshold area is defined by a constant offset determined for the plurality of views of the virtual scene. 15. The method of claim 12 , wherein the rendered plurality of views of the virtual scene are stored in memory, and the method further comprises rendering a plurality of user views based on the stored plurality of views and the simplified model of geometry. 16. The method of claim 12 , wherein the simplified model of geometry of the virtual scene includes derived geometry that is derived from but not included in the full model of geometry. 17. The method of claim 16 , wherein the derived geometry is a derived geometric element that is formed from collapsing multiple geometric elements of the plurality of geometric elements of the full model of geometry. 18. The method of claim 12 , wherein the simplified model of geometry includes portions of the full model of geometry that are viewable by a user and excludes portions of the full model of geometry that are not viewable by the user. 19. The method of claim 12 , wherein the simplified model of geometry includes approximated geometry of the full model of geometry. 20. A computing device comprising: an input device configured to receive a stream of user input; a display; and a processor configured to: store a rendered plurality of views of a virtual scene that were rendered based on a full model of geometry that includes a plurality of geometric elements that defines the virtual scene for a threshold area of the virtual scene, and a simplified model of geometry of the virtual scene that represents the full model of geometry for the threshold area, the simplified model of geometry including a subset of the plurality of geometric elements of the full model of geometry; receive a user input in the stream of user input via the input device; determine a current user view in the virtual scene based on the user input, the current user view having a different perspective within the threshold area than the rendered plurality of views; render the current user view based on the rendered plurality of views and the simplified model of geometry of the virtual scene; and display the rendered current user view on the display.

Assignees

Inventors

Classifications

  • Mixed reality (object pose determination, tracking or camera calibration for mixed reality G06T7/00) · CPC title

  • G06T1/20Primary

    Processor architectures; Processor configuration, e.g. pipelining · CPC title

  • Navigation within 3D models or images · CPC title

  • Electricity · mapped topic

  • Perspective computation · 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 US10109031B2 cover?
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 cha…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06T1/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 23 2018 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).