Animation video processing method, device, equipment and storage medium

By splitting the character materials of the animation video into bone data, animation data and character skin information, and realizing the reuse of character types, the efficiency and complexity of character material customization in animation video production is solved, and the production efficiency and diversity are improved.

CN115115753BActive Publication Date: 2025-06-27TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210603271.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-30
Publication Date
2025-06-27
Estimated Expiration
2042-05-30

AI Technical Summary

Technical Problem

When making animated videos, a large amount of character material needs to be customized for each animation character, resulting in low production efficiency and high complexity.

Method used

By splitting the character material of animated characters into bone data, animation data and character skin information, and pre-creating a character material library to achieve character type reuse. The specific steps include obtaining character description information, determining the matching skeleton and animation data, selecting candidate animation data, and generating an animation video based on these data.

Benefits of technology

It improves the production efficiency of animated videos, reduces the production complexity, and enhances the personalization and diversity of animated characters through character skin information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115115753B_ABST
    Figure CN115115753B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose an animated video processing method, apparatus, device, and storage medium. Among them, the method includes: obtaining character description information of a first animated character to be added to an initial animated video; the character description information includes character skin information and a target character type; determining, from a character material library, bone data matching the target character type and an animation data set matching the target character type; selecting candidate animation data from the animation data set corresponding to the target character type as the target animation data of the first animated character; and adding the first animated character to the initial animated video according to the target animation data, the bone data matching the target character type, and the character skin information to obtain a target animated video. Through the present application, the production efficiency of animated videos can be improved, and the production complexity of animated videos can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of Internet technologies, and in particular, to an animated video processing method, apparatus, device, and storage medium. Background Art

[0002] Currently, in the process of producing an animated video, it is necessary to customize materials for each animated character. For example, if you want to set N limb movements and K facial expressions for a certain animated character, where N and K are positive integers, if you want different limb movements to match different expressions, then it is necessary to customize N*K character materials for this animated character, resulting in relatively low production efficiency of the animated video and relatively high production complexity of the animated video. Summary of the Invention

[0003] Embodiments of this application provide an animated video processing method, apparatus, device, and storage medium, which improve the production efficiency of the animated video and reduce the production complexity of the animated video.

[0004] On the one hand, an embodiment of this application provides an animated video processing method, including:

[0005] Obtaining character description information of a first animated character to be added to an initial animated video; the character description information includes character skin information and a target character type;

[0006] Determining, from a character material library, bone data matching the target character type and a set of animation data matching the target character type; the character material library includes M pieces of bone data and M sets of animation data, one piece of bone data and one set of animation data respectively match one character type, the bone data matching the target character type is used to describe the bones of the first animated character, and the set of animation data corresponding to the target character type includes candidate animation data for describing the posture of the first animated character; M is a positive integer;

[0007] Selecting candidate animation data from the set of animation data corresponding to the target character type as the target animation data of the first animated character;

[0008] Adding the first animated character to the initial animated video according to the target animation data, the bone data matching the target character type, and the character skin information to obtain a target animated video.

[0009] On the one hand, an embodiment of this application provides an animated video processing apparatus, including:

[0010] An obtaining module, configured to obtain character description information of a first animated character to be added to an initial animated video; the character description information includes character skin information and a target character type;

[0011] A determination module, configured to determine, from a character material library, bone data that matches the target character type and a set of animation data that matches the target character type; the character material library includes M pieces of bone data and M sets of animation data, one piece of bone data and one set of animation data respectively match one character type, the bone data that matches the target character type is used to describe the bones of the first animated character, and the set of animation data corresponding to the target character type includes candidate animation data for describing the postures of the first animated character; M is a positive integer;

[0012] A selection module, configured to select candidate animation data from the set of animation data corresponding to the target character type as the target animation data of the first animated character;

[0013] An addition module, configured to add the first animated character to the initial animated video according to the target animation data, the bone data that matches the target character type, and the character skin information, to obtain a target animated video.

[0014] On the one hand, an embodiment of the present application provides a computer device, including a memory and a processor, where the memory stores a computer program, and when the processor executes the computer program, the steps of the method are implemented.

[0015] On the one hand, an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the method are implemented.

[0016] On the one hand, an embodiment of the present application provides a computer program product, including a computer program, and when the computer program is executed by a processor, the steps of the method are implemented.

[0017] In this application, by splitting the character materials of an animated character into bone data, animation data, and character skin information, and pre-creating a character material library, where the character material library includes M pieces of bone data and M sets of animation data, one piece of bone data and one set of animation data are respectively matched with one character type. The set of animation data includes candidate limb actions, candidate facial expressions, etc. It is possible to achieve the reuse (i.e., sharing) of one piece of bone data and one set of animation data for one character type, improving the reuse rate of character materials. When it is necessary to produce an animated character of a certain character type, only need to obtain the corresponding bone data and set of animation data of this character type from the character material library, and generate an animated video including the animated character of this character type according to this bone data, set of animation data, and the character skin information of this animated character, without customizing character materials for this animated character, improving the production efficiency of the animated video and reducing the production complexity of the animated video. At the same time, through the character skin information, the personalized characteristics of the animated character can be reflected, improving the diversity of the animated character and the production flexibility of the animated video. Brief Description of the Drawings

[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0019] Figure 1 is a schematic diagram of the architecture of an animated video processing system provided by the present application;

[0020] Figure 2 is a schematic diagram of the process flow of an animated video processing method provided by the present application;

[0021] Figure 3 is a schematic diagram of the scene of selecting the facial expression and limb actions of an animated character provided by the present application;

[0022] Figure 4 is a schematic diagram of the process flow of communication between the operating system layer and the action production engine of a computer device provided by the present application;

[0023] Figure 5 is a schematic diagram of the process flow of updating the character attribute information of an animated character provided by the present application;

[0024] Figure 6 is a schematic diagram of the mapping relationship between the view update model and the object provided by the present application;

[0025] Figure 7It is a schematic flow chart of an animation video processing method provided by this application;

[0026] Figure 8 It is a schematic flow chart of adding an animation character to an animation video provided by this application;

[0027] Figure 9 It is a schematic structural diagram of an animation video processing device provided by an embodiment of this application;

[0028] Figure 10 It is a schematic structural diagram of an animation video processing device provided by an embodiment of this application;

[0029] Figure 11 It is a schematic structural diagram of a computer device provided by an embodiment of this application. Detailed implementation manners

[0030] Next, the technical solutions in the embodiments of this application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are only a part of the embodiments of this application, rather than all the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of this application.

[0031] To facilitate a clearer understanding of this application, first, an animation video processing system for implementing the animation video processing method of this application will be introduced. As Figure 1 shown, the animation video processing system includes a server 10 and a terminal cluster. The terminal cluster may include one or more terminals, and the number of terminals will not be limited here. As Figure 1 shown, the terminal cluster may specifically include terminals 1, 2,..., n; it can be understood that terminals 1, 2, 3,..., n can all be network-connected to the server 10 so that each terminal can perform data interaction with the server 10 through the network connection.

[0032] The terminal installs an animation video platform for providing animation videos for users. The animation video platform may include, but is not limited to: game production platforms, short video platforms, content publishing platforms, audio and video playback platforms, and shopping platforms, etc., platforms that can produce animation videos. Users can produce animation videos, play animation videos, etc. in the animation video platform installed in the terminal.

[0033] It is understandable that the server 10 may refer to a device for providing backend services for an animation video platform. For example, the server 10 may be used to generate a character material library for animation characters, which includes M bone data and M sets of animation data. One bone data and one set of animation data are respectively matched with one type of character. The server 10 may also be used to generate an animation video including the animation character according to the bone data, the set of animation data of the animation character, and the character skin information of the animation character.

[0034] It is understandable that the server may be an independent physical server, or a server cluster or distributed system composed of at least two physical servers. It may also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, Content Delivery Network (CDN), and big data and artificial intelligence platforms. The terminal may specifically refer to a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a screen speaker, a smart watch, a smart TV, a vehicle-mounted terminal, etc., but is not limited thereto. Each terminal and the server may be directly or indirectly connected through a wired or wireless communication method. At the same time, the number of terminals and servers may be one or at least two, and the present application does not make any restrictions here.

[0035] Further, please refer to Figure 2 , which is a schematic flowchart of an animation video processing method provided by an embodiment of the present application. As Figure 2 shown, this method may be executed by the Figure 1 terminal in Figure 1 , or may be executed by the Figure 1 server in

[0036] S101. The computer device obtains the character description information of the first animation character to be added to the initial animation video; the character description information includes character skin information and the target character type.

[0037] In this application, when a user needs to add a certain animated character to the initial animated video, the character to be added can be referred to as the first animated character, and the user can set the character description information of the first animated character on the animated video platform. The initial animated video may include one or more animated characters that have been added, and the initial animated video may also include audio data, background images, etc. In particular, the initial animated video may not include any content. Correspondingly, the computer device can obtain the character description information of the first animated character through the animated video platform, and the character description information includes character skin information and the target character type. The target character type can be determined according to the body shape of the first animated character. For example, the target character type includes humans, quadruped reptiles, vehicles, flying animals, etc. When the target character type is a human, the first animated character can include humans, robots, moving objects with a human shape, etc. When the target character type is a quadruped reptile, the first animated character can include dogs, cats, wolves, tigers, lions, etc. When the target character type is a vehicle, the first animated character can include trucks, buses, cars, and trains, etc. When the target character type is a flying animal, the first animated character can include seabirds, turtledoves, etc. The character skin description information includes the skin used to describe the first animated character, such as the hair of the first animation, etc. When the target character type is a human, the skin of the first animated character also includes the clothes worn by the first animated character and the accessories worn, etc.

[0038] S102. The computer device determines, from the character material library, the bone data that matches the target character type and the set of animation data that matches the target character type; the character material library includes M pieces of bone data and M sets of animation data, one piece of bone data and one set of animation data respectively match a certain character type, the bone data that matches the target character type is used to describe the bones of the first animated character, and the set of animation data corresponding to the target character type includes candidate animation data for describing the postures of the first animated character, and M is a positive integer.

[0039] In this application, the computer device can pre-create a character material library or obtain a character material library from other devices. The character material library includes M bone data and M animation data sets, where M is a positive integer, such as M can be 1, 2, 3... etc. One bone data and one animation data set are respectively matched with one character type. That is to say, all the animated characters of one character type can reuse one bone data and one animation data set, improving the reuse rate of character materials. Further, the computer device can determine the bone data matched with the target character type and the animation data set matched with the target character type from the character material library. The bone data matched with the target character type is used to reflect the bones of the animated character with the target character type, and the bone data matched with the target character type is specifically used to reflect the bones that interact and connect with each other and are bound to the pictures of the various body parts of the animated character with the target character type. For example, the bone data includes head bones, hand bones, foot bones, leg bones, etc., and the connection relationships between these bones. The candidate animation data in the animation data set is used to set the position, rotation direction, and zoom in and out of the bones, and then generate animations such as the facial expressions and limb movements of the animated character. The facial expressions include smiling, being surprised, being frustrated, crying, etc., and the limb movements include high-fiving, walking, nodding, scratching the head, standing, etc. The character skin information is used to decorate the appearance of the bones of the animated character to display the personalized characteristics of the animated character.

