Animation processing method, animation processing device, electronic equipment and storage medium

By splitting facial animation into multiple action units and generating action parameters, the problem of large demand for facial animation storage space is solved, and efficient storage of facial animation data is achieved.

CN120047580APending Publication Date: 2025-05-27TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311594173.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-24
Publication Date
2025-05-27

AI Technical Summary

Technical Problem

The storage space of facial animation is large, mainly because it requires three attributes of displacement, rotation and size, each attribute has three sub-attributes.

Method used

By splitting the face animation into multiple action units and generating corresponding action parameters for each action unit, specific data of displacement, rotation and size are avoided.

Benefits of technology

It effectively reduces the amount of data stored in facial animation and saves storage space, especially memory space.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120047580A_ABST
    Figure CN120047580A_ABST
Patent Text Reader

Abstract

The invention provides an animation processing method, an animation processing device, electronic equipment and a storage medium. The method comprises the steps of obtaining a facial animation, splitting the facial animation into a plurality of action units corresponding to action controllers, obtaining adjustment parameters of the action controllers corresponding to the action units for each action unit, obtaining preset adjustment thresholds for the action units, and adjusting the action units based on the adjustment parameters and the adjustment thresholds. Action parameters corresponding to the action units are generated, and the action parameters corresponding to the multiple action units are stored. According to the invention, the storage space of the facial animation can be saved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to data processing technologies, and in particular, to an animation processing method, an animation processing device, an electronic device, and a storage medium. Background Art

[0002] With the development of technology, the fields where animation technology is applied are becoming more and more extensive. For example, animation technology can be applied to the film field, the game field, the education field, etc., greatly facilitating people's lives.

[0003] Facial animation data includes three attributes: displacement, rotation, and size, and each attribute has three sub-attributes, resulting in a large amount of data for storing facial animation. Summary of the Invention

[0004] Embodiments of this application provide an animation processing method, device, electronic device, computer-readable storage medium, and computer program product, which can save the storage space of facial animation.

[0005] The technical solution of the embodiments of this application is implemented as follows:

[0006] Embodiments of this application provide an animation processing method, the method including:

[0007] Obtain facial animation;

[0008] Split the facial animation into multiple action units, where the action unit corresponds to an action controller;

[0009] For each action unit, obtain the adjustment parameter of the action controller corresponding to the action unit;

[0010] Obtain the preset adjustment threshold for the action unit;

[0011] Based on the adjustment parameter and the adjustment threshold, generate the action parameter corresponding to the action unit;

[0012] Store the action parameters corresponding to the multiple action units respectively.

[0013] Embodiments of this application provide an animation processing device, including:

[0014] An animation acquisition module, configured to obtain facial animation;

[0015] An animation splitting module, configured to split the facial animation into multiple action units, where the action unit corresponds to an action controller;

[0016] A parameter acquisition module, configured to obtain the adjustment parameter of the action controller corresponding to each action unit;

[0017] A threshold acquisition module, configured to acquire an adjustment threshold preset for the action unit;

[0018] A parameter generation module, configured to generate an action parameter corresponding to the action unit based on the adjustment parameter and the adjustment threshold;

[0019] A parameter storage module, configured to store the action parameters respectively corresponding to the multiple action units.

[0020] An embodiment of the present application provides an electronic device, which includes:

[0021] A memory, configured to store computer-executable instructions;

[0022] A processor, configured to implement the method provided by the embodiment of the present application when executing the computer-executable instructions stored in the memory.

[0023] An embodiment of the present application provides a computer-readable storage medium, storing a computer program or computer-executable instructions, which are configured to implement the animation processing method provided by the embodiment of the present application when being executed by a processor.

[0024] An embodiment of the present application provides a computer program product, including a computer program or computer-executable instructions, which are configured to implement the animation processing method provided by the embodiment of the present application when being executed by a processor.

[0025] The embodiment of the present application has the following beneficial effects:

[0026] By using the animation processing method provided by the embodiment of the present application, a facial animation can be split into multiple action units, and then action parameters corresponding to each action unit can be generated. Compared with the prior art, there is no need to store displacement, rotation, and size, which can reduce the data volume of storing the facial animation, and further can save the storage space occupied by animation processing, such as the memory space. Description of the Drawings

[0027] Figure 1 is a schematic structural diagram of an animation processing system provided by an embodiment of the present application;

[0028] Figure 2 is a schematic structural diagram of an electronic device provided by an embodiment of the present application;

[0029] Figure 3A is a first flowchart of an animation processing method provided by an embodiment of the present application;

[0030] Figure 3B is a second flowchart of an animation processing method provided by an embodiment of the present application;

[0031] Figure 3C It is the schematic diagram of the third process of the animation processing method provided by the embodiment of the present application;

[0032] Figure 3D It is the schematic diagram of the fourth process of the animation processing method provided by the embodiment of the present application;

[0033] Figure 3E It is the schematic diagram of the fifth process of the animation processing method provided by the embodiment of the present application;

[0034] Figure 3F It is the schematic diagram of the sixth process of the animation processing method provided by the embodiment of the present application;

[0035] Figure 4A It is the first schematic diagram of the animation marking tool interface provided by the embodiment of the present application;

[0036] Figure 4B It is the second schematic diagram of the animation marking tool interface provided by the embodiment of the present application;

[0037] Figure 5A It is the schematic diagram of the facial muscle movement direction of the human face provided by the embodiment of the present application;

[0038] Figure 5B It is the schematic diagram of the action unit provided by the embodiment of the present application;

[0039] Figure 6A It is the schematic diagram of the action unit of the animation editing tool interface provided by the embodiment of the present application;

[0040] Figure 6B It is the schematic diagram of the action controller of the animation editing tool interface provided by the embodiment of the present application;

[0041] Figure 6C It is the schematic diagram of the display value of the animation editing tool interface provided by the embodiment of the present application;

[0042] Figure 7 It is the calculation schematic diagram of the animation editing tool interface provided by the embodiment of the present application;

[0043] Figure 8 It is the schematic diagram of the seventh process of the animation processing method provided by the embodiment of the present application;

[0044] Figure 9 It is the schematic diagram of the animation editing tool interface and the animation engine provided by the embodiment of the present application;

[0045] Figure 10 It is the first schematic diagram of the animation editing tool provided by the embodiment of the present application;

[0046] Figure 11 It is the second schematic diagram of the animation editing tool provided by the embodiment of the present application;

[0047] Figure 12 is a schematic diagram of the animation curve of the prior art;

[0048] Figure 13 is a schematic diagram of the animation curve corresponding to the animation processing method provided by the embodiment of the present application;

[0049] Figure 14 is a schematic diagram of storing files for the prior art and the embodiment of the present application. Detailed implementation manners

[0050] In order to make the objectives, technical solutions, and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be construed as limiting the present application. All other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the scope of protection of the present application.

[0051] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments. However, it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict.

[0052] In the embodiments of the present application, the term "module" or "unit" refers to a computer program with a predetermined function or a part of a computer program, which works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as a processing circuit or a memory), or a combination thereof. Similarly, one processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be a part of an overall module or unit that includes the function of the module or unit.

[0053] Unless otherwise defined, all technical and scientific terms used in the embodiments of the present application have the same meaning as commonly understood by those of ordinary skill in the art to which the present application belongs. The terms used in the embodiments of the present application are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.

