IP Library Granted Patent US 10,725,637
Granted Patent B2
US 10,725,637 · App. 16/252,327 · Granted Jul 28, 2020

Systems and methods for providing image perspective adjustment and automatic fitting

Inventors: Ronnachai Jaroensri (Cambridge, MA); Li Tan (Fremont, CA); John Pottebaum (San Francisco, CA); Christopher James Connolly (San Francisco, CA); John Samuel Barnett (Newark, CA); Udeepta Dutta Bordoloi (Foster City, CA); Georges Edouard Maurice Berenger (Menlo Park, CA); Alex Restrepo (San Francisco, CA); Alexandre Karpenko (Palo Alto, CA)
Assignee: Facebook, Inc.
G06F3/04845G06F3/0488G06F3/04815G06F3/04883G06T3/20G06T3/40G06T3/60G06T19/20G06F2203/04806G06T2219/2016
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,725,637
App. No.
16/252,327
Granted
Jul 28, 2020
Kind
B2
Abstract

Systems, methods, and non-transitory computer-readable media can provide one or more options to adjust, in a virtual three-dimensional space, an image in an initial perspective. At least a first command, provided based on the one or more options, to adjust the image from the initial perspective into an adjusted perspective can be detected. The image can be adjusted, based on at least the first command, into the adjusted perspective in the virtual three-dimensional space to produce an adjusted image. A second command to modify a viewable area of the adjusted image can be detected. At least a portion of the adjusted image can be automatically fitted, when the second command has ceased, within a specified display area while one or more empty regions can be minimized in the specified display area.

Claims (56)

1. A computer-implemented method comprising:

adjusting, by a computing system, an image in a display area to produce an adjusted image, wherein the adjusting reveals one or more empty regions indicated by at least one edge of the adjusted image that is not parallel to at least one edge of the display area and the adjusting results in a portion of the adjusted image outside the display area;

determining, by the computing system, at least one of: a minimum amount of zooming or a minimum amount of moving to apply to the adjusted image to fill the display area with the portion of the adjusted image outside the display area to minimize the one or more empty regions, and to minimize the at least one edge of the adjusted image; and

based on the determining, automatically fitting, by the computing system, at least a portion of the adjusted image to fill the display area while generating an animation of zooming or moving the adjusted image.

2. The computer-implemented method of claim 1 , further comprising:

providing, by the computing system, one or more options to adjust the image in a virtual three-dimensional space;

detecting, by the computing system, a command to adjust the image; and

wherein the adjusted image is produced based at least in part on the command.

3. The computer-implemented method of claim 2 , wherein the one or more options to adjust the image comprises at least one of: a first option to adjust the image with respect to a horizontal axis in the virtual three-dimensional space, a second option to adjust the image with respect to a vertical axis in the virtual three-dimensional space, or a third option to adjust the image with respect to a depth axis in the virtual three-dimensional space.

4. The computer-implemented method of claim 1 , further comprising:

providing, by the computing system, one or more options to adjust a viewable area of the image;

detecting, by the computing system, a command to adjust the viewable area; and

wherein the adjusted image is produced based at least in part on the command.

5. The computer-implemented method of claim 4 , wherein the one or more options to adjust the viewable area comprises at least one of: a first option to adjust the viewable area in a horizontal direction, a second option to adjust the viewable area in a vertical direction, or a third option to adjust the viewable area by zooming.

6. The computer-implemented method of claim 1 , further comprising:

acquiring, by the computing system, a first orientation data associated with a default position;

acquiring, by the computing system, a second orientation data associated with the image;

determining, by the computing system, an amount of rotation in a first direction based on the first orientation data and the second orientation data; and

wherein the adjusted image is produced based at least in part on the amount of rotation and the first direction.

7. The computer-implemented method of claim 6 , wherein the first orientation data and the second orientation data are acquired from one or more orientation sensors associated with a camera that acquired the image.

8. The computer-implemented method of claim 6 , wherein producing the adjusted image comprises rotating the image in a second direction opposite the first direction by the amount of rotation.

9. The computer-implemented method of claim 1 , further comprising:

detecting, by the computing system, one or more linear edges represented in the image;

determining, by the computing system, an orientation and a zoom factor of the image to result in the one or more linear edges to be within an allowable deviation from being vertical or horizontal; and

wherein the adjusted image is produced based at least in part on the orientation and the zoom factor.

