System
The system addresses the inefficiencies in animation production by automatically generating intermediate frames using a generative model, enhancing production efficiency and quality.
Patent Information
- Application Number
- JP2024119089
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-24
- Publication Date
- 2026-02-05
AI Technical Summary
The current animation production process is time-consuming and labor-intensive, particularly in creating intermediate frames between key frames, and balancing production speed and quality is challenging with limited resources.
A system that receives key frames as input, specifies the number of intermediate frames, and uses a generative model to automatically generate and insert these frames, reducing manual effort and time through a trained deep learning model.
Significantly improves animation production efficiency by allowing high-quality animations to be created with less time and effort, maintaining quality through accurate frame generation.
Smart Images

Figure 2026018028000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] The current animation production process requires a great deal of time and effort, resulting in high production costs. In particular, the task of manually creating intermediate frames between key frames places a heavy burden on the creator. It is also difficult to balance production speed and quality, and there is a demand for producing high-quality animation with limited resources. Therefore, technology is needed to solve these issues and improve the efficiency of animation production. [Means for solving the problem]
[0005] The present invention provides a system that includes a means for receiving key frames as input and specifying the number of intermediate frames, a means for using a generative model to generate intermediate frames based on the key frames and the number of intermediate frames, and a means for inserting the generated intermediate frames into the key frames to complete the sequence. This system allows a user to automatically generate high-quality intermediate frames simply by specifying key frames and the number of intermediate frames they want to generate. This significantly reduces the effort and time required for animation production, enabling the efficient production of high-quality animation. Furthermore, using a trained deep learning model as the generative model enables more accurate frame generation.
[0006] "Key frames" are important frames in an animation sequence, frames that define the storyline and character movement.
[0007] "Intermediate frames" are frames that exist between main frames and are generated to smooth out movement and provide continuity.
[0008] A "generative model" is a trained algorithm or deep learning model for generating intermediate frames based on the main frames and the number of intermediate frames.
[0009] A "sequence" is a continuous series of frames in animation that are displayed one after the other to form a story or sequence of scenes.
[0010] "Insertion" refers to the operation of placing the generated intermediate frames between the main frames to complete a continuous sequence.
[0011] The term "means" refers to a method, device, technique, etc. used to achieve an objective, and in the present invention refers to a specific element for realizing each operation or function. [Brief explanation of the drawings]
[0012] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0013] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0014] First, the terms used in the following description will be explained.
[0015] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0016] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0017] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0018] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0019] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0020] [First embodiment]
[0021] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0022] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0023] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0024] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0025] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0026] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0027] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0028] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0029] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0030] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0031] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0032] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0033] This invention is a system that automatically generates intermediate frames between major frames using a generative model in order to reduce the time and effort required for animation production. A specific embodiment of this system and the program processing for it are described below.
[0034] System configuration
[0035] The system has a means for receiving key frames as input and automatically generating a specified number of intermediate frames. Each part of the system is described in detail below.
[0036] Inputting main frames
[0037] The user specifies key frames using the terminal, specifically by selecting the start frame (e.g., key_frame1) and end frame (e.g., key_frame2) of the animation scene and inputting them into the terminal.
[0038] Specifying the number of intermediate frames
[0039] The user inputs the number of intermediate frames into the terminal. For example, if the user wants to generate five intermediate frames between main frames, the user inputs the number "5." This information is sent from the terminal to the server.
[0040] Server Processing
[0041] The server receives the key frames and the number of intermediate frames sent from the device and generates the intermediate frames using a generative model, a trained deep learning model designed to improve the continuity and quality of the animation.
[0042] First, the server analyzes the sequence of key frames and organizes the start and end frame information. Then, it inputs the key frames and the number of intermediate frames into the generative model, which generates the specified number of intermediate frames. The generated frames are inserted between the key frames and organized into a continuous sequence.
[0043] Sending the results
[0044] The generated frame sequence is sent from the server to the device, which decodes the received data and displays it to the user, allowing the user to confirm that natural animation has been generated between key frames.
[0045] Specific examples
[0046] Usage example: To generate 10 frames of animation
[0047] 1. User operations
[0048] The user uses the terminal interface to specify "key_frame1" as the start frame and "key_frame2" as the end frame.
[0049] The user enters "5" as the number of intermediate frames.
[0050] 2. Terminal Processing
[0051] The terminal transmits the "key_frame1", "key_frame2" and the number of intermediate frames "5" input by the user to the server.
[0052] 3. Server Processing
[0053] The server uses the generative model to generate five intermediate frames between "key_frame1" and "key_frame2", resulting in a continuous sequence of seven frames ("key_frame1" + 5 intermediate frames + "key_frame2").
[0054] 4. Displaying the terminal
[0055] The generated frame sequence is sent back to the terminal and displayed to the user.
[0056] As a result, the system of the present invention significantly improves the efficiency of animation production, allowing creators to create high-quality animations with less time and effort.In addition, the deep learning model used as a generative model maintains high quality in the generated frames.
[0057] The processing flow will be explained below.
[0058] Step 1:
[0059] Using the terminal interface, the user selects the start frame (e.g., "key_frame1") and end frame (e.g., "key_frame2") of the animation scene. In addition, the user inputs the number of intermediate frames to be generated (e.g., "5").
[0060] Step 2:
[0061] The terminal assembles the key frames and the number of intermediate frames input by the user into a packet. This packet contains "key_frame1", "key_frame2", and the number of intermediate frames "5".
[0062] Step 3:
[0063] The terminal sends the collected packets to the server, ensuring that information is transmitted safely and reliably over the network.
[0064] Step 4:
[0065] The server receives the data packets sent from the terminal and extracts the key frames and intermediate frame numbers from the received information.
[0066] Step 5:
[0067] The server initializes a prepared generative model, which contains a trained deep learning algorithm.
[0068] Step 6:
[0069] The server provides the key frames and the number of intermediate frames to the generative model as input. Specifically, it specifies "key_frame1" and "key_frame2" as the start and end frames, and sets the number of intermediate frames to "5."
[0070] Step 7:
[0071] The generative model generates intermediate frames based on the configured information. The model generates five intermediate frames between "key_frame1" and "key_frame2" and adds them to a list as a continuous sequence.
[0072] Step 8:
[0073] The server assembles the generated frame sequence into a data packet and sends it to the terminal. This data packet contains the start frame "key_frame1", the five generated intermediate frames, and the end frame "key_frame2".
[0074] Step 9:
[0075] The terminal receives the data packets sent from the server, decodes the received data, and prepares it so that the generated frame sequence can be confirmed.
[0076] Step 10:
[0077] The terminal displays the generated frame sequence to the user, who can confirm that a natural animation has been generated between the start and end frames.
[0078] Example 1
[0079] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0080] Creating animation is a time-consuming and labor-intensive process. Inserting natural-looking in-between frames between key frames in an animated scene requires a significant amount of manual effort. There is a need for a way to automate this process while streamlining and maintaining quality.
[0081] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0082] In this invention, the server includes: means for receiving key frames as input and specifying the number of intermediate frames; means for using a generative model to generate intermediate frames based on the key frames and the number of intermediate frames; means for inserting the generated intermediate frames into the key frames to complete the sequence; means for inputting key frames using a terminal and specifying the number of intermediate frames; means for transmitting the specified key frames and the specified number of intermediate frames to the server; means for the server to generate intermediate frames between the specified key frames using the generative model; and means for returning the generated frame sequence to the terminal and displaying it to the user. This significantly improves the efficiency of animation production, allowing users to create high-quality animations without spending time and effort while maintaining quality.
[0083] "Key frames" refers to the significant beginning and ending frames in an animation sequence.
[0084] "Number of intermediate frames" refers to the number of frames that should be generated between key frames.
[0085] "Generative Model" refers to the machine learning model used to generate intermediate frames between specified key frames.
[0086] "Terminal" refers to a device through which a user inputs the number of key frames and intermediate frames and transmits this data to a server.
[0087] "Server" refers to a computer system that receives data sent from a terminal, generates intermediate frames using a generative model, and sends them back to the terminal.
[0088] "Generated intermediate frames" refer to frames newly generated between main frames by a generative model.
[0089] "Completing the sequence" refers to combining key frames with generated intermediate frames to create a series of animation frames.
[0090] "Displaying to the user" refers to displaying the generated frame sequence on the terminal so that the user can check it.
[0091] This invention is a system that automatically generates intermediate frames between major frames using a generative model in order to reduce the time and effort required for animation production. Specific embodiments of this system are described below.
[0092] System configuration
[0093] This system receives key frames as input and automatically generates a specified number of intermediate frames. The system consists of a terminal used by the user and a server that processes the data.
[0094] Inputting main frames
[0095] The user uses the terminal to specify the start frame (key_frame1) and end frame (key_frame2) of the animation scene. Specifically, the user selects "key_frame1.png" and "key_frame2.png" from the file selection dialog using the interface of the animation editing software.
[0096] Specifying the number of intermediate frames
[0097] The user inputs the number of intermediate frames into the terminal. For example, if five intermediate frames are to be generated between main frames, the user inputs "5" into the numeric input field and clicks the confirm button. This information is sent from the terminal to the server.
[0098] Server Processing
[0099] The server receives the data sent from the device and analyzes the number of key frames and intermediate frames. The server uses a generative AI model (e.g., a trained deep learning model built with TensorFlow or PyTorch) to generate intermediate frames between the specified key frames. Specifically, the server processes the generative model to generate intermediate frames continuously based on the shape and color information of the start and end frames.
[0100] Sending and displaying results
[0101] The generated frame sequence is sent back from the server to the device, which decodes the received data and uses a video playback engine to display it as successive frames for the user, allowing the user to see a natural animation sequence between key frames.
[0102] Specific examples
[0103] A specific example of using this system is given below.
[0104] Example of use: To generate intermediate frames of an animation
[0105] 1. User Action:
[0106] The user specifies "key_frame1.png" as the start frame and "key_frame2.png" as the end frame in the device interface.
[0107] The user enters "5" as the number of intermediate frames.
[0108] 2. Terminal processing:
[0109] The terminal transmits "key_frame1.png", "key_frame2.png", and the number of intermediate frames "5" input by the user to the server.
[0110] 3. Server processing:
[0111] The server uses the generative AI model to generate five intermediate frames between "key_frame1.png" and "key_frame2.png". The generated frame sequence consists of a total of seven frames ("key_frame1.png" + five intermediate frames + "key_frame2.png").
[0112] 4. Display terminal:
[0113] The generated frame sequence is sent back to the terminal and displayed to the user.
[0114] Prompt Sentence Examples
[0115] By inputting the following prompt sentence into the generative AI model, intermediate frames are generated through the above steps.
[0116] Specify "key_frame1.png" as the start frame of the key frames and "key_frame2.png" as the end frame, and generate five intermediate frames between the key frames.
[0117] With this specific example, the system of the present invention can significantly improve the efficiency of animation production, enabling creators to create high-quality animations without spending a lot of time and effort.
[0118] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0119] Step 1:
[0120] The user inputs the key frames using the terminal. Specifically, the user selects "key_frame1.png" and "key_frame2.png" from the file selection dialog using the interface of the animation editing software. The inputs are the image files of the key frames. The terminal reads these files into memory and proceeds to the next step.
[0121] Step 2:
[0122] The user specifies the number of intermediate frames. Specifically, the user enters "5" into the numeric input field on the terminal's user interface and clicks the confirm button. The input is the number of intermediate frames, "5." The terminal stores this information and transmits it to the server.
[0123] Step 3:
[0124] Data is sent from the device to the server. Specifically, the device creates an HTTP POST request and sends information about the start frame, end frame, and number of intermediate frames ("5") to the server's API endpoint. The input is the image files of the main frames ("key_frame1.png", "key_frame2.png") and the number of intermediate frames ("5"). The output is that the request has been sent to the server.
[0125] Step 4:
[0126] The server analyzes the received data. Specifically, the server analyzes the HTTP request and obtains the image data of the main frames and the number of intermediate frames. The input is the image file of the main frame and the data of the number of intermediate frames sent from the terminal. The server performs the following process based on this.
[0127] Step 5:
[0128] The server generates intermediate frames using a generative AI model. Specifically, the key frames and the number of intermediate frames are input to the generative AI model (e.g., a trained deep learning model built with TensorFlow or PyTorch), and the model generates intermediate frames based on the shape and color information of the start and end frames. The inputs are image files of the key frames and the number of intermediate frames. The output is image files of the generated intermediate frames.
[0129] Step 6:
[0130] The generated frame sequence is sent back to the terminal from the server. Specifically, the server assembles the generated intermediate frames into a continuous sequence, compresses and encodes them, and then sends them back to the terminal. The input is a group of image files of the generated intermediate frames. The output is the completion of data transmission to the terminal.
[0131] Step 7:
[0132] The device displays the received data to the user. Specifically, the device software decodes the received frames and uses a video playback engine to display them to the user as consecutive frames. The input is the generated frame sequence data returned from the server. The output is the user viewing the generated animation in the animation preview window.
[0133] (Application example 1)
[0134] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0135] In animation production, manually creating intermediate frames between key frames is a time-consuming and labor-intensive task. Content distribution services, in particular, require fast, high-quality animation, making efficiency a major challenge. There is also a need for a system that can quickly transmit the generated intermediate frames to client devices, allowing users to view the results in real time.
[0136] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0137] In this invention, the server includes means for receiving key frames as input and specifying the number of intermediate frames, means for using a generative model to generate intermediate frames based on the key frames and the number of intermediate frames, means for inserting the generated intermediate frames into the key frames to complete the sequence, and means for transmitting the generated frame sequence to a client device, thereby enabling efficient animation production and rapid generation and immediate transmission of high-quality intermediate frames to the client device.
[0138] A "key frame" is a significant frame in an animation or video sequence that shows a particular scene or action.
[0139] "Intermediate frames" are frames inserted between main frames to smooth out movement.
[0140] A "generative model" refers to an algorithm or deep learning model that generates new frames based on a number of key frames and intermediate frames.
[0141] "Sequence" means a collection of consecutive frames in an animation or video.
[0142] "Client device" refers to a terminal that receives the intermediate frame generation results and displays them to the user. Specifically, this applies to smartphones, tablets, and PCs.
[0143] A "trained deep learning model" refers to a neural network that has been previously trained with a large amount of data and optimized for a specific task (in this case, generating intermediate frames).
[0144] "Return" refers to the process of sending data generated on the server side back to the client device.
[0145] The present invention relates to a system that generates intermediate frames based on the number of key frames and intermediate frames, and transmits the frames to a client device.
[0146] First, the user specifies key frames using the terminal. Specifically, for example, the start frame of the animation is selected as "key_frame1" and the end frame as "key_frame2." Next, the user inputs the number of intermediate frames they want to generate into the terminal. For example, if they want to generate five intermediate frames, they input the number "5."
[0147] This information is sent from the terminal to the server. The server receives the key frames and the number of intermediate frames and generates intermediate frames based on this information using a deep learning model. The generative model used here is a trained deep learning model that has been trained using a large amount of animation data, allowing it to generate natural, high-quality intermediate frames.
[0148] The server analyzes the sequence of key frames and organizes the start and end frame information. It then inputs the key frames and the number of intermediate frames into the generative model, which generates the specified number of intermediate frames. The generated frames are inserted between the key frames to form a smooth continuous sequence. The generated frame sequence is then sent from the server to the client device.
[0149] The client device decodes the received data and displays it to the user, allowing the user to immediately see the natural animation generated between key frames.
[0150] Example
[0151] For example, a user opens the application on their smartphone, sets the start frame to "key_frame1.png," the end frame to "key_frame2.png," and inputs "5" as the number of intermediate frames. This information is sent to a backend server, which generates the specified five intermediate frames using a trained deep learning model. This generative model is trained using TensorFlow and Python. The generated frame sequence is sent back from the server to the smartphone and displayed on the user's smartphone.
[0152] Example prompts to input to a generative AI model:
[0153] Generate five intermediate frames between "key_frame1.png" and "key_frame2.png".
[0154] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0155] Step 1:
[0156] The user specifies the key frames and the number of intermediate frames using the terminal. Specifically, the start frame of the animation, "key_frame1.png," and the end frame, "key_frame2.png," are selected, and the number of intermediate frames to be generated, "5," is entered. The input data is the start frame, end frame, and number of intermediate frames.
[0157] Step 2:
[0158] The device sends this input data to the server. Specifically, the device sends an HTTP request (for example, data in JSON format) to the server. This request includes "key_frame1.png", "key_frame2.png", and the number of intermediate frames "5".
[0159] Step 3:
[0160] The server analyzes the received data and obtains the start frame, end frame, and number of intermediate frames. Specifically, the server decodes the received data and stores the number of key frames and intermediate frames in variables. The input of the server is the HTTP request sent from the terminal, and the output is the analyzed key frames and number of intermediate frames.
[0161] Step 4:
[0162] The server loads the image data for the start and end frames. Specifically, it reads "key_frame1.png" and "key_frame2.png" from the server's storage or cloud storage and obtains them as image data. The server's input is the frame file path, and its output is the loaded image data.
[0163] Step 5:
[0164] The server provides the key frames and the number of intermediate frames as input to the generative model, which then generates the intermediate frames. Specifically, image data is input to the deep learning model using TensorFlow or Python code, and the specified number of intermediate frames is generated. The server's input is the image data of the key frames and the number of intermediate frames, and its output is the image data of the generated intermediate frames.
[0165] Step 6:
[0166] The server inserts the generated intermediate frames between the key frames to complete the sequence. Specifically, it concatenates the key frames and the intermediate frames to create a continuous frame sequence. The server's input is the image data of the key frames and the generated intermediate frames, and its output is the completed frame sequence.
[0167] Step 7:
[0168] The server sends the completed frame sequence to the client device. Specifically, it encodes the generated frame sequence and returns it to the terminal as an HTTP response. The server's input is the completed frame sequence, and its output is the HTTP response to the client device.
[0169] Step 8:
[0170] The terminal decodes the frame sequence received from the server and displays it to the user. Specifically, the terminal analyzes the response from the server and plays the frame sequence continuously. The input to the terminal is the HTTP response of the frame sequence from the server, and the output is the animation displayed on the user's display.
[0171] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0172] The present invention is a system that enables more advanced animation production by combining a system that automatically generates intermediate frames between main frames with an emotion engine that recognizes the user's emotions. Specific embodiments of this system and program processing are described below.
[0173] System configuration
[0174] Inputting main frames
[0175] The user specifies the key frames of the animation using the terminal interface. In this example, the user selects "key_frame1" as the opening frame of the animation scene and "key_frame2" as the ending frame. The user also inputs the number of intermediate frames to be generated (for example, 5 frames) into the terminal.
[0176] Manipulating the Emotion Engine
[0177] The device is equipped with an emotion engine that analyzes the user's facial expressions and voice tone. When the user inputs the number of key frames and intermediate frames, the emotion engine recognizes the user's emotion and sends it as data to the server.
[0178] Server Processing
[0179] The server receives the key frames sent from the terminal, the number of intermediate frames, and the user's emotion data recognized by the emotion engine.
[0180] 1. Initializing the model and receiving data
[0181] The server initializes the generative model and extracts the number of received key frames and intermediate frames, as well as emotion data.
[0182] 2. Generation of intermediate frames
[0183] A generative model (deep learning model) generates intermediate frames based on the specified information. The server adjusts the frame generation according to the user's emotions recognized by the emotion engine. For example, if the user has the emotion "happy," a vivid and lively frame is generated.
[0184] 3. Inserting the intermediate frame
[0185] The server inserts the generated intermediate frames between the main frames to complete the continuous sequence.
[0186] 4. Sending Data Packets
[0187] The completed frame sequence is packaged as a data packet and sent to the terminal. The data packet includes the start frame "key_frame1", the five generated intermediate frames, and the end frame "key_frame2".
[0188] Terminal display
[0189] The device receives the data packets sent from the server, decodes the frame sequence, and displays it. The user can see that natural animation is generated between key frames, and enjoy the animation sequence that reflects the user's emotions.
[0190] Specific examples
[0191] Usage example: Generating 10 frames of animation using emotion engine
[0192] 1. User operations
[0193] The user uses the device interface to specify "key_frame1" as the opening frame and "key_frame2" as the ending frame. They also input "5" as the number of intermediate frames. The emotion engine analyzes the user's facial expressions and voice and recognizes that the user has the emotion "happy."
[0194] 2. Terminal Processing
[0195] The terminal transmits the main frame, the number of intermediate frames, and the user's emotion data to the server.
[0196] 3. Server Processing
[0197] The server initializes the generative model and analyzes the received data. The generative model generates five intermediate frames between "key_frame1" and "key_frame2" to generate a lively frame corresponding to the user's "happy" emotion. The generated frame sequence is packaged as a data packet and sent to the device.
[0198] 4. Displaying the terminal
[0199] The terminal decodes the received data packets and displays them to the user, who can enjoy a frame sequence that reflects his or her own emotions.
[0200] This allows the system of the present invention to create sophisticated animations that take into account the user's emotions. Furthermore, by using the emotion engine, it is possible to efficiently create appealing animations that appeal to the viewer's emotions.
[0201] The processing flow will be explained below.
[0202] Step 1:
[0203] The user uses the terminal interface to select the start frame (e.g., "key_frame1") and end frame (e.g., "key_frame2") of the animation scene, and also inputs the number of intermediate frames to be generated (e.g., "5").
[0204] Step 2:
[0205] The emotion engine analyzes the user's facial expressions and voice in real time to recognize the user's emotions. For example, it identifies whether the user is expressing "happiness."
[0206] Step 3:
[0207] The terminal transmits the main frame, the number of intermediate frames, and the recognized emotion data input by the user as packets to the server.
[0208] Step 4:
[0209] The server receives the data packets sent from the terminal and extracts the key frames, the number of intermediate frames, and the user's emotion data from the received packets.
[0210] Step 5:
[0211] The server initializes a generative model, which is a trained deep learning model.
[0212] Step 6:
[0213] The server provides the extracted key frames ("key_frame1" and "key_frame2") and the number of intermediate frames ("5") to the generative model. The generative model generates frames based on this information.
[0214] Step 7:
[0215] The server inputs additional user emotional data into the generative model. Based on this emotional data, the model generates frames that match the user's emotions. For example, for the emotion "happy," the model generates vivid and lively intermediate frames.
[0216] Step 8:
[0217] The generative model generates a specified number of intermediate frames between key frames. During this process, the generated frames are inserted between the start frame "key_frame1" and the end frame "key_frame2" to form a continuous sequence.
[0218] Step 9:
[0219] The server sends the generated frame sequence to the terminal as a data packet, which includes the start frame "key_frame1", the five generated intermediate frames, and the end frame "key_frame2".
[0220] Step 10:
[0221] The terminal receives the data packets sent from the server, decodes the received data, and formats it in a way that allows the generated frame sequence to be confirmed.
[0222] Step 11:
[0223] The device displays the generated frame sequence to the user, who can confirm that natural animation has been generated between the main frames and enjoy the frame sequence that reflects his or her own emotions.
[0224] Example 2
[0225] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0226] Conventional animation production systems have a problem in that it is difficult to reflect the user's emotions when generating intermediate frames between main frames. This makes it difficult to efficiently create animation sequences that appeal to the viewer's emotions. Furthermore, the generated intermediate frames often do not match the user's intentions or emotions, resulting in a lack of naturalness and unity.
[0227] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0228] In this invention, the server includes means for receiving key frames as input and specifying the number of intermediate frames, means for using a deep learning model to generate intermediate frames based on the key frames and the number of intermediate frames, means for inserting the generated intermediate frames into the key frames to complete the sequence, and means for generating frames according to the user's emotions using an emotion engine that recognizes the user's emotions, thereby enabling the generation of natural and attractive animation sequences that reflect the user's emotions.
[0229] "Key frames" refer to important beginning and ending frames in an animation sequence.
[0230] "Intermediate frames" are multiple frames inserted between main frames, and are generated to enhance the smoothness and naturalness of the animation.
[0231] A "deep learning model" is a type of artificial intelligence that uses multi-layered neural networks to perform pattern recognition and data generation.
[0232] An "emotion engine" is a software or hardware system that analyzes a user's facial expressions and tone of voice to recognize the user's emotions.
[0233] A "data packet" is a unit of a series of data organized for transferring data within a system.
[0234] A "frame sequence" is a set of animation frames, consisting of a series of key frames and intermediate frames.
[0235] MODE FOR CARRYING OUT THE INVENTION
[0236] This invention relates to a system that automatically generates intermediate frames between main frames to create animation sequences that reflect the user's emotions. This system is composed of user operations, terminal processing, server processing, and terminal display.
[0237] Inputting main frames
[0238] The user specifies the key frames of the animation using the terminal interface. Specifically, the user selects "key_frame1" as the opening frame, "key_frame2" as the ending frame, and inputs the number of intermediate frames to be generated. For example, the user can specify "5 frames" as the number of intermediate frames.
[0239] Manipulating the Emotion Engine
[0240] While the user is performing input operations, the emotion engine installed on the device analyzes the user's facial expressions and voice tone. The emotion engine detects the user's smile and other emotions through the camera and recognizes emotions such as "happiness." This recognized emotion data is used when generating intermediate frames.
[0241] Terminal handling
[0242] The device compiles the key frames specified by the user, the number of intermediate frames to be generated, and the emotion data recognized by the emotion engine. This information is sent as a data packet to the server. Specific examples of emotion engines used include general facial expression recognition APIs and voice analysis tools.
[0243] Server Processing
[0244] The server receives and analyzes data packets sent from the device. A deep learning model (such as a GAN model) using TensorFlow is used as the generative model. The server initializes this generative model and automatically generates intermediate frames based on the main frames, the number of intermediate frames, and the user's emotional data. The generated frames are adjusted according to the user's emotions. For example, if the user is "happy," the generated frames will be bright and vivid.
[0245] Intermediate Frame Generation
[0246] The server's generative model generates intermediate frames between the specified key frames that reflect the color tone and movement according to the user's emotions. Specifically, for example, five intermediate frames are generated between "key_frame1" and "key_frame2."
[0247] Assembling a frame sequence
[0248] The server inserts the generated intermediate frames between the main frames to complete a continuous frame sequence, which is then transmitted to the terminal as a series of data packets.
[0249] Terminal display
[0250] The device receives the data packets sent from the server and decodes the frame sequence, allowing the user to view a continuous animation. The generated frames also reflect the user's emotions, allowing for a more natural and engaging animation sequence.
[0251] Specific examples
[0252] For example, consider the case where a user types the following at a terminal:
[0253] User: I want to create an animation sequence.
[0254] Input the key frames and number of intermediate frames.
[0255] Start frame: key_frame1
[0256] End frame: key_frame2
[0257] Number of intermediate frames: 5
[0258] User emotion: happy
[0259] In this example, the user specifies "key_frame1" as the opening frame, "key_frame2" as the ending frame, and "5" as the number of intermediate frames. The emotion engine recognizes that the user is "happy," and five intermediate frames that reflect this emotion are generated. The device displays this generated frame sequence to the user, and the user can see an animation sequence that reflects their emotion.
[0260] This invention allows users to efficiently generate animation sequences that reflect their own emotions, and create visually appealing content.
[0261] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0262] Step 1:
[0263] Specifying and inputting main frames
[0264] The user specifies the key frames of the animation using the terminal interface. Specifically, the user selects "key_frame1" as the opening frame, "key_frame2" as the ending frame, and inputs the number of intermediate frames. For example, the user inputs "5 frames" as the number of intermediate frames. The input data is "key_frame1," "key_frame2," and "5 frames." This data is used in the next processing step.
[0265] Step 2:
[0266] Emotion recognition
[0267] When the user inputs the number of key frames and intermediate frames, the device's built-in emotion engine analyzes the user's facial expressions and voice tone through the camera. The emotion engine (a general facial expression recognition API or voice analysis tool) recognizes the user's "happy" emotion and generates corresponding data. The input is the user's facial expressions and voice, and the output is emotion data recognized as "happy."
[0268] Step 3:
[0269] Data collection and transmission
[0270] The device collects the user-specified "key_frame1", "key_frame2", the number of intermediate frames (5 frames), and the emotion data recognized by the emotion engine. This data packet is then sent to the server. Specific operations include generating a data packet and sending it to the server via an HTTP request. The input is the key frame, the number of intermediate frames, and the emotion data, and the output is a data packet sent to the server.
[0271] Step 4:
[0272] Initialization and Data Reception
[0273] The server receives and analyzes data packets sent from the device. A deep learning model (GAN model) using TensorFlow is used as the generative model. The server initializes the generative model based on the received data and extracts key frames, the number of intermediate frames, and emotion data. The input is the data packet, and the output is the extracted data.
[0274] Step 5:
[0275] Intermediate Frame Generation
[0276] The server's generative model generates a specified number of intermediate frames between key frames. The color tone and movement of the frames are adjusted based on the user's emotional data. For example, for the "happy" emotion, the generated frames have vivid and bright colors. The generative model uses TensorFlow to perform data calculations using deep learning. The inputs are the key frames, the number of intermediate frames, and the emotional data, and the output is the generated intermediate frames.
[0277] Step 6:
[0278] Assembling a frame sequence
[0279] The server inserts the generated intermediate frames between the key frames to complete a continuous frame sequence. Specifically, it assembles a sequence starting from "key_frame1," followed by the five generated intermediate frames, and ending with "key_frame2." This frame sequence is packaged as a data packet and sent to the terminal. The input is the generated intermediate frames and key frames, and the output is a data packet containing the frame sequence.
[0280] Step 7:
[0281] Sending data packets
[0282] The server assembles the completed frame sequence into a data packet and sends it to the terminal. It provides the frame sequence to the terminal by returning the data packet as an HTTP response. The input is the assembled frame sequence, and the output is the data packet sent to the terminal.
[0283] Step 8:
[0284] Receiving and decoding data packets
[0285] The terminal receives the data packets sent from the server and decodes the contents, so that the frame sequence is reconstructed within the terminal. The input is the data packets from the server, and the output is the decoded frame sequence.
[0286] Step 9:
[0287] View animation
[0288] The device displays the reconstructed frame sequence to the user. The user can see a natural animation sequence generated between the specified key frames. The generated frames also reflect the user's emotions, providing a more engaging visual experience. The input is the decoded frame sequence, and the output is the animation displayed to the user.
[0289] (Application example 2)
[0290] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0291] Conventional animation generation systems have been unable to take the user's emotions into account when generating intermediate frames from key frames, resulting in the generated animation not fully reflecting the user's intentions and emotions. Furthermore, there are insufficient means for users to easily create and adjust animations that match their own emotions.
[0292] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving key frames as input and specifying the number of intermediate frames, means for recognizing the user's emotion and inputting the emotion data into the generative model, means for using the generative model to generate intermediate frames based on the key frames and the number of intermediate frames, means for inserting the generated intermediate frames into the key frames to complete the sequence, and means for transmitting the completed sequence to the terminal. This makes it possible to generate and adjust animation according to the user's emotion.
[0293] "Key frames" are frames that mark the start and end of an animation and are specified by the user as input.
[0294] The "number of intermediate frames" is the number of frames inserted between main frames and is specified by the user.
[0295] A "generative model" is a trained deep learning model for generating intermediate frames based on key frames and the number of intermediate frames.
[0296] "User emotion" is emotion data recognized by analyzing the user's facial expressions and voice.
[0297] "Emotion data" is data that expresses a user's emotions as numerical values or categories, and is input to a generative model.
[0298] A "sequence" is the order of animation frames that is completed by placing the main frames and generated intermediate frames consecutively.
[0299] A "terminal" is a device for displaying the generated animation, and includes mobile devices such as smartphones.
[0300] This invention enables the generation of more advanced animations by combining a system that automatically generates intermediate frames to be inserted between main frames with an emotion engine that recognizes the user's emotions. Detailed embodiments of this system are described below.
[0301] System configuration
[0302] 1. Terminal
[0303] The user uses a device (e.g., a smartphone) to specify the number of key frames and intermediate frames. The device is equipped with an emotion engine that recognizes emotion data from the user's facial expressions and voice in real time. The emotion engine uses software such as DeepEmotionRecognizer.
[0304] 2. Server
[0305] The main frames, the number of intermediate frames, and the user's emotion data are transmitted from the terminal to the server. The server has the following functions:
[0306] 1. Initialize the generative model: Initialize a trained deep learning model (e.g., AnimationFrameGenerator).
[0307] 2. Data reception and analysis: Receive and analyze the transmitted data.
[0308] 3. Generate intermediate frames: Generate intermediate frames using the generative model. Adjust the generated results based on the user's emotion data.
[0309] 4. Complete the sequence: Insert the generated intermediate frames into the main frames to complete the animation sequence.
[0310] 5. Sending data packets: Assemble the completed sequence and send it to the terminal.
[0311] Processing flow
[0312] When the user specifies "key_frame1" and "key_frame2" as the main frames and instructs to generate five intermediate frames, the following processing is performed.
[0313] 1. User emotion recognition: The emotion engine analyzes the user's facial expressions and voice and recognizes the user's emotion as "happy."
[0314] 2. Data transmission: The key frame, the number of intermediate frames, and emotion data are transmitted from the device to the server.
[0315] 3. Generation of intermediate frames: The server analyzes the received data and generates five intermediate frames between "key_frame1" and "key_frame2" using the generative model. At this time, the mood of the frames is adjusted according to the emotional data.
[0316] 4. Complete and transmit the sequence: The generated frame sequence is transmitted to the terminal for the user to review.
[0317] Specific examples
[0318] For example, if a user wants to create an animation using a specific anime character, they can specify "key_frame1" as the start frame and "key_frame2" as the end frame, and set it to generate five intermediate frames. If the user's facial expression is recognized as "happy," the generated intermediate frames will be bright and lively animations. This allows for the generation of natural animation sequences that reflect the user's emotions.
[0319] Prompt Sentence Examples
[0320] "Generate intermediate frames to be inserted between main frames based on emotion. Use key_frame1 as the start frame, key_frame2 as the end frame, and the number of intermediate frames is 5. The user currently has the emotion happy."
[0321] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0322] Step 1:
[0323] The user uses the terminal to input the key frames (start frame "key_frame1" and end frame "key_frame2") and the number of intermediate frames. The terminal collects this information, analyzes the user's facial expressions and voice in real time, and generates emotion data. At this stage, the input data are the key frames, the number of intermediate frames, and emotion data. This information is prepared as output.
[0324] Step 2:
[0325] The device sends the key frame, the number of intermediate frames, and emotion data to the server. Data is then sent from the device to the server. The input at this stage is the key frame, the number of intermediate frames, and emotion data from the device. The output is a confirmation message that the transmission was successful.
[0326] Step 3:
[0327] The server analyzes the received data and initializes the generative model. A pre-trained deep learning model (e.g., AnimationFrameGenerator) is loaded on the server side. The inputs are the key frames, the number of intermediate frames, and emotion data sent from the device. The output is a message indicating that the generative model has been initialized.
[0328] Step 4:
[0329] The server generates intermediate frames using a generative model. At this time, it adjusts the generated results based on the user's emotional data. Specifically, if the user's emotional state is "happy," the model adjusts the parameters so that the generated frames are bright and lively. The inputs are the main frame, the number of intermediate frames, and the emotional data. The generated intermediate frames are obtained as the output.
[0330] Step 5:
[0331] The server inserts the generated intermediate frames between the key frames to complete a continuous animation sequence. Specifically, it inserts the generated intermediate frames in order between the start frame "key_frame1" and the end frame "key_frame2". The input is the key frames and the generated intermediate frames. The output is the completed animation sequence.
[0332] Step 6:
[0333] The server assembles the completed animation sequence into a data packet and sends it to the terminal. Specifically, it converts the completed animation sequence into a decodable format and packetizes it. The input is the completed animation sequence. The output is a transmission success message and the data packet.
[0334] Step 7:
[0335] The terminal receives the data packets sent from the server, decodes them, and displays them to the user, who can then view the generated animation sequence. The input is the data packets sent from the server, and the output is the decoded animation sequence.
[0336] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0337] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0338] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0339] [Second embodiment]
[0340] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0341] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0342] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0343] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0344] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0345] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0346] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0347] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0348] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0349] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0350] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0351] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0352] This invention is a system that automatically generates intermediate frames between major frames using a generative model in order to reduce the time and effort required for animation production. A specific embodiment of this system and the program processing for it are described below.
[0353] System configuration
[0354] The system has a means for receiving key frames as input and automatically generating a specified number of intermediate frames. Each part of the system is described in detail below.
[0355] Inputting main frames
[0356] The user specifies key frames using the terminal, specifically by selecting the start frame (e.g., key_frame1) and end frame (e.g., key_frame2) of the animation scene and inputting them into the terminal.
[0357] Specifying the number of intermediate frames
[0358] The user inputs the number of intermediate frames into the terminal. For example, if the user wants to generate five intermediate frames between main frames, the user inputs the number "5." This information is sent from the terminal to the server.
[0359] Server Processing
[0360] The server receives the key frames and the number of intermediate frames sent from the device and generates the intermediate frames using a generative model, a trained deep learning model designed to improve the continuity and quality of the animation.
[0361] First, the server analyzes the sequence of key frames and organizes the start and end frame information. Then, it inputs the key frames and the number of intermediate frames into the generative model, which generates the specified number of intermediate frames. The generated frames are inserted between the key frames and organized into a continuous sequence.
[0362] Sending the results
[0363] The generated frame sequence is sent from the server to the device, which decodes the received data and displays it to the user, allowing the user to confirm that natural animation has been generated between key frames.
[0364] Specific examples
[0365] Usage example: To generate 10 frames of animation
[0366] 1. User operations
[0367] The user uses the terminal interface to specify "key_frame1" as the start frame and "key_frame2" as the end frame.
[0368] The user enters "5" as the number of intermediate frames.
[0369] 2. Terminal Processing
[0370] The terminal transmits the "key_frame1", "key_frame2" and the number of intermediate frames "5" input by the user to the server.
[0371] 3. Server Processing
[0372] The server uses the generative model to generate five intermediate frames between "key_frame1" and "key_frame2", resulting in a continuous sequence of seven frames ("key_frame1" + 5 intermediate frames + "key_frame2").
[0373] 4. Displaying the terminal
[0374] The generated frame sequence is sent back to the terminal and displayed to the user.
[0375] As a result, the system of the present invention significantly improves the efficiency of animation production, allowing creators to create high-quality animations with less time and effort.In addition, the deep learning model used as a generative model maintains high quality in the generated frames.
[0376] The processing flow will be explained below.
[0377] Step 1:
[0378] Using the terminal interface, the user selects the start frame (e.g., "key_frame1") and end frame (e.g., "key_frame2") of the animation scene. In addition, the user inputs the number of intermediate frames to be generated (e.g., "5").
[0379] Step 2:
[0380] The terminal assembles the key frames and the number of intermediate frames input by the user into a packet. This packet contains "key_frame1", "key_frame2", and the number of intermediate frames "5".
[0381] Step 3:
[0382] The terminal sends the collected packets to the server, ensuring that information is transmitted safely and reliably over the network.
[0383] Step 4:
[0384] The server receives the data packets sent from the terminal and extracts the key frames and intermediate frame numbers from the received information.
[0385] Step 5:
[0386] The server initializes a prepared generative model, which contains a trained deep learning algorithm.
[0387] Step 6:
[0388] The server provides the key frames and the number of intermediate frames to the generative model as input. Specifically, it specifies "key_frame1" and "key_frame2" as the start and end frames, and sets the number of intermediate frames to "5."
[0389] Step 7:
[0390] The generative model generates intermediate frames based on the configured information. The model generates five intermediate frames between "key_frame1" and "key_frame2" and adds them to a list as a continuous sequence.
[0391] Step 8:
[0392] The server assembles the generated frame sequence into a data packet and sends it to the terminal. This data packet contains the start frame "key_frame1", the five generated intermediate frames, and the end frame "key_frame2".
[0393] Step 9:
[0394] The terminal receives the data packets sent from the server, decodes the received data, and prepares it so that the generated frame sequence can be confirmed.
[0395] Step 10:
[0396] The terminal displays the generated frame sequence to the user, who can confirm that a natural animation has been generated between the start and end frames.
[0397] Example 1
[0398] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0399] Creating animation is a time-consuming and labor-intensive process. Inserting natural-looking in-between frames between key frames in an animated scene requires a significant amount of manual effort. There is a need for a way to automate this process while streamlining and maintaining quality.
[0400] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0401] In this invention, the server includes: means for receiving key frames as input and specifying the number of intermediate frames; means for using a generative model to generate intermediate frames based on the key frames and the number of intermediate frames; means for inserting the generated intermediate frames into the key frames to complete the sequence; means for inputting key frames using a terminal and specifying the number of intermediate frames; means for transmitting the specified key frames and the specified number of intermediate frames to the server; means for the server to generate intermediate frames between the specified key frames using the generative model; and means for returning the generated frame sequence to the terminal and displaying it to the user. This significantly improves the efficiency of animation production, allowing users to create high-quality animations without spending time and effort while maintaining quality.
[0402] "Key frames" refers to the significant beginning and ending frames in an animation sequence.
[0403] "Number of intermediate frames" refers to the number of frames that should be generated between key frames.
[0404] "Generative Model" refers to the machine learning model used to generate intermediate frames between specified key frames.
[0405] "Terminal" refers to a device through which a user inputs the number of key frames and intermediate frames and transmits this data to a server.
[0406] "Server" refers to a computer system that receives data sent from a terminal, generates intermediate frames using a generative model, and sends them back to the terminal.
[0407] "Generated intermediate frames" refer to frames newly generated between main frames by a generative model.
[0408] "Completing the sequence" refers to combining key frames with generated intermediate frames to create a series of animation frames.
[0409] "Displaying to the user" refers to displaying the generated frame sequence on the terminal so that the user can check it.
[0410] This invention is a system that automatically generates intermediate frames between major frames using a generative model in order to reduce the time and effort required for animation production. Specific embodiments of this system are described below.
[0411] System configuration
[0412] This system receives key frames as input and automatically generates a specified number of intermediate frames. The system consists of a terminal used by the user and a server that processes the data.
[0413] Inputting main frames
[0414] The user uses the terminal to specify the start frame (key_frame1) and end frame (key_frame2) of the animation scene. Specifically, the user selects "key_frame1.png" and "key_frame2.png" from the file selection dialog using the interface of the animation editing software.
[0415] Specifying the number of intermediate frames
[0416] The user inputs the number of intermediate frames into the terminal. For example, if five intermediate frames are to be generated between main frames, the user inputs "5" into the numeric input field and clicks the confirm button. This information is sent from the terminal to the server.
[0417] Server Processing
[0418] The server receives the data sent from the device and analyzes the number of key frames and intermediate frames. The server uses a generative AI model (e.g., a trained deep learning model built with TensorFlow or PyTorch) to generate intermediate frames between the specified key frames. Specifically, the server processes the generative model to generate intermediate frames continuously based on the shape and color information of the start and end frames.
[0419] Sending and displaying results
[0420] The generated frame sequence is sent back from the server to the device, which decodes the received data and uses a video playback engine to display it as successive frames for the user, allowing the user to see a natural animation sequence between key frames.
[0421] Specific examples
[0422] A specific example of using this system is given below.
[0423] Example of use: To generate intermediate frames of an animation
[0424] 1. User Action:
[0425] The user specifies "key_frame1.png" as the start frame and "key_frame2.png" as the end frame in the device interface.
[0426] The user enters "5" as the number of intermediate frames.
[0427] 2. Terminal processing:
[0428] The terminal transmits "key_frame1.png", "key_frame2.png", and the number of intermediate frames "5" input by the user to the server.
[0429] 3. Server processing:
[0430] The server uses the generative AI model to generate five intermediate frames between "key_frame1.png" and "key_frame2.png". The generated frame sequence consists of a total of seven frames ("key_frame1.png" + five intermediate frames + "key_frame2.png").
[0431] 4. Display terminal:
[0432] The generated frame sequence is sent back to the terminal and displayed to the user.
[0433] Prompt Sentence Examples
[0434] By inputting the following prompt sentence into the generative AI model, intermediate frames are generated through the above steps.
[0435] Specify "key_frame1.png" as the start frame of the key frames and "key_frame2.png" as the end frame, and generate five intermediate frames between the key frames.
[0436] With this specific example, the system of the present invention can significantly improve the efficiency of animation production, enabling creators to create high-quality animations without spending a lot of time and effort.
[0437] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0438] Step 1:
[0439] The user inputs the key frames using the terminal. Specifically, the user selects "key_frame1.png" and "key_frame2.png" from the file selection dialog using the interface of the animation editing software. The inputs are the image files of the key frames. The terminal reads these files into memory and proceeds to the next step.
[0440] Step 2:
[0441] The user specifies the number of intermediate frames. Specifically, the user enters "5" in the numeric input field on the terminal's user interface and clicks the confirm button. The input is the number of intermediate frames, "5." The terminal stores this information and transmits it to the server.
[0442] Step 3:
[0443] Data is sent from the device to the server. Specifically, the device creates an HTTP POST request and sends information about the start frame, end frame, and number of intermediate frames ("5") to the server's API endpoint. The input is the image files of the main frames ("key_frame1.png", "key_frame2.png") and the number of intermediate frames ("5"). The output is that the request has been sent to the server.
[0444] Step 4:
[0445] The server analyzes the received data. Specifically, the server analyzes the HTTP request and obtains the image data of the main frames and the number of intermediate frames. The input is the image file of the main frame and the data of the number of intermediate frames sent from the terminal. The server performs the following process based on this.
[0446] Step 5:
[0447] The server generates intermediate frames using a generative AI model. Specifically, the key frames and the number of intermediate frames are input to the generative AI model (e.g., a trained deep learning model built with TensorFlow or PyTorch), and the model generates intermediate frames based on the shape and color information of the start and end frames. The inputs are image files of the key frames and the number of intermediate frames. The output is image files of the generated intermediate frames.
[0448] Step 6:
[0449] The generated frame sequence is sent back to the terminal from the server. Specifically, the server assembles the generated intermediate frames into a continuous sequence, compresses and encodes them, and then sends them back to the terminal. The input is a group of image files of the generated intermediate frames. The output is the completion of data transmission to the terminal.
[0450] Step 7:
[0451] The device displays the received data to the user. Specifically, the device software decodes the received frames and uses a video playback engine to display them to the user as consecutive frames. The input is the generated frame sequence data returned from the server. The output is the user viewing the generated animation in the animation preview window.
[0452] (Application example 1)
[0453] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0454] In animation production, manually creating intermediate frames between key frames is a time-consuming and labor-intensive task. Content distribution services, in particular, require fast, high-quality animation, making efficiency a major challenge. There is also a need for a system that can quickly transmit the generated intermediate frames to client devices, allowing users to view the results in real time.
[0455] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0456] In this invention, the server includes means for receiving key frames as input and specifying the number of intermediate frames, means for using a generative model to generate intermediate frames based on the key frames and the number of intermediate frames, means for inserting the generated intermediate frames into the key frames to complete the sequence, and means for transmitting the generated frame sequence to a client device, thereby enabling efficient animation production and rapid generation and immediate transmission of high-quality intermediate frames to the client device.
[0457] A "key frame" is a significant frame in an animation or video sequence that shows a particular scene or action.
[0458] "Intermediate frames" are frames inserted between main frames to smooth out movement.
[0459] A "generative model" refers to an algorithm or deep learning model that generates new frames based on a number of key frames and intermediate frames.
[0460] "Sequence" means a collection of consecutive frames in an animation or video.
[0461] "Client device" refers to a terminal that receives the intermediate frame generation results and displays them to the user. Specifically, this applies to smartphones, tablets, and PCs.
[0462] A "trained deep learning model" refers to a neural network that has been previously trained with a large amount of data and optimized for a specific task (in this case, generating intermediate frames).
[0463] "Return" refers to the process of sending data generated on the server side back to the client device.
[0464] The present invention relates to a system that generates intermediate frames based on the number of key frames and intermediate frames, and transmits the frames to a client device.
[0465] First, the user specifies key frames using the terminal. Specifically, for example, the start frame of the animation is selected as "key_frame1" and the end frame as "key_frame2." Next, the user inputs the number of intermediate frames they want to generate into the terminal. For example, if they want to generate five intermediate frames, they input the number "5."
[0466] This information is sent from the terminal to the server. The server receives the key frames and the number of intermediate frames and generates intermediate frames based on this information using a deep learning model. The generative model used here is a trained deep learning model that has been trained using a large amount of animation data, allowing it to generate natural, high-quality intermediate frames.
[0467] The server analyzes the sequence of key frames and organizes the start and end frame information. It then inputs the key frames and the number of intermediate frames into the generative model, which generates the specified number of intermediate frames. The generated frames are inserted between the key frames to form a smooth continuous sequence. The generated frame sequence is then sent from the server to the client device.
[0468] The client device decodes the received data and displays it to the user, allowing the user to immediately see the natural animation generated between key frames.
[0469] Example
[0470] For example, a user opens the application on their smartphone, sets the start frame to "key_frame1.png," the end frame to "key_frame2.png," and inputs "5" as the number of intermediate frames. This information is sent to a backend server, which generates the specified five intermediate frames using a trained deep learning model. This generative model is trained using TensorFlow and Python. The generated frame sequence is sent back from the server to the smartphone and displayed on the user's smartphone.
[0471] Example prompts to input to a generative AI model:
[0472] Generate five intermediate frames between "key_frame1.png" and "key_frame2.png".
[0473] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0474] Step 1:
[0475] The user specifies the key frames and the number of intermediate frames using the terminal. Specifically, the start frame of the animation, "key_frame1.png," and the end frame, "key_frame2.png," are selected, and the number of intermediate frames to be generated, "5," is entered. The input data is the start frame, end frame, and number of intermediate frames.
[0476] Step 2:
[0477] The device sends this input data to the server. Specifically, the device sends an HTTP request (for example, data in JSON format) to the server. This request includes "key_frame1.png", "key_frame2.png", and the number of intermediate frames "5".
[0478] Step 3:
[0479] The server analyzes the received data and obtains the start frame, end frame, and number of intermediate frames. Specifically, the server decodes the received data and stores the number of key frames and intermediate frames in variables. The input of the server is the HTTP request sent from the terminal, and the output is the analyzed key frames and number of intermediate frames.
[0480] Step 4:
[0481] The server loads the image data for the start and end frames. Specifically, it reads "key_frame1.png" and "key_frame2.png" from the server's storage or cloud storage and obtains them as image data. The server's input is the frame file path, and its output is the loaded image data.
[0482] Step 5:
[0483] The server provides the key frames and the number of intermediate frames as input to the generative model, which then generates the intermediate frames. Specifically, image data is input to the deep learning model using TensorFlow or Python code, and the specified number of intermediate frames is generated. The server's input is the image data of the key frames and the number of intermediate frames, and its output is the image data of the generated intermediate frames.
[0484] Step 6:
[0485] The server inserts the generated intermediate frames between the key frames to complete the sequence. Specifically, it concatenates the key frames and the intermediate frames to create a continuous frame sequence. The server's input is the image data of the key frames and the generated intermediate frames, and its output is the completed frame sequence.
[0486] Step 7:
[0487] The server sends the completed frame sequence to the client device. Specifically, it encodes the generated frame sequence and returns it to the terminal as an HTTP response. The server's input is the completed frame sequence, and its output is the HTTP response to the client device.
[0488] Step 8:
[0489] The terminal decodes the frame sequence received from the server and displays it to the user. Specifically, the terminal analyzes the response from the server and plays the frame sequence continuously. The input to the terminal is the HTTP response of the frame sequence from the server, and the output is the animation displayed on the user's display.
[0490] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0491] The present invention is a system that enables more advanced animation production by combining a system that automatically generates intermediate frames between main frames with an emotion engine that recognizes the user's emotions. Specific embodiments of this system and program processing are described below.
[0492] System configuration
[0493] Inputting main frames
[0494] The user specifies the key frames of the animation using the terminal interface. In this example, the user selects "key_frame1" as the opening frame of the animation scene and "key_frame2" as the ending frame. The user also inputs the number of intermediate frames to be generated (for example, 5 frames) into the terminal.
[0495] Manipulating the Emotion Engine
[0496] The device is equipped with an emotion engine that analyzes the user's facial expressions and voice tone. When the user inputs the number of key frames and intermediate frames, the emotion engine recognizes the user's emotion and sends it as data to the server.
[0497] Server Processing
[0498] The server receives the key frames sent from the terminal, the number of intermediate frames, and the user's emotion data recognized by the emotion engine.
[0499] 1. Initializing the model and receiving data
[0500] The server initializes the generative model and extracts the number of received key frames and intermediate frames, as well as emotion data.
[0501] 2. Generation of intermediate frames
[0502] A generative model (deep learning model) generates intermediate frames based on the specified information. The server adjusts the frame generation according to the user's emotions recognized by the emotion engine. For example, if the user has the emotion "happy," a vivid and lively frame is generated.
[0503] 3. Inserting the intermediate frame
[0504] The server inserts the generated intermediate frames between the main frames to complete the continuous sequence.
[0505] 4. Sending Data Packets
[0506] The completed frame sequence is packaged as a data packet and sent to the terminal. The data packet includes the start frame "key_frame1", the five generated intermediate frames, and the end frame "key_frame2".
[0507] Terminal display
[0508] The device receives the data packets sent from the server, decodes the frame sequence, and displays it. The user can see that natural animation is generated between key frames, and enjoy the animation sequence that reflects the user's emotions.
[0509] Specific examples
[0510] Usage example: Generating 10 frames of animation using emotion engine
[0511] 1. User operations
[0512] The user uses the device interface to specify "key_frame1" as the opening frame and "key_frame2" as the ending frame. They also input "5" as the number of intermediate frames. The emotion engine analyzes the user's facial expressions and voice and recognizes that the user has the emotion "happy."
[0513] 2. Terminal Processing
[0514] The terminal transmits the main frame, the number of intermediate frames, and the user's emotion data to the server.
[0515] 3. Server Processing
[0516] The server initializes the generative model and analyzes the received data. The generative model generates five intermediate frames between "key_frame1" and "key_frame2" to generate a lively frame corresponding to the user's "happy" emotion. The generated frame sequence is packaged as a data packet and sent to the device.
[0517] 4. Displaying the terminal
[0518] The terminal decodes the received data packets and displays them to the user, who can enjoy a frame sequence that reflects his or her own emotions.
[0519] This allows the system of the present invention to create sophisticated animations that take into account the user's emotions. Furthermore, by using the emotion engine, it is possible to efficiently create appealing animations that appeal to the viewer's emotions.
[0520] The processing flow will be explained below.
[0521] Step 1:
[0522] The user uses the terminal interface to select the start frame (e.g., "key_frame1") and end frame (e.g., "key_frame2") of the animation scene, and also inputs the number of intermediate frames to be generated (e.g., "5").
[0523] Step 2:
[0524] The emotion engine analyzes the user's facial expressions and voice in real time to recognize the user's emotions. For example, it identifies whether the user is expressing "happiness."
[0525] Step 3:
[0526] The terminal transmits the main frame, the number of intermediate frames, and the recognized emotion data input by the user as packets to the server.
[0527] Step 4:
[0528] The server receives the data packets sent from the terminal and extracts the key frames, the number of intermediate frames, and the user's emotion data from the received packets.
[0529] Step 5:
[0530] The server initializes a generative model, which is a trained deep learning model.
[0531] Step 6:
[0532] The server provides the extracted key frames ("key_frame1" and "key_frame2") and the number of intermediate frames ("5") to the generative model. The generative model generates frames based on this information.
[0533] Step 7:
[0534] The server inputs additional user emotional data into the generative model. Based on this emotional data, the model generates frames that match the user's emotions. For example, for the emotion "happy," the model generates vivid and lively intermediate frames.
[0535] Step 8:
[0536] The generative model generates a specified number of intermediate frames between key frames. During this process, the generated frames are inserted between the start frame "key_frame1" and the end frame "key_frame2" to form a continuous sequence.
[0537] Step 9:
[0538] The server sends the generated frame sequence to the terminal as a data packet, which includes the start frame "key_frame1", the five generated intermediate frames, and the end frame "key_frame2".
[0539] Step 10:
[0540] The terminal receives the data packets sent from the server, decodes the received data, and formats it in a way that allows the generated frame sequence to be confirmed.
[0541] Step 11:
[0542] The device displays the generated frame sequence to the user, who can confirm that natural animation has been generated between the main frames and enjoy the frame sequence that reflects his or her own emotions.
[0543] Example 2
[0544] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0545] Conventional animation production systems have a problem in that it is difficult to reflect the user's emotions when generating intermediate frames between main frames. This makes it difficult to efficiently create animation sequences that appeal to the viewer's emotions. Furthermore, the generated intermediate frames often do not match the user's intentions or emotions, resulting in a lack of naturalness and unity.
[0546] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0547] In this invention, the server includes means for receiving key frames as input and specifying the number of intermediate frames, means for using a deep learning model to generate intermediate frames based on the key frames and the number of intermediate frames, means for inserting the generated intermediate frames into the key frames to complete the sequence, and means for generating frames according to the user's emotions using an emotion engine that recognizes the user's emotions, thereby enabling the generation of natural and attractive animation sequences that reflect the user's emotions.
[0548] "Key frames" refer to important beginning and ending frames in an animation sequence.
[0549] "Intermediate frames" are multiple frames inserted between main frames, and are generated to enhance the smoothness and naturalness of the animation.
[0550] A "deep learning model" is a type of artificial intelligence that uses multi-layered neural networks to perform pattern recognition and data generation.
[0551] An "emotion engine" is a software or hardware system that analyzes a user's facial expressions and tone of voice to recognize the user's emotions.
[0552] A "data packet" is a unit of a series of data organized for transferring data within a system.
[0553] A "frame sequence" is a set of animation frames, consisting of a series of key frames and intermediate frames.
[0554] MODE FOR CARRYING OUT THE INVENTION
[0555] This invention relates to a system that automatically generates intermediate frames between main frames to create animation sequences that reflect the user's emotions. This system is composed of user operations, terminal processing, server processing, and terminal display.
[0556] Inputting main frames
[0557] The user specifies the key frames of the animation using the terminal interface. Specifically, the user selects "key_frame1" as the opening frame, "key_frame2" as the ending frame, and inputs the number of intermediate frames to be generated. For example, the user can specify "5 frames" as the number of intermediate frames.
[0558] Manipulating the Emotion Engine
[0559] While the user is performing input operations, the emotion engine installed on the device analyzes the user's facial expressions and voice tone. The emotion engine detects the user's smile and other emotions through the camera and recognizes emotions such as "happiness." This recognized emotion data is used when generating intermediate frames.
[0560] Terminal handling
[0561] The device compiles the key frames specified by the user, the number of intermediate frames to be generated, and the emotion data recognized by the emotion engine. This information is sent as a data packet to the server. Specific examples of emotion engines used include general facial expression recognition APIs and voice analysis tools.
[0562] Server Processing
[0563] The server receives and analyzes data packets sent from the device. A deep learning model (such as a GAN model) using TensorFlow is used as the generative model. The server initializes this generative model and automatically generates intermediate frames based on the main frames, the number of intermediate frames, and the user's emotional data. The generated frames are adjusted according to the user's emotions. For example, if the user is "happy," the generated frames will be bright and vivid.
[0564] Intermediate Frame Generation
[0565] The server's generative model generates intermediate frames between the specified key frames that reflect the color tone and movement according to the user's emotions. Specifically, for example, five intermediate frames are generated between "key_frame1" and "key_frame2."
[0566] Assembling a frame sequence
[0567] The server inserts the generated intermediate frames between the main frames to complete a continuous frame sequence, which is then transmitted to the terminal as a series of data packets.
[0568] Terminal display
[0569] The device receives the data packets sent from the server and decodes the frame sequence, allowing the user to view a continuous animation. The generated frames also reflect the user's emotions, allowing for a more natural and engaging animation sequence.
[0570] Specific examples
[0571] For example, consider the case where a user types the following at a terminal:
[0572] User: I want to create an animation sequence.
[0573] Input the key frames and number of intermediate frames.
[0574] Start frame: key_frame1
[0575] End frame: key_frame2
[0576] Number of intermediate frames: 5
[0577] User emotion: happy
[0578] In this example, the user specifies "key_frame1" as the opening frame, "key_frame2" as the ending frame, and "5" as the number of intermediate frames. The emotion engine recognizes that the user is "happy," and five intermediate frames that reflect this emotion are generated. The device displays this generated frame sequence to the user, and the user can see an animation sequence that reflects their emotion.
[0579] This invention allows users to efficiently generate animation sequences that reflect their own emotions, and create visually appealing content.
[0580] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0581] Step 1:
[0582] Specifying and inputting main frames
[0583] The user specifies the key frames of the animation using the terminal interface. Specifically, the user selects "key_frame1" as the opening frame, "key_frame2" as the ending frame, and inputs the number of intermediate frames. For example, the user inputs "5 frames" as the number of intermediate frames. The input data is "key_frame1," "key_frame2," and "5 frames." This data is used in the next processing step.
[0584] Step 2:
[0585] Emotion recognition
[0586] When the user inputs the number of key frames and intermediate frames, the device's built-in emotion engine analyzes the user's facial expressions and voice tone through the camera. The emotion engine (a general facial expression recognition API or voice analysis tool) recognizes the user's "happy" emotion and generates corresponding data. The input is the user's facial expressions and voice, and the output is emotion data recognized as "happy."
[0587] Step 3:
[0588] Data collection and transmission
[0589] The device collects the user-specified "key_frame1", "key_frame2", the number of intermediate frames (5 frames), and the emotion data recognized by the emotion engine. This data packet is then sent to the server. Specific operations include generating a data packet and sending it to the server via an HTTP request. The input is the key frame, the number of intermediate frames, and the emotion data, and the output is a data packet sent to the server.
[0590] Step 4:
[0591] Initialization and Data Reception
[0592] The server receives and analyzes data packets sent from the device. A deep learning model (GAN model) using TensorFlow is used as the generative model. The server initializes the generative model based on the received data and extracts key frames, the number of intermediate frames, and emotion data. The input is the data packet, and the output is the extracted data.
[0593] Step 5:
[0594] Intermediate Frame Generation
[0595] The server's generative model generates a specified number of intermediate frames between key frames. The color tone and movement of the frames are adjusted based on the user's emotional data. For example, for the "happy" emotion, the generated frames have vivid and bright colors. The generative model uses TensorFlow to perform data calculations using deep learning. The inputs are the key frames, the number of intermediate frames, and the emotional data, and the output is the generated intermediate frames.
[0596] Step 6:
[0597] Assembling a frame sequence
[0598] The server inserts the generated intermediate frames between the key frames to complete a continuous frame sequence. Specifically, it assembles a sequence starting from "key_frame1," followed by the five generated intermediate frames, and ending with "key_frame2." This frame sequence is packaged as a data packet and sent to the terminal. The input is the generated intermediate frames and key frames, and the output is a data packet containing the frame sequence.
[0599] Step 7:
[0600] Sending data packets
[0601] The server assembles the completed frame sequence into a data packet and sends it to the terminal. It provides the frame sequence to the terminal by returning the data packet as an HTTP response. The input is the assembled frame sequence, and the output is the data packet sent to the terminal.
[0602] Step 8:
[0603] Receiving and decoding data packets
[0604] The terminal receives the data packets sent from the server and decodes the contents, so that the frame sequence is reconstructed within the terminal. The input is the data packets from the server, and the output is the decoded frame sequence.
[0605] Step 9:
[0606] View animation
[0607] The device displays the reconstructed frame sequence to the user. The user can see a natural animation sequence generated between the specified key frames. The generated frames also reflect the user's emotions, providing a more engaging visual experience. The input is the decoded frame sequence, and the output is the animation displayed to the user.
[0608] (Application example 2)
[0609] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0610] Conventional animation generation systems have been unable to take the user's emotions into account when generating intermediate frames from key frames, resulting in the generated animation not fully reflecting the user's intentions and emotions. Furthermore, there are insufficient means for users to easily create and adjust animations that match their own emotions.
[0611] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving key frames as input and specifying the number of intermediate frames, means for recognizing the user's emotion and inputting the emotion data into the generative model, means for using the generative model to generate intermediate frames based on the key frames and the number of intermediate frames, means for inserting the generated intermediate frames into the key frames to complete the sequence, and means for transmitting the completed sequence to the terminal. This makes it possible to generate and adjust animation according to the user's emotion.
[0612] "Key frames" are frames that mark the start and end of an animation and are specified by the user as input.
[0613] The "number of intermediate frames" is the number of frames inserted between main frames and is specified by the user.
[0614] A "generative model" is a trained deep learning model for generating intermediate frames based on key frames and the number of intermediate frames.
[0615] "User emotion" is emotion data recognized by analyzing the user's facial expressions and voice.
[0616] "Emotion data" is data that expresses a user's emotions as numerical values or categories, and is input to a generative model.
[0617] A "sequence" is the order of animation frames that is completed by placing the main frames and generated intermediate frames consecutively.
[0618] A "terminal" is a device for displaying the generated animation, and includes mobile devices such as smartphones.
[0619] This invention enables the generation of more advanced animations by combining a system that automatically generates intermediate frames to be inserted between main frames with an emotion engine that recognizes the user's emotions. Detailed embodiments of this system are described below.
[0620] System configuration
[0621] 1. Terminal
[0622] The user uses a device (e.g., a smartphone) to specify the number of key frames and intermediate frames. The device is equipped with an emotion engine that recognizes emotion data from the user's facial expressions and voice in real time. The emotion engine uses software such as DeepEmotionRecognizer.
[0623] 2. Server
[0624] The main frames, the number of intermediate frames, and the user's emotion data are transmitted from the terminal to the server. The server has the following functions:
[0625] 1. Initialize the generative model: Initialize a trained deep learning model (e.g., AnimationFrameGenerator).
[0626] 2. Data reception and analysis: Receive and analyze the transmitted data.
[0627] 3. Generate intermediate frames: Generate intermediate frames using the generative model. Adjust the generated results based on the user's emotion data.
[0628] 4. Complete the sequence: Insert the generated intermediate frames into the main frames to complete the animation sequence.
[0629] 5. Sending data packets: Assemble the completed sequence and send it to the terminal.
[0630] Processing flow
[0631] When the user specifies "key_frame1" and "key_frame2" as the main frames and instructs to generate five intermediate frames, the following processing is performed.
[0632] 1. User emotion recognition: The emotion engine analyzes the user's facial expressions and voice and recognizes the user's emotion as "happy."
[0633] 2. Data transmission: The key frame, the number of intermediate frames, and emotion data are transmitted from the device to the server.
[0634] 3. Generation of intermediate frames: The server analyzes the received data and generates five intermediate frames between "key_frame1" and "key_frame2" using the generative model. At this time, the mood of the frames is adjusted according to the emotional data.
[0635] 4. Complete and transmit the sequence: The generated frame sequence is transmitted to the terminal for the user to review.
[0636] Specific examples
[0637] For example, if a user wants to create an animation using a specific anime character, they can specify "key_frame1" as the start frame and "key_frame2" as the end frame, and set it to generate five intermediate frames. If the user's facial expression is recognized as "happy," the generated intermediate frames will be bright and lively animations. This allows for the generation of natural animation sequences that reflect the user's emotions.
[0638] Prompt Sentence Examples
[0639] "Generate intermediate frames to be inserted between main frames based on emotion. Use key_frame1 as the start frame, key_frame2 as the end frame, and the number of intermediate frames is 5. The user currently has the emotion happy."
[0640] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0641] Step 1:
[0642] The user uses the terminal to input the key frames (start frame "key_frame1" and end frame "key_frame2") and the number of intermediate frames. The terminal collects this information, analyzes the user's facial expressions and voice in real time, and generates emotion data. At this stage, the input data are the key frames, the number of intermediate frames, and emotion data. This information is prepared as output.
[0643] Step 2:
[0644] The device sends the key frame, the number of intermediate frames, and emotion data to the server. Data is then sent from the device to the server. The input at this stage is the key frame, the number of intermediate frames, and emotion data from the device. The output is a confirmation message that the transmission was successful.
[0645] Step 3:
[0646] The server analyzes the received data and initializes the generative model. A pre-trained deep learning model (e.g., AnimationFrameGenerator) is loaded on the server side. The inputs are the key frames, the number of intermediate frames, and emotion data sent from the device. The output is a message indicating that the generative model has been initialized.
[0647] Step 4:
[0648] The server generates intermediate frames using a generative model. At this time, it adjusts the generated results based on the user's emotional data. Specifically, if the user's emotional state is "happy," the model adjusts the parameters so that the generated frames are bright and lively. The inputs are the main frame, the number of intermediate frames, and the emotional data. The generated intermediate frames are obtained as the output.
[0649] Step 5:
[0650] The server inserts the generated intermediate frames between the key frames to complete a continuous animation sequence. Specifically, it inserts the generated intermediate frames in order between the start frame "key_frame1" and the end frame "key_frame2". The input is the key frames and the generated intermediate frames. The output is the completed animation sequence.
[0651] Step 6:
[0652] The server assembles the completed animation sequence into a data packet and sends it to the terminal. Specifically, it converts the completed animation sequence into a decodable format and packetizes it. The input is the completed animation sequence. The output is a transmission success message and the data packet.
[0653] Step 7:
[0654] The terminal receives the data packets sent from the server, decodes them, and displays them to the user, who can then view the generated animation sequence. The input is the data packets sent from the server, and the output is the decoded animation sequence.
[0655] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0656] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0657] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0658] [Third embodiment]
[0659] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0660] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0661] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0662] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0663] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0664] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0665] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0666] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0667] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0668] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0669] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0670] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0671] This invention is a system that automatically generates intermediate frames between major frames using a generative model in order to reduce the time and effort required for animation production. A specific embodiment of this system and the program processing for it are described below.
[0672] System configuration
[0673] The system has a means for receiving key frames as input and automatically generating a specified number of intermediate frames. Each part of the system is described in detail below.
[0674] Inputting main frames
[0675] The user specifies key frames using the terminal, specifically by selecting the start frame (e.g., key_frame1) and end frame (e.g., key_frame2) of the animation scene and inputting them into the terminal.
[0676] Specifying the number of intermediate frames
[0677] The user inputs the number of intermediate frames into the terminal. For example, if the user wants to generate five intermediate frames between main frames, the user inputs the number "5." This information is sent from the terminal to the server.
[0678] Server Processing
[0679] The server receives the key frames and the number of intermediate frames sent from the device and generates the intermediate frames using a generative model, a trained deep learning model designed to improve the continuity and quality of the animation.
[0680] First, the server analyzes the sequence of key frames and organizes the start and end frame information. Then, it inputs the key frames and the number of intermediate frames into the generative model, which generates the specified number of intermediate frames. The generated frames are inserted between the key frames and organized into a continuous sequence.
[0681] Sending the results
[0682] The generated frame sequence is sent from the server to the device, which decodes the received data and displays it to the user, allowing the user to confirm that natural animation has been generated between key frames.
[0683] Specific examples
[0684] Usage example: To generate 10 frames of animation
[0685] 1. User operations
[0686] The user uses the terminal interface to specify "key_frame1" as the start frame and "key_frame2" as the end frame.
[0687] The user enters "5" as the number of intermediate frames.
[0688] 2. Terminal Processing
[0689] The terminal transmits the "key_frame1", "key_frame2" and the number of intermediate frames "5" input by the user to the server.
[0690] 3. Server Processing
[0691] The server uses the generative model to generate five intermediate frames between "key_frame1" and "key_frame2", resulting in a continuous sequence of seven frames ("key_frame1" + 5 intermediate frames + "key_frame2").
[0692] 4. Displaying the terminal
[0693] The generated frame sequence is sent back to the terminal and displayed to the user.
[0694] As a result, the system of the present invention significantly improves the efficiency of animation production, allowing creators to create high-quality animations with less time and effort.In addition, the deep learning model used as a generative model maintains high quality in the generated frames.
[0695] The processing flow will be explained below.
[0696] Step 1:
[0697] Using the terminal interface, the user selects the start frame (e.g., "key_frame1") and end frame (e.g., "key_frame2") of the animation scene. In addition, the user inputs the number of intermediate frames to be generated (e.g., "5").
[0698] Step 2:
[0699] The terminal assembles the key frames and the number of intermediate frames input by the user into a packet. This packet contains "key_frame1", "key_frame2", and the number of intermediate frames "5".
[0700] Step 3:
[0701] The terminal sends the collected packets to the server, ensuring that information is transmitted safely and reliably over the network.
[0702] Step 4:
[0703] The server receives the data packets sent from the terminal and extracts the key frames and intermediate frame numbers from the received information.
[0704] Step 5:
[0705] The server initializes a prepared generative model, which contains a trained deep learning algorithm.
[0706] Step 6:
[0707] The server provides the key frames and the number of intermediate frames to the generative model as input. Specifically, it specifies "key_frame1" and "key_frame2" as the start and end frames, and sets the number of intermediate frames to "5."
[0708] Step 7:
[0709] The generative model generates intermediate frames based on the configured information. The model generates five intermediate frames between "key_frame1" and "key_frame2" and adds them to a list as a continuous sequence.
[0710] Step 8:
[0711] The server assembles the generated frame sequence into a data packet and sends it to the terminal. This data packet contains the start frame "key_frame1", the five generated intermediate frames, and the end frame "key_frame2".
[0712] Step 9:
[0713] The terminal receives the data packets sent from the server, decodes the received data, and prepares it so that the generated frame sequence can be confirmed.
[0714] Step 10:
[0715] The terminal displays the generated frame sequence to the user, who can confirm that a natural animation has been generated between the start and end frames.
[0716] Example 1
[0717] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0718] Creating animation is a time-consuming and labor-intensive process. Inserting natural-looking in-between frames between key frames in an animated scene requires a significant amount of manual effort. There is a need for a way to automate this process while streamlining and maintaining quality.
[0719] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0720] In this invention, the server includes: means for receiving key frames as input and specifying the number of intermediate frames; means for using a generative model to generate intermediate frames based on the key frames and the number of intermediate frames; means for inserting the generated intermediate frames into the key frames to complete the sequence; means for inputting key frames using a terminal and specifying the number of intermediate frames; means for transmitting the specified key frames and the specified number of intermediate frames to the server; means for the server to generate intermediate frames between the specified key frames using the generative model; and means for returning the generated frame sequence to the terminal and displaying it to the user. This significantly improves the efficiency of animation production, allowing users to create high-quality animations without spending time and effort while maintaining quality.
[0721] "Key frames" refers to the significant beginning and ending frames in an animation sequence.
[0722] "Number of intermediate frames" refers to the number of frames that should be generated between key frames.
[0723] "Generative Model" refers to the machine learning model used to generate intermediate frames between specified key frames.
[0724] "Terminal" refers to a device through which a user inputs the number of key frames and intermediate frames and transmits this data to a server.
[0725] "Server" refers to a computer system that receives data sent from a terminal, generates intermediate frames using a generative model, and sends them back to the terminal.
[0726] "Generated intermediate frames" refer to frames newly generated between main frames by a generative model.
[0727] "Completing the sequence" refers to combining key frames with generated intermediate frames to create a series of animation frames.
[0728] "Displaying to the user" refers to displaying the generated frame sequence on the terminal so that the user can check it.
[0729] This invention is a system that automatically generates intermediate frames between major frames using a generative model in order to reduce the time and effort required for animation production. Specific embodiments of this system are described below.
[0730] System configuration
[0731] This system receives key frames as input and automatically generates a specified number of intermediate frames. The system consists of a terminal used by the user and a server that processes the data.
[0732] Inputting main frames
[0733] The user uses the terminal to specify the start frame (key_frame1) and end frame (key_frame2) of the animation scene. Specifically, the user selects "key_frame1.png" and "key_frame2.png" from the file selection dialog using the interface of the animation editing software.
[0734] Specifying the number of intermediate frames
[0735] The user inputs the number of intermediate frames into the terminal. For example, if five intermediate frames are to be generated between main frames, the user inputs "5" into the numeric input field and clicks the confirm button. This information is sent from the terminal to the server.
[0736] Server Processing
[0737] The server receives the data sent from the device and analyzes the number of key frames and intermediate frames. The server uses a generative AI model (e.g., a trained deep learning model built with TensorFlow or PyTorch) to generate intermediate frames between the specified key frames. Specifically, the server processes the generative model to generate intermediate frames continuously based on the shape and color information of the start and end frames.
[0738] Sending and displaying results
[0739] The generated frame sequence is sent back from the server to the device, which decodes the received data and uses a video playback engine to display it as successive frames for the user, allowing the user to see a natural animation sequence between key frames.
[0740] Specific examples
[0741] A specific example of using this system is given below.
[0742] Example of use: To generate intermediate frames of an animation
[0743] 1. User Action:
[0744] The user specifies "key_frame1.png" as the start frame and "key_frame2.png" as the end frame in the device interface.
[0745] The user enters "5" as the number of intermediate frames.
[0746] 2. Terminal processing:
[0747] The terminal transmits "key_frame1.png", "key_frame2.png", and the number of intermediate frames "5" input by the user to the server.
[0748] 3. Server processing:
[0749] The server uses the generative AI model to generate five intermediate frames between "key_frame1.png" and "key_frame2.png". The generated frame sequence consists of a total of seven frames ("key_frame1.png" + five intermediate frames + "key_frame2.png").
[0750] 4. Display terminal:
[0751] The generated frame sequence is sent back to the terminal and displayed to the user.
[0752] Prompt Sentence Examples
[0753] By inputting the following prompt sentence into the generative AI model, intermediate frames are generated through the above steps.
[0754] Specify "key_frame1.png" as the start frame of the key frames and "key_frame2.png" as the end frame, and generate five intermediate frames between the key frames.
[0755] With this specific example, the system of the present invention can significantly improve the efficiency of animation production, enabling creators to create high-quality animations without spending a lot of time and effort.
[0756] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0757] Step 1:
[0758] The user inputs the key frames using the terminal. Specifically, the user selects "key_frame1.png" and "key_frame2.png" from the file selection dialog using the interface of the animation editing software. The inputs are the image files of the key frames. The terminal reads these files into memory and proceeds to the next step.
[0759] Step 2:
[0760] The user specifies the number of intermediate frames. Specifically, the user enters "5" into the numeric input field on the terminal's user interface and clicks the confirm button. The input is the number of intermediate frames, "5." The terminal stores this information and transmits it to the server.
[0761] Step 3:
[0762] Data is sent from the device to the server. Specifically, the device creates an HTTP POST request and sends information about the start frame, end frame, and number of intermediate frames ("5") to the server's API endpoint. The input is the image files of the main frames ("key_frame1.png", "key_frame2.png") and the number of intermediate frames ("5"). The output is that the request has been sent to the server.
[0763] Step 4:
[0764] The server analyzes the received data. Specifically, the server analyzes the HTTP request and obtains the image data of the main frames and the number of intermediate frames. The input is the image file of the main frame and the data of the number of intermediate frames sent from the terminal. The server performs the following process based on this.
[0765] Step 5:
[0766] The server generates intermediate frames using a generative AI model. Specifically, the key frames and the number of intermediate frames are input to the generative AI model (e.g., a trained deep learning model built with TensorFlow or PyTorch), and the model generates intermediate frames based on the shape and color information of the start and end frames. The inputs are image files of the key frames and the number of intermediate frames. The output is image files of the generated intermediate frames.
[0767] Step 6:
[0768] The generated frame sequence is sent back to the terminal from the server. Specifically, the server assembles the generated intermediate frames into a continuous sequence, compresses and encodes them, and then sends them back to the terminal. The input is a group of image files of the generated intermediate frames. The output is the completion of data transmission to the terminal.
[0769] Step 7:
[0770] The device displays the received data to the user. Specifically, the device software decodes the received frames and uses a video playback engine to display them to the user as consecutive frames. The input is the generated frame sequence data returned from the server. The output is the user viewing the generated animation in the animation preview window.
[0771] (Application example 1)
[0772] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0773] In animation production, manually creating intermediate frames between key frames is a time-consuming and labor-intensive task. Content distribution services, in particular, require fast, high-quality animation, making efficiency a major challenge. There is also a need for a system that can quickly transmit the generated intermediate frames to client devices, allowing users to view the results in real time.
[0774] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0775] In this invention, the server includes means for receiving key frames as input and specifying the number of intermediate frames, means for using a generative model to generate intermediate frames based on the key frames and the number of intermediate frames, means for inserting the generated intermediate frames into the key frames to complete the sequence, and means for transmitting the generated frame sequence to a client device, thereby enabling efficient animation production and rapid generation and immediate transmission of high-quality intermediate frames to the client device.
[0776] A "key frame" is a significant frame in an animation or video sequence that shows a particular scene or action.
[0777] "Intermediate frames" are frames inserted between main frames to smooth out movement.
[0778] A "generative model" refers to an algorithm or deep learning model that generates new frames based on a number of key frames and intermediate frames.
[0779] "Sequence" means a collection of consecutive frames in an animation or video.
[0780] "Client device" refers to a terminal that receives the intermediate frame generation results and displays them to the user. Specifically, this applies to smartphones, tablets, and PCs.
[0781] A "trained deep learning model" refers to a neural network that has been previously trained with a large amount of data and optimized for a specific task (in this case, generating intermediate frames).
[0782] "Return" refers to the process of sending data generated on the server side back to the client device.
[0783] The present invention relates to a system that generates intermediate frames based on the number of key frames and intermediate frames, and transmits the frames to a client device.
[0784] First, the user specifies key frames using the terminal. Specifically, for example, the start frame of the animation is selected as "key_frame1" and the end frame as "key_frame2." Next, the user inputs the number of intermediate frames they want to generate into the terminal. For example, if they want to generate five intermediate frames, they input the number "5."
[0785] This information is sent from the terminal to the server. The server receives the key frames and the number of intermediate frames and generates intermediate frames based on this information using a deep learning model. The generative model used here is a trained deep learning model that has been trained using a large amount of animation data, allowing it to generate natural, high-quality intermediate frames.
[0786] The server analyzes the sequence of key frames and organizes the start and end frame information. It then inputs the key frames and the number of intermediate frames into the generative model, which generates the specified number of intermediate frames. The generated frames are inserted between the key frames to form a smooth continuous sequence. The generated frame sequence is then sent from the server to the client device.
[0787] The client device decodes the received data and displays it to the user, allowing the user to immediately see the natural animation generated between key frames.
[0788] Example
[0789] For example, a user opens the application on their smartphone, sets the start frame to "key_frame1.png," the end frame to "key_frame2.png," and inputs "5" as the number of intermediate frames. This information is sent to a backend server, which generates the specified five intermediate frames using a trained deep learning model. This generative model is trained using TensorFlow and Python. The generated frame sequence is sent back from the server to the smartphone and displayed on the user's smartphone.
[0790] Example prompts to input to a generative AI model:
[0791] Generate five intermediate frames between "key_frame1.png" and "key_frame2.png".
[0792] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0793] Step 1:
[0794] The user specifies the key frames and the number of intermediate frames using the terminal. Specifically, the start frame of the animation, "key_frame1.png," and the end frame, "key_frame2.png," are selected, and the number of intermediate frames to be generated, "5," is entered. The input data is the start frame, end frame, and number of intermediate frames.
[0795] Step 2:
[0796] The device sends this input data to the server. Specifically, the device sends an HTTP request (for example, data in JSON format) to the server. This request includes "key_frame1.png", "key_frame2.png", and the number of intermediate frames "5".
[0797] Step 3:
[0798] The server analyzes the received data and obtains the start frame, end frame, and number of intermediate frames. Specifically, the server decodes the received data and stores the number of key frames and intermediate frames in variables. The input of the server is the HTTP request sent from the terminal, and the output is the analyzed key frames and number of intermediate frames.
[0799] Step 4:
[0800] The server loads the image data for the start and end frames. Specifically, it reads "key_frame1.png" and "key_frame2.png" from the server's storage or cloud storage and obtains them as image data. The server's input is the frame file path, and its output is the loaded image data.
[0801] Step 5:
[0802] The server provides the key frames and the number of intermediate frames as input to the generative model, which then generates the intermediate frames. Specifically, image data is input to the deep learning model using TensorFlow or Python code, and the specified number of intermediate frames is generated. The server's input is the image data of the key frames and the number of intermediate frames, and its output is the image data of the generated intermediate frames.
[0803] Step 6:
[0804] The server inserts the generated intermediate frames between the key frames to complete the sequence. Specifically, it concatenates the key frames and the intermediate frames to create a continuous frame sequence. The server's input is the image data of the key frames and the generated intermediate frames, and its output is the completed frame sequence.
[0805] Step 7:
[0806] The server sends the completed frame sequence to the client device. Specifically, it encodes the generated frame sequence and returns it to the terminal as an HTTP response. The server's input is the completed frame sequence, and its output is the HTTP response to the client device.
[0807] Step 8:
[0808] The terminal decodes the frame sequence received from the server and displays it to the user. Specifically, the terminal analyzes the response from the server and plays the frame sequence continuously. The input to the terminal is the HTTP response of the frame sequence from the server, and the output is the animation displayed on the user's display.
[0809] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0810] The present invention is a system that enables more advanced animation production by combining a system that automatically generates intermediate frames between main frames with an emotion engine that recognizes the user's emotions. Specific embodiments of this system and program processing are described below.
[0811] System configuration
[0812] Inputting main frames
[0813] The user specifies the key frames of the animation using the terminal interface. In this example, the user selects "key_frame1" as the opening frame of the animation scene and "key_frame2" as the ending frame. The user also inputs the number of intermediate frames to be generated (for example, 5 frames) into the terminal.
[0814] Manipulating the Emotion Engine
[0815] The device is equipped with an emotion engine that analyzes the user's facial expressions and voice tone. When the user inputs the number of key frames and intermediate frames, the emotion engine recognizes the user's emotion and sends it as data to the server.
[0816] Server Processing
[0817] The server receives the key frames sent from the terminal, the number of intermediate frames, and the user's emotion data recognized by the emotion engine.
[0818] 1. Initializing the model and receiving data
[0819] The server initializes the generative model and extracts the number of received key frames and intermediate frames, as well as emotion data.
[0820] 2. Generation of intermediate frames
[0821] A generative model (deep learning model) generates intermediate frames based on the specified information. The server adjusts the frame generation according to the user's emotions recognized by the emotion engine. For example, if the user has the emotion "happy," a vivid and lively frame is generated.
[0822] 3. Inserting the intermediate frame
[0823] The server inserts the generated intermediate frames between the main frames to complete the continuous sequence.
[0824] 4. Sending Data Packets
[0825] The completed frame sequence is packaged as a data packet and sent to the terminal. The data packet includes the start frame "key_frame1", the five generated intermediate frames, and the end frame "key_frame2".
[0826] Terminal display
[0827] The device receives the data packets sent from the server, decodes the frame sequence, and displays it. The user can see that natural animation is generated between key frames, and enjoy the animation sequence that reflects the user's emotions.
[0828] Specific examples
[0829] Usage example: Generating 10 frames of animation using emotion engine
[0830] 1. User operations
[0831] The user uses the device interface to specify "key_frame1" as the opening frame and "key_frame2" as the ending frame. They also input "5" as the number of intermediate frames. The emotion engine analyzes the user's facial expressions and voice and recognizes that the user has the emotion "happy."
[0832] 2. Terminal Processing
[0833] The terminal transmits the main frame, the number of intermediate frames, and the user's emotion data to the server.
[0834] 3. Server Processing
[0835] The server initializes the generative model and analyzes the received data. The generative model generates five intermediate frames between "key_frame1" and "key_frame2" to generate a lively frame corresponding to the user's "happy" emotion. The generated frame sequence is packaged as a data packet and sent to the device.
[0836] 4. Displaying the terminal
[0837] The terminal decodes the received data packets and displays them to the user, who can enjoy a frame sequence that reflects his or her own emotions.
[0838] This allows the system of the present invention to create sophisticated animations that take into account the user's emotions. Furthermore, by using the emotion engine, it is possible to efficiently create appealing animations that appeal to the viewer's emotions.
[0839] The processing flow will be explained below.
[0840] Step 1:
[0841] The user uses the terminal interface to select the start frame (e.g., "key_frame1") and end frame (e.g., "key_frame2") of the animation scene, and also inputs the number of intermediate frames to be generated (e.g., "5").
[0842] Step 2:
[0843] The emotion engine analyzes the user's facial expressions and voice in real time to recognize the user's emotions. For example, it identifies whether the user is expressing "happiness."
[0844] Step 3:
[0845] The terminal transmits the main frame, the number of intermediate frames, and the recognized emotion data input by the user as packets to the server.
[0846] Step 4:
[0847] The server receives the data packets sent from the terminal and extracts the key frames, the number of intermediate frames, and the user's emotion data from the received packets.
[0848] Step 5:
[0849] The server initializes a generative model, which is a trained deep learning model.
[0850] Step 6:
[0851] The server provides the extracted key frames ("key_frame1" and "key_frame2") and the number of intermediate frames ("5") to the generative model. The generative model generates frames based on this information.
[0852] Step 7:
[0853] The server inputs additional user emotional data into the generative model. Based on this emotional data, the model generates frames that match the user's emotions. For example, for the emotion "happy," the model generates vivid and lively intermediate frames.
[0854] Step 8:
[0855] The generative model generates a specified number of intermediate frames between key frames. During this process, the generated frames are inserted between the start frame "key_frame1" and the end frame "key_frame2" to form a continuous sequence.
[0856] Step 9:
[0857] The server sends the generated frame sequence to the terminal as a data packet, which includes the start frame "key_frame1", the five generated intermediate frames, and the end frame "key_frame2".
[0858] Step 10:
[0859] The terminal receives the data packets sent from the server, decodes the received data, and formats it in a way that allows the generated frame sequence to be confirmed.
[0860] Step 11:
[0861] The device displays the generated frame sequence to the user, who can confirm that natural animation has been generated between the main frames and enjoy the frame sequence that reflects his or her own emotions.
[0862] Example 2
[0863] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0864] Conventional animation production systems have a problem in that it is difficult to reflect the user's emotions when generating intermediate frames between main frames. This makes it difficult to efficiently create animation sequences that appeal to the viewer's emotions. Furthermore, the generated intermediate frames often do not match the user's intentions or emotions, resulting in a lack of naturalness and unity.
[0865] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0866] In this invention, the server includes means for receiving key frames as input and specifying the number of intermediate frames, means for using a deep learning model to generate intermediate frames based on the key frames and the number of intermediate frames, means for inserting the generated intermediate frames into the key frames to complete the sequence, and means for generating frames according to the user's emotions using an emotion engine that recognizes the user's emotions, thereby enabling the generation of natural and attractive animation sequences that reflect the user's emotions.
[0867] "Key frames" refer to important beginning and ending frames in an animation sequence.
[0868] "Intermediate frames" are multiple frames inserted between main frames, and are generated to enhance the smoothness and naturalness of the animation.
[0869] A "deep learning model" is a type of artificial intelligence that uses multi-layered neural networks to perform pattern recognition and data generation.
[0870] An "emotion engine" is a software or hardware system that analyzes a user's facial expressions and tone of voice to recognize the user's emotions.
[0871] A "data packet" is a unit of a series of data organized for transferring data within a system.
[0872] A "frame sequence" is a set of animation frames, consisting of a series of key frames and intermediate frames.
[0873] MODE FOR CARRYING OUT THE INVENTION
[0874] This invention relates to a system that automatically generates intermediate frames between main frames to create animation sequences that reflect the user's emotions. This system is composed of user operations, terminal processing, server processing, and terminal display.
[0875] Inputting main frames
[0876] The user specifies the key frames of the animation using the terminal interface. Specifically, the user selects "key_frame1" as the opening frame, "key_frame2" as the ending frame, and inputs the number of intermediate frames to be generated. For example, the user can specify "5 frames" as the number of intermediate frames.
[0877] Manipulating the Emotion Engine
[0878] While the user is performing input operations, the emotion engine installed on the device analyzes the user's facial expressions and voice tone. The emotion engine detects the user's smile and other emotions through the camera and recognizes emotions such as "happiness." This recognized emotion data is used when generating intermediate frames.
[0879] Terminal handling
[0880] The device compiles the key frames specified by the user, the number of intermediate frames to be generated, and the emotion data recognized by the emotion engine. This information is sent as a data packet to the server. Specific examples of emotion engines used include general facial expression recognition APIs and voice analysis tools.
[0881] Server Processing
[0882] The server receives and analyzes data packets sent from the device. A deep learning model (such as a GAN model) using TensorFlow is used as the generative model. The server initializes this generative model and automatically generates intermediate frames based on the main frames, the number of intermediate frames, and the user's emotional data. The generated frames are adjusted according to the user's emotions. For example, if the user is "happy," the generated frames will be bright and vivid.
[0883] Intermediate Frame Generation
[0884] The server's generative model generates intermediate frames between the specified key frames that reflect the color tone and movement according to the user's emotions. Specifically, for example, five intermediate frames are generated between "key_frame1" and "key_frame2."
[0885] Assembling a frame sequence
[0886] The server inserts the generated intermediate frames between the main frames to complete a continuous frame sequence, which is then transmitted to the terminal as a series of data packets.
[0887] Terminal display
[0888] The device receives the data packets sent from the server and decodes the frame sequence, allowing the user to view a continuous animation. The generated frames also reflect the user's emotions, allowing for a more natural and engaging animation sequence.
[0889] Specific examples
[0890] For example, consider the case where a user types the following at a terminal:
[0891] User: I want to create an animation sequence.
[0892] Input the key frames and number of intermediate frames.
[0893] Start frame: key_frame1
[0894] End frame: key_frame2
[0895] Number of intermediate frames: 5
[0896] User emotion: happy
[0897] In this example, the user specifies "key_frame1" as the opening frame, "key_frame2" as the ending frame, and "5" as the number of intermediate frames. The emotion engine recognizes that the user is "happy," and five intermediate frames that reflect this emotion are generated. The device displays this generated frame sequence to the user, and the user can see an animation sequence that reflects their emotion.
[0898] This invention allows users to efficiently generate animation sequences that reflect their own emotions, and create visually appealing content.
[0899] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0900] Step 1:
[0901] Specifying and inputting main frames
[0902] The user specifies the key frames of the animation using the terminal interface. Specifically, the user selects "key_frame1" as the opening frame, "key_frame2" as the ending frame, and inputs the number of intermediate frames. For example, the user inputs "5 frames" as the number of intermediate frames. The input data is "key_frame1," "key_frame2," and "5 frames." This data is used in the next processing step.
[0903] Step 2:
[0904] Emotion recognition
[0905] When the user inputs the number of key frames and intermediate frames, the device's built-in emotion engine analyzes the user's facial expressions and voice tone through the camera. The emotion engine (a general facial expression recognition API or voice analysis tool) recognizes the user's "happy" emotion and generates corresponding data. The input is the user's facial expressions and voice, and the output is emotion data recognized as "happy."
[0906] Step 3:
[0907] Data collection and transmission
[0908] The device collects the user-specified "key_frame1", "key_frame2", the number of intermediate frames (5 frames), and the emotion data recognized by the emotion engine. This data packet is then sent to the server. Specific operations include generating a data packet and sending it to the server via an HTTP request. The input is the key frame, the number of intermediate frames, and the emotion data, and the output is a data packet sent to the server.
[0909] Step 4:
[0910] Initialization and Data Reception
[0911] The server receives and analyzes data packets sent from the device. A deep learning model (GAN model) using TensorFlow is used as the generative model. The server initializes the generative model based on the received data and extracts key frames, the number of intermediate frames, and emotion data. The input is the data packet, and the output is the extracted data.
[0912] Step 5:
[0913] Intermediate Frame Generation
[0914] The server's generative model generates a specified number of intermediate frames between key frames. The color tone and movement of the frames are adjusted based on the user's emotional data. For example, for the "happy" emotion, the generated frames have vivid and bright colors. The generative model uses TensorFlow to perform data calculations using deep learning. The inputs are the key frames, the number of intermediate frames, and the emotional data, and the output is the generated intermediate frames.
[0915] Step 6:
[0916] Assembling a frame sequence
[0917] The server inserts the generated intermediate frames between the key frames to complete a continuous frame sequence. Specifically, it assembles a sequence starting from "key_frame1," followed by the five generated intermediate frames, and ending with "key_frame2." This frame sequence is packaged as a data packet and sent to the terminal. The input is the generated intermediate frames and key frames, and the output is a data packet containing the frame sequence.
[0918] Step 7:
[0919] Sending data packets
[0920] The server assembles the completed frame sequence into a data packet and sends it to the terminal. It provides the frame sequence to the terminal by returning the data packet as an HTTP response. The input is the assembled frame sequence, and the output is the data packet sent to the terminal.
[0921] Step 8:
[0922] Receiving and decoding data packets
[0923] The terminal receives the data packets sent from the server and decodes the contents, so that the frame sequence is reconstructed within the terminal. The input is the data packets from the server, and the output is the decoded frame sequence.
[0924] Step 9:
[0925] View animation
[0926] The device displays the reconstructed frame sequence to the user. The user can see a natural animation sequence generated between the specified key frames. The generated frames also reflect the user's emotions, providing a more engaging visual experience. The input is the decoded frame sequence, and the output is the animation displayed to the user.
[0927] (Application example 2)
[0928] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0929] Conventional animation generation systems have been unable to take the user's emotions into account when generating intermediate frames from key frames, resulting in the generated animation not fully reflecting the user's intentions and emotions. Furthermore, there are insufficient means for users to easily create and adjust animations that match their own emotions.
[0930] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving key frames as input and specifying the number of intermediate frames, means for recognizing the user's emotion and inputting the emotion data into the generative model, means for using the generative model to generate intermediate frames based on the key frames and the number of intermediate frames, means for inserting the generated intermediate frames into the key frames to complete the sequence, and means for transmitting the completed sequence to the terminal. This makes it possible to generate and adjust animation according to the user's emotion.
[0931] "Key frames" are frames that mark the start and end of an animation and are specified by the user as input.
[0932] The "number of intermediate frames" is the number of frames inserted between main frames and is specified by the user.
[0933] A "generative model" is a trained deep learning model for generating intermediate frames based on key frames and the number of intermediate frames.
[0934] "User emotion" is emotion data recognized by analyzing the user's facial expressions and voice.
[0935] "Emotion data" is data that expresses a user's emotions as numerical values or categories, and is input to a generative model.
[0936] A "sequence" is the order of animation frames that is completed by placing the main frames and generated intermediate frames consecutively.
[0937] A "terminal" is a device for displaying the generated animation, and includes mobile devices such as smartphones.
[0938] This invention enables the generation of more advanced animations by combining a system that automatically generates intermediate frames to be inserted between main frames with an emotion engine that recognizes the user's emotions. Detailed embodiments of this system are described below.
[0939] System configuration
[0940] 1. Terminal
[0941] The user uses a device (e.g., a smartphone) to specify the number of key frames and intermediate frames. The device is equipped with an emotion engine that recognizes emotion data from the user's facial expressions and voice in real time. The emotion engine uses software such as DeepEmotionRecognizer.
[0942] 2. Server
[0943] The main frames, the number of intermediate frames, and the user's emotion data are transmitted from the terminal to the server. The server has the following functions:
[0944] 1. Initialize the generative model: Initialize a trained deep learning model (e.g., AnimationFrameGenerator).
[0945] 2. Data reception and analysis: Receive and analyze the transmitted data.
[0946] 3. Generate intermediate frames: Generate intermediate frames using the generative model. Adjust the generated results based on the user's emotion data.
[0947] 4. Complete the sequence: Insert the generated intermediate frames into the main frames to complete the animation sequence.
[0948] 5. Sending data packets: Assemble the completed sequence and send it to the terminal.
[0949] Processing flow
[0950] When the user specifies "key_frame1" and "key_frame2" as the main frames and instructs to generate five intermediate frames, the following processing is performed.
[0951] 1. User emotion recognition: The emotion engine analyzes the user's facial expressions and voice and recognizes the user's emotion as "happy."
[0952] 2. Data transmission: The key frame, the number of intermediate frames, and emotion data are transmitted from the device to the server.
[0953] 3. Generation of intermediate frames: The server analyzes the received data and generates five intermediate frames between "key_frame1" and "key_frame2" using the generative model. At this time, the mood of the frames is adjusted according to the emotional data.
[0954] 4. Complete and transmit the sequence: The generated frame sequence is transmitted to the terminal for the user to review.
[0955] Specific examples
[0956] For example, if a user wants to create an animation using a specific anime character, they can specify "key_frame1" as the start frame and "key_frame2" as the end frame, and set it to generate five intermediate frames. If the user's facial expression is recognized as "happy," the generated intermediate frames will be bright and lively animations. This allows for the generation of natural animation sequences that reflect the user's emotions.
[0957] Prompt Sentence Examples
[0958] "Generate intermediate frames to be inserted between main frames based on emotion. Use key_frame1 as the start frame, key_frame2 as the end frame, and the number of intermediate frames is 5. The user currently has the emotion happy."
[0959] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0960] Step 1:
[0961] The user uses the terminal to input the key frames (start frame "key_frame1" and end frame "key_frame2") and the number of intermediate frames. The terminal collects this information, analyzes the user's facial expressions and voice in real time, and generates emotion data. At this stage, the input data are the key frames, the number of intermediate frames, and emotion data. This information is prepared as output.
[0962] Step 2:
[0963] The device sends the key frame, the number of intermediate frames, and emotion data to the server. Data is then sent from the device to the server. The input at this stage is the key frame, the number of intermediate frames, and emotion data from the device. The output is a confirmation message that the transmission was successful.
[0964] Step 3:
[0965] The server analyzes the received data and initializes the generative model. A pre-trained deep learning model (e.g., AnimationFrameGenerator) is loaded on the server side. The inputs are the key frames, the number of intermediate frames, and emotion data sent from the device. The output is a message indicating that the generative model has been initialized.
[0966] Step 4:
[0967] The server generates intermediate frames using a generative model. At this time, it adjusts the generated results based on the user's emotional data. Specifically, if the user's emotional state is "happy," the model adjusts the parameters so that the generated frames are bright and lively. The inputs are the main frame, the number of intermediate frames, and the emotional data. The generated intermediate frames are obtained as the output.
[0968] Step 5:
[0969] The server inserts the generated intermediate frames between the key frames to complete a continuous animation sequence. Specifically, it inserts the generated intermediate frames in order between the start frame "key_frame1" and the end frame "key_frame2". The input is the key frames and the generated intermediate frames. The output is the completed animation sequence.
[0970] Step 6:
[0971] The server assembles the completed animation sequence into a data packet and sends it to the terminal. Specifically, it converts the completed animation sequence into a decodable format and packetizes it. The input is the completed animation sequence. The output is a transmission success message and the data packet.
[0972] Step 7:
[0973] The terminal receives the data packets sent from the server, decodes them, and displays them to the user, who can then view the generated animation sequence. The input is the data packets sent from the server, and the output is the decoded animation sequence.
[0974] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0975] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0976] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[0977] [Fourth embodiment]
[0978] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[0979] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[0980] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0981] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[0982] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0983] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0984] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0985] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[0986] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0987] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0988] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0989] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0990] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[0991] This invention is a system that automatically generates intermediate frames between major frames using a generative model in order to reduce the time and effort required for animation production. A specific embodiment of this system and the program processing for it are described below.
[0992] System configuration
[0993] The system has a means for receiving key frames as input and automatically generating a specified number of intermediate frames. Each part of the system is described in detail below.
[0994] Inputting main frames
[0995] The user specifies key frames using the terminal, specifically by selecting the start frame (e.g., key_frame1) and end frame (e.g., key_frame2) of the animation scene and inputting them into the terminal.
[0996] Specifying the number of intermediate frames
[0997] The user inputs the number of intermediate frames into the terminal. For example, if the user wants to generate five intermediate frames between main frames, the user inputs the number "5." This information is sent from the terminal to the server.
[0998] Server Processing
[0999] The server receives the key frames and the number of intermediate frames sent from the device and generates the intermediate frames using a generative model, a trained deep learning model designed to improve the continuity and quality of the animation.
[1000] First, the server analyzes the sequence of key frames and organizes the start and end frame information. Then, it inputs the key frames and the number of intermediate frames into the generative model, which generates the specified number of intermediate frames. The generated frames are inserted between the key frames and organized into a continuous sequence.
[1001] Sending the results
[1002] The generated frame sequence is sent from the server to the device, which decodes the received data and displays it to the user, allowing the user to confirm that natural animation has been generated between key frames.
[1003] Specific examples
[1004] Usage example: To generate 10 frames of animation
[1005] 1. User operations
[1006] The user uses the terminal interface to specify "key_frame1" as the start frame and "key_frame2" as the end frame.
[1007] The user enters "5" as the number of intermediate frames.
[1008] 2. Terminal Processing
[1009] The terminal transmits the "key_frame1", "key_frame2" and the number of intermediate frames "5" input by the user to the server.
[1010] 3. Server Processing
[1011] The server uses the generative model to generate five intermediate frames between "key_frame1" and "key_frame2", resulting in a continuous sequence of seven frames ("key_frame1" + 5 intermediate frames + "key_frame2").
[1012] 4. Displaying the terminal
[1013] The generated frame sequence is sent back to the terminal and displayed to the user.
[1014] As a result, the system of the present invention significantly improves the efficiency of animation production, allowing creators to create high-quality animations with less time and effort.In addition, the deep learning model used as a generative model maintains high quality in the generated frames.
[1015] The processing flow will be explained below.
[1016] Step 1:
[1017] Using the terminal interface, the user selects the start frame (e.g., "key_frame1") and end frame (e.g., "key_frame2") of the animation scene. In addition, the user inputs the number of intermediate frames to be generated (e.g., "5").
[1018] Step 2:
[1019] The terminal assembles the key frames and the number of intermediate frames input by the user into a packet. This packet contains "key_frame1", "key_frame2", and the number of intermediate frames "5".
[1020] Step 3:
[1021] The terminal sends the collected packets to the server, ensuring that information is transmitted safely and reliably over the network.
[1022] Step 4:
[1023] The server receives the data packets sent from the terminal and extracts the key frames and intermediate frame numbers from the received information.
[1024] Step 5:
[1025] The server initializes a prepared generative model, which contains a trained deep learning algorithm.
[1026] Step 6:
[1027] The server provides the key frames and the number of intermediate frames to the generative model as input. Specifically, it specifies "key_frame1" and "key_frame2" as the start and end frames, and sets the number of intermediate frames to "5."
[1028] Step 7:
[1029] The generative model generates intermediate frames based on the configured information. The model generates five intermediate frames between "key_frame1" and "key_frame2" and adds them to a list as a continuous sequence.
[1030] Step 8:
[1031] The server assembles the generated frame sequence into a data packet and sends it to the terminal. This data packet contains the start frame "key_frame1", the five generated intermediate frames, and the end frame "key_frame2".
[1032] Step 9:
[1033] The terminal receives the data packets sent from the server, decodes the received data, and prepares it so that the generated frame sequence can be confirmed.
[1034] Step 10:
[1035] The terminal displays the generated frame sequence to the user, who can confirm that a natural animation has been generated between the start and end frames.
[1036] Example 1
[1037] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1038] Creating animation is a time-consuming and labor-intensive process. Inserting natural-looking in-between frames between key frames in an animated scene requires a significant amount of manual effort. There is a need for a way to automate this process while streamlining and maintaining quality.
[1039] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1040] In this invention, the server includes: means for receiving key frames as input and specifying the number of intermediate frames; means for using a generative model to generate intermediate frames based on the key frames and the number of intermediate frames; means for inserting the generated intermediate frames into the key frames to complete the sequence; means for inputting key frames using a terminal and specifying the number of intermediate frames; means for transmitting the specified key frames and the specified number of intermediate frames to the server; means for the server to generate intermediate frames between the specified key frames using the generative model; and means for returning the generated frame sequence to the terminal and displaying it to the user. This significantly improves the efficiency of animation production, allowing users to create high-quality animations without spending time and effort while maintaining quality.
[1041] "Key frames" refers to the significant beginning and ending frames in an animation sequence.
[1042] "Number of intermediate frames" refers to the number of frames that should be generated between key frames.
[1043] "Generative Model" refers to the machine learning model used to generate intermediate frames between specified key frames.
[1044] "Terminal" refers to a device through which a user inputs the number of key frames and intermediate frames and transmits this data to a server.
[1045] "Server" refers to a computer system that receives data sent from a terminal, generates intermediate frames using a generative model, and sends them back to the terminal.
[1046] "Generated intermediate frames" refer to frames newly generated between main frames by a generative model.
[1047] "Completing the sequence" refers to combining key frames with generated intermediate frames to create a series of animation frames.
[1048] "Displaying to the user" refers to displaying the generated frame sequence on the terminal so that the user can check it.
[1049] This invention is a system that automatically generates intermediate frames between major frames using a generative model in order to reduce the time and effort required for animation production. Specific embodiments of this system are described below.
[1050] System configuration
[1051] This system receives key frames as input and automatically generates a specified number of intermediate frames. The system consists of a terminal used by the user and a server that processes the data.
[1052] Inputting main frames
[1053] The user uses the terminal to specify the start frame (key_frame1) and end frame (key_frame2) of the animation scene. Specifically, the user selects "key_frame1.png" and "key_frame2.png" from the file selection dialog using the interface of the animation editing software.
[1054] Specifying the number of intermediate frames
[1055] The user inputs the number of intermediate frames into the terminal. For example, if five intermediate frames are to be generated between main frames, the user inputs "5" into the numeric input field and clicks the confirm button. This information is sent from the terminal to the server.
[1056] Server Processing
[1057] The server receives the data sent from the device and analyzes the number of key frames and intermediate frames. The server uses a generative AI model (e.g., a trained deep learning model built with TensorFlow or PyTorch) to generate intermediate frames between the specified key frames. Specifically, the server processes the generative model to generate intermediate frames continuously based on the shape and color information of the start and end frames.
[1058] Sending and displaying results
[1059] The generated frame sequence is sent back from the server to the device, which decodes the received data and uses a video playback engine to display it as successive frames for the user, allowing the user to see a natural animation sequence between key frames.
[1060] Specific examples
[1061] A specific example of using this system is given below.
[1062] Example of use: To generate intermediate frames of an animation
[1063] 1. User Action:
[1064] The user specifies "key_frame1.png" as the start frame and "key_frame2.png" as the end frame in the device interface.
[1065] The user enters "5" as the number of intermediate frames.
[1066] 2. Terminal processing:
[1067] The terminal transmits "key_frame1.png", "key_frame2.png", and the number of intermediate frames "5" input by the user to the server.
[1068] 3. Server processing:
[1069] The server uses the generative AI model to generate five intermediate frames between "key_frame1.png" and "key_frame2.png". The generated frame sequence consists of a total of seven frames ("key_frame1.png" + five intermediate frames + "key_frame2.png").
[1070] 4. Display terminal:
[1071] The generated frame sequence is sent back to the terminal and displayed to the user.
[1072] Prompt Sentence Examples
[1073] By inputting the following prompt sentence into the generative AI model, intermediate frames are generated through the above steps.
[1074] Specify "key_frame1.png" as the start frame of the key frames and "key_frame2.png" as the end frame, and generate five intermediate frames between the key frames.
[1075] With this specific example, the system of the present invention can significantly improve the efficiency of animation production, enabling creators to create high-quality animations without spending a lot of time and effort.
[1076] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1077] Step 1:
[1078] The user inputs the key frames using the terminal. Specifically, the user selects "key_frame1.png" and "key_frame2.png" from the file selection dialog using the interface of the animation editing software. The inputs are the image files of the key frames. The terminal reads these files into memory and proceeds to the next step.
[1079] Step 2:
[1080] The user specifies the number of intermediate frames. Specifically, the user enters "5" in the numeric input field on the terminal's user interface and clicks the confirm button. The input is the number of intermediate frames, "5." The terminal stores this information and transmits it to the server.
[1081] Step 3:
[1082] Data is sent from the device to the server. Specifically, the device creates an HTTP POST request and sends information about the start frame, end frame, and number of intermediate frames ("5") to the server's API endpoint. The input is the image files of the main frames ("key_frame1.png", "key_frame2.png") and the number of intermediate frames ("5"). The output is that the request has been sent to the server.
[1083] Step 4:
[1084] The server analyzes the received data. Specifically, the server analyzes the HTTP request and obtains the image data of the main frames and the number of intermediate frames. The input is the image file of the main frame and the data of the number of intermediate frames sent from the terminal. The server performs the following process based on this.
[1085] Step 5:
[1086] The server generates intermediate frames using a generative AI model. Specifically, the key frames and the number of intermediate frames are input to the generative AI model (e.g., a trained deep learning model built with TensorFlow or PyTorch), and the model generates intermediate frames based on the shape and color information of the start and end frames. The inputs are image files of the key frames and the number of intermediate frames. The output is image files of the generated intermediate frames.
[1087] Step 6:
[1088] The generated frame sequence is sent back to the terminal from the server. Specifically, the server assembles the generated intermediate frames into a continuous sequence, compresses and encodes them, and then sends them back to the terminal. The input is a group of image files of the generated intermediate frames. The output is the completion of data transmission to the terminal.
[1089] Step 7:
[1090] The device displays the received data to the user. Specifically, the device software decodes the received frames and uses a video playback engine to display them to the user as consecutive frames. The input is the generated frame sequence data returned from the server. The output is the user viewing the generated animation in the animation preview window.
[1091] (Application example 1)
[1092] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1093] In animation production, manually creating intermediate frames between key frames is a time-consuming and labor-intensive task. Content distribution services, in particular, require fast, high-quality animation, making efficiency a major challenge. There is also a need for a system that can quickly transmit the generated intermediate frames to client devices, allowing users to view the results in real time.
[1094] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1095] In this invention, the server includes means for receiving key frames as input and specifying the number of intermediate frames, means for using a generative model to generate intermediate frames based on the key frames and the number of intermediate frames, means for inserting the generated intermediate frames into the key frames to complete the sequence, and means for transmitting the generated frame sequence to a client device, thereby enabling efficient animation production and rapid generation and immediate transmission of high-quality intermediate frames to the client device.
[1096] A "key frame" is a significant frame in an animation or video sequence that shows a particular scene or action.
[1097] "Intermediate frames" are frames inserted between main frames to smooth out movement.
[1098] A "generative model" refers to an algorithm or deep learning model that generates new frames based on a number of key frames and intermediate frames.
[1099] "Sequence" means a collection of consecutive frames in an animation or video.
[1100] "Client device" refers to the terminal that receives the intermediate frame generation results and displays them to the user. Specifically, this applies to smartphones, tablets, and PCs.
[1101] A "trained deep learning model" refers to a neural network that has been previously trained with a large amount of data and optimized for a specific task (in this case, generating intermediate frames).
[1102] "Return" refers to the process of sending data generated on the server side back to the client device.
[1103] The present invention relates to a system that generates intermediate frames based on the number of key frames and intermediate frames, and transmits the frames to a client device.
[1104] First, the user specifies key frames using the terminal. Specifically, for example, the start frame of the animation is selected as "key_frame1" and the end frame as "key_frame2." Next, the user inputs the number of intermediate frames they want to generate into the terminal. For example, if they want to generate five intermediate frames, they input the number "5."
[1105] This information is sent from the terminal to the server. The server receives the key frames and the number of intermediate frames and generates intermediate frames based on this information using a deep learning model. The generative model used here is a trained deep learning model that has been trained using a large amount of animation data, allowing it to generate natural, high-quality intermediate frames.
[1106] The server analyzes the sequence of key frames and organizes the start and end frame information. It then inputs the key frames and the number of intermediate frames into the generative model, which generates the specified number of intermediate frames. The generated frames are inserted between the key frames to form a smooth continuous sequence. The generated frame sequence is then sent from the server to the client device.
[1107] The client device decodes the received data and displays it to the user, allowing the user to immediately see the natural animation generated between key frames.
[1108] Example
[1109] For example, a user opens the application on their smartphone, sets the start frame to "key_frame1.png," the end frame to "key_frame2.png," and inputs "5" as the number of intermediate frames. This information is sent to a backend server, which generates the specified five intermediate frames using a trained deep learning model. This generative model is trained using TensorFlow and Python. The generated frame sequence is sent back from the server to the smartphone and displayed on the user's smartphone.
[1110] Example prompts to input to a generative AI model:
[1111] Generate five intermediate frames between "key_frame1.png" and "key_frame2.png".
[1112] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1113] Step 1:
[1114] The user specifies the key frames and the number of intermediate frames using the terminal. Specifically, the start frame of the animation, "key_frame1.png," and the end frame, "key_frame2.png," are selected, and the number of intermediate frames to be generated, "5," is entered. The input data is the start frame, end frame, and number of intermediate frames.
[1115] Step 2:
[1116] The device sends this input data to the server. Specifically, the device sends an HTTP request (for example, data in JSON format) to the server. This request includes "key_frame1.png", "key_frame2.png", and the number of intermediate frames "5".
[1117] Step 3:
[1118] The server analyzes the received data and obtains the start frame, end frame, and number of intermediate frames. Specifically, the server decodes the received data and stores the number of key frames and intermediate frames in variables. The input of the server is the HTTP request sent from the terminal, and the output is the analyzed key frames and number of intermediate frames.
[1119] Step 4:
[1120] The server loads the image data for the start and end frames. Specifically, it reads "key_frame1.png" and "key_frame2.png" from the server's storage or cloud storage and obtains them as image data. The server's input is the frame file path, and its output is the loaded image data.
[1121] Step 5:
[1122] The server provides the key frames and the number of intermediate frames as input to the generative model, which then generates the intermediate frames. Specifically, image data is input to the deep learning model using TensorFlow or Python code, and the specified number of intermediate frames is generated. The server's input is the image data of the key frames and the number of intermediate frames, and its output is the image data of the generated intermediate frames.
[1123] Step 6:
[1124] The server inserts the generated intermediate frames between the key frames to complete the sequence. Specifically, it concatenates the key frames and the intermediate frames to create a continuous frame sequence. The server's input is the image data of the key frames and the generated intermediate frames, and its output is the completed frame sequence.
[1125] Step 7:
[1126] The server sends the completed frame sequence to the client device. Specifically, it encodes the generated frame sequence and returns it to the terminal as an HTTP response. The server's input is the completed frame sequence, and its output is the HTTP response to the client device.
[1127] Step 8:
[1128] The terminal decodes the frame sequence received from the server and displays it to the user. Specifically, the terminal analyzes the response from the server and plays the frame sequence continuously. The input to the terminal is the HTTP response of the frame sequence from the server, and the output is the animation displayed on the user's display.
[1129] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1130] The present invention is a system that enables more advanced animation production by combining a system that automatically generates intermediate frames between main frames with an emotion engine that recognizes the user's emotions. Specific embodiments of this system and program processing are described below.
[1131] System configuration
[1132] Inputting main frames
[1133] The user specifies the key frames of the animation using the terminal interface. In this example, the user selects "key_frame1" as the opening frame of the animation scene and "key_frame2" as the ending frame. The user also inputs the number of intermediate frames to be generated (for example, 5 frames) into the terminal.
[1134] Manipulating the Emotion Engine
[1135] The device is equipped with an emotion engine that analyzes the user's facial expressions and voice tone. When the user inputs the number of key frames and intermediate frames, the emotion engine recognizes the user's emotion and sends it as data to the server.
[1136] Server Processing
[1137] The server receives the key frames sent from the terminal, the number of intermediate frames, and the user's emotion data recognized by the emotion engine.
[1138] 1. Initializing the model and receiving data
[1139] The server initializes the generative model and extracts the number of received key frames and intermediate frames, as well as emotion data.
[1140] 2. Generation of intermediate frames
[1141] A generative model (deep learning model) generates intermediate frames based on the specified information. The server adjusts the frame generation according to the user's emotions recognized by the emotion engine. For example, if the user has the emotion "happy," a vivid and lively frame is generated.
[1142] 3. Inserting the intermediate frame
[1143] The server inserts the generated intermediate frames between the main frames to complete the continuous sequence.
[1144] 4. Sending Data Packets
[1145] The completed frame sequence is packaged as a data packet and sent to the terminal. The data packet includes the start frame "key_frame1", the five generated intermediate frames, and the end frame "key_frame2".
[1146] Terminal display
[1147] The device receives the data packets sent from the server, decodes the frame sequence, and displays it. The user can see that natural animation is generated between key frames, and enjoy the animation sequence that reflects the user's emotions.
[1148] Specific examples
[1149] Usage example: Generating 10 frames of animation using emotion engine
[1150] 1. User operations
[1151] The user uses the device interface to specify "key_frame1" as the opening frame and "key_frame2" as the ending frame. They also input "5" as the number of intermediate frames. The emotion engine analyzes the user's facial expressions and voice and recognizes that the user has the emotion "happy."
[1152] 2. Terminal Processing
[1153] The terminal transmits the main frame, the number of intermediate frames, and the user's emotion data to the server.
[1154] 3. Server Processing
[1155] The server initializes the generative model and analyzes the received data. The generative model generates five intermediate frames between "key_frame1" and "key_frame2" to generate a lively frame corresponding to the user's "happy" emotion. The generated frame sequence is packaged as a data packet and sent to the device.
[1156] 4. Displaying the terminal
[1157] The terminal decodes the received data packets and displays them to the user, who can enjoy a frame sequence that reflects his or her own emotions.
[1158] This allows the system of the present invention to create sophisticated animations that take into account the user's emotions. Furthermore, by using the emotion engine, it is possible to efficiently create appealing animations that appeal to the viewer's emotions.
[1159] The processing flow will be explained below.
[1160] Step 1:
[1161] The user uses the terminal interface to select the start frame (e.g., "key_frame1") and end frame (e.g., "key_frame2") of the animation scene, and also inputs the number of intermediate frames to be generated (e.g., "5").
[1162] Step 2:
[1163] The emotion engine analyzes the user's facial expressions and voice in real time to recognize the user's emotions. For example, it identifies whether the user is expressing "happiness."
[1164] Step 3:
[1165] The terminal transmits the main frame, the number of intermediate frames, and the recognized emotion data input by the user as packets to the server.
[1166] Step 4:
[1167] The server receives the data packets sent from the terminal and extracts the key frames, the number of intermediate frames, and the user's emotion data from the received packets.
[1168] Step 5:
[1169] The server initializes a generative model, which is a trained deep learning model.
[1170] Step 6:
[1171] The server provides the extracted key frames ("key_frame1" and "key_frame2") and the number of intermediate frames ("5") to the generative model. The generative model generates frames based on this information.
[1172] Step 7:
[1173] The server inputs additional user emotional data into the generative model. Based on this emotional data, the model generates frames that match the user's emotions. For example, for the emotion "happy," the model generates vivid and lively intermediate frames.
[1174] Step 8:
[1175] The generative model generates a specified number of intermediate frames between key frames. During this process, the generated frames are inserted between the start frame "key_frame1" and the end frame "key_frame2" to form a continuous sequence.
[1176] Step 9:
[1177] The server sends the generated frame sequence to the terminal as a data packet, which includes the start frame "key_frame1", the five generated intermediate frames, and the end frame "key_frame2".
[1178] Step 10:
[1179] The terminal receives the data packets sent from the server, decodes the received data, and formats it in a way that allows the generated frame sequence to be confirmed.
[1180] Step 11:
[1181] The device displays the generated frame sequence to the user, who can confirm that natural animation has been generated between the main frames and enjoy the frame sequence that reflects his or her own emotions.
[1182] Example 2
[1183] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1184] Conventional animation production systems have a problem in that it is difficult to reflect the user's emotions when generating intermediate frames between main frames. This makes it difficult to efficiently create animation sequences that appeal to the viewer's emotions. Furthermore, the generated intermediate frames often do not match the user's intentions or emotions, resulting in a lack of naturalness and unity.
[1185] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1186] In this invention, the server includes means for receiving key frames as input and specifying the number of intermediate frames, means for using a deep learning model to generate intermediate frames based on the key frames and the number of intermediate frames, means for inserting the generated intermediate frames into the key frames to complete the sequence, and means for generating frames according to the user's emotions using an emotion engine that recognizes the user's emotions, thereby enabling the generation of natural and attractive animation sequences that reflect the user's emotions.
[1187] "Key frames" refer to important beginning and ending frames in an animation sequence.
[1188] "Intermediate frames" are multiple frames inserted between main frames, and are generated to enhance the smoothness and naturalness of the animation.
[1189] A "deep learning model" is a type of artificial intelligence that uses multi-layered neural networks to perform pattern recognition and data generation.
[1190] An "emotion engine" is a software or hardware system that analyzes a user's facial expressions and tone of voice to recognize the user's emotions.
[1191] A "data packet" is a unit of a series of data organized for transferring data within a system.
[1192] A "frame sequence" is a set of animation frames, consisting of a series of key frames and intermediate frames.
[1193] MODE FOR CARRYING OUT THE INVENTION
[1194] This invention relates to a system that automatically generates intermediate frames between main frames to create animation sequences that reflect the user's emotions. This system is composed of user operations, terminal processing, server processing, and terminal display.
[1195] Inputting main frames
[1196] The user specifies the key frames of the animation using the terminal interface. Specifically, the user selects "key_frame1" as the opening frame, "key_frame2" as the ending frame, and inputs the number of intermediate frames to be generated. For example, the user can specify "5 frames" as the number of intermediate frames.
[1197] Manipulating the Emotion Engine
[1198] While the user is performing input operations, the emotion engine installed on the device analyzes the user's facial expressions and voice tone. The emotion engine detects the user's smile and other emotions through the camera and recognizes emotions such as "happiness." This recognized emotion data is used when generating intermediate frames.
[1199] Terminal handling
[1200] The device compiles the key frames specified by the user, the number of intermediate frames to be generated, and the emotion data recognized by the emotion engine. This information is sent as a data packet to the server. Specific examples of emotion engines used include general facial expression recognition APIs and voice analysis tools.
[1201] Server Processing
[1202] The server receives and analyzes data packets sent from the device. A deep learning model (such as a GAN model) using TensorFlow is used as the generative model. The server initializes this generative model and automatically generates intermediate frames based on the main frames, the number of intermediate frames, and the user's emotional data. The generated frames are adjusted according to the user's emotions. For example, if the user is "happy," the generated frames will be bright and vivid.
[1203] Intermediate Frame Generation
[1204] The server's generative model generates intermediate frames between the specified key frames that reflect the color tone and movement according to the user's emotions. Specifically, for example, five intermediate frames are generated between "key_frame1" and "key_frame2."
[1205] Assembling a frame sequence
[1206] The server inserts the generated intermediate frames between the main frames to complete a continuous frame sequence, which is then transmitted to the terminal as a series of data packets.
[1207] Terminal display
[1208] The device receives the data packets sent from the server and decodes the frame sequence, allowing the user to view a continuous animation. The generated frames also reflect the user's emotions, allowing for a more natural and engaging animation sequence.
[1209] Specific examples
[1210] For example, consider the case where a user types the following at a terminal:
[1211] User: I want to create an animation sequence.
[1212] Input the key frames and number of intermediate frames.
[1213] Start frame: key_frame1
[1214] End frame: key_frame2
[1215] Number of intermediate frames: 5
[1216] User emotion: happy
[1217] In this example, the user specifies "key_frame1" as the opening frame, "key_frame2" as the ending frame, and "5" as the number of intermediate frames. The emotion engine recognizes that the user is "happy," and five intermediate frames that reflect this emotion are generated. The device displays this generated frame sequence to the user, and the user can see an animation sequence that reflects their emotion.
[1218] This invention allows users to efficiently generate animation sequences that reflect their own emotions, and create visually appealing content.
[1219] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1220] Step 1:
[1221] Specifying and inputting main frames
[1222] The user specifies the key frames of the animation using the terminal interface. Specifically, the user selects "key_frame1" as the opening frame, "key_frame2" as the ending frame, and inputs the number of intermediate frames. For example, the user inputs "5 frames" as the number of intermediate frames. The input data is "key_frame1," "key_frame2," and "5 frames." This data is used in the next processing step.
[1223] Step 2:
[1224] Emotion recognition
[1225] When the user inputs the number of key frames and intermediate frames, the device's built-in emotion engine analyzes the user's facial expressions and voice tone through the camera. The emotion engine (a general facial expression recognition API or voice analysis tool) recognizes the user's "happy" emotion and generates corresponding data. The input is the user's facial expressions and voice, and the output is emotion data recognized as "happy."
[1226] Step 3:
[1227] Data collection and transmission
[1228] The device collects the user-specified "key_frame1", "key_frame2", the number of intermediate frames (5 frames), and the emotion data recognized by the emotion engine. This data packet is then sent to the server. Specific operations include generating a data packet and sending it to the server via an HTTP request. The input is the key frame, the number of intermediate frames, and the emotion data, and the output is a data packet sent to the server.
[1229] Step 4:
[1230] Initialization and Data Reception
[1231] The server receives and analyzes data packets sent from the device. A deep learning model (GAN model) using TensorFlow is used as the generative model. The server initializes the generative model based on the received data and extracts key frames, the number of intermediate frames, and emotion data. The input is the data packet, and the output is the extracted data.
[1232] Step 5:
[1233] Intermediate Frame Generation
[1234] The server's generative model generates a specified number of intermediate frames between key frames. The color tone and movement of the frames are adjusted based on the user's emotional data. For example, for the "happy" emotion, the generated frames have vivid and bright colors. The generative model uses TensorFlow to perform data calculations using deep learning. The inputs are the key frames, the number of intermediate frames, and the emotional data, and the output is the generated intermediate frames.
[1235] Step 6:
[1236] Assembling a frame sequence
[1237] The server inserts the generated intermediate frames between the key frames to complete a continuous frame sequence. Specifically, it assembles a sequence starting from "key_frame1," followed by the five generated intermediate frames, and ending with "key_frame2." This frame sequence is packaged as a data packet and sent to the terminal. The input is the generated intermediate frames and key frames, and the output is a data packet containing the frame sequence.
[1238] Step 7:
[1239] Sending data packets
[1240] The server assembles the completed frame sequence into a data packet and sends it to the terminal. It provides the frame sequence to the terminal by returning the data packet as an HTTP response. The input is the assembled frame sequence, and the output is the data packet sent to the terminal.
[1241] Step 8:
[1242] Receiving and decoding data packets
[1243] The terminal receives the data packets sent from the server and decodes the contents, so that the frame sequence is reconstructed within the terminal. The input is the data packets from the server, and the output is the decoded frame sequence.
[1244] Step 9:
[1245] View animation
[1246] The device displays the reconstructed frame sequence to the user. The user can see a natural animation sequence generated between the specified key frames. The generated frames also reflect the user's emotions, providing a more engaging visual experience. The input is the decoded frame sequence, and the output is the animation displayed to the user.
[1247] (Application example 2)
[1248] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1249] Conventional animation generation systems have been unable to take the user's emotions into account when generating intermediate frames from key frames, resulting in the generated animation not fully reflecting the user's intentions and emotions. Furthermore, there are insufficient means for users to easily create and adjust animations that match their own emotions.
[1250] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving key frames as input and specifying the number of intermediate frames, means for recognizing the user's emotion and inputting the emotion data into the generative model, means for using the generative model to generate intermediate frames based on the key frames and the number of intermediate frames, means for inserting the generated intermediate frames into the key frames to complete the sequence, and means for transmitting the completed sequence to the terminal. This makes it possible to generate and adjust animation according to the user's emotion.
[1251] "Key frames" are frames that mark the start and end of an animation and are specified by the user as input.
[1252] The "number of intermediate frames" is the number of frames inserted between main frames and is specified by the user.
[1253] A "generative model" is a trained deep learning model for generating intermediate frames based on key frames and the number of intermediate frames.
[1254] "User emotion" is emotion data recognized by analyzing the user's facial expressions and voice.
[1255] "Emotion data" is data that expresses a user's emotions as numerical values or categories, and is input to a generative model.
[1256] A "sequence" is the order of animation frames that is completed by placing the main frames and generated intermediate frames consecutively.
[1257] A "terminal" is a device for displaying the generated animation, and includes mobile devices such as smartphones.
[1258] This invention enables the generation of more advanced animations by combining a system that automatically generates intermediate frames to be inserted between main frames with an emotion engine that recognizes the user's emotions. Detailed embodiments of this system are described below.
[1259] System configuration
[1260] 1. Terminal
[1261] The user uses a device (e.g., a smartphone) to specify the number of key frames and intermediate frames. The device is equipped with an emotion engine that recognizes emotion data from the user's facial expressions and voice in real time. The emotion engine uses software such as DeepEmotionRecognizer.
[1262] 2. Server
[1263] The main frames, the number of intermediate frames, and the user's emotion data are transmitted from the terminal to the server. The server has the following functions:
[1264] 1. Initialize the generative model: Initialize a trained deep learning model (e.g., AnimationFrameGenerator).
[1265] 2. Data reception and analysis: Receive and analyze the transmitted data.
[1266] 3. Generate intermediate frames: Generate intermediate frames using the generative model. Adjust the generated results based on the user's emotion data.
[1267] 4. Complete the sequence: Insert the generated intermediate frames into the main frames to complete the animation sequence.
[1268] 5. Sending data packets: Assemble the completed sequence and send it to the terminal.
[1269] Processing flow
[1270] When the user specifies "key_frame1" and "key_frame2" as the main frames and instructs to generate five intermediate frames, the following processing is performed.
[1271] 1. User emotion recognition: The emotion engine analyzes the user's facial expressions and voice and recognizes the user's emotion as "happy."
[1272] 2. Data transmission: The key frame, the number of intermediate frames, and emotion data are transmitted from the device to the server.
[1273] 3. Generation of intermediate frames: The server analyzes the received data and generates five intermediate frames between "key_frame1" and "key_frame2" using the generative model. At this time, the mood of the frames is adjusted according to the emotional data.
[1274] 4. Complete and transmit the sequence: The generated frame sequence is transmitted to the terminal for the user to review.
[1275] Specific examples
[1276] For example, if a user wants to create an animation using a specific anime character, they can specify "key_frame1" as the start frame and "key_frame2" as the end frame, and set it to generate five intermediate frames. If the user's facial expression is recognized as "happy," the generated intermediate frames will be bright and lively animations. This allows for the generation of natural animation sequences that reflect the user's emotions.
[1277] Prompt Sentence Examples
[1278] "Generate intermediate frames to be inserted between main frames based on emotion. Use key_frame1 as the start frame, key_frame2 as the end frame, and the number of intermediate frames is 5. The user currently has the emotion happy."
[1279] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1280] Step 1:
[1281] The user uses the terminal to input the key frames (start frame "key_frame1" and end frame "key_frame2") and the number of intermediate frames. The terminal collects this information, analyzes the user's facial expressions and voice in real time, and generates emotion data. At this stage, the input data are the key frames, the number of intermediate frames, and emotion data. This information is prepared as output.
[1282] Step 2:
[1283] The device sends the key frame, the number of intermediate frames, and emotion data to the server. Data is then sent from the device to the server. The input at this stage is the key frame, the number of intermediate frames, and emotion data from the device. The output is a confirmation message that the transmission was successful.
[1284] Step 3:
[1285] The server analyzes the received data and initializes the generative model. A pre-trained deep learning model (e.g., AnimationFrameGenerator) is loaded on the server side. The inputs are the key frames, the number of intermediate frames, and emotion data sent from the device. The output is a message indicating that the generative model has been initialized.
[1286] Step 4:
[1287] The server generates intermediate frames using a generative model. At this time, it adjusts the generated results based on the user's emotional data. Specifically, if the user's emotional state is "happy," the model adjusts the parameters so that the generated frames are bright and lively. The inputs are the main frame, the number of intermediate frames, and the emotional data. The generated intermediate frames are obtained as the output.
[1288] Step 5:
[1289] The server inserts the generated intermediate frames between the key frames to complete a continuous animation sequence. Specifically, it inserts the generated intermediate frames in order between the start frame "key_frame1" and the end frame "key_frame2". The input is the key frames and the generated intermediate frames. The output is the completed animation sequence.
[1290] Step 6:
[1291] The server assembles the completed animation sequence into a data packet and sends it to the terminal. Specifically, it converts the completed animation sequence into a decodable format and packetizes it. The input is the completed animation sequence. The output is a transmission success message and the data packet.
[1292] Step 7:
[1293] The terminal receives the data packets sent from the server, decodes them, and displays them to the user, who can then view the generated animation sequence. The input is the data packets sent from the server, and the output is the decoded animation sequence.
[1294] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1295] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1296] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1297] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1298] FIG. 9 illustrates an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and behaviors arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1299] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1300] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1301] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1302] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1303] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1304] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1305] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1306] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1307] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1308] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1309] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1310] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1311] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1312] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1313] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1314] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1315] The following is further disclosed regarding the above embodiment.
[1316] (Claim 1)
[1317] It takes the main frame as input,
[1318] a means for specifying the number of intermediate frames;
[1319] means for generating intermediate frames based on the key frames and the number of intermediate frames using a generative model;
[1320] a means for inserting the generated intermediate frames into the main frames to complete the sequence;
[1321] A system including:
[1322] (Claim 2)
[1323] The system of claim 1 , wherein the generative model is a trained deep learning model.
[1324] (Claim 3)
[1325] 2. The system according to claim 1, further comprising means for returning the generated intermediate frame as is.
[1326] "Example 1"
[1327] (Claim 1)
[1328] a means for receiving key frames as input and specifying the number of intermediate frames;
[1329] means for generating intermediate frames based on the key frames and the number of intermediate frames using a generative model;
[1330] a means for inserting the generated intermediate frames into the main frames to complete the sequence;
[1331] A means for inputting main frames and specifying the number of intermediate frames using a terminal;
[1332] means for transmitting the specified number of key frames and intermediate frames to a server;
[1333] a means for generating intermediate frames between designated key frames using a generative model by the server;
[1334] means for returning the generated frame sequence to the terminal for display to the user;
[1335] A system including:
[1336] (Claim 2)
[1337] The system of claim 1 , wherein the generative model is a trained deep learning model.
[1338] (Claim 3)
[1339] 2. The system according to claim 1, further comprising means for returning the generated intermediate frame as is.
[1340] "Application Example 1"
[1341] (Claim 1)
[1342] It takes the main frame as input,
[1343] a means for specifying the number of intermediate frames;
[1344] means for generating intermediate frames based on the key frames and the number of intermediate frames using a generative model;
[1345] a means for inserting the generated intermediate frames into the main frames to complete the sequence;
[1346] means for transmitting the generated frame sequence to a client device;
[1347] A system including:
[1348] (Claim 2)
[1349] The system of claim 1 , wherein the generative model is a trained deep learning model.
[1350] (Claim 3)
[1351] 2. The system according to claim 1, further comprising means for returning the generated intermediate frame as is.
[1352] "Example 2: Combining Emotion Engines"
[1353] (Claim 1)
[1354] It takes the main frame as input,
[1355] a means for specifying the number of intermediate frames;
[1356] a means for generating intermediate frames based on the key frames and the number of intermediate frames using a deep learning model;
[1357] a means for inserting the generated intermediate frames into the main frames to complete the sequence;
[1358] a means for generating frames according to emotions using an emotion engine that recognizes emotions of a user;
[1359] A system including:
[1360] (Claim 2)
[1361] The system of claim 1 , wherein the generative model is a trained deep learning model.
[1362] (Claim 3)
[1363] 2. The system according to claim 1, further comprising means for returning the generated intermediate frame as is.
[1364] "Application example 2 when combining emotion engines"
[1365] (Claim 1)
[1366] It takes the main frame as input,
[1367] a means for specifying the number of intermediate frames;
[1368] means for generating intermediate frames based on the key frames and the number of intermediate frames using a generative model;
[1369] means for recognizing a user's emotion and inputting the emotion data into the generative model;
[1370] a means for inserting the generated intermediate frames into the main frames to complete the sequence;
[1371] means for transmitting the completed sequence to a terminal;
[1372] A system including:
[1373] (Claim 2)
[1374] The system of claim 1, wherein the generative model is a trained deep learning model that adjusts the generated results based on user emotional data.
[1375] (Claim 3)
[1376] 2. The system according to claim 1, further comprising means for returning the generated intermediate frames as they are, and generating an animation based on the number of key frames and intermediate frames designated by the user. [Explanation of symbols]
[1377] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. It takes the main frame as input, a means for specifying the number of intermediate frames; means for generating intermediate frames based on the key frames and the number of intermediate frames using a generative model; a means for inserting the generated intermediate frames into the main frames to complete the sequence; A system including:
2. The system of claim 1 , wherein the generative model is a trained deep learning model.
3. 2. The system according to claim 1, further comprising means for returning the generated intermediate frame as is.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A