[0040] S103. The computer device selects candidate animation data from the animation data set corresponding to the target character type as the target animation data of the first animated character.

[0041] In this application, the animation data set of the general target character type includes any one or both of candidate facial expressions or candidate body movements. The computer device can obtain the lines of the first animation character, and the lines of the first animation can be input by the user. According to the lines of the first animation character, candidate animation data is selected from the animation data set corresponding to the target character type as the target animation data of the first animation character. For example, the computer device can obtain the semantic information of the lines of the first animation character, and according to the semantic information of the lines, candidate animation data is selected from the animation data set corresponding to the target character type as the target animation data of the first animation character. Here, the semantic information of the lines of the first animation character reflects the emotion, the content of the performance, etc. of the first animation character. In one embodiment, the user can select candidate animation data from the animation data set corresponding to the target character type according to personal preferences, character requirements, etc., and the computer device can use the candidate animation data selected by the user as the target animation data of the first animation character. In one embodiment, the computer device can obtain the actual animation data of the object corresponding to the computer device (such as a person, an animal, etc.), which is captured by the camera device of the computing device for the object corresponding to the computer device. The similarity between the actual animation data of the object and the candidate animation data in the animation data set corresponding to the target character type is obtained, and the candidate animation data in the animation data set corresponding to the target character type with a similarity greater than the similarity threshold is used as the target animation data of the first animation character. The object type to which the object corresponding to the computer device belongs is the same as the target character type.

[0042] Optionally, the candidate animation data in the animation data set corresponding to the target character type includes candidate facial expressions and candidate limb movements; the above step S103 includes: when the user needs to add a facial expression of the first animation character, an expression acquisition instruction for the first animation character can be sent to the computer device; correspondingly, in response to the expression acquisition instruction for the first animation character, the computer device displays the candidate facial expressions in the animation data set corresponding to the target character type in the animation video platform. The candidate facial expressions can include smiling, being surprised, being frustrated, crying, etc.; the candidate facial expressions are allowed to be selected. When any candidate facial expression in the animation data set is selected, the computer device, in response to the selection operation for the candidate facial expression in the animation data set, determines the selected candidate facial expression as the facial expression of the first animation character. Similarly, when the user needs to add a limb movement of the first animation character, an action acquisition instruction for the first animation character can be sent to the computer device; correspondingly, in response to the action acquisition instruction for the first animation character, the computer device displays the candidate limb movements in the animation data set corresponding to the target character type in the animation video platform. The candidate limb movements include high-fiving, walking, nodding, scratching the head, standing, etc. Any candidate limb movement in the animation data set is allowed to be selected. When any candidate limb movement in the animation data set is selected, the computer device, in response to the selection operation for the candidate limb movement in the animation data set, determines the selected candidate limb movement as the limb movement of the first animation character. Further, according to the facial expression and limb movement of the first animation character, the target animation data of the first animation character is generated. The target animation data may include, in addition to the limb movement and facial expression of the first animation character, the start time and duration of the appearance of the limb movement, and the start time and duration of the appearance of the facial expression. When the first animation character includes lines, the target animation data may also include the mouth shape of the first animation character, and the start time and duration of the attribute mouth shape. By displaying the candidate limb movements and facial expressions, it is beneficial for users to independently design a variety of animation characters and improve the production flexibility of animation videos.

[0043] For example, as Figure 3As shown, the computer device can display a keyboard option 32a, an action option 33a, and an expression option 34a in the video production interface 31a of the animation video platform. The keyboard option 32a is used to call the keyboard in the computer device to input the lines of the animation character. The action option 33a is used to call the candidate limb actions in the character material library. The expression option 34a is used to call the candidate facial expressions in the character material library. The video production interface 31a also includes a preview animation video 35a, which includes two animation characters, namely animation character 36a and animation character 37a. The character types of animation character 36a and animation character 37a are both human bodies. Animation character 36a and animation character 37a can reuse a skeletal data and an animation data set. The user can set the character skin information for animation character 36a and animation character 37a respectively, such as Figure 3 As shown, the character skin information here includes the skin color, hair, clothes, etc. of the animation character. By the differences in the character skin information, animation character 36a and animation character 37a are modified into animation characters with different appearance characteristics. For example, animation character 36a is an animation character of female gender, and animation character 37a is a cartoon character. The user can also adjust the lines, facial expressions, and limb actions of the animation character through the keyboard option 32a, the action option 33a, and the expression option 34a.

[0044] Specifically, when the user needs to add an expression to animation character 36a, the user can perform a touch operation on the expression option 34a. This touch operation can be a click, a press, a slide, etc. When the computer device detects the touch operation of the user on the expression option 34a, it determines that it has received an expression acquisition instruction for animation character 36a. In response to this expression acquisition instruction, the candidate facial expressions 38a that match the human body character type in the character material are displayed in the video production interface 31a. As Figure 3 shown, the candidate facial expressions 38a include expressions such as surprised, angry, smirk, blink, confused, fierce, happy, like, etc. The user can select any one of the candidate facial expressions 38a as the facial expression of animation character 36a (also known as Chen). For example, the user selects the happy expression as the facial expression of animation character 36a. Further, when the user needs to add a limb action to animation character 36a, the user can perform a touch operation on the action option 33a. When the computer device detects the touch operation of the user on the action option 33a, it determines that it has received an action acquisition instruction for animation character 36a. In response to this action acquisition instruction, the candidate limb actions 39a that match the human body character type in the character material are displayed in the video production interface 31a. As Figure 3As shown, the candidate limb actions 39a include actions such as waving, nodding, scratching the head, shrugging the shoulders, standing, walking, shaking the head, pointing, etc. The user can select any one of the candidate limb actions in 39a as the limb action of the animated character 36a (also known as Xiaochen). For example, if the user selects standing as the limb action of the animated character 36a. Similarly, the user can also select limb actions and facial expressions for the animated character 37a in this way, and the repeated parts will not be elaborated. After obtaining the limb actions and facial expressions of the animated characters 37a and 36a, the computer device can generate an animated video 40a based on the limb actions and facial expressions of the animated characters 37a and 36a, the character skin information, and the skeletal data. The animated video 40a shows the animated characters 37a and 36a.

[0045] It can be understood that the action production engine in this application is an engine for producing animated videos. For example, this animation production engine can be a game engine. A game engine refers to the core components of some pre-written editable computer game systems or some interactive real-time image application programs. The game engine can provide various tools required for game designers to write games. Its purpose is to enable game designers to easily and quickly create game programs without starting from scratch. Most game engines support multiple platform operating systems, such as Linux and Windows.

[0046] S104. The computer device adds the first animated character to the initial animated video according to the target animation data, the skeletal data matching the target character type, and the character skin information, to obtain a target animated video.

[0047] In this application, the computer device can add the first animated character to the initial animated video according to the target animation data, the skeletal data matching the target character type, and the character skin information, to obtain a target animated video including the first animated character. During the process of generating the target animated video, the first animated character reuses the skeletal data and animation data set of the animated character with the same character type as it, and does not need to customize character materials for the first animated character, improving the production efficiency of the animated video and reducing the production complexity of the animated video.

[0048] It can be understood that during the process of the user producing an animated video, the computer device can display the preview animated video in real time on the video production interface, provide real-time video editing preview, and support the export of the animated video. When the computer displays the preview animated video, it allows the user to perform interactive operations such as dragging, scaling, and mirroring on the animated characters in the preview animated video. Furthermore, according to the user's interactive operations, the animated characters in the preview animated video are updated.

[0049] In one embodiment, after the computer device displays the target animation video, the user can update the character attribute information of the second animation character in the target animation video. The second animation character can refer to any animation character in the target animation video, and the character attribute information can include the skin, limb movements, facial expressions, lines, mouth shapes, etc. of the animation character. Correspondingly, the computer device can obtain the update operation for the character attribute information of the second animation character in the target animation video, and obtain the operation type corresponding to the update operation through the animation production engine used to produce the initial animation video. The operation type here includes data deletion type, data modification type, data addition type, etc. Further, the computer device can update the character attribute information of the second animation character in the target animation video according to the operation type. In particular, the user can also update other content in the target animation video. For example, the other content can refer to background sound effects, background images, etc. The process of the update operation for other content in the target animation video can refer to the update operation process for the character attribute information of the second animation character, and the repeated parts will not be elaborated here.

[0050] For example, as Figure 4As shown, the process of the computer device updating the character information of the second animated character includes steps S41a to S43a: S41a. The operating system layer of the computer device transmits data. Specifically, the operating system layer of the computer device can compare the original character attribute information of the animated character in the target animated video with the character attribute information to be updated, determine which data has changed, convert the changed character attribute information according to the data conversion format to obtain the converted character attribute information, generate an update operation based on the converted character attribute information, and transmit the update operation to the animation production engine. Here, the data conversion format can refer to the data format that the animation production engine can recognize, such as the Json format (a lightweight data exchange format) or binary, etc. S42a. Data parsing and distribution. Data parsing refers to parsing the data in the update operation, and data distribution refers to transmitting the parsed data to the data layer. Specifically, after receiving the update operation, the animation production engine parses the update operation into three parts of data, namely Add, Modify, and Delete, as the three operation types of the data layer of the modification action production engine. Further, according to the dictionary data structure format, the parsed data is encapsulated to obtain the Key value and the Value value. The Key value is the operation type (Add, Modify, Delete); the Value value is a Json string, which is used to be passed to the next layer and parsed again. Here, the dictionary data structure format refers to the Key-Value format. S43a. Data layer. The data layer here can refer to the storage layer in the animation production engine that stores the background images, background sound effects, character attribute information of animated characters, etc. in the target animated video. After the Key value and the Value value are transmitted to the data layer, the data stored in the data layer can be updated according to the Key value and the Value value. Further, the animated video program file, scene tree, timeline, etc. are updated according to the data layer.

[0051] It is understandable that the data in the data layer may include the following four types of content: (a) Background images: storing the background data of each storyboard, such as the storage address of the background picture; (b) Background sound effects: storing the data of all background sound effects, such as the storage address of the audio, duration, etc.; (c) Character attribute information: storing the data of each animation character, such as the storage address of the character skin, position, scale, whether to be inverted, etc.; (d) Character statements: storing all the statements of the characters, such as action animations, expression animations, lines, etc. It is understandable that each type of data in the data layer can be stored in the structure of an object (Component). For example, the data stored in the data layer includes: (1) Background object: storing the Url address of the background picture; the Url address refers to the Uniform Resource Locator, which is used to reflect the storage address of the corresponding data; (2) Audio object: storing the Url address of the audio; (3) Action animation object: storing the Url address of the action animation; (4) Expression animation object: storing the Url address of the expression animation; (5) Character attribute object: storing data such as the position, scale, and whether to flip of the character; (6) Character skin object: storing the Url address of the character bone data and the skin json data; (7) Character line object: storing the character line text data and the Url address of the line audio.

