IP Library Granted Patent US 9,177,362
Granted Patent B2
US 9,177,362 · App. 13/958,451 · Granted Nov 3, 2015

Systems and methods for transforming an image

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 9,177,362
App. No.
13/958,451
Granted
Nov 3, 2015
Kind
B2
Abstract

Systems, methods, and computer-readable media acquire an image captured with a mobile device. Motion sensor data of the mobile device at or near a time when the image was captured is acquired. An angle of rotation is computed based on the motion sensor data, and the image is transformed based on the angle of rotation. In another aspect, a user interface enables user control over image transformation. The user interface enables user control over rotating an image on a display at two or more granularities. A point of rotation may be user-defined. Rotated images may be scaled to fit within a viewing frame for displaying the transformed image.

Claims (50)

1. A computer implemented method comprising:

acquiring, by a computer system, an image captured with a mobile device;

acquiring, by the computer system, motion sensor data of the mobile device associated with a time when the image was captured;

determining, by the computer system, an angle of rotation associated with the time when the image was captured based on the motion sensor data; and

transforming, by the computer system, the image based on the angle of rotation and an orientation of the mobile device associated with a time when the image is displayed on the mobile device.

2. The method of claim 1 , wherein the transforming the image comprises rotating the image based on the angle of rotation.

3. The method of claim 2 , wherein the transforming the image comprises scaling the image based on dimensions of a viewing frame of a user interface of the mobile device.

4. The method of claim 1 , further comprising displaying the transformed image on the mobile device.

5. The method of claim 1 , wherein the determining the angle of rotation is performed by the mobile device.

6. The method of claim 1 , wherein the transforming the image is performed by the mobile device.

7. The method of claim 1 , wherein the acquiring motion sensor data comprises sampling data from a gyroscope on the mobile device.

8. The method of claim 7 , wherein the sampled data is filtered by a low pass filter to reduce noise.

9. The method of claim 1 , wherein the acquiring motion sensor data comprises sampling data from an accelerometer on the mobile device.

10. The method of claim 1 , further comprising:

providing a user input element to allow a user to select automatic transformation of the image based on the angle of rotation associated with the time when the image was captured; and

receiving a selection for automatic transformation of the image, wherein the transforming the image is responsive to receipt of the selection.

11. The method of claim 1 , further comprising:

displaying the acquired image on a display of the mobile device before the image is transformed; and

displaying the transformed image instead of the acquired image on the display after the image is transformed.

12. The method of claim 1 , further comprising:

comparing the angle of rotation to a predetermined threshold angle; and

displaying the transformed image when the angle of rotation does not exceed the predetermined threshold angle.

13. The method of claim 1 , further comprising:

displaying a user interface comprising a first control element enabling user-controlled rotation of the transformed image at a first granularity;

receiving a first user input applied to the first control element; and

rotating the transformed image at the first granularity based on the first user input.

14. The method of claim 13 , further comprising:

displaying a second control element enabling user-controlled rotation of the transformed image at a second granularity in the user interface;

receiving a second user input applied to the second control element; and

rotating the transformed image at the second granularity based on the second user input.

15. The method of claim 14 , wherein movement of the first control element and the second control element in a first direction from a reference position rotates the image in a first rotational direction, and movement of the first control element and the second control element in a second direction from the reference position rotates the image in a second rotational direction.

16. The method of claim 1 , further comprising:

displaying a user interface enabling user definition of a point of rotation about which to rotate the transformed image;

receiving a first user input applied to the user interface to define a point of rotation;

receiving a second user input applied to the user interface to define a direction and a granularity of rotation; and

rotating the transformed image about the point of rotation according to the direction and the granularity of rotation based on the first user input and the second user input.

17. The method of claim 1 , wherein the mobile device is a mobile phone.

18. The method of claim 1 , wherein the transforming the image is performed by a social networking system.

19. A system comprising:

at least one processor; and

a memory storing instructions configured to instruct the at least one processor to perform:

acquiring an image captured with a mobile device;

acquiring motion sensor data for the mobile device associated with a time when the image was captured;

determining an angle of rotation associated with the time when the image was captured based on the motion sensor data; and

transforming the image based on the angle of rotation and an orientation of the mobile device associated with a time when the image is displayed on the mobile device.

20. A non-transitory computer storage medium storing computer-executable instructions that, when executed, cause a computer system to perform a computer-implemented method comprising:

acquiring an image captured with a mobile device;

acquiring motion sensor data for the mobile device associated with a time when the image was captured;

determining an angle of rotation associated with the time when the image was captured based on the motion sensor data; and

transforming the image based on the angle of rotation and an orientation of the mobile device associated with a time when the image is displayed on the mobile device.

Assignments (2)
CHANGE OF NAME Recorded Nov 23, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058234/0177 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2014
From: RESTREPO, ALEX; SYSTROM, KEVIN
To: FACEBOOK, INC.
Reel/Frame 033113/0387 →