Parallel texture sampling

US11244492B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11244492-B2
Application numberUS-201916591520-A
CountryUS
Kind codeB2
Filing dateOct 2, 2019
Priority dateNov 2, 2018
Publication dateFeb 8, 2022
Grant dateFeb 8, 2022

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.

In one embodiment, a computing system may receive a number of texels organized into a texel array including a number of sub-arrays. The system may determine a number of texel subsets with the texels in each subset having a same position within their respective sub-arrays. The system may store the texel subsets into a number of buffer blocks, respectively, with each buffer block storing one texel subset. The system may retrieve a sampling texel array from the buffer blocks for parallelly determining pixel values of a number of sampling points. Each texel of the sampling texel array may be retrieved from a different buffer block.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising, by a computing system: receiving a plurality of texels organized into a texel array comprising a plurality of N×N sub-arrays, wherein each texel of the plurality of texels falls within a corresponding N×N sub-array and is associated with a two-dimensional sub-array coordinate indicating a position of that texel within the corresponding N×N sub-array; determining a plurality of texel subsets, wherein the two-dimensional sub-array coordinates associated with the texels in each texel subset are the same; storing the plurality of texel subsets into a plurality of buffer blocks, respectively, wherein each buffer block stores one texel subset of the plurality of texel subsets; reading from the plurality of buffer blocks in parallel to retrieve a sampling texel array, wherein each texel of the sampling texel array is retrieved from a different buffer block of the plurality of buffer blocks; and extracting a plurality of M×M texel sub-arrays from the sampling texel array for parallelly determining a plurality of pixel values, wherein each pixel value of the plurality of pixel values is determined based on an M×M texel sub-array of the plurality of M×M texel sub-arrays, and wherein M is smaller than N. 2. The method of claim 1 , wherein the plurality of N×N sub-arrays forms a repeated pattern within the texel array. 3. The method of claim 1 , wherein each of the plurality of buffer blocks is accessed parallelly with respect to other buffer blocks of the plurality of buffer blocks. 4. The method of claim 1 , wherein the plurality of buffer blocks is grouped into a plurality of groups, and wherein each texel used for determining a pixel value of a sampling point is retrieved from a different group of the plurality of groups. 5. The method of claim 1 , wherein the plurality of texel subsets is determined by: determining a reference texel having a first coordinate (u, v) indicating a position of the reference texel within the texel array; determining a plurality of intermediate texel subsets comprising texels having least significant bits of binary representations of first coordinates (u, v) equal to (0, 0), (1, 0), (0, 1), and (1, 1), respectively; determining a second coordinate (x, y) for each texel of each intermediate texel subset; and determining the plurality of texel subsets each comprising texels having least significant bits of binary representations of second coordinates (x, y) equal to (0, 0), (1, 0), (0, 1), and (1, 1) with respect to a corresponding intermediate texel subset. 6. The method of claim 5 , wherein the plurality of texel subsets comprises 16 texel subsets, and wherein the plurality of buffer blocks comprises 16 buffer blocks. 7. The method of claim 6 , wherein the 16 texel subsets are stored into the 16 buffer blocks with each buffer block storing one texel subset of the 16 texel subsets. 8. The method of claim 7 , wherein each texel sub-array of the M×M texel sub-arrays is a 2×2 texel sub-array, and wherein each texel of the 2×2 texel sub-array is retrieved from a different buffer block of the 16 buffer blocks. 9. The method of claim 1 , wherein the plurality of pixel values are associated with a plurality of sampling points, and wherein the plurality of sampling points corresponds to corners of an intersection area of a display region to a two-dimensional representation of a portion of a scene. 10. The method of claim 9 , wherein the two-dimensional representation comprises three-dimensional information of the portion of the scene, and wherein the two-dimensional representation of the portion of the scene is visible in the display region. 11. The method of claim 9 , wherein the two-dimensional representation of the portion of the scene is represented with a single texture resolution, and wherein the texel array comprises texels having the single texture resolution. 12. The method of claim 1 , wherein the sampling texel array is associated with an aligned texel region or an unaligned texel region. 13. One or more computer-readable non-transitory storage media embodying software that is operable when executed to: receive a plurality of texels organized into a texel array comprising a plurality of N×N sub-arrays, wherein each texel of the plurality of texels falls within a corresponding N×N sub-array and is associated with a two-dimensional sub-array coordinate indicating a position of that texel within the corresponding N×N sub-array; determine a plurality of texel subsets, wherein the two-dimensional sub-array coordinates associated with the texels in each texel subset are the same; store the plurality of texel subsets into a plurality of buffer blocks, respectively, wherein each buffer block stores one texel subset of the plurality of texel subsets; read from the plurality of buffer blocks in parallel to retrieve a sampling texel array, wherein each texel of the sampling texel array is retrieved from a different buffer block of the plurality of buffer blocks; and extract a plurality of M×M texel sub-arrays from the sampling texel array for parallelly determining a plurality of pixel values, wherein each pixel value of the plurality of pixel values is determined based on an M×M texel sub-array of the plurality of M×M texel sub-arrays, and wherein M is smaller than N. 14. The media of claim 13 , wherein the plurality of N×N sub-arrays forms a repeated pattern within the texel array. 15. The media of claim 13 , wherein each of the plurality of buffer blocks accessed parallelly with respect to other buffer blocks of the plurality of buffer blocks. 16. The media of claim 13 , wherein the plurality of buffer blocks is grouped into a plurality of groups, and wherein each texel used for determining a pixel value of a sampling point is retrieved from a different group of the plurality of groups. 17. A system comprising: one or more processors; and one or more computer-readable non-transitory storage media coupled to one or more of the processors and comprising instructions operable when executed by one or more of the processors to cause the system to: receive a plurality of texels organized into a texel array comprising a plurality of N×N sub-arrays, wherein each texel of the plurality of texels falls within a corresponding N×N sub-array and is associated with a two-dimensional sub-array coordinate indicating a position of that texel within the corresponding N×N sub-array; determine a plurality of texel subsets, wherein the two-dimensional sub-array coordinates associated with the texels in each texel subset are the same; store the plurality of texel subsets into a plurality of buffer blocks, respectively, wherein each buffer block stores one texel subset of the plurality of texel subsets; read from the plurality of buffer blocks in parallel to retrieve a sampling texel array, wherein each texel of the sampling texel array is retrieved from a different buffer block of the plurality of buffer blocks; and extract a plurality of M×M texel sub-arrays from the sampling texel array for parallelly determining a plurality of pixel values, wherein each pixel value of the plurality of pixel values is determined based on an M×M texel sub-array of the plurality of M×M texel sub-arrays, and wherein M is smaller than N. 18. The system of claim 17 , wherein the plurality of N×N sub-arrays forms a repeated pattern within the texel array. 19. The system of claim 17 , wherein each of the plurality of buffer blocks is accessed parallelly with respect to other buffer blocks of the plurality

Assignees

Inventors

Classifications

  • Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77) · CPC title

  • using straight lines or curves · CPC title

  • Volume rendering · CPC title

  • G06T15/04Primary

    Texture mapping · CPC title

  • Filling planar surfaces by adding surface attributes, e.g. adding colours or textures · 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 US11244492B2 cover?
In one embodiment, a computing system may receive a number of texels organized into a texel array including a number of sub-arrays. The system may determine a number of texel subsets with the texels in each subset having a same position within their respective sub-arrays. The system may store the texel subsets into a number of buffer blocks, respectively, with each buffer block storing one texe…
Who is the assignee on this patent?
Facebook Tech Llc
What technology area does this patent fall under?
Primary CPC classification G06T15/04. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 08 2022 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).