IP Library Granted Patent US 10,198,862
Granted Patent B2
US 10,198,862 · App. 15/611,465 · Granted Feb 5, 2019

Methods and apparatus for providing rotated spherical viewpoints

Inventor: Adeel Abbas (Carlsbad, CA)
Assignee: GOPRO, INC.
G06T19/003G06T1/0007
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,198,862
App. No.
15/611,465
Granted
Feb 5, 2019
Kind
B2
Abstract

Apparatus and methods for providing a rotated spherical viewpoint (RSV). In one or more embodiments, the RSV is implemented using equirectangular projections (ERPs). The RSV methodologies described herein are particularly suitable for panning within virtual reality (VR) or 360° panoramic content as there is minimal, if any, geometric distortions at the edge of a given viewport. Moreover, the RSV methodologies described herein may reduce the bandwidth requirements of, for example, devices operating in a client-server architecture. Additionally, the computation requirements for providing RSV are minimal and can be provided using relatively simple rotation transforms.

Claims (52)

1. A method for generating a rotated sphere viewpoint (RSV), comprising:

retrieving first image data associated with a first portion of interest within source image data;

storing a plurality of versions of the first image data, each of the plurality of versions of the first image data collectively comprising a plurality of transformed versions of the first image data at a plurality of fixed latitudinal offsets;

retrieving one or more of the stored plurality of versions of the first image data, wherein the stored plurality of versions of the first image data comprises storing a first viewport at a first longitudinal offset and storing a second viewport at a second longitudinal offset, the second longitudinal offset differing from the first longitudinal offset;

providing the first image data to a network interface;

receiving a request for second image data associated with a second portion of interest that is offset from the first portion of interest within the source image data;

transforming the first image data in response to the received request for the second image data such that the transformed first image data is associated with the second portion of interest within the source image data;

processing the transformed first image data into resultant image data; and

providing the resultant image data to the network interface.

2. The method of claim 1 , wherein the source image data comprises spherical image data; and

wherein the transforming of the first image data corresponds to rotating the source image data.

3. The method of claim 2 , wherein the rotating of the source image data comprises rotating along a latitudinal dimension of the spherical image data.

4. The method of claim 2 , wherein the rotating of the source image data comprises rotating along a longitudinal dimension of the spherical image data.

5. The method of claim 1 , wherein the transformed first image data comprises spherical image data; and

wherein the processing of the transformed first image data comprises projecting the spherical image data to an equirectangular projection (ERP).

6. The method of claim 1 , wherein the stored plurality of versions of the first image data comprises transforming the source image data into an equirectangular projection (ERP) of a 360° panorama.

7. An apparatus configured to generate a rotated sphere viewpoint (RSV), the apparatus comprising:

a network interface configured to communicate with a display device;

a processor apparatus; and

a non-transitory computer readable storage apparatus comprising instructions, which when executed by the processor apparatus, cause the processor apparatus to:

retrieve first image data associated with a first portion of interest within source image data;

store a plurality of versions of the first image data, each of the plurality of versions of the first image data collectively comprising a plurality of transformed versions of the first image data at a plurality of fixed latitudinal offsets;

retrieve one or more of the stored plurality of versions of the first image data, wherein the stored plurality of versions of the first image data comprises storage of a first viewport at a first longitudinal offset and storage of a second viewport at a second longitudinal offset, the second longitudinal offset differing from the first longitudinal offset;

provide the first image data to the network interface;

receive a request for second image data associated with a second portion of interest that is offset from the first portion of interest within the source image data;

transform the first image data in response to the received request for the second image data such that the transformed first image data is associated with the second portion of interest within the source image data;

process the transformed first image data into resultant image data; and

provide the resultant image data to the network interface.

8. The apparatus of claim 7 , wherein the source image data comprises spherical image data; and

wherein the transformed first image data corresponds to a rotated version of the spherical image data.

9. The apparatus of claim 8 , wherein the rotated version of the spherical image data is pre-stored prior to being requested by a user.

10. The apparatus of claim 8 , wherein the rotated version of the spherical image data is generated from an extant graphics processing unit (GPU).

11. The apparatus of claim 7 , wherein the processed transformed first image data comprises an equirectangular projection (ERP).

12. The apparatus of claim 8 , wherein the rotated version of the spherical image data comprises a rotation along a latitudinal dimension of the spherical image data.

13. The apparatus of claim 8 , wherein the rotated version of the spherical image data comprises a rotation along a longitudinal dimension of the spherical image data.

14. The apparatus of claim 7 , wherein the stored plurality of versions of the first image data comprises a transformation of the source image data into an equirectangular projection (ERP) of a 360° panorama.

15. An apparatus configured to receive a rotated sphere viewpoint (RSV), the apparatus comprising:

a network interface configured to communicate with a generating device, the generating device having a plurality of versions of first image data, each of the plurality of versions of the first image data collectively comprising a plurality of transformed versions of the first image data at a plurality of fixed latitudinal offsets;

a visual display;

a processor apparatus; and

a non-transitory computer readable storage apparatus comprising instructions, which when executed by the processor apparatus, cause the processor apparatus to:

receive the first image data via the network interface from the generating device, wherein the first image data has a viewport of interest;

retrieve one or more of the stored plurality of versions of the first image data, wherein the stored plurality of versions of the first image data comprises a first viewport at a first longitudinal offset and a second viewport at a second longitudinal offset, the second longitudinal offset differing from the first longitudinal offset;

display the received first image data via the visual display; and

responsive to a desired viewpoint being outside a given range of the viewport of interest, transmit a request for second image data that is offset from the first image data; and

receive the second image data via the network interface from the generating device, the second image data having the desired viewpoint that is offset from the viewport of interest of the first image data.

16. The apparatus of claim 15 , further comprising instructions, which when executed by the processor apparatus, cause the processor apparatus to:

responsive to the desired viewpoint being within the given range of the viewport of interest, continue to receive the first image data.

17. The apparatus of claim 16 , wherein the desired viewpoint being outside the range of interest comprises a detection of a latitudinal offset of greater than a prescribed threshold value.

18. The apparatus of claim 15 , wherein the given range corresponds to a given meridian range.

19. The apparatus of claim 18 , wherein the desired viewpoint being outside the range of interest comprises a detection of a longitudinal offset that is larger than the given meridian range.

20. The apparatus of claim 15 , wherein the request for second image data that is offset from the first image data comprises receipt of the second image having a fixed offset from the first image data.

Assignments (6)
SECURITY INTEREST Recorded Aug 4, 2025
From: GOPRO, INC.
To: FARALLON CAPITAL MANAGEMENT, L.L.C., AS AGENT
Reel/Frame 072340/0676 →
SECURITY INTEREST Recorded Aug 4, 2025
From: GOPRO, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 072358/0001 →
RELEASE OF PATENT SECURITY INTEREST Recorded Jan 25, 2021
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: GOPRO, INC.
Reel/Frame 055106/0434 →
PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jun 5, 2019
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 049454/0352 →
SECURITY INTEREST Recorded Jul 31, 2017
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 043380/0163 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2017
From: ABBAS, ADEEL
To: GOPRO, INC.
Reel/Frame 042567/0747 →
Continuity (2)
Provisional Application 62449532 · Jan 23, 2017
Related Publication 20180211443A1 · Jul 26, 2018