[0054] Before further elaborating on the embodiments of the present application, the nouns and terms involved in the embodiments of the present application are described. The nouns and terms involved in the embodiments of the present application are subject to the following explanations.

[0055] 1) Digital Content Creation (DCC), also known as an animation editing tool, is a general term for software used to create 3D (3-Dimension) models, animations, and special effects.

[0056] 2) Maya is a commonly used DCC tool, software for creating models and animations.

[0057] 3) A game engine is a general term for software used to create games and can also be called an animation engine.

[0058] 4) Unreal Engine (UE) is a commonly used game engine.

[0059] 5) The Facial Action Coding System (FACS) can define units of facial muscle movement and break down the movement of facial muscles into single expression elements.

[0060] 6) An Action Unit (AU) is a single expression element encoded by FACS.

[0061] 7) Pose assets, also known as PoseAssets, are the names of a type of asset in UE, specifically used to save animations. Each frame of the animation can be saved as a pose.

[0062] 8) SkeletalMesh is the name of a type of asset in UE, which contains a skeleton. The skeleton is used to connect bones and is responsible for moving each vertex of the SkeletalMesh to match the currently playing animation.

[0063] 9) The Advanced Encryption Standard (AES) is an encryption algorithm with multiple encryption modes. Both encryption and decryption require specific keys.

[0064] 10) Pickle is a file format. The pickle module is a Python-specific persistence module that can persist various data, including custom classes. It is more suitable for storing complex Python data itself. However, the serialized string is unreadable and can only be used in a Python environment and cannot be used for data exchange with other languages.

[0065] The embodiments of the present application provide an animation processing method, an animation processing device, an electronic device, a computer-readable storage medium, and a computer program product, which can achieve lightweight storage of facial animations, that is, can intermediate the storage space of facial animations. The following describes the exemplary applications of the terminal provided by the embodiments of the present application. The terminals provided by the embodiments of the present application can be various types of user terminals such as laptop computers, tablet computers, desktop computers, set-top boxes, mobile devices (e.g., mobile phones, portable music players, personal digital assistants, dedicated messaging devices, portable game devices), smart phones, smart speakers, smart watches, smart TVs, in-vehicle terminals, etc. The embodiments of the present application can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, intelligent transportation, assisted driving, etc.

[0066] See Figure 1 , Figure 1 FIG. is a schematic architecture diagram of the animation processing system 100 provided by the embodiments of the present application. To support an animation processing application, the terminal 400 is connected to the server 200 through the network 300. The network 300 can be a wide area network, a local area network, or a combination of the two. The terminal 400 is used to display an animation editing tool or an animation engine on the graphical interface 4010, and the server 200 is used to store facial animations and adjustment thresholds of action units.

[0067] Exemplarily, the user performs animation processing based on the animation editing tool displayed on the terminal 400. The terminal 400 can obtain a facial animation from the server 200 based on the user instruction, and split the facial animation into multiple action units. The terminal 400 can obtain the adjustment parameters of the action controller corresponding to each action unit based on the user instruction, and obtain the adjustment threshold from the server 200, so as to generate the action parameters of the action unit. The terminal 400 can store the action parameters locally on the terminal 400, or can also store the action parameters on the server 200.

[0068] Among them, the server 200 can be an independent physical server, or a server cluster or a distributed system composed of multiple physical servers, or can 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.

[0069] The solution of the embodiment of this application can be implemented through artificial intelligence technology. Artificial Intelligence (AI) uses digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, a theory, method, technology, and application system that perceives the environment, acquires knowledge, and uses knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a way similar to human intelligence. Artificial intelligence also studies the design principles and implementation methods of various intelligent machines, enabling the machines to have the functions of perception, reasoning, and decision-making.

[0070] Artificial intelligence technology is an interdisciplinary subject with a wide range of fields, including both hardware-level and software-level technologies. Artificial intelligence basic technologies generally include sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, pre-trained model technology, operation / interaction systems, mechatronics, etc. Among them, the pre-trained model, also known as the large model or the basic model, can be widely applied to downstream tasks in various directions of artificial intelligence after fine-tuning. Artificial intelligence software technologies mainly include several major directions such as computer vision technology, speech processing technology, natural language processing technology, and machine learning / deep learning.

[0071] The animation processing method provided by the embodiment of this application, after obtaining the facial animation, can identify the type to which the object in the animation belongs through the target recognition model. Among them, the type can be a person, an animal, a scenery, etc. For each type, the facial animation can be split into multiple action units, and according to the adjustment parameters and adjustment thresholds of the action units, the action parameters corresponding to the type are generated. Furthermore, the action parameters corresponding to each type can be stored locally on the terminal or on the server, thereby achieving the classification storage of action parameters locally on the terminal or on the server.

[0072] The animation processing method provided by the embodiment of this application can obtain the facial animation, split the facial animation into multiple action units, generate the action parameters corresponding to the type according to the adjustment parameters and adjustment thresholds of the action units, store the action parameters, and import the action parameters into other animations, thereby generating an animation including a human image.

[0073] In some embodiments, the in-vehicle terminal downloads navigation data from the server, which includes animations for assisted driving on some complex sections. For example, an intelligent assistant with a human image guides lane changes, passes through intersections, etc. The human image is an image generated based on the action parameters.

[0074] The server provides the remote access function of the animation editing tool to developers in the form of a web page. Developers can convert the facial animation into action parameters for storage to save the storage space of the facial animation.

[0075] See Figure 2 , Figure 2 which is a schematic structural diagram of an electronic device provided by an embodiment of the present application. Figure 2 The electronic device shown includes: at least one processor 410, a memory 450, at least one network interface 420, and a user interface 430. Each component in the electronic device is coupled together through a bus system 440. It can be understood that the bus system 440 is used to implement the connection and communication between these components. In addition to including a data bus, the bus system 440 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clear illustration, in Figure 2 all kinds of buses are labeled as the bus system 440.

[0076] The processor 410 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Among them, the general-purpose processor can be a microprocessor or any conventional processor, etc.

[0077] The user interface 430 includes one or more output devices 431 that enable the presentation of media content, including one or more speakers and / or one or more visual display screens. The user interface 430 also includes one or more input devices 432, including user interface components that facilitate user input, such as a keyboard, a mouse, a microphone, a touch screen display, a camera, and other input buttons and controls.

[0078] The memory 450 can be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memories, hard disk drives, optical disk drives, etc. The memory 450 optionally includes one or more storage devices that are physically located away from the processor 410.

[0079] The memory 450 includes volatile memory or non-volatile memory, and can also include both volatile and non-volatile memory. The non-volatile memory can be a read-only memory (ROM), and the volatile memory can be a random access memory (RAM). The memory 450 described in the embodiments of the present application is intended to include any suitable type of memory.

[0080] In some embodiments, the memory 450 is capable of storing data to support various operations. Examples of these data include programs, modules, and data structures, or subsets or supersets thereof, which are described below by way of example.

[0081] The operating system 451 includes system programs for processing various basic system services and performing hardware-related tasks, such as the framework layer, the core library layer, the driver layer, etc., for implementing various basic services and processing hardware-based tasks;

[0082] The network communication module 452 is used to reach other electronic devices via one or more (wired or wireless) network interfaces 420. Exemplary network interfaces 420 include: Bluetooth, Wi-Fi (Wireless Fidelity), and USB (Universal Serial Bus), etc.;

