IP Library Granted Patent US 12,524,849
Granted Patent B2
US 12,524,849 · App. 18/472,001 · Granted Jan 13, 2026

Method for video anti-shake processing, electronic apparatus, and storage medium

Inventors: Song Yang (Beijing, CN); Yulong Liu (Beijing, CN)
Assignee: BEIJING ZITIAO NETWORK TECHNOLOGY CO., LTD.
G06T5/70G06T7/73G06T2207/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,524,849
App. No.
18/472,001
Granted
Jan 13, 2026
Kind
B2
Abstract

An embodiment of the present disclosure relates to a method for video anti-shake processing, an electronic apparatus and a storage medium, and the method includes: determining a moving track of a shooting position of a video by performing feature point tracking between different image frames in the video, wherein the moving track indicates shooting positions of the different image frames in the video; performing smoothing processing on a shooting position of each of the different image frames in the moving track, to obtain a smooth track; deforming the video based on a difference between the smooth track and the moving track, to obtain an anti-shake processed video, wherein at least one of the moving track and the smooth track is dynamically determined for the different image frames in the video.

Claims (66)

1 . A method for video anti-shake processing, comprising:

determining a moving track of a shooting position of a video by performing feature point tracking between different image frames in the video, wherein the moving track indicates shooting positions of the different image frames in the video;

performing smoothing processing on a shooting position of each image frame of the different image frames in the moving track, to obtain a smooth track; and

deforming the video based on a difference between the smooth track and the moving track, to obtain an anti-shake processed video,

wherein the smooth track is dynamically determined for the different image frames in the video, and

said performing smoothing processing on the shooting position of each image frame of the different image frames in the moving track to obtain the smooth track comprises:

performing smoothing processing on the shooting position of each image frame of the different image frames in the moving track based on a smooth radius corresponding to the image frame in the video to obtain the smooth track, wherein the smooth radius corresponding to each image frame of the different image frames in the video is determined based on a number interval into which the number of the feature points used for tracking in the image frame in the video falls, and a correspondence between number intervals and smooth radii.

2 . The method according to claim 1 , wherein said performing smoothing processing on the shooting position of each image frame of the different image frames in the moving track based on the smooth radius corresponding to the image frame in the video to obtain the smooth track comprises:

determining, based on the smooth radius corresponding to each frame of image in the video, a preset number of frames of images involved in each smoothing processing from the video; and

performing, based on the shooting positions of the preset number of frames of images involved in each smoothing processing in the moving track, smoothing processing on the shooting position of each frame of image in the moving track, to obtain the smooth track.

3 . The method according to claim 2 , wherein said determining, based on the smoothing radius corresponding to each frame of image in the video, the preset number of frames of images involved in each smoothing processing from the video comprises:

based on the smooth radius corresponding to each frame of image in the video, determining a first preset number of previous frames of images before the frame of image from the video; and determining each frame of image and the first preset number of previous frames of images as the preset number of frames of images involved in each smoothing processing from the video; or

based on the smooth radius corresponding to each frame of image in the video, determining a second preset number of previous frames of images before the frame of image from the video, and determining the second preset number of subsequent frames of images after the frame of image from the video; and determining each frame of image, the second preset number of previous frames of images and the second preset number of subsequent frames of images as the preset number of frames of images involved in each smoothing processing from the video.

4 . The method according to claim 2 , wherein said performing, based on the shooting positions of the preset number of frames of images involved in each smoothing processing in the moving track, smoothing processing on the shooting position of each frame of image in the moving track to obtain the smooth track comprises:

performing, based on the shooting positions of the preset number of frames of images involved in each smoothing processing in the moving track, weighted summation calculation on the shooting positions, to obtain a smooth position for each frame of image; and

obtaining the smooth track based on the smooth position for each frame of image.

5 . The method according to claim 1 , wherein the moving track is represented by transformation matrices, and different transformation matrices in the moving track respectively represent the shooting positions of the different image frames in the video, and

said determining the moving track of the shooting position of the video by performing feature point tracking between the different image frames in the video comprises:

determining a transformation matrix between the shooting positions of the different image frames in the video by performing feature point tracking between the different image frames in the video, and determining the moving track of the shooting position of the video based on the transformation matrix between the shooting positions of the different image frames in the video.

6 . The method according to claim 1 , wherein said deforming the video based on the difference between the smooth track and the moving track to obtain the anti-shake processed video comprises:

determining an adjustment parameter based on the difference between the smooth track and the moving track; and

deforming the video based on the adjustment parameter to obtain the anti-shake processed video.

7 . The method according to claim 1 , wherein the moving track is dynamically determined for the different image frames in the video, and

said determining the moving track of the shooting position of the video by performing feature point tracking between the different image frames in the video comprises:

determining an initial change amount between the shooting positions of the different image frames in the video based on an initial transformation mode by performing feature point tracking between the different image frames in the video;

determining a target change amount between the shooting positions of the different image frames in the video based on a target transformation mode matching a fitting error corresponding to the initial change amount; and

forming the moving track of the shooting position of the video based on the target change amount between the shooting positions of the different image frames in the video, wherein the moving track indicates the shooting positions of the different image frames in the video.

8 . The method according to claim 7 , further comprising:

performing coordinate transformation on a feature point on a previous frame of image among the different image frames based on the initial transformation mode, to obtain a transformation coordinate of the feature point on the previous frame of image; and

calculating the fitting error corresponding to the initial change amount between the shooting positions of the different image frames based on an image coordinate of the feature point on a subsequent frame of image among the different image frames and the transformation coordinate of the feature point on the previous frame of image.

9 . The method according to claim 8 , wherein said calculating the fitting error corresponding to the initial change amount between the shooting positions of the different image frames based on the image coordinate of the feature point on the subsequent frame of image among the different image frames and the transformation coordinate of the feature point on the previous frame of image comprises:

calculating an accumulated error corresponding to the initial change amount between the shooting positions of the different image frames, based on image coordinates of feature points on the subsequent frame of image among the different image frames and transformation coordinates of feature points on the previous frame of image; and

calculating the fitting error corresponding to the initial change amount between the shooting positions of the different image frames, based on the accumulated error and the number of the feature points on the previous frame of image.

10 . The method according to claim 7 , wherein said determining the target change amount between the shooting positions of the different image frames in the video based on the target transformation mode matching the fitting error corresponding to the initial change amount comprises:

when the fitting error corresponding to the initial change amount is smaller than a first error threshold, determining the initial transformation mode as the target transformation mode matching the fitting error, and determining the target change amount between the shooting positions of the different image frames in the video based on the target transformation mode; or

when the fitting error corresponding to the initial change amount is greater than or equal to the first error threshold and smaller than a second error threshold, determining a first transformation mode with a smaller degree of freedom than the initial transformation mode as the target transformation mode matching the fitting error, and determining the target change amount between the shooting positions of the different image frames in the video based on the target transformation mode; or

when the fitting error corresponding to the initial change amount is greater than or equal to the second error threshold, determining a second transformation mode with a smaller degree of freedom than the first transformation mode as the target transformation mode matching the fitting error, and determining the target change amount between the shooting position of the different image frames in the video based on the target transformation mode.

11 . The method according to claim 10 , wherein the initial transformation mode comprises a homography transformation mode, the first transformation mode comprises an affine transformation mode, and the second transformation mode comprises a similarity transformation mode.

12 . The method according to claim 7 , wherein the initial change amount or the target change amount is represented by a transformation matrix, and

said forming the moving track of the shooting position of the video based on the target change amount between the shooting positions of the different image frames in the video comprises:

determining a transformation matrix of each frame of image in the video relative to a first frame of image based on the target transformation matrix between shooting positions of the different image frames in the video; and

forming the moving track of the shooting position of the video based on the transformation matrix of each frame of image in the video relative to the first frame of image.

13 . An electronic device, comprising a memory and a processor, wherein the memory has a computer program stored thereon, the computer program, when executed by the processor, causes the electronic device to implement a method for video anti-shake progressing, the method comprising:

determining a moving track of a shooting position of a video by performing feature point tracking between different image frames in the video, wherein the moving track indicates shooting positions of the different image frames in the video;

performing smoothing processing on a shooting position of each image frame of the different image frames in the moving track, to obtain a smooth track; and

deforming the video based on a difference between the smooth track and the moving track, to obtain an anti-shake processed video,

wherein the smooth track is dynamically determined for the different image frames in the video, and

said performing smoothing processing on the shooting position of each image frame of the different image frames in the moving track to obtain the smooth track comprises:

performing smoothing processing on the shooting position of each image frame of the different image frames in the moving track based on a smooth radius corresponding to the image frame in the video to obtain the smooth track, wherein the smooth radius corresponding to each image frame of the different image frames in the video is determined based on a number interval into which the number of the feature points used for tracking in the image frame in the video falls, and a correspondence between number intervals and smooth radii.

14 . The electronic device according to claim 13 , wherein the moving track is dynamically determined for the different image frames in the video, and

said determining the moving track of the shooting position of the video by performing feature point tracking between the different image frames in the video comprises:

determining an initial change amount between the shooting positions of the different image frames in the video based on an initial transformation mode by performing feature point tracking between the different image frames in the video;

determining a target change amount between the shooting positions of the different image frames in the video based on a target transformation mode matching a fitting error based on the fitting error corresponding to the initial change amount; and

forming the moving track of the shooting position of the video based on the target change amount between the shooting positions of the different image frames in the video, wherein the moving track indicates the shooting positions of the different image frames in the video.

15 . A non-volatile computer readable storage medium, having a computer program stored thereon, the computer program, when executed by a computing device, causes the computing device to implement a method for video anti-shake progressing, the method comprising:

determining a moving track of a shooting position of a video by performing feature point tracking between different image frames in the video, wherein the moving track indicates shooting positions of the different image frames in the video;

performing smoothing processing on a shooting position of each image frame of the different image frames in the moving track, to obtain a smooth track; and

deforming the video based on a difference between the smooth track and the moving track, to obtain an anti-shake processed video,

wherein the smooth track is dynamically determined for the different image frames in the video, and

said performing smoothing processing on the shooting position of each image frame of the different image frames in the moving track to obtain the smooth track comprises:

performing smoothing processing on the shooting position of each image frame of the different image frames in the moving track based on a smooth radius corresponding to the image frame in the video to obtain the smooth track, wherein the smooth radius corresponding to each image frame of the different image frames in the video is determined based on a number interval into which the number of the feature points used for tracking in the image frame in the video falls, and a correspondence between number intervals and smooth radii.

16 . The non-volatile computer readable storage medium according to claim 15 , wherein the moving track is dynamically determined for the different image frames in the video, and

said determining the moving track of the shooting position of the video by performing feature point tracking between the different image frames in the video comprises:

determining an initial change amount between the shooting positions of the different image frames in the video based on an initial transformation mode by performing feature point tracking between the different image frames in the video;

determining a target change amount between the shooting positions of the different image frames in the video based on a target transformation mode matching a fitting error based on the fitting error corresponding to the initial change amount; and

