Methods and apparatus for hardware accelerated image processing for spherical projections
AssigneeGoPro, Inc.
InventorsWilliam Edward MacDonald, Kyler William Schwartz, David A. Newman
Life of this patent
Estimating the term…
Abstract
Methods and apparatus for image processing of spherical content via hardware acceleration components. In one embodiment, an EAC image is subdivided into facets via existing software addressing and written into the memory buffers (normally used for rectilinear cubemaps) in a graphics processing unit (GPU). The EAC facets may be translated, rotated, and/or mirrored so as to align with the expected three-dimensional (3D) coordinate space. The GPU may use existing hardware accelerator logic, parallelization, and/or addressing logic to greatly improve 3D image processing effects (such as a multi-band blend using Gaussian blurs.)
Claims20
A computerized apparatus comprising:
- a first camera and a second camera;
- a plurality of buffers coupled to a graphics processing unit;
- a processor;
- and
- a non-transitory computer-readable apparatus comprising a plurality of instructions configured to, when executed by the processor, cause the computerized apparatus to:
- capture a first image via the first camera and a second image via the second camera;
- stitch an equi-angular cubemap data structure from the first image and the second image;
- obtain equi-angular facets from the equi-angular cubemap data structure;
- write the equi-angular facets to corresponding memory structures of the graphics processing unit;
- enable the graphics processing unit to perform one or more hardware accelerated image processes on the corresponding memory structures;
- and
- read processed equi-angular facets from the corresponding memory structures.
A method, comprising:
- capturing a first image via a first camera and a second image via a second camera;
- stitching an equi-angular cubemap data structure from the first image and the second image;
- obtaining equi-angular facets from the equi-angular cubemap data structure;
- writing the equi-angular facets to corresponding memory structures of a graphics processing unit;
- performing one or more hardware accelerated image processes on the corresponding memory structures via the graphics processing unit;
- and
- reading processed equi-angular facets from the corresponding memory structures.
A non-transitory computer-readable apparatus comprising a storage medium, the storage medium comprising a plurality of instructions configured to, when executed by a processor apparatus, cause a computerized apparatus to:
- obtain a first image and a second image;
- stitch an equi-angular cubemap data structure from the first image and the second image;
- obtain equi-angular facets from the equi-angular cubemap data structure;
- write the equi-angular facets to corresponding memory structures of a graphics processing unit;
- enable the graphics processing unit to perform one or more hardware accelerated image processes on the corresponding memory structures;
- and
- read processed equi-angular facets from the corresponding memory structures.
Dependencies are inferred from the claim text.