[0083] The presentation module 453 is used to enable the presentation of information (such as a user interface for operating peripheral devices and displaying content and information) via one or more output devices 431 associated with the user interface 430 (such as a display screen, a speaker, etc.);

[0084] The input processing module 454 is used to detect and translate one or more user inputs or interactions from one of one or more input devices 432.

[0085] In some embodiments, the animation processing device provided by the embodiments of the present application can be implemented in software. Figure 2 An animation processing device 455 stored in the memory 450 is shown. It can be software in the form of programs and plugins, etc., and includes the following software modules: an animation acquisition module 4551, an animation splitting module 4552, a parameter acquisition module 4553, a threshold acquisition module 4554, a parameter generation module 4555, and a parameter storage module 4556. These modules are logical, so they can be combined arbitrarily or further split according to the functions implemented. The functions of each module will be described below.

[0086] In other embodiments, the animation processing device provided in the embodiments of the present application can be implemented in hardware. As an example, the device provided in the embodiments of the present application can be a processor in the form of a hardware decoding processor, which is programmed to execute the animation processing method provided in the embodiments of the present application. For example, the processor in the form of a hardware decoding processor can adopt one or more application specific integrated circuits (Application Specific Integrated Circuit, ASIC), digital signal processors (Digital Signal Processor, DSP), programmable logic devices (Programmable Logic Device, PLD), complex programmable logic devices (Complex Programmable Logic Device, CPLD), field programmable gate arrays (Field-Programmable Gate Array, FPGA) or other electronic components.

[0087] The following describes the animation processing method provided by the embodiment of the present application.

[0088] See also Figure 3A , Figure 3A is a first flow chart of the animation processing method provided in the embodiment of the present application, which will be combined with Figure 3A The steps shown are explained, Figure 3A The subject of the steps is the electronic device, and the execution subject of each step will not be repeatedly described below.

[0089] In step 101 of the animation processing method provided in the embodiment of the present application, facial animation is obtained.

[0090] In order to reduce the amount of data stored in facial animation, facial animation can be obtained first. In some embodiments, an operation interface of an animation editing tool can be displayed, and the operation interface includes an import control. In response to an import instruction for the import control, the facial animation is imported into the animation editing tool, so that the electronic device can obtain the facial animation. The facial animation is a pre-set mb format file, and mb is a maya source file format.

[0091] Through step 101, the user can import facial animation according to actual usage requirements, thereby achieving a beneficial effect of satisfying the user's usage requirements.

[0092] In some embodiments, before step 102, a frame number edit box may be displayed in the animation editing tool, and in response to a setting operation, the number of frames to be used set in the frame number edit box is obtained. The number of frames to be used may be 50, 80, 100, etc.

[0093] Exemplarily, the frame number editing box displayed in the animation editing tool may include a start frame and an end frame. The user can set the start frame and the end frame. Thus, in response to the setting operation, the frame number range set in the frame number marking box can be obtained based on the start frame and the end frame. The difference between the frame number ranges is used as the number of frames to be used, where the number of frames to be used is a positive number.

[0094] The number of frames to be used can be used to subsequently split the facial animation into multiple action units. In this way, the number of frames to be used that meets the actual needs of the user can be obtained, facilitating the subsequent splitting of the facial animation into multiple action units according to the number of frames required by the user.

[0095] In step 102 of the animation processing method provided in the embodiments of the present application, the facial animation is split into multiple action units.

[0096] After obtaining the facial animation, the facial animation can be split into multiple action units. Among them, the action units correspond to action controllers. Each action unit can correspond to one action controller, or each action unit can correspond to multiple action controllers. An action unit is a unit representing a facial expression. For example, a facial unit can represent raising eyebrows, turning up the corners of the mouth, etc. An action controller is a virtual controller in page editing software used to control action units. In this way, precise control of action units can be achieved through action controllers.

[0097] During the process of animation processing, only a certain part of the facial animation can be fine-tuned. For such a scenario, the number of frames to be used may not be set. In some embodiments, in the case where the number of frames to be used is not obtained, the facial animation can be split, and each obtained part is used as an action unit of the facial animation.

[0098] Exemplarily, the facial animation can be recombined through an expression behavior coding system. According to the pre-set facial partitioning rules, each part in the facial animation is split out to obtain the action units of the facial animation, where the facial partitioning rules are rules pre-set according to the trends and intensities of facial muscles.

[0099] Exemplarily, the facial unit can be split into 90 action units. Among them, 90 is set by the user according to actual usage requirements and can also be set to other values according to actual usage requirements.

[0100] In this way, without obtaining the number of frames to be used, each action unit can be accurately divided according to the pre-set facial partitioning rules. For a scenario where only a certain action unit needs to be fine-tuned, the corresponding action unit can be more precisely located.

[0101] During the process of animating, it is possible to adjust a certain part corresponding to different frames of the facial animation, so as to achieve dynamic changes in a certain part of the facial animation. For such a scenario, in some embodiments, when the number of frames to be used is obtained, Figure 3A Step 102 shown can correspondingly include: based on the number of frames to be used, splitting the facial animation into multiple action units.

[0102] In some embodiments, referring to Figure 3B , Figure 3B The second process schematic diagram of the animation processing method provided by the embodiments of the present application, the above splitting the facial animation into multiple action units based on the number of frames to be used is implemented through the following steps 1021 to 1022, which will be specifically described below.

[0103] In step 1021, based on the number of frames to be used, dividing the facial animation into multiple facial sub - animations.

[0104] In some embodiments, step 1021 can be implemented in the following way. The facial animation includes a preset number of frames per second, and the facial animation includes a total number of frames equal to the duration (the unit can be seconds) multiplied by the preset number. After obtaining the number of frames to be used, the facial animation can be divided into the number of facial sub - animations equal to the number of frames to be used. Among them, the number of frames corresponding to the facial sub - animations can be the same or different. The number of facial sub - animations is consistent with the number of frames to be used.

[0105] As an example of step 1021, if the total number of frames of the facial animation is 500 frames and the number of frames to be used is 100 frames, the facial animation can be divided into 100 facial sub - animations, and among them, the number of frames of each facial sub - animation is 5 frames.

[0106] Through step 1021, the number of frames to be used is set by the user through the frame number editing box, so that the facial animation can be flexibly divided according to the user's usage requirements. Different facial sub - animations correspond to different frames of the facial animation. When step 103 is subsequently executed, it is possible to adjust the action units corresponding to each facial sub - animation, that is, it is possible to flexibly adjust a certain part corresponding to different frames in the facial animation.

[0107] In step 1022, for each facial sub - animation, perform splitting, and use the obtained parts as the action units of the corresponding facial sub - animation.

[0108] In some embodiments, step 1022 can be implemented in the following way. For each facial sub - animation, the facial sub - animation can be recombined through an expression behavior coding system, and according to the pre - set face partitioning rules, each part in the facial sub - animation is split out to obtain the action units of the facial sub - animation.

[0109] As an example of step 1022, each facial subunit can be split into 90 action units. If the facial animation includes 100 facial sub - animations, the facial animation can be split into 9000 facial subunits.

[0110] Through step 1022, the splitting of each facial sub - animation can be achieved, obtaining more accurate action units. Moreover, in the case of adjusting the action units corresponding to the facial sub - animation, it is equivalent to achieving flexible adjustment of a certain part corresponding to different frames in the facial animation.