[0052] It is understandable that updating the character attribute information of the second animation character in the target animation video according to the operation type includes: if the operation type is the target operation type, obtaining a statement update model associated with the animation production engine, and a first event processor; the first event processor is a processor for processing the update operation of the target operation type; the target operation type includes a data addition type or a data deletion type; notifying the first event processor of the update operation of the target operation type through the statement update model; and performing the update operation of the target operation type on the character attribute information of the second animation character in the target animation video through the first event processor.

[0053] When the operation type of the update operation is a data addition type or a data deletion type, the animation production engine can adopt an event delegation mechanism to complete the data update notification. The event delegation mechanism refers to the mechanism by which the animation production engine entrusts the statement update module to notify the event processor to execute the data update operation. Specifically, the computer device can obtain the statement update model associated with the animation production engine, and the first event processor; the first event processor is the processor used to process the update operation of the target operation type. Through the statement update model, the update operation of the target operation type is notified to the first event processor, and through the first event processor, the update operation of the target operation type is performed on the role attribute information of the second animation role in the target animation video. Notifying the update of the role attribute information of the second animation role through the statement update model will not affect the role attribute information of other animation roles, improving the accuracy of animation role update.

[0054] It can be understood that the scene tree in this application is a tree structure used to describe the positional relationship between animation roles, and is also used to combine many algorithms (such as animation video program files, timelines) to accelerate the rendering of animation roles. Of course, it can also be used for some acceleration in logical processing. A scene tree can be used to organize visible objects (such as animation roles) and animations composed of a group of objects. The target scene tree associated with the target animation video in this application includes a background node, an audio node, and multiple role nodes. The background node includes information about the background image for displaying the target video data, the audio node includes information for playing audio, a role node corresponds to an animation role, and the role node includes role attribute information, and the role attribute information displays the style of the animation role. Therefore, when it is necessary to perform a deletion operation on some information (such as lines) in the role attribute information of the second animation role, or when it is necessary to add information (such as body movements) to the role attribute information of the second animation role, the computer device can obtain the target scene tree associated with the target animation video through the first event processor. The target scene tree refers to a tree structure used to describe information such as animation roles, background images, and audio in the target animation video. Further, according to the update operation, the target scene tree can be updated to obtain the updated target scene tree, and according to the updated target scene tree, the role attribute information of the second animation role in the target animation video can be updated. For example, if the update operation is to add walking body movements to the second animation role, the computer device can add the added body movements to the role node corresponding to the second animation role in the target scene tree, and render the added body movements in the target scene tree to obtain the updated second animation role.

[0055] For example, such as Figure 5As shown, the computer device receives an update operation for the video attribute data of the target animation video. The operation type of this update operation is of the data addition type or the data deletion type. The video attribute data can refer to background images, background sound effects, character attribute information, and so on. Further, this update operation is sent to the scene tree controller of the animation production engine. The scene tree controller is a module for managing (such as updating, creating) the scene tree. Specifically, the process of the scene tree controller of the animation production engine updating the scene tree can include the following steps S51a to S65c: S51a, data update callback. Here, the data update callback means receiving the update operation sent by the operating system layer of the computer device and judging the operation type of this update operation. If the operation type is of the data deletion type, then execute the following steps S53b to S56b; if the operation type is of the data addition type, then execute the following steps S52c to S65c. S53b, data deletion type, that is, the operation type of the update operation is of the data deletion type. S54b, data type. Here, the data type can refer to the data type of the video attribute data, including background images, background sound effects, character attributes, etc. When the data type is a background image, this update operation is used to indicate deleting the background image from the target animation video; when the data type is a background sound effect, this update operation is used to indicate deleting the background audio from the target animation video; when the data type is a character attribute, this update operation is used to indicate deleting the character attribute information of the animation character from the target animation video, and execute S55b to S56b. S55b, whether the character node is created. If the character node has not been created, then end this process; if the character node has been created, then execute S56b. S56b, delete the character node and its child nodes. The child nodes are nodes used to reflect the skin, facial expressions, limb movements, etc. of the animation character.

[0056] Further, S52c, the data addition type, i.e., the operation type of the update operation is the data addition type. S54c, the data type, i.e., determine the data type of the video attribute data corresponding to the update operation, and this data type includes background images, background sounds, character attributes, etc. When the data type is a background image, this update operation is used to indicate adding a background image to the target animated video and execute S55c - S56c; when the data type is a background sound, this update operation is used to indicate adding a background sound to the target animated video and execute S57c - S58c; when the data type is a character attribute, this update operation is used to indicate adding the character attribute information of an animated character to the target animated video and execute S59c - S65c. S55c, whether to create a background node, i.e., determine whether the target scene tree includes a node reflecting the background image. If the target scene tree includes a node reflecting the background image, it is determined that the background node has been created and this process ends; if the target scene does not include a node reflecting the background image, it is determined that the background node has not been created, and then step S56c is executed. S56c, create a background node and complete the initialization. Since the target scene tree does not include a node reflecting the background image, a background node is created, and this background node is used to reflect how to render and display the background image. S57c, whether to create a music node, i.e., determine whether the target scene tree includes a node reflecting the background sound. If the target scene tree includes a node reflecting the background sound, it is determined that the music node has been created and this process ends; if the target scene does not include a node reflecting the background sound, it is determined that the music node has not been created, and then step S58c is executed. S58c, create a music node and add an audio resource component. The audio resource component is a component used to provide audio resources, such as an audio playback application, etc., and the music node is used to generate the background audio in the target animated video. If this update operation is specifically used to indicate adding an animated character to the target animated video, then steps S59c - S61c are executed; if the update operation is specifically used to indicate creating a decoration box in the target animated video, then steps S62c - S63c are executed; if the update operation is specifically used to indicate adding the lines of animated character B in the target animated video, then steps S64c - S65c are executed. S59c, whether to create a character node, i.e., the update operation is used to indicate creating an animated character in the target animated video, such as animated character A. That is, determine whether the target scene tree includes a node reflecting animated character A. If the target scene tree includes a node reflecting animated character A, it is determined that the character node of animated character A has been created and this process ends; if the target scene does not include a node reflecting animated character A, it is determined that the character node of animated character A has not been created, and then step S60c is executed.

[0057] Further, S60c, create a character node, complete initialization, such as creating a character node for reflecting the animated character A. S61c, create a child node of the character node - a skin node, add a skeletal animation component, where the skeletal animation component refers to a component for generating the skeletal animation of the animated character, where the skeletal animation is to bind the pictures of the various parts of the body parts of the animated character to "bones" that interact with each other, and to generate animations by controlling the position, rotation direction, and zooming in and out of these bones. S62c, whether the modification node is created, that is, the update operation is used to indicate that a modification frame is created in the target animation video. At this time, it can be determined whether the target scene tree includes a node for the modification frame reflecting the screen where the animated character is located. If the target scene tree includes a node corresponding to the modification frame reflecting the animation, it is determined that the modification node has been created, and the current process ends; if the target scene does not include a node reflecting the modification frame, it is determined that the modification frame node has not been created, and step S63c is executed. S63c, create a modification frame node, complete initialization, that is, create a modification frame node in the target scene tree that renders and displays the modification frame. S64c, whether the lines node is created, that is, the update operation is used to indicate the addition of the lines of the animation character B in the target animation video. At this time, it can be determined whether the target scene tree includes a node reflecting the lines of the animation character B. If the target scene tree includes a node reflecting the lines of the animation character B, it is determined that the lines node of the animation character B has been created, and the current process ends; if the target scene does not include a node reflecting the lines of the animation character B, it is determined that the lines node of the animation character B has not been created, and step S65c is executed. S65c, create the lines node of the animation character B, complete the initialization, that is, create, render and display the lines node of the animation character B in the target scene tree. After updating the target scene tree in the above manner, the target animation video can be updated according to the updated target scene tree.

[0058] It is understandable that updating the role attribute information of the second animated character in the target animated video according to the operation type includes: if the operation type of the update operation is a data modification type, the update operation instructs to update the skin object (i.e., skin), line object (i.e., lines), limb movement object (limb movement), and facial expression object (facial expression) of the second animated character. The computer device can obtain the update object corresponding to the update operation; the update object belongs to the object of the second animated character, that is, the update object can be one or more of the skin object, line object, limb movement object, and facial expression object. The computer device can query, from the mapping table, the view update model associated with the update object; the mapping table is used to reflect the association relationship between the object and the view update model, and the view update model associated with the update object is used to process the update operation corresponding to the update object. Through the view update model, the update operation of the data modification type is notified to the second event processor corresponding to the view update model; through the second event processor, the update operation of the data modification type is executed on the update object of the second animated character in the target animated video.

[0059] It is understandable that, as Figure 6 shown, each object in the mapping table will have one or more view update models (View Model) corresponding to it. For example: for the background object, there will be an image view model (Image View Model) corresponding to it, and an event handler named path inside is responsible for notifying the change of the Url of the background image; for the role attribute object, there will be a role property view model (Role Property View Model) corresponding to it, which includes 4 event handlers, namely the scaling, position x coordinate, position y coordinate, and whether to flip of the animated character, and is responsible for notifying the change of the 4 attribute data. As Figure 6 shown, assume that the mapping table corresponding to the target animated video includes object 1 and object 2. Object 1 corresponds to view update model 1 and view update model 2, and object 2 corresponds to view update model n and view update model n + 1.

[0060] Specifically, if the update object corresponding to the update operation of the character attribute information of the second animated character is the skin object of the second animated character, then receive the update operation sent by the view update model corresponding to the skin object, and according to this update operation, obtain the target animated video program file for generating the target animated video. Through the second event processor corresponding to the skin object, use the character skin information carried by the update operation to update the character skin information of the second animated character in the target animated video program file, and obtain the updated target animated video program file. Further, according to the target animated video program file, update the skin of the second animated character in the target animated video. It can be seen that in the process of updating the skin of the second animated character, only the new character skin information needs to be loaded into the target animated video program file, and there is no need to recreate the bone data and animation data. That is, the updated second animated character can reuse the bone data and animation data of the second animated character before the update, improving the reuse rate of the animation data and bone data, improving the production efficiency of the animated video, and reducing the production complexity of the animated video.

