IP Library Granted Patent US 12,556,816
Granted Patent B2
US 12,556,816 · App. 18/028,516 · Granted Feb 17, 2026

Method for generating rotation direction of gyroscope and computer device

Inventors: Pengfei Dong (Shenzhen, CN); Cong Chen (Shenzhen, CN)
Assignee: ARASHI VISION INC.
H04N23/683G01P13/04H04N23/6812H04N23/698G06T2207/10016
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,556,816
App. No.
18/028,516
Granted
Feb 17, 2026
Kind
B2
Abstract

The present application is applicable to the field of video processing, and provides a method for generating a rotation direction of a gyroscope. The method comprises: obtaining an acceleration value and an angular velocity value of an IMU in real time, taking the acceleration value as a first acceleration value, and estimating an attitude from the IMU to a world coordinate system; converting the first acceleration value from an IMU coordinate system to a world coordinate system to obtain a second acceleration value; in the world coordinate system, filtering a second acceleration, and filtering out a gravitational acceleration to obtain a third acceleration; converting the third acceleration into the IMU coordinate system to obtain acceleration components in the X axis, the Y axis and the Z axis of a fourth acceleration; and determining the rotation direction of the gyroscope according to the acceleration components.

Claims (215)

1 . A method for detensioning a rotation direction of a gyroscope, comprising steps of:

obtaining an acceleration value and an angular velocity value of an IMU in real time, determining the acceleration value as a first acceleration value, and estimating an attitude from an IMU coordinate system to a world coordinate system;

converting the first acceleration value from the IMU coordinate system to the world coordinate system to obtain a second acceleration value;

in the world coordinate system, filtering the second acceleration value to remove a gravitational acceleration to obtain a third acceleration value;

converting the third acceleration value into the IMU coordinate system to obtain acceleration components along an X axis, a Y axis and a Z axis of a fourth acceleration value; and

determining a rotation direction of the gyroscope on the basis of the acceleration components along the X axis, the Y axis and the Z axis of the fourth acceleration value,

wherein the step of determining the rotation direction of the gyroscope on the basis of the acceleration components along the X axis, the Y axis and the Z axis of the fourth acceleration comprises:

comparing the acceleration components along the X axis, the Y axis and the Z axis of the fourth acceleration value to determine an axis corresponding to a maximum acceleration component, and determining the rotation direction of the gyroscope as: a direction of a rotation axis when the axis, corresponding to and in the same direction as the maximum acceleration component, rotates towards a camera.

2 . The method according to claim 1 , wherein the step of estimating the attitude from the IMU coordinate system to the world coordinate system comprises a step of estimating the attitude from the IMU coordinate system to the world coordinate system using a Kalman filter.

3 . The method according to claim 2 , wherein the step of estimating the attitude from the IMU coordinate system to the world coordinate system using the Kalman filter comprises: estimating a rotation amount from the IMU coordinate system to the world coordinate system using an Extended Kalman Filtering and on the basis of the acceleration value and the angular velocity value.

4 . The method according to claim 1 , wherein after the step of determining the acceleration value as the first acceleration value, the method further comprises: a step of performing noise reduction on the first acceleration value using a low-pass filter to obtain the first acceleration value

d

i

after low-pass filtering and noise reduction.

5 . The method according to claim 4 , wherein the step of performing noise reduction on the first acceleration value using the low-pass filter to obtain the first acceleration value

d

i

after low-pass filtering and noise reduction comprises:

performing low-pass filtering and noise reduction on the first acceleration value based on formula

d

i

=

α

·

d

i

+

(

1

-

α

)

·

R

1

·

d

i

-

1

,

wherein

,

d

i

 represents the first acceleration value after low-pass filtering and noise reduction at time i, d i represents the first acceleration value at time i, R i is a relative rotation amount of the gyroscope at the i th frame in a video, R i =exp[−ω i ·Δt] x , ω i represents the angular velocity value at time i,

d

i

-

1

 represents the first acceleration value after low-pass filtering and noise reduction at the time (i−1), α represents a smoothing factor,

α

=

Δ

t

Rc

+

Δ

t

,

Rc

=

1

2

π

f

c

,

 where, f c represents a cutoff frequency of the low-pass filter, R c represents a time constant, and Δt represents a sampling interval of gyroscope data.