[0111] Through steps 1021 and 1022, for the scenario of realizing dynamic changes in a certain part of the facial animation, the facial animation can be split at two levels, and more accurate action units can be obtained while meeting the user's usage requirements.

[0112] Through step 102, it is possible to obtain action units without obtaining the number of frames to be used, so as to meet the simple adjustment scenario of only fine - tuning a certain part of the facial animation. Through step 102, it is also possible to obtain action units when the number of frames to be used is obtained, so as to meet the complex adjustment scenario of adjusting a certain part corresponding to different frames of the facial animation. It can be seen that the above two methods fully consider different scenarios of animation processing and can improve the user's usage experience.

[0113] In step 103 of the animation processing method provided in the embodiment of the present application, for each of the action units, obtain the adjustment parameter of the action controller corresponding to the action unit.

[0114] In some embodiments, an editing interface of an animation editing tool can be displayed. The editing interface includes adjustment controls corresponding to the action controllers. In response to an adjustment instruction for the adjustment control, obtain the adjustment parameter of the action controller corresponding to the adjustment control.

[0115] Among them, there is an adjustment range for the adjustment parameter. The adjustment range corresponds to the action controller. The adjustment ranges corresponding to different action controllers can be the same or different, and the adjustment range is preset according to the facial features in the facial animation. For example, the adjustment range of action controller a is 0 - 1, and the adjustment parameter can be any value from 0 - 1, which is specifically set according to actual usage requirements.

[0116] In some embodiments, when the number of action controllers corresponding to an action unit is 1, the obtained adjustment parameter is 1. When the number of action controllers corresponding to an action unit is not 1, the obtained adjustment parameters are multiple.

[0117] Through step 103, the action controller of the action unit can be adjusted according to the actual usage requirements of the user, so as to achieve the adjustment of the action unit.

[0118] In step 104 of the animation processing method provided in the embodiment of the present application, obtain the adjustment threshold preset for the action unit.

[0119] The adjustment threshold is the maximum value that the corresponding action unit can adjust. In some embodiments, the editing interface further includes a storage control. In response to a storage instruction for the storage control, obtain the adjustment threshold preset for the action unit. Among them, the adjustment threshold is preset according to the facial features in the facial animation. For example, the adjustment threshold of action unit c can be 100.

[0120] Among them, there is a corresponding relationship between the adjustment threshold and the adjustment range. The adjustment range has two endpoints, namely the first endpoint and the second endpoint, and the second endpoint is greater than the first endpoint. The product of the first endpoint and the adjustment threshold is 0, and the product of the second endpoint and the adjustment threshold is 1. For example, the adjustment range is 0 - 0.5 and the adjustment threshold is 200, which can be specifically set according to the actual usage requirements of the user.

[0121] In step 105 of the animation processing method provided in the embodiment of the present application, generate the action parameter corresponding to the action unit based on the adjustment parameter and the adjustment threshold.

[0122] After obtaining the adjustment parameter and the adjustment threshold, the action parameter corresponding to the action unit can be generated based on the adjustment parameter and the adjustment threshold. Among them, the action parameter has an action parameter range, and the action parameter range is 0 - 100. 0 means that the action unit is not adjusted, and 100 means that the action unit is adjusted to the maximum.

[0123] In some embodiments, the adjustment parameter corresponds to a control identifier, and the control identifier is used to identify the action controller. Refer to the flow diagram of step 105 provided in the embodiment of the present application, that is Figure 3C , Figure 3C is the third flow diagram of the animation processing method provided in the embodiment of the present application. The above step 105 is implemented through the following steps 1051 to 1053, which will be specifically described below.

[0124] In step 1051 of step 105 provided in the embodiment of the present application, obtain the corresponding relationship between the preset candidate control identifier and the candidate adjustment threshold.

[0125] In some embodiments, step 1051 can be implemented in the following manner. In response to a storage instruction for the storage control, obtain the corresponding relationship between the preset candidate control identifier and the candidate adjustment threshold. Among them, the corresponding relationship is preset according to the facial features in the facial animation.

[0126] In step 1052, find the adjustment threshold corresponding to the control identifier from the corresponding relationship.

[0127] In some embodiments, step 1052 may be implemented in the following manner. When the control identifier includes one, that is, when the adjustment parameter is one, the adjustment threshold corresponding to the control identifier may be found from the correspondence between the candidate control identifiers and the candidate adjustment thresholds based on the control identifier.

[0128] In some embodiments, step 1052 may also be implemented in the following manner. When the control identifier includes multiple, that is, when the adjustment parameter is multiple, for each control identifier, the adjustment threshold corresponding to each control identifier may be found from the correspondence between the candidate control identifiers and the candidate adjustment thresholds.

[0129] As an example of step 1052, the correspondence between the candidate control identifiers and the candidate adjustment thresholds includes: the correspondence between candidate control identifier 1 and candidate adjustment threshold 1, the correspondence between candidate control identifier 2 and candidate adjustment threshold 2,..., the correspondence between candidate control identifier n and candidate adjustment threshold n, where n is not less than 5.

[0130] When the control identifier is control identifier 1, if candidate control identifier 1 is the same as control identifier 1, the candidate adjustment threshold 1 may be found from the correspondence between the candidate control identifiers and the candidate adjustment thresholds based on control identifier 1, and the candidate adjustment threshold 1 is used as the adjustment threshold corresponding to control identifier 1.

[0131] When the control identifier includes control identifier 2 and control identifier 5, if candidate control identifier 2 is the same as control identifier 2, the candidate adjustment threshold 2 may be found from the correspondence between the candidate control identifiers and the candidate adjustment thresholds based on control identifier 2, and the candidate adjustment threshold 2 is used as the adjustment threshold corresponding to control identifier 2

[0132] If candidate control identifier 5 is the same as control identifier 5, the candidate adjustment threshold 5 may be found from the correspondence between the candidate control identifiers and the candidate adjustment thresholds based on control identifier 5, and the candidate adjustment threshold 5 is used as the adjustment threshold corresponding to control identifier 5. Equivalently, two adjustment thresholds, namely candidate adjustment threshold 2 and candidate adjustment threshold 5, are obtained.

[0133] Through steps 1051 - 1052, the accurate search for the adjustment threshold according to the control identifier is achieved.

[0134] In step 1053, based on the product of the adjustment parameter and the adjustment threshold, the action parameter corresponding to the action unit is generated.

[0135] In some embodiments, the above step 1053 is implemented in the following manner. When the number of adjustment parameters is 1, the product of the adjustment parameter and the adjustment threshold is used as the action parameter corresponding to the action unit.

[0136] As an example of step 1053, the adjustment parameter is adjustment parameter 1, the adjustment threshold is candidate adjustment threshold 1, and the action parameter is the product of adjustment parameter 1 and adjustment threshold 1. This can accurately generate the action parameter when the number of adjustment parameters is 1.

[0137] In some embodiments, referring to Figure 3D , Figure 3D which is the fourth process schematic diagram of the animation processing method provided by the embodiments of the present application, the above step 1053 can also be implemented through the following steps 1053A to 1053B. The following is a specific description.

[0138] In step 1053A of step 1053 provided by the embodiments of the present application, when the number of adjustment parameters is multiple, for each adjustment parameter, the product of the adjustment parameter and the corresponding adjustment threshold is used as the product to be used.

[0139] In step 1053B of step 1053 provided by the embodiments of the present application, the sum of the products to be used is obtained to get the action parameter corresponding to the action unit.