[0061] In this application, by splitting the character materials of the animated character into bone data, animation data, and character skin information, and pre-creating a character material library, where the character material library includes M pieces of bone data and M sets of animation data, one piece of bone data and one set of animation data are respectively matched with one character type, and the set of animation data includes candidate limb actions, candidate facial expressions, etc.; it is possible to achieve the reuse (i.e., sharing) of one piece of bone data and one set of animation data for one character type, improving the reuse rate of character materials. When it is necessary to produce an animated character of a certain character type, only need to obtain the bone data and the set of animation data corresponding to the character type from the character material library, and generate an animated video including the animated character of the character type according to the bone data, the set of animation data, and the character skin information of the animated character, without customizing character materials for the animated character, improving the production efficiency of the animated video and reducing the production complexity of the animated video. At the same time, through the character skin information, the personalized characteristics of the animated character can be reflected, improving the diversity of the animated character and the production flexibility of the animated video.

[0062] Further, please refer to Figure 7 , which is a schematic flowchart of an animated video processing method provided by an embodiment of this application. As Figure 7 shown, this method can be executed by the Figure 1 in the terminal, or can be executed by the Figure 1 in the server, or can be jointly executed by the Figure 1 in the terminal and the server. In this application, the devices used to execute this method can be collectively referred to as computer devices. Among them, the animated video processing method can include the following steps S201 to S208:

[0063] S201. The computer device obtains the character description information of the first animated character to be added to the initial animated video; the character description information includes character skin information and the target character type.

[0064] S202. The computer device determines, from the character material library, the bone data matching the target character type and the set of animation data matching the target character type; the character material library includes M pieces of bone data and M sets of animation data, one piece of bone data and one set of animation data respectively match one character type, the bone data matching the target character type is used to describe the bones of the first animated character, and the set of animation data corresponding to the target character type includes candidate animation data for describing the postures of the first animated character.

[0065] S203. The computer device selects candidate animation data from the set of animation data corresponding to the target character type as the target animation data of the first animated character.

[0066] S204. The computer device obtains the animation production engine for producing the initial animated video, as well as the animated video program file, the initial scene tree, and the initial timeline in the animation production engine for generating the initial animated video.

[0067] In this application, the animated video program file is a program for rendering each animated character in the initial animated video. The initial scene tree is used to reflect the attribute information, position relationships, etc. of each animated character, background image, and other objects in the initial animated video, and how to display each animated character, background image, etc. in the initial animated video. The initial timeline is used to reflect the start time and duration of the limb movements, facial expressions, mouth shapes, lines, etc. of the animated characters in the initial animated video.

[0068] S205. The computer device determines a character program segment for generating the first animated character according to the target animation data, the bone data matching the target character type, and the character skin information.

[0069] In this application, determining a character program segment for generating the first animated character according to the target animation data, the bone data matching the target character type, and the character skin information means that the character program segment is a program segment for rendering the first animated character.

[0070] Specifically, the computer device can obtain the first program template, the second program template, and the third program template from the character program library. The first program template is a program segment for describing the bone data matching the target character type and for generating (i.e., rendering) the bones of the animated character of the target character type. The second program template is a program segment for generating the skin of the animated character of the target character type. The third program template is a program segment for generating the pose of the animated character of the target character type. Further, the computer device adds the character skin information to the second program template to obtain a program segment for generating the skin of the first animated character, that is, replaces the initial skin information in the second program template with the character skin information of the first animated character to obtain a program segment for generating the skin of the first animated character. Then, the target animation data is added to the third program template to obtain a program segment for generating the pose of the first animated character, that is, replaces the initial animation data in the second program template with the target animation data of the first animated character to obtain a program segment for generating the pose of the first animated character. Next, the computer device can associate the first program template, the program segment for generating the skin of the first animated character, and the program segment for generating the pose of the first animated character to obtain a character program segment for generating the first animated character. In other words, the skin generated by the program segment corresponding to the skin modifies the bones generated by the first program template, and the program segment corresponding to the pose is used to set the pose of the bones generated by the first program template, such as the position of the hand, etc. It can be seen that one character type reuses the first program template, the second program template, and the third program template, and there is no need to write application programs separately for each animated character, which improves the reuse rate of the program files corresponding to the animated videos and improves the production efficiency of the animated videos.

[0071] S206. The computer device adds the character program segment corresponding to the first animated character to the animated video program file to obtain a target animated video program file.

[0072] In this application, the computer device can add the character program segment corresponding to the first animated character to the animated video program file to obtain a target animated video program file associated with the first animated character.

[0073] S207. The computer device updates the initial scene tree according to the target animation data and the character skin information to obtain a target scene tree associated with the first animated character, and updates the initial timeline according to the target animation data to obtain a target timeline associated with the first animated character.

[0074] The computer device can update the initial scene tree according to the target animation data and the character skin information to obtain a target scene tree associated with the first animated character, update the initial timeline according to the target animation data to obtain a target timeline associated with the first animated character. The target timeline associated with the first animated character is used to reflect the start time and duration of the appearance of the animated character, background image, background audio, etc. in the initial animated video, and also includes the start time and duration of the appearance of the first animated character.

[0075] It can be understood that the above target animation data includes animation clips; the animation clips are used to reflect the poses of the first animated character, as well as the start time and duration of the appearance of the poses of the first animated character; the animation clips include one or more of the animation clips corresponding to limb movements, the animation clips corresponding to facial expressions, and the animation clips corresponding to mouth shapes. The above process of updating the initial scene tree according to the target animation data and the character skin information to obtain a target scene tree associated with the first animated character, and updating the initial timeline according to the target animation data to obtain a target timeline associated with the first animated character includes: The computer device can add a character node used to reflect the first animated character, a first child node associated with the character node, and a second child node in the initial scene tree according to the target animation data and the character skin information to obtain a scene tree associated with the first animated character. The first child node is used to reflect the pose of the first animated character, and the second child node is used to reflect the skin of the first animated character. In particular, when the first animated character has lines, a line node associated with the character node of the first animated character can be added to the initial scene tree. Then, an animation track associated with the character node is added to the initial timeline, and the animation clip of the first animated character is marked on the animation track; according to the initial timeline after adding the animation track, the target timeline associated with the first animated character is determined. It can be understood that a track can refer to a time period on the timeline used to bind character nodes and place clips, and a clip: is used to set the attributes and poses of character nodes on the timeline, and to reflect the start time and duration of the appearance of the attributes and poses of the animated character. By establishing animated characters on the initial timeline, it is possible to display the various states (such as poses, facial expressions) of different animated characters at different time points on a parallel timeline, thus constituting a complete animation, and different animated characters do not interfere with each other, improving the production efficiency of animated videos.

[0076] It is understandable that determining the target timeline associated with the first animation character according to the initial timeline after adding the animation track includes: the computer device can obtain the attribute clip, line clip, and audio clip of the first animation character; the attribute clip is used to reflect the position attribute of the first animation character, as well as the start time and duration when the position attribute of the first animation character appears; the line clip is used to reflect the lines of the first animation character, as well as the start time and duration when the lines of the first animation character appear; the position attribute is used to reflect the position of the first animation character in a video frame. The audio clip is used to reflect the audio corresponding to the first animation character, as well as the start time and duration when the audio corresponding to the first animation character appears. Further, create a line track and an attribute track associated with the character node on the initial timeline after adding the animation track; identify the line clip of the first animation character on the line track, identify the attribute clip of the first animation character on the attribute track, and identify the audio clip on the audio track; determine the initial timeline after adding the audio track, the animation track, the attribute track, and the line track as the target timeline associated with the first animation character. It can be seen that each animation character has its own exclusive attribute track, animation track, audio track, and line track, which can achieve the superposition of lines, audio, animation, etc. of the same animation character, that is, the lines, audio, and animation of the animation character can be played simultaneously, enriching the playback effect of the animation video.

[0077] It is understandable that when the animation clip includes a first animation clip, a second animation clip, and a third animation clip; the first animation clip is the animation clip corresponding to the facial expression, the second animation clip is the animation clip corresponding to the body movement, and the third animation clip is the animation clip corresponding to the mouth shape. Specifically, the first animation clip is used to reflect the facial expression of the first animation character, as well as the start time and duration when the facial expression of the first animation character appears, the second animation clip is used to reflect the body movement of the first animation character, as well as the start time and duration when the body movement of the first animation character appears; the third animation clip is used to reflect the mouth shape of the first animation character, as well as the start time and duration when the mouth shape of the first animation character appears.

[0078] Adding an animation track associated with the character node on the initial timeline and identifying the animation clips of the first animation character on the animation track includes: The computer device can add a first animation track, a second animation track, and a third animation track associated with the character node on the initial timeline; identify the first animation clip on the first animation track, identify the second animation clip on the second animation track, and identify the third animation clip on the third animation track; determine the first animation track, the second animation track, and the third animation track as the animation tracks associated with the character node, and determine the first animation clip, the second animation clip, and the third animation clip as the animation clips of the first animation character. By creating exclusive animation tracks for the limb movements, facial expressions, and mouth shapes of the first animation character, the superimposition of three animations of limb movements, facial expressions, and mouth shapes can be achieved, that is, multiple animation actions of the first animation character can be played simultaneously, improving the playback effect of the animation video.

[0079] For example, Figure 8As shown, the basic process of creating an animated character with facial expressions, body movements, and lines in the initial animated video includes steps S81 to S89: S81, add a new animated character; S82, create a character node and an audio node. S83, create a property track on the timeline and create a property clip; S84, add a line with expression and action animations. S85, create Animation Track 1 and create an expression animation clip. Here, Animation Track 1 is the time period for adding the expression animation clip of the new animated character. This Animation Track 1 is created on the initial timeline of the initial animated video, and the starting moment of the time period corresponding to Animation Track 1 can be aligned with the starting moment on the initial timeline; the expression animation clip here is used to reflect the facial expressions of the new animated character, as well as the starting time and duration when the facial expressions appear. S86, create Animation Track 2 and create an action animation clip. Here, Animation Track 2 is the time period for adding the action animation clip of the new animated character. This Animation Track 2 is created on the initial timeline of the initial animated video, and the starting moment of the time period corresponding to Animation Track 2 can be aligned with the starting moment on the initial timeline; the action animation clip here is used to reflect the body movements of the new animated character, as well as the starting time and duration when the body movements appear. S87, create Animation Track 3 and create a lip-sync animation clip. Here, Animation Track 3 is the time period for adding the lip-sync animation clip of the new animated character. This Animation Track 3 is created on the initial timeline of the initial animated video, and the starting moment of the time period corresponding to Animation Track 3 can be aligned with the starting moment on the initial timeline; the lip-sync animation clip here is used to reflect the lip movements of the new animated character, as well as the starting time and duration when the lip movements appear. S88, create a line track and create a line clip; this line track is the time period for adding the line clip of the new animated character. This line track is created on the initial timeline of the initial animated video, and the starting moment of the time period corresponding to the line track can be aligned with the starting moment on the initial timeline; the line animation clip here is used to reflect the lines of the new animated character, as well as the starting time and duration when the lines appear. S89, create an audio track and create an audio clip. The audio track is the time period for adding the audio clip of the new animated character. This audio track is created on the initial timeline of the initial animated video, and the starting moment of the time period corresponding to the audio track can be aligned with the starting moment on the initial timeline; the audio clip here is used to reflect the audio corresponding to the new animated character, as well as the starting time and duration when the audio appears. The audio corresponding to the new animated character here is the audio played when the new animated character appears.In steps S81 - S89, when the user needs to create an animated character with facial expressions, body movements, and lines, the terminal can send a request for adding an animated character to the animation production engine. When the animation production engine receives this request, it can create a character node reflecting the added animated character and an audio node corresponding to the added animated character in the corresponding scene tree of the initial animation video. And create an animation track, a line track, an attribute track, and an audio track exclusive to the added animated character on the initial timeline corresponding to the initial animation video, and mark the clips on the corresponding tracks, which can achieve the overlay of the same animated character in terms of audio, expression animation, lip-sync animation, and action animation (i.e., body movements), and can simultaneously play the audio, expression animation, lip-sync animation, and action animation (i.e., body movements) of the same animated character, improving the playback effect of the animation video.