10. The computer-implemented method of claim 1 , wherein the adjusted image is produced based at least in part on one or more touch gestures.

11. A system comprising:

at least one processor; and

a memory storing instructions that, when executed by the at least one processor, cause the system to perform:

adjusting an image in a display area to produce an adjusted image, wherein the adjusting reveals one or more empty regions indicated by at least one edge of the adjusted image that is not parallel to at least one edge of the display area and the adjusting results in a portion of the adjusted image outside the display area;

determining at least one of: a minimum amount of zooming or a minimum amount of moving to apply to the adjusted image to fill the display area with the portion of the adjusted image outside the display area to minimize the one or more empty regions, and to minimize the at least one edge of the adjusted image; and

based on the determining, automatically fitting at least a portion of the adjusted image to fill the display area while generating an animation of zooming or moving the adjusted image.

12. The system of claim 11 , further comprising:

providing one or more options to adjust the image in a virtual three-dimensional space;

detecting a command to adjust the image; and

wherein the adjusted image is produced based at least in part on the command.

13. The system of claim 12 , wherein the one or more options to adjust the image comprises at least one of: a first option to adjust the image with respect to a horizontal axis in the virtual three-dimensional space, a second option to adjust the image with respect to a vertical axis in the virtual three-dimensional space, or a third option to adjust the image with respect to a depth axis in the virtual three-dimensional space.

14. The system of claim 11 , further comprising:

providing one or more options to adjust a viewable area of the image;

detecting a command to adjust the viewable area; and

wherein the adjusted image is produced based at least in part on the command.

15. The system of claim 14 , wherein the one or more options to adjust the viewable area comprises at least one of: a first option to adjust the viewable area in a horizontal direction, a second option to adjust the viewable area in a vertical direction, or a third option to adjust the viewable area by zooming.

16. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing system, cause the computing system to perform:

adjusting an image in a display area to produce an adjusted image, wherein the adjusting reveals one or more empty regions indicated by at least one edge of the adjusted image that is not parallel to at least one edge of the display area and the adjusting results in a portion of the adjusted image outside the display area;

determining at least one of: a minimum amount of zooming or a minimum amount of moving to apply to the adjusted image to fill the display area with the portion of the adjusted image outside the display area to minimize the one or more empty regions, and to minimize the at least one edge of the adjusted image; and

based on the determining, automatically fitting at least a portion of the adjusted image to fill the display area while generating an animation of zooming or moving the adjusted image.

17. The non-transitory computer-readable storage medium of claim 16 , further comprising:

providing one or more options to adjust the image in a virtual three-dimensional space;

detecting a command to adjust the image; and

wherein the adjusted image is produced based at least in part on the command.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the one or more options to adjust the image comprises at least one of: a first option to adjust the image with respect to a horizontal axis in the virtual three-dimensional space, a second option to adjust the image with respect to a vertical axis in the virtual three-dimensional space, or a third option to adjust the image with respect to a depth axis in the virtual three-dimensional space.

19. The non-transitory computer-readable storage medium of claim 16 , further comprising:

providing one or more options to adjust a viewable area of the image;

detecting a command to adjust the viewable area; and

wherein the adjusted image is produced based at least in part on the command.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the one or more options to adjust the viewable area comprises at least one of: a first option to adjust the viewable area in a horizontal direction, a second option to adjust the viewable area in a vertical direction, or a third option to adjust the viewable area by zooming.

Assignments (3)
CHANGE OF NAME Recorded Nov 23, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058235/0904 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2020
From: JAROENSRI, RONNACHAI; TAN, LI; POTTEBAUM, JOHN; CONNOLLY, CHRISTOPHER JAMES; BARNETT, JOHN SAMUEL; BORDOLOI, UDEEPTA DUTTA; BERENGER, GEORGES EDOUARD MAURICE; RESTREPO, ALEX
To: FACEBOOK, INC.
Reel/Frame 052171/0948 →
CONFIDENTIAL INFORMATION AND INVENTION ASSIGNMENT AGREEMENT Recorded Mar 19, 2020
From: KARPENKO, ALEXANDRE
To: FACEBOOK, INC.
Reel/Frame 052193/0011 →
Continuity (3)
Continuation 16215501 · Dec 10, 2018
Continuation 14743937 · Jun 18, 2015
Related Publication 20190155490A1 · May 23, 2019