IP Library › Granted Patent US 10,614,855
Granted Patent B2
US 10,614,855 · App. 16/250,955 · Granted Apr 7, 2020

Spherical video editing

Inventor: Justin Huang (Los Angeles, CA)
Assignee: Snap Inc.
G11B27/031G06F3/017G06F3/0346G06T3/0087G06T3/4038G06T7/292G06T7/73H04N5/232H04N5/23238H04N5/247H04N5/265H04N5/2628H04N5/772H04N5/9201H04N9/8042H04N9/8205G06T2207/10016G06T2210/22
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,614,855
App. No.
16/250,955
Granted
Apr 7, 2020
Kind
B2
Abstract

Systems and methods provide for editing of spherical video data. In one example, a computing device can receive a spherical video (or a video associated with an angular field of view greater than an angular field of view associated with a display screen of the computing device), such as by a built-in spherical video capturing system or acquiring the video data from another device. The computing device can display the spherical video data. While the spherical video data is displayed, the computing device can track the movement of an object (e.g., the computing device, a user, a real or virtual object represented in the spherical video data, etc.) to change the position of the viewport into the spherical video. The computing device can generate a new video from the new positions of the viewport.

Claims (52)

1. A computer-implemented method, comprising:

receiving, using one or more processors of a computing device, first video data including spherical video data;

displaying a portion of a frame of the first video data on a display screen associated with the computing device, wherein the portion of the frame represents a viewport into the first video data and the viewport is associated with an original position for each frame of the first video data;

determining movement data associated with an object;

determining a new position for the viewport using the movement data; and

generating the second video data from the first video data using the new position, wherein pixels of a frame of the second video data correspond to pixels of the frame of the first video data encompassed by the viewport at the new position.

2. The computer-implemented method of claim 1 , wherein the object includes the computing device.

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

capturing at least one of motion sensor data or position sensor data of the computing device,

wherein the movement data is determined using at least one of the motion sensor data or the position sensor data.

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

capturing image data representing a physical environment of the computing device,

wherein the movement data is determined using a combination of the image data and at least one of the motion sensor data or the position sensor data.

5. The computer-implemented method of claim 1 , wherein the object is displayed in the first video data.

6. The computer-implemented method of claim 1 , wherein the new position corresponds to a centroid of the viewport, and wherein generating the second video data from the first video data includes re-centering the viewport using the centroid.

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

determining at least one of rotation information, translation information, or

transformation information for re-centering the viewport from the original position to the new position.

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

determining a surface or a volume to extract from the frame of the first video data for the frame of the second video data.

9. The computer-implemented method of claim 1 , wherein the second video data includes an equirectangular frame having an angular field of view corresponding to an angular field of view of the display screen.

10. The computer-implemented method of claim 1 , wherein the frame of the second video data is associated with an angular field of view along at least one dimension that is greater than an angular field of view along at least one corresponding dimension of a display screen of the computing device but less than 360 degrees.

11. The computer-implemented method of claim 10 , wherein the frame of the second video data is associated with an angular field of view equal to 360 degrees along at least one second dimension.

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

determining available resources of a second computing device; and

transmitting, based on the available resources, at least one of a cropped version of the second video data, a version of the second video data having a lower video resolution, a version of the second video data have a lower rate of frames per second, or a version of the second video data having regions of varying video resolutions.

13. A computing device, comprising:

one or more processors;

a display screen; and

memory including instructions that, upon execution by the one or more processors, cause the computing device to:

receive first video data associated with an angular field of view greater than an angular field of view associated with the display screen;

display a portion of a frame of the first video data on the display screen, wherein the portion of the frame represents a viewport into the first video data and the viewport is associated with an original position for each frame of the first video data;

determine movement data associated with an object;

determine a new position for the viewport using the movement data; and

generate the second video data from the first video data using the new position, wherein pixels of a frame of the second video data correspond to pixels of the frame of the first video data encompassed by the viewport at the new position.

14. The computing device of claim 13 , further comprising a plurality of cameras, wherein the instructions upon execution further cause the computing device to:

capture a plurality of videos using the plurality of cameras; and

stitch the plurality of videos together to generate the first video data.

15. The computing device of claim 13 , wherein the object includes at least a portion of a user of the computing device.

16. The computing device of claim 15 , wherein the instructions upon execution further cause the computing device to:

determine a plurality of coordinates for mapping the pixels of the frame of the first video data to the pixels of the frame of the second video data.

17. A non-transitory computer-readable storage medium storing instructions that, upon execution by one or more processors of a computing device, cause the computing device to:

receive first video data including spherical video data;

determine movement data associated with an object, wherein the portion of the frame represents a viewport into the first video data and the viewport is associated with an original position for each frame of the first video data:

determine a new position for the viewport using the movement data; and

generate the second video data from the first video data using the new position, wherein pixels of a frame of the second video data correspond to pixels of the frame of the first video data encompassed by the viewport at the new position.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions upon execution further cause the computing device to:

retrieve the pixels of the frame of the first video data from a graphics buffer of the computing device.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the frame of the second video data is associated with an angular field of view along at least one first dimension that is greater than an angular field of view along at least one corresponding dimension of a display screen of the computing device but less than 360 degrees, and wherein the frame of the second video data is associated with an angular field of view equal to 360 degrees along at least one second dimension.

20. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions upon execution further cause the computing device to:

transmit an ephemeral message including the second video data to a second computing device,

wherein the second video data is deleted after the second video data has been viewed or after a specified time period of the second computing device receiving the second video data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2020
From: HUANG, JUSTIN
To: SNAP INC.
Reel/Frame 051892/0368 →
Continuity (2)
Continuation 15844089 · Dec 15, 2017
Related Publication 20190189160A1 · Jun 20, 2019
Cited By (113)
US 12,190,739 US 12,200,399 US 12,204,105 US 12,204,693 US 12,204,807 US 12,210,736 US 12,212,536 US 12,216,823 US 12,216,827 US 12,223,402 US 12,229,342 US 12,231,437 US 12,236,148 US 12,236,512 US 12,244,552 US 12,265,663 US 12,265,664 US 12,266,057 US 12,271,517 US 12,271,532 US 12,271,586 US 12,282,607 US 12,287,647 US 12,288,298 US 12,299,798 US 12,300,275 US 12,307,287 US 12,314,472 US 12,314,485 US 12,327,302 US 12,332,438 US 12,333,658 US 12,340,142 US 12,344,409 US 12,348,855 US 12,353,628 US 12,353,840 US 12,360,531 US 12,360,663 US 12,361,648 US 12,361,664 US 12,367,606 US 12,367,616 US 12,372,975 US 12,373,096 US 12,374,055 US 12,380,618 US 12,380,925 US 12,382,188 US 12,387,403 US 12,393,613 US 12,401,772 US 12,405,672 US 12,405,675 US 12,406,448 US 12,411,555 US 12,412,347 US 12,423,910 US 12,429,953 US 12,432,441 US 12,437,491 US 12,443,270 US 12,443,325 US 12,443,335 US 12,450,851 US 12,452,384 US 12,456,263 US 12,462,507 US 12,468,395 US 12,468,396 US 12,468,439 US 12,469,090 US 12,469,219 US 12,482,171 US 12,494,078 US 12,498,783 US 12,498,793 US 12,517,521 US 12,518,490 US 12,524,146 US 12,530,086 US 12,530,088 US 12,531,959 US 12,547,295 US 12,547,309 US 12,572,216 US 12,572,261 US 12,573,100 US 12,608,126 US 12,614,567 US 12,626,455 US 12,632,984 US 12,633,061 US 12,638,951 US 12,641,190 US 12,650,732 US 12,656,875 US 12,656,876 US 12,657,753 US 12,670,643 US 12,670,674 US 12,675,168 US 12,675,169 US 12,693,770 US 12,700,187 US 12,705,009 US 12,710,807 US 12,712,835 US 12,726,454 US 12,731,341 US 12,731,342 US 12,737,053 US 12,746,455