forming the moving track of the shooting position of the video based on the target change amount between the shooting positions of the different image frames in the video, wherein the moving track indicates the shooting positions of the different image frames in the video.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2023
From: YANG, SONG
To: BEIJING YOUZHUJU NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 065690/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2023
From: LIU, YULONG
To: BEIJING ZITIAO NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 065690/0942 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2023
From: BEIJING YOUZHUJU NETWORK TECHNOLOGY CO., LTD.
To: BEIJING ZITIAO NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 065690/0947 →
Priority Claims (2)
CN 202110379627.2 · Apr 8, 2021 · national
CN 202110379651.6 · Apr 8, 2021 · national
Continuity (3)
Continuation In Part PCTCN2022085634 · Apr 7, 2022
Continuation In Part PCTCN2022085382 · Apr 6, 2022
Related Publication 20240013347A1 · Jan 11, 2024
References Cited (46)
US 5982421A · Inou · 1999 [cited by examiner]
US 10074015B1 · Grundmann et al. · 2018 [cited by applicant]
US 20050275727A1 · Lai et al. · 2005 [cited by applicant]
US 20090066799A1 · Whitcombe · 2009 [cited by examiner]
US 20090316010A1 · Nomura · 2009 [cited by examiner]
US 20120108292A1 · Zhong · 2012 [cited by examiner]
US 20130120600A1 · Jin et al. · 2013 [cited by applicant]
US 20140132786A1 · Saitwal et al. · 2014 [cited by applicant]
US 20140362240A1 · Klivington et al. · 2014 [cited by applicant]
US 20150256755A1 · Wu et al. · 2015 [cited by applicant]
US 20150326785A1 · Tsubaki · 2015 [cited by examiner]
US 20160140695A1 · Yuan et al. · 2016 [cited by applicant]
US 20180077353A1 · Chen · 2018 [cited by examiner]
US 20190260936A1 · Imanishi · 2019 [cited by examiner]
US 20220122230A1 · Wang · 2022 [cited by examiner]
CN 103139568A · 2013 [cited by applicant]
CN 103813099A · 2014 [cited by applicant]
CN 105049678A · 2015 [cited by applicant]
CN 105450907A · 2016 [cited by applicant]
CN 105791705A · 2016 [cited by applicant]
CN 106878612A · 2017 [cited by applicant]
CN 108564554A · 2018 [cited by applicant]
CN 108596858A · 2018 [cited by applicant]
CN 108632501A · 2018 [cited by applicant]
CN 109089015A · 2018 [cited by applicant]
CN 106101535B · 2019 [cited by examiner]
CN 110047091A · 2019 [cited by applicant]
CN 110139031A · 2019 [cited by applicant]
CN 110415186A · 2019 [cited by applicant]
CN 110519507A · 2019 [cited by applicant]
CN 110753181A · 2020 [cited by applicant]
CN 111225155A · 2020 [cited by applicant]
CN 111901678A · 2020 [cited by applicant]
WO 2014092193A1 · 2014 [cited by applicant]
WO 2018223381A1 · 2018 [cited by applicant]
Alluri, Usha Kalyani. “Robust Video Stabilization and Quality Evaluation for Amateur Videos.” (2016). [cited by examiner]
Ying et al., “Research of Long Connection Cloud Push Service Based on Android Platform,” China Computer & Communication, Article No. 1007-9767-(2017) 18-044-04, 4 pages, (English Translation of Abstract only). [cited by applicant]
First Office Action and Search Report in CN202110379627.2, mailed Aug. 30, 2023, 7 pages. [cited by applicant]
First Office Action and Search Report in CN202110379651.6, mailed Sep. 8, 2023, 7 pages. [cited by applicant]
Guo, Heng, “Research on Digital Video Stabilization Algorithm based on Android Platform,” Master Thesis, University of Electronic Science and Technology of China, 2018, 75 pages. [cited by applicant]
International Search Report in PCT/CN2022/085382, mailed Jul. 6, 2022, 3 pages. [cited by applicant]
Wu et al., “Electronic Image Stabilization Algorithm Based on Harris Corner and Modified Hu-moments,” Computer Engineering, Mar. 2013, vol. 39, No. 3, 7 pages. [cited by applicant]
Xie et al., “A Robust and Efficient Video Anti-shaking Algorithm for Low-end Smartphone Platforms,” IEEE Transactions on Consumer Electronics, 2018, pp. 1-10. [cited by applicant]
Xiong et al., “A video stabilization algorithm based on feature tracking and mesh path motion,” Computer Engineering & Science, May 2020, vol. 42, No. 5, pp. 843-850. [cited by applicant]
Yin, Ya-Nan, “Video Monitoring Image de Jitter Visual Monitoring Algorithm Optimization Simulation,” China Academic Journal, Sep. 2017, vol. 34, No. 9, pp. 450-454. [cited by applicant]
International Search Report in PCT/CN2022/085634, mailed Jul. 12, 2022, 3 pages. [cited by applicant]