IP Library › Granted Patent US 12,555,295
Granted Patent B2
US 12,555,295 · App. 18/027,865 · Granted Feb 17, 2026

Image processing method for a virtual subject, electronic device, and storage medium

Inventors: Liyou Xu (Beijing, CN); Siyuan Wang (Beijing, CN)
Assignee: BEIJING ZITIAO NETWORK TECHNOLOGY CO., LTD.
G06T13/40G06T7/50G06T7/60G06T19/00G06T2207/20044G06T2210/21
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,555,295
App. No.
18/027,865
Granted
Feb 17, 2026
Kind
B2
Abstract

Provided are an image processing method and apparatus, an electronic device, and a storage medium. The method includes dividing a target virtual subject in a to-be-processed video frame into multiple skeleton chains, where each of the multiple skeleton chains includes at least one skeleton point; determining collision information between at least one skeleton point in the multiple skeleton chains and a colliding body and determining target display information of the at least one skeleton point in the to-be-processed video frame according to the collision information; and controlling the target virtual subject to be displayed in the to-be-processed video frame according to the target display information of the at least one skeleton point.

Claims (80)

1 . An image processing method, comprising:

dividing a skeleton model of a target virtual subject in a to-be-processed video frame into a plurality of skeleton chains, wherein each of the plurality of skeleton chains comprises at least one skeleton point;

determining collision information between at least one skeleton point in the plurality of skeleton chains and a colliding body and determining target display information of the at least one skeleton point in the to-be-processed video frame according to the collision information; and

controlling the target virtual subject to be displayed in the to-be-processed video frame according to the target display information of the at least one skeleton point;

wherein dividing the target virtual subject in the to-be-processed video frame into the plurality of skeleton chains comprises:

dividing the target virtual subject into a plurality of detection parts according to a preset part division rule; and

determining the plurality of skeleton chains of the skeleton model corresponding to the plurality of detection parts; and

wherein controlling the target virtual subject to be displayed in the to-be-processed video frame according to the target display information of the at least one skeleton point comprises:

rendering the target virtual subject in the to-be-processed video frame according to an adjusted target display position of the at least one skeleton point.

2 . The method of claim 1 , wherein determining the collision information between the at least one skeleton point in the plurality of skeleton chains and the colliding body comprises:

determining at least one target colliding body corresponding to the target virtual subject and a corresponding colliding-body type; and

determining collision information between the at least one skeleton point and the at least one target colliding body according to the at least one skeleton point and the colliding-body type.

3 . The method of claim 2 , wherein the colliding-body type is a spherical colliding body, and determining the collision information between the at least one skeleton point and the at least one target colliding body according to the at least one skeleton point and the colliding-body type comprises:

for two adjacent skeleton points in a same skeleton chain of the plurality of skeleton chains in a first direction, determining collision information between the two adjacent skeleton points and a target colliding body of the at least one target colliding body according to the target colliding body, a first colliding body to which a parent skeleton point belongs, and a second colliding body to which a child skeleton point belongs, wherein

the parent skeleton point is a skeleton point away from the first direction, and the child skeleton point is a skeleton point pointed to by the first direction.

4 . The method of claim 3 , wherein determining the collision information between the two adjacent skeleton points and the target colliding body according to the target colliding body, the first colliding body to which the parent skeleton point belongs, and the second colliding body to which the child skeleton point belongs comprises:

for the parent skeleton point, determining a first sphere center distance between the first colliding body and the target colliding body and determining collision information between the target colliding body and at least one of the parent skeleton point or the child skeleton point according to the first sphere center distance and a target sphere radius of the target colliding body; and

for the child skeleton point, determining a second sphere center distance between the second colliding body and the target colliding body and determining collision information between the child skeleton point and the target colliding body according to the second sphere center distance, the target sphere radius, and a second sphere radius of the second colliding body.

5 . The method of claim 4 , wherein determining collision information between the parent skeleton point and the target colliding body according to the first sphere center distance and the target sphere radius of the target colliding body comprises:

in response to determining that the first sphere center distance is less than the target sphere radius, determining that collision information of the parent skeleton point is first collision information, wherein the first collision information is that the parent skeleton point is inside the target colliding body; and

in response to determining that the first sphere center distance is greater than the target sphere radius, determining that collision information of the child skeleton point is second collision information, wherein the second collision information is that the child skeleton point is inside the target colliding body.

6 . The method of claim 5 , wherein determining the target display information of the at least one skeleton point in the to-be-processed video frame according to the collision information comprises:

in response to determining that the collision information is the first collision information, adjusting a target display position of the parent skeleton point in the to-be-processed video frame according to target sphere center coordinates of the target colliding body, first sphere center coordinates of the first colliding body, second sphere center coordinates of the second colliding body, and a first sum radius, wherein

