US2023102620A1PendingUtilityA1

Variable rate rendering based on motion estimation

Assignee: ADVANCED MICRO DEVICES INCPriority: Nov 27, 2018Filed: Jun 17, 2022Published: Mar 30, 2023
Est. expiryNov 27, 2038(~12.3 yrs left)· nominal 20-yr term from priority
H04N 19/182H04N 19/119G06T 7/90H04N 19/146G06T 7/246G06T 7/215G06T 13/20H04N 19/172G06T 2200/28G06T 11/40H04N 19/523H04N 19/139H04N 19/51G06T 2207/20021G06T 2207/20016
58
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A rendering processor assigns varying logical pixel dimensions to regions of an image frame and rendering pixels of the image frame based on the logical pixel dimensions. The rendering processor renders in highest resolution (i.e., with smaller logical pixel dimensions) those areas of the image that are more important (on which the viewer is expected to focus (the “foveal region”), or regions with little-to-no motion), and renders in lower resolution (i.e., with larger logical pixel dimensions) those areas of the image outside the region of interest, or regions that are speedily moving, so that loss of detail in those regions will be less noticeable to the viewer. For regions with less detail or greater magnitude of motion, larger logical pixel dimensions reduce the computational workload without affecting the quality of the displayed graphics as perceived by a user.

Claims

exact text as granted — not AI-modified
1 - 20 . (canceled) 
     
     
         21 . A device, comprising:
 a processor configured to:
 render each tile of a plurality of tiles of a first frame at a resolution that is based on at least one of: a magnitude and direction of a motion vector for each tile, and a presence of an object or portion of an object within each tile. 
   
     
     
         22 . The device of  claim 21 , further comprising:
 a motion estimator engine configured to generate a motion vector field comprising a motion vector for each tile of the first frame, the motion vectors based on a comparison between corresponding tiles of a second frame immediately preceding the first frame in a sequence of rendered frames and a third frame immediately preceding the second frame in the sequence of rendered frames; and   wherein the processor is to render each tile at a resolution based on at least in part on the magnitude and direction of the motion vector for each tile.   
     
     
         23 . The device of  claim 22 , wherein the motion estimator engine is further to:
 estimate magnitudes of differences in pixel values for each corresponding tile of the first, second, and third frames; and   wherein the processor is configured to render each tile at a resolution that is based at least in part on the magnitudes of differences in pixel values.   
     
     
         24 . The device of  claim 21 , wherein the processor is configured to render a group of pixels along a direction of motion with the same pixel value for a tile having a motion vector larger than a threshold value. 
     
     
         25 . The device of  claim 21 , wherein the processor is configured to render less than one pixel along a direction of motion with the same pixel value for a tile having a motion vector smaller than a threshold value. 
     
     
         26 . The device of  claim 21 , wherein the processor is configured to render each tile at a resolution that is based at least in part on a presence of skin color within each tile. 
     
     
         27 . The device of  claim 21 , wherein the processor is configured to render each tile at a resolution that is based at least in part based on a frame rate requirement for an application executing at the processor. 
     
     
         28 . A processing system comprising:
 a memory to store a sequence of rendered frames;   a motion estimator engine configured to generate a motion vector field comprising a plurality of motion vectors for a first frame based on a comparison of the first frame with at least one frame of the sequence of rendered frames; and   a processor configured to render each tile of a plurality of tiles of the first frame at a resolution that is based on at least one of: a magnitude and direction of a motion vector for each tile, and a presence of an object or portion of an object within each tile.   
     
     
         29 . The processing system of  claim 28 , wherein:
 the motion estimator engine is configured to generate a motion vector field comprising a motion vector for each tile of the first frame, the motion vectors based on a comparison between corresponding tiles of a second frame immediately preceding the first frame in a sequence of rendered frames and a third frame immediately preceding the second frame in the sequence of rendered frames; and   wherein the processor is to render each tile at a resolution based on at least in part on the magnitude and direction of the motion vector for each tile.   
     
     
         30 . The processing system of  claim 28 , wherein the processor is configured to render a group of pixels along a direction of motion with the same pixel value for a tile having a motion vector larger than a threshold value. 
     
     
         31 . The processing system of  claim 28 , wherein the processor is configured to render less than one pixel along a direction of motion with the same pixel value for a tile having a motion vector smaller than a threshold value. 
     
     
         32 . The processing system of  claim 28 , wherein the motion estimator engine is further to:
 estimate magnitudes of differences in pixel values for each corresponding tile of the first, second, and third frames; and   wherein the processor is configured to render each tile at a resolution that is based on the magnitudes of differences in pixel values.   
     
     
         33 . The processing system of  claim 28 , wherein the processor is configured to render each tile at a resolution that is based at least in part on a presence of skin color within each tile. 
     
     
         34 . The processing system of  claim 28 , wherein the processor is configured to render each tile at a resolution that is based at least in part based on a frame rate requirement for an application executing at a processing unit of the processing system. 
     
     
         35 . A method comprising:
 estimating, at a motion estimator engine of a processing system, a motion vector for each of a plurality of tiles of a first frame; and   rendering, at a processor of the processing system, pixels of each tile of the first frame at a resolution that is based at least in part on a magnitude and direction of the motion vector for each tile.   
     
     
         36 . The method of  claim 35 , further comprising:
 identifying, at the processor, objects in the first frame based on geometrical data provided by an application; and   rendering each tile of the first frame at a resolution that is based at least in part on a presence of an object or portion of an object within the tile.   
     
     
         37 . The method of  claim 35 , wherein rendering comprises rendering a group of pixels along a direction of motion with the same pixel value for a tile having a motion vector larger than a threshold value. 
     
     
         38 . The method of  claim 35 , wherein rendering comprises rendering less than one pixel along a direction of motion with the same pixel value for a tile having a motion vector smaller than a threshold value. 
     
     
         39 . The method of  claim 35 , further comprising:
 estimating magnitudes of differences in pixel values for each corresponding tile of the first frame, a second frame and a third frame, the second frame immediately preceding the first frame in a sequence of rendered frames and the third frame immediately preceding the second frame in the sequence of rendered frames; and   wherein rendering comprises rendering each tile at a resolution that is based at least in part on the magnitudes of differences in pixel values.   
     
     
         40 . The method of  claim 35 , wherein rendering comprises rendering each tile at a resolution that is based at least in part on a presence of skin color within each tile.

Join the waitlist — get patent alerts

Track US2023102620A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.