- Number
- 9761007
- Published
- 2017-09-12
- Filed
- 2015-06-16
- Assignee
- Disney Enterprises, Inc.
- Inventors
- Siegel; Lewis, Jenkins; Sean
- CPC
- G06T15/40; H04N19/587; G06T13/20; G06T7/20; H04N19/00
- Verdict
- Low Notable software
- Source
- Google Patents · FreePatentsOnline
The keeper's note
Speeds up rendering of an image sequence by recalculating only the subset of pixels that were previously occluded, approximating the full frame.
Abstract
The disclosure provides an approach for approximating a fully calculated image sequence from a subset of calculated image data. In one configuration, a rendering application calculates, for each image in the image sequence, a subset of pixels including pixels previously occluded by object(s) in preceding images and pixels whose ages have exceeded a threshold value. The rendering application then approximates the remaining non-calculated image data by interpolating the image data that has been calculated and merges the calculated and approximated image data to obtainthe final image sequence. In a particular configuration, entire images may be recalculated at regular intervals to prevent excessive image quality degradation. In another configuration, the recalculation of pixel data may be offset by randomly initializing pixel age values. In yet another configuration, a combination of recalculating entire images and refreshing pixels at offset intervals may be used.
Background
BRIEF DESCRIPTION OF THE DRAWINGS(1) So that the manner in which the above recited features of the present disclosure can be understood in detail, a more particular description of the disclosure, briefly summarized above, may be had by reference to various aspects, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only exemplary configurations and are therefore not to be considered limiting of its scope, which may admit to other equally effective configurations.(2) FIG. 1 illustrates an approach for approximating fully calculated imagesequences using a subset of calculated data, according to an aspect of this disclosure.(3) FIG. 2 illustrates interpolating a fully calculated image in the forward direction, according to an aspect of this disclosure.(4) FIG. 3 illustrates interpolating in the forward direction images which are fully calculated at regular intervals, according to an aspect of this disclosure.(5) FIG. 4 illustrates interpolating, in the forward and backward directions, images which are fully calculated at regular intervals, according to an aspect of this disclosure.(6) FIG. 5 illustrates interpolating pixels which are initialized to random ages and refreshed at regular intervals, according to an aspect of this disclosure.(7) FIG. 6 illustrates interpolating pixels which are initialized to random ages and refreshed atregular intervals, with the images also being fully calculated at regular in
Claims
1. A computer-implemented method for rendering a first image sequence, comprising: rendering a second image sequence, without performing lighting calculations, to obtain position and motion information of points on one or more objects in a scene; calculating or reconstructing a first image in the firstimage sequence; and for each of a plurality of subsequent images in the first image sequence: determining a subset of pixels in the image to be calculated, wherein the subset of pixels is less than all pixels in the image, and wherein the subset of pixels includes previously occluded pixels determined based on at least a portion of the position and motion information, calculating image data for the determined subset of pixels, and propagating previously calculated image data from one or more neighboring images in the first image sequence to each pixel in the image that is not calculated, wherein the previously calculated image data is propagated based on at least a portion of the motion information.
11. A non-transitory computer-readable storage medium storing a program, which, when executed by a processor performs operations for rendering a first sequence of images, the operations comprising: rendering a second image sequence, without performing lighting calculations, to obtain position and motion information of points on one or more objects in a scene; calculating or reconstructing a first image in a first image sequence; and for each of a pluralityof subsequent images in the first image sequence: determining a subset of pixels in the image to be calculated, wherein the subset of pixels is less than all pixels in the image, and wherein the subset of pixels includes previously occluded pixels determined based on at least a portion of the position and motion information, calculating image data for the determined subset of pixels, and propagating previously calculated image data from one or more neighboring images in the first image sequence to each pixel in the image that is not calculated, wherein the previously calculated image data is propagated based on at least aportion of the motion information.
20. A system, comprising: a processor; and a memory, wherein the memory includes an application program configured to perform operations for rendering a first sequence of images, the operations comprising: rendering a second image sequence, without performing lighting calculations, to obtain position and motion informationof points on one or more objects in a scene, calculating or reconstructing a first image in the first image sequence, and for each of a plurality of subsequent images in the firstimage sequence: determining a subset of pixels in the image to be calculated, wherein thesubset of pixels is less than all pixels in the image, and wherein the subset of pixels includes previously occluded pixels determined based on at least a portion of the position and motion information; calculating image data for the determined subset of pixels; and propagating previously calculated image data from one or more neighboring images in the first image sequence to each pixel in the image that is not calculated, wherein the previouslycalculated image data is propagated based on at least a portion of the motion information.