the parent skeleton point corresponds to the first sphere center coordinates, the child skeleton point corresponds to the second sphere center coordinates, and the target display information contains the target display position.

7 . The method of claim 5 , wherein determining the target display information of the at least one skeleton point in the to-be-processed video frame according to the collision information comprises:

in response to determining that the collision information is the second collision information, determining target display information of the child skeleton point in the to-be-processed video frame according to a first sum radius, the first sphere center distance, first sphere center coordinates of the parent skeleton point, and second sphere center coordinates of the child skeleton point.

8 . The method of claim 7 , wherein determining the target display information of the child skeleton point in the to-be-processed video frame according to the first sum radius, the first sphere center distance, the first sphere center coordinates of the parent skeleton point, and the second sphere center coordinates of the child skeleton point comprises:

determining a first transition value according to the first sphere center distance, the first sum radius, and a third sphere center distance between the first sphere center coordinates and the second sphere center coordinates;

determining a first unit vector according to the first sphere center coordinates and target sphere center coordinates;

determining a second transition value according to the first transition value, the first sphere center coordinates, and the first unit vector; and

determining the target display information according to the second transition value, the first unit vector, and the second sphere center coordinates.

9 . The method of claim 8 , wherein determining the target display information according to the second transition value, the first unit vector, and the second sphere center coordinates comprises:

determining a third transition value according to the first sphere center distance, the third sphere center distance, and the first sum radius;

determining a fourth transition value according to the third transition value, the second sphere center coordinates, the first unit vector, and a second unit vector obtained from the second transition value and the second sphere center coordinates; and

determining the target display information of the child skeleton point according to the fourth transition value, the second transition value, and the third transition value.

10 . The method of claim 4 , wherein determining the collision information between the child skeleton point and the target colliding body according to the second sphere center distance, the target sphere radius, and the second sphere radius of the second colliding body comprises:

determining a first sum radius according to the target sphere radius and the second sphere radius;

in response to determining that the second sphere center distance is greater than the first sum radius, determining that the collision information is third collision information, wherein the third collision information is that the child skeleton point is not in collision with the target colliding body; and

in response to determining that the second sphere center distance is less than the first sum radius, determining that the collision information is second collision information, wherein the second collision information is that the child skeleton point is inside the target colliding body.

11 . The method of claim 10 , wherein determining the target display information of the at least one skeleton point in the to-be-processed video frame according to the collision information comprises:

in response to determining that the collision information is the second collision information, determining target display information of the child skeleton point in the to-be-processed video frame according to a first sum radius, the first sphere center distance, first sphere center coordinates of the parent skeleton point, and second sphere center coordinates of the child skeleton point.

12 . The method of claim 2 , wherein the colliding-body type is a cubic colliding body, and determining the collision information between the at least one skeleton point and the at least one target colliding body according to the at least one skeleton point and the colliding-body type comprises:

for a skeleton point in a same skeleton chain of the plurality of skeleton chains in a first direction, determining collision information between the skeleton point in the first direction and a target colliding body of the at least one target colliding body according to child coordinates of the skeleton point and a preset function.

13 . The method of claim 12 , wherein determining the collision information between the skeleton point in the first direction and the target colliding body according to the child coordinates of the skeleton point and the preset function comprises:

determining depth values of the skeleton point in a plurality of dimensions according to the child coordinates and the preset function; and

in response to determining that a maximum depth value of the depth values is less than a preset value, determining that the collision information between the skeleton point in the first direction and the target colliding body is fourth collision information.

14 . The method of claim 13 , wherein determining the target display information of the at least one skeleton point in the to-be-processed video frame according to the collision information comprises:

in response to determining that the collision information is the fourth collision information, determining the target display information of the at least one skeleton point in the to-be-processed video frame according to parent coordinate information of a parent skeleton point on which the skeleton point is dependent, the child coordinates, and length information of the target colliding body in a plurality of dimensions.

15 . The method of claim 1 , wherein after a current skeleton point is inside a target colliding body and after determining target display information corresponding to the current skeleton point, the method further comprises:

determining a target displacement according to the target display information and initial position information of the current skeleton point;

acquiring target display information of at least one to-be-used skeleton point belonging to a same skeleton chain as the current skeleton point and associated with the current skeleton point in a direction opposite to a first direction and using target display information of the at least one to-be-used skeleton point as to-be-used target display information;

determining rotation angles of the at least one to-be-used skeleton point and the current skeleton point according to the initial position information, the target display information and the target displacement of the current skeleton point and the to-be-used target display information;

determining an offset angle of the at least one to-be-used skeleton point according to the rotation angles and a preset correction rate; and

updating target display information of the current skeleton point and the at least one to-be-used skeleton point in the to-be-processed video frame according to the offset angle of the at least one to-be-used skeleton point and a rotation angle of the current skeleton point.

