system
The system addresses the accessibility and real-time interaction challenges of metaverse experiences by using a camera and server processing to render user movements on a character in a metaverse, offering an immersive experience on affordable devices.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-04
- Publication Date
- 2026-03-16
AI Technical Summary
Conventional metaverse experiences require expensive head-mounted displays and tracking devices, making them inaccessible to many, and lack real-time reflection of user actions on characters, diminishing the sense of presence.
A system that captures user movements in real-time using a camera, processes the video data on a server to estimate posture and generate a skeletal model, and transmits this data to a user terminal to render the character in the metaverse, enabling the use of affordable devices like smartphones for real-time interaction.
Enables an immersive and interactive metaverse experience without expensive equipment, reflecting user movements and emotions in real-time, providing a more accessible and engaging virtual environment.
Smart Images

Figure 2026047923000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a method for controlling a persona chatbot performed by at least one processor, the method including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a 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
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the conventional metaverse experience, expensive head-mounted displays and tracking devices are required, which are not easily accessible to many people. Therefore, there has been a demand for a system that can provide a more affordable and convenient metaverse experience. Also, in the conventional system, it is difficult to reflect the user's actions in real time on the character in the metaverse, lacking a sense of presence.
Means for Solving the Problems
[0005] The present invention provides a system that includes means for capturing user movements in real time using a camera and transmitting the captured video data to a server; means for the server to estimate the user's posture from the received video data and generate a skeletal model of the user based on the estimated posture; means for generating motion data corresponding to a character in the metaverse based on the generated skeletal model; and means for transmitting the generated motion data to a user terminal and rendering the character in the metaverse on the user terminal. This makes it possible to easily experience the metaverse using a smartphone without using any specific expensive device, and the user's movements are reflected in the metaverse in real time.
[0006] A "user" is a person who operates this system and experiences things within the metaverse.
[0007] "Action" refers to the physical movements and poses that the user makes in relation to the camera.
[0008] A "camera" is a device used to capture images of a user's actions.
[0009] "Real-time" means that processing is performed instantly without delay.
[0010] "Video data" refers to digital images that record the user's actions as captured by a camera.
[0011] A "server" is a computer device that receives video data and performs tasks such as pose estimation and skeletal model generation.
[0012] "Posture" refers to the position and angle of each part of the user's body.
[0013] "Pose estimation" is the process of calculating the position and angle of each part of the user's body from video data.
[0014] The "skeletal model" is a virtual model of the human body structure constructed based on the user's posture.
[0015] The "metaverse" refers to a virtual space or virtual reality constructed using computer graphics.
[0016] A "character" refers to a virtual person or creature that moves within the metaverse.
[0017] "Motion data" refers to data related to the motion of a character generated based on a skeletal model.
[0018] A "user terminal" is a device that receives motion data transmitted from a server and draws a character within the metaverse, specifically a computer device such as a smartphone.
[0019] "Drawing" refers to visually displaying the appearance and motion of a character on a user terminal.
Brief Explanation of Drawings
[0020] [Figure 1] It is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] It is a conceptual diagram showing an example of the main functions of a data processing device and a smart device according to the first embodiment. [Figure 3] It is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] It is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] It is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] It is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] It is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] It is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] It shows an emotion map to which a plurality of emotions are mapped. [Figure 10] It shows an emotion map to which a plurality of emotions are mapped. [Figure 11] It is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Example 2 when an emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when an emotion engine is combined.
Embodiments for Carrying Out the Invention
[0021] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0022] First, the terms used in the following description will be described.
[0023] In the following embodiments, a processor with a reference number (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of a plurality of arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of a plurality of types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0024] In the following embodiments, signed RAM (Random Access Memory) is a memory that temporarily stores information and is used as work memory by the processor.
[0025] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0026] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0027] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0028] [First Embodiment]
[0029] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0030] As shown in Figure 1, the 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.
[0031] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0032] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0033] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and 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.
[0034] 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 perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0035] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0036] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0037] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.
[0038] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0039] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0040] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0041] This invention relates to a system that reflects a user's actions in real time onto a character in the metaverse. This system is realized by capturing the user's actions using the user's smartphone (device), processing that data on a server, and feeding it back to the user's device.
[0042] System Configuration
[0043] The system mainly consists of the following components:
[0044] 1. User device (smartphone, etc.)
[0045] 2. Server (Central Processing Unit)
[0046] 3. Camera (such as the built-in camera on a smartphone)
[0047] Method overview
[0048] User terminal
[0049] The user holds their smartphone steady and performs actions in front of the camera. The smartphone's camera captures the user's actions as video. The captured video data is encoded in real time on the device and sent to a server via the internet.
[0050] server
[0051] The server decodes the video data sent from the user's terminal. For each decoded frame, it uses an image generation AI to estimate the user's posture and generates a skeletal model of the user. Based on this skeletal model, motion data for the character in the metaverse is generated. The generated motion data is re-encoded and sent back to the user's terminal.
[0052] User terminal
[0053] The user's terminal decodes the motion data sent from the server and renders a character in the metaverse. The rendered character responds to the user's actions in real time. The user can view the character's movements in this virtual space through their smartphone screen or a connected external display.
[0054] Specific example
[0055] 1. Motion Capture
[0056] The user positions their smartphone in the living room and raises their hand in front of the camera. The smartphone's camera records this action and sends the video data to the server.
[0057] 2. Pose Estimation and Skeletal Model Generation
[0058] The server analyzes the received video and calculates the position and angle of the user's hands. This generates a skeletal model of the user. Based on this skeletal model, motion data is generated that reflects the hand-raising motion onto the character in the metaverse.
[0059] 3. Drawing of motion data
[0060] The user's device decodes the motion data received from the server and renders a character in the metaverse on the smartphone screen. The user can then see that their raised hand motion is reflected in the character.
[0061] Thus, the system of the present invention eliminates the need for specific, expensive devices, making it possible to easily experience the metaverse in real time using a smartphone. The system processes user actions quickly and accurately, reflecting them in the virtual space and providing users with an immersive, interactive experience.
[0062] The following describes the processing flow.
[0063] Step 1:
[0064] The user holds their smartphone steady and stands in front of the camera. At this point, the user performs an action such as raising their hand.
[0065] Step 2:
[0066] The device (smartphone) captures the user's actions in real time as video using its camera. The captured video is temporarily stored in memory.
[0067] Step 3:
[0068] The device encodes the user's captured video data into a standard video compression format (such as H.264). The encoded video data is then sent to the server via the internet.
[0069] Step 4:
[0070] The server receives the encoded video data and decodes it. Analysis begins for each decoded video frame.
[0071] Step 5:
[0072] The server uses image generation AI to estimate the user's posture from the decoded video frames. Specifically, it identifies feature points (joint positions such as hands, elbows, and knees) in each frame and generates a skeletal model of the user based on these.
[0073] Step 6:
[0074] The server uses a skeletal model to map user actions to characters in the metaverse. For example, if the user raises their hand, it generates motion data so that the character's hand also raises. This motion data includes information about the position and movement of each part of the character.
[0075] Step 7:
[0076] The server encodes the character's movement data and sends it to the user's terminal.
[0077] Step 8:
[0078] The terminal decodes the operation data received from the server. Based on the decoded data, it prepares to visually render characters within the metaverse.
[0079] Step 9:
[0080] The device renders characters in the metaverse based on decoded behavioral data. The rendering uses either the smartphone screen or a connected external display.
[0081] Step 10:
[0082] Users view characters moving within the metaverse via their smartphones or external displays. Users can see their own actions reflected in the characters in real time.
[0083] A smooth and immersive metaverse experience is provided through a series of processes in which user movements are captured by a camera, analyzed on a server, converted into character movements, and displayed on the device in real time.
[0084] (Example 1)
[0085] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0086] In modern digital entertainment, there is a demand for technology that reflects user actions in virtual spaces and metaverses in real time. However, existing methods require expensive dedicated devices, making them unaffordable for the average user. Furthermore, while high-speed and accurate action recognition and real-time response are desired, there is a lack of efficient systems to achieve this. Given these problems, there is a need for a system that uses inexpensive devices, recognizes actions quickly and accurately, and reflects them in virtual characters in real time.
[0087] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0088] In this invention, the server includes means for capturing the user's movements in real time using a camera, encoding the captured video data, and transmitting it to the server; means for decoding the received video data, estimating the user's posture using a generation AI model, and generating a skeletal model of the user based on the estimated posture; means for generating motion data corresponding to a character in the metaverse based on the generated skeletal model; means for encoding the generated motion data and transmitting it to the user terminal; and means for decoding the received motion data at the user terminal and rendering a character in the metaverse. This makes it possible to recognize the user's movements quickly and accurately using an inexpensive portable information terminal and reflect them in a character in the virtual space in real time.
[0089] A "user" is an individual who uses a system to capture their actions and have an interactive experience in a virtual space.
[0090] A "camera" is an image acquisition device that captures the user's actions in real time.
[0091] "Capture" refers to recording a user's actions as a video.
[0092] "Video data" is a series of images that represent the actions of a captured user.
[0093] "Encoding" refers to the process of efficiently compressing video data and converting it into a format that can be transmitted.
[0094] A "server" is a device that acts as a central processing unit, analyzing video data and performing calculations to reproduce user actions within a virtual space.
[0095] "Decoding" is the process of returning encoded data to its original format.
[0096] A "generative AI model" is an artificial intelligence model used to accurately estimate a user's posture from received video data.
[0097] "Posture estimation" is the process of calculating the position and angle of each joint in the user's movements.
[0098] A "skeletal model" is a virtual structure that represents the position of the user's joints and bones, generated based on posture estimation.
[0099] The "metaverse" is a virtual space in which users can participate.
[0100] "Motion data" refers to data used to represent the movements of a character in the metaverse based on a skeletal model.
[0101] A "user terminal" is a portable information device (such as a smartphone or tablet) owned by a user and used to interact with the system.
[0102] "Rendering" refers to the process of displaying characters from a virtual space on the user's terminal screen.
[0103] This invention relates to a system that reflects a user's actions onto a character in a virtual space in real time. This system is realized by capturing the user's actions using the user's mobile device, processing that data on a server, and feeding it back to the user's device.
[0104] System Configuration
[0105] The system mainly consists of the following components:
[0106] 1. User terminal (mobile information terminal, etc.)
[0107] 2. Server (Central Processing Unit)
[0108] 3. Camera (such as the built-in camera of a mobile device)
[0109] Method overview
[0110] User terminal
[0111] The user holds their mobile device in place and performs actions in front of the camera. The camera on the mobile device captures the user's actions as video. The captured video data is encoded in real time on the device and sent to a server via the internet. Software such as FFmpeg is used for encoding.
[0112] server
[0113] The server decodes the video data sent from the user's terminal. For decoding, for example, the Python OpenCV library is used. For each decoded video frame, an image generation AI model (e.g., OpenPose) is used to estimate the user's pose and generate a skeletal model of the user. Based on this skeletal model, motion data for a character in the metaverse is generated. The generated motion data is re-encoded and sent back to the user's terminal. Protocol Buffers or gRPC can be used for encoding at this stage.
[0114] User terminal
[0115] The user's terminal decodes the motion data sent from the server and renders the character in the metaverse. Game engines such as Unity or Unreal Engine are used for rendering. The rendered character responds to the user's actions in real time. The user can view the character's movements in this virtual space through their mobile device screen or a connected external display.
[0116] Specific example
[0117] 1. Motion Capture
[0118] The user places a mobile device in the living room and raises their hand in front of the camera. The camera on the mobile device records this action and sends the video data to the server.
[0119] 2. Pose Estimation and Skeletal Model Generation
[0120] The server analyzes the received video and calculates the position and angle of the user's hands. This generates a skeletal model of the user.
[0121] 3. Drawing of motion data
[0122] The user's device decodes the motion data received from the server and renders a character in the metaverse on the mobile device's screen. The user can then see that their raised hand motion is reflected in the character.
[0123] As described above, the system of the present invention eliminates the need for specific, expensive devices, making it possible to easily experience the metaverse in real time using a mobile information terminal. The system processes user actions quickly and accurately, reflecting them in the virtual space and providing users with an immersive, interactive experience.
[0124] Example of a prompt
[0125] "Please write a program prompt that estimates user actions in real time from video data and reflects them on a character in a virtual space. For example, when the user raises their hand in front of the camera, that action should be reflected in real time on the metaverse character."
[0126] This allows for a concrete understanding of how the system works.
[0127] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0128] Step 1:
[0129] The user holds their mobile device in place and performs actions in front of the camera. For example, the user raises their hand in the living room. This results in video data that continuously records the user's actions. This video data serves as the input for motion capture.
[0130] Step 2:
[0131] The device uses the camera of the mobile device to capture the user's actions as video. Specifically, the camera captures a series of image frames in real time and saves them as video data. The captured video data is then output.
[0132] Step 3:
[0133] The terminal encodes the captured video data. Software such as FFmpeg is used for encoding. Specifically, the video data is compressed and converted into a format suitable for transmission. The encoded video data is then output.
[0134] Step 4:
[0135] The terminal sends the encoded video data to the server. This transmission may use an HTTP POST request. Specifically, the encoded data is sent to the server via the internet. The transmitted encoded video data is then input to the server.
[0136] Step 5:
[0137] The server receives video data sent from the user's terminal. The received data is in binary format and cannot be analyzed directly. This binary data serves as input.
[0138] Step 6:
[0139] The server uses the Python OpenCV library to decode the received video data. Specifically, it splits the binary video data into frames and obtains each frame as individual image data. The decoded image frames are then output.
[0140] Step 7:
[0141] The server estimates the user's pose for each decoded frame using a generating AI model. The AI model used here is OpenPose. Specifically, it identifies the user's joint positions from each image frame and estimates their pose. The estimated pose data is then output.
[0142] Step 8:
[0143] The server generates a skeletal model of the user based on estimated posture data. Specifically, it calculates the position and angle of the joints and constructs the skeletal model based on that. The generated skeletal model is then output.
[0144] Step 9:
[0145] The server generates motion data corresponding to the character in the metaverse based on the generated skeletal model. Specifically, it calculates the movement of the virtual character based on the information of each joint in the skeletal model. The generated motion data is then output.
[0146] Step 10:
[0147] The server re-encodes the generated operation data and sends it to the user terminal. Protocol Buffers or gRPC may be used for encoding. Specifically, the operation data is compressed into a transmittable format and sent to the user terminal via the internet. The transmitted encoded operation data is then input to the user terminal.
[0148] Step 11:
[0149] The user terminal decodes the operation data received from the server. Here too, libraries such as FFmpeg are used. Specifically, the encoded operation data is restored to its original format. The decoded operation data is then output.
[0150] Step 12:
[0151] The user's device renders a character in a virtual space using a game engine such as Unity or Unreal Engine, based on the decoded motion data. Specifically, it displays information about the virtual character's joints and movements on the screen in real time. Finally, the rendered character is output, and the user can check the character's movements on the screen of their mobile device or a connected external display.
[0152] Through each of the above steps, the system reflects the user's actions on the character in the virtual space in real time.
[0153] (Application Example 1)
[0154] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0155] Traditional virtual reality (VR) and augmented reality (AR) experiences required expensive, specialized equipment, making them difficult for the average user to access. Furthermore, technologies that reflected user actions in real-time onto virtual characters suffered from processing delays and accuracy issues, making it difficult to provide an immersive, interactive experience. Providing a realistic virtual store experience or product try-on experience also presented challenges.
[0156] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0157] In this invention, the server includes means for capturing the user's movements in real time using a camera and transmitting the captured video data to the server; means for estimating the user's posture from the received video data and generating a skeletal model of the user based on the estimated posture; means for generating motion data corresponding to a character in a virtual space based on the generated skeletal model; means for transmitting the generated motion data to a user terminal and rendering the character in the virtual space on the user terminal; and means for the user to confirm their movements in the virtual space in real time. As a result, users can easily use mobile terminals such as smartphones to accurately reflect their movements onto a character in a virtual space in real time, enabling an immersive and interactive experience. Furthermore, it becomes possible to realistically try on products and experience real stores in the virtual space.
[0158] "User actions" refer to actions such as hand and body movements that a user performs in front of the camera.
[0159] A "camera" is a device used to capture video in real time.
[0160] "Real-time capture" means recording user actions instantly and without delay.
[0161] "Video data" refers to a series of image data that includes captured user actions.
[0162] A "server" is a central processing unit that processes data sent from user terminals and returns the results.
[0163] "Received video data" refers to captured video data acquired by the server from the user's terminal.
[0164] "Estimating user posture" means analyzing the position and angle of the user's body from video data.
[0165] A "skeletal model" is a data model that mimics the user's physical structure.
[0166] A "virtual space" is a virtual three-dimensional environment created by a computer.
[0167] A "character" is an avatar that acts as a representation of the user within a virtual space.
[0168] "Action data" refers to information about the movement of a character in a virtual space, which reflects the user's actions.
[0169] A "user terminal" refers to a mobile device such as a smartphone used for tasks like capturing images or drawing.
[0170] "Rendering" refers to displaying the actions of a character in a virtual space on the screen.
[0171] "Means of verification" refers to a method by which a user can visually confirm how their actions are reflected in their character within the virtual space.
[0172] "Trying on a product" means experiencing and wearing items such as clothing and accessories in a virtual space.
[0173] To implement this invention, the following system configuration is used.
[0174] System Configuration
[0175] The system mainly consists of the following components:
[0176] 1. User terminal (mobile device such as a smartphone)
[0177] 2. Server (Central Processing Unit)
[0178] 3. Camera (camera built into the mobile device)
[0179] Detailed explanation
[0180] User terminal
[0181] The user captures their actions using their smartphone. The smartphone's camera records the user's actions in front of the camera as video. The captured video data is encoded in real time and transmitted to a server via the internet.
[0182] server
[0183] The server receives and decodes video data sent from the user's terminal. For each decoded frame, it uses an image generation AI (e.g., OpenPose) to estimate the user's posture and generate a skeletal model of the user. Based on this skeletal model, motion data for the character in the virtual space is generated. The generated motion data is re-encoded and sent back to the user's terminal.
[0184] User terminal
[0185] The user terminal decodes the action data sent from the server and renders the character in the virtual space in real time. The user can configure how their actions are reflected in the character in the virtual space using prompt messages like the one shown below.
[0186] Hardware and software to be used
[0187] hardware
[0188] Smartphone (with camera)
[0189] Server (Central Processing Unit)
[0190] Internet connection
[0191] software
[0192] Real-time video capture application (for smartphones)
[0193] AI models for motion estimation (AI models on a server, e.g., OpenPose)
[0194] Data encoding / decoding module
[0195] Character movement engine in virtual space
[0196] Specific example
[0197] 1. Motion Capture: The user sets up their smartphone at home and performs actions such as trying on clothes in front of the camera. The smartphone's camera records these actions and sends the video data to the server.
[0198] 2. Pose estimation and skeletal model generation: The server analyzes the video, and a character in the virtual space performs similar movements based on the user's motion data.
[0199] 3. Motion Data Rendering: User actions are reflected in the character in real time, and a scene of trying on clothes is displayed in the virtual space.
[0200] Example of a prompt
[0201] "Analyze the user's camera feed in real time and reflect the same actions onto the avatar."
[0202] "When a user raises their hand, please generate motion data that reflects that action on the avatar in real time."
[0203] In this way, users can enjoy real-time and accurate experiences in virtual space using common mobile devices such as smartphones, without needing expensive dedicated equipment.
[0204] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0205] Step 1:
[0206] The user uses a smartphone to capture their actions with the camera. The smartphone's camera records the user's actions as a video in real time, and the video data is encoded. The input is the user's actions, and the output is the encoded video data.
[0207] Step 2:
[0208] A smartphone sends encoded video data to a server via the internet. The input is the encoded video data, and the output is the video data sent to the server.
[0209] Step 3:
[0210] The server decodes the received video data and divides it into individual frames. The input is the transmitted video data, and the output is the decoded image data for each frame.
[0211] Step 4:
[0212] The server analyzes the user's posture using an image generation AI (e.g., OpenPose) for each decoded frame, and generates posture data. The input is image data for each frame, and the output is the user's posture data.
[0213] Step 5:
[0214] The server generates a skeletal model of the user based on the generated posture data. The input is the user's posture data, and the output is the skeletal model.
[0215] Step 6:
[0216] The server generates character movement data in the virtual space based on the generated skeletal model. The input is the skeletal model, and the output is the character's movement data.
[0217] Step 7:
[0218] The server re-encodes the generated motion data and sends it to the user's terminal. The input is the character's motion data, and the output is the encoded motion data.
[0219] Step 8:
[0220] The user terminal decodes the motion data sent from the server and renders the character in the virtual space in real time. The input is the encoded motion data, and the output is the motion of the character rendered in the virtual space.
[0221] Step 9:
[0222] The user observes the movements of a character in a virtual space. The input is the movement of the character rendered in the virtual space, and the output is the user's visual confirmation.
[0223] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0224] This invention relates to a system that reflects a user's actions and emotions in real time onto a character in the metaverse. This system is realized by capturing the user's actions and emotions using the user's smartphone (device), processing that data on a server, and feeding it back to the user's device.
[0225] System Configuration
[0226] The system mainly consists of the following components:
[0227] 1. User device (smartphone, etc.)
[0228] 2. Server (Central Processing Unit)
[0229] 3. Camera (such as the built-in camera on a smartphone)
[0230] 4. Emotion Engine (Facial Expression Analysis Module)
[0231] Method overview
[0232] User terminal
[0233] The user holds their smartphone steady and performs actions and makes facial expressions in front of the camera. The smartphone's camera captures the user's actions and facial expressions as video. The captured video data is encoded in real time on the device and transmitted to a server via the internet.
[0234] server
[0235] The server decodes the video data sent from the user's terminal. For each decoded frame, an image generation AI is used to estimate the user's posture and generate a skeletal model of the user. Meanwhile, an emotion engine analyzes the user's emotions based on the captured facial expression data. The analyzed emotion data, along with the skeletal model, is reflected in the actions and expressions of the character in the metaverse. The generated action and emotion data are then re-encoded and sent back to the user's terminal.
[0236] User terminal
[0237] The user's terminal decodes the behavior and emotion data sent from the server and renders a character in the metaverse. The rendered character responds to the user's behavior and emotions in real time. The user can view the character's movements and emotions in this virtual space through their smartphone screen or a connected external display.
[0238] Specific example
[0239] 1. Motion and facial expression capture
[0240] The user positions their smartphone in the living room and raises their hand in front of the camera while simultaneously making a smile. The smartphone's camera records the action and facial expression, and the video data is sent to a server.
[0241] 2. Posture Estimation and Emotion Analysis
[0242] The server analyzes the received video to calculate the position and angle of the user's hands. This generates a skeletal model of the user. Meanwhile, the emotion engine analyzes the user's facial expression data and recognizes smiles. This information is then generated as behavioral and emotional data that is reflected in the character within the metaverse.
[0243] 3. Visualization of behavioral and emotional data
[0244] The user's device decodes the behavior and emotion data received from the server and renders a character in the metaverse on the smartphone screen. The user can see that their raised hand and smile are reflected in the character.
[0245] Thus, the system of the present invention eliminates the need for specific, expensive devices, making it possible to easily experience the metaverse in real time using a smartphone. Since the user's actions and emotions are reflected in the virtual space in real time, it provides a more immersive and interactive experience.
[0246] The following describes the processing flow.
[0247] Step 1:
[0248] The user holds their smartphone steady and stands in front of the camera. The user makes gestures such as raising their hand or making facial expressions such as smiling.
[0249] Step 2:
[0250] The device (smartphone) captures the user's movements and facial expressions in real time as video using its camera. The captured video is temporarily stored in memory.
[0251] Step 3:
[0252] The device encodes the user's captured video data into a standard video compression format (such as H.264). The encoded video data is then sent to the server via the internet.
[0253] Step 4:
[0254] The server receives the encoded video data and decodes it. Analysis begins for each decoded video frame.
[0255] Step 5:
[0256] The server uses image generation AI to estimate the user's posture from the decoded video frames. Specifically, it identifies feature points (joint positions such as hands, elbows, and knees) in each frame and generates a skeletal model of the user based on these.
[0257] Step 6:
[0258] The server simultaneously uses an emotion engine to analyze the user's facial expressions from the decoded video frames. The emotion engine analyzes facial feature points and recognizes the user's emotions (e.g., smile, anger, sadness, etc.).
[0259] Step 7:
[0260] The server uses the skeletal model and emotion engine to recognize emotion data, which then maps the user's actions and emotions to characters in the metaverse. For example, if the user raises their hand and smiles, the server generates action data and facial expression data for the character to also raise their hand and smile. This data includes information about the position and movement of each part of the character, as well as facial expressions.
[0261] Step 8:
[0262] The server encodes the generated character's movements and facial expressions and sends them to the user's terminal.
[0263] Step 9:
[0264] The terminal decodes the motion and facial expression data received from the server. Based on the decoded data, it prepares to visually render the character in the metaverse.
[0265] Step 10:
[0266] The device renders characters in the metaverse based on decoded motion and facial expression data. The characters, rendered on the smartphone screen or a connected external display, respond in real time to the user's actions and emotional expressions.
[0267] Step 11:
[0268] Users view characters moving within the metaverse via their smartphones or external displays. Users can see their own actions and facial expressions reflected in the characters in real time.
[0269] Through the above process, the user's actions and emotions are reflected in the character within the metaverse in real time, providing an immersive and interactive experience.
[0270] (Example 2)
[0271] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0272] In current metaverse systems, accurately reflecting user actions and emotions in real time requires expensive specialized equipment and complex settings. This creates a high barrier to entry for general users, while using simpler devices results in low accuracy in recognizing actions and emotions. Furthermore, the delay in real-time reflection of actions and emotions is also a problem.
[0273] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0274] In this invention, the server includes means for capturing the user's movements and facial expressions in real time using a camera and encoding the captured video data; means for transmitting the encoded video data to the server; means for decoding the received video data on the server, estimating the user's posture for each frame, and generating a skeletal model; means for analyzing the facial expression data for each frame on the server and generating emotion data; means for generating movement and emotion data corresponding to a character in the metaverse based on the generated skeletal model and emotion data; means for re-encoding and transmitting the generated movement and emotion data to the user terminal; means for decoding the movement and emotion data received from the server on the user terminal and rendering a character in the metaverse; and means for the user to be able to check the character's movements and emotions in real time.
[0275] This makes it possible to accurately reflect a user's actions and emotions in the metaverse in real time using a standard portable electronic device. This eliminates the need for expensive dedicated equipment, allowing more users to easily enjoy an immersive metaverse experience.
[0276] The "user" refers to a person who uses the system to reflect their actions and emotions in the metaverse.
[0277] "Actions and expressions" refer to the physical movements and facial expressions of the user in front of the camera.
[0278] The "camera" refers to a photographing device for capturing the actions and expressions of the user in real time.
[0279] "Real time" means that there is little delay and processing and reflection are carried out almost simultaneously.
[0280] "Capture" means that the camera records the actions and expressions of the user as video data.
[0281] "Encode" means compressing the captured video data and converting it into a format for data transfer.
[0282] The "server" refers to a processing device that analyzes the received data, estimates the actions and emotions of the user, and generates a character in the metaverse based on that.
[0283] "Decode" means restoring the encoded data to its original format.
[0284] "Frame" refers to an individual still image of video data, which is recognized as a video when displayed continuously.
[0285] "Posture" refers to the physical state of the user's body position, angle, etc.
[0286] The "skeleton model" refers to three-dimensional shape data for expressing the posture of the user.
[0287] "Expression data" refers to information such as the position and shape of each part of the user's face captured.
[0288] "Emotional data" refers to information that indicates the user's emotional state, obtained by analyzing facial expression data.
[0289] "Characters in the metaverse" refers to avatars that reflect the user's attitude and emotions in a virtual space.
[0290] "Motion data" refers to information about the actions performed by a character in the metaverse based on their skeletal model.
[0291] "Emotional data" refers to emotional information analyzed based on captured facial expression data.
[0292] "Re-encoding" refers to converting generated data back into a format that can be transferred again.
[0293] "Drawing" refers to displaying characters from the metaverse on the user's device screen.
[0294] "Confirmation" refers to the user visually verifying the results.
[0295] "Portable electronic devices" refer to portable computer devices such as smartphones and tablets.
[0296] This invention relates to a system that reflects a user's actions and emotions in real time onto a character in the metaverse. This system is realized by capturing the user's actions and emotions using the user's portable electronic device, processing that data on a server, and feeding it back to the user's terminal.
[0297] The system mainly consists of the following components:
[0298] 1. User terminal (portable electronic device, etc.)
[0299] 2. Server (Central Processing Unit)
[0300] 3. Camera (Built-in camera of mobile electronic device, etc.)
[0301] 4. Emotion Engine (Facial Expression Analysis Module)
[0302] User Terminal
[0303] The user fixes the mobile electronic device and performs actions and expressions in front of the camera. For example, assume the user raises a hand and smiles. At this time, the camera of the mobile electronic device captures the user's actions and expressions as a video. The captured video data is encoded in real time on the terminal side and transmitted to the server via the Internet.
[0304] Server
[0305] The server decodes the video data sent from the user terminal. For each decoded frame, it estimates the user's pose using an image generation AI model (e.g., Mediapipe) and generates a skeletal model of the user. On the other hand, based on the captured facial expression data, it uses an emotion engine (e.g., a general facial expression analysis API) to analyze the user's emotions. The analyzed emotion data, together with the skeletal model, is reflected in the actions and expressions of the character in the metaverse. The generated action and emotion data is encoded again and sent to the user terminal.
[0306] User Terminal (Reprocessing)
[0307] The user terminal decodes the action and emotion data sent from the server and draws the character in the metaverse. The drawn character corresponds in real time to the user's actions and emotions. The user can confirm the movements and emotions of the character in this virtual space through the screen of the mobile electronic device or the connected external display.
[0308] <0
[0310] The user positions their smartphone in the living room, raises their hand in front of the camera, and simultaneously smiles. The smartphone's camera records the action and facial expression, and the video data is sent to a server.
[0311] 2. Posture Estimation and Emotion Analysis
[0312] The server analyzes the received video and uses Mediapipe to calculate the position and angle of the user's hands. This generates a skeletal model of the user. Meanwhile, using a common facial expression analysis API, the emotion engine analyzes the user's facial expression data and recognizes smiles. This information is then generated as behavior and emotion data that is reflected in the character within the metaverse.
[0313] 3. Visualization of behavioral and emotional data
[0314] The user's device decodes the behavior and emotion data received from the server and renders a character in the metaverse on the smartphone screen. The user can see that their raised hand and smile are reflected in the character.
[0315] Example of a prompt
[0316] "The user is waving and smiling at the camera. Use an image generation AI model to estimate their posture and an expression analysis API to generate emotion data. Based on that data, reflect the actions and emotions in a character within the metaverse and provide feedback to the user's device."
[0317] Thus, the system of the present invention eliminates the need for specific, expensive devices, making it possible to easily experience the metaverse in real time using portable electronic devices. Because the user's actions and emotions are reflected in the virtual space in real time, it provides a more immersive and interactive experience.
[0318] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0319] Step 1:
[0320] Motion and facial expression capture
[0321] The user holds their mobile device steady and performs actions and facial expressions in front of the camera. For example, the user raises their hand and smiles.
[0322] The device's camera captures the user's movements and facial expressions as video in real time.
[0323] Input: User's actions and facial expressions
[0324] Output: Captured video data
[0325] Step 2:
[0326] Encoding video data
[0327] The device encodes the captured video data in real time. Specifically, it compresses the video data into H.264 format.
[0328] Input: Captured video data
[0329] Output: Encoded video data
[0330] Step 3:
[0331] Sending encoded data
[0332] The device sends the encoded video data to the server via the internet.
[0333] Input: Encoded video data
[0334] Output: Video data sent to the server
[0335] Step 4:
[0336] Decoding on the server side
[0337] The server decodes the encoded video data received from the user's terminal. Specifically, it performs a decoding process and extracts each frame as a separate image.
[0338] Input: Encoded video data
[0339] Output: Decoded frame image
[0340] Step 5:
[0341] Pose estimation and skeletal model generation
[0342] The server uses an image generation AI model to estimate the user's posture for each frame and generate a skeletal model of the user. For example, it uses Mediapipe to estimate the position and angle of the hands.
[0343] Input: Decoded frame image
[0344] Output: Generated skeletal model
[0345] Step 6:
[0346] Facial expression analysis and emotion data generation
[0347] The server uses a facial expression analysis engine to analyze facial expression data for each frame. For example, it can use a common facial expression analysis API to recognize the user's smile.
[0348] Input: Decoded frame image
[0349] Output: Generated emotion data
[0350] Step 7:
[0351] Generation of behavioral and emotional data
[0352] The server generates character behavior and emotion data within the metaverse based on the generated skeletal model and emotion data.
[0353] Input: Skeletal model and emotional data
[0354] Output: Behavioral and sentiment data
[0355] Step 8:
[0356] Data re-encoding and feedback
[0357] The server re-encodes the generated behavioral and emotional data and sends it to the user's terminal.
[0358] Input: Behavioral and emotional data
[0359] Output: Encoded feedback data
[0360] Step 9:
[0361] Decoding and display on the user terminal
[0362] The terminal decodes the encoded data sent from the server and renders the character within the metaverse.
[0363] Input: Encoded feedback data
[0364] Output: Rendered character in the metaverse
[0365] Step 10:
[0366] User verification
[0367] Users can confirm through their mobile device screen or external display that the character's actions and emotions are reflected in real time in response to their own actions and emotions.
[0368] Input: A character drawn in the metaverse
[0369] Output: Real-time feedback confirmation
[0370] (Application Example 2)
[0371] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0372] Conventional methods for controlling characters within the metaverse are limited to reflecting only the user's actions, and are unable to reflect the user's facial expressions or emotions in real time. As a result, users cannot reflect their own emotions or expressions on the character, making it difficult to provide an immersive interactive experience. The present invention aims to provide a more advanced interactive experience by capturing the user's actions and facial expressions in real time and reflecting them on the character within the metaverse.
[0373] The specific processing performed 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 estimating the user's posture from received video data, means for generating a skeletal model of the user based on the estimated posture, means for analyzing the user's emotions based on captured facial expression data, and means for generating motion and facial expression data corresponding to a character in the metaverse based on the generated skeletal model and the analyzed emotional data. This makes it possible to reflect not only the user's actions but also their emotions and facial expressions in the character in the metaverse in real time.
[0374] "User actions" refer to the actions and gestures that a user performs by moving their body.
[0375] "Facial expression" refers to the emotions and reactions shown through the movement of the user's facial muscles.
[0376] "Capture" refers to acquiring video or image data using cameras or sensors.
[0377] "Video data" refers to moving image information composed of a series of image frames.
[0378] A "server" refers to a central processing unit used for data processing, management, and communication.
[0379] "Posture" refers to the arrangement and relative positions of the user's body.
[0380] A "skeletal model" refers to a data model that mimics the user's physical skeleton.
[0381] "Analyzing emotions" refers to estimating a user's emotional state based on their facial expression data.
[0382] "Metaverse" refers to the world of virtual space or virtual reality.
[0383] "Action data" refers to a digital representation of a user's actions.
[0384] "Facial expression data" refers to a digital representation of a user's facial expressions.
[0385] "To draw" refers to displaying images or videos on a screen or display.
[0386] This invention relates to a system that captures a user's actions and emotions in real time and reflects them in a character within the metaverse. The system mainly consists of a user terminal, a server, a camera, and an emotion engine.
[0387] User terminal
[0388] The user captures their movements and facial expressions using their smartphone. The smartphone's camera captures the user's movements and facial expressions as video data, and this video data is encoded in real time on the device. This encoded data is then transmitted to a server via the internet.
[0389] server
[0390] The server decodes the video data received from the user's terminal. For each decoded frame, it estimates the user's posture using a posture analysis algorithm. This estimation generates a skeletal model of the user. Meanwhile, the facial expression analysis module (emotion engine) analyzes the user's emotions based on the captured facial expression data. The analyzed emotion data is combined with the skeletal model and generated as motion and facial expression data corresponding to a character in the metaverse. The generated motion and facial expression data is re-encoded and sent to the user's terminal.
[0391] User terminal
[0392] The user terminal decodes the motion and facial expression data sent from the server. Based on the decoded data, it renders a character in the metaverse. The rendered character responds in real time to the user's actions and emotions, allowing the user to see the character's movements and emotions in the virtual space through their smartphone screen or a connected external display.
[0393] Hardware and software to be used
[0394] Hardware: Smartphones, servers
[0395] Software: Video capture libraries (e.g., OpenCV), server-side video processing APIs (e.g., FFmpeg), machine learning libraries (e.g., TENSORFLOW®), facial expression analysis engines (e.g., Microsoft® Azure® Face API)
[0396] Examples of specific cases and prompt statements
[0397] For example, when a user smiles in front of their smartphone camera, the video data is captured in real time and sent to a server. The server analyzes the video data, recognizes the user's smile, and simultaneously generates a skeletal model. This analyzed data is encoded and sent to the user's device. The user's device decodes it and reflects it in a character within the metaverse. This allows viewers to instantly see the user's actual actions and emotions through the character in the metaverse.
[0398] Example of a prompt:
[0399] Please consider an application where, during a live stream, a user makes a smile in front of their smartphone camera, and that smile is reflected in real time on a character in the metaverse, allowing viewers to instantly see the change.
[0400] This system allows not only the user's actions but also their emotions to be reflected in the character within the metaverse in real time, enabling a more advanced interactive experience.
[0401] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0402] Step 1:
[0403] The user performs actions and makes facial expressions in front of their smartphone camera. The smartphone camera captures these actions and facial expressions as video data. This video data is encoded and sent to a server via the internet. The input is the video data from the smartphone camera, and the output is the encoded video data.
[0404] Step 2:
[0405] The server decodes the received encoded video data. The decoded video data is analyzed frame by frame, and user posture and facial expression data is extracted from each frame. The input is the encoded video data, and the output is the decoded data for each frame.
[0406] Step 3:
[0407] On the server, a posture analysis algorithm (e.g., OpenPose) is used to estimate the user's posture for each frame. A skeletal model of the user is generated from this estimated posture information. The input is the decoded frame-by-frame data, and the output is the user's skeletal model.
[0408] Step 4:
[0409] The server uses a facial expression analysis module (e.g., Microsoft Azure Face API) to analyze the decoded facial expression data for each frame. This analysis yields the user's emotion data. The input is the decoded facial expression data for each frame, and the output is the emotion data.
[0410] Step 5:
[0411] The server generates character movement and facial expression data within the metaverse based on the generated user skeletal model and analyzed emotion data. A generative AI model is used to integrate this data and generate the movement and facial expression data. The input is the user's skeletal model and emotion data, and the output is the movement and facial expression data.
[0412] Step 6:
[0413] The server encodes the generated motion and facial expression data and sends it to the user terminal. The input is the motion and facial expression data, and the output is the encoded motion and facial expression data.
[0414] Step 7:
[0415] The user terminal decodes the received encoded motion and facial expression data. Based on the decoded data, it renders a character in the metaverse. This rendering is done in real time, and the user can see the character's actions and emotions through their smartphone screen or a connected external display. The input is encoded motion and facial expression data, and the output is the rendered character in the metaverse.
[0416] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.
[0417] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0418] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0419] [Second Embodiment]
[0420] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0421] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0422] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0423] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0424] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0425] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0426] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0427] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0428] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0429] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0430] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0431] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. 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".
[0432] This invention relates to a system that reflects a user's actions in real time onto a character in the metaverse. This system is realized by capturing the user's actions using the user's smartphone (device), processing that data on a server, and feeding it back to the user's device.
[0433] System Configuration
[0434] The system mainly consists of the following components:
[0435] 1. User device (smartphone, etc.)
[0436] 2. Server (Central Processing Unit)
[0437] 3. Camera (such as the built-in camera on a smartphone)
[0438] Method overview
[0439] User terminal
[0440] The user holds their smartphone steady and performs actions in front of the camera. The smartphone's camera captures the user's actions as video. The captured video data is encoded in real time on the device and sent to a server via the internet.
[0441] server
[0442] The server decodes the video data sent from the user's terminal. For each decoded frame, it uses an image generation AI to estimate the user's posture and generates a skeletal model of the user. Based on this skeletal model, motion data for the character in the metaverse is generated. The generated motion data is re-encoded and sent back to the user's terminal.
[0443] User terminal
[0444] The user's terminal decodes the motion data sent from the server and renders a character in the metaverse. The rendered character responds to the user's actions in real time. The user can view the character's movements in this virtual space through their smartphone screen or a connected external display.
[0445] Specific example
[0446] 1. Motion Capture
[0447] The user positions their smartphone in the living room and raises their hand in front of the camera. The smartphone's camera records this action and sends the video data to the server.
[0448] 2. Pose Estimation and Skeletal Model Generation
[0449] The server analyzes the received video and calculates the position and angle of the user's hands. This generates a skeletal model of the user. Based on this skeletal model, motion data is generated that reflects the hand-raising motion onto the character in the metaverse.
[0450] 3. Drawing of motion data
[0451] The user's device decodes the motion data received from the server and renders a character in the metaverse on the smartphone screen. The user can then see that their raised hand motion is reflected in the character.
[0452] Thus, the system of the present invention eliminates the need for specific, expensive devices, making it possible to easily experience the metaverse in real time using a smartphone. The system processes user actions quickly and accurately, reflecting them in the virtual space and providing users with an immersive, interactive experience.
[0453] The following describes the processing flow.
[0454] Step 1:
[0455] The user holds their smartphone steady and stands in front of the camera. At this point, the user performs an action such as raising their hand.
[0456] Step 2:
[0457] The device (smartphone) captures the user's actions in real time as video using its camera. The captured video is temporarily stored in memory.
[0458] Step 3:
[0459] The device encodes the user's captured video data into a standard video compression format (such as H.264). The encoded video data is then sent to the server via the internet.
[0460] Step 4:
[0461] The server receives the encoded video data and decodes it. Analysis begins for each decoded video frame.
[0462] Step 5:
[0463] The server uses image generation AI to estimate the user's posture from the decoded video frames. Specifically, it identifies feature points (joint positions such as hands, elbows, and knees) in each frame and generates a skeletal model of the user based on these.
[0464] Step 6:
[0465] The server uses a skeletal model to map user actions to characters in the metaverse. For example, if the user raises their hand, it generates motion data so that the character's hand also raises. This motion data includes information about the position and movement of each part of the character.
[0466] Step 7:
[0467] The server encodes the character's movement data and sends it to the user's terminal.
[0468] Step 8:
[0469] The terminal decodes the operation data received from the server. Based on the decoded data, it prepares to visually render characters within the metaverse.
[0470] Step 9:
[0471] The device renders characters in the metaverse based on decoded behavioral data. The rendering uses either the smartphone screen or a connected external display.
[0472] Step 10:
[0473] Users view characters moving within the metaverse via their smartphones or external displays. Users can see their own actions reflected in the characters in real time.
[0474] A smooth and immersive metaverse experience is provided through a series of processes in which user movements are captured by a camera, analyzed on a server, converted into character movements, and displayed on the device in real time.
[0475] (Example 1)
[0476] Next, we will describe Example 1. 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".
[0477] In modern digital entertainment, there is a demand for technology that reflects user actions in virtual spaces and metaverses in real time. However, existing methods require expensive dedicated devices, making them unaffordable for the average user. Furthermore, while high-speed and accurate action recognition and real-time response are desired, there is a lack of efficient systems to achieve this. Given these problems, there is a need for a system that uses inexpensive devices, recognizes actions quickly and accurately, and reflects them in virtual characters in real time.
[0478] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0479] In this invention, the server includes means for capturing the user's movements in real time using a camera, encoding the captured video data, and transmitting it to the server; means for decoding the received video data, estimating the user's posture using a generation AI model, and generating a skeletal model of the user based on the estimated posture; means for generating motion data corresponding to a character in the metaverse based on the generated skeletal model; means for encoding the generated motion data and transmitting it to the user terminal; and means for decoding the received motion data at the user terminal and rendering a character in the metaverse. This makes it possible to recognize the user's movements quickly and accurately using an inexpensive portable information terminal and reflect them in a character in the virtual space in real time.
[0480] A "user" is an individual who uses a system to capture their actions and have an interactive experience in a virtual space.
[0481] A "camera" is an image acquisition device that captures the user's actions in real time.
[0482] "Capture" refers to recording a user's actions as a video.
[0483] "Video data" is a series of images that represent the actions of a captured user.
[0484] "Encoding" refers to the process of efficiently compressing video data and converting it into a format that can be transmitted.
[0485] A "server" is a device that acts as a central processing unit, analyzing video data and performing calculations to reproduce user actions within a virtual space.
[0486] "Decoding" is the process of returning encoded data to its original format.
[0487] A "generative AI model" is an artificial intelligence model used to accurately estimate a user's posture from received video data.
[0488] "Posture estimation" is the process of calculating the position and angle of each joint in the user's movements.
[0489] A "skeletal model" is a virtual structure that represents the position of the user's joints and bones, generated based on posture estimation.
[0490] The "metaverse" is a virtual space in which users can participate.
[0491] "Motion data" refers to data used to represent the movements of a character in the metaverse based on a skeletal model.
[0492] A "user terminal" is a portable information device (such as a smartphone or tablet) owned by a user and used to interact with the system.
[0493] "Rendering" refers to the process of displaying characters from a virtual space on the user's terminal screen.
[0494] This invention relates to a system that reflects a user's actions onto a character in a virtual space in real time. This system is realized by capturing the user's actions using the user's mobile device, processing that data on a server, and feeding it back to the user's device.
[0495] System Configuration
[0496] The system mainly consists of the following components:
[0497] 1. User terminal (mobile information terminal, etc.)
[0498] 2. Server (Central Processing Unit)
[0499] 3. Camera (such as the built-in camera of a mobile device)
[0500] Method overview
[0501] User terminal
[0502] The user holds their mobile device in place and performs actions in front of the camera. The camera on the mobile device captures the user's actions as video. The captured video data is encoded in real time on the device and sent to a server via the internet. Software such as FFmpeg is used for encoding.
[0503] server
[0504] The server decodes the video data sent from the user's terminal. For decoding, for example, the Python OpenCV library is used. For each decoded video frame, an image generation AI model (e.g., OpenPose) is used to estimate the user's pose and generate a skeletal model of the user. Based on this skeletal model, motion data for a character in the metaverse is generated. The generated motion data is re-encoded and sent back to the user's terminal. Protocol Buffers or gRPC can be used for encoding at this stage.
[0505] User terminal
[0506] The user's terminal decodes the motion data sent from the server and renders the character in the metaverse. Game engines such as Unity or Unreal Engine are used for rendering. The rendered character responds to the user's actions in real time. The user can view the character's movements in this virtual space through their mobile device screen or a connected external display.
[0507] Specific example
[0508] 1. Motion Capture
[0509] The user places a mobile device in the living room and raises their hand in front of the camera. The camera on the mobile device records this action and sends the video data to the server.
[0510] 2. Pose Estimation and Skeletal Model Generation
[0511] The server analyzes the received video and calculates the position and angle of the user's hands. This generates a skeletal model of the user.
[0512] 3. Drawing of motion data
[0513] The user's device decodes the motion data received from the server and renders a character in the metaverse on the mobile device's screen. The user can then see that their raised hand motion is reflected in the character.
[0514] As described above, the system of the present invention eliminates the need for specific, expensive devices, making it possible to easily experience the metaverse in real time using a mobile information terminal. The system processes user actions quickly and accurately, reflecting them in the virtual space and providing users with an immersive, interactive experience.
[0515] Example of a prompt
[0516] "Please write a program prompt that estimates user actions in real time from video data and reflects them on a character in a virtual space. For example, when the user raises their hand in front of the camera, that action should be reflected in real time on the metaverse character."
[0517] This allows for a concrete understanding of how the system works.
[0518] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0519] Step 1:
[0520] The user holds their mobile device in place and performs actions in front of the camera. For example, the user raises their hand in the living room. This results in video data that continuously records the user's actions. This video data serves as the input for motion capture.
[0521] Step 2:
[0522] The device uses the camera of the mobile device to capture the user's actions as video. Specifically, the camera captures a series of image frames in real time and saves them as video data. The captured video data is then output.
[0523] Step 3:
[0524] The terminal encodes the captured video data. Software such as FFmpeg is used for encoding. Specifically, the video data is compressed and converted into a format suitable for transmission. The encoded video data is then output.
[0525] Step 4:
[0526] The terminal sends the encoded video data to the server. This transmission may use an HTTP POST request. Specifically, the encoded data is sent to the server via the internet. The transmitted encoded video data is then input to the server.
[0527] Step 5:
[0528] The server receives video data sent from the user's terminal. The received data is in binary format and cannot be analyzed directly. This binary data serves as input.
[0529] Step 6:
[0530] The server uses the Python OpenCV library to decode the received video data. Specifically, it splits the binary video data into frames and obtains each frame as individual image data. The decoded image frames are then output.
[0531] Step 7:
[0532] The server estimates the user's pose for each decoded frame using a generating AI model. The AI model used here is OpenPose. Specifically, it identifies the user's joint positions from each image frame and estimates their pose. The estimated pose data is then output.
[0533] Step 8:
[0534] The server generates a skeletal model of the user based on estimated posture data. Specifically, it calculates the position and angle of the joints and constructs the skeletal model based on that. The generated skeletal model is then output.
[0535] Step 9:
[0536] The server generates motion data corresponding to the character in the metaverse based on the generated skeletal model. Specifically, it calculates the movement of the virtual character based on the information of each joint in the skeletal model. The generated motion data is then output.
[0537] Step 10:
[0538] The server re-encodes the generated operation data and sends it to the user terminal. Protocol Buffers or gRPC may be used for encoding. Specifically, the operation data is compressed into a transmittable format and sent to the user terminal via the internet. The transmitted encoded operation data is then input to the user terminal.
[0539] Step 11:
[0540] The user terminal decodes the operation data received from the server. Here too, libraries such as FFmpeg are used. Specifically, the encoded operation data is restored to its original format. The decoded operation data is then output.
[0541] Step 12:
[0542] The user's device renders a character in a virtual space using a game engine such as Unity or Unreal Engine, based on the decoded motion data. Specifically, it displays information about the virtual character's joints and movements on the screen in real time. Finally, the rendered character is output, and the user can check the character's movements on the screen of their mobile device or a connected external display.
[0543] Through each of the above steps, the system reflects the user's actions on the character in the virtual space in real time.
[0544] (Application Example 1)
[0545] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0546] Traditional virtual reality (VR) and augmented reality (AR) experiences required expensive, specialized equipment, making them difficult for the average user to access. Furthermore, technologies that reflected user actions in real-time onto virtual characters suffered from processing delays and accuracy issues, making it difficult to provide an immersive, interactive experience. Providing a realistic virtual store experience or product try-on experience also presented challenges.
[0547] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0548] In this invention, the server includes means for capturing the user's movements in real time using a camera and transmitting the captured video data to the server; means for estimating the user's posture from the received video data and generating a skeletal model of the user based on the estimated posture; means for generating motion data corresponding to a character in a virtual space based on the generated skeletal model; means for transmitting the generated motion data to a user terminal and rendering the character in the virtual space on the user terminal; and means for the user to confirm their movements in the virtual space in real time. As a result, users can easily use mobile terminals such as smartphones to accurately reflect their movements onto a character in a virtual space in real time, enabling an immersive and interactive experience. Furthermore, it becomes possible to realistically try on products and experience real stores in the virtual space.
[0549] "User actions" refer to actions such as hand and body movements that a user performs in front of the camera.
[0550] A "camera" is a device used to capture video in real time.
[0551] "Real-time capture" means recording user actions instantly and without delay.
[0552] "Video data" refers to a series of image data that includes captured user actions.
[0553] A "server" is a central processing unit that processes data sent from user terminals and returns the results.
[0554] "Received video data" refers to captured video data acquired by the server from the user's terminal.
[0555] "Estimating user posture" means analyzing the position and angle of the user's body from video data.
[0556] A "skeletal model" is a data model that mimics the user's physical structure.
[0557] A "virtual space" is a virtual three-dimensional environment created by a computer.
[0558] A "character" is an avatar that acts as a representation of the user within a virtual space.
[0559] "Action data" refers to information about the movement of a character in a virtual space, which reflects the user's actions.
[0560] A "user terminal" refers to a mobile device such as a smartphone used for tasks like capturing images or drawing.
[0561] "Rendering" refers to displaying the actions of a character in a virtual space on the screen.
[0562] "Means of verification" refers to a method by which a user can visually confirm how their actions are reflected in their character within the virtual space.
[0563] "Trying on a product" means experiencing and wearing items such as clothing and accessories in a virtual space.
[0564] To implement this invention, the following system configuration is used.
[0565] System Configuration
[0566] The system mainly consists of the following components:
[0567] 1. User terminal (mobile device such as a smartphone)
[0568] 2. Server (Central Processing Unit)
[0569] 3. Camera (camera built into the mobile device)
[0570] Detailed explanation
[0571] User terminal
[0572] The user captures their actions using their smartphone. The smartphone's camera records the user's actions in front of the camera as video. The captured video data is encoded in real time and transmitted to a server via the internet.
[0573] server
[0574] The server receives and decodes video data sent from the user's terminal. For each decoded frame, it uses an image generation AI (e.g., OpenPose) to estimate the user's posture and generate a skeletal model of the user. Based on this skeletal model, motion data for the character in the virtual space is generated. The generated motion data is re-encoded and sent back to the user's terminal.
[0575] User terminal
[0576] The user terminal decodes the action data sent from the server and renders the character in the virtual space in real time. The user can configure how their actions are reflected in the character in the virtual space using prompt messages like the one shown below.
[0577] Hardware and software to be used
[0578] hardware
[0579] Smartphone (with camera)
[0580] Server (Central Processing Unit)
[0581] Internet connection
[0582] software
[0583] Real-time video capture application (for smartphones)
[0584] AI models for motion estimation (AI models on a server, e.g., OpenPose)
[0585] Data encoding / decoding module
[0586] Character movement engine in virtual space
[0587] Specific example
[0588] 1. Motion Capture: The user sets up their smartphone at home and performs actions such as trying on clothes in front of the camera. The smartphone's camera records these actions and sends the video data to the server.
[0589] 2. Pose estimation and skeletal model generation: The server analyzes the video, and a character in the virtual space performs similar movements based on the user's motion data.
[0590] 3. Motion Data Rendering: User actions are reflected in the character in real time, and a scene of trying on clothes is displayed in the virtual space.
[0591] Example of a prompt
[0592] "Analyze the user's camera feed in real time and reflect the same actions onto the avatar."
[0593] "When a user raises their hand, please generate motion data that reflects that action on the avatar in real time."
[0594] In this way, users can enjoy real-time and accurate experiences in virtual space using common mobile devices such as smartphones, without needing expensive dedicated equipment.
[0595] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0596] Step 1:
[0597] The user uses a smartphone to capture their actions with the camera. The smartphone's camera records the user's actions as a video in real time, and the video data is encoded. The input is the user's actions, and the output is the encoded video data.
[0598] Step 2:
[0599] A smartphone sends encoded video data to a server via the internet. The input is the encoded video data, and the output is the video data sent to the server.
[0600] Step 3:
[0601] The server decodes the received video data and divides it into individual frames. The input is the transmitted video data, and the output is the decoded image data for each frame.
[0602] Step 4:
[0603] The server analyzes the user's posture using an image generation AI (e.g., OpenPose) for each decoded frame, and generates posture data. The input is image data for each frame, and the output is the user's posture data.
[0604] Step 5:
[0605] The server generates a skeletal model of the user based on the generated posture data. The input is the user's posture data, and the output is the skeletal model.
[0606] Step 6:
[0607] The server generates character movement data in the virtual space based on the generated skeletal model. The input is the skeletal model, and the output is the character's movement data.
[0608] Step 7:
[0609] The server re-encodes the generated motion data and sends it to the user's terminal. The input is the character's motion data, and the output is the encoded motion data.
[0610] Step 8:
[0611] The user terminal decodes the motion data sent from the server and renders the character in the virtual space in real time. The input is the encoded motion data, and the output is the motion of the character rendered in the virtual space.
[0612] Step 9:
[0613] The user observes the movements of a character in a virtual space. The input is the movement of the character rendered in the virtual space, and the output is the user's visual confirmation.
[0614] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0615] This invention relates to a system that reflects a user's actions and emotions in real time onto a character in the metaverse. This system is realized by capturing the user's actions and emotions using the user's smartphone (device), processing that data on a server, and feeding it back to the user's device.
[0616] System Configuration
[0617] The system mainly consists of the following components:
[0618] 1. User device (smartphone, etc.)
[0619] 2. Server (Central Processing Unit)
[0620] 3. Camera (such as the built-in camera on a smartphone)
[0621] 4. Emotion Engine (Facial Expression Analysis Module)
[0622] Method overview
[0623] User terminal
[0624] The user holds their smartphone steady and performs actions and makes facial expressions in front of the camera. The smartphone's camera captures the user's actions and facial expressions as video. The captured video data is encoded in real time on the device and transmitted to a server via the internet.
[0625] server
[0626] The server decodes the video data sent from the user's terminal. For each decoded frame, an image generation AI is used to estimate the user's posture and generate a skeletal model of the user. Meanwhile, an emotion engine analyzes the user's emotions based on the captured facial expression data. The analyzed emotion data, along with the skeletal model, is reflected in the actions and expressions of the character in the metaverse. The generated action and emotion data are then re-encoded and sent back to the user's terminal.
[0627] User terminal
[0628] The user's terminal decodes the behavior and emotion data sent from the server and renders a character in the metaverse. The rendered character responds to the user's behavior and emotions in real time. The user can view the character's movements and emotions in this virtual space through their smartphone screen or a connected external display.
[0629] Specific example
[0630] 1. Motion and facial expression capture
[0631] The user positions their smartphone in the living room and raises their hand in front of the camera while simultaneously making a smile. The smartphone's camera records the action and facial expression, and the video data is sent to a server.
[0632] 2. Posture Estimation and Emotion Analysis
[0633] The server analyzes the received video to calculate the position and angle of the user's hands. This generates a skeletal model of the user. Meanwhile, the emotion engine analyzes the user's facial expression data and recognizes smiles. This information is then generated as behavioral and emotional data that is reflected in the character within the metaverse.
[0634] 3. Visualization of behavioral and emotional data
[0635] The user's device decodes the behavior and emotion data received from the server and renders a character in the metaverse on the smartphone screen. The user can see that their raised hand and smile are reflected in the character.
[0636] Thus, the system of the present invention eliminates the need for specific, expensive devices, making it possible to easily experience the metaverse in real time using a smartphone. Since the user's actions and emotions are reflected in the virtual space in real time, it provides a more immersive and interactive experience.
[0637] The following describes the processing flow.
[0638] Step 1:
[0639] The user holds their smartphone steady and stands in front of the camera. The user makes gestures such as raising their hand or making facial expressions such as smiling.
[0640] Step 2:
[0641] The device (smartphone) captures the user's movements and facial expressions in real time as video using its camera. The captured video is temporarily stored in memory.
[0642] Step 3:
[0643] The device encodes the user's captured video data into a standard video compression format (such as H.264). The encoded video data is then sent to the server via the internet.
[0644] Step 4:
[0645] The server receives the encoded video data and decodes it. Analysis begins for each decoded video frame.
[0646] Step 5:
[0647] The server uses image generation AI to estimate the user's posture from the decoded video frames. Specifically, it identifies feature points (joint positions such as hands, elbows, and knees) in each frame and generates a skeletal model of the user based on these.
[0648] Step 6:
[0649] The server simultaneously uses an emotion engine to analyze the user's facial expressions from the decoded video frames. The emotion engine analyzes facial feature points and recognizes the user's emotions (e.g., smile, anger, sadness, etc.).
[0650] Step 7:
[0651] The server uses the skeletal model and emotion engine to recognize emotion data, which then maps the user's actions and emotions to characters in the metaverse. For example, if the user raises their hand and smiles, the server generates action data and facial expression data for the character to also raise their hand and smile. This data includes information about the position and movement of each part of the character, as well as facial expressions.
[0652] Step 8:
[0653] The server encodes the generated character's movements and facial expressions and sends them to the user's terminal.
[0654] Step 9:
[0655] The terminal decodes the motion and facial expression data received from the server. Based on the decoded data, it prepares to visually render the character in the metaverse.
[0656] Step 10:
[0657] The device renders characters in the metaverse based on decoded motion and facial expression data. The characters, rendered on the smartphone screen or a connected external display, respond in real time to the user's actions and emotional expressions.
[0658] Step 11:
[0659] Users view characters moving within the metaverse via their smartphones or external displays. Users can see their own actions and facial expressions reflected in the characters in real time.
[0660] Through the above process, the user's actions and emotions are reflected in the character within the metaverse in real time, providing an immersive and interactive experience.
[0661] (Example 2)
[0662] Next, we will describe Example 2. 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".
[0663] In current metaverse systems, accurately reflecting user actions and emotions in real time requires expensive specialized equipment and complex settings. This creates a high barrier to entry for general users, while using simpler devices results in low accuracy in recognizing actions and emotions. Furthermore, the delay in real-time reflection of actions and emotions is also a problem.
[0664] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0665] In this invention, the server includes means for capturing the user's movements and facial expressions in real time using a camera and encoding the captured video data; means for transmitting the encoded video data to the server; means for decoding the received video data on the server, estimating the user's posture for each frame, and generating a skeletal model; means for analyzing the facial expression data for each frame on the server and generating emotion data; means for generating movement and emotion data corresponding to a character in the metaverse based on the generated skeletal model and emotion data; means for re-encoding and transmitting the generated movement and emotion data to the user terminal; means for decoding the movement and emotion data received from the server on the user terminal and rendering a character in the metaverse; and means for the user to be able to check the character's movements and emotions in real time.
[0666] This makes it possible to accurately reflect a user's actions and emotions in the metaverse in real time using a standard portable electronic device. This eliminates the need for expensive dedicated equipment, allowing more users to easily enjoy an immersive metaverse experience.
[0667] A "user" refers to a person who uses the system to reflect their own actions and emotions within the metaverse.
[0668] "Motion and facial expressions" refers to the physical movements and facial expressions that the user makes in front of the camera.
[0669] A "camera" refers to a device used to capture a user's movements and facial expressions in real time.
[0670] "Real-time" refers to a process where processing and updates occur with minimal delay, almost simultaneously.
[0671] "Capture" refers to the process where a camera records a user's actions and facial expressions as video data.
[0672] "Encoding" refers to the process of compressing captured video data and converting it into a format suitable for data transfer.
[0673] A "server" refers to a processing unit that analyzes received data, estimates user behavior and emotions, and generates characters within the metaverse based on that information.
[0674] "Decoding" refers to the process of returning encoded data to its original format.
[0675] A "frame" refers to an individual still image within a video file, and when these frames are displayed in sequence, the video is recognized as a video.
[0676] "Posture" refers to the physical state of the user's body, such as its position and angle.
[0677] A "skeletal model" refers to three-dimensional shape data used to represent the user's posture.
[0678] "Facial expression data" refers to information such as the position and shape of each part of the user's face that is captured.
[0679] "Emotional data" refers to information that indicates the user's emotional state, obtained by analyzing facial expression data.
[0680] "Characters in the metaverse" refers to avatars that reflect the user's attitude and emotions in a virtual space.
[0681] "Motion data" refers to information about the actions performed by a character in the metaverse based on their skeletal model.
[0682] "Emotional data" refers to emotional information analyzed based on captured facial expression data.
[0683] "Re-encoding" refers to converting generated data back into a format that can be transferred again.
[0684] "Drawing" refers to displaying characters from the metaverse on the user's device screen.
[0685] "Confirmation" refers to the user visually verifying the results.
[0686] "Portable electronic devices" refer to portable computer devices such as smartphones and tablets.
[0687] This invention relates to a system that reflects a user's actions and emotions in real time onto a character in the metaverse. This system is realized by capturing the user's actions and emotions using the user's portable electronic device, processing that data on a server, and feeding it back to the user's terminal.
[0688] The system mainly consists of the following components:
[0689] 1. User terminal (portable electronic device, etc.)
[0690] 2. Server (Central Processing Unit)
[0691] 3. Camera (such as the built-in camera of a portable electronic device)
[0692] 4. Emotion Engine (Facial Expression Analysis Module)
[0693] User terminal
[0694] The user holds their mobile device steady and performs actions and facial expressions in front of the camera. For example, the user raises their hand and smiles. At this time, the camera on the mobile device captures the user's actions and facial expressions as a video. The captured video data is encoded in real time on the device and sent to the server via the internet.
[0695] server
[0696] The server decodes the video data sent from the user's terminal. For each decoded frame, it uses an image generation AI model (e.g., Mediapipe) to estimate the user's posture and generate a skeletal model of the user. Meanwhile, based on the captured facial expression data, it uses an emotion engine (e.g., a general facial expression analysis API) to analyze the user's emotions. The analyzed emotion data, along with the skeletal model, is reflected in the character's actions and expressions within the metaverse. The generated action and emotion data are then re-encoded and sent back to the user's terminal.
[0697] User terminal (reprocessing)
[0698] The user terminal decodes the behavior and emotion data sent from the server and renders a character in the metaverse. The rendered character responds to the user's behavior and emotions in real time. The user can view the character's movements and emotions in this virtual space through the screen of their mobile device or a connected external display.
[0699] Adding specific examples
[0700] 1. Motion and facial expression capture
[0701] The user positions their smartphone in the living room, raises their hand in front of the camera, and simultaneously smiles. The smartphone's camera records the action and facial expression, and the video data is sent to a server.
[0702] 2. Posture Estimation and Emotion Analysis
[0703] The server analyzes the received video and uses Mediapipe to calculate the position and angle of the user's hands. This generates a skeletal model of the user. Meanwhile, using a common facial expression analysis API, the emotion engine analyzes the user's facial expression data and recognizes smiles. This information is then generated as behavior and emotion data that is reflected in the character within the metaverse.
[0704] 3. Visualization of behavioral and emotional data
[0705] The user's device decodes the behavior and emotion data received from the server and renders a character in the metaverse on the smartphone screen. The user can see that their raised hand and smile are reflected in the character.
[0706] Example of a prompt
[0707] "The user is waving and smiling at the camera. Use an image generation AI model to estimate their posture and an expression analysis API to generate emotion data. Based on that data, reflect the actions and emotions in a character within the metaverse and provide feedback to the user's device."
[0708] Thus, the system of the present invention eliminates the need for specific, expensive devices, making it possible to easily experience the metaverse in real time using portable electronic devices. Because the user's actions and emotions are reflected in the virtual space in real time, it provides a more immersive and interactive experience.
[0709] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0710] Step 1:
[0711] Motion and facial expression capture
[0712] The user holds their mobile device steady and performs actions and facial expressions in front of the camera. For example, the user raises their hand and smiles.
[0713] The device's camera captures the user's movements and facial expressions as video in real time.
[0714] Input: User's actions and facial expressions
[0715] Output: Captured video data
[0716] Step 2:
[0717] Encoding video data
[0718] The device encodes the captured video data in real time. Specifically, it compresses the video data into H.264 format.
[0719] Input: Captured video data
[0720] Output: Encoded video data
[0721] Step 3:
[0722] Sending encoded data
[0723] The device sends the encoded video data to the server via the internet.
[0724] Input: Encoded video data
[0725] Output: Video data sent to the server
[0726] Step 4:
[0727] Decoding on the server side
[0728] The server decodes the encoded video data received from the user's terminal. Specifically, it performs a decoding process and extracts each frame as a separate image.
[0729] Input: Encoded video data
[0730] Output: Decoded frame image
[0731] Step 5:
[0732] Pose estimation and skeletal model generation
[0733] The server uses an image generation AI model to estimate the user's posture for each frame and generate a skeletal model of the user. For example, it uses Mediapipe to estimate the position and angle of the hands.
[0734] Input: Decoded frame image
[0735] Output: Generated skeletal model
[0736] Step 6:
[0737] Facial expression analysis and emotion data generation
[0738] The server uses a facial expression analysis engine to analyze facial expression data for each frame. For example, it can use a common facial expression analysis API to recognize the user's smile.
[0739] Input: Decoded frame image
[0740] Output: Generated emotion data
[0741] Step 7:
[0742] Generation of behavioral and emotional data
[0743] The server generates character behavior and emotion data within the metaverse based on the generated skeletal model and emotion data.
[0744] Input: Skeletal model and emotional data
[0745] Output: Behavioral and sentiment data
[0746] Step 8:
[0747] Data re-encoding and feedback
[0748] The server re-encodes the generated behavioral and emotional data and sends it to the user's terminal.
[0749] Input: Behavioral and emotional data
[0750] Output: Encoded feedback data
[0751] Step 9:
[0752] Decoding and display on the user terminal
[0753] The terminal decodes the encoded data sent from the server and renders the character within the metaverse.
[0754] Input: Encoded feedback data
[0755] Output: Rendered character in the metaverse
[0756] Step 10:
[0757] User verification
[0758] Users can confirm through their mobile device screen or external display that the character's actions and emotions are reflected in real time in response to their own actions and emotions.
[0759] Input: A character drawn in the metaverse
[0760] Output: Real-time feedback confirmation
[0761] (Application Example 2)
[0762] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0763] Conventional methods for controlling characters within the metaverse are limited to reflecting only the user's actions, and are unable to reflect the user's facial expressions or emotions in real time. As a result, users cannot reflect their own emotions or expressions on the character, making it difficult to provide an immersive interactive experience. The present invention aims to provide a more advanced interactive experience by capturing the user's actions and facial expressions in real time and reflecting them on the character within the metaverse.
[0764] The specific processing performed 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 estimating the user's posture from received video data, means for generating a skeletal model of the user based on the estimated posture, means for analyzing the user's emotions based on captured facial expression data, and means for generating motion and facial expression data corresponding to a character in the metaverse based on the generated skeletal model and the analyzed emotional data. This makes it possible to reflect not only the user's actions but also their emotions and facial expressions in the character in the metaverse in real time.
[0765] "User actions" refer to the actions and gestures that a user performs by moving their body.
[0766] "Facial expression" refers to the emotions and reactions shown through the movement of the user's facial muscles.
[0767] "Capture" refers to acquiring video or image data using cameras or sensors.
[0768] "Video data" refers to moving image information composed of a series of image frames.
[0769] A "server" refers to a central processing unit used for data processing, management, and communication.
[0770] "Posture" refers to the arrangement and relative positions of the user's body.
[0771] A "skeletal model" refers to a data model that mimics the user's physical skeleton.
[0772] "Analyzing emotions" refers to estimating a user's emotional state based on their facial expression data.
[0773] "Metaverse" refers to the world of virtual space or virtual reality.
[0774] "Action data" refers to a digital representation of a user's actions.
[0775] "Facial expression data" refers to a digital representation of a user's facial expressions.
[0776] "To draw" refers to displaying images or videos on a screen or display.
[0777] This invention relates to a system that captures a user's actions and emotions in real time and reflects them in a character within the metaverse. The system mainly consists of a user terminal, a server, a camera, and an emotion engine.
[0778] User terminal
[0779] The user captures their movements and facial expressions using their smartphone. The smartphone's camera captures the user's movements and facial expressions as video data, and this video data is encoded in real time on the device. This encoded data is then transmitted to a server via the internet.
[0780] server
[0781] The server decodes the video data received from the user's terminal. For each decoded frame, it estimates the user's posture using a posture analysis algorithm. This estimation generates a skeletal model of the user. Meanwhile, the facial expression analysis module (emotion engine) analyzes the user's emotions based on the captured facial expression data. The analyzed emotion data is combined with the skeletal model and generated as motion and facial expression data corresponding to a character in the metaverse. The generated motion and facial expression data is re-encoded and sent to the user's terminal.
[0782] User terminal
[0783] The user terminal decodes the motion and facial expression data sent from the server. Based on the decoded data, it renders a character in the metaverse. The rendered character responds in real time to the user's actions and emotions, allowing the user to see the character's movements and emotions in the virtual space through their smartphone screen or a connected external display.
[0784] Hardware and software to be used
[0785] Hardware: Smartphones, servers
[0786] Software: Video capture libraries (e.g., OpenCV), server-side video processing APIs (e.g., FFmpeg), machine learning libraries (e.g., TensorFlow), facial expression analysis engines (e.g., Microsoft Azure Face API)
[0787] Examples of specific cases and prompt statements
[0788] For example, when a user smiles in front of their smartphone camera, the video data is captured in real time and sent to a server. The server analyzes the video data, recognizes the user's smile, and simultaneously generates a skeletal model. This analyzed data is encoded and sent to the user's device. The user's device decodes it and reflects it in a character within the metaverse. This allows viewers to instantly see the user's actual actions and emotions through the character in the metaverse.
[0789] Example of a prompt:
[0790] Please consider an application where, during a live stream, a user makes a smile in front of their smartphone camera, and that smile is reflected in real time on a character in the metaverse, allowing viewers to instantly see the change.
[0791] This system allows not only the user's actions but also their emotions to be reflected in the character within the metaverse in real time, enabling a more advanced interactive experience.
[0792] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0793] Step 1:
[0794] The user performs actions and makes facial expressions in front of their smartphone camera. The smartphone camera captures these actions and facial expressions as video data. This video data is encoded and sent to a server via the internet. The input is the video data from the smartphone camera, and the output is the encoded video data.
[0795] Step 2:
[0796] The server decodes the received encoded video data. The decoded video data is analyzed frame by frame, and user posture and facial expression data is extracted from each frame. The input is the encoded video data, and the output is the decoded data for each frame.
[0797] Step 3:
[0798] On the server, a posture analysis algorithm (e.g., OpenPose) is used to estimate the user's posture for each frame. A skeletal model of the user is generated from this estimated posture information. The input is the decoded frame-by-frame data, and the output is the user's skeletal model.
[0799] Step 4:
[0800] The server uses a facial expression analysis module (e.g., Microsoft Azure Face API) to analyze the decoded facial expression data for each frame. This analysis yields the user's emotion data. The input is the decoded facial expression data for each frame, and the output is the emotion data.
[0801] Step 5:
[0802] The server generates character movement and facial expression data within the metaverse based on the generated user skeletal model and analyzed emotion data. A generative AI model is used to integrate this data and generate the movement and facial expression data. The input is the user's skeletal model and emotion data, and the output is the movement and facial expression data.
[0803] Step 6:
[0804] The server encodes the generated motion and facial expression data and sends it to the user terminal. The input is the motion and facial expression data, and the output is the encoded motion and facial expression data.
[0805] Step 7:
[0806] The user terminal decodes the received encoded motion and facial expression data. Based on the decoded data, it renders a character in the metaverse. This rendering is done in real time, and the user can see the character's actions and emotions through their smartphone screen or a connected external display. The input is encoded motion and facial expression data, and the output is the rendered character in the metaverse.
[0807] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0808] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0809] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0810] [Third Embodiment]
[0811] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0812] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0813] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0814] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0815] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0816] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0817] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0818] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0819] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0820] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0821] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0822] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0823] This invention relates to a system that reflects a user's actions in real time onto a character in the metaverse. This system is realized by capturing the user's actions using the user's smartphone (device), processing that data on a server, and feeding it back to the user's device.
[0824] System Configuration
[0825] The system mainly consists of the following components:
[0826] 1. User device (smartphone, etc.)
[0827] 2. Server (Central Processing Unit)
[0828] 3. Camera (such as the built-in camera on a smartphone)
[0829] Method overview
[0830] User terminal
[0831] The user holds their smartphone steady and performs actions in front of the camera. The smartphone's camera captures the user's actions as video. The captured video data is encoded in real time on the device and sent to a server via the internet.
[0832] server
[0833] The server decodes the video data sent from the user's terminal. For each decoded frame, it uses an image generation AI to estimate the user's posture and generates a skeletal model of the user. Based on this skeletal model, motion data for the character in the metaverse is generated. The generated motion data is re-encoded and sent back to the user's terminal.
[0834] User terminal
[0835] The user's terminal decodes the motion data sent from the server and renders a character in the metaverse. The rendered character responds to the user's actions in real time. The user can view the character's movements in this virtual space through their smartphone screen or a connected external display.
[0836] Specific example
[0837] 1. Motion Capture
[0838] The user positions their smartphone in the living room and raises their hand in front of the camera. The smartphone's camera records this action and sends the video data to the server.
[0839] 2. Pose Estimation and Skeletal Model Generation
[0840] The server analyzes the received video and calculates the position and angle of the user's hands. This generates a skeletal model of the user. Based on this skeletal model, motion data is generated that reflects the hand-raising motion onto the character in the metaverse.
[0841] 3. Drawing of motion data
[0842] The user's device decodes the motion data received from the server and renders a character in the metaverse on the smartphone screen. The user can then see that their raised hand motion is reflected in the character.
[0843] Thus, the system of the present invention eliminates the need for specific, expensive devices, making it possible to easily experience the metaverse in real time using a smartphone. The system processes user actions quickly and accurately, reflecting them in the virtual space and providing users with an immersive, interactive experience.
[0844] The following describes the processing flow.
[0845] Step 1:
[0846] The user holds their smartphone steady and stands in front of the camera. At this point, the user performs an action such as raising their hand.
[0847] Step 2:
[0848] The device (smartphone) captures the user's actions in real time as video using its camera. The captured video is temporarily stored in memory.
[0849] Step 3:
[0850] The device encodes the user's captured video data into a standard video compression format (such as H.264). The encoded video data is then sent to the server via the internet.
[0851] Step 4:
[0852] The server receives the encoded video data and decodes it. Analysis begins for each decoded video frame.
[0853] Step 5:
[0854] The server uses image generation AI to estimate the user's posture from the decoded video frames. Specifically, it identifies feature points (joint positions such as hands, elbows, and knees) in each frame and generates a skeletal model of the user based on these.
[0855] Step 6:
[0856] The server uses a skeletal model to map user actions to characters in the metaverse. For example, if the user raises their hand, it generates motion data so that the character's hand also raises. This motion data includes information about the position and movement of each part of the character.
[0857] Step 7:
[0858] The server encodes the character's movement data and sends it to the user's terminal.
[0859] Step 8:
[0860] The terminal decodes the operation data received from the server. Based on the decoded data, it prepares to visually render characters within the metaverse.
[0861] Step 9:
[0862] The device renders characters in the metaverse based on decoded behavioral data. The rendering uses either the smartphone screen or a connected external display.
[0863] Step 10:
[0864] Users view characters moving within the metaverse via their smartphones or external displays. Users can see their own actions reflected in the characters in real time.
[0865] A smooth and immersive metaverse experience is provided through a series of processes in which user movements are captured by a camera, analyzed on a server, converted into character movements, and displayed on the device in real time.
[0866] (Example 1)
[0867] Next, we will describe Example 1. 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."
[0868] In modern digital entertainment, there is a demand for technology that reflects user actions in virtual spaces and metaverses in real time. However, existing methods require expensive dedicated devices, making them unaffordable for the average user. Furthermore, while high-speed and accurate action recognition and real-time response are desired, there is a lack of efficient systems to achieve this. Given these problems, there is a need for a system that uses inexpensive devices, recognizes actions quickly and accurately, and reflects them in virtual characters in real time.
[0869] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0870] In this invention, the server includes means for capturing the user's movements in real time using a camera, encoding the captured video data, and transmitting it to the server; means for decoding the received video data, estimating the user's posture using a generation AI model, and generating a skeletal model of the user based on the estimated posture; means for generating motion data corresponding to a character in the metaverse based on the generated skeletal model; means for encoding the generated motion data and transmitting it to the user terminal; and means for decoding the received motion data at the user terminal and rendering a character in the metaverse. This makes it possible to recognize the user's movements quickly and accurately using an inexpensive portable information terminal and reflect them in a character in the virtual space in real time.
[0871] A "user" is an individual who uses a system to capture their actions and have an interactive experience in a virtual space.
[0872] A "camera" is an image acquisition device that captures the user's actions in real time.
[0873] "Capture" refers to recording a user's actions as a video.
[0874] "Video data" is a series of images that represent the actions of a captured user.
[0875] "Encoding" refers to the process of efficiently compressing video data and converting it into a format that can be transmitted.
[0876] A "server" is a device that acts as a central processing unit, analyzing video data and performing calculations to reproduce user actions within a virtual space.
[0877] "Decoding" is the process of returning encoded data to its original format.
[0878] A "generative AI model" is an artificial intelligence model used to accurately estimate a user's posture from received video data.
[0879] "Posture estimation" is the process of calculating the position and angle of each joint in the user's movements.
[0880] A "skeletal model" is a virtual structure that represents the position of the user's joints and bones, generated based on posture estimation.
[0881] The "metaverse" is a virtual space in which users can participate.
[0882] "Motion data" refers to data used to represent the movements of a character in the metaverse based on a skeletal model.
[0883] A "user terminal" is a portable information device (such as a smartphone or tablet) owned by a user and used to interact with the system.
[0884] "Rendering" refers to the process of displaying characters from a virtual space on the user's terminal screen.
[0885] This invention relates to a system that reflects a user's actions onto a character in a virtual space in real time. This system is realized by capturing the user's actions using the user's mobile device, processing that data on a server, and feeding it back to the user's device.
[0886] System Configuration
[0887] The system mainly consists of the following components:
[0888] 1. User terminal (mobile information terminal, etc.)
[0889] 2. Server (Central Processing Unit)
[0890] 3. Camera (such as the built-in camera of a mobile device)
[0891] Method overview
[0892] User terminal
[0893] The user holds their mobile device in place and performs actions in front of the camera. The camera on the mobile device captures the user's actions as video. The captured video data is encoded in real time on the device and sent to a server via the internet. Software such as FFmpeg is used for encoding.
[0894] server
[0895] The server decodes the video data sent from the user's terminal. For decoding, for example, the Python OpenCV library is used. For each decoded video frame, an image generation AI model (e.g., OpenPose) is used to estimate the user's pose and generate a skeletal model of the user. Based on this skeletal model, motion data for a character in the metaverse is generated. The generated motion data is re-encoded and sent back to the user's terminal. Protocol Buffers or gRPC can be used for encoding at this stage.
[0896] User terminal
[0897] The user's terminal decodes the motion data sent from the server and renders the character in the metaverse. Game engines such as Unity or Unreal Engine are used for rendering. The rendered character responds to the user's actions in real time. The user can view the character's movements in this virtual space through their mobile device screen or a connected external display.
[0898] Specific example
[0899] 1. Motion Capture
[0900] The user places a mobile device in the living room and raises their hand in front of the camera. The camera on the mobile device records this action and sends the video data to the server.
[0901] 2. Pose Estimation and Skeletal Model Generation
[0902] The server analyzes the received video and calculates the position and angle of the user's hands. This generates a skeletal model of the user.
[0903] 3. Drawing of motion data
[0904] The user's device decodes the motion data received from the server and renders a character in the metaverse on the mobile device's screen. The user can then see that their raised hand motion is reflected in the character.
[0905] As described above, the system of the present invention eliminates the need for specific, expensive devices, making it possible to easily experience the metaverse in real time using a mobile information terminal. The system processes user actions quickly and accurately, reflecting them in the virtual space and providing users with an immersive, interactive experience.
[0906] Example of a prompt
[0907] "Please write a program prompt that estimates user actions in real time from video data and reflects them on a character in a virtual space. For example, when the user raises their hand in front of the camera, that action should be reflected in real time on the metaverse character."
[0908] This allows for a concrete understanding of how the system works.
[0909] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0910] Step 1:
[0911] The user holds their mobile device in place and performs actions in front of the camera. For example, the user raises their hand in the living room. This results in video data that continuously records the user's actions. This video data serves as the input for motion capture.
[0912] Step 2:
[0913] The device uses the camera of the mobile device to capture the user's actions as video. Specifically, the camera captures a series of image frames in real time and saves them as video data. The captured video data is then output.
[0914] Step 3:
[0915] The terminal encodes the captured video data. Software such as FFmpeg is used for encoding. Specifically, the video data is compressed and converted into a format suitable for transmission. The encoded video data is then output.
[0916] Step 4:
[0917] The terminal sends the encoded video data to the server. This transmission may use an HTTP POST request. Specifically, the encoded data is sent to the server via the internet. The transmitted encoded video data is then input to the server.
[0918] Step 5:
[0919] The server receives video data sent from the user's terminal. The received data is in binary format and cannot be analyzed directly. This binary data serves as input.
[0920] Step 6:
[0921] The server uses the Python OpenCV library to decode the received video data. Specifically, it splits the binary video data into frames and obtains each frame as individual image data. The decoded image frames are then output.
[0922] Step 7:
[0923] The server estimates the user's pose for each decoded frame using a generating AI model. The AI model used here is OpenPose. Specifically, it identifies the user's joint positions from each image frame and estimates their pose. The estimated pose data is then output.
[0924] Step 8:
[0925] The server generates a skeletal model of the user based on estimated posture data. Specifically, it calculates the position and angle of the joints and constructs the skeletal model based on that. The generated skeletal model is then output.
[0926] Step 9:
[0927] The server generates motion data corresponding to the character in the metaverse based on the generated skeletal model. Specifically, it calculates the movement of the virtual character based on the information of each joint in the skeletal model. The generated motion data is then output.
[0928] Step 10:
[0929] The server re-encodes the generated operation data and sends it to the user terminal. Protocol Buffers or gRPC may be used for encoding. Specifically, the operation data is compressed into a transmittable format and sent to the user terminal via the internet. The transmitted encoded operation data is then input to the user terminal.
[0930] Step 11:
[0931] The user terminal decodes the operation data received from the server. Here too, libraries such as FFmpeg are used. Specifically, the encoded operation data is restored to its original format. The decoded operation data is then output.
[0932] Step 12:
[0933] The user's device renders a character in a virtual space using a game engine such as Unity or Unreal Engine, based on the decoded motion data. Specifically, it displays information about the virtual character's joints and movements on the screen in real time. Finally, the rendered character is output, and the user can check the character's movements on the screen of their mobile device or a connected external display.
[0934] Through each of the above steps, the system reflects the user's actions on the character in the virtual space in real time.
[0935] (Application Example 1)
[0936] Next, we will explain Application Example 1. In the following explanation, 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."
[0937] Traditional virtual reality (VR) and augmented reality (AR) experiences required expensive, specialized equipment, making them difficult for the average user to access. Furthermore, technologies that reflected user actions in real-time onto virtual characters suffered from processing delays and accuracy issues, making it difficult to provide an immersive, interactive experience. Providing a realistic virtual store experience or product try-on experience also presented challenges.
[0938] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0939] In this invention, the server includes means for capturing the user's movements in real time using a camera and transmitting the captured video data to the server; means for estimating the user's posture from the received video data and generating a skeletal model of the user based on the estimated posture; means for generating motion data corresponding to a character in a virtual space based on the generated skeletal model; means for transmitting the generated motion data to a user terminal and rendering the character in the virtual space on the user terminal; and means for the user to confirm their movements in the virtual space in real time. As a result, users can easily use mobile terminals such as smartphones to accurately reflect their movements onto a character in a virtual space in real time, enabling an immersive and interactive experience. Furthermore, it becomes possible to realistically try on products and experience real stores in the virtual space.
[0940] "User actions" refer to actions such as hand and body movements that a user performs in front of the camera.
[0941] A "camera" is a device used to capture video in real time.
[0942] "Real-time capture" means recording user actions instantly and without delay.
[0943] "Video data" refers to a series of image data that includes captured user actions.
[0944] A "server" is a central processing unit that processes data sent from user terminals and returns the results.
[0945] "Received video data" refers to captured video data acquired by the server from the user's terminal.
[0946] "Estimating user posture" means analyzing the position and angle of the user's body from video data.
[0947] A "skeletal model" is a data model that mimics the user's physical structure.
[0948] A "virtual space" is a virtual three-dimensional environment created by a computer.
[0949] A "character" is an avatar that acts as a representation of the user within a virtual space.
[0950] "Action data" refers to information about the movement of a character in a virtual space, which reflects the user's actions.
[0951] A "user terminal" refers to a mobile device such as a smartphone used for tasks like capturing images or drawing.
[0952] "Rendering" refers to displaying the actions of a character in a virtual space on the screen.
[0953] "Means of verification" refers to a method by which a user can visually confirm how their actions are reflected in their character within the virtual space.
[0954] "Trying on a product" means experiencing and wearing items such as clothing and accessories in a virtual space.
[0955] To implement this invention, the following system configuration is used.
[0956] System Configuration
[0957] The system mainly consists of the following components:
[0958] 1. User terminal (mobile device such as a smartphone)
[0959] 2. Server (Central Processing Unit)
[0960] 3. Camera (camera built into the mobile device)
[0961] Detailed explanation
[0962] User terminal
[0963] The user captures their actions using their smartphone. The smartphone's camera records the user's actions in front of the camera as video. The captured video data is encoded in real time and transmitted to a server via the internet.
[0964] server
[0965] The server receives and decodes video data sent from the user's terminal. For each decoded frame, it uses an image generation AI (e.g., OpenPose) to estimate the user's posture and generate a skeletal model of the user. Based on this skeletal model, motion data for the character in the virtual space is generated. The generated motion data is re-encoded and sent back to the user's terminal.
[0966] User terminal
[0967] The user terminal decodes the action data sent from the server and renders the character in the virtual space in real time. The user can configure how their actions are reflected in the character in the virtual space using prompt messages like the one shown below.
[0968] Hardware and software to be used
[0969] hardware
[0970] Smartphone (with camera)
[0971] Server (Central Processing Unit)
[0972] Internet connection
[0973] software
[0974] Real-time video capture application (for smartphones)
[0975] AI models for motion estimation (AI models on a server, e.g., OpenPose)
[0976] Data encoding / decoding module
[0977] Character movement engine in virtual space
[0978] Specific example
[0979] 1. Motion Capture: The user sets up their smartphone at home and performs actions such as trying on clothes in front of the camera. The smartphone's camera records these actions and sends the video data to the server.
[0980] 2. Pose estimation and skeletal model generation: The server analyzes the video, and a character in the virtual space performs similar movements based on the user's motion data.
[0981] 3. Motion Data Rendering: User actions are reflected in the character in real time, and a scene of trying on clothes is displayed in the virtual space.
[0982] Example of a prompt
[0983] "Analyze the user's camera feed in real time and reflect the same actions onto the avatar."
[0984] "When a user raises their hand, please generate motion data that reflects that action on the avatar in real time."
[0985] In this way, users can enjoy real-time and accurate experiences in virtual space using common mobile devices such as smartphones, without needing expensive dedicated equipment.
[0986] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0987] Step 1:
[0988] The user uses a smartphone to capture their actions with the camera. The smartphone's camera records the user's actions as a video in real time, and the video data is encoded. The input is the user's actions, and the output is the encoded video data.
[0989] Step 2:
[0990] A smartphone sends encoded video data to a server via the internet. The input is the encoded video data, and the output is the video data sent to the server.
[0991] Step 3:
[0992] The server decodes the received video data and divides it into individual frames. The input is the transmitted video data, and the output is the decoded image data for each frame.
[0993] Step 4:
[0994] The server analyzes the user's posture using an image generation AI (e.g., OpenPose) for each decoded frame, and generates posture data. The input is image data for each frame, and the output is the user's posture data.
[0995] Step 5:
[0996] The server generates a skeletal model of the user based on the generated posture data. The input is the user's posture data, and the output is the skeletal model.
[0997] Step 6:
[0998] The server generates character movement data in the virtual space based on the generated skeletal model. The input is the skeletal model, and the output is the character's movement data.
[0999] Step 7:
[1000] The server re-encodes the generated motion data and sends it to the user's terminal. The input is the character's motion data, and the output is the encoded motion data.
[1001] Step 8:
[1002] The user terminal decodes the motion data sent from the server and renders the character in the virtual space in real time. The input is the encoded motion data, and the output is the motion of the character rendered in the virtual space.
[1003] Step 9:
[1004] The user observes the movements of a character in a virtual space. The input is the movement of the character rendered in the virtual space, and the output is the user's visual confirmation.
[1005] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1006] This invention relates to a system that reflects a user's actions and emotions in real time onto a character in the metaverse. This system is realized by capturing the user's actions and emotions using the user's smartphone (device), processing that data on a server, and feeding it back to the user's device.
[1007] System Configuration
[1008] The system mainly consists of the following components:
[1009] 1. User device (smartphone, etc.)
[1010] 2. Server (Central Processing Unit)
[1011] 3. Camera (such as the built-in camera on a smartphone)
[1012] 4. Emotion Engine (Facial Expression Analysis Module)
[1013] Method overview
[1014] User terminal
[1015] The user holds their smartphone steady and performs actions and makes facial expressions in front of the camera. The smartphone's camera captures the user's actions and facial expressions as video. The captured video data is encoded in real time on the device and transmitted to a server via the internet.
[1016] server
[1017] The server decodes the video data sent from the user's terminal. For each decoded frame, an image generation AI is used to estimate the user's posture and generate a skeletal model of the user. Meanwhile, an emotion engine analyzes the user's emotions based on the captured facial expression data. The analyzed emotion data, along with the skeletal model, is reflected in the actions and expressions of the character in the metaverse. The generated action and emotion data are then re-encoded and sent back to the user's terminal.
[1018] User terminal
[1019] The user's terminal decodes the behavior and emotion data sent from the server and renders a character in the metaverse. The rendered character responds to the user's behavior and emotions in real time. The user can view the character's movements and emotions in this virtual space through their smartphone screen or a connected external display.
[1020] Specific example
[1021] 1. Motion and facial expression capture
[1022] The user positions their smartphone in the living room and raises their hand in front of the camera while simultaneously making a smile. The smartphone's camera records the action and facial expression, and the video data is sent to a server.
[1023] 2. Posture Estimation and Emotion Analysis
[1024] The server analyzes the received video to calculate the position and angle of the user's hands. This generates a skeletal model of the user. Meanwhile, the emotion engine analyzes the user's facial expression data and recognizes smiles. This information is then generated as behavioral and emotional data that is reflected in the character within the metaverse.
[1025] 3. Visualization of behavioral and emotional data
[1026] The user's device decodes the behavior and emotion data received from the server and renders a character in the metaverse on the smartphone screen. The user can see that their raised hand and smile are reflected in the character.
[1027] Thus, the system of the present invention eliminates the need for specific, expensive devices, making it possible to easily experience the metaverse in real time using a smartphone. Since the user's actions and emotions are reflected in the virtual space in real time, it provides a more immersive and interactive experience.
[1028] The following describes the processing flow.
[1029] Step 1:
[1030] The user holds their smartphone steady and stands in front of the camera. The user makes gestures such as raising their hand or making facial expressions such as smiling.
[1031] Step 2:
[1032] The device (smartphone) captures the user's movements and facial expressions in real time as video using its camera. The captured video is temporarily stored in memory.
[1033] Step 3:
[1034] The device encodes the user's captured video data into a standard video compression format (such as H.264). The encoded video data is then sent to the server via the internet.
[1035] Step 4:
[1036] The server receives the encoded video data and decodes it. Analysis begins for each decoded video frame.
[1037] Step 5:
[1038] The server uses image generation AI to estimate the user's posture from the decoded video frames. Specifically, it identifies feature points (joint positions such as hands, elbows, and knees) in each frame and generates a skeletal model of the user based on these.
[1039] Step 6:
[1040] The server simultaneously uses an emotion engine to analyze the user's facial expressions from the decoded video frames. The emotion engine analyzes facial feature points and recognizes the user's emotions (e.g., smile, anger, sadness, etc.).
[1041] Step 7:
[1042] The server uses the skeletal model and emotion engine to recognize emotion data, which then maps the user's actions and emotions to characters in the metaverse. For example, if the user raises their hand and smiles, the server generates action data and facial expression data for the character to also raise their hand and smile. This data includes information about the position and movement of each part of the character, as well as facial expressions.
[1043] Step 8:
[1044] The server encodes the generated character's movements and facial expressions and sends them to the user's terminal.
[1045] Step 9:
[1046] The terminal decodes the motion and facial expression data received from the server. Based on the decoded data, it prepares to visually render the character in the metaverse.
[1047] Step 10:
[1048] The device renders characters in the metaverse based on decoded motion and facial expression data. The characters, rendered on the smartphone screen or a connected external display, respond in real time to the user's actions and emotional expressions.
[1049] Step 11:
[1050] Users view characters moving within the metaverse via their smartphones or external displays. Users can see their own actions and facial expressions reflected in the characters in real time.
[1051] Through the above process, the user's actions and emotions are reflected in the character within the metaverse in real time, providing an immersive and interactive experience.
[1052] (Example 2)
[1053] Next, we will describe Example 2. 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."
[1054] In current metaverse systems, accurately reflecting user actions and emotions in real time requires expensive specialized equipment and complex settings. This creates a high barrier to entry for general users, while using simpler devices results in low accuracy in recognizing actions and emotions. Furthermore, the delay in real-time reflection of actions and emotions is also a problem.
[1055] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[1056] In this invention, the server includes means for capturing the user's movements and facial expressions in real time using a camera and encoding the captured video data; means for transmitting the encoded video data to the server; means for decoding the received video data on the server, estimating the user's posture for each frame, and generating a skeletal model; means for analyzing the facial expression data for each frame on the server and generating emotion data; means for generating movement and emotion data corresponding to a character in the metaverse based on the generated skeletal model and emotion data; means for re-encoding and transmitting the generated movement and emotion data to the user terminal; means for decoding the movement and emotion data received from the server on the user terminal and rendering a character in the metaverse; and means for the user to be able to check the character's movements and emotions in real time.
[1057] This makes it possible to accurately reflect a user's actions and emotions in the metaverse in real time using a standard portable electronic device. This eliminates the need for expensive dedicated equipment, allowing more users to easily enjoy an immersive metaverse experience.
[1058] A "user" refers to a person who uses the system to reflect their own actions and emotions within the metaverse.
[1059] "Motion and facial expressions" refers to the physical movements and facial expressions that the user makes in front of the camera.
[1060] A "camera" refers to a device used to capture a user's movements and facial expressions in real time.
[1061] "Real-time" refers to a process where processing and updates occur with minimal delay, almost simultaneously.
[1062] "Capture" refers to the process where a camera records a user's actions and facial expressions as video data.
[1063] "Encoding" refers to the process of compressing captured video data and converting it into a format suitable for data transfer.
[1064] A "server" refers to a processing unit that analyzes received data, estimates user behavior and emotions, and generates characters within the metaverse based on that information.
[1065] "Decoding" refers to the process of returning encoded data to its original format.
[1066] A "frame" refers to an individual still image within a video file, and when these frames are displayed in sequence, the video is recognized as a video.
[1067] "Posture" refers to the physical state of the user's body, such as its position and angle.
[1068] A "skeletal model" refers to three-dimensional shape data used to represent the user's posture.
[1069] "Facial expression data" refers to information such as the position and shape of each part of the user's face that is captured.
[1070] "Emotional data" refers to information that indicates the user's emotional state, obtained by analyzing facial expression data.
[1071] "Characters in the metaverse" refers to avatars that reflect the user's attitude and emotions in a virtual space.
[1072] "Motion data" refers to information about the actions performed by a character in the metaverse based on their skeletal model.
[1073] "Emotional data" refers to emotional information analyzed based on captured facial expression data.
[1074] "Re-encoding" refers to converting generated data back into a format that can be transferred again.
[1075] "Drawing" refers to displaying characters from the metaverse on the user's device screen.
[1076] "Confirmation" refers to the user visually verifying the results.
[1077] "Portable electronic devices" refer to portable computer devices such as smartphones and tablets.
[1078] This invention relates to a system that reflects a user's actions and emotions in real time onto a character in the metaverse. This system is realized by capturing the user's actions and emotions using the user's portable electronic device, processing that data on a server, and feeding it back to the user's terminal.
[1079] The system mainly consists of the following components:
[1080] 1. User terminal (portable electronic device, etc.)
[1081] 2. Server (Central Processing Unit)
[1082] 3. Camera (such as the built-in camera of a portable electronic device)
[1083] 4. Emotion Engine (Facial Expression Analysis Module)
[1084] User terminal
[1085] The user holds their mobile device steady and performs actions and facial expressions in front of the camera. For example, the user raises their hand and smiles. At this time, the camera on the mobile device captures the user's actions and facial expressions as a video. The captured video data is encoded in real time on the device and sent to the server via the internet.
[1086] server
[1087] The server decodes the video data sent from the user's terminal. For each decoded frame, it uses an image generation AI model (e.g., Mediapipe) to estimate the user's posture and generate a skeletal model of the user. Meanwhile, based on the captured facial expression data, it uses an emotion engine (e.g., a general facial expression analysis API) to analyze the user's emotions. The analyzed emotion data, along with the skeletal model, is reflected in the character's actions and expressions within the metaverse. The generated action and emotion data are then re-encoded and sent back to the user's terminal.
[1088] User terminal (reprocessing)
[1089] The user terminal decodes the behavior and emotion data sent from the server and renders a character in the metaverse. The rendered character responds to the user's behavior and emotions in real time. The user can view the character's movements and emotions in this virtual space through the screen of their mobile device or a connected external display.
[1090] Adding specific examples
[1091] 1. Motion and facial expression capture
[1092] The user positions their smartphone in the living room, raises their hand in front of the camera, and simultaneously smiles. The smartphone's camera records the action and facial expression, and the video data is sent to a server.
[1093] 2. Posture Estimation and Emotion Analysis
[1094] The server analyzes the received video and uses Mediapipe to calculate the position and angle of the user's hands. This generates a skeletal model of the user. Meanwhile, using a common facial expression analysis API, the emotion engine analyzes the user's facial expression data and recognizes smiles. This information is then generated as behavior and emotion data that is reflected in the character within the metaverse.
[1095] 3. Visualization of behavioral and emotional data
[1096] The user's device decodes the behavior and emotion data received from the server and renders a character in the metaverse on the smartphone screen. The user can see that their raised hand and smile are reflected in the character.
[1097] Example of a prompt
[1098] "The user is waving and smiling at the camera. Use an image generation AI model to estimate their posture and an expression analysis API to generate emotion data. Based on that data, reflect the actions and emotions in a character within the metaverse and provide feedback to the user's device."
[1099] Thus, the system of the present invention eliminates the need for specific, expensive devices, making it possible to easily experience the metaverse in real time using portable electronic devices. Because the user's actions and emotions are reflected in the virtual space in real time, it provides a more immersive and interactive experience.
[1100] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1101] Step 1:
[1102] Motion and facial expression capture
[1103] The user holds their mobile device steady and performs actions and facial expressions in front of the camera. For example, the user raises their hand and smiles.
[1104] The device's camera captures the user's movements and facial expressions as video in real time.
[1105] Input: User's actions and facial expressions
[1106] Output: Captured video data
[1107] Step 2:
[1108] Encoding video data
[1109] The device encodes the captured video data in real time. Specifically, it compresses the video data into H.264 format.
[1110] Input: Captured video data
[1111] Output: Encoded video data
[1112] Step 3:
[1113] Sending encoded data
[1114] The device sends the encoded video data to the server via the internet.
[1115] Input: Encoded video data
[1116] Output: Video data sent to the server
[1117] Step 4:
[1118] Decoding on the server side
[1119] The server decodes the encoded video data received from the user's terminal. Specifically, it performs a decoding process and extracts each frame as a separate image.
[1120] Input: Encoded video data
[1121] Output: Decoded frame image
[1122] Step 5:
[1123] Pose estimation and skeletal model generation
[1124] The server uses an image generation AI model to estimate the user's posture for each frame and generate a skeletal model of the user. For example, it uses Mediapipe to estimate the position and angle of the hands.
[1125] Input: Decoded frame image
[1126] Output: Generated skeletal model
[1127] Step 6:
[1128] Facial expression analysis and emotion data generation
[1129] The server uses a facial expression analysis engine to analyze facial expression data for each frame. For example, it can use a common facial expression analysis API to recognize the user's smile.
[1130] Input: Decoded frame image
[1131] Output: Generated emotion data
[1132] Step 7:
[1133] Generation of behavioral and emotional data
[1134] The server generates character behavior and emotion data within the metaverse based on the generated skeletal model and emotion data.
[1135] Input: Skeletal model and emotional data
[1136] Output: Behavioral and sentiment data
[1137] Step 8:
[1138] Data re-encoding and feedback
[1139] The server re-encodes the generated behavioral and emotional data and sends it to the user's terminal.
[1140] Input: Behavioral and emotional data
[1141] Output: Encoded feedback data
[1142] Step 9:
[1143] Decoding and display on the user terminal
[1144] The terminal decodes the encoded data sent from the server and renders the character within the metaverse.
[1145] Input: Encoded feedback data
[1146] Output: Rendered character in the metaverse
[1147] Step 10:
[1148] User verification
[1149] Users can confirm through their mobile device screen or external display that the character's actions and emotions are reflected in real time in response to their own actions and emotions.
[1150] Input: A character drawn in the metaverse
[1151] Output: Real-time feedback confirmation
[1152] (Application Example 2)
[1153] Next, we will explain application example 2. In the following explanation, 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."
[1154] Conventional methods for controlling characters within the metaverse are limited to reflecting only the user's actions, and are unable to reflect the user's facial expressions or emotions in real time. As a result, users cannot reflect their own emotions or expressions on the character, making it difficult to provide an immersive interactive experience. The present invention aims to provide a more advanced interactive experience by capturing the user's actions and facial expressions in real time and reflecting them on the character within the metaverse.
[1155] The specific processing performed 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 estimating the user's posture from received video data, means for generating a skeletal model of the user based on the estimated posture, means for analyzing the user's emotions based on captured facial expression data, and means for generating motion and facial expression data corresponding to a character in the metaverse based on the generated skeletal model and the analyzed emotional data. This makes it possible to reflect not only the user's actions but also their emotions and facial expressions in the character in the metaverse in real time.
[1156] "User actions" refer to the actions and gestures that a user performs by moving their body.
[1157] "Facial expression" refers to the emotions and reactions shown through the movement of the user's facial muscles.
[1158] "Capture" refers to acquiring video or image data using cameras or sensors.
[1159] "Video data" refers to moving image information composed of a series of image frames.
[1160] A "server" refers to a central processing unit used for data processing, management, and communication.
[1161] "Posture" refers to the arrangement and relative positions of the user's body.
[1162] A "skeletal model" refers to a data model that mimics the user's physical skeleton.
[1163] "Analyzing emotions" refers to estimating a user's emotional state based on their facial expression data.
[1164] "Metaverse" refers to the world of virtual space or virtual reality.
[1165] "Action data" refers to a digital representation of a user's actions.
[1166] "Facial expression data" refers to a digital representation of a user's facial expressions.
[1167] "To draw" refers to displaying images or videos on a screen or display.
[1168] This invention relates to a system that captures a user's actions and emotions in real time and reflects them in a character within the metaverse. The system mainly consists of a user terminal, a server, a camera, and an emotion engine.
[1169] User terminal
[1170] The user captures their movements and facial expressions using their smartphone. The smartphone's camera captures the user's movements and facial expressions as video data, and this video data is encoded in real time on the device. This encoded data is then transmitted to a server via the internet.
[1171] server
[1172] The server decodes the video data received from the user's terminal. For each decoded frame, it estimates the user's posture using a posture analysis algorithm. This estimation generates a skeletal model of the user. Meanwhile, the facial expression analysis module (emotion engine) analyzes the user's emotions based on the captured facial expression data. The analyzed emotion data is combined with the skeletal model and generated as motion and facial expression data corresponding to a character in the metaverse. The generated motion and facial expression data is re-encoded and sent to the user's terminal.
[1173] User terminal
[1174] The user terminal decodes the motion and facial expression data sent from the server. Based on the decoded data, it renders a character in the metaverse. The rendered character responds in real time to the user's actions and emotions, allowing the user to see the character's movements and emotions in the virtual space through their smartphone screen or a connected external display.
[1175] Hardware and software to be used
[1176] Hardware: Smartphones, servers
[1177] Software: Video capture libraries (e.g., OpenCV), server-side video processing APIs (e.g., FFmpeg), machine learning libraries (e.g., TensorFlow), facial expression analysis engines (e.g., Microsoft Azure Face API)
[1178] Examples of specific cases and prompt statements
[1179] For example, when a user smiles in front of their smartphone camera, the video data is captured in real time and sent to a server. The server analyzes the video data, recognizes the user's smile, and simultaneously generates a skeletal model. This analyzed data is encoded and sent to the user's device. The user's device decodes it and reflects it in a character within the metaverse. This allows viewers to instantly see the user's actual actions and emotions through the character in the metaverse.
[1180] Example of a prompt:
[1181] Please consider an application where, during a live stream, a user makes a smile in front of their smartphone camera, and that smile is reflected in real time on a character in the metaverse, allowing viewers to instantly see the change.
[1182] This system allows not only the user's actions but also their emotions to be reflected in the character within the metaverse in real time, enabling a more advanced interactive experience.
[1183] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1184] Step 1:
[1185] The user performs actions and makes facial expressions in front of their smartphone camera. The smartphone camera captures these actions and facial expressions as video data. This video data is encoded and sent to a server via the internet. The input is the video data from the smartphone camera, and the output is the encoded video data.
[1186] Step 2:
[1187] The server decodes the received encoded video data. The decoded video data is analyzed frame by frame, and user posture and facial expression data is extracted from each frame. The input is the encoded video data, and the output is the decoded data for each frame.
[1188] Step 3:
[1189] On the server, a posture analysis algorithm (e.g., OpenPose) is used to estimate the user's posture for each frame. A skeletal model of the user is generated from this estimated posture information. The input is the decoded frame-by-frame data, and the output is the user's skeletal model.
[1190] Step 4:
[1191] The server uses a facial expression analysis module (e.g., Microsoft Azure Face API) to analyze the decoded facial expression data for each frame. This analysis yields the user's emotion data. The input is the decoded facial expression data for each frame, and the output is the emotion data.
[1192] Step 5:
[1193] The server generates character movement and facial expression data within the metaverse based on the generated user skeletal model and analyzed emotion data. A generative AI model is used to integrate this data and generate the movement and facial expression data. The input is the user's skeletal model and emotion data, and the output is the movement and facial expression data.
[1194] Step 6:
[1195] The server encodes the generated motion and facial expression data and sends it to the user terminal. The input is the motion and facial expression data, and the output is the encoded motion and facial expression data.
[1196] Step 7:
[1197] The user terminal decodes the received encoded motion and facial expression data. Based on the decoded data, it renders a character in the metaverse. This rendering is done in real time, and the user can see the character's actions and emotions through their smartphone screen or a connected external display. The input is encoded motion and facial expression data, and the output is the rendered character in the metaverse.
[1198] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1199] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1200] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[1201] [Fourth Embodiment]
[1202] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[1203] As shown in Figure 7, the 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.
[1204] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1205] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[1206] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[1207] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[1208] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[1209] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive 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 robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[1210] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[1211] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[1212] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1213] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[1214] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1215] This invention relates to a system that reflects a user's actions in real time onto a character in the metaverse. This system is realized by capturing the user's actions using the user's smartphone (device), processing that data on a server, and feeding it back to the user's device.
[1216] System Configuration
[1217] The system mainly consists of the following components:
[1218] 1. User device (smartphone, etc.)
[1219] 2. Server (Central Processing Unit)
[1220] 3. Camera (such as the built-in camera on a smartphone)
[1221] Method overview
[1222] User terminal
[1223] The user holds their smartphone steady and performs actions in front of the camera. The smartphone's camera captures the user's actions as video. The captured video data is encoded in real time on the device and sent to a server via the internet.
[1224] server
[1225] The server decodes the video data sent from the user's terminal. For each decoded frame, it uses an image generation AI to estimate the user's posture and generates a skeletal model of the user. Based on this skeletal model, motion data for the character in the metaverse is generated. The generated motion data is re-encoded and sent back to the user's terminal.
[1226] User terminal
[1227] The user's terminal decodes the motion data sent from the server and renders a character in the metaverse. The rendered character responds to the user's actions in real time. The user can view the character's movements in this virtual space through their smartphone screen or a connected external display.
[1228] Specific example
[1229] 1. Motion Capture
[1230] The user positions their smartphone in the living room and raises their hand in front of the camera. The smartphone's camera records this action and sends the video data to the server.
[1231] 2. Pose Estimation and Skeletal Model Generation
[1232] The server analyzes the received video and calculates the position and angle of the user's hands. This generates a skeletal model of the user. Based on this skeletal model, motion data is generated that reflects the hand-raising motion onto the character in the metaverse.
[1233] 3. Drawing of motion data
[1234] The user's device decodes the motion data received from the server and renders a character in the metaverse on the smartphone screen. The user can then see that their raised hand motion is reflected in the character.
[1235] Thus, the system of the present invention eliminates the need for specific, expensive devices, making it possible to easily experience the metaverse in real time using a smartphone. The system processes user actions quickly and accurately, reflecting them in the virtual space and providing users with an immersive, interactive experience.
[1236] The following describes the processing flow.
[1237] Step 1:
[1238] The user holds their smartphone steady and stands in front of the camera. At this point, the user performs an action such as raising their hand.
[1239] Step 2:
[1240] The device (smartphone) captures the user's actions in real time as video using its camera. The captured video is temporarily stored in memory.
[1241] Step 3:
[1242] The device encodes the user's captured video data into a standard video compression format (such as H.264). The encoded video data is then sent to the server via the internet.
[1243] Step 4:
[1244] The server receives the encoded video data and decodes it. Analysis begins for each decoded video frame.
[1245] Step 5:
[1246] The server uses image generation AI to estimate the user's posture from the decoded video frames. Specifically, it identifies feature points (joint positions such as hands, elbows, and knees) in each frame and generates a skeletal model of the user based on these.
[1247] Step 6:
[1248] The server uses a skeletal model to map user actions to characters in the metaverse. For example, if the user raises their hand, it generates motion data so that the character's hand also raises. This motion data includes information about the position and movement of each part of the character.
[1249] Step 7:
[1250] The server encodes the character's movement data and sends it to the user's terminal.
[1251] Step 8:
[1252] The terminal decodes the operation data received from the server. Based on the decoded data, it prepares to visually render characters within the metaverse.
[1253] Step 9:
[1254] The device renders characters in the metaverse based on decoded behavioral data. The rendering uses either the smartphone screen or a connected external display.
[1255] Step 10:
[1256] Users view characters moving within the metaverse via their smartphones or external displays. Users can see their own actions reflected in the characters in real time.
[1257] A smooth and immersive metaverse experience is provided through a series of processes in which user movements are captured by a camera, analyzed on a server, converted into character movements, and displayed on the device in real time.
[1258] (Example 1)
[1259] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1260] In modern digital entertainment, there is a demand for technology that reflects user actions in virtual spaces and metaverses in real time. However, existing methods require expensive dedicated devices, making them unaffordable for the average user. Furthermore, while high-speed and accurate action recognition and real-time response are desired, there is a lack of efficient systems to achieve this. Given these problems, there is a need for a system that uses inexpensive devices, recognizes actions quickly and accurately, and reflects them in virtual characters in real time.
[1261] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[1262] In this invention, the server includes means for capturing the user's movements in real time using a camera, encoding the captured video data, and transmitting it to the server; means for decoding the received video data, estimating the user's posture using a generation AI model, and generating a skeletal model of the user based on the estimated posture; means for generating motion data corresponding to a character in the metaverse based on the generated skeletal model; means for encoding the generated motion data and transmitting it to the user terminal; and means for decoding the received motion data at the user terminal and rendering a character in the metaverse. This makes it possible to recognize the user's movements quickly and accurately using an inexpensive portable information terminal and reflect them in a character in the virtual space in real time.
[1263] A "user" is an individual who uses a system to capture their actions and have an interactive experience in a virtual space.
[1264] A "camera" is an image acquisition device that captures the user's actions in real time.
[1265] "Capture" refers to recording a user's actions as a video.
[1266] "Video data" is a series of images that represent the actions of a captured user.
[1267] "Encoding" refers to the process of efficiently compressing video data and converting it into a format that can be transmitted.
[1268] A "server" is a device that acts as a central processing unit, analyzing video data and performing calculations to reproduce user actions within a virtual space.
[1269] "Decoding" is the process of returning encoded data to its original format.
[1270] A "generative AI model" is an artificial intelligence model used to accurately estimate a user's posture from received video data.
[1271] "Posture estimation" is the process of calculating the position and angle of each joint in the user's movements.
[1272] A "skeletal model" is a virtual structure that represents the position of the user's joints and bones, generated based on posture estimation.
[1273] The "metaverse" is a virtual space in which users can participate.
[1274] "Motion data" refers to data used to represent the movements of a character in the metaverse based on a skeletal model.
[1275] A "user terminal" is a portable information device (such as a smartphone or tablet) owned by a user and used to interact with the system.
[1276] "Rendering" refers to the process of displaying characters from a virtual space on the user's terminal screen.
[1277] This invention relates to a system that reflects a user's actions onto a character in a virtual space in real time. This system is realized by capturing the user's actions using the user's mobile device, processing that data on a server, and feeding it back to the user's device.
[1278] System Configuration
[1279] The system mainly consists of the following components:
[1280] 1. User terminal (mobile information terminal, etc.)
[1281] 2. Server (Central Processing Unit)
[1282] 3. Camera (such as the built-in camera of a mobile device)
[1283] Method overview
[1284] User terminal
[1285] The user holds their mobile device in place and performs actions in front of the camera. The camera on the mobile device captures the user's actions as video. The captured video data is encoded in real time on the device and sent to a server via the internet. Software such as FFmpeg is used for encoding.
[1286] server
[1287] The server decodes the video data sent from the user's terminal. For decoding, for example, the Python OpenCV library is used. For each decoded video frame, an image generation AI model (e.g., OpenPose) is used to estimate the user's pose and generate a skeletal model of the user. Based on this skeletal model, motion data for a character in the metaverse is generated. The generated motion data is re-encoded and sent back to the user's terminal. Protocol Buffers or gRPC can be used for encoding at this stage.
[1288] User terminal
[1289] The user's terminal decodes the motion data sent from the server and renders the character in the metaverse. Game engines such as Unity or Unreal Engine are used for rendering. The rendered character responds to the user's actions in real time. The user can view the character's movements in this virtual space through their mobile device screen or a connected external display.
[1290] Specific example
[1291] 1. Motion Capture
[1292] The user places a mobile device in the living room and raises their hand in front of the camera. The camera on the mobile device records this action and sends the video data to the server.
[1293] 2. Pose Estimation and Skeletal Model Generation
[1294] The server analyzes the received video and calculates the position and angle of the user's hands. This generates a skeletal model of the user.
[1295] 3. Drawing of motion data
[1296] The user's device decodes the motion data received from the server and renders a character in the metaverse on the mobile device's screen. The user can then see that their raised hand motion is reflected in the character.
[1297] As described above, the system of the present invention eliminates the need for specific, expensive devices, making it possible to easily experience the metaverse in real time using a mobile information terminal. The system processes user actions quickly and accurately, reflecting them in the virtual space and providing users with an immersive, interactive experience.
[1298] Example of a prompt
[1299] "Please write a program prompt that estimates user actions in real time from video data and reflects them on a character in a virtual space. For example, when the user raises their hand in front of the camera, that action should be reflected in real time on the metaverse character."
[1300] This allows for a concrete understanding of how the system works.
[1301] The flow of the specific processing in Example 1 will be explained using Figure 11.
[1302] Step 1:
[1303] The user holds their mobile device in place and performs actions in front of the camera. For example, the user raises their hand in the living room. This results in video data that continuously records the user's actions. This video data serves as the input for motion capture.
[1304] Step 2:
[1305] The device uses the camera of the mobile device to capture the user's actions as video. Specifically, the camera captures a series of image frames in real time and saves them as video data. The captured video data is then output.
[1306] Step 3:
[1307] The terminal encodes the captured video data. Software such as FFmpeg is used for encoding. Specifically, the video data is compressed and converted into a format suitable for transmission. The encoded video data is then output.
[1308] Step 4:
[1309] The terminal sends the encoded video data to the server. This transmission may use an HTTP POST request. Specifically, the encoded data is sent to the server via the internet. The transmitted encoded video data is then input to the server.
[1310] Step 5:
[1311] The server receives video data sent from the user's terminal. The received data is in binary format and cannot be analyzed directly. This binary data serves as input.
[1312] Step 6:
[1313] The server uses the Python OpenCV library to decode the received video data. Specifically, it splits the binary video data into frames and obtains each frame as individual image data. The decoded image frames are then output.
[1314] Step 7:
[1315] The server estimates the user's pose for each decoded frame using a generating AI model. The AI model used here is OpenPose. Specifically, it identifies the user's joint positions from each image frame and estimates their pose. The estimated pose data is then output.
[1316] Step 8:
[1317] The server generates a skeletal model of the user based on estimated posture data. Specifically, it calculates the position and angle of the joints and constructs the skeletal model based on that. The generated skeletal model is then output.
[1318] Step 9:
[1319] The server generates motion data corresponding to the character in the metaverse based on the generated skeletal model. Specifically, it calculates the movement of the virtual character based on the information of each joint in the skeletal model. The generated motion data is then output.
[1320] Step 10:
[1321] The server re-encodes the generated operation data and sends it to the user terminal. Protocol Buffers or gRPC may be used for encoding. Specifically, the operation data is compressed into a transmittable format and sent to the user terminal via the internet. The transmitted encoded operation data is then input to the user terminal.
[1322] Step 11:
[1323] The user terminal decodes the operation data received from the server. Here too, libraries such as FFmpeg are used. Specifically, the encoded operation data is restored to its original format. The decoded operation data is then output.
[1324] Step 12:
[1325] The user's device renders a character in a virtual space using a game engine such as Unity or Unreal Engine, based on the decoded motion data. Specifically, it displays information about the virtual character's joints and movements on the screen in real time. Finally, the rendered character is output, and the user can check the character's movements on the screen of their mobile device or a connected external display.
[1326] Through each of the above steps, the system reflects the user's actions on the character in the virtual space in real time.
[1327] (Application Example 1)
[1328] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1329] Traditional virtual reality (VR) and augmented reality (AR) experiences required expensive, specialized equipment, making them difficult for the average user to access. Furthermore, technologies that reflected user actions in real-time onto virtual characters suffered from processing delays and accuracy issues, making it difficult to provide an immersive, interactive experience. Providing a realistic virtual store experience or product try-on experience also presented challenges.
[1330] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[1331] In this invention, the server includes means for capturing the user's movements in real time using a camera and transmitting the captured video data to the server; means for estimating the user's posture from the received video data and generating a skeletal model of the user based on the estimated posture; means for generating motion data corresponding to a character in a virtual space based on the generated skeletal model; means for transmitting the generated motion data to a user terminal and rendering the character in the virtual space on the user terminal; and means for the user to confirm their movements in the virtual space in real time. As a result, users can easily use mobile terminals such as smartphones to accurately reflect their movements onto a character in a virtual space in real time, enabling an immersive and interactive experience. Furthermore, it becomes possible to realistically try on products and experience real stores in the virtual space.
[1332] "User actions" refer to actions such as hand and body movements that a user performs in front of the camera.
[1333] A "camera" is a device used to capture video in real time.
[1334] "Real-time capture" means recording user actions instantly and without delay.
[1335] "Video data" refers to a series of image data that includes captured user actions.
[1336] A "server" is a central processing unit that processes data sent from user terminals and returns the results.
[1337] "Received video data" refers to captured video data acquired by the server from the user's terminal.
[1338] "Estimating user posture" means analyzing the position and angle of the user's body from video data.
[1339] A "skeletal model" is a data model that mimics the user's physical structure.
[1340] A "virtual space" is a virtual three-dimensional environment created by a computer.
[1341] A "character" is an avatar that acts as a representation of the user within a virtual space.
[1342] "Action data" refers to information about the movement of a character in a virtual space, which reflects the user's actions.
[1343] A "user terminal" refers to a mobile device such as a smartphone used for tasks like capturing images or drawing.
[1344] "Rendering" refers to displaying the actions of a character in a virtual space on the screen.
[1345] "Means of verification" refers to a method by which a user can visually confirm how their actions are reflected in their character within the virtual space.
[1346] "Trying on a product" means experiencing and wearing items such as clothing and accessories in a virtual space.
[1347] To implement this invention, the following system configuration is used.
[1348] System Configuration
[1349] The system mainly consists of the following components:
[1350] 1. User terminal (mobile device such as a smartphone)
[1351] 2. Server (Central Processing Unit)
[1352] 3. Camera (camera built into the mobile device)
[1353] Detailed explanation
[1354] User terminal
[1355] The user captures their actions using their smartphone. The smartphone's camera records the user's actions in front of the camera as video. The captured video data is encoded in real time and transmitted to a server via the internet.
[1356] server
[1357] The server receives and decodes video data sent from the user's terminal. For each decoded frame, it uses an image generation AI (e.g., OpenPose) to estimate the user's posture and generate a skeletal model of the user. Based on this skeletal model, motion data for the character in the virtual space is generated. The generated motion data is re-encoded and sent back to the user's terminal.
[1358] User terminal
[1359] The user terminal decodes the action data sent from the server and renders the character in the virtual space in real time. The user can configure how their actions are reflected in the character in the virtual space using prompt messages like the one shown below.
[1360] Hardware and software to be used
[1361] hardware
[1362] Smartphone (with camera)
[1363] Server (Central Processing Unit)
[1364] Internet connection
[1365] software
[1366] Real-time video capture application (for smartphones)
[1367] AI models for motion estimation (AI models on a server, e.g., OpenPose)
[1368] Data encoding / decoding module
[1369] Character movement engine in virtual space
[1370] Specific example
[1371] 1. Motion Capture: The user sets up their smartphone at home and performs actions such as trying on clothes in front of the camera. The smartphone's camera records these actions and sends the video data to the server.
[1372] 2. Pose estimation and skeletal model generation: The server analyzes the video, and a character in the virtual space performs similar movements based on the user's motion data.
[1373] 3. Motion Data Rendering: User actions are reflected in the character in real time, and a scene of trying on clothes is displayed in the virtual space.
[1374] Example of a prompt
[1375] "Analyze the user's camera feed in real time and reflect the same actions onto the avatar."
[1376] "When a user raises their hand, please generate motion data that reflects that action on the avatar in real time."
[1377] In this way, users can enjoy real-time and accurate experiences in virtual space using common mobile devices such as smartphones, without needing expensive dedicated equipment.
[1378] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1379] Step 1:
[1380] The user uses a smartphone to capture their actions with the camera. The smartphone's camera records the user's actions as a video in real time, and the video data is encoded. The input is the user's actions, and the output is the encoded video data.
[1381] Step 2:
[1382] A smartphone sends encoded video data to a server via the internet. The input is the encoded video data, and the output is the video data sent to the server.
[1383] Step 3:
[1384] The server decodes the received video data and divides it into individual frames. The input is the transmitted video data, and the output is the decoded image data for each frame.
[1385] Step 4:
[1386] The server analyzes the user's posture using an image generation AI (e.g., OpenPose) for each decoded frame, and generates posture data. The input is image data for each frame, and the output is the user's posture data.
[1387] Step 5:
[1388] The server generates a skeletal model of the user based on the generated posture data. The input is the user's posture data, and the output is the skeletal model.
[1389] Step 6:
[1390] The server generates character movement data in the virtual space based on the generated skeletal model. The input is the skeletal model, and the output is the character's movement data.
[1391] Step 7:
[1392] The server re-encodes the generated motion data and sends it to the user's terminal. The input is the character's motion data, and the output is the encoded motion data.
[1393] Step 8:
[1394] The user terminal decodes the motion data sent from the server and renders the character in the virtual space in real time. The input is the encoded motion data, and the output is the motion of the character rendered in the virtual space.
[1395] Step 9:
[1396] The user observes the movements of a character in a virtual space. The input is the movement of the character rendered in the virtual space, and the output is the user's visual confirmation.
[1397] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1398] This invention relates to a system that reflects a user's actions and emotions in real time onto a character in the metaverse. This system is realized by capturing the user's actions and emotions using the user's smartphone (device), processing that data on a server, and feeding it back to the user's device.
[1399] System Configuration
[1400] The system mainly consists of the following components:
[1401] 1. User device (smartphone, etc.)
[1402] 2. Server (Central Processing Unit)
[1403] 3. Camera (such as the built-in camera on a smartphone)
[1404] 4. Emotion Engine (Facial Expression Analysis Module)
[1405] Method overview
[1406] User terminal
[1407] The user holds their smartphone steady and performs actions and makes facial expressions in front of the camera. The smartphone's camera captures the user's actions and facial expressions as video. The captured video data is encoded in real time on the device and transmitted to a server via the internet.
[1408] server
[1409] The server decodes the video data sent from the user's terminal. For each decoded frame, an image generation AI is used to estimate the user's posture and generate a skeletal model of the user. Meanwhile, an emotion engine analyzes the user's emotions based on the captured facial expression data. The analyzed emotion data, along with the skeletal model, is reflected in the actions and expressions of the character in the metaverse. The generated action and emotion data are then re-encoded and sent back to the user's terminal.
[1410] User terminal
[1411] The user's terminal decodes the behavior and emotion data sent from the server and renders a character in the metaverse. The rendered character responds to the user's behavior and emotions in real time. The user can view the character's movements and emotions in this virtual space through their smartphone screen or a connected external display.
[1412] Specific example
[1413] 1. Motion and facial expression capture
[1414] The user positions their smartphone in the living room and raises their hand in front of the camera while simultaneously making a smile. The smartphone's camera records the action and facial expression, and the video data is sent to a server.
[1415] 2. Posture Estimation and Emotion Analysis
[1416] The server analyzes the received video to calculate the position and angle of the user's hands. This generates a skeletal model of the user. Meanwhile, the emotion engine analyzes the user's facial expression data and recognizes smiles. This information is then generated as behavioral and emotional data that is reflected in the character within the metaverse.
[1417] 3. Visualization of behavioral and emotional data
[1418] The user's device decodes the behavior and emotion data received from the server and renders a character in the metaverse on the smartphone screen. The user can see that their raised hand and smile are reflected in the character.
[1419] Thus, the system of the present invention eliminates the need for specific, expensive devices, making it possible to easily experience the metaverse in real time using a smartphone. Since the user's actions and emotions are reflected in the virtual space in real time, it provides a more immersive and interactive experience.
[1420] The following describes the processing flow.
[1421] Step 1:
[1422] The user holds their smartphone steady and stands in front of the camera. The user makes gestures such as raising their hand or making facial expressions such as smiling.
[1423] Step 2:
[1424] The device (smartphone) captures the user's movements and facial expressions in real time as video using its camera. The captured video is temporarily stored in memory.
[1425] Step 3:
[1426] The device encodes the user's captured video data into a standard video compression format (such as H.264). The encoded video data is then sent to the server via the internet.
[1427] Step 4:
[1428] The server receives the encoded video data and decodes it. Analysis begins for each decoded video frame.
[1429] Step 5:
[1430] The server uses image generation AI to estimate the user's posture from the decoded video frames. Specifically, it identifies feature points (joint positions such as hands, elbows, and knees) in each frame and generates a skeletal model of the user based on these.
[1431] Step 6:
[1432] The server simultaneously uses an emotion engine to analyze the user's facial expressions from the decoded video frames. The emotion engine analyzes facial feature points and recognizes the user's emotions (e.g., smile, anger, sadness, etc.).
[1433] Step 7:
[1434] The server uses the skeletal model and emotion engine to recognize emotion data, which then maps the user's actions and emotions to characters in the metaverse. For example, if the user raises their hand and smiles, the server generates action data and facial expression data for the character to also raise their hand and smile. This data includes information about the position and movement of each part of the character, as well as facial expressions.
[1435] Step 8:
[1436] The server encodes the generated character's movements and facial expressions and sends them to the user's terminal.
[1437] Step 9:
[1438] The terminal decodes the motion and facial expression data received from the server. Based on the decoded data, it prepares to visually render the character in the metaverse.
[1439] Step 10:
[1440] The device renders characters in the metaverse based on decoded motion and facial expression data. The characters, rendered on the smartphone screen or a connected external display, respond in real time to the user's actions and emotional expressions.
[1441] Step 11:
[1442] Users view characters moving within the metaverse via their smartphones or external displays. Users can see their own actions and facial expressions reflected in the characters in real time.
[1443] Through the above process, the user's actions and emotions are reflected in the character within the metaverse in real time, providing an immersive and interactive experience.
[1444] (Example 2)
[1445] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1446] In current metaverse systems, accurately reflecting user actions and emotions in real time requires expensive specialized equipment and complex settings. This creates a high barrier to entry for general users, while using simpler devices results in low accuracy in recognizing actions and emotions. Furthermore, the delay in real-time reflection of actions and emotions is also a problem.
[1447] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[1448] In this invention, the server includes means for capturing the user's movements and facial expressions in real time using a camera and encoding the captured video data; means for transmitting the encoded video data to the server; means for decoding the received video data on the server, estimating the user's posture for each frame, and generating a skeletal model; means for analyzing the facial expression data for each frame on the server and generating emotion data; means for generating movement and emotion data corresponding to a character in the metaverse based on the generated skeletal model and emotion data; means for re-encoding and transmitting the generated movement and emotion data to the user terminal; means for decoding the movement and emotion data received from the server on the user terminal and rendering a character in the metaverse; and means for the user to be able to check the character's movements and emotions in real time.
[1449] This makes it possible to accurately reflect a user's actions and emotions in the metaverse in real time using a standard portable electronic device. This eliminates the need for expensive dedicated equipment, allowing more users to easily enjoy an immersive metaverse experience.
[1450] A "user" refers to a person who uses the system to reflect their own actions and emotions within the metaverse.
[1451] "Motion and facial expressions" refers to the physical movements and facial expressions that the user makes in front of the camera.
[1452] A "camera" refers to a device used to capture a user's movements and facial expressions in real time.
[1453] "Real-time" refers to a process where processing and updates occur with minimal delay, almost simultaneously.
[1454] "Capture" refers to the process where a camera records a user's actions and facial expressions as video data.
[1455] "Encoding" refers to the process of compressing captured video data and converting it into a format suitable for data transfer.
[1456] A "server" refers to a processing unit that analyzes received data, estimates user behavior and emotions, and generates characters within the metaverse based on that information.
[1457] "Decoding" refers to the process of returning encoded data to its original format.
[1458] A "frame" refers to an individual still image within a video file, and when these frames are displayed in sequence, the video is recognized as a video.
[1459] "Posture" refers to the physical state of the user's body, such as its position and angle.
[1460] A "skeletal model" refers to three-dimensional shape data used to represent the user's posture.
[1461] "Facial expression data" refers to information such as the position and shape of each part of the user's face that is captured.
[1462] "Emotional data" refers to information that indicates the user's emotional state, obtained by analyzing facial expression data.
[1463] "Characters in the metaverse" refers to avatars that reflect the user's attitude and emotions in a virtual space.
[1464] "Motion data" refers to information about the actions performed by a character in the metaverse based on their skeletal model.
[1465] "Emotional data" refers to emotional information analyzed based on captured facial expression data.
[1466] "Re-encoding" refers to converting generated data back into a format that can be transferred again.
[1467] "Drawing" refers to displaying characters from the metaverse on the user's device screen.
[1468] "Confirmation" refers to the user visually verifying the results.
[1469] "Portable electronic devices" refer to portable computer devices such as smartphones and tablets.
[1470] This invention relates to a system that reflects a user's actions and emotions in real time onto a character in the metaverse. This system is realized by capturing the user's actions and emotions using the user's portable electronic device, processing that data on a server, and feeding it back to the user's terminal.
[1471] The system mainly consists of the following components:
[1472] 1. User terminal (portable electronic device, etc.)
[1473] 2. Server (Central Processing Unit)
[1474] 3. Camera (such as the built-in camera of a portable electronic device)
[1475] 4. Emotion Engine (Facial Expression Analysis Module)
[1476] User terminal
[1477] The user holds their mobile device steady and performs actions and facial expressions in front of the camera. For example, the user raises their hand and smiles. At this time, the camera on the mobile device captures the user's actions and facial expressions as a video. The captured video data is encoded in real time on the device and sent to the server via the internet.
[1478] server
[1479] The server decodes the video data sent from the user's terminal. For each decoded frame, it uses an image generation AI model (e.g., Mediapipe) to estimate the user's posture and generate a skeletal model of the user. Meanwhile, based on the captured facial expression data, it uses an emotion engine (e.g., a general facial expression analysis API) to analyze the user's emotions. The analyzed emotion data, along with the skeletal model, is reflected in the character's actions and expressions within the metaverse. The generated action and emotion data are then re-encoded and sent back to the user's terminal.
[1480] User terminal (reprocessing)
[1481] The user terminal decodes the behavior and emotion data sent from the server and renders a character in the metaverse. The rendered character responds to the user's behavior and emotions in real time. The user can view the character's movements and emotions in this virtual space through the screen of their mobile device or a connected external display.
[1482] Adding specific examples
[1483] 1. Motion and facial expression capture
[1484] The user positions their smartphone in the living room, raises their hand in front of the camera, and simultaneously smiles. The smartphone's camera records the action and facial expression, and the video data is sent to a server.
[1485] 2. Posture Estimation and Emotion Analysis
[1486] The server analyzes the received video and uses Mediapipe to calculate the position and angle of the user's hands. This generates a skeletal model of the user. Meanwhile, using a common facial expression analysis API, the emotion engine analyzes the user's facial expression data and recognizes smiles. This information is then generated as behavior and emotion data that is reflected in the character within the metaverse.
[1487] 3. Visualization of behavioral and emotional data
[1488] The user's device decodes the behavior and emotion data received from the server and renders a character in the metaverse on the smartphone screen. The user can see that their raised hand and smile are reflected in the character.
[1489] Example of a prompt
[1490] "The user is waving and smiling at the camera. Use an image generation AI model to estimate their posture and an expression analysis API to generate emotion data. Based on that data, reflect the actions and emotions in a character within the metaverse and provide feedback to the user's device."
[1491] Thus, the system of the present invention eliminates the need for specific, expensive devices, making it possible to easily experience the metaverse in real time using portable electronic devices. Because the user's actions and emotions are reflected in the virtual space in real time, it provides a more immersive and interactive experience.
[1492] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1493] Step 1:
[1494] Motion and facial expression capture
[1495] The user holds their mobile device steady and performs actions and facial expressions in front of the camera. For example, the user raises their hand and smiles.
[1496] The device's camera captures the user's movements and facial expressions as video in real time.
[1497] Input: User's actions and facial expressions
[1498] Output: Captured video data
[1499] Step 2:
[1500] Encoding video data
[1501] The device encodes the captured video data in real time. Specifically, it compresses the video data into H.264 format.
[1502] Input: Captured video data
[1503] Output: Encoded video data
[1504] Step 3:
[1505] Sending encoded data
[1506] The device sends the encoded video data to the server via the internet.
[1507] Input: Encoded video data
[1508] Output: Video data sent to the server
[1509] Step 4:
[1510] Decoding on the server side
[1511] The server decodes the encoded video data received from the user's terminal. Specifically, it performs a decoding process and extracts each frame as a separate image.
[1512] Input: Encoded video data
[1513] Output: Decoded frame image
[1514] Step 5:
[1515] Pose estimation and skeletal model generation
[1516] The server uses an image generation AI model to estimate the user's posture for each frame and generate a skeletal model of the user. For example, it uses Mediapipe to estimate the position and angle of the hands.
[1517] Input: Decoded frame image
[1518] Output: Generated skeletal model
[1519] Step 6:
[1520] Facial expression analysis and emotion data generation
[1521] The server uses a facial expression analysis engine to analyze facial expression data for each frame. For example, it can use a common facial expression analysis API to recognize the user's smile.
[1522] Input: Decoded frame image
[1523] Output: Generated emotion data
[1524] Step 7:
[1525] Generation of behavioral and emotional data
[1526] The server generates character behavior and emotion data within the metaverse based on the generated skeletal model and emotion data.
[1527] Input: Skeletal model and emotional data
[1528] Output: Behavioral and sentiment data
[1529] Step 8:
[1530] Data re-encoding and feedback
[1531] The server re-encodes the generated behavioral and emotional data and sends it to the user's terminal.
[1532] Input: Behavioral and emotional data
[1533] Output: Encoded feedback data
[1534] Step 9:
[1535] Decoding and display on the user terminal
[1536] The terminal decodes the encoded data sent from the server and renders the character within the metaverse.
[1537] Input: Encoded feedback data
[1538] Output: Rendered character in the metaverse
[1539] Step 10:
[1540] User verification
[1541] Users can confirm through their mobile device screen or external display that the character's actions and emotions are reflected in real time in response to their own actions and emotions.
[1542] Input: A character drawn in the metaverse
[1543] Output: Real-time feedback confirmation
[1544] (Application Example 2)
[1545] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1546] Conventional methods for controlling characters within the metaverse are limited to reflecting only the user's actions, and are unable to reflect the user's facial expressions or emotions in real time. As a result, users cannot reflect their own emotions or expressions on the character, making it difficult to provide an immersive interactive experience. The present invention aims to provide a more advanced interactive experience by capturing the user's actions and facial expressions in real time and reflecting them on the character within the metaverse.
[1547] The specific processing performed 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 estimating the user's posture from received video data, means for generating a skeletal model of the user based on the estimated posture, means for analyzing the user's emotions based on captured facial expression data, and means for generating motion and facial expression data corresponding to a character in the metaverse based on the generated skeletal model and the analyzed emotional data. This makes it possible to reflect not only the user's actions but also their emotions and facial expressions in the character in the metaverse in real time.
[1548] "User actions" refer to the actions and gestures that a user performs by moving their body.
[1549] "Facial expression" refers to the emotions and reactions shown through the movement of the user's facial muscles.
[1550] "Capture" refers to acquiring video or image data using cameras or sensors.
[1551] "Video data" refers to moving image information composed of a series of image frames.
[1552] A "server" refers to a central processing unit used for data processing, management, and communication.
[1553] "Posture" refers to the arrangement and relative positions of the user's body.
[1554] A "skeletal model" refers to a data model that mimics the user's physical skeleton.
[1555] "Analyzing emotions" refers to estimating a user's emotional state based on their facial expression data.
[1556] "Metaverse" refers to the world of virtual space or virtual reality.
[1557] "Action data" refers to a digital representation of a user's actions.
[1558] "Facial expression data" refers to a digital representation of a user's facial expressions.
[1559] "To draw" refers to displaying images or videos on a screen or display.
[1560] This invention relates to a system that captures a user's actions and emotions in real time and reflects them in a character within the metaverse. The system mainly consists of a user terminal, a server, a camera, and an emotion engine.
[1561] User terminal
[1562] The user captures their movements and facial expressions using their smartphone. The smartphone's camera captures the user's movements and facial expressions as video data, and this video data is encoded in real time on the device. This encoded data is then transmitted to a server via the internet.
[1563] server
[1564] The server decodes the video data received from the user's terminal. For each decoded frame, it estimates the user's posture using a posture analysis algorithm. This estimation generates a skeletal model of the user. Meanwhile, the facial expression analysis module (emotion engine) analyzes the user's emotions based on the captured facial expression data. The analyzed emotion data is combined with the skeletal model and generated as motion and facial expression data corresponding to a character in the metaverse. The generated motion and facial expression data is re-encoded and sent to the user's terminal.
[1565] User terminal
[1566] The user terminal decodes the motion and facial expression data sent from the server. Based on the decoded data, it renders a character in the metaverse. The rendered character responds in real time to the user's actions and emotions, allowing the user to see the character's movements and emotions in the virtual space through their smartphone screen or a connected external display.
[1567] Hardware and software to be used
[1568] Hardware: Smartphones, servers
[1569] Software: Video capture libraries (e.g., OpenCV), server-side video processing APIs (e.g., FFmpeg), machine learning libraries (e.g., TensorFlow), facial expression analysis engines (e.g., Microsoft Azure Face API)
[1570] Examples of specific cases and prompt statements
[1571] For example, when a user smiles in front of their smartphone camera, the video data is captured in real time and sent to a server. The server analyzes the video data, recognizes the user's smile, and simultaneously generates a skeletal model. This analyzed data is encoded and sent to the user's device. The user's device decodes it and reflects it in a character within the metaverse. This allows viewers to instantly see the user's actual actions and emotions through the character in the metaverse.
[1572] Example of a prompt:
[1573] Please consider an application where, during a live stream, a user makes a smile in front of their smartphone camera, and that smile is reflected in real time on a character in the metaverse, allowing viewers to instantly see the change.
[1574] This system allows not only the user's actions but also their emotions to be reflected in the character within the metaverse in real time, enabling a more advanced interactive experience.
[1575] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1576] Step 1:
[1577] The user performs actions and makes facial expressions in front of their smartphone camera. The smartphone camera captures these actions and facial expressions as video data. This video data is encoded and sent to a server via the internet. The input is the video data from the smartphone camera, and the output is the encoded video data.
[1578] Step 2:
[1579] The server decodes the received encoded video data. The decoded video data is analyzed frame by frame, and user posture and facial expression data is extracted from each frame. The input is the encoded video data, and the output is the decoded data for each frame.
[1580] Step 3:
[1581] On the server, a posture analysis algorithm (e.g., OpenPose) is used to estimate the user's posture for each frame. A skeletal model of the user is generated from this estimated posture information. The input is the decoded frame-by-frame data, and the output is the user's skeletal model.
[1582] Step 4:
[1583] The server uses a facial expression analysis module (e.g., Microsoft Azure Face API) to analyze the decoded facial expression data for each frame. This analysis yields the user's emotion data. The input is the decoded facial expression data for each frame, and the output is the emotion data.
[1584] Step 5:
[1585] The server generates character movement and facial expression data within the metaverse based on the generated user skeletal model and analyzed emotion data. A generative AI model is used to integrate this data and generate the movement and facial expression data. The input is the user's skeletal model and emotion data, and the output is the movement and facial expression data.
[1586] Step 6:
[1587] The server encodes the generated motion and facial expression data and sends it to the user terminal. The input is the motion and facial expression data, and the output is the encoded motion and facial expression data.
[1588] Step 7:
[1589] The user terminal decodes the received encoded motion and facial expression data. Based on the decoded data, it renders a character in the metaverse. This rendering is done in real time, and the user can see the character's actions and emotions through their smartphone screen or a connected external display. The input is encoded motion and facial expression data, and the output is the rendered character in the metaverse.
[1590] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1591] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1592] 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 this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[1593] Furthermore, the emotion identification model 59, acting 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 a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1594] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[1595] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[1596] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[1597] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[1598] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is 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 the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[1599] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[1600] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[1601] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[1602] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[1603] 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.
[1604] Furthermore, it is not necessary to store the entirety 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 the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[1605] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[1606] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of 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). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[1607] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[1608] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[1609] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[1610] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[1611] The following is further disclosed regarding the embodiments described above.
[1612] (Claim 1)
[1613] The camera captures the user's movements in real time.
[1614] A means of sending the captured video data to the server,
[1615] On the server, the user's posture is estimated from the received video data.
[1616] Means for generating a user's skeletal model based on estimated posture,
[1617] A means for generating motion data corresponding to a character in the metaverse based on the generated skeletal model,
[1618] The generated operation data is sent to the user terminal.
[1619] A means for rendering characters in the metaverse on the user terminal,
[1620] A system that includes this.
[1621] (Claim 2)
[1622] A means for generating a user's skeletal model based on real-time captured video data, and for generating character motion data in the metaverse based on that skeletal model,
[1623] The system according to claim 1, characterized in that it includes means for transmitting operation data to a user terminal and displaying a character in the metaverse on the user terminal.
[1624] (Claim 3)
[1625] The system according to claim 1, characterized in that the camera for capturing the user's actions is comprised of a smartphone.
[1626] "Example 1"
[1627] (Claim 1)
[1628] The camera captures the user's movements in real time.
[1629] A means of encoding the captured video data and sending it to the server,
[1630] On the server, the received video data is decoded, and the user's posture is estimated using a generative AI model.
[1631] Means for generating a user's skeletal model based on estimated posture,
[1632] A means for generating motion data corresponding to a character in the metaverse based on the generated skeletal model,
[1633] A means for encoding the generated operation data and sending it to the user terminal,
[1634] A means for decoding the received motion data on the user terminal and rendering a character in the metaverse,
[1635] A system that includes this.
[1636] (Claim 2)
[1637] A means for generating a user's skeletal model based on real-time captured video data, and for generating character motion data in the metaverse based on that skeletal model,
[1638] The system according to claim 1, characterized in that it includes means for transmitting operation data to a user terminal and displaying a character in the metaverse on the user terminal.
[1639] (Claim 3)
[1640] The system according to claim 1, characterized in that the camera for capturing the user's actions is configured as a personal digital assistant.
[1641] "Application Example 1"
[1642] (Claim 1)
[1643] The camera captures the user's movements in real time.
[1644] A means of sending the captured video data to the server,
[1645] On the server, the user's posture is estimated from the received video data.
[1646] Means for generating a user's skeletal model based on estimated posture,
[1647] A means for generating motion data corresponding to a character in a virtual space based on the generated skeletal model,
[1648] The generated operation data is sent to the user terminal.
[1649] A means for rendering a character in a virtual space on the user terminal,
[1650] A means for users to check their actions in the virtual space in real time,
[1651] A system that includes this.
[1652] (Claim 2)
[1653] A means for generating a user's skeletal model based on real-time captured video data, and for generating character movement data in a virtual space based on that skeletal model,
[1654] A means of sending motion data to the user terminal and displaying a character in a virtual space on the user terminal,
[1655] A means for users to try on products in a virtual space in real time,
[1656] The system according to claim 1, characterized by including the following:
[1657] (Claim 3)
[1658] The system according to claim 1, characterized in that a camera for capturing the user's actions is configured on a mobile terminal.
[1659] "Example 2 of combining an emotion engine"
[1660] (Claim 1)
[1661] The camera captures the user's movements and facial expressions in real time.
[1662] A means of encoding the captured video data,
[1663] A means of sending encoded video data to a server,
[1664] The server includes means for decoding the received video data, estimating the user's posture for each frame, and generating a skeletal model.
[1665] On the server, a means for analyzing facial expression data for each frame and generating emotion data,
[1666] A means for generating behavior and emotion data corresponding to a character in the metaverse based on the generated skeletal model and emotion data,
[1667] A means for re-encoding and transmitting the generated behavioral and emotional data to the user terminal,
[1668] A means for decoding the behavior and emotion data received from the server on the user terminal and rendering the character in the metaverse,
[1669] A means for users to see the character's actions and emotions in real time,
[1670] A system that includes this.
[1671] (Claim 2)
[1672] A means for generating a user's skeletal model and emotion data based on real-time captured video data, and for generating the actions and emotions of a character in the metaverse based on that data,
[1673] The system according to claim 1, further comprising means for transmitting behavioral and emotional data to a user terminal and displaying a character in the metaverse on the user terminal.
[1674] (Claim 3)
[1675] The system according to claim 1, characterized in that the camera for capturing the user's movements and facial expressions is comprised of a portable electronic device.
[1676] "Application example 2 when combining with an emotional engine"
[1677] (Claim 1)
[1678] The camera captures the user's movements and facial expressions in real time.
[1679] A means of sending the captured video data to the server,
[1680] On the server, the user's posture is estimated from the received video data.
[1681] Means for generating a user's skeletal model based on estimated posture,
[1682] A method for analyzing user emotions based on captured facial data,
[1683] A means for generating motion and facial expression data corresponding to a character in the metaverse, based on the generated skeletal model and analyzed emotional data,
[1684] The generated motion and facial expression data is sent to the user terminal.
[1685] A means for rendering characters in the metaverse on the user terminal,
[1686] A system that includes this.
[1687] (Claim 2)
[1688] A means for generating a user's skeletal model and emotional data based on real-time captured video data, and for generating character movement and facial expression data in the metaverse based on that skeletal model and emotional data,
[1689] The system according to claim 1, further comprising means for transmitting motion and facial expression data to a user terminal and displaying a character in the metaverse on the user terminal.
[1690] (Claim 3)
[1691] The system according to claim 1, characterized in that the camera for capturing the user's movements and facial expressions is comprised of a smartphone. [Explanation of Symbols]
[1692] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. The camera captures the user's movements in real time. A means of sending the captured video data to the server, On the server, the user's posture is estimated from the received video data. Means for generating a user's skeletal model based on estimated posture, A means for generating motion data corresponding to a character in the metaverse based on the generated skeletal model, The generated operation data is sent to the user terminal. A means for rendering characters in the metaverse on the user terminal, A system that includes this.
2. A means for generating a user's skeletal model based on real-time captured video data, and for generating character motion data in the metaverse based on that skeletal model, The system according to claim 1, characterized in that it includes means for transmitting operation data to a user terminal and displaying a character in the metaverse on the user terminal.
3. The system according to claim 1, characterized in that the camera for capturing the user's actions is configured as a smartphone.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A