[0140] As an example of step 1053A, there are 2 adjustment parameters, namely adjustment parameter 1 and adjustment parameter 2, the adjustment thresholds are candidate adjustment threshold 2 and candidate adjustment threshold 5, the product of adjustment parameter 1 and candidate adjustment threshold 2 is the product to be used 1, and the product of adjustment parameter 2 and candidate adjustment threshold 5 is the product to be used 2.

[0141] As an example of step 1053B, when the product to be used 1 is the product of adjustment parameter 1 and candidate adjustment threshold 2, and the product to be used 2 is the product of adjustment parameter 2 and candidate adjustment threshold 5, the action parameter is the sum of the product to be used 1 and the product to be used 2, that is, the action parameter is the product of adjustment parameter 1 and candidate adjustment threshold 2 plus the product of adjustment parameter 2 and candidate adjustment threshold 5.

[0142] Through steps 1053A to 1053B, it is possible to accurately generate the action parameter when the number of adjustment parameters is multiple.

[0143] In step 106 of the animation processing method provided by the embodiments of the present application, store the action parameters corresponding to the multiple action units respectively.

[0144] As an example of step 106, in the case where the number of frames to be used is not obtained, that is, when the facial animation is split into action units, the action parameters corresponding to 90 action units can be stored. In the case where the number of frames to be used is obtained, that is, when the facial sub-animation is split into action units, the action parameters corresponding to 90 times the number of frames to be used action units can be stored.

[0145] In the prior art, the facial animation data includes three attributes: displacement, rotation, and size, and each attribute has three sub-attributes. If there are 3 action controllers for controlling the eyebrows, then in the case of storing only the data corresponding to the eyebrows, 3×3×3 = 27 sets of animation data will be generated.

[0146] However, by using the animation processing method provided in the embodiments of the present application, the facial animation is split into multiple action units, and each action unit will only obtain 1 action parameter. If the action unit is the eyebrows being raised, then in the case of storing the data corresponding to the eyebrows being raised, 1 action parameter will be generated.

[0147] It can be seen that by using the animation processing method provided in the embodiments of the present application, the facial animation can be split into multiple action units, and then the action parameters corresponding to each action unit are generated. Compared with the prior art, there is no need to store displacement, rotation, and size, which can save the storage space of the facial animation, and thus can save the memory occupied by animation processing.

[0148] That is to say, by using the action processing method provided in the embodiments of the present application, the action units constituting the facial expression can be converted into 1 action parameter, and the action parameter is a parameter that can characterize the dynamic change of a certain part, so as to save the storage space of the facial animation.

[0149] See Figure 3E , Figure 3E which is the fifth process schematic diagram of the animation processing method provided in the embodiments of the present application. After step 106 shown in Figure 3A ,steps 107 to 108 can also be executed, which will be specifically described below.

[0150] In step 107 of the animation processing method provided in the embodiments of the present application, an encryption parameter is obtained.

[0151] In some embodiments, step 107 can be implemented in the following manner. According to a pre-set encryption algorithm, an encryption parameter is obtained, where the encryption parameter is a parameter for symmetric encryption or the encryption parameter is a parameter for asymmetric encryption.

[0152] As an example of step 107, for symmetric encryption, encryption parameters can be obtained based on the Advanced Encryption Standard (AES). For asymmetric encryption, encryption parameters can be obtained based on RSA.

[0153] In step 108 of the animation processing method provided in the embodiments of the present application, the action parameters are encrypted using the encryption parameters, and the encrypted action parameters are stored in a file that conforms to a preset storage file format.

[0154] Among them, the preset storage file format can be pickle, json, binary, etc. The pickle module is a dedicated persistence module for Python, which can persist various data including custom classes, and is more suitable for storing complex data in Python itself. However, the string after persistence is unreadable and can only be used in the Python environment and cannot be used for data exchange with other languages.

[0155] Python is a cross-DCC and animation engine, that is, a cross-platform coding language. Selecting the dedicated binary format pickle of Python as the preset storage file format can persist various data including custom classes, which is more suitable for storing complex data in Python itself.

[0156] Json is a lightweight data exchange format. It is easy to read and write, and can be used for data exchange between multiple languages. At the same time, it is also easy for machines to parse and generate. Binary is a file format. Fbx is a 3D general model file format. Obj is a 3D general model file format.

[0157] Using any one of pickle, json, and binary as the preset storage file format can further reduce memory occupancy compared to storing files in fbx or obj. For example, when storing the same facial animation, the memory occupied by storing the facial animation in an obj file is ten times that of storing it in a pickle file.

[0158] Through the above steps 107 and 108, the storage space of the exported file can be saved, and since the action parameters are encrypted, when the user wants to view the action parameters in the file, the file needs to be decrypted, which protects the security of the action parameters, that is, improves the security of the file exported by the animation editing tool.

[0159] In the prior art, for example, for a pickle file, a user can use the dump function in Python to store the file and also use the load function to read the file, but the file security is relatively low. Through step 108, the action parameters can be encrypted, which can improve the security of the action parameters and also reduce the memory occupied by the file.

[0160] From the above, it can be seen that the action parameters and the file are generated by the animation editing tool. Refer to Figure 3F , Figure 3F which is the sixth process schematic diagram of the animation processing method provided by the embodiment of the present application. After Figure 3E step 108 shown, the file can also be sent to the animation engine through the animation editing tool, so that the animation engine can execute the processing of the following steps 109 - step 111. The following is a specific description.

[0161] In step 109 of the animation processing method provided by the embodiment of the present application, decryption parameters are obtained.

[0162] In some embodiments, step 109 can be implemented in the following manner. According to the encryption algorithm corresponding to the encryption parameters, decryption parameters are obtained. Among them, the decryption parameters correspond to the encryption parameters. In the case where the encryption parameters are symmetric encryption parameters, the decryption parameters are the same as the encryption parameters.

[0163] In the case where the encryption parameters are asymmetric encryption parameters, the decryption parameters correspond to the encryption parameters. For asymmetric encryption, the animation editing software is the encrypting party, the animation engine is the decrypting party, the encryption parameters are the public key, and the decryption parameters are the private key.

[0164] In some embodiments, the terminal can call the animation editing tool and the animation engine through the character animation pipeline. Therefore, the encryption parameters and the decryption parameters can be stored in the character animation pipeline. For example, the encryption parameters and the decryption parameters can be stored using the Electronic Code Book (ECB). In this way, the transmission accuracy can be improved, thereby improving the accuracy of file transmission and further enhancing the security of the file.

[0165] In step 110 of the animation processing method provided by the embodiment of the present application, the file is decrypted using the decryption parameters to obtain the parameters to be used.

[0166] In some embodiments, step 110 can be implemented in the following manner. The file is decrypted using the decryption parameters. If the decryption is successful, the parameters to be used are obtained. If the decryption fails, a decryption failure is displayed in the game engine, and the file with the decryption failure is deleted.

[0167] Through step 110, the security of importing files by the game engine can be improved.

[0168] In step 111 of the animation processing method provided in the embodiment of the present application, pose materials are created, and based on the parameters to be used and the pose materials, animation materials are generated.

[0169] In some embodiments, the above step 111 can be implemented in the following manner. Pose materials are created in the game engine. For each parameter to be used, the parameter to be used is added to the corresponding pose material to obtain animation materials, that is, the value corresponding to the parameter to be used is assigned to the corresponding pose material to obtain animation materials.