6 . The method according to claim 5 , wherein the step of converting the first acceleration value from the IMU coordinate system to the world coordinate system to obtain the second acceleration value comprises:

according to the formula

A

w

k

=

R

i

_

w

k

-

1

*

d

i

 at time k, converting the first acceleration value from the IMU coordinate system to the world coordinate system to obtain the second acceleration value

A

w

K

,

where

R

i

_

w

k

 is an estimated rotation amount from the IMU coordinate system to the world coordinate system, and

d

i

 is the first acceleration value after low-pass filtering and noise reduction.

7 . The method according to claim 6 , wherein the step of, in the world coordinate system, filtering the second acceleration value to remove the gravitational acceleration to obtain a third acceleration value comprises:

in the world coordinate system, at time k, filtering the second acceleration value

A

w

K

 to remove the gravitational acceleration, and obtaining the third acceleration value

Acc

w

k

.

8 . The method according to claim 7 , wherein before filtering the second acceleration value, the method further comprises a step of:

in the world coordinate system, at time k, performing noise reduction on the second acceleration value

A

w

K

.

9 . The method according to claim 1 , wherein the step of converting the third acceleration value into the IMU coordinate system to obtain acceleration components along the X axis, the Y axis and the Z axis of the fourth acceleration value comprises:

calculating the fourth acceleration value

Acc

imu

k

 according to a formula:

Acc

imu

k

=

R

i

_

w

k

-

1

Acc

w

k

,

where

R

i

_

w

k

-

1

 is a rotation matrix from the world coordinate system to the IMU coordinate system at time k, and

A

c

c

w

k

 is the third acceleration value.

10 . The method according to claim 1 , wherein after the step of determining the rotation direction of the gyroscope on the basis of the acceleration components along the X axis, the Y axis and the Z axis of the fourth acceleration value, the method further comprises steps of:

determining the rotation direction of the gyroscope as a rotation direction of the camera, and determining a positional relationship between the camera and the rotation axis on the basis of the rotation direction of the gyroscope.

11 . A non-transitory computer-readable storage medium, the computer-readable storage medium storing a computer program, which when being executed by a processor, cause the processor to perform the steps of the method of claim 1 .

12 . A computer device, comprising:

one or more processors;

a memory; and

one or more computer programs, the processors and the memory being connected by a bus, wherein the one or more computer programs are stored in the memory, which when being executed by the one or more processors, cause the one or more processors to perform the steps of the method of claim 1 .

13 . A method for obtaining a bullet-time photography effect, comprising steps of:

capturing a panoramic video using a camera to rotate around a shooting target;

obtaining an acceleration value and an angular velocity value of an IMU in real time;

determining the acceleration value as a first acceleration value, and estimating an attitude from an IMU coordinate system to a world coordinate system;

converting the first acceleration value from the IMU coordinate system to the world coordinate system to obtain a second acceleration value;

in the world coordinate system, filtering the second acceleration value to remove a gravitational acceleration to obtain a third acceleration value;

converting the third acceleration value into the IMU coordinate system to obtain acceleration components along the X axis, the Y axis and the Z axis of a fourth acceleration value; and

determining a rotation direction of the gyroscope on the basis of the acceleration components along a X axis, a Y axis and a Z axis of the fourth acceleration value; and

generating images corresponding to the rotation direction of the gyroscope in the panoramic video on the basis of the rotation direction of the gyroscope,

wherein the step of determining the rotation direction of the gyroscope on the basis of the acceleration components along the X axis, the Y axis and the Z axis of the fourth acceleration comprises:

comparing the acceleration components along the X axis, the Y axis and the Z axis of the fourth acceleration value to determine an axis corresponding to a maximum acceleration component, and determining the rotation direction of the gyroscope as: a direction of a rotation axis when the axis, corresponding to and in the same direction as the maximum acceleration component, rotates towards a camera.

14 . A camera, comprising:

one or more processors;

a memory; and

one or more computer programs, the processors and the memory being connected by a bus, wherein the one or more computer programs are stored in the memory and configured to be executed by the one or more processors, which when being executed by the one or more processors, cause the one or more processors to perform a method for determining a rotation direction of a gyroscope, comprising steps of:

obtaining an acceleration value and an angular velocity value of an IMU in real time, determining the acceleration value as a first acceleration value, and estimating an attitude from an IMU coordinate system to a world coordinate system;

converting the first acceleration value from the IMU coordinate system to the world coordinate system to obtain a second acceleration value;

in the world coordinate system, filtering the second acceleration value to remove a gravitational acceleration to obtain a third acceleration value;

converting the third acceleration value into the IMU coordinate system to obtain acceleration components along a X axis, a Y axis and a Z axis of a fourth acceleration value; and

determining a rotation direction of the gyroscope on the basis of the acceleration components along the X axis, the Y axis and the Z axis of the fourth acceleration value,

wherein the step of determining the rotation direction of the gyroscope on the basis of the acceleration components along the X axis, the Y axis and the Z axis of the fourth acceleration comprises:

comparing the acceleration components along the X axis, the Y axis and the Z axis of the fourth acceleration value to determine an axis corresponding to a maximum acceleration component, and determining the rotation direction of the gyroscope as: a direction of a rotation axis when the axis, corresponding to and in the same direction as the maximum acceleration component, rotates towards a camera.

15 . A non-transitory computer-readable medium having computer programs stored thereon, which when being executed by a processor, cause the processor to perform the steps of the method of claim 13 .

16 . A computer device, comprising:

one or more processors;

a memory; and

one or more computer programs, the processors and the memory being connected by a bus, wherein the one or more computer programs are stored in the memory, which when being executed by the one or more processors, cause the one or more processors to perform the steps of the method of claim 13 .

17 . A camera, comprising:

one or more processors;

a memory; and

one or more computer programs, the processors and the memory being connected by a bus, wherein the one or more computer programs are stored in the memory and configured to be executed by the one or more processors, which when being executed by the one or more processors, cause the one or more processors to perform the steps of the method of claim 13 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2023
From: DONG, PENGFEI; CHEN, CONG
To: ARASHI VISION INC.
Reel/Frame 063099/0566 →
Priority Claims (1)
CN 202011018567.3 · Sep 24, 2020 · national
Continuity (1)
Related Publication 20230362317A1 · Nov 9, 2023
References Cited (25)
US 5794078A · Okazaki · 1998 [cited by applicant]
US 8781737B2 · Czompo · 2014 [cited by examiner]
US 10124210B2 · Mather · 2018 [cited by examiner]
US 20110218753A1 · Ddagawa et al. · 2011 [cited by applicant]
CN 101109959A · 2008 [cited by applicant]
CN 103278177A · 2013 [cited by applicant]
CN 106959110A · 2017 [cited by applicant]
CN 107801014A · 2018 [cited by applicant]
CN 108458714A · 2018 [cited by applicant]
CN 109540126A · 2019 [cited by applicant]
CN 109798891A · 2019 [cited by applicant]
CN 110383002A · 2019 [cited by applicant]
CN 110702107A · 2020 [cited by applicant]
CN 110887506A · 2020 [cited by applicant]
CN 110972112A · 2020 [cited by applicant]
CN 112188037A · 2021 [cited by applicant]
JP 2017187506A · 2017 [cited by applicant]
WO 2017038541A1 · 2017 [cited by applicant]
WO WO2019119597A1 · 2019 [cited by examiner]
WO 2019221763A1 · 2019 [cited by applicant]
Chillian et al., “Multisensor Data Fusion for Robust Pose Estimation of a Six-Legged Walking Robot ”, 2011, IEEE Publication, pp. 2497-2504 (Year: 2011). [cited by examiner]
Wang et al., “CamSwarm: Instantaneous Smartphone Camera Arrays for Collaborative Photography”, Jul. 9, 2015, ARXIV Publication, pp. 1-8 (Year: 2015). [cited by examiner]
English translation of WO-2019119597-A1 (Year: 2019). [cited by examiner]
Shanshan Du, Hao Wu, Jiwen Zhang, Wujian Ma, “Kind of Improving Compensation Filter Algorithm for AHRS”, Foreign Electronic Measurement Technology of Chinese Science Technology Core Journal, Mar. 15, 2015, pp. 13-18, vo… [cited by applicant]
Communication pursuant to Article 94(3) EPC mailed Sep. 8, 2025, in European Application No. 21871590.2, 5 pages. [cited by applicant]