16 . The method of claim 15 , further comprising:

in response to determining that the current skeleton point is an Nth consecutive skeleton point inside the target colliding body and in the skeleton chain, when determining a rotation angle of a next skeleton point of the current skeleton point, using the next skeleton point as an initial skeleton point, wherein

N is a preset value, and the initial skeleton point is a skeleton point whose rotation angle is not determined depending on the target display information of the at least one to-be-used skeleton point.

17 . The method of claim 15 , further comprising:

in response to determining that a to-be-used skeleton point belonging to the same skeleton chain as the current skeleton point and located before the current skeleton point in the direction opposite to the first direction is not inside the target colliding body, using the current skeleton point as an initial skeleton point.

18 . An electronic device, comprising:

one or more processors, and

a storage apparatus configured to store one or more programs,

wherein the one or more processors are configured to perform steps:

dividing a skeleton model of a target virtual subject in a to-be-processed video frame into a plurality of skeleton chains, wherein each of the plurality of skeleton chains comprises at least one skeleton point;

determining collision information between at least one skeleton point in the plurality of skeleton chains and a colliding body and determining target display information of the at least one skeleton point in the to-be-processed video frame according to the collision information; and

controlling the target virtual subject to be displayed in the to-be-processed video frame according to the target display information of the at least one skeleton point;

wherein dividing the target virtual subject in the to-be-processed video frame into the plurality of skeleton chains comprises:

dividing the target virtual subject into a plurality of detection parts according to a preset part division rule; and

determining the plurality of skeleton chains of the skeleton model corresponding to the plurality of detection parts; and

wherein controlling the target virtual subject to be displayed in the to-be-processed video frame according to the target display information of the at least one skeleton point comprises:

rendering the target virtual subject in the to-be-processed video frame according to an adjusted target display position of the at least one skeleton point.

19 . A non-transitory storage medium containing computer-executable instructions, which when executed by a computer processor, cause the processor to perform steps:

dividing a skeleton model of a target virtual subject in a to-be-processed video frame into a plurality of skeleton chains, wherein each of the plurality of skeleton chains comprises at least one skeleton point;

determining collision information between at least one skeleton point in the plurality of skeleton chains and a colliding body and determining target display information of the at least one skeleton point in the to-be-processed video frame according to the collision information; and

controlling the target virtual subject to be displayed in the to-be-processed video frame according to the target display information of the at least one skeleton point;

wherein dividing the target virtual subject in the to-be-processed video frame into the plurality of skeleton chains comprises:

dividing the target virtual subject into a plurality of detection parts according to a preset part division rule; and

determining the plurality of skeleton chains of the skeleton model corresponding to the plurality of detection parts; and

wherein controlling the target virtual subject to be displayed in the to-be-processed video frame according to the target display information of the at least one skeleton point comprises:

rendering the target virtual subject in the to-be-processed video frame according to an adjusted target display position of the at least one skeleton point.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2023
From: BEIJING OCEAN ENGINE NETWORK TECHNOLOGY CO., LTD.
To: BEIJING ZITIAO NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 064032/0205 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2023
From: DOUYIN VISION CO., LTD.
To: BEIJING ZITIAO NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 064032/0298 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: XU, LIYOU
To: BEIJING OCEAN ENGINE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 063978/0266 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: WANG, SIYUAN
To: DOUYIN VISION CO., LTD.
Reel/Frame 063978/0343 →
Priority Claims (1)
CN 202210837536.3 · Jul 15, 2022 · national
Continuity (1)
Related Publication 20240378784A1 · Nov 14, 2024
References Cited (17)
US 20020196258A1 · Lake · 2002 [cited by examiner]
US 20140334670A1 · Guigues et al. · 2014 [cited by applicant]
US 20190070505A1 · Ratelle · 2019 [cited by examiner]
US 20210390750A1 · Ohashi · 2021 [cited by applicant]
CN 105976418A · 2016 [cited by applicant]
CN 108133505A · 2018 [cited by applicant]
CN 108984087A · 2018 [cited by applicant]
CN 111589125A · 2020 [cited by applicant]
CN 112001989A · 2020 [cited by applicant]
CN 112562072A · 2021 [cited by applicant]
CN 114602177A · 2022 [cited by applicant]
CN 114742952A · 2022 [cited by applicant]
CN 115131478A · 2022 [cited by applicant]
WO 2022021686A1 · 2022 [cited by applicant]
International Search Report and Written Opinion in PCT/CN2022/129460, mailed Apr. 10, 2023, 9 pages. [cited by applicant]
Extended European Search Report received for European Patent Application No. 22868422.1, mailed on Apr. 24, 2024, 4 pages. [cited by applicant]
Office Action for Chinese Patent Application No. 202210837536.3, mailed on Feb. 24, 2025, 15 pages. [cited by applicant]