[0170] When the number of parameters to be used is 90, the number of pose materials is 90, and the parameters to be used and the pose materials are in one-to-one correspondence. For each parameter to be used, the parameter to be used can be added to the corresponding pose material to obtain animation materials.

[0171] The number of action units corresponding to each frame of the facial sub-animation is the same. When the number of materials to be used is 90 * the number of frames to be used, the number of pose materials is 90. For each parameter to be used corresponding to each facial sub-animation, the parameter to be used can be added to the corresponding pose material to obtain animation materials.

[0172] Through step 111, it is equivalent to generating animation materials with action units as attributes in the animation engine.

[0173] To facilitate the understanding of the animation processing method provided in the embodiment of the present application, the following will illustrate the exemplary application of the embodiment of the present application in an actual application scenario.

[0174] When the user needs to store a facial animation, in order to reduce the data volume of storing the facial animation, the terminal can display the operation interface of the animation editing tool, where the operation interface includes an import control. The user can click the import control to select the facial animation to be stored, and the terminal can then receive an import instruction for the import control. In response to the import instruction for the import control, the facial animation can be imported into the animation editing tool. For example, the facial animation can be FemaleHead.mb, where FemaleHead is the head of a lady.

[0175] See Figure 4A , Figure 4AIt is the first schematic diagram of the animation marking tool interface provided by the embodiments of the present application. The terminal displays the animation assistant 401 through the maya editing interface 404, and in response to the user's click operation, it displays the editing page 404 corresponding to the animation assistant 401. In addition, the editing interface 404 also displays the entrance of facial generation, body generation, correction assistant, related tools, virtual face pinching, and help functions. Among them, virtual face pinching can also be called artificial intelligence (AI) face pinching.

[0176] The editing page 404 corresponding to the animation assistant 401 can display animation library management, standardized export of expression material sequences, expression animation export 402 of the expression action editing system, audio procedural generation, and character generation. Among them, the standardized export of expression material sequences can also be the standardized export of the character animation pipeline (Superman) expression asset sequence, and the expression animation export of the expression action editing system can also be the Superman-FACS expression animation export.

[0177] In response to the operation of the expression animation export 402 of the expression action editing system, refer to Figure 4B , Figure 4B It is the second schematic diagram of the animation marking tool interface provided by the embodiments of the present application. A frame number editing box 403 can pop up in the lower right corner of the editing interface 404, that is, the frame number editing box 403 is realized to be displayed in the animation editing tool.

[0178] In response to the user's operation of setting the frame number range in the frame number editing box 403, the frame number range 0 - 100 set in the frame number editing box is obtained, and then the difference between the frame number ranges is used as the frame numbers to be used, that is, the frame numbers to be used are 100.

[0179] Based on the frame numbers to be used, the facial animation is divided into multiple facial sub - animations, and each facial sub - animation is split, and each obtained part is used as the action unit of the corresponding facial sub - animation. According to the local muscle direction and intensity, the facial sub - animation can be split into 90 action units.

[0180] Refer to Figure 5A , Figure 5A It is the schematic diagram of the human face facial muscle direction provided by the embodiments of the present application. Figure 5A It shows the schematic diagram of the human face facial muscle direction, where AU4, AU6, AU27, AU25, AU12, AU10, AU64, AU26, AU62, AU14 are different action units. Refer to Figure 5B , Figure 5BFIG. 5B is a schematic diagram of an action unit provided by an embodiment of the present application. The action unit can be divided into four groups according to the upper face, lower face, eyes, forehead, and other parts related to the forehead. Each group includes multiple action units. Figure 5B Only action unit 1 is shown therein.

[0181] Refer to Figure 5B , to the right of action unit 1 are action unit 2, action unit 3, and action unit 4 in sequence. The action units corresponding to the lower face (in the order from left to right) are action unit 5, action unit 6, action unit 7, and action unit 8 in sequence.

[0182] The action units of the eyes and forehead (in the order from left to right) are action unit 9, action unit 10, action unit 11, and action unit 12 in sequence. The action units of other parts related to the forehead (in the order from left to right) are action unit 13, action unit 14, action unit 15, and action unit 16 in sequence.

[0183] Refer to Figure 6A , Figure 6A FIG. is a schematic diagram of an action unit of an animation editing tool interface provided by an embodiment of the present application. Figure 6A FIG. is one of the schematic diagrams of the editing interface of the animation editing tool displayed on the terminal. In the case where the user wants to drag the action unit 601 in the middle of the right eyebrow upward. Figure 6B FIG. is a schematic diagram of an action controller of an animation editing tool interface provided by an embodiment of the present application. Refer to Figure 6B , the terminal can display the adjustment control corresponding to the action controller. In response to the operation of dragging the adjustment control 602 corresponding to the action unit 601 upward, the terminal can obtain the adjustment parameter of the action unit 601.

[0184] In response to the adjustment instruction for the adjustment control 602, obtain the adjustment parameter of the action controller corresponding to the adjustment control 602; the editing interface of the animation editing tool further includes a storage control. In response to the trigger instruction for the storage control, obtain the preset adjustment threshold for the action unit 601. Furthermore, based on the adjustment threshold and the adjustment parameter, obtain the action parameter and store the action parameter.

[0185] The number of adjustment parameters is 1. The product of the adjustment parameter corresponding to the adjustment control 602 and the adjustment threshold of the action unit 601 can be used as the action parameter corresponding to the action unit 601. Figure 6C FIG. is a schematic diagram of the displayed value of an animation editing tool interface provided by an embodiment of the present application. Refer to Figure 6C , it can be shown on the editing interface that the action parameter corresponding to the upward movement of the action unit 601 is 100, that is, the action parameter corresponding to the 85-degree upward movement of the right middle eyebrow is 100. Among them, Figure 6CThe numbers of different parts are only for distinction.

[0186] In some embodiments, the editing interface of the animation editing tool can simultaneously display Figure 6A , Figure 6B and Figure 6C , so that it is convenient for the user to see the change values of the action parameters in real time.

[0187] The animation editing tool can be maya. Figure 7 is a schematic diagram of the calculation of the animation editing tool interface provided by the embodiments of the present application. Refer to Figure 7 . Figure 7 is a schematic diagram of the process of obtaining a file through maya. The action controllers corresponding to the action units include 5. Among them, Figure 7 only shows the action controller 701 and the action controller 702. In response to an adjustment instruction for the adjustment control, the calculation node can obtain the adjustment parameters of the action controller corresponding to the adjustment control. Among them, Figure 7 only shows the calculation node 703 and the calculation node 704.

[0188] The calculation node can generate the action parameter 705 based on the adjustment parameter and the adjustment threshold. Furthermore, a file can be generated according to the action parameter 705. The file includes multiple action parameters. In Figure 7 only the action parameter 705 is shown.

[0189] An action unit can correspond to one action controller or multiple action controllers. For example, the action unit can be the left cheek moving upward. The action controllers corresponding to the left cheek moving upward can include the left face moving upward action controller and can also include the mouth shape action controller.

[0190] The animation editing tool can be maya, and the animation engine can be UE. Figure 8 The seventh process schematic diagram of the animation processing method provided by the embodiments of the present application is as Figure 8 shown. In maya810, the facial animation 801 can be obtained, the facial animation 801 can be split to obtain action units, and then the action parameter 802 can be generated according to the adjustment parameters and adjustment thresholds corresponding to the action units. Furthermore, the action parameter 802 can be encrypted 803 and stored in a file with the file format of pickle. In the above process, the facial animation 801 in the format of mb is converted into a file in the format of pickle.

