IP Library › Granted Patent US 12,519,917
Granted Patent B2
US 12,519,917 · App. 18/460,390 · Granted Jan 6, 2026

Systems and methods for stabilizing views of videos

Inventors: Daryl Stimm (Encinitas, CA); William Edward MacDonald (San Mateo, CA); Kyler William Schwartz (Valley Center, CA)
Assignee: GoPro, Inc.
H04N13/167H04N13/117
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 12,519,917
App. No.
18/460,390
Granted
Jan 6, 2026
Kind
B2
Abstract

A viewing direction may define an angle/visual portion of a spherical video at which a viewing window is directed. A trajectory of viewing direction may include changes in viewing directions for playback of spherical video. Abrupt changes in the viewing directions may result in jerky or shaky views of the spherical video. Changes in the viewing directions may be stabilized to provide stabilized views of the spherical video. Amount of stabilization may be limited by a margin constraint.

Claims (34)

1 . A method of stabilized viewing of video content, comprising:

obtaining a video having a progress length, wherein the video has been previously captured;

obtaining a trajectory of viewing direction of a viewing window for the video, the trajectory of viewing direction of the viewing window including viewing directions of the viewing window for moments within the progress length of the video, the viewing directions of the viewing window characterized by rotations about different axes;

stabilizing the trajectory of viewing direction of the viewing window for the video to generate a stabilized trajectory of viewing direction of the viewing window for the video, wherein the stabilized trajectory of viewing direction of the viewing window for the video includes the trajectory of viewing direction of the viewing window for the video that is differently stabilized for the different axes of rotation for the viewing directions of the viewing window; and

generating a stabilized video based on the stabilized viewing trajectory of viewing direction of the viewing window for the video.

2 . The method of claim 1 , wherein the trajectory of viewing direction of the viewing window is identified by a user as a function of progress through the progress length of the video.

3 . The method of claim 2 , wherein the trajectory of viewing direction of the viewing window is identified by the user via user interaction with a touchscreen display.

4 . The method of claim 2 , wherein the trajectory of viewing direction of the viewing window is identified by the user via user rotation of a mobile device.

5 . The method of claim 1 , wherein the stabilized trajectory of viewing direction of the viewing window is generated by smoothing jerkiness or shakiness in the trajectory of viewing direction of the viewing window.

6 . The method of claim 1 , wherein the different axes of rotation for the viewing directions of the viewing window include a yaw axis, a pitch axis, and a roll axis.

7 . The method of claim 6 , wherein the trajectory of viewing direction of the viewing window for the video being differently stabilized for the different axes of rotation for the viewing directions of the viewing window includes stabilization of the trajectory of viewing direction of the viewing window for the video about one of the yaw axis, the pitch axis, or the roll axis being different from stabilization of the trajectory of viewing direction of the viewing window for the video about another of the yaw axis, the pitch axis, and the roll axis.

8 . The method of claim 7 , wherein the stabilized trajectory of viewing direction of the viewing window for the video is generated further based on a viewing size constraint of the viewing window.

9 . The method of claim 8 , wherein the viewing size constraint of the viewing window limits deviation of a viewing size of the viewing window associated with the stabilized trajectory of viewing direction of the viewing window from a viewing size of the viewing window associated with the trajectory of viewing direction of the viewing window.

10 . A system for stabilizing viewing of video content, comprising:

one or more physical processors configured by machine-readable instructions to:

obtain a video having a progress length, wherein the video has been previously captured;

obtain a trajectory of viewing direction of a viewing window for the video, the trajectory of viewing direction of the viewing window including viewing directions of the viewing window for moments within the progress length of the video, the viewing directions of the viewing window characterized by rotations about different axes;

stabilize the trajectory of viewing direction of the viewing window for the video to generate a stabilized trajectory of viewing direction of the viewing window for the video, wherein the stabilized trajectory of viewing direction of the viewing window for the video includes the trajectory of viewing direction of the viewing window for the video that is differently stabilized for the different axes of rotation for the viewing directions of the viewing window; and

generate a stabilized video based on the stabilized viewing trajectory of viewing direction of the viewing window for the video.

11 . The system of claim 10 , wherein the trajectory of viewing direction of the viewing window is identified by a user as a function of progress through the progress length of the video.

12 . The system of claim 11 , wherein the trajectory of viewing direction of the viewing window is identified by the user via user interaction with a touchscreen display.

13 . The system of claim 11 , wherein the trajectory of viewing direction of the viewing window is identified by the user via user rotation of a mobile device.

14 . The system of claim 10 , wherein the stabilized trajectory of viewing direction of the viewing window is generated by smoothing jerkiness or shakiness in the trajectory of viewing direction of the viewing window.