[0080] S208. The computer device generates a target animation video including the first animated character through the animation production engine based on the target animation video program file, the target scene tree, and the target timeline.

[0081] It can be understood that the above-mentioned generation of the target animation video including the first animated character through the animation production engine based on the target animation video program file, the target scene tree, and the target timeline includes: The computer device can render and play the animated characters, background images, audio data, lines, etc. in the target scene tree in sequence according to the target timeline and the target animation video program file. The animation production engine calls the recording component to record the video of the process of playing the animated characters in the target scene tree to obtain video frames; the recording component is a component for recording video and audio, such as Natcoder. The animation production engine calls the recording component to record the audio of the process of playing the animated characters in the target scene tree to obtain audio frames; if all the animated characters in the target scene tree have been played, then the video frames and the audio frames are synthesized to obtain the target animation video including the first animated character.

[0082] In this application, by splitting the character materials of an animated character into bone data, animation data, and character skin information, and pre-creating a character material library, where the character material library includes M pieces of bone data and M sets of animation data, one piece of bone data and one set of animation data are respectively matched with one character type, and the set of animation data includes candidate limb movements, candidate facial expressions, etc.; it is possible to achieve the reuse (i.e., sharing) of one piece of bone data and one set of animation data for one character type, improving the reuse rate of character materials. When it is necessary to produce an animated character of a certain character type, only the bone data and the set of animation data corresponding to this character type need to be obtained from the character material library, and according to this bone data, the set of animation data, and the character skin information of this animated character, an animated video including the animated character of this character type is generated, without customizing character materials for this animated character, improving the production efficiency of the animated video and reducing the production complexity of the animated video. At the same time, through the character skin information, the personalized characteristics of the animated character can be reflected, improving the diversity of the animated character and the production flexibility of the animated video.

[0083] Please refer to Figure 9 , which is a schematic structural diagram of an animated video processing device provided by an embodiment of this application. As Figure 9 shown, the animated video processing device may include: an acquisition module 911, a determination module 912, a selection module 913, and an addition module 914.

[0084] The acquisition module 911 is configured to acquire the character description information of the first animated character to be added to the initial animated video; the character description information includes character skin information and a target character type;

[0085] The determination module 912 is configured to determine, from the character material library, the bone data that matches the target character type, and the set of animation data that matches the target character type; the character material library includes M pieces of bone data and M sets of animation data, one piece of bone data and one set of animation data are respectively matched with one character type, the bone data that matches the target character type is used to describe the bones of the first animated character, and the set of animation data corresponding to the target character type includes candidate animation data for describing the posture of the first animated character; M is a positive integer;

[0086] The selection module 913 is configured to select candidate animation data from the set of animation data corresponding to the target character type as the target animation data of the first animated character;

[0087] The addition module 914 is configured to add the first animated character to the initial animated video according to the target animation data, the bone data that matches the target character type, and the character skin information to obtain a target animated video.

[0088] According to an embodiment of the present application, Figure 9 Each module in the illustrated animation video processing device can be separately or wholly combined into one or several units to form, or a certain one (or some) of the units can be further split into at least two smaller sub-units in terms of function, and the same operations can be achieved without affecting the realization of the technical effects of the embodiments of the present application. The above modules are divided based on logical functions. In practical applications, the function of one module can also be realized by at least two units, or the functions of at least two modules can be realized by one unit. In other embodiments of the present application, the animation video processing device can also include other units. In practical applications, these functions can also be assisted by other units and can be realized through the cooperation of at least two units.

[0089] According to an embodiment of the present application, it can be achieved by running a computer program (including program codes) capable of executing the respective steps involved in the corresponding method as shown in Figure 2 on a general computer device such as a computer including processing components and storage components such as a central processing unit (CPU), a random access storage medium (RAM), and a read-only storage medium (ROM), to construct an animation video processing device as shown in Figure 9 and to implement the animation video processing method of the embodiments of the present application. The above computer program can be recorded on a computer-readable recording medium, for example, and loaded into the above computing device through the computer-readable recording medium and run therein.

[0090] In the present application, by splitting the character materials of an animation character into bone data, animation data, and character skin information, and pre-creating a character material library, where the character material library includes M bone data and M animation data sets, one bone data and one animation data set are respectively matched with one character type, and the animation data set includes candidate limb actions, candidate facial expressions, etc.; it can achieve the reuse (i.e., sharing) of one bone data and one animation data set for one character type, improving the reuse rate of character materials. When an animation character of a certain character type needs to be produced, only the bone data and the animation data set corresponding to the character type need to be obtained from the character material library, and an animation video including the animation character of the character type is generated according to the bone data, the animation data set, and the character skin information of the animation character, without the need to customize character materials for the animation character, improving the production efficiency of the animation video and reducing the production complexity of the animation video. At the same time, the character skin information can reflect the personalized characteristics of the animation character, improving the diversity of the animation character and the production flexibility of the animation video.

[0091] Please refer to Figure 10, which is a schematic structural diagram of an animation video processing device provided by an embodiment of the present application. As Figure 10 shown, the animation video processing device may include: an adding module 111a, a selecting module 121b, and an updating module 131c.

[0092] The adding module 111a includes an obtaining unit 112a, a determining unit 113a, an adding unit 114a, an updating unit 115a, and a generating unit 116a.

[0093] The obtaining unit 112a is configured to obtain an animation production engine for producing the initial animation video, and an animation video program file, an initial scene tree, and an initial timeline in the animation production engine for generating the initial animation video;

[0094] The determining unit 113a is configured to determine a role program segment for generating the first animation role according to the target animation data, the bone data matching the target role type, and the role skin information;

[0095] The adding unit 114a is configured to add the role program segment corresponding to the first animation role to the animation video program file to obtain a target animation video program file;

[0096] The updating unit 115a is configured to update the initial scene tree according to the target animation data and the role skin information to obtain a target scene tree associated with the first animation role, and update the initial timeline according to the target animation data to obtain a target timeline associated with the first animation role;

[0097] The generating unit 116a is configured to generate a target animation video including the first animation role through the animation production engine based on the target animation video program file, the target scene tree, and the target timeline.

[0098] It can be understood that the determining unit 113a determines the role program segment for generating the first animation role according to the target animation data, the bone data matching the target role type, and the role skin information, including:

[0099] Obtain a first program template, a second program template, and a third program template from a role program library; the first program template is a program segment for describing the bone data matching the target role type and the bones of the animation role for generating the target role type, the second program template is a program segment for generating the skin of the animation role of the target role type, and the third program template is a program segment for generating the posture of the animation role of the target role type;

[0100] Add the character skin information to the second program template to obtain a program segment for generating the skin of the first animated character;

[0101] Add the target animation data to the third program template to obtain a program segment for generating the pose of the first animated character;

[0102] Associate the first program template, the program segment for generating the skin of the first animated character, and the program segment for generating the pose of the first animated character to obtain a character program segment for generating the first animated character.

[0103] Optionally, the target animation data includes an animation clip; the animation clip is used to reflect the pose of the first animated character, as well as the start time and duration of the appearance of the pose of the first animated character; the update unit 115a is used to update the initial scene tree according to the target animation data and the character skin information to obtain a target scene tree associated with the first animated character, and update the initial timeline according to the target animation data to obtain a target timeline associated with the first animated character, including:

[0104] According to the target animation data and the character skin information, add a character node for reflecting the first animated character, a first sub-node associated with the character node, and a second sub-node in the initial scene tree to obtain a scene tree associated with the first animated character; the first sub-node is used to reflect the pose of the first animated character, and the second sub-node is used to reflect the skin of the first animated character;

[0105] Add an animation track associated with the character node to the initial timeline, and identify the animation clip of the first animated character on the animation track;

[0106] Determine the target timeline associated with the first animated character according to the initial timeline after adding the animation track.

[0107] It can be understood that the update unit 115a is used to determine the target timeline associated with the first animated character according to the initial timeline after adding the animation track, including:

[0108] Obtain the attribute clip, line clip, and audio clip of the first animated character; the attribute clip is used to reflect the position attribute of the first animated character, as well as the start time and duration when the position attribute of the first animated character appears; the line clip is used to reflect the lines of the first animated character, as well as the start time and duration when the lines of the first animated character appear; the audio clip is used to reflect the audio corresponding to the first animated character, as well as the start time and duration when the audio corresponding to the first animated character appears;

[0109] Create a line track, an attribute track, and an audio track associated with the character node on the initial timeline after adding the animation track;

[0110] Identify the line clip of the first animated character on the line track, identify the attribute clip of the first animated character on the attribute track, and identify the audio clip on the audio track;

[0111] Determine the initial timeline after adding the animation track, the attribute track, the line track, and the audio track as the target timeline associated with the first animated character.

[0112] It can be understood that the animation clip includes a first animation clip, a second animation clip, and a third animation clip; the first animation clip is used to reflect the facial expression of the first animated character, as well as the start time and duration when the facial expression of the first animated character appears, the second animation clip is used to reflect the body movements of the first animated character, as well as the start time and duration when the body movements of the first animated character appear; the third animation clip is used to reflect the mouth shape of the first animated character, as well as the start time and duration when the mouth shape of the first animated character appears; the updating unit 115a adds an animation track associated with the character node on the initial timeline, and identifies the animation clip of the first animated character on the animation track, including:

[0113] Add a first animation track, a second animation track, and a third animation track associated with the character node on the initial timeline;

[0114] Identify the first animation clip on the first animation track, identify the second animation clip on the second animation track, and identify the third animation clip on the third animation track;

[0115] Determine the first animation track, the second animation track, and the third animation track as the animation track associated with the character node, and determine the first animation clip, the second animation clip, and the third animation clip as the animation clip of the first animated character.

[0116] It is understandable that the generating unit 116a generates a target animation video including the first animation character through the animation production engine based on the target animation video program file, the target scene tree, and the target timeline, including:

[0117] Play the animation characters in the target scene tree in sequence according to the target timeline and the target animation video program file;

[0118] Call the recording component through the animation production engine to record the video of the process of playing the animation characters in the target scene tree to obtain video frames;

[0119] Call the recording component through the animation production engine to record the audio of the process of playing the animation characters in the target scene tree to obtain audio frames;

[0120] If all the animation characters in the target scene tree have been played, synthesize the video frames and the audio frames to obtain a target animation video including the first animation character.

[0121] It is understandable that the selection module 121b includes a first display unit 122b, a first selection unit 123b, a second display unit 124b, and a second selection unit 125b.

[0122] The first display unit 122b is configured to display candidate facial expressions in the animation data set corresponding to the target character type in response to an expression acquisition instruction for the first animation character;

[0123] The first selection unit 123b is configured to determine the selected candidate facial expression as the facial expression of the first animation character in response to a selection operation on the candidate facial expressions in the animation data set;

[0124] The second display unit 124b is configured to display candidate limb movements in the animation data set corresponding to the target character type in response to a movement acquisition instruction for the first animation character;

[0125] In response to a selection operation on the candidate limb movements in the animation data set, determine the selected candidate limb movement as the limb movement of the first animation character;

[0126] The second selection unit 125b is configured to generate target animation data of the first animation character according to the facial expression and limb movement of the first animation character.

[0127] It is understandable that the update module 131c is used to obtain the update operation for the role attribute information of the second animation character in the target animation video; obtain the operation type corresponding to the update operation through the animation production engine used to produce the initial animation video; and update the role attribute information of the second animation character in the target animation video according to the operation type.

[0128] It is understandable that the update module 131c updates the role attribute information of the second animation character in the target animation video according to the operation type, including:

[0129] If the operation type is the target operation type, obtain the statement update model associated with the animation production engine and the first event processor; the first event processor is a processor used to process the update operation of the target operation type; the target operation type includes a data addition type or a data deletion type;

[0130] Notify the first event processor of the update operation of the target operation type through the statement update model;

[0131] Execute the update operation of the target operation type on the role attribute information of the second animation character in the target animation video through the first event processor.

[0132] Optionally, the update module 131c executes the update operation of the target operation type on the role attribute information of the second animation character in the target animation video through the first event processor, including:

[0133] Obtain the target scene tree associated with the target animation video through the first event processor;

[0134] Update the target scene tree according to the update operation to obtain an updated target scene tree;

[0135] Update the role attribute information of the second animation character in the target animation video according to the updated target scene tree.

[0136] It is understandable that the update module 131c updates the role attribute information of the second animation character in the target animation video according to the operation type, including:

[0137] If the operation type is the data modification type, obtain the update object corresponding to the update operation; the update object belongs to the object of the second animation character;

[0138] Query the view update model associated with the update object from the mapping table; the mapping table is used to reflect the association relationship between the object and the view update model, and the view update model associated with the update object is used to process the update operation corresponding to the update object;

[0139] Notify the second event handler corresponding to the view update model of the update operation of the data modification type through the view update model;

[0140] Execute the update operation of the data modification type on the update object of the second animation character in the target animation video through the second event handler.

[0141] It can be understood that the update module 131c executes the update operation of the data modification type on the update object of the second animation character in the target animation video through the second event handler, including:

[0142] If the update object is the skin object of the second animation character, obtain the target animation video program file used to generate the target animation video;

[0143] Through the second event handler, update the character skin information of the second animation character in the target animation video program file with the character skin information carried by the update operation to obtain an updated target animation video program file;

[0144] Update the skin of the second animation character in the target animation video according to the target animation video program file.

[0145] In this application, by splitting the character materials of the animation character into bone data, animation data, and character skin information, and pre-creating a character material library, where the character material library includes M bone data and M animation data sets, one bone data and one animation data set are respectively matched with one character type, and the animation data set includes candidate limb actions, candidate facial expressions, etc.; it can achieve the reuse (i.e., sharing) of one bone data and one animation data set for one character type, improving the reuse rate of character materials. When making an animation character of a certain character type, only need to obtain the bone data and animation data set corresponding to the character type from the character material library, and generate an animation video including the animation character of the character type according to the bone data, animation data set, and the character skin information of the animation character, without customizing character materials for the animation character, improving the production efficiency of the animation video and reducing the production complexity of the animation video. At the same time, the character skin information can reflect the personalized characteristics of the animation character, improving the diversity of the animation character and the production flexibility of the animation video.

[0146] Please refer to Figure 11, which is a schematic structural diagram of a computer device provided by an embodiment of the present application. As Figure 11 shown, the above computer device 1000 can be a terminal or a server, including: a processor 1001, a network interface 1004, and a memory 1005. In addition, the above computer device 1000 may further include: a user interface 1003, and at least one communication bus 1002. Among them, the communication bus 1002 is used to realize the connection and communication between these components. Among them, in some embodiments, the user interface 1003 may include a display screen (Display), a keyboard (Keyboard), and optionally, the user interface 1003 may further include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory, or a non-volatile memory (non-volatile memory), such as at least one disk memory. The memory 1005 may optionally be at least one storage device far from the aforementioned processor 1001. As Figure 11 shown, the memory 1005, as a computer-readable storage medium, may include an operating system, a network communication module, a user interface module, and a device control application program.

[0147] In Figure 11 the computer device 1000 shown, the network interface 1004 can provide network communication functions; while the user interface 1003 is mainly used to provide an input interface; and the processor 1001 can be used to call the device control application program stored in the memory 1005 to implement:

[0148] obtaining character description information of a first animation character to be added to an initial animation video; the character description information includes character skin information and a target character type;

[0149] determining, from a character material library, bone data matching the target character type, and an animation data set matching the target character type; the character material library includes M pieces of bone data and M animation data sets, one piece of bone data and one animation data set respectively match one character type, the bone data matching the target character type is used to describe the bones of the first animation character, and the animation data set corresponding to the target character type includes candidate animation data for describing the posture of the first animation character; M is a positive integer;

[0150] selecting candidate animation data from the animation data set corresponding to the target character type as the target animation data of the first animation character;

[0151] Add the first animated character to the initial animated video according to the target animation data, the bone data matching the target character type, and the character skin information to obtain a target animated video.

[0152] It can be understood that the processor 1001 can be used to call the device control application program stored in the memory 1005 to add the first animated character to the initial animated video according to the target animation data, the bone data matching the target character type, and the character skin information to obtain a target animated video, including:

[0153] Obtain the animation production engine used to produce the initial animated video, as well as the animated video program file, the initial scene tree, and the initial timeline in the animation production engine for generating the initial animated video;

[0154] Determine the character program segment for generating the first animated character according to the target animation data, the bone data matching the target character type, and the character skin information;

[0155] Add the character program segment corresponding to the first animated character to the animated video program file to obtain a target animated video program file;

[0156] Update the initial scene tree according to the target animation data and the character skin information to obtain a target scene tree associated with the first animated character, and update the initial timeline according to the target animation data to obtain a target timeline associated with the first animated character;

[0157] Generate a target animated video including the first animated character through the animation production engine based on the target animated video program file, the target scene tree, and the target timeline.

[0158] It can be understood that the processor 1001 can be used to call the device control application program stored in the memory 1005 to determine the character program segment for generating the first animated character according to the target animation data, the bone data matching the target character type, and the character skin information, including:

[0159] Obtain a first program template, a second program template, and a third program template from the character program library; the first program template is a program segment for describing the bone data matching the target character type and the bones of the animated character of the target character type, the second program template is a program segment for generating the skin of the animated character of the target character type, and the third program template is a program segment for generating the posture of the animated character of the target character type;

[0160] Add the character skin information to the second program template to obtain a program segment for generating the skin of the first animated character;

[0161] Add the target animation data to the third program template to obtain a program segment for generating the pose of the first animated character;

[0162] Associate the first program template, the program segment for generating the skin of the first animated character, and the program segment for generating the pose of the first animated character to obtain a character program segment for generating the first animated character.

[0163] It can be understood that the target animation data includes an animation clip; the animation clip is used to reflect the pose of the first animated character, as well as the start time and duration of the appearance of the pose of the first animated character;

[0164] It can be understood that the processor 1001 can be used to call the device control application program stored in the memory 1005 to update the initial scene tree according to the target animation data and the character skin information to obtain a target scene tree associated with the first animated character, and update the initial timeline according to the target animation data to obtain a target timeline associated with the first animated character, including:

[0165] According to the target animation data and the character skin information, add a character node for reflecting the first animated character, a first child node associated with the character node, and a second child node in the initial scene tree to obtain a scene tree associated with the first animated character; the first child node is used to reflect the pose of the first animated character, and the second child node is used to reflect the skin of the first animated character;

[0166] Add an animation track associated with the character node to the initial timeline, and identify the animation clip of the first animated character on the animation track;

[0167] Determine the target timeline associated with the first animated character according to the initial timeline after adding the animation track.

[0168] It can be understood that the processor 1001 can be used to call the device control application program stored in the memory 1005 to determine the target timeline associated with the first animated character according to the initial timeline after adding the animation track, including:

[0169] Obtain the attribute clip, line clip, and audio clip of the first animated character; the attribute clip is used to reflect the position attribute of the first animated character, as well as the start time and duration when the position attribute of the first animated character appears; the line clip is used to reflect the lines of the first animated character, as well as the start time and duration when the lines of the first animated character appear; the audio clip is used to reflect the audio corresponding to the first animated character, as well as the start time and duration when the audio corresponding to the first animated character appears;

[0170] Create a line track, an attribute track, and an audio track associated with the character node on the initial timeline after adding the animation track;

[0171] Identify the line clip of the first animated character on the line track, identify the attribute clip of the first animated character on the attribute track, and identify the audio clip on the audio track;

[0172] Determine the initial timeline after adding the animation track, the attribute track, the line track, and the audio track as the target timeline associated with the first animated character.

[0173] It can be understood that the animation clip includes a first animation clip, a second animation clip, and a third animation clip; the first animation clip is used to reflect the facial expression of the first animated character, as well as the start time and duration when the facial expression of the first animated character appears, the second animation clip is used to reflect the body movements of the first animated character, as well as the start time and duration when the body movements of the first animated character appear; the third animation clip is used to reflect the mouth shape of the first animated character, as well as the start time and duration when the mouth shape of the first animated character appears.

[0174] It can be understood that the processor 1001 can be used to call the device control application program stored in the memory 1005 to add an animation track associated with the character node on the initial timeline and identify the animation clip of the first animated character on the animation track, including:

[0175] Add a first animation track, a second animation track, and a third animation track associated with the character node on the initial timeline;