[0191] The terminal transmits the file to the UE820 through maya810. The UE can decrypt the file in the pickle format 804 to obtain the parameters to be used. Furthermore, based on the parameters to be used and the created pose materials, animation materials can be generated 805. In the above process, the file in the pickle format is converted into the file in the uasset format.

[0192] Figure 9 It is a schematic diagram of the animation editing tool interface and the animation engine provided by the embodiments of the present application. Refer to Figure 9 , Figure 9 It includes a schematic diagram of the maya910 displaying files and the UE920 displaying animation materials. Among them, the action units in maya910 correspond one-to-one with the pose materials in the UE920. In this way, it is possible to generate animation materials based on the action parameters and pose materials, and further achieve the consistency of facial animation transfer.

[0193] Figure 10 It is the first schematic diagram of the animation editing tool provided by the embodiments of the present application. Refer to Figure 10 , the user can open the tool interface corresponding to the FacialAnimImporter through the UE operation interface displayed on the terminal, and the terminal displays the unselected page 1010. In response to the pose material selection instruction, the created female head pose material is obtained. In response to the skeletal mesh object selection instruction, the pre-stored female head is obtained. Furthermore, in response to the file import instruction, the pre-generated file 1 can be imported. The terminal can display the content selected by the user, that is, the selected page 1020.

[0194] In response to the generation instruction, the parameters to be used in the file 1 are assigned to the corresponding pose materials to generate animation materials, and then the animation materials are displayed using the skeletal mesh object. Figure 11 It is the second schematic diagram of the animation editing tool provided by the embodiments of the present application. Refer to Figure 11 , which is a schematic diagram of the animation materials displayed in the UE.

[0195] In Figure 11 , the animation material display area 1101 can display the generated animation materials. The action unit display area 1102 can display different action units corresponding to the animation materials. The action parameter display area 1103 can display the change curves of the action parameters corresponding to different action units in different frames. For example, the left inner eyebrow 74 changes in terms of the action parameters when the frame number is between 150 and 165.

[0196] Refer to Figure 12 , Figure 12Schematic diagram of an animation curve in the prior art. In the prior art, facial animation data includes three attributes: displacement, rotation, and size, and each attribute has three sub-attributes. In addition, it also includes other associated input node information. For a model with 64 facial bones, the animation curve includes 64 multiplied by 9, which is 576 curves.

[0197] See Figure 13 , Figure 13 Schematic diagram of the animation curve corresponding to the animation processing method provided by an embodiment of the present application. In the case where the number of frames to be used is not obtained, the facial animation can be split into 90 action units. In the case where the number of frames to be used is obtained, the facial sub-animation can be split into 90 action units.

[0198] For the 90 action units obtained by splitting the facial animation, the action parameters corresponding to the 90 action units can be stored as animation curves respectively, obtaining 90 animation curves. For the 90 action units obtained by splitting the facial sub-animation, the partially consistent action units are grouped as a group, obtaining 90 action unit groups. The action parameters corresponding to the 90 action unit groups are stored as animation curves respectively, obtaining 90 animation curves.

[0199] The animation processing method provided by an embodiment of the present application can reduce the data volume of storing facial animation, thereby saving the storage space of the animation.

[0200] Figure 14 Schematic diagram of the storage files of the prior art and an embodiment of the present application. See Figure 14 , the prior art stores the facial animation as a 3D Object format file, and an embodiment of the present application stores the encrypted action parameters in a pickle format file. The pickle format file is about 10% of the 3D Object format file. It can be seen that by using the animation processing method provided by the present application, the data volume of storing facial animation can be reduced, thereby saving the storage space of the animation.

[0201] Next, continue to describe the exemplary structure of the software module implementation of the animation processing device 455 provided by an embodiment of the present application. In some embodiments, as Figure 2 shown, the software module stored in the animation processing device 455 in the memory 440 may include:

[0202] An animation acquisition module 4551, configured to acquire facial animation;

[0203] An animation splitting module 4552, configured to split the facial animation into multiple action units, where the action units correspond to action controllers;

[0204] A parameter acquisition module 4553 is configured to acquire, for each of the action units, an adjustment parameter of an action controller corresponding to the action unit;

[0205] A threshold acquisition module 4554 is configured to acquire a preset adjustment threshold of the action unit;

[0206] A parameter generation module 4555 is configured to generate, based on the adjustment parameter and the adjustment threshold, an action parameter corresponding to the action unit;

[0207] A parameter storage module 4556 is configured to store the action parameters respectively corresponding to the multiple action units.

[0208] In some embodiments, an animation acquisition module 4551 is further configured to display an operation interface of an animation editing tool, where the operation interface includes an import control; in response to an import instruction for the import control, import a facial animation into the editing of the animation editing tool.

[0209] In some embodiments, the software module in the above animation processing device 455 may further include: a frame number acquisition module; the frame number acquisition module is configured to, before splitting the facial animation to obtain action units, display a frame number editing box in the animation editing tool; in response to a setting operation, acquire the number of frames to be used set in the frame number editing box.

[0210] An animation splitting module 4552 is further configured to split the facial animation into multiple action units based on the number of frames to be used. In some embodiments, the animation splitting module 4552 is further configured to divide the facial animation into multiple facial sub - animations based on the number of frames to be used, where the number of the facial sub - animations is the same as the number of frames to be used; split each facial sub - animation, and use each obtained part as an action unit of the corresponding facial sub - animation.

[0211] In some embodiments, the parameter acquisition module 4553 is further configured to display an editing interface of the animation editing tool, where the editing interface includes an adjustment control corresponding to the action controller; in response to an adjustment instruction for the adjustment control, acquire an adjustment parameter of the action controller corresponding to the adjustment control.

[0212] In some embodiments, the editing interface further includes a storage control, and the threshold acquisition module 4554 is further configured to, in response to a storage instruction for the storage control, acquire a preset adjustment threshold for the action unit.

[0213] In some embodiments, the adjustment parameter corresponds to a control identifier, and the control identifier is used to identify the motion controller. The parameter generation module 4555 is further configured to obtain the corresponding relationship between the pre-set candidate control identifiers and candidate adjustment thresholds; search for the adjustment threshold corresponding to the control identifier from the corresponding relationship; and generate the motion parameter corresponding to the motion unit based on the product of the adjustment parameter and the adjustment threshold.

[0214] In some embodiments, when the number of adjustment parameters is 1, the parameter generation module 4555 is further configured to use the product of the adjustment parameter and the adjustment threshold as the motion parameter corresponding to the motion unit; when the number of adjustment parameters is multiple, for each adjustment parameter, use the product of the adjustment parameter and the corresponding adjustment threshold as the product to be used; and obtain the motion parameter corresponding to the motion unit by summing up the products to be used.

[0215] In some embodiments, the software module in the above animation processing device 455 may further include: a file export module; the file export module is configured to obtain an encryption parameter, where the encryption parameter is a parameter for symmetric encryption or the encryption parameter is a parameter for asymmetric encryption; encrypt the motion parameter using the encryption parameter, and store the encrypted motion parameter in a file that conforms to a preset storage file format.