15 . The system of claim 10 , wherein the different axes of rotation for the viewing directions of the viewing window include a yaw axis, a pitch axis, and a roll axis.

16 . The system of claim 15 , wherein the trajectory of viewing direction of the viewing window for the video being differently stabilized for the different axes of rotation for the viewing directions of the viewing window includes stabilization of the trajectory of viewing direction of the viewing window for the video about one of the yaw axis, the pitch axis, or the roll axis being different from stabilization of the trajectory of viewing direction of the viewing window for the video about another of the yaw axis, the pitch axis, and the roll axis.

17 . The system of claim 16 , wherein the stabilized trajectory of viewing direction of the viewing window for the video is generated further based on a viewing size constraint of the viewing window.

18 . The system of claim 17 , wherein the viewing size constraint of the viewing window limits deviation of a viewing size of the viewing window associated with the stabilized trajectory of viewing direction of the viewing window from a viewing size of the viewing window associated with the trajectory of viewing direction of the viewing window.

19 . A system for stabilizing viewing of video content, comprising:

one or more physical processors configured by machine-readable instructions to:

obtain a video having a progress length, wherein the video has been previously captured;

obtain a trajectory of viewing direction of a viewing window for the video, the trajectory of viewing direction of the viewing window including viewing directions of the viewing window for moments within the progress length of the video, the viewing directions of the viewing window characterized by rotations about different axes, wherein the different axes of rotation for the viewing directions of the viewing window include a yaw axis, a pitch axis, and a roll axis;

stabilize the trajectory of viewing direction of the viewing window for the video by smoothing jerkiness or shakiness in the trajectory of viewing direction of the viewing window to generate a stabilized trajectory of viewing direction of the viewing window for the video, wherein the stabilized trajectory of viewing direction of the viewing window for the video includes the trajectory of viewing direction of the viewing window for the video that is differently stabilized for the different axes of rotation for the viewing directions of the viewing window, wherein the trajectory of viewing direction of the viewing window for the video being differently stabilized for the different axes of rotation for the viewing directions of the viewing window includes stabilization of the trajectory of viewing direction for the video about one of the yaw axis, the pitch axis, or the roll axis being different from stabilization of the trajectory of viewing direction of the viewing window for the video about another of the yaw axis, the pitch axis, and the roll axis; and

generate a stabilized video based on the stabilized viewing trajectory of viewing direction of the viewing window for the video.

20 . The system of claim 19 , wherein the trajectory of viewing direction of the viewing window is identified by a user as a function of progress through the progress length of the video via user interaction with a touchscreen display or user rotation of a mobile device.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2023
From: STIMM, DARYL; MACDONALD, WILLIAM EDWARD; SCHWARTZ, KYLER WILLIAM
To: GOPRO, INC.
Reel/Frame 064780/0034 →
Continuity (4)
Continuation 17361070 · Jun 28, 2021
Continuation 16878075 · May 19, 2020
Continuation 16047472 · Jul 27, 2018
Related Publication 20230412788A1 · Dec 21, 2023
References Cited (18)
US 9922398B1 · Jenny · 2018 [cited by examiner]
US 10084962B2 · Kokaram · 2018 [cited by applicant]
US 10097759B1 · Motta · 2018 [cited by examiner]
US 10681332B1 · Stimm · 2020 [cited by applicant]
US 11064181B2 · Stimm · 2021 [cited by applicant]
US 11750790B2 · Stimm · 2023 [cited by applicant]
US 20130127988A1 · Wang · 2013 [cited by applicant]
US 20160253795A1 · Cole · 2016 [cited by applicant]
US 20160313734A1 · Enke · 2016 [cited by applicant]
US 20180063440A1 · Kopf · 2018 [cited by applicant]
US 20180234669A1 · Chen · 2018 [cited by applicant]
US 20180332267A1 · Hesla · 2018 [cited by applicant]
US 20190273902A1 · Varekamp · 2019 [cited by applicant]
US 20190289274A1 · Jenny · 2019 [cited by applicant]
US 20200351485A1 · Stimm · 2020 [cited by applicant]
US 20210329215A1 · Stimm · 2021 [cited by applicant]
Kamali et al., “Stabilizing Omnidirectional Videos Using 3D Structure and Spherical Image Warping”, MVA2011 IAPR Conference on Machine Vision Applications, Jun. 13-15, 2011, Nara, Japan, pp. 177-180. (Year: 2011). [cited by applicant]
Kopf “360 video stabilization: A new algorithm for smoother 360 video viewing” Aug. 31, 2016, Facebook Engineering (Year: 2016) (4 pages). [cited by applicant]