[0176] Identify the first animation clip on the first animation track, identify the second animation clip on the second animation track, and identify the third animation clip on the third animation track;

[0177] Determine the first animation track, the second animation track, and the third animation track as the animation tracks associated with the character node, and determine the first animation clip, the second animation clip, and the third animation clip as the animation clips of the first animated character.

[0178] It can be understood that the processor 1001 can be used to call the device control application program stored in the memory 1005 to generate a target animation video including the first animated character through the animation production engine based on the target animation video program file, the target scene tree, and the target timeline, including:

[0179] Play the animated characters in the target scene tree in sequence according to the target timeline and the target animation video program file;

[0180] Call the recording component through the animation production engine to record the video of the process of playing the animated characters in the target scene tree to obtain video frames;

[0181] Call the recording component through the animation production engine to record the audio of the process of playing the animated characters in the target scene tree to obtain audio frames;

[0182] If all the animated characters in the target scene tree have been played, synthesize the video frames and the audio frames to obtain a target animation video including the first animated character.

[0183] It can be understood that the candidate animation data in the animation data set corresponding to the target character type includes candidate facial expressions and candidate limb movements.

[0184] It can be understood that the processor 1001 can be used to call the device control application program stored in the memory 1005 to select candidate animation data from the animation data set corresponding to the target character type as the target animation data of the first animated character, including:

[0185] In response to an expression acquisition instruction for the first animated character, display the candidate facial expressions in the animation data set corresponding to the target character type;

[0186] In response to a selection operation for the candidate facial expressions in the animation data set, determine the selected candidate facial expression as the facial expression of the first animated character;

[0187] In response to an action acquisition instruction for the first animated character, display the candidate limb movements in the animation data set corresponding to the target character type;

[0188] In response to a selection operation for a candidate limb action in the animation data set, determine the selected candidate limb action as the limb action of the first animated character;

[0189] Generate target animation data for the first animated character according to the facial expression and limb action of the first animated character.

[0190] It can be understood that the processor 1001 can be used to call the device control application program stored in the memory 1005 to implement: obtaining an update operation for the role attribute information of the second animated character in the target animation video;

[0191] Obtain the operation type corresponding to the update operation through the animation production engine used to produce the initial animation video;

[0192] Update the role attribute information of the second animated character in the target animation video according to the operation type.

[0193] It can be understood that the processor 1001 can be used to call the device control application program stored in the memory 1005 to implement updating the role attribute information of the second animated character in the target animation video according to the operation type, including:

[0194] If the operation type is the target operation type, obtain a statement update model associated with the animation production engine and a first event processor; the first event processor is a processor used to process the update operation of the target operation type; the target operation type includes a data addition type or a data deletion type;

[0195] Notify the first event processor of the update operation of the target operation type through the statement update model;

[0196] Execute the update operation of the target operation type on the role attribute information of the second animated character in the target animation video through the first event processor.

[0197] It can be understood that the processor 1001 can be used to call the device control application program stored in the memory 1005 to implement executing the update operation of the target operation type on the role attribute information of the second animated character in the target animation video through the first event processor, including:

[0198] Obtain the target scene tree associated with the target animation video through the first event processor;

[0199] Update the target scene tree according to the update operation to obtain an updated target scene tree;

[0200] Update the character attribute information of the second animation character in the target animation video according to the updated target scene tree.

[0201] It can be understood that the processor 1001 can be used to call the device control application program stored in the memory 1005 to update the character attribute information of the second animation character in the target animation video according to the operation type, including:

[0202] If the operation type is a data modification type, obtain the update object corresponding to the update operation; the update object belongs to the object of the second animation character;

[0203] Query the view update model associated with the update object from the mapping table; the mapping table is used to reflect the association relationship between the object and the view update model, and the view update model associated with the update object is used to process the update operation corresponding to the update object;

[0204] Notify the second event processor corresponding to the view update model of the update operation of the data modification type through the view update model;

[0205] Execute the update operation of the data modification type on the update object of the second animation character in the target animation video through the second event processor.

[0206] It can be understood that the processor 1001 can be used to call the device control application program stored in the memory 1005 to execute the update operation of the data modification type on the update object of the second animation character in the target animation video through the second event processor, including:

[0207] If the update object is the skin object of the second animation character, obtain the target animation video program file used to generate the target animation video;

[0208] Update the character skin information of the second animation character in the target animation video program file with the character skin information carried by the update operation through the second event processor to obtain an updated target animation video program file;

[0209] Update the skin of the second animation character in the target animation video according to the target animation video program file.

[0210] In this application, by splitting the character materials of an animated character into bone data, animation data, and character skin information, and pre-creating a character material library, it is possible to achieve the reuse (i.e., sharing) of a bone data and an animation data set for one character type, improving the reuse rate of character materials. The character material library here includes M pieces of bone data and M animation data sets. One piece of bone data and one animation data set are respectively matched with one character type. The animation data set includes candidate limb movements, candidate facial expressions, etc. Therefore, when it is necessary to produce an animated character of a certain character type, only need to obtain the bone data and the animation data set of this character type from the character material library, and generate an animation video including the animated character of this character type according to the bone data, the animation data set, and the character skin information of this animated character, without customizing character materials for this animated character, improving the production efficiency of the animation video and reducing the production complexity of the animation video. At the same time, through the character skin information, the personalized characteristics of the animated character can be reflected, improving the diversity of the animated character and the production flexibility of the animation video.

[0211] It should be understood that the computer device 1000 described in the embodiments of this application can execute the descriptions of the above-mentioned animation video processing method in the corresponding embodiments mentioned above, and can also execute the descriptions of the above-mentioned animation video processing device in the corresponding embodiments mentioned above, which will not be elaborated here. In addition, the descriptions of the beneficial effects of using the same method will not be elaborated either. Figure 2 And the above-mentioned Figure 7 In addition, it should be pointed out here that: the embodiments of this application also provide a computer-readable storage medium, and the computer-readable storage medium stores the computer program executed by the above-mentioned animation video processing device mentioned above. The computer program includes program instructions. When the above-mentioned processor executes the above-mentioned program instructions, it can execute the descriptions of the above-mentioned animation video processing method in the corresponding embodiments mentioned above. Therefore, it will not be elaborated here. In addition, the descriptions of the beneficial effects of using the same method will not be elaborated either. For the technical details not disclosed in the embodiments of the computer-readable storage medium involved in this application, please refer to the descriptions of the method embodiments of this application. Figure 9 And Figure 10 In addition, it should be pointed out here that: the embodiments of this application also provide a computer-readable storage medium, and the computer-readable storage medium stores the computer program executed by the above-mentioned animation video processing device mentioned above. The computer program includes program instructions. When the above-mentioned processor executes the above-mentioned program instructions, it can execute the descriptions of the above-mentioned animation video processing method in the corresponding embodiments mentioned above. Therefore, it will not be elaborated here. In addition, the descriptions of the beneficial effects of using the same method will not be elaborated either. For the technical details not disclosed in the embodiments of the computer-readable storage medium involved in this application, please refer to the descriptions of the method embodiments of this application.

[0212] In addition, it should be pointed out here that: the embodiments of this application also provide a computer-readable storage medium, and the computer-readable storage medium stores the computer program executed by the above-mentioned animation video processing device mentioned above. The computer program includes program instructions. When the above-mentioned processor executes the above-mentioned program instructions, it can execute the descriptions of the above-mentioned animation video processing method in the corresponding embodiments mentioned above. Therefore, it will not be elaborated here. In addition, the descriptions of the beneficial effects of using the same method will not be elaborated either. For the technical details not disclosed in the embodiments of the computer-readable storage medium involved in this application, please refer to the descriptions of the method embodiments of this application. Figure 2 And the above-mentioned Figure 7 In addition, it should be pointed out here that: the embodiments of this application also provide a computer-readable storage medium, and the computer-readable storage medium stores the computer program executed by the above-mentioned animation video processing device mentioned above. The computer program includes program instructions. When the above-mentioned processor executes the above-mentioned program instructions, it can execute the descriptions of the above-mentioned animation video processing method in the corresponding embodiments mentioned above. Therefore, it will not be elaborated here. In addition, the descriptions of the beneficial effects of using the same method will not be elaborated either. For the technical details not disclosed in the embodiments of the computer-readable storage medium involved in this application, please refer to the descriptions of the method embodiments of this application.

[0213] As an example, the above-mentioned program instructions can be deployed to be executed on a computer device, or deployed to be executed on at least two computer devices at one location. Or, they can be executed on at least two computer devices distributed at least two locations and interconnected by a communication network. The at least two computer devices distributed at least two locations and interconnected by a communication network can form a blockchain network.

[0214] The computer-readable storage medium may be the middle storage unit of the animation video processing device provided in any of the foregoing embodiments or the above computer device, such as the hard disk or middle memory of the computer device. The computer-readable storage medium may also be an external storage device of the computer device, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the computer device. Further, the computer-readable storage medium may also include both the middle storage unit and the external storage device of the computer device. The computer-readable storage medium is used to store the computer program and other programs and data required by the computer device. The computer-readable storage medium may also be used to temporarily store data that has been output or is to be output.

[0215] In the description of the specification, claims and drawings of the embodiments of the present application, the terms "first", "second", etc. are used to distinguish the content in different media, rather than to describe a specific order. In addition, the term "including" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, device, product or equipment that includes a series of steps or units is not limited to the listed steps or modules, but may optionally further include steps or modules not listed, or may optionally further include other step units inherent to these processes, methods, devices, products or equipment.

[0216] It can be understood that if the above embodiments of the present application need to use user information, etc., user permission or consent needs to be obtained, and relevant laws and regulations of relevant countries and regions need to be complied with.

[0217] The embodiments of the present application also provide a computer program product, including computer programs / instructions, which when executed by a processor implement the descriptions of the above animation video processing methods in the corresponding embodiments described above. Therefore, details will not be repeated here. In addition, the description of the beneficial effects of using the same method will not be repeated. For the technical details not disclosed in the embodiments of the computer program product involved in the present application, please refer to the description of the method embodiments of the present application. Figure 2 and Figure 7 In addition, for the description of the beneficial effects of using the same method, it will not be repeated. For the technical details not disclosed in the embodiments of the computer program product involved in the present application, please refer to the description of the method embodiments of the present application.

[0218] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in connection with the embodiments disclosed herein can be implemented using electronic hardware, computer software, or a combination of the two. To clearly illustrate the interchangeability of hardware and software, the components and steps of each example have been generally described in terms of function in the above description. Whether these functions are executed in hardware or software depends on the specific application and design constraints of the technical solution. Skilled professionals may use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.