[0216] In some embodiments, the motion parameter and the file are generated by an animation editing tool. The software module in the above animation processing device 455 may further include: a file sending module and a file importing module;

[0217] The file sending module is configured to send the file to the animation engine through the animation editing tool, so that the animation engine invokes the file importing module.

[0218] The file importing module is configured to obtain a decryption parameter, where the decryption parameter corresponds to the encryption parameter; decrypt the file using the decryption parameter to obtain a parameter to be used; create a pose material, and generate an animation material based on the parameter to be used and the pose material;

[0219] In some embodiments, the pose material corresponds to the parameter to be used. The file importing module is further configured to add the parameter to be used to the corresponding pose material for each parameter to be used to obtain an animation material.

[0220] An embodiment of the present application provides a computer program product, which includes computer-executable instructions stored in a computer-readable storage medium. The processor of the terminal device reads the computer-executable instructions from the computer-readable storage medium, and the processor executes the computer-executable instructions, so that the electronic device executes the animation processing method described above in the embodiment of the present application.

[0221] An embodiment of the present application provides a computer-readable storage medium storing computer-executable instructions, in which computer-executable instructions or computer programs are stored. When the computer-executable instructions or computer programs are executed by a processor, the processor will be caused to execute the animation processing method provided by the embodiment of the present application. For example, as Figure 3A the shown animation processing method.

[0222] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disc, or CD-ROM; or may be various devices including one or any combination of the above memories.

[0223] In some embodiments, the computer-executable instructions may be in the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including being deployed as an independent program or being deployed as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0224] As an example, the computer-executable instructions may or may not correspond to a file in the file system, and may be stored as part of a file that stores other programs or data. For example, they may be stored in one or more scripts in a Hyper Text Markup Language (HTML) document, stored in a single file dedicated to the program in question, or stored in multiple cooperating files (for example, files that store one or more modules, subroutines, or code portions).

[0225] As an example, the computer-executable instructions may be deployed to execute on one electronic device, or on multiple electronic devices located at one location, or on multiple electronic devices distributed at multiple locations and interconnected by a communication network.

[0226] In summary, through the embodiment of the present application, the data volume of facial animation storage can be reduced.

[0227] The above is only an embodiment of the present application and is not intended to limit the protection scope of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and scope of the present application are all included in the protection scope of the present application.

Claims

1. An animation processing method, characterized in that, the method includes: Obtain a facial animation; Split the facial animation into multiple action units, where the action units correspond to action controllers; For each of the action units, obtain the adjustment parameters of the action controller corresponding to the action unit; Obtain the preset adjustment threshold for the action unit; Based on the adjustment parameters and the adjustment threshold, generate the action parameters corresponding to the action unit; Store the action parameters corresponding to the multiple action units respectively.

2. The method according to claim 1, characterized in that, the adjustment parameters correspond to control identifiers, and the control identifiers are used to identify the action controllers; The generating the action parameters corresponding to the action unit based on the adjustment parameters and the adjustment threshold includes: Obtain the corresponding relationship between the preset candidate control identifiers and candidate adjustment thresholds; Find the adjustment threshold corresponding to the control identifier from the corresponding relationship; Based on the product of the adjustment parameters and the adjustment threshold, generate the action parameters corresponding to the action unit.

3. The method according to claim 2, characterized in that, The generating the action parameters corresponding to the action unit based on the product of the adjustment parameters and the adjustment threshold includes: When the number of the adjustment parameters is 1, use the product of the adjustment parameter and the adjustment threshold as the action parameters corresponding to the action unit; When the number of the adjustment parameters is multiple, for each of the adjustment parameters, use the product of the adjustment parameter and the corresponding adjustment threshold as the product to be used; Obtain the sum of the products to be used to get the action parameters corresponding to the action unit.

4. The method according to any one of claims 1-3, characterized in that, the obtaining the facial animation includes: Display the operation interface of the animation editing tool, and the operation interface includes an import control; In response to an import instruction for the import control, import the facial animation into the animation editing tool.

5. The method according to claim 4, characterized in that, the obtaining the adjustment parameters of the action controller includes: Display the editing interface of the animation editing tool, and the editing interface includes adjustment controls corresponding to the action controllers; In response to an adjustment instruction for the adjustment control, obtain the adjustment parameters of the action controller corresponding to the adjustment control.

6. The method according to claim 5, characterized in that, the editing interface further includes a storage control; the obtaining the preset adjustment threshold for the action unit includes: In response to a storage instruction for the storage control, obtain the preset adjustment threshold for the action unit.

7. The method according to any one of claims 1-3, characterized in that, before the splitting the facial animation into multiple action units, the method further includes: Display a frame number editing box in the animation editing tool; In response to a setting operation, obtain the frame number to be used set in the frame number editing box; The splitting the facial animation into multiple action units includes: Based on the number of frames to be used, split the facial animation into multiple action units.

8. The method according to claim 7, wherein, the splitting the facial animation into multiple action units based on the number of frames to be used includes: Based on the number of frames to be used, divide the facial animation into multiple facial sub - animations, wherein the number of the facial sub - animations is the same as the number of frames to be used; For each facial sub - animation, perform splitting, and use the obtained parts as the action units of the corresponding facial sub - animation.

9. The method according to any one of claims 1 - 3, wherein, after storing the action parameters corresponding to the multiple action units respectively, the method further includes: Obtain encryption parameters, wherein the encryption parameters are symmetric encryption parameters or the encryption parameters are asymmetric encryption parameters; Use the encryption parameters to encrypt the action parameters, and store the encrypted action parameters in a file that conforms to a preset storage file format.

10. The method according to claim 9, wherein, the action parameters and the file are generated by an animation editing tool; after storing the encrypted action parameters in a file that conforms to a preset storage file format, the method further includes: Through the animation editing tool, send the file to an animation engine so that the animation engine performs the following processing: Obtain decryption parameters, wherein the decryption parameters correspond to the encryption parameters; Use the decryption parameters to decrypt the file to obtain parameters to be used; Create pose materials, and generate animation materials based on the parameters to be used and the pose materials.

11. The method according to claim 10, wherein, the pose materials correspond to the parameters to be used; the generating animation materials based on the parameters to be used and the pose materials includes: For each of the parameters to be used, add the parameter to be used to the corresponding pose material to obtain animation materials.

12. An animation processing device, wherein, the device includes: An animation acquisition module, configured to acquire a facial animation; An animation splitting module, configured to split the facial animation into multiple action units, wherein the action units correspond to action controllers; A parameter acquisition module, configured to, for each of the action units, acquire the adjustment parameters of the action controller corresponding to the action unit; A threshold acquisition module, configured to acquire the adjustment threshold preset for the action unit; A parameter generation module, configured to generate the action parameters corresponding to the action unit based on the adjustment parameters and the adjustment threshold; A parameter storage module, configured to store the action parameters corresponding to the multiple action units respectively.

13. An electronic device, wherein, the electronic device includes: A memory, configured to store computer - executable instructions; A processor, configured to, when executing the computer - executable instructions stored in the memory, implement the method according to any one of claims 1 to 11.

14. A computer - readable storage medium, storing computer - executable instructions or a computer program, wherein, The computer-executable instructions or the computer program, when executed by a processor, implement the method according to any one of claims 1 to 11.

15. A computer program product, comprising computer-executable instructions or a computer program, wherein, the computer-executable instructions or the computer program, when executed by a processor, implement the method according to any one of claims 1 to 11.