[0219] The methods and related devices provided by the embodiments of this application are described with reference to the method flowcharts and / or structural schematic diagrams provided by the embodiments of this application. Specifically, each process and / or block of the method flowchart and / or structural schematic diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable network-connected devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable network-connected devices generate a device for implementing the functions specified in Figure 1 one process or multiple processes and / or structural schematic Figure 1 one block or multiple blocks. These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable network-connected devices to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured article including an instruction device that implements the functions specified in Figure 1 one process or multiple processes and / or structural schematic Figure 1 one block or multiple blocks. These computer program instructions can also be loaded onto a computer or other programmable network-connected devices, such that a series of operation steps are executed on the computer or other programmable devices to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable devices provide steps for implementing the functions specified in Figure 1 one process or multiple processes and / or structural schematic one block or multiple blocks.

[0220] The above-disclosed are only the preferred embodiments of this application. Of course, the scope of the rights of this application cannot be limited thereby. Therefore, equivalent changes made in accordance with the claims of this application still fall within the scope covered by this application.

Claims

1. A method for processing animated videos, characterized in that, Including: Obtaining the character description information of the first animation character to be added to the initial animation video; The character description information includes character skin information and a target character type; From the character material library, determining the bone data matching the target character type and the set of animation data matching the target character type; The character material library includes M pieces of bone data and M sets of animation data. One piece of bone data and one set of animation data are respectively matched with one character type. The bone data matching the target character type is used to describe the bones of the first animation character, and the set of animation data corresponding to the target character type includes candidate animation data for describing the poses of the first animation character; M is a positive integer; Selecting candidate animation data from the set of animation data corresponding to the target character type as the target animation data of the first animation character; Obtaining the animation production engine for producing the initial animation video, as well as the animation video program file, the initial scene tree, and the initial timeline in the animation production engine for generating the initial animation video; Determining a character program segment for generating the first animation character according to the target animation data, the bone data matching the target character type, and the character skin information; Adding the character program segment corresponding to the first animation character to the animation video program file to obtain a target animation video program file; Updating the initial scene tree according to the target animation data and the character skin information to obtain a target scene tree associated with the first animation character, and updating the initial timeline according to the target animation data to obtain a target timeline associated with the first animation character; Through the animation production engine, generating a target animation video including the first animation character based on the target animation video program file, the target scene tree, and the target timeline.

2. The method according to claim 1, characterized in that, The determining a character program segment for generating the first animation character according to the target animation data, the bone data matching the target character type, and the character skin information includes: Obtaining a first program template, a second program template, and a third program template from the character program library; the first program template is a program segment for describing the bone data matching the target character type and for generating the bones of the animation character of the target character type, the second program template is a program segment for generating the skin of the animation character of the target character type, and the third program template is a program segment for generating the poses of the animation character of the target character type; Adding the character skin information to the second program template to obtain a program segment for generating the skin of the first animation character; Adding the target animation data to the third program template to obtain a program segment for generating the poses of the first animation character; Associate the first program template, the program segment for generating the skin of the first animated character, and the program segment for generating the pose of the first animated character to obtain a character program segment for generating the first animated character.

3. The method according to claim 1, characterized in that, The target animation data includes an animation clip; the animation clip is used to reflect the pose of the first animated character, as well as the start time and duration of the appearance of the pose of the first animated character; Updating the initial scene tree according to the target animation data and the character skin information to obtain a target scene tree associated with the first animated character, and updating the initial timeline according to the target animation data to obtain a target timeline associated with the first animated character, includes: According to the target animation data and the character skin information, add a character node for reflecting the first animated character, a first sub-node associated with the character node, and a second sub-node in the initial scene tree to obtain a scene tree associated with the first animated character; the first sub-node is used to reflect the pose of the first animated character, and the second sub-node is used to reflect the skin of the first animated character; Add an animation track associated with the character node on the initial timeline, and identify the animation clip of the first animated character on the animation track; Determine the target timeline associated with the first animated character according to the initial timeline after adding the animation track.

4. The method according to claim 3, characterized in that, The determining the target timeline associated with the first animated character according to the initial timeline after adding the animation track includes: Obtain the attribute clip, the line clip, and the audio clip of the first animated character; the attribute clip is used to reflect the position attribute of the first animated character, as well as the start time and duration of the appearance of the position attribute of the first animated character; the line clip is used to reflect the lines of the first animated character, as well as the start time and duration of the appearance of the lines of the first animated character; the audio clip is used to reflect the audio corresponding to the first animated character, as well as the start time and duration of the appearance of the audio corresponding to the first animated character; Create a line track, an attribute track, and an audio track associated with the character node on the initial timeline after adding the animation track; Identify the line clip of the first animated character on the line track, identify the attribute clip of the first animated character on the attribute track, and identify the audio clip on the audio track; Determine the initial timeline after adding the animation track, the attribute track, the line track, and the audio track as the target timeline associated with the first animated character.

5. The method according to claim 4, wherein The animation clip includes a first animation clip, a second animation clip, and a third animation clip; the first animation clip is used to reflect the facial expression of the first animated character, as well as the start time and duration of the appearance of the facial expression of the first animated character, and the second animation clip is used to reflect the body movements of the first animated character, as well as the start time and duration of the appearance of the body movements of the first animated character; The third animation clip is used to reflect the mouth shape of the first animation character, as well as the start time and duration when the mouth shape of the first animation character appears; Adding an animation track associated with the character node on the initial timeline, and identifying the animation clips of the first animation character on the animation track, includes: Adding a first animation track, a second animation track, and a third animation track associated with the character node on the initial timeline; Identifying the first animation clip on the first animation track, identifying the second animation clip on the second animation track, and identifying the third animation clip on the third animation track; Determining the first animation track, the second animation track, and the third animation track as the animation tracks associated with the character node, and determining the first animation clip, the second animation clip, and the third animation clip as the animation clips of the first animation character.

6. The method according to claim 1, wherein Generating a target animation video including the first animation character through the animation production engine based on the target animation video program file, the target scene tree, and the target timeline, includes: Sequentially playing the animation characters in the target scene tree according to the target timeline and the target animation video program file; Calling a recording component through the animation production engine to record a video of the process of playing the animation characters in the target scene tree to obtain video frames; Calling a recording component through the animation production engine to record an audio of the process of playing the animation characters in the target scene tree to obtain audio frames; If all the animation characters in the target scene tree are played, then synthesizing the video frames and the audio frames to obtain a target animation video including the first animation character.

7. The method according to claim 1, characterized in that The candidate animation data in the animation data set corresponding to the target character type includes candidate facial expressions and candidate body movements; Selecting candidate animation data from the animation data set corresponding to the target character type as the target animation data of the first animation character, includes: In response to an expression acquisition instruction for the first animation character, displaying the candidate facial expressions in the animation data set corresponding to the target character type; In response to a selection operation for the candidate facial expressions in the animation data set, determining the selected candidate facial expression as the facial expression of the first animation character; In response to an action acquisition instruction for the first animation character, displaying the candidate body movements in the animation data set corresponding to the target character type; In response to a selection operation for the candidate body movements in the animation data set, determining the selected candidate body movement as the body movement of the first animation character; Generating the target animation data of the first animation character according to the facial expression and body movement of the first animation character.

8. The method according to claim 1, wherein The method further includes: Obtaining an update operation for the role attribute information of the second animation character in the target animation video; Obtaining the operation type corresponding to the update operation through the animation production engine used to produce the initial animation video; Update the character attribute information of the second animated character in the target animated video according to the operation type.

9. The method according to claim 8, characterized in that The updating of the character attribute information of the second animated character in the target animated video according to the operation type includes: If the operation type is a target operation type, obtain a statement update model associated with the animation production engine and a first event processor; the first event processor is a processor for processing the update operation of the target operation type; the target operation type includes a data addition type or a data deletion type; Notify the first event processor of the update operation of the target operation type through the statement update model; Execute the update operation of the target operation type on the character attribute information of the second animated character in the target animated video through the first event processor.

10. The method according to claim 9, characterized in that, The executing of the update operation of the target operation type on the character attribute information of the second animated character in the target animated video through the first event processor includes: Obtain the target scene tree associated with the target animated video through the first event processor; Update the target scene tree according to the update operation to obtain an updated target scene tree; Update the character attribute information of the second animated character in the target animated video according to the updated target scene tree.

11. The method according to claim 8, wherein The updating of the character attribute information of the second animated character in the target animated video according to the operation type includes: If the operation type is a data modification type, obtain the update object corresponding to the update operation; the update object belongs to the object of the second animated character; Query the view update model associated with the update object from the mapping table; the mapping table is used to reflect the association relationship between the object and the view update model, and the view update model associated with the update object is used to process the update operation corresponding to the update object; Notify the second event processor corresponding to the view update model of the update operation of the data modification type through the view update model; Execute the update operation of the data modification type on the update object of the second animated character in the target animated video through the second event processor.

12. The method according to claim 11, wherein The executing of the update operation of the data modification type on the update object of the second animated character in the target animated video through the second event processor includes: If the update object is the skin object of the second animated character, obtain the target animated video program file for generating the target animated video; Update the character skin information of the second animated character in the target animated video program file with the character skin information carried by the update operation through the second event processor to obtain an updated target animated video program file; Update the skin of the second animated character in the target animated video according to the target animated video program file.

13. An animation video processing device, characterized in that, Includes: An acquisition module, configured to acquire the character description information of the first animated character to be added to the initial animated video; The character description information includes character skin information and a target character type; A determination module, configured to determine, from a character material library, bone data matching the target character type and a set of animation data matching the target character type; the character material library includes M pieces of bone data and M sets of animation data, one piece of bone data and one set of animation data respectively match one character type, the bone data matching the target character type is used to describe the bones of the first animated character, and the set of animation data corresponding to the target character type includes candidate animation data for describing the poses of the first animated character; M is a positive integer; A selection module, configured to select candidate animation data from the set of animation data corresponding to the target character type as the target animation data of the first animated character; The addition module includes an acquisition unit, a determination unit, an addition unit, an update unit, and a generation unit; The acquisition unit is configured to acquire an animation production engine for producing the initial animation video, and an animation video program file, an initial scene tree, and an initial timeline in the animation production engine for generating the initial animation video; The determination unit is configured to determine a character program segment for generating the first animated character according to the target animation data, the bone data matching the target character type, and the character skin information; The addition unit is configured to add the character program segment corresponding to the first animated character to the animation video program file to obtain a target animation video program file; The update unit is configured to update the initial scene tree according to the target animation data and the character skin information to obtain a target scene tree associated with the first animated character, and update the initial timeline according to the target animation data to obtain a target timeline associated with the first animated character; The generation unit is configured to generate a target animation video including the first animated character through the animation production engine based on the target animation video program file, the target scene tree, and the target timeline.

14. A computer device, comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, the steps of the method according to any one of claims 1 to 12 are implemented.

15. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 12 are implemented.

16. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 12 are implemented.

Citation Information

Patent Citations

  • Animation generation method and device, terminal and storage medium

    CN112819931A