System

A system that collects, analyzes, and generates dance choreography using AI models addresses the challenges faced by choreographers, enabling easy incorporation of global trends and continuous improvement.

JP2026027978APending Publication Date: 2026-02-19SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024130276
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-06
Publication Date
2026-02-19

AI Technical Summary

Technical Problem

Choreographers face challenges in creating innovative and diverse dance choreography due to limited resources and time, difficulty in incorporating global dance trends, and maintaining a competitive edge, especially in meeting fan expectations.

Method used

A system that collects dance videos worldwide, analyzes posture and music data using algorithms, classifies and filters data based on genre and style, and generates new choreography using generative adversarial networks and recurrent neural networks, providing users with visual feedback for continuous improvement.

Benefits of technology

Enables easy incorporation of the latest dance trends and techniques, reducing the burden on choreographers while maintaining a competitive edge by generating high-quality, diverse, and innovative choreography.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026027978000001_ABST
    Figure 2026027978000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: A system comprising: means for collecting dance videos of all over the world; means for analyzing the collected dance videos to extract posture and music data; means for classifying and filtering data based on a genre and a style of a dance based on an analysis result; means for generating a new dance choreography using the classified and filtered data; and means for providing the generated dance choreography to a user.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The technology of the present disclosure relates to a system. [Background technology]

[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]

[0004] To remain competitive on the global stage, idol groups must constantly deliver new and unique dance performances. However, choreographers have limited resources and time, making it difficult to create innovative and diverse choreography. It is also not easy to keep up with global dance trends. Furthermore, to meet fan expectations, they need to incorporate the latest dance styles and techniques, but gathering this information and incorporating it into their choreography requires a significant amount of effort. [Means for solving the problem]

[0005] To solve this problem, the present invention provides a system that includes the following means: First, a means for collecting dance videos from around the world is provided. Next, a means for analyzing these videos to extract posture and music data is provided. A posture estimation algorithm and a music analysis tool are used to perform a highly accurate analysis. Furthermore, a means for classifying and filtering data based on the analysis results based on dance genre and style is provided. This allows data with characteristics that best match the idol group's branding to be selected. Furthermore, a generative adversarial network or a recurrent neural network is used as a means for generating new dance choreography using the classified and filtered data. Finally, a means for providing the generated choreography to users is provided. This system allows users to easily incorporate the latest dance trends and techniques, reducing the burden on choreographers while maintaining the idol group's competitive edge.

[0006] A "dance video" is a video recording of a dance performance.

[0007] "Means of collection" refers to the mechanisms or methods used to collect specific data or information.

[0008] "Means of analysis" are techniques and processes for breaking down data or information and examining its contents.

[0009] A "pose estimation algorithm" is a computational method for identifying the positions of a person's joints and bones in a video.

[0010] A "music analysis tool" is software or algorithms used to analyze elements such as rhythm, tempo, and melody in music data.

[0011] A "data classification means" is a mechanism for grouping data based on specific criteria.

[0012] A "filtering means" is a method for selecting data that meets specific conditions.

[0013] A generative adversarial network (GAN) is a type of neural network model used for data generation, in which two networks compete to generate high-quality data.

[0014] A "recurrent neural network (RNN)" is a neural network model that specializes in processing sequence data and has the ability to handle time-series data.

[0015] "Means of providing to users" refers to the mechanism by which the generated data and information is delivered to users in a form that they can use. [Brief explanation of the drawings]

[0016] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9]1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION

[0017] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.

[0018] First, the terms used in the following description will be explained.

[0019] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).

[0020] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.

[0021] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.

[0022] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.

[0023] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."

[0024] [First embodiment]

[0025] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0026] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0027] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0028] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.

[0029] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[0030] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0031] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.

[0032] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0033] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0034] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0035] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0036] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0037] MODE FOR CARRYING OUT THE INVENTION

[0038] Overall system configuration

[0039] The system of the present invention is composed of the following main modules to generate and propose optimal dance choreography for idol groups.

[0040] 1. Video Collection Module

[0041] 2. Video Analysis Module

[0042] 3. Data Classification and Filtering Module

[0043] 4. Choreography Generation Module

[0044] 5. User-Contributed Modules

[0045] Video Collection Module

[0046] The server collects video data through APIs from platforms rich in dance videos, such as YouTube, TikTok, and Instagram. This module uses automated scripts and API calls to search for and download videos based on keywords such as "dance" and "trend." The collected video data is then stored in a database along with metadata (e.g., title, tags, and view counts).

[0047] Video Analysis Module

[0048] The server analyzes the stored video data using the following two techniques:

[0049] Pose estimation algorithms: For example, OpenPose or MoveNet are used to identify the positions of a person's joints and skeleton in a video and extract their movements.

[0050] Music analysis tool: Analyzes the tempo and rhythm of music to evaluate the synchronization of dance movements with music.

[0051] The analysis results are stored in a database as structured data (e.g., JSON format).

[0052] Data Classification and Filtering Module

[0053] The server categorizes the data based on the analysis results, such as dance genre, style, and difficulty level. It then filters the data based on the idol group's branding characteristics (e.g., youthful, lively, energetic, sexy, etc.). This filtering allows the data to be selected that best meets the user's needs.

[0054] Choreography generation module

[0055] The server uses the filtered data as input to generate new dance choreography using an AI model (e.g., a generative adversarial network (GAN) or a recurrent neural network (RNN). The generated choreography is expressed as a sequence of movements, including specific movement details (e.g., posture, speed, and angle). The generated results are stored in a database and prepared for presentation to users.

[0056] User-Contributed Modules

[0057] The terminal (user's device) receives new choreography data provided by the server and visualizes it on a UI. This UI displays the choreography using 3D models and animations, providing an interface for users to check and adjust the movements. Users can also send feedback to the server via their terminal. This feedback is used to improve the AI ​​model, continuously improving the quality of the choreography.

[0058] Specific examples

[0059] Youthful dance choreography

[0060] 1. The server collects videos tagged with "Youth Dance" from YouTube.

[0061] 2. The server uses OpenPose to analyze the dancer's joint positions in the video and extracts the tempo of the music using a rhythm analysis tool.

[0062] 3. The server filters the data using keywords such as "youth," "lively," and "pop."

[0063] 4. The server generates new youthful dance choreography based on the filtered data using GAN.

[0064] 5. The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[0065] Energetic performance

[0066] 1. The server collects videos tagged as "energetic" from TikTok.

[0067] 2. The server analyzes the rhythm of the music using a video music analysis tool and extracts the dancer's movements using a posture estimation algorithm.

[0068] 3. The server filters the data for keywords such as "energetic" and "high-tempo."

[0069] 4. The server generates new energetic choreography using the RNN.

[0070] 5. The device displays an interface that visualizes the generated choreography and allows the user to provide feedback.

[0071] Using this system, users can easily incorporate the latest dance trends and create diverse and innovative choreography.

[0072] The processing flow will be explained below.

[0073] Program processing flow

[0074] Specific processing steps will be explained below in order.

[0075] Step 1: Collect video data

[0076] server:

[0077] Keyword searches such as "dance" and "trend" are performed via API on various dance video platforms such as YouTube, TikTok, and Instagram.

[0078] Get the metadata of videos found based on keywords and download the video files.

[0079] The downloaded video data and metadata are saved in a database.

[0080] Step 2: Analyze the video

[0081] server:

[0082] The collected video data is analyzed using a pose estimation algorithm (e.g., OpenPose or MoveNet) to detect the positions of the person's joints and skeleton.

[0083] Use music analysis tools to extract the tempo, rhythm, and beat of the music data in your video.

[0084] The analysis results are stored in a database as structured data.

[0085] Step 3: Classify and filter the data

[0086] server:

[0087] Based on the analysis results, the data is classified by dance genre (e.g., hip hop, ballet, pop, etc.), style, difficulty level, etc.

[0088] Filter the data by the branding characteristics of idol groups (e.g., youthful, lively, energetic, sexy, etc.).

[0089] Prepare the filtered data for the next step.

[0090] Step 4: Generate new dance choreography

[0091] server:

[0092] Using the filtered data as input, new dance choreography is generated using generative adversarial networks (GANs) and recurrent neural networks (RNNs).

[0093] The generated choreography is expressed as a sequence of movements, including details of the movements (posture, speed, angle, etc.).

[0094] The generated results are saved in a database.

[0095] Step 5: Providing and Feedback on the Generated Choreography

[0096] Device:

[0097] A user requests a new choreography using a terminal.

[0098] The server transmits the generated choreography data to the terminal.

[0099] The device visualizes the generated choreography using 3D models and animations, providing an interface that makes it easy for users to check the movements.

[0100] The user reviews the choreography, makes adjustments as necessary, and sends feedback to the server via their device.

[0101] Through these steps, the optimal dance choreography for an idol group is efficiently generated and proposed.

[0102] Example 1

[0103] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0104] Existing dance choreography generation systems make it difficult for users to easily create choreography that reflects the latest dance trends. Furthermore, they lack a means to continuously improve the system based on user feedback. This limits the quality and variety of choreography, making it difficult to provide choreography that meets user needs.

[0105] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0106] In this invention, the server includes means for collecting dance videos from around the world, means for analyzing the collected dance videos to extract posture and music data, means for classifying and filtering the data based on the analysis results and based on the dance genre and style, means for generating new dance choreography using the classified and filtered data, means for providing the generated dance choreography to users and visualizing it, and means for collecting user feedback and using it to improve the AI ​​model. This allows the system to easily generate high-quality choreography based on the latest dance trends and further enables continuous improvement of the system.

[0107] A "dance video" is a digital media file that records a dance performance as video.

[0108] A "pose estimation algorithm" is a computer algorithm that identifies the position of a person's joints and bones from images or video.

[0109] A "music analysis tool" is software for extracting musical characteristics such as rhythm and tempo of a song.

[0110] "Genre" is a classification that refers to a particular style or category of music or dance.

[0111] "Style" is a concept that indicates the individual characteristics and methods of expression of dance or music.

[0112] "Filtering" is the process of sorting data based on specific criteria or conditions.

[0113] A "generative adversarial network (GAN)" is a deep learning technique that generates data by pitting a generative network against a discriminative network.

[0114] A "recurrent neural network (RNN)" is an artificial neural network designed to handle sequential data.

[0115] A "3D model" is a digital representation of an object represented in three-dimensional space.

[0116] "Feedback" refers to evaluations and suggestions for improvement provided by users regarding the system's output.

[0117] A "server" is a computer system that provides data and services over a network.

[0118] A "terminal" is a device that allows a user to connect to a server and send and receive data.

[0119] MODE FOR CARRYING OUT THE INVENTION

[0120] System Overview

[0121] The system of this invention is composed of multiple modules to generate and propose optimal dance choreography for idol groups, specifically including a video collection module, a video analysis module, a data classification and filtering module, a choreography generation module, and a user-provided module.

[0122] Video Collection Module

[0123] The server collects dance videos from platforms such as YouTube, TikTok, and Instagram via API. For example, it uses the YouTube API to search for videos using keywords such as "dance" and "trend," and collects the relevant video data and its metadata. This data is stored in a database. For example, the server may collect videos tagged with "youth dance."

[0124] Video Analysis Module

[0125] The server uses a posture estimation algorithm (e.g., OpenPose, MoveNet) and a music analysis tool to analyze the collected video data. The posture estimation algorithm is used to identify the joint positions of people in the video, and the music analysis tool is used to analyze the tempo and rhythm of the music. The analysis results are stored in a database as structured data in JSON format. Specifically, the posture and rhythm analysis results of the "Youth Dance" are recorded in JSON format.

[0126] Data Classification and Filtering Module

[0127] Based on the analysis results, the server categorizes the data by dance genre, style, and difficulty level. It then filters the data based on the idol group's branding to select the data that best meets the user's needs. Specifically, it filters the data by keywords such as "youth," "energy," and "pop."

[0128] Choreography generation module

[0129] The server inputs the filtered data into an AI model (e.g., a generative adversarial network (GAN) or a recurrent neural network (RNN)) to generate new dance choreography. The generated choreography is stored in a database in a detailed format as a series of movement sequences. As a concrete example, the server uses a GAN to generate new youthful choreography.

[0130] User-Contributed Modules

[0131] The terminal (user's device) receives new choreography data provided by the server and visualizes it on a UI. This UI uses 3D models and animations to provide an interface where users can check and adjust the movements. In addition, users can send feedback to the server through their terminal. This feedback is used to improve the AI ​​model and continuously increase the quality of the choreography. For example, a user can send feedback to the server saying, "I want it to be a little more energetic."

[0132] Specific examples

[0133] Youthful dance choreography for idol groups

[0134] The server collects videos tagged with "youth dance" from YouTube.

[0135] The server uses OpenPose to analyze the joint positions of the dancers in the video and extracts the tempo of the music using a rhythm analysis tool.

[0136] The server filters the data using keywords such as "youth," "energy," and "pop."

[0137] The server uses GAN to generate new youthful dance choreography.

[0138] The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[0139] Prompt Sentence Examples

[0140] "Generate youthful dance choreography."

[0141] "Create energetic and lively dance choreography."

[0142] This system allows users to quickly adopt the latest dance trends and easily create diverse and innovative choreography.

[0143] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0144] Step 1:

[0145] The server accesses the APIs of platforms such as YouTube, TikTok, and Instagram, searches for videos using specific keywords (e.g., "dance" or "trend"), obtains the video URLs obtained as search results, and downloads the video data. This downloaded video data and its metadata (e.g., title, tags, and number of views) are then stored in a database.

[0146] Input: Keyword (e.g. "dance" or "trend")

[0147] Output: Video data and metadata (stored in a database)

[0148] Specific behavior:

[0149] The server sends a request to the YouTube API with "dance" as the keyword.

[0150] The server extracts the video URL from the returned video list and downloads the video.

[0151] The server stores the downloaded video data in a "dance video" database.

[0152] Step 2:

[0153] The server reads the video data collected from the database and analyzes the joint positions of the people in the video using pose estimation algorithms such as OpenPose and MoveNet. At the same time, it analyzes the tempo and rhythm of the music in the video using a music analysis tool. The analysis results are stored in the database as structured data in JSON format.

[0154] Input: Video data

[0155] Output: Analysis data (JSON format, saved in database)

[0156] Specific behavior:

[0157] The server runs a pose estimation algorithm (e.g., OpenPose) to extract the dancer's joint position information.

[0158] The server uses a music analysis tool to extract the BPM and rhythm pattern from the music in the video.

[0159] The server stores these analysis results in a "analysis data" database in JSON format.

[0160] Step 3:

[0161] The server categorizes the data based on the analysis results, such as dance genre, style, and difficulty level. It then filters the data based on the idol group's branding (e.g., youthful, energetic, sexy) to select the data that best meets the user's needs.

[0162] Input: Analysis data

[0163] Output: Filtered data (stored in database)

[0164] Specific behavior:

[0165] The server classifies and filters the data using keywords such as "youth," "energy," and "pop."

[0166] The server stores the filtered data in a "Classification and Filter Data" database.

[0167] Step 4:

[0168] The server then inputs the filtered data into an AI model (e.g., GAN or RNN) to generate new dance choreography. This generation process involves multiple epochs (iterations of learning). The generated choreography is then stored in a database as a sequence of movements, including the specific details of the movements.

[0169] Input: Filtered data

[0170] Output: Generated choreography data (stored in a database)

[0171] Specific behavior:

[0172] The server generates "youthful" choreography based on the filtered data using GAN.

[0173] The server stores the generated choreography in a "choreography data" database.

[0174] Step 5:

[0175] The terminal (user's device) receives new choreography data provided by the server and visualizes the choreography on the UI using 3D models and animations. The user can check the visualized choreography and adjust it as needed. The user also sends feedback to the server via the terminal.

[0176] Input: Generated choreography data

[0177] Output: visualized choreography, user feedback

[0178] Specific behavior:

[0179] The device uses 3D models to animate new choreography.

[0180] The user checks the displayed choreography and sends feedback such as "I'd like it to be a little more energetic" via the terminal.

[0181] The server receives user feedback and uses it to improve the AI ​​model.

[0182] This allows users to easily generate high-quality choreography based on the latest dance trends, while also enabling the system to continually improve.

[0183] (Application example 1)

[0184] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0185] Conventional dance choreography generation technology has the problem that choreography is generated one-way, making it difficult to incorporate user feedback and apply it in real time to entertainment. Furthermore, there are limited means to visually check the generated choreography, making it difficult for users to understand and practice it on the spot. To solve these issues, there is a need for a system that can generate and provide new choreography in real time and allow users to visually check it.

[0186] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0187] In this invention, the server includes means for collecting dance videos from around the world, means for analyzing the collected dance videos to extract posture and music data, means for classifying and filtering the data based on the analysis results and the dance genre and style, means for generating new dance choreography using the classified and filtered data, means for providing the generated dance choreography to a user terminal and visualizing it using 3D models and animations, and means for collecting user feedback and using it to improve the system. This enables real-time generation and visualization of dance choreography, improving the quality of choreography by utilizing user feedback, and enabling immediate application in entertainment settings.

[0188] "Dance video" refers to video data containing a dance performance.

[0189] A "pose estimation algorithm" is a technology for identifying the positions of a person's joints and bones in a video and analyzing their movements.

[0190] A "music analysis tool" is a technology that analyzes the rhythm and tempo of music and extracts its characteristics as data.

[0191] "Data classification and filtering" is the process of organizing collected and analyzed data according to purpose and selecting appropriate data based on specific conditions.

[0192] A generative adversarial network (GAN) is a machine learning model that generates new data by having two neural networks compete and learn from each other.

[0193] A "recurrent neural network (RNN)" is a neural network that can predict future data by taking into account past data.

[0194] "Means for visualization using 3D models and animations" refers to a technology that displays the generated dance choreography as a three-dimensional model and animation, allowing users to understand it visually.

[0195] "Means of collecting feedback and using it to improve the system" refers to the process of collecting opinions and reactions from users and using them to improve the accuracy and performance of the system.

[0196] A "user terminal" is a device that allows a user to receive, check, and operate information, and includes smartphones, smart glasses, head-mounted displays, robots, etc.

[0197] "Real-time" refers to a situation where processing occurs almost simultaneously, meaning immediate response without delay.

[0198] The system for implementing the present invention comprises the following major modules:

[0199] Overall system configuration

[0200] server:

[0201] 1. Video Collection Module: The server uses APIs to collect video data from platforms such as YouTube, TikTok, and Instagram using keywords such as "dance" and "trend." The collected video data is stored in a database along with metadata (e.g., title, tags, and number of views).

[0202] 2. Video Analysis Module: The server analyzes the dancer's joint positions in the video using OpenPose and the tempo and rhythm of the music using Librosa. These analysis results are stored in a database in JSON format.

[0203] 3. Data Classification and Filtering Module: The server classifies and filters data based on dance genre, style, difficulty level, and branding characteristics.

[0204] 4. Choreography generation module: The server generates new dance choreography based on the filtered data using generative adversarial networks (GANs) and recurrent neural networks (RNNs). The generated results are stored in a database as movement sequences.

[0205] User device:

[0206] 1. User-provided module: Receives the generated choreography data and visualizes it on the device using 3D models and animations. Specifically, it displays the generated choreography using Unity or Blender technology.

[0207] 2. Feedback collection module: collects user feedback and sends it to the server. This feedback is used to improve the AI ​​model.

[0208] Specific examples

[0209] Youthful dance choreography:

[0210] 1. The server collects videos tagged with "Youth Dance" from YouTube.

[0211] 2. The server uses OpenPose to analyze the dancer's joint positions in the video and Librosa to extract the tempo of the music.

[0212] 3. The server filters the data using keywords such as "youth," "lively," and "pop."

[0213] 4. The server generates new youthful dance choreography based on the filtered data using GAN.

[0214] 5. The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[0215] Energetic performance:

[0216] 1. The server collects videos tagged as "energetic" from TikTok.

[0217] 2. The server analyzes the rhythm of the music using Librosa and extracts the dancer's movements using OpenPose.

[0218] 3. The server filters the data for keywords such as "energetic" and "high-tempo."

[0219] 4. The server generates new energetic choreography using the RNN.

[0220] 5. The device visualizes the generated choreography with 3D models and animations, and displays an interface that allows the user to provide feedback.

[0221] This system allows the latest dance trends to be easily incorporated and immediately applied to entertainment venues, and can also be improved based on user feedback.

[0222] Prompt Sentence Examples

[0223] "Generate youth pop dance choreography"

[0224] "Please create choreography that matches the energetic music."

[0225] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0226] Step 1:

[0227] Video Collection

[0228] The server uses the APIs of platforms such as YouTube, TikTok, and Instagram to search and collect videos based on keywords such as "dance" and "trends." At the same time, it also obtains video metadata (title, tags, number of views, etc.) and stores them in a database. The input is keywords and the platform's API key, and the output is the collected video data and corresponding metadata.

[0229] Step 2:

[0230] Video Analysis

[0231] The server analyzes the collected video data. This analysis uses a posture estimation algorithm using OpenPose to identify the positions of the joints and bones of people in the video. It also uses Librosa to analyze the tempo and rhythm of the music. The input is the video data, and the output is the analyzed posture information and music data (in JSON format).

[0232] Step 3:

[0233] Data Classification and Filtering

[0234] The server then classifies and filters the data based on the analysis results, based on dance genre, style, difficulty, and branding characteristics, thereby selecting the data that best meets the user's needs. The input is the analyzed posture information and music data, and the output is the classified and filtered data.

[0235] Step 4:

[0236] Choreography generation

[0237] The server uses the classified and filtered data as input to generate new dance choreography using a generative adversarial network (GAN) or a recurrent neural network (RNN). The generated choreography is expressed as a sequence of movements. The input is the classified and filtered data, and the output is the generated choreography data.

[0238] Step 5:

[0239] Choreography Visualization

[0240] The device receives new choreography data provided by the server and visualizes it using 3D models and animations. This visualization is done using technologies such as Unity and Blender. The input is the generated choreography data, and the output is the visualized dance choreography.

[0241] Step 6:

[0242] Feedback collection

[0243] Users review the visualized choreography and provide feedback, which is sent to the server via their devices. The server then uses the collected feedback to improve the AI ​​model. The input is user feedback, and the output is an improved AI model and the quality of the choreography.

[0244] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.

[0245] MODE FOR CARRYING OUT THE INVENTION

[0246] Overall system configuration

[0247] The system of the present invention is composed of the following main modules to generate and propose optimal dance choreography for idol groups.

[0248] 1. Video Collection Module

[0249] 2. Video Analysis Module

[0250] 3. Data Classification and Filtering Module

[0251] 4. Choreography Generation Module

[0252] 5. User-Contributed Modules

[0253] 6. Emotion Engine Module

[0254] Video Collection Module

[0255] The server collects video data through APIs from platforms rich in dance videos, such as YouTube, TikTok, and Instagram. This module uses automated scripts and API calls to search for and download videos based on keywords such as "dance" and "trend." The collected video data is then stored in a database along with metadata (e.g., title, tags, and view counts).

[0256] Video Analysis Module

[0257] The server analyzes the stored video data using the following two techniques:

[0258] Pose estimation algorithms: For example, OpenPose or MoveNet are used to identify the positions of a person's joints and skeleton in a video and extract their movements.

[0259] Music analysis tool: Analyzes the tempo and rhythm of music to evaluate the synchronization of dance movements with music.

[0260] The analysis results are stored in a database as structured data (e.g., JSON format).

[0261] Data Classification and Filtering Module

[0262] The server categorizes the data based on the analysis results, such as dance genre, style, and difficulty level. It then filters the data based on the idol group's branding characteristics (e.g., youthful, lively, energetic, sexy, etc.). This filtering allows the data to be selected that best meets the user's needs.

[0263] Choreography generation module

[0264] The server uses the filtered data as input to generate new dance choreography using an AI model (e.g., a generative adversarial network (GAN) or a recurrent neural network (RNN)). The generated choreography is expressed as a series of movement sequences, including specific movement details (e.g., posture, speed, and angle). The generated results are stored in a database and prepared for presentation to users.

[0265] User-Contributed Modules

[0266] The terminal (user's device) receives new choreography data provided by the server and visualizes it on a UI. This UI displays the choreography using 3D models and animations, providing an interface for users to check and adjust the movements. Users can also send feedback to the server via their terminal. This feedback is used to improve the AI ​​model, continuously improving the quality of the choreography.

[0267] Emotion Engine Module

[0268] The device is equipped with an emotion engine for recognizing the user's emotions. This emotion engine recognizes emotions by analyzing the user's facial expressions, voice, or biometric information. The generated choreography is personalized based on the user's emotional information recognized by the emotion engine. For example, if the user shows positive emotions, a more energetic and cheerful choreography is suggested. Conversely, if the user shows signs of fatigue, a quieter and more relaxing choreography is suggested.

[0269] The device sends the recognized emotion data to the server, which stores the data in a database and uses it to generate future choreography. This cycle provides personalized choreography based on the user's emotions, increasing user satisfaction.

[0270] Specific examples

[0271] Youthful dance choreography

[0272] 1. The server collects videos tagged with "Youth Dance" from YouTube.

[0273] 2. The server uses OpenPose to analyze the dancer's joint positions in the video and extracts the tempo of the music using a music analysis tool.

[0274] 3. The server filters the data using keywords such as "youth," "lively," and "pop."

[0275] 4. The server generates new youthful dance choreography based on the filtered data using GAN.

[0276] 5. The device recognizes the user's emotions and adjusts the choreography based on the recognized emotions. For example, if the user is having fun, it will incorporate more fast-paced movements.

[0277] 6. The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[0278] Energetic performance

[0279] 1. The server collects videos tagged as "energetic" from TikTok.

[0280] 2. The server analyzes the rhythm of the music using a video music analysis tool and extracts the dancer's movements using a posture estimation algorithm.

[0281] 3. The server filters the data for keywords such as "energetic" and "high-tempo."

[0282] 4. The server generates new energetic choreography using the RNN.

[0283] 5. The device recognizes the user's emotions and adjusts the choreography based on the recognized emotions. For example, if the user feels energetic, it generates choreography with more dynamic movements.

[0284] 6. The device displays an interface that visualizes the generated choreography and allows the user to provide feedback.

[0285] This system allows users to easily incorporate the latest dance trends and easily create diverse and innovative choreography that responds to their emotions.

[0286] The processing flow will be explained below.

[0287] Program processing flow

[0288] The specific processing steps of the system that combines the emotion engine will be explained below.

[0289] Step 1: Collect video data

[0290] server:

[0291] The server performs keyword searches such as "dance" and "trend" via API from various dance video platforms such as YouTube, TikTok, and Instagram.

[0292] Get the metadata of videos found based on keywords and download the video files.

[0293] The downloaded video data and metadata are saved in a database.

[0294] Step 2: Analyze the video

[0295] server:

[0296] The collected video data is analyzed using a pose estimation algorithm (e.g., OpenPose or MoveNet) to detect the positions of the person's joints and skeleton.

[0297] Use music analysis tools to extract the tempo, rhythm, and beat of the music data in your video.

[0298] The analysis results are stored in a database as structured data.

[0299] Step 3: Classify and filter the data

[0300] server:

[0301] Based on the analysis results, the data is classified by dance genre (e.g., hip hop, ballet, pop, etc.), style, difficulty level, etc.

[0302] Filter the data by the branding characteristics of idol groups (e.g., youthful, lively, energetic, sexy, etc.).

[0303] Prepare the filtered data for the next step.

[0304] Step 4: Generate new dance choreography

[0305] server:

[0306] Using the filtered data as input, new dance choreography is generated using generative adversarial networks (GANs) and recurrent neural networks (RNNs).

[0307] The generated choreography is expressed as a sequence of movements, including details of the movements (posture, speed, angle, etc.).

[0308] The generated results are saved in a database.

[0309] Step 5: Recognizing User Emotions

[0310] Device:

[0311] When a user requests a new choreography using the terminal, the emotion engine analyzes the user's facial expression, voice, or biometric information to recognize the user's emotion.

[0312] The recognized emotion information is stored in a database and used in the next step.

[0313] Step 6: Personalize choreography based on emotions

[0314] server:

[0315] The server personalizes the generated choreography based on the stored emotion information.

[0316] For example, if the user is showing positive emotions, choreography that includes a lot of fast-paced, energetic movements will be suggested.

[0317] The personalized choreography is stored in a database as the final generated result.

[0318] Step 7: Providing the generated choreography

[0319] Device:

[0320] It receives the final choreography data provided by the server and visualizes it on the UI.

[0321] It uses 3D models and animations to display choreography and provides an interface that allows users to review and adjust movements.

[0322] The user reviews the choreography, makes adjustments as necessary, and sends feedback to the server via their device.

[0323] Specific examples

[0324] Youthful dance choreography

[0325] Step 1:

[0326] The server collects videos tagged with "youth dance" from YouTube.

[0327] Step 2:

[0328] The server uses OpenPose to analyze the joint positions of the dancers in the video and extracts the tempo of the music using a music analysis tool.

[0329] Step 3:

[0330] The server filters the data using keywords such as "youth," "energy," and "pop."

[0331] Step 4:

[0332] The server generates new youthful dance choreography based on the filtered data using GAN.

[0333] Step 5:

[0334] The terminal recognizes the user's emotions when requesting a choreography and stores them in a database.

[0335] Step 6:

[0336] The server personalizes the choreography by taking into account the user's emotions: if the user is having fun, it will provide choreography with lots of fast-paced, fun movements.

[0337] Step 7:

[0338] The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[0339] Energetic performance

[0340] Step 1:

[0341] The server collects videos from TikTok that are tagged as "energetic."

[0342] Step 2:

[0343] The server analyzes the rhythm of the music using a video music analysis tool and extracts the dancer's movements using a posture estimation algorithm.

[0344] Step 3:

[0345] The server filters the data for keywords such as "energetic" and "fast-paced."

[0346] Step 4:

[0347] The server uses RNNs to generate new energetic choreography.

[0348] Step 5:

[0349] The terminal recognizes the user's emotions when requesting a choreography and stores them in a database.

[0350] Step 6:

[0351] The server personalizes the choreography by taking into account the user's emotions: if the user is showing energetic emotions, it provides a choreography with powerful movements.

[0352] Step 7:

[0353] The terminal displays an interface that visualizes the generated choreography and allows the user to provide feedback.

[0354] This system allows users to easily incorporate the latest dance trends and easily create diverse and innovative choreography that responds to their emotions.

[0355] Example 2

[0356] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0357] Conventional choreography creation methods rely on the experience and sensibility of choreographers, which not only takes time and effort, but also has the problem of lacking dance diversity and responsiveness to trends. Furthermore, the generated choreography often does not match the characteristics of the target group or the emotions of the user. It is necessary to solve these problems and provide efficient and diverse choreography.

[0358] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting dance videos from a video platform, means for analyzing the collected dance videos to extract data on the joint positions of people and the tempo and rhythm of music, means for classifying and filtering the data based on the analysis results based on the dance genre and style, difficulty level, and characteristics of the target group, means for using the classified and filtered data to generate new dance choreography using an AI model, means for visualizing the generated dance choreography using 3D models and animations and providing it to the user, and means for recognizing the user's emotions and adjusting the choreography. This makes it possible to efficiently generate choreography incorporating various dance styles and the latest trends and provide personalized choreography according to the user's characteristics and emotions.

[0359] "Video Platform" means an online service that enables users to upload, view, and share videos.

[0360] "Dance video" refers to video content that records a dance performance on video.

[0361] "Person's joint positions" refers to coordinate information of the main joints of the person's body in the video.

[0362] "Music tempo and rhythm data" refers to data related to the speed (beats per minute, BPM) and rhythm patterns of a song.

[0363] A "pose estimation algorithm" refers to a computational method for identifying the skeletal structure and joint positions of a person in a video.

[0364] A "music analysis tool" refers to software or programs that analyze the structure of a song and extract musical characteristics such as tempo, rhythm, and beat.

[0365] A "dance genre" refers to a category of dance styles based on a particular musical or cultural background.

[0366] "Target group characteristics" refers to the basic attributes (age, gender, cultural background, etc.) of the audience or user demographic for which a particular dance performance is intended.

[0367] "Filtering" refers to the act of selecting, organizing, or removing data based on specific criteria.

[0368] "AI model" refers to the algorithmic structure of artificial intelligence based on machine learning and deep learning.

[0369] A "generative adversarial network (GAN)" is a generative model that uses two neural networks to generate data and evaluate its quality.

[0370] A "recurrent neural network (RNN)" is a type of neural network used to handle time-series data.

[0371] A "3D model" refers to an object or character that is represented in three dimensions on a computer.

[0372] "Animation" refers to the technique of displaying still images in succession to express movement, and the resulting product.

[0373] "Recognizing a user's emotions" refers to the process of analyzing and understanding a user's emotional state from facial expressions, voice, biometric information, etc.

[0374] An "emotion engine" refers to specialized software or algorithms for analyzing user emotions.

[0375] MODE FOR CARRYING OUT THE INVENTION

[0376] Overall system configuration

[0377] The system of the present invention is composed of the following main modules to generate and propose optimal dance choreography for idol groups.

[0378] 1. Video Collection Module

[0379] 2. Video Analysis Module

[0380] 3. Data Classification and Filtering Module

[0381] 4. Choreography Generation Module

[0382] 5. User-Contributed Modules

[0383] 6. Emotion Recognition and Regulation Module

[0384] Video Collection Module

[0385] The server collects dance videos from major video platforms such as YouTube, TikTok, and Instagram using automated scripts and API calls. It searches for keywords such as "dance" and "trend" and downloads relevant videos. The downloaded videos are then stored in a database along with their metadata (title, tags, view count, etc.).

[0386] Video Analysis Module

[0387] The server uses pose estimation algorithms (e.g., OpenPose and MoveNet) and music analysis tools to analyze the collected videos, extracting dancer joint position information and music tempo and rhythm data from the videos, and storing them in a database as structured data in JSON format.

[0388] Data Classification and Filtering Module

[0389] Based on the analysis results, the server categorizes the data into dance genres, styles, difficulty levels, etc. It also filters the data based on the idol group's characteristics (e.g., youthful, lively, energetic, sexy, etc.), thereby selecting the data that best meets the user's needs.

[0390] Choreography generation module

[0391] The server uses the classified and filtered data as input to generate new dance choreography using AI models (generative adversarial networks (GAN) or recurrent neural networks (RNN)). The generated choreography is stored in a database as a series of movement sequences, including specific movement details (e.g., posture, speed, and angle).

[0392] User-Contributed Modules

[0393] The terminal (user's device) receives new choreography data sent from the server and provides a user interface that visualizes it using 3D models and animations. The user can check and adjust the movements through this interface. The user can also send feedback from the terminal to the server, which is used to improve the AI ​​model.

[0394] Emotion Recognition and Regulation Module

[0395] The device is equipped with an emotion engine that recognizes the user's emotions. This engine analyzes the user's facial expressions, voice, and biometric information to understand their emotional state. The generated choreography is then adjusted based on the recognized emotion. For example, if a positive emotion is recognized, energetic choreography is suggested, while if signs of fatigue are present, relaxation-focused choreography is suggested. Emotion data is sent to the server and used to generate future choreography and improve the model.

[0396] Specific examples

[0397] Youthful dance choreography

[0398] The server collects videos tagged "youth dance" from YouTube. Next, it uses OpenPose to analyze the dancers' joint positions in the videos and extracts the song's tempo using a music analysis tool. The data is then filtered for keywords such as "youth," "lively," and "pop." Based on the filtered data, a new youthful dance choreography is generated using a GAN. The device recognizes the user's emotions and adjusts the choreography based on the recognized emotions. For example, if the user is having fun, it will incorporate more fast-paced movements. Finally, the generated choreography is visualized as a 3D model, providing an interface for the user to view and adjust.

[0399] Example prompt:

[0400] Youthful dance videos were collected from YouTube, joint positions were analyzed using OpenPose, and tempo was extracted using a music analysis tool. The data was filtered by "youth" and "energy," and new youthful choreography was generated using GAN. The device recognized the user's emotions and suggested faster-paced movements.

[0401] Energetic performance

[0402] The server collects videos tagged as "energetic" from TikTok. Next, it analyzes the rhythm of the music using a music analysis tool and extracts the dancer's movements using a posture estimation algorithm. It then filters the data for keywords such as "energetic" and "high-tempo." It then generates new energetic choreography using an RNN. The device recognizes the user's emotions and adjusts the choreography based on the recognized emotions. For example, if the user feels energetic, it generates choreography with more dynamic movements. Finally, it displays an interface that visualizes the generated choreography and allows the user to provide feedback.

[0403] Example prompt:

[0404] Energetic dance videos are collected from TikTok, the rhythm of the music is analyzed, and movements are extracted using a posture estimation algorithm. The data is filtered by "energetic" and "high tempo," and new choreography is generated using an RNN. The device recognizes the user's emotions and suggests ways to amplify the movements.

[0405] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0406] Step 1: Video Collection

[0407] The server uses APIs to collect dance videos from video platforms such as YouTube, TikTok, and Instagram. The input is keywords such as "dance" and "trend," and the output is the video data and its metadata.

[0408] Specific behavior:

[0409] The server sends a query for "Youth Dance" to the YouTube API and lists the video URLs that are returned.

[0410] A download process is performed for each video URL, and the video file and metadata (title, tags, number of views, etc.) are saved to local storage.

[0411] Step 2: Video analysis

[0412] The server analyzes the collected video. The input is the video data collected in step 1, and the output is the joint position information of the person and the tempo and rhythm data of the music.

[0413] Specific behavior:

[0414] Using OpenPose, the skeletal information (joint positions) of the dancer in the video is extracted and saved in JSON format.

[0415] Using a music analysis tool, the tempo (BPM) and rhythm pattern of the song are extracted from the music data in the video and stored in a database as structured data.

[0416] Step 3: Data classification and filtering

[0417] The server classifies and filters the data based on the analysis results. The input is the analyzed data obtained in step 2, and the output is the classified and filtered dataset.

[0418] Specific behavior:

[0419] Tags associated with "youth" and "energy" are extracted from the analysis data, and only the corresponding video data is selected.

[0420] Data that meets specified conditions, such as difficulty level "intermediate," is filtered to extract only specific choreography patterns.

[0421] Step 4: Choreography generation

[0422] The server generates new dance choreography using an AI model based on the classified and filtered data. The input is the dataset filtered in step 3, and the output is the newly generated choreography data.

[0423] Specific behavior:

[0424] The filtered dataset is then fed into a generative adversarial network (GAN) to generate new dance movements.

[0425] The generated motion sequence is saved in JSON format, and specific posture, speed, and angle information is added.

[0426] Step 5: User Provided

[0427] The terminal (user device) receives the choreography data sent from the server and visualizes it through a user interface. The input is the choreography data generated in step 4, and the output is a visualized choreography that the user can check and adjust.

[0428] Specific behavior:

[0429] It receives choreography data in JSON format from the server and converts it into a 3D model animation.

[0430] The user interface provides functions such as play, pause, and rewind, allowing users to check and adjust choreography.

[0431] Step 6: Emotion recognition and regulation

[0432] The device recognizes the user's emotions and adjusts the choreography accordingly. The input is the user's facial expressions, voice, and biometric information, and the output is the adjusted choreography data.

[0433] Specific behavior:

[0434] Using an emotion recognition module, the system analyzes the user's facial expression data in real time, adjusting the choreography to a faster tempo if the expression is positive, and to a more relaxation-oriented choreography if the expression is negative.

[0435] The recognized emotion data is sent to the server and used for future choreography generation and model improvement.

[0436] This completes the processing flow of the entire system, allowing efficient and diverse dance choreography to be generated and provided to the user.

[0437] (Application example 2)

[0438] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0439] In today's world, dance performances have become an important element of entertainment and promotional activities. However, it is difficult to generate optimal dance choreography for each individual project or event. Furthermore, the inability to provide personalized choreography based on the user's emotions and preferences results in a lack of improvement in the quality of entertainment. The present invention aims to solve these problems by providing a system that efficiently generates and provides dance choreography that meets a variety of needs.

[0440] The specification processing by the specification 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 collecting dance videos from around the world, means for analyzing the collected dance videos to extract posture and music data, means for classifying and filtering the data based on the dance genre and style based on the analysis results, means for generating new dance choreography using the classified and filtered data, means for analyzing user emotion data and personalizing the generated dance choreography, and means for providing the generated dance choreography to the user. This makes it possible to generate and provide optimal dance choreography based on the user's emotions and preferences.

[0441] The "means for collecting dance videos from around the world" is a method for automatically searching and collecting dance videos from a wide range of platforms on the Internet.

[0442] The "means for analyzing collected dance videos and extracting posture and music data" is a method for analyzing the posture of the dancers in the videos and simultaneously analyzing and extracting music data such as the tempo and rhythm of the music.

[0443] "Means for classifying and filtering data based on dance genre and style" refers to a method for organizing analyzed data by dance genre and style and excluding inappropriate data.

[0444] The "means for generating new dance choreography" is a method for designing and constructing new dance choreography using AI technology based on classified and filtered data.

[0445] "Means for analyzing user emotional data and personalizing generated dance choreography" refers to a method for analyzing a user's emotional state and optimizing and customizing the generated choreography based on that information.

[0446] The "means for providing the generated dance choreography to the user" refers to a method for displaying and sharing the finally generated personalized dance choreography on the user's device.

[0447] Overall system configuration

[0448] The system embodying the invention is intended to generate and deliver dance performances and comprises the following main modules:

[0449] 1. Video Collection Module

[0450] 2. Video Analysis Module

[0451] 3. Data Classification and Filtering Module

[0452] 4. Choreography Generation Module

[0453] 5. User-Contributed Modules

[0454] 6. Sentiment Analysis Module

[0455] Video Collection Module

[0456] The server uses APIs and automated scripts to collect dance videos from a wide range of platforms on the Internet. For example, it searches for videos using keywords such as "energetic dance" or "trending dance" on YouTube, TikTok, Instagram, etc. These videos are then stored in a database along with metadata (title, tags, number of views, etc.).

[0457] Video Analysis Module

[0458] The server analyzes the collected video data. This analysis includes the following techniques:

[0459] Using a pose estimation algorithm (e.g., OpenPose, MoveNet), we identify the joint positions of the dancer in the video and extract their movements.

[0460] Using music analysis tools, the tempo and rhythm of the song are analyzed to evaluate the synchronization of dance movements with the music.

[0461] The analysis results are stored in a database as structured data (such as JSON format).

[0462] Data Classification and Filtering Module

[0463] The server classifies the data into dance genres (energetic, relaxed, etc.) and styles (hip hop, jazz, etc.) based on the analysis results. It also filters the data based on the user's emotions and brand image. This allows the data to be selected according to the user's needs.

[0464] Choreography generation module

[0465] The server takes the filtered data as input and generates new dance choreography using AI models such as generative adversarial networks (GANs) and recurrent neural networks (RNNs). The generated choreography is expressed as a specific movement sequence, including details such as posture, speed, and angle. The results are stored in a database and prepared for presentation to users.

[0466] User-Contributed Modules

[0467] The device (such as the user's smartphone or tablet) receives new choreography data provided by the server and visualizes it on an interface. The interface uses 3D models and animations, allowing the user to check and adjust the choreography. The user can also send feedback to the server via the device, which is used to improve the AI ​​model.

[0468] Sentiment Analysis Module

[0469] The device is equipped with an emotion analysis engine that recognizes the user's emotions. This engine analyzes the user's facial expressions, voice, and biometric information to evaluate their emotional state. The generated choreography is personalized based on the results of this evaluation. For example, if the user is having fun, the system will suggest a more energetic choreography, and conversely, if the user is tired, the system will suggest a more relaxed choreography.

[0470] Specific examples

[0471] For example, if a user requests an energetic dance performance in a store, the server collects videos tagged with "energetic dance" from YouTube and analyzes the data with OpenPose and music analysis tools. It then uses filtering and AI models to generate new choreography, providing a personalized choreography based on the user's emotional state. This choreography is visualized as a 3D model on the smartphone interface for easy viewing by the user.

[0472] Specific prompt examples:

[0473] Create an energetic dance performance based on the latest trends. Use the following dataset to generate the perfect choreography for your next event.

[0474] Videos tagged "energetic dance" from YouTube

[0475] Pose data from OpenPose

[0476] User emotion data (e.g., happy, tired)

[0477] In this way, the present invention realizes a system that efficiently generates and provides customizable dance choreography according to the user's emotions and needs.

[0478] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0479] Step 1: Video Collection

[0480] The server uses APIs to automatically search and collect videos from video platforms such as YouTube and TikTok using keywords such as "energetic dance" and "trending dance." The input is the keywords, and the output is the collected video data.

[0481] Step 2: Video analysis

[0482] The server analyzes the collected video data. Specifically, it uses OpenPose to identify the joint positions of the dancers in the video and extract posture data. It then uses a music analysis tool to analyze the music data in the video and extract tempo, rhythm, and other parameters. The input is the collected video data, and the output is posture data and music data.

[0483] Step 3: Data classification and filtering

[0484] The server classifies and filters the data into dance genres and styles based on the analysis results. For example, it classifies based on keywords such as energetic or relaxed. The input is posture data and music data, and the output is the classified and filtered data.

[0485] Step 4: Choreography generation

[0486] The server generates new dance choreography based on the filtered data using an AI model (generative adversarial network or recurrent neural network). The input is the classified and filtered data, and the output is the new choreography data.

[0487] Step 5: Sentiment Analysis

[0488] The device uses an emotion engine to analyze the user's emotions. This engine analyzes the user's emotional state from facial expressions, voice, and biometric information. The input is the user's biometric information, and the output is the analyzed emotional data.

[0489] Step 6: Personalize the choreography

[0490] The server personalizes the generated dance choreography based on the results of emotion analysis. For example, if the user is having fun, it will suggest a more energetic choreography, and conversely, if the user is tired, it will suggest a more relaxed choreography. The input is emotion data and new choreography data, and the output is personalized choreography data.

[0491] Step 7: User Provided

[0492] The device visualizes the personalized choreography data on the interface. It displays the choreography using 3D models and animations, allowing the user to check and adjust the movements. The input is the personalized choreography data, and the output is the visualization information for the user.

[0493] These steps allow users to easily generate and obtain customized dance choreography to enhance the quality of their entertainment.

[0494] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0495] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0496] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.

[0497] [Second embodiment]

[0498] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0499] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0500] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0501] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.

[0502] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[0503] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0504] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0505] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0506] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0507] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0508] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0509] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."

[0510] MODE FOR CARRYING OUT THE INVENTION

[0511] Overall system configuration

[0512] The system of the present invention is composed of the following main modules to generate and propose optimal dance choreography for idol groups.

[0513] 1. Video Collection Module

[0514] 2. Video Analysis Module

[0515] 3. Data Classification and Filtering Module

[0516] 4. Choreography Generation Module

[0517] 5. User-Contributed Modules

[0518] Video Collection Module

[0519] The server collects video data through APIs from platforms rich in dance videos, such as YouTube, TikTok, and Instagram. This module uses automated scripts and API calls to search for and download videos based on keywords such as "dance" and "trend." The collected video data is then stored in a database along with metadata (e.g., title, tags, and view counts).

[0520] Video Analysis Module

[0521] The server analyzes the stored video data using the following two techniques:

[0522] Pose estimation algorithms: For example, OpenPose or MoveNet are used to identify the positions of a person's joints and skeleton in a video and extract their movements.

[0523] Music analysis tool: Analyzes the tempo and rhythm of music to evaluate the synchronization of dance movements with music.

[0524] The analysis results are stored in a database as structured data (e.g., JSON format).

[0525] Data Classification and Filtering Module

[0526] The server categorizes the data based on the analysis results, such as dance genre, style, and difficulty level. It then filters the data based on the idol group's branding characteristics (e.g., youthful, lively, energetic, sexy, etc.). This filtering allows the data to be selected that best meets the user's needs.

[0527] Choreography generation module

[0528] The server uses the filtered data as input to generate new dance choreography using an AI model (e.g., a generative adversarial network (GAN) or a recurrent neural network (RNN). The generated choreography is expressed as a sequence of movements, including specific movement details (e.g., posture, speed, and angle). The generated results are stored in a database and prepared for presentation to users.

[0529] User-Contributed Modules

[0530] The terminal (user's device) receives new choreography data provided by the server and visualizes it on a UI. This UI displays the choreography using 3D models and animations, providing an interface for users to check and adjust the movements. Users can also send feedback to the server via their terminal. This feedback is used to improve the AI ​​model, continuously improving the quality of the choreography.

[0531] Specific examples

[0532] Youthful dance choreography

[0533] 1. The server collects videos tagged with "Youth Dance" from YouTube.

[0534] 2. The server uses OpenPose to analyze the dancer's joint positions in the video and extracts the tempo of the music using a rhythm analysis tool.

[0535] 3. The server filters the data using keywords such as "youth," "lively," and "pop."

[0536] 4. The server generates new youthful dance choreography based on the filtered data using GAN.

[0537] 5. The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[0538] Energetic performance

[0539] 1. The server collects videos tagged as "energetic" from TikTok.

[0540] 2. The server analyzes the rhythm of the music using a video music analysis tool and extracts the dancer's movements using a posture estimation algorithm.

[0541] 3. The server filters the data for keywords such as "energetic" and "high-tempo."

[0542] 4. The server generates new energetic choreography using the RNN.

[0543] 5. The device displays an interface that visualizes the generated choreography and allows the user to provide feedback.

[0544] Using this system, users can easily incorporate the latest dance trends and create diverse and innovative choreography.

[0545] The processing flow will be explained below.

[0546] Program processing flow

[0547] Specific processing steps will be explained below in order.

[0548] Step 1: Collect video data

[0549] server:

[0550] Keyword searches such as "dance" and "trend" are performed via API on various dance video platforms such as YouTube, TikTok, and Instagram.

[0551] Get the metadata of videos found based on keywords and download the video files.

[0552] The downloaded video data and metadata are saved in a database.

[0553] Step 2: Analyze the video

[0554] server:

[0555] The collected video data is analyzed using a pose estimation algorithm (e.g., OpenPose or MoveNet) to detect the positions of the person's joints and skeleton.

[0556] Use music analysis tools to extract the tempo, rhythm, and beat of the music data in your video.

[0557] The analysis results are stored in a database as structured data.

[0558] Step 3: Classify and filter the data

[0559] server:

[0560] Based on the analysis results, the data is classified by dance genre (e.g., hip hop, ballet, pop, etc.), style, difficulty level, etc.

[0561] Filter the data by the branding characteristics of idol groups (e.g., youthful, lively, energetic, sexy, etc.).

[0562] Prepare the filtered data for the next step.

[0563] Step 4: Generate new dance choreography

[0564] server:

[0565] Using the filtered data as input, new dance choreography is generated using generative adversarial networks (GANs) and recurrent neural networks (RNNs).

[0566] The generated choreography is expressed as a sequence of movements, including details of the movements (posture, speed, angle, etc.).

[0567] The generated results are saved in a database.

[0568] Step 5: Providing and Feedback on the Generated Choreography

[0569] Device:

[0570] A user requests a new choreography using a terminal.

[0571] The server transmits the generated choreography data to the terminal.

[0572] The device visualizes the generated choreography using 3D models and animations, providing an interface that makes it easy for users to check the movements.

[0573] The user reviews the choreography, makes adjustments as necessary, and sends feedback to the server via their device.

[0574] Through these steps, the optimal dance choreography for an idol group is efficiently generated and proposed.

[0575] Example 1

[0576] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0577] Existing dance choreography generation systems make it difficult for users to easily create choreography that reflects the latest dance trends. Furthermore, they lack a means to continuously improve the system based on user feedback. This limits the quality and variety of choreography, making it difficult to provide choreography that meets user needs.

[0578] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0579] In this invention, the server includes means for collecting dance videos from around the world, means for analyzing the collected dance videos to extract posture and music data, means for classifying and filtering the data based on the analysis results and based on the dance genre and style, means for generating new dance choreography using the classified and filtered data, means for providing the generated dance choreography to users and visualizing it, and means for collecting user feedback and using it to improve the AI ​​model. This allows the system to easily generate high-quality choreography based on the latest dance trends and further enables continuous improvement of the system.

[0580] A "dance video" is a digital media file that records a dance performance as video.

[0581] A "pose estimation algorithm" is a computer algorithm that identifies the position of a person's joints and bones from images or video.

[0582] A "music analysis tool" is software for extracting musical characteristics such as rhythm and tempo of a song.

[0583] "Genre" is a classification that refers to a particular style or category of music or dance.

[0584] "Style" is a concept that indicates the individual characteristics and methods of expression of dance or music.

[0585] "Filtering" is the process of sorting data based on specific criteria or conditions.

[0586] A "generative adversarial network (GAN)" is a deep learning technique that generates data by pitting a generative network against a discriminative network.

[0587] A "recurrent neural network (RNN)" is an artificial neural network designed to handle sequential data.

[0588] A "3D model" is a digital representation of an object represented in three-dimensional space.

[0589] "Feedback" refers to evaluations and suggestions for improvement provided by users regarding the system's output.

[0590] A "server" is a computer system that provides data and services over a network.

[0591] A "terminal" is a device that allows a user to connect to a server and send and receive data.

[0592] MODE FOR CARRYING OUT THE INVENTION

[0593] System Overview

[0594] The system of this invention is composed of multiple modules to generate and propose optimal dance choreography for idol groups, specifically including a video collection module, a video analysis module, a data classification and filtering module, a choreography generation module, and a user-provided module.

[0595] Video Collection Module

[0596] The server collects dance videos from platforms such as YouTube, TikTok, and Instagram via API. For example, it uses the YouTube API to search for videos using keywords such as "dance" and "trend," and collects the relevant video data and its metadata. This data is stored in a database. For example, the server may collect videos tagged with "youth dance."

[0597] Video Analysis Module

[0598] The server uses a posture estimation algorithm (e.g., OpenPose, MoveNet) and a music analysis tool to analyze the collected video data. The posture estimation algorithm is used to identify the joint positions of people in the video, and the music analysis tool is used to analyze the tempo and rhythm of the music. The analysis results are stored in a database as structured data in JSON format. Specifically, the posture and rhythm analysis results of the "Youth Dance" are recorded in JSON format.

[0599] Data Classification and Filtering Module

[0600] Based on the analysis results, the server categorizes the data by dance genre, style, and difficulty level. It then filters the data based on the idol group's branding to select the data that best meets the user's needs. Specifically, it filters the data by keywords such as "youth," "energy," and "pop."

[0601] Choreography generation module

[0602] The server inputs the filtered data into an AI model (e.g., a generative adversarial network (GAN) or a recurrent neural network (RNN)) to generate new dance choreography. The generated choreography is stored in a database in a detailed format as a series of movement sequences. As a concrete example, the server uses a GAN to generate new youthful choreography.

[0603] User-Contributed Modules

[0604] The terminal (user's device) receives new choreography data provided by the server and visualizes it on a UI. This UI uses 3D models and animations to provide an interface where users can check and adjust the movements. In addition, users can send feedback to the server through their terminal. This feedback is used to improve the AI ​​model and continuously increase the quality of the choreography. For example, a user can send feedback to the server saying, "I want it to be a little more energetic."

[0605] Specific examples

[0606] Youthful dance choreography for idol groups

[0607] The server collects videos tagged with "youth dance" from YouTube.

[0608] The server uses OpenPose to analyze the joint positions of the dancers in the video and extracts the tempo of the music using a rhythm analysis tool.

[0609] The server filters the data using keywords such as "youth," "energy," and "pop."

[0610] The server uses GAN to generate new youthful dance choreography.

[0611] The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[0612] Prompt Sentence Examples

[0613] "Generate youthful dance choreography."

[0614] "Create energetic and lively dance choreography."

[0615] This system allows users to quickly adopt the latest dance trends and easily create diverse and innovative choreography.

[0616] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0617] Step 1:

[0618] The server accesses the APIs of platforms such as YouTube, TikTok, and Instagram, searches for videos using specific keywords (e.g., "dance" or "trend"), obtains the video URLs obtained as search results, and downloads the video data. This downloaded video data and its metadata (e.g., title, tags, and number of views) are then stored in a database.

[0619] Input: Keyword (e.g. "dance" or "trend")

[0620] Output: Video data and metadata (stored in a database)

[0621] Specific behavior:

[0622] The server sends a request to the YouTube API with "dance" as the keyword.

[0623] The server extracts the video URL from the returned video list and downloads the video.

[0624] The server stores the downloaded video data in a "dance video" database.

[0625] Step 2:

[0626] The server reads the video data collected from the database and analyzes the joint positions of the people in the video using pose estimation algorithms such as OpenPose and MoveNet. At the same time, it analyzes the tempo and rhythm of the music in the video using a music analysis tool. The analysis results are stored in the database as structured data in JSON format.

[0627] Input: Video data

[0628] Output: Analysis data (JSON format, saved in database)

[0629] Specific behavior:

[0630] The server runs a pose estimation algorithm (e.g., OpenPose) to extract the dancer's joint position information.

[0631] The server uses a music analysis tool to extract the BPM and rhythm pattern from the music in the video.

[0632] The server stores these analysis results in a "analysis data" database in JSON format.

[0633] Step 3:

[0634] The server categorizes the data based on the analysis results, such as dance genre, style, and difficulty level. It then filters the data based on the idol group's branding (e.g., youthful, energetic, sexy) to select the data that best meets the user's needs.

[0635] Input: Analysis data

[0636] Output: Filtered data (stored in database)

[0637] Specific behavior:

[0638] The server classifies and filters the data using keywords such as "youth," "energy," and "pop."

[0639] The server stores the filtered data in a "Classification and Filter Data" database.

[0640] Step 4:

[0641] The server then inputs the filtered data into an AI model (e.g., GAN or RNN) to generate new dance choreography. This generation process involves multiple epochs (iterations of learning). The generated choreography is then stored in a database as a sequence of movements, including the specific details of the movements.

[0642] Input: Filtered data

[0643] Output: Generated choreography data (stored in a database)

[0644] Specific behavior:

[0645] The server generates "youthful" choreography based on the filtered data using GAN.

[0646] The server stores the generated choreography in a "choreography data" database.

[0647] Step 5:

[0648] The terminal (user's device) receives new choreography data provided by the server and visualizes the choreography on the UI using 3D models and animations. The user can check the visualized choreography and adjust it as needed. The user also sends feedback to the server via the terminal.

[0649] Input: Generated choreography data

[0650] Output: visualized choreography, user feedback

[0651] Specific behavior:

[0652] The device uses 3D models to animate new choreography.

[0653] The user checks the displayed choreography and sends feedback such as "I'd like it to be a little more energetic" via the terminal.

[0654] The server receives user feedback and uses it to improve the AI ​​model.

[0655] This allows users to easily generate high-quality choreography based on the latest dance trends, while also enabling the system to continually improve.

[0656] (Application example 1)

[0657] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0658] Conventional dance choreography generation technology has the problem that choreography is generated one-way, making it difficult to incorporate user feedback and apply it in real time to entertainment. Furthermore, there are limited means to visually check the generated choreography, making it difficult for users to understand and practice it on the spot. To solve these issues, there is a need for a system that can generate and provide new choreography in real time and allow users to visually check it.

[0659] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0660] In this invention, the server includes means for collecting dance videos from around the world, means for analyzing the collected dance videos to extract posture and music data, means for classifying and filtering the data based on the analysis results and the dance genre and style, means for generating new dance choreography using the classified and filtered data, means for providing the generated dance choreography to a user terminal and visualizing it using 3D models and animations, and means for collecting user feedback and using it to improve the system. This enables real-time generation and visualization of dance choreography, improving the quality of choreography by utilizing user feedback, and enabling immediate application in entertainment settings.

[0661] "Dance video" refers to video data containing a dance performance.

[0662] A "pose estimation algorithm" is a technology for identifying the positions of a person's joints and bones in a video and analyzing their movements.

[0663] A "music analysis tool" is a technology that analyzes the rhythm and tempo of music and extracts its characteristics as data.

[0664] "Data classification and filtering" is the process of organizing collected and analyzed data according to purpose and selecting appropriate data based on specific conditions.

[0665] A generative adversarial network (GAN) is a machine learning model that generates new data by having two neural networks compete and learn from each other.

[0666] A "recurrent neural network (RNN)" is a neural network that can predict future data by taking into account past data.

[0667] "Means for visualization using 3D models and animations" refers to a technology that displays the generated dance choreography as a three-dimensional model and animation, allowing users to understand it visually.

[0668] "Means of collecting feedback and using it to improve the system" refers to the process of collecting opinions and reactions from users and using them to improve the accuracy and performance of the system.

[0669] A "user terminal" is a device that allows a user to receive, check, and operate information, and includes smartphones, smart glasses, head-mounted displays, robots, etc.

[0670] "Real-time" refers to a situation where processing occurs almost simultaneously, meaning immediate response without delay.

[0671] The system for implementing the present invention comprises the following major modules:

[0672] Overall system configuration

[0673] server:

[0674] 1. Video Collection Module: The server uses APIs to collect video data from platforms such as YouTube, TikTok, and Instagram using keywords such as "dance" and "trend." The collected video data is stored in a database along with metadata (e.g., title, tags, and number of views).

[0675] 2. Video Analysis Module: The server analyzes the dancer's joint positions in the video using OpenPose and the tempo and rhythm of the music using Librosa. These analysis results are stored in a database in JSON format.

[0676] 3. Data Classification and Filtering Module: The server classifies and filters data based on dance genre, style, difficulty level, and branding characteristics.

[0677] 4. Choreography generation module: The server generates new dance choreography based on the filtered data using generative adversarial networks (GANs) and recurrent neural networks (RNNs). The generated results are stored in a database as movement sequences.

[0678] User device:

[0679] 1. User-provided module: Receives the generated choreography data and visualizes it on the device using 3D models and animations. Specifically, it displays the generated choreography using Unity or Blender technology.

[0680] 2. Feedback collection module: collects user feedback and sends it to the server. This feedback is used to improve the AI ​​model.

[0681] Specific examples

[0682] Youthful dance choreography:

[0683] 1. The server collects videos tagged with "Youth Dance" from YouTube.

[0684] 2. The server uses OpenPose to analyze the dancer's joint positions in the video and Librosa to extract the tempo of the music.

[0685] 3. The server filters the data using keywords such as "youth," "lively," and "pop."

[0686] 4. The server generates new youthful dance choreography based on the filtered data using GAN.

[0687] 5. The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[0688] Energetic performance:

[0689] 1. The server collects videos tagged as "energetic" from TikTok.

[0690] 2. The server analyzes the rhythm of the music using Librosa and extracts the dancer's movements using OpenPose.

[0691] 3. The server filters the data for keywords such as "energetic" and "high-tempo."

[0692] 4. The server generates new energetic choreography using the RNN.

[0693] 5. The device visualizes the generated choreography with 3D models and animations, and displays an interface that allows the user to provide feedback.

[0694] This system allows the latest dance trends to be easily incorporated and immediately applied to entertainment venues, and can also be improved based on user feedback.

[0695] Prompt Sentence Examples

[0696] "Generate youth pop dance choreography"

[0697] "Please create choreography that matches the energetic music."

[0698] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0699] Step 1:

[0700] Video Collection

[0701] The server uses the APIs of platforms such as YouTube, TikTok, and Instagram to search and collect videos based on keywords such as "dance" and "trends." At the same time, it also obtains video metadata (title, tags, number of views, etc.) and stores them in a database. The input is keywords and the platform's API key, and the output is the collected video data and corresponding metadata.

[0702] Step 2:

[0703] Video Analysis

[0704] The server analyzes the collected video data. This analysis uses a posture estimation algorithm using OpenPose to identify the positions of the joints and bones of people in the video. It also uses Librosa to analyze the tempo and rhythm of the music. The input is the video data, and the output is the analyzed posture information and music data (in JSON format).

[0705] Step 3:

[0706] Data Classification and Filtering

[0707] The server then classifies and filters the data based on the analysis results, based on dance genre, style, difficulty, and branding characteristics, thereby selecting the data that best meets the user's needs. The input is the analyzed posture information and music data, and the output is the classified and filtered data.

[0708] Step 4:

[0709] Choreography generation

[0710] The server uses the classified and filtered data as input to generate new dance choreography using a generative adversarial network (GAN) or a recurrent neural network (RNN). The generated choreography is expressed as a sequence of movements. The input is the classified and filtered data, and the output is the generated choreography data.

[0711] Step 5:

[0712] Choreography Visualization

[0713] The device receives new choreography data provided by the server and visualizes it using 3D models and animations. This visualization is done using technologies such as Unity and Blender. The input is the generated choreography data, and the output is the visualized dance choreography.

[0714] Step 6:

[0715] Feedback collection

[0716] Users review the visualized choreography and provide feedback, which is sent to the server via their devices. The server then uses the collected feedback to improve the AI ​​model. The input is user feedback, and the output is an improved AI model and the quality of the choreography.

[0717] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[0718] MODE FOR CARRYING OUT THE INVENTION

[0719] Overall system configuration

[0720] The system of the present invention is composed of the following main modules to generate and propose optimal dance choreography for idol groups.

[0721] 1. Video Collection Module

[0722] 2. Video Analysis Module

[0723] 3. Data Classification and Filtering Module

[0724] 4. Choreography Generation Module

[0725] 5. User-Contributed Modules

[0726] 6. Emotion Engine Module

[0727] Video Collection Module

[0728] The server collects video data through APIs from platforms rich in dance videos, such as YouTube, TikTok, and Instagram. This module uses automated scripts and API calls to search for and download videos based on keywords such as "dance" and "trend." The collected video data is then stored in a database along with metadata (e.g., title, tags, and view counts).

[0729] Video Analysis Module

[0730] The server analyzes the stored video data using the following two techniques:

[0731] Pose estimation algorithms: For example, OpenPose or MoveNet are used to identify the positions of a person's joints and skeleton in a video and extract their movements.

[0732] Music analysis tool: Analyzes the tempo and rhythm of music to evaluate the synchronization of dance movements with music.

[0733] The analysis results are stored in a database as structured data (e.g., JSON format).

[0734] Data Classification and Filtering Module

[0735] The server categorizes the data based on the analysis results, such as dance genre, style, and difficulty level. It then filters the data based on the idol group's branding characteristics (e.g., youthful, lively, energetic, sexy, etc.). This filtering allows the data to be selected that best meets the user's needs.

[0736] Choreography generation module

[0737] The server uses the filtered data as input to generate new dance choreography using an AI model (e.g., a generative adversarial network (GAN) or a recurrent neural network (RNN)). The generated choreography is expressed as a series of movement sequences, including specific movement details (e.g., posture, speed, and angle). The generated results are stored in a database and prepared for presentation to users.

[0738] User-Contributed Modules

[0739] The terminal (user's device) receives new choreography data provided by the server and visualizes it on a UI. This UI displays the choreography using 3D models and animations, providing an interface for users to check and adjust the movements. Users can also send feedback to the server via their terminal. This feedback is used to improve the AI ​​model, continuously improving the quality of the choreography.

[0740] Emotion Engine Module

[0741] The device is equipped with an emotion engine for recognizing the user's emotions. This emotion engine recognizes emotions by analyzing the user's facial expressions, voice, or biometric information. The generated choreography is personalized based on the user's emotional information recognized by the emotion engine. For example, if the user shows positive emotions, a more energetic and cheerful choreography is suggested. Conversely, if the user shows signs of fatigue, a quieter and more relaxing choreography is suggested.

[0742] The device sends the recognized emotion data to the server, which stores the data in a database and uses it to generate future choreography. This cycle provides personalized choreography based on the user's emotions, increasing user satisfaction.

[0743] Specific examples

[0744] Youthful dance choreography

[0745] 1. The server collects videos tagged with "Youth Dance" from YouTube.

[0746] 2. The server uses OpenPose to analyze the dancer's joint positions in the video and extracts the tempo of the music using a music analysis tool.

[0747] 3. The server filters the data using keywords such as "youth," "lively," and "pop."

[0748] 4. The server generates new youthful dance choreography based on the filtered data using GAN.

[0749] 5. The device recognizes the user's emotions and adjusts the choreography based on the recognized emotions. For example, if the user is having fun, it will incorporate more fast-paced movements.

[0750] 6. The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[0751] Energetic performance

[0752] 1. The server collects videos tagged as "energetic" from TikTok.

[0753] 2. The server analyzes the rhythm of the music using a video music analysis tool and extracts the dancer's movements using a posture estimation algorithm.

[0754] 3. The server filters the data for keywords such as "energetic" and "high-tempo."

[0755] 4. The server generates new energetic choreography using the RNN.

[0756] 5. The device recognizes the user's emotions and adjusts the choreography based on the recognized emotions. For example, if the user feels energetic, it generates choreography with more dynamic movements.

[0757] 6. The device displays an interface that visualizes the generated choreography and allows the user to provide feedback.

[0758] This system allows users to easily incorporate the latest dance trends and easily create diverse and innovative choreography that responds to their emotions.

[0759] The processing flow will be explained below.

[0760] Program processing flow

[0761] The specific processing steps of the system that combines the emotion engine will be explained below.

[0762] Step 1: Collect video data

[0763] server:

[0764] The server performs keyword searches such as "dance" and "trend" via API from various dance video platforms such as YouTube, TikTok, and Instagram.

[0765] Get the metadata of videos found based on keywords and download the video files.

[0766] The downloaded video data and metadata are saved in a database.

[0767] Step 2: Analyze the video

[0768] server:

[0769] The collected video data is analyzed using a pose estimation algorithm (e.g., OpenPose or MoveNet) to detect the positions of the person's joints and skeleton.

[0770] Use music analysis tools to extract the tempo, rhythm, and beat of the music data in your video.

[0771] The analysis results are stored in a database as structured data.

[0772] Step 3: Classify and filter the data

[0773] server:

[0774] Based on the analysis results, the data is classified by dance genre (e.g., hip hop, ballet, pop, etc.), style, difficulty level, etc.

[0775] Filter the data by the branding characteristics of idol groups (e.g., youthful, lively, energetic, sexy, etc.).

[0776] Prepare the filtered data for the next step.

[0777] Step 4: Generate new dance choreography

[0778] server:

[0779] Using the filtered data as input, new dance choreography is generated using generative adversarial networks (GANs) and recurrent neural networks (RNNs).

[0780] The generated choreography is expressed as a sequence of movements, including details of the movements (posture, speed, angle, etc.).

[0781] The generated results are saved in a database.

[0782] Step 5: Recognizing User Emotions

[0783] Device:

[0784] When a user requests a new choreography using the terminal, the emotion engine analyzes the user's facial expression, voice, or biometric information to recognize the user's emotion.

[0785] The recognized emotion information is stored in a database and used in the next step.

[0786] Step 6: Personalize choreography based on emotions

[0787] server:

[0788] The server personalizes the generated choreography based on the stored emotion information.

[0789] For example, if the user is showing positive emotions, choreography that includes a lot of fast-paced, energetic movements will be suggested.

[0790] The personalized choreography is stored in a database as the final generated result.

[0791] Step 7: Providing the generated choreography

[0792] Device:

[0793] It receives the final choreography data provided by the server and visualizes it on the UI.

[0794] It uses 3D models and animations to display choreography and provides an interface that allows users to review and adjust movements.

[0795] The user reviews the choreography, makes adjustments as necessary, and sends feedback to the server via their device.

[0796] Specific examples

[0797] Youthful dance choreography

[0798] Step 1:

[0799] The server collects videos tagged with "youth dance" from YouTube.

[0800] Step 2:

[0801] The server uses OpenPose to analyze the joint positions of the dancers in the video and extracts the tempo of the music using a music analysis tool.

[0802] Step 3:

[0803] The server filters the data using keywords such as "youth," "energy," and "pop."

[0804] Step 4:

[0805] The server generates new youthful dance choreography based on the filtered data using GAN.

[0806] Step 5:

[0807] The terminal recognizes the user's emotions when requesting a choreography and stores them in a database.

[0808] Step 6:

[0809] The server personalizes the choreography by taking into account the user's emotions: if the user is having fun, it will provide choreography with lots of fast-paced, fun movements.

[0810] Step 7:

[0811] The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[0812] Energetic performance

[0813] Step 1:

[0814] The server collects videos from TikTok that are tagged as "energetic."

[0815] Step 2:

[0816] The server analyzes the rhythm of the music using a video music analysis tool and extracts the dancer's movements using a posture estimation algorithm.

[0817] Step 3:

[0818] The server filters the data for keywords such as "energetic" and "fast-paced."

[0819] Step 4:

[0820] The server uses RNNs to generate new energetic choreography.

[0821] Step 5:

[0822] The terminal recognizes the user's emotions when requesting a choreography and stores them in a database.

[0823] Step 6:

[0824] The server personalizes the choreography by taking into account the user's emotions: if the user is showing energetic emotions, it provides a choreography with powerful movements.

[0825] Step 7:

[0826] The terminal displays an interface that visualizes the generated choreography and allows the user to provide feedback.

[0827] This system allows users to easily incorporate the latest dance trends and easily create diverse and innovative choreography that responds to their emotions.

[0828] Example 2

[0829] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0830] Conventional choreography creation methods rely on the experience and sensibility of choreographers, which not only takes time and effort, but also has the problem of lacking dance diversity and responsiveness to trends. Furthermore, the generated choreography often does not match the characteristics of the target group or the emotions of the user. It is necessary to solve these problems and provide efficient and diverse choreography.

[0831] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting dance videos from a video platform, means for analyzing the collected dance videos to extract data on the joint positions of people and the tempo and rhythm of music, means for classifying and filtering the data based on the analysis results based on the dance genre and style, difficulty level, and characteristics of the target group, means for using the classified and filtered data to generate new dance choreography using an AI model, means for visualizing the generated dance choreography using 3D models and animations and providing it to the user, and means for recognizing the user's emotions and adjusting the choreography. This makes it possible to efficiently generate choreography incorporating various dance styles and the latest trends and provide personalized choreography according to the user's characteristics and emotions.

[0832] "Video Platform" means an online service that enables users to upload, view, and share videos.

[0833] "Dance video" refers to video content that records a dance performance on video.

[0834] "Person's joint positions" refers to coordinate information of the main joints of the person's body in the video.

[0835] "Music tempo and rhythm data" refers to data related to the speed (beats per minute, BPM) and rhythm patterns of a song.

[0836] A "pose estimation algorithm" refers to a computational method for identifying the skeletal structure and joint positions of a person in a video.

[0837] A "music analysis tool" refers to software or programs that analyze the structure of a song and extract musical characteristics such as tempo, rhythm, and beat.

[0838] A "dance genre" refers to a category of dance styles based on a particular musical or cultural background.

[0839] "Target group characteristics" refers to the basic attributes (age, gender, cultural background, etc.) of the audience or user demographic for which a particular dance performance is intended.

[0840] "Filtering" refers to the act of selecting, organizing, or removing data based on specific criteria.

[0841] "AI model" refers to the algorithmic structure of artificial intelligence based on machine learning and deep learning.

[0842] A "generative adversarial network (GAN)" is a generative model that uses two neural networks to generate data and evaluate its quality.

[0843] A "recurrent neural network (RNN)" is a type of neural network used to handle time-series data.

[0844] A "3D model" refers to an object or character that is represented in three dimensions on a computer.

[0845] "Animation" refers to the technique of displaying still images in succession to express movement, and the resulting product.

[0846] "Recognizing a user's emotions" refers to the process of analyzing and understanding a user's emotional state from facial expressions, voice, biometric information, etc.

[0847] An "emotion engine" refers to specialized software or algorithms for analyzing user emotions.

[0848] MODE FOR CARRYING OUT THE INVENTION

[0849] Overall system configuration

[0850] The system of the present invention is composed of the following main modules to generate and propose optimal dance choreography for idol groups.

[0851] 1. Video Collection Module

[0852] 2. Video Analysis Module

[0853] 3. Data Classification and Filtering Module

[0854] 4. Choreography Generation Module

[0855] 5. User-Contributed Modules

[0856] 6. Emotion Recognition and Regulation Module

[0857] Video Collection Module

[0858] The server collects dance videos from major video platforms such as YouTube, TikTok, and Instagram using automated scripts and API calls. It searches for keywords such as "dance" and "trend" and downloads relevant videos. The downloaded videos are then stored in a database along with their metadata (title, tags, view count, etc.).

[0859] Video Analysis Module

[0860] The server uses pose estimation algorithms (e.g., OpenPose and MoveNet) and music analysis tools to analyze the collected videos, extracting dancer joint position information and music tempo and rhythm data from the videos, and storing them in a database as structured data in JSON format.

[0861] Data Classification and Filtering Module

[0862] Based on the analysis results, the server categorizes the data into dance genres, styles, difficulty levels, etc. It also filters the data based on the idol group's characteristics (e.g., youthful, lively, energetic, sexy, etc.), thereby selecting the data that best meets the user's needs.

[0863] Choreography generation module

[0864] The server uses the classified and filtered data as input to generate new dance choreography using AI models (generative adversarial networks (GAN) or recurrent neural networks (RNN)). The generated choreography is stored in a database as a series of movement sequences, including specific movement details (e.g., posture, speed, and angle).

[0865] User-Contributed Modules

[0866] The terminal (user's device) receives new choreography data sent from the server and provides a user interface that visualizes it using 3D models and animations. The user can check and adjust the movements through this interface. The user can also send feedback from the terminal to the server, which is used to improve the AI ​​model.

[0867] Emotion Recognition and Regulation Module

[0868] The device is equipped with an emotion engine that recognizes the user's emotions. This engine analyzes the user's facial expressions, voice, and biometric information to understand their emotional state. The generated choreography is then adjusted based on the recognized emotion. For example, if a positive emotion is recognized, energetic choreography is suggested, while if signs of fatigue are present, relaxation-focused choreography is suggested. Emotion data is sent to the server and used to generate future choreography and improve the model.

[0869] Specific examples

[0870] Youthful dance choreography

[0871] The server collects videos tagged "youth dance" from YouTube. Next, it uses OpenPose to analyze the dancers' joint positions in the videos and extracts the song's tempo using a music analysis tool. The data is then filtered for keywords such as "youth," "lively," and "pop." Based on the filtered data, a new youthful dance choreography is generated using a GAN. The device recognizes the user's emotions and adjusts the choreography based on the recognized emotions. For example, if the user is having fun, it will incorporate more fast-paced movements. Finally, the generated choreography is visualized as a 3D model, providing an interface for the user to view and adjust.

[0872] Example prompt:

[0873] Youthful dance videos were collected from YouTube, joint positions were analyzed using OpenPose, and tempo was extracted using a music analysis tool. The data was filtered by "youth" and "energy," and new youthful choreography was generated using GAN. The device recognized the user's emotions and suggested faster-paced movements.

[0874] Energetic performance

[0875] The server collects videos tagged as "energetic" from TikTok. Next, it analyzes the rhythm of the music using a music analysis tool and extracts the dancer's movements using a posture estimation algorithm. It then filters the data for keywords such as "energetic" and "high-tempo." It then generates new energetic choreography using an RNN. The device recognizes the user's emotions and adjusts the choreography based on the recognized emotions. For example, if the user feels energetic, it generates choreography with more dynamic movements. Finally, it displays an interface that visualizes the generated choreography and allows the user to provide feedback.

[0876] Example prompt:

[0877] Energetic dance videos are collected from TikTok, the rhythm of the music is analyzed, and movements are extracted using a posture estimation algorithm. The data is filtered by "energetic" and "high tempo," and new choreography is generated using an RNN. The device recognizes the user's emotions and suggests ways to amplify the movements.

[0878] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0879] Step 1: Video Collection

[0880] The server uses APIs to collect dance videos from video platforms such as YouTube, TikTok, and Instagram. The input is keywords such as "dance" and "trend," and the output is the video data and its metadata.

[0881] Specific behavior:

[0882] The server sends a query for "Youth Dance" to the YouTube API and lists the video URLs that are returned.

[0883] A download process is performed for each video URL, and the video file and metadata (title, tags, number of views, etc.) are saved to local storage.

[0884] Step 2: Video analysis

[0885] The server analyzes the collected video. The input is the video data collected in step 1, and the output is the joint position information of the person and the tempo and rhythm data of the music.

[0886] Specific behavior:

[0887] Using OpenPose, the skeletal information (joint positions) of the dancer in the video is extracted and saved in JSON format.

[0888] Using a music analysis tool, the tempo (BPM) and rhythm pattern of the song are extracted from the music data in the video and stored in a database as structured data.

[0889] Step 3: Data classification and filtering

[0890] The server classifies and filters the data based on the analysis results. The input is the analyzed data obtained in step 2, and the output is the classified and filtered dataset.

[0891] Specific behavior:

[0892] Tags associated with "youth" and "energy" are extracted from the analysis data, and only the corresponding video data is selected.

[0893] Data that meets specified conditions, such as difficulty level "intermediate," is filtered to extract only specific choreography patterns.

[0894] Step 4: Choreography generation

[0895] The server generates new dance choreography using an AI model based on the classified and filtered data. The input is the dataset filtered in step 3, and the output is the newly generated choreography data.

[0896] Specific behavior:

[0897] The filtered dataset is then fed into a generative adversarial network (GAN) to generate new dance movements.

[0898] The generated motion sequence is saved in JSON format, and specific posture, speed, and angle information is added.

[0899] Step 5: User Provided

[0900] The terminal (user device) receives the choreography data sent from the server and visualizes it through a user interface. The input is the choreography data generated in step 4, and the output is a visualized choreography that the user can check and adjust.

[0901] Specific behavior:

[0902] It receives choreography data in JSON format from the server and converts it into a 3D model animation.

[0903] The user interface provides functions such as play, pause, and rewind, allowing users to check and adjust choreography.

[0904] Step 6: Emotion recognition and regulation

[0905] The device recognizes the user's emotions and adjusts the choreography accordingly. The input is the user's facial expressions, voice, and biometric information, and the output is the adjusted choreography data.

[0906] Specific behavior:

[0907] Using an emotion recognition module, the system analyzes the user's facial expression data in real time, adjusting the choreography to a faster tempo if the expression is positive, and to a more relaxation-oriented choreography if the expression is negative.

[0908] The recognized emotion data is sent to the server and used for future choreography generation and model improvement.

[0909] This completes the processing flow of the entire system, allowing efficient and diverse dance choreography to be generated and provided to the user.

[0910] (Application example 2)

[0911] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0912] In today's world, dance performances have become an important element of entertainment and promotional activities. However, it is difficult to generate optimal dance choreography for each individual project or event. Furthermore, the inability to provide personalized choreography based on the user's emotions and preferences results in a lack of improvement in the quality of entertainment. The present invention aims to solve these problems by providing a system that efficiently generates and provides dance choreography that meets a variety of needs.

[0913] The specification processing by the specification 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 collecting dance videos from around the world, means for analyzing the collected dance videos to extract posture and music data, means for classifying and filtering the data based on the dance genre and style based on the analysis results, means for generating new dance choreography using the classified and filtered data, means for analyzing user emotion data and personalizing the generated dance choreography, and means for providing the generated dance choreography to the user. This makes it possible to generate and provide optimal dance choreography based on the user's emotions and preferences.

[0914] The "means for collecting dance videos from around the world" is a method for automatically searching and collecting dance videos from a wide range of platforms on the Internet.

[0915] The "means for analyzing collected dance videos and extracting posture and music data" is a method for analyzing the posture of the dancers in the videos and simultaneously analyzing and extracting music data such as the tempo and rhythm of the music.

[0916] "Means for classifying and filtering data based on dance genre and style" refers to a method for organizing analyzed data by dance genre and style and excluding inappropriate data.

[0917] The "means for generating new dance choreography" is a method for designing and constructing new dance choreography using AI technology based on classified and filtered data.

[0918] "Means for analyzing user emotional data and personalizing generated dance choreography" refers to a method for analyzing a user's emotional state and optimizing and customizing the generated choreography based on that information.

[0919] The "means for providing the generated dance choreography to the user" refers to a method for displaying and sharing the finally generated personalized dance choreography on the user's device.

[0920] Overall system configuration

[0921] The system embodying the invention is intended to generate and deliver dance performances and comprises the following main modules:

[0922] 1. Video Collection Module

[0923] 2. Video Analysis Module

[0924] 3. Data Classification and Filtering Module

[0925] 4. Choreography Generation Module

[0926] 5. User-Contributed Modules

[0927] 6. Sentiment Analysis Module

[0928] Video Collection Module

[0929] The server uses APIs and automated scripts to collect dance videos from a wide range of platforms on the Internet. For example, it searches for videos using keywords such as "energetic dance" or "trending dance" on YouTube, TikTok, Instagram, etc. These videos are then stored in a database along with metadata (title, tags, number of views, etc.).

[0930] Video Analysis Module

[0931] The server analyzes the collected video data. This analysis includes the following techniques:

[0932] Using a pose estimation algorithm (e.g., OpenPose, MoveNet), we identify the joint positions of the dancer in the video and extract their movements.

[0933] Using music analysis tools, the tempo and rhythm of the song are analyzed to evaluate the synchronization of dance movements with the music.

[0934] The analysis results are stored in a database as structured data (such as JSON format).

[0935] Data Classification and Filtering Module

[0936] The server classifies the data into dance genres (energetic, relaxed, etc.) and styles (hip hop, jazz, etc.) based on the analysis results. It also filters the data based on the user's emotions and brand image. This allows the data to be selected according to the user's needs.

[0937] Choreography generation module

[0938] The server takes the filtered data as input and generates new dance choreography using AI models such as generative adversarial networks (GANs) and recurrent neural networks (RNNs). The generated choreography is expressed as a specific movement sequence, including details such as posture, speed, and angle. The results are stored in a database and prepared for presentation to users.

[0939] User-Contributed Modules

[0940] The device (such as the user's smartphone or tablet) receives new choreography data provided by the server and visualizes it on an interface. The interface uses 3D models and animations, allowing the user to check and adjust the choreography. The user can also send feedback to the server via the device, which is used to improve the AI ​​model.

[0941] Sentiment Analysis Module

[0942] The device is equipped with an emotion analysis engine that recognizes the user's emotions. This engine analyzes the user's facial expressions, voice, and biometric information to evaluate their emotional state. The generated choreography is personalized based on the results of this evaluation. For example, if the user is having fun, the system will suggest a more energetic choreography, and conversely, if the user is tired, the system will suggest a more relaxed choreography.

[0943] Specific examples

[0944] For example, if a user requests an energetic dance performance in a store, the server collects videos tagged with "energetic dance" from YouTube and analyzes the data with OpenPose and music analysis tools. It then uses filtering and AI models to generate new choreography, providing a personalized choreography based on the user's emotional state. This choreography is visualized as a 3D model on the smartphone interface for easy viewing by the user.

[0945] Specific prompt examples:

[0946] Create an energetic dance performance based on the latest trends. Use the following dataset to generate the perfect choreography for your next event.

[0947] Videos tagged "energetic dance" from YouTube

[0948] Pose data from OpenPose

[0949] User emotion data (e.g., happy, tired)

[0950] In this way, the present invention realizes a system that efficiently generates and provides customizable dance choreography according to the user's emotions and needs.

[0951] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0952] Step 1: Video Collection

[0953] The server uses APIs to automatically search and collect videos from video platforms such as YouTube and TikTok using keywords such as "energetic dance" and "trending dance." The input is the keywords, and the output is the collected video data.

[0954] Step 2: Video analysis

[0955] The server analyzes the collected video data. Specifically, it uses OpenPose to identify the joint positions of the dancers in the video and extract posture data. It then uses a music analysis tool to analyze the music data in the video and extract tempo, rhythm, and other parameters. The input is the collected video data, and the output is posture data and music data.

[0956] Step 3: Data classification and filtering

[0957] The server classifies and filters the data into dance genres and styles based on the analysis results. For example, it classifies based on keywords such as energetic or relaxed. The input is posture data and music data, and the output is the classified and filtered data.

[0958] Step 4: Choreography generation

[0959] The server generates new dance choreography based on the filtered data using an AI model (generative adversarial network or recurrent neural network). The input is the classified and filtered data, and the output is the new choreography data.

[0960] Step 5: Sentiment Analysis

[0961] The device uses an emotion engine to analyze the user's emotions. This engine analyzes the user's emotional state from facial expressions, voice, and biometric information. The input is the user's biometric information, and the output is the analyzed emotional data.

[0962] Step 6: Personalize the choreography

[0963] The server personalizes the generated dance choreography based on the results of emotion analysis. For example, if the user is having fun, it will suggest a more energetic choreography, and conversely, if the user is tired, it will suggest a more relaxed choreography. The input is emotion data and new choreography data, and the output is personalized choreography data.

[0964] Step 7: User Provided

[0965] The device visualizes the personalized choreography data on the interface. It displays the choreography using 3D models and animations, allowing the user to check and adjust the movements. The input is the personalized choreography data, and the output is the visualization information for the user.

[0966] These steps allow users to easily generate and obtain customized dance choreography to enhance the quality of their entertainment.

[0967] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0968] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0969] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.

[0970] [Third embodiment]

[0971] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[0972] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.

[0973] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0974] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.

[0975] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[0976] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0977] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0978] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0979] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0980] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0981] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0982] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."

[0983] MODE FOR CARRYING OUT THE INVENTION

[0984] Overall system configuration

[0985] The system of the present invention is composed of the following main modules to generate and propose optimal dance choreography for idol groups.

[0986] 1. Video Collection Module

[0987] 2. Video Analysis Module

[0988] 3. Data Classification and Filtering Module

[0989] 4. Choreography Generation Module

[0990] 5. User-Contributed Modules

[0991] Video Collection Module

[0992] The server collects video data through APIs from platforms rich in dance videos, such as YouTube, TikTok, and Instagram. This module uses automated scripts and API calls to search for and download videos based on keywords such as "dance" and "trend." The collected video data is then stored in a database along with metadata (e.g., title, tags, and view counts).

[0993] Video Analysis Module

[0994] The server analyzes the stored video data using the following two techniques:

[0995] Pose estimation algorithms: For example, OpenPose or MoveNet are used to identify the positions of a person's joints and skeleton in a video and extract their movements.

[0996] Music analysis tool: Analyzes the tempo and rhythm of music to evaluate the synchronization of dance movements with music.

[0997] The analysis results are stored in a database as structured data (e.g., JSON format).

[0998] Data Classification and Filtering Module

[0999] The server categorizes the data based on the analysis results, such as dance genre, style, and difficulty level. It then filters the data based on the idol group's branding characteristics (e.g., youthful, lively, energetic, sexy, etc.). This filtering allows the data to be selected that best meets the user's needs.

[1000] Choreography generation module

[1001] The server uses the filtered data as input to generate new dance choreography using an AI model (e.g., a generative adversarial network (GAN) or a recurrent neural network (RNN). The generated choreography is expressed as a sequence of movements, including specific movement details (e.g., posture, speed, and angle). The generated results are stored in a database and prepared for presentation to users.

[1002] User-Contributed Modules

[1003] The terminal (user's device) receives new choreography data provided by the server and visualizes it on a UI. This UI displays the choreography using 3D models and animations, providing an interface for users to check and adjust the movements. Users can also send feedback to the server via their terminal. This feedback is used to improve the AI ​​model, continuously improving the quality of the choreography.

[1004] Specific examples

[1005] Youthful dance choreography

[1006] 1. The server collects videos tagged with "Youth Dance" from YouTube.

[1007] 2. The server uses OpenPose to analyze the dancer's joint positions in the video and extracts the tempo of the music using a rhythm analysis tool.

[1008] 3. The server filters the data using keywords such as "youth," "lively," and "pop."

[1009] 4. The server generates new youthful dance choreography based on the filtered data using GAN.

[1010] 5. The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[1011] Energetic performance

[1012] 1. The server collects videos tagged as "energetic" from TikTok.

[1013] 2. The server analyzes the rhythm of the music using a video music analysis tool and extracts the dancer's movements using a posture estimation algorithm.

[1014] 3. The server filters the data for keywords such as "energetic" and "high-tempo."

[1015] 4. The server generates new energetic choreography using the RNN.

[1016] 5. The device displays an interface that visualizes the generated choreography and allows the user to provide feedback.

[1017] Using this system, users can easily incorporate the latest dance trends and create diverse and innovative choreography.

[1018] The processing flow will be explained below.

[1019] Program processing flow

[1020] Specific processing steps will be explained below in order.

[1021] Step 1: Collect video data

[1022] server:

[1023] Keyword searches such as "dance" and "trend" are performed via API on various dance video platforms such as YouTube, TikTok, and Instagram.

[1024] Get the metadata of videos found based on keywords and download the video files.

[1025] The downloaded video data and metadata are saved in a database.

[1026] Step 2: Analyze the video

[1027] server:

[1028] The collected video data is analyzed using a pose estimation algorithm (e.g., OpenPose or MoveNet) to detect the positions of the person's joints and skeleton.

[1029] Use music analysis tools to extract the tempo, rhythm, and beat of the music data in your video.

[1030] The analysis results are stored in a database as structured data.

[1031] Step 3: Classify and filter the data

[1032] server:

[1033] Based on the analysis results, the data is classified by dance genre (e.g., hip hop, ballet, pop, etc.), style, difficulty level, etc.

[1034] Filter the data by the branding characteristics of idol groups (e.g., youthful, lively, energetic, sexy, etc.).

[1035] Prepare the filtered data for the next step.

[1036] Step 4: Generate new dance choreography

[1037] server:

[1038] Using the filtered data as input, new dance choreography is generated using generative adversarial networks (GANs) and recurrent neural networks (RNNs).

[1039] The generated choreography is expressed as a sequence of movements, including details of the movements (posture, speed, angle, etc.).

[1040] The generated results are saved in a database.

[1041] Step 5: Providing and Feedback on the Generated Choreography

[1042] Device:

[1043] A user requests a new choreography using a terminal.

[1044] The server transmits the generated choreography data to the terminal.

[1045] The device visualizes the generated choreography using 3D models and animations, providing an interface that makes it easy for users to check the movements.

[1046] The user reviews the choreography, makes adjustments as necessary, and sends feedback to the server via their device.

[1047] Through these steps, the optimal dance choreography for an idol group is efficiently generated and proposed.

[1048] Example 1

[1049] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1050] Existing dance choreography generation systems make it difficult for users to easily create choreography that reflects the latest dance trends. Furthermore, they lack a means to continuously improve the system based on user feedback. This limits the quality and variety of choreography, making it difficult to provide choreography that meets user needs.

[1051] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[1052] In this invention, the server includes means for collecting dance videos from around the world, means for analyzing the collected dance videos to extract posture and music data, means for classifying and filtering the data based on the analysis results and based on the dance genre and style, means for generating new dance choreography using the classified and filtered data, means for providing the generated dance choreography to users and visualizing it, and means for collecting user feedback and using it to improve the AI ​​model. This allows the system to easily generate high-quality choreography based on the latest dance trends and further enables continuous improvement of the system.

[1053] A "dance video" is a digital media file that records a dance performance as video.

[1054] A "pose estimation algorithm" is a computer algorithm that identifies the position of a person's joints and bones from images or video.

[1055] A "music analysis tool" is software for extracting musical characteristics such as rhythm and tempo of a song.

[1056] "Genre" is a classification that refers to a particular style or category of music or dance.

[1057] "Style" is a concept that indicates the individual characteristics and methods of expression of dance or music.

[1058] "Filtering" is the process of sorting data based on specific criteria or conditions.

[1059] A "generative adversarial network (GAN)" is a deep learning technique that generates data by pitting a generative network against a discriminative network.

[1060] A "recurrent neural network (RNN)" is an artificial neural network designed to handle sequential data.

[1061] A "3D model" is a digital representation of an object represented in three-dimensional space.

[1062] "Feedback" refers to evaluations and suggestions for improvement provided by users regarding the system's output.

[1063] A "server" is a computer system that provides data and services over a network.

[1064] A "terminal" is a device that allows a user to connect to a server and send and receive data.

[1065] MODE FOR CARRYING OUT THE INVENTION

[1066] System Overview

[1067] The system of this invention is composed of multiple modules to generate and propose optimal dance choreography for idol groups, specifically including a video collection module, a video analysis module, a data classification and filtering module, a choreography generation module, and a user-provided module.

[1068] Video Collection Module

[1069] The server collects dance videos from platforms such as YouTube, TikTok, and Instagram via API. For example, it uses the YouTube API to search for videos using keywords such as "dance" and "trend," and collects the relevant video data and its metadata. This data is stored in a database. For example, the server may collect videos tagged with "youth dance."

[1070] Video Analysis Module

[1071] The server uses a posture estimation algorithm (e.g., OpenPose, MoveNet) and a music analysis tool to analyze the collected video data. The posture estimation algorithm is used to identify the joint positions of people in the video, and the music analysis tool is used to analyze the tempo and rhythm of the music. The analysis results are stored in a database as structured data in JSON format. Specifically, the posture and rhythm analysis results of the "Youth Dance" are recorded in JSON format.

[1072] Data Classification and Filtering Module

[1073] Based on the analysis results, the server categorizes the data by dance genre, style, and difficulty level. It then filters the data based on the idol group's branding to select the data that best meets the user's needs. Specifically, it filters the data by keywords such as "youth," "energy," and "pop."

[1074] Choreography generation module

[1075] The server inputs the filtered data into an AI model (e.g., a generative adversarial network (GAN) or a recurrent neural network (RNN)) to generate new dance choreography. The generated choreography is stored in a database in a detailed format as a series of movement sequences. As a concrete example, the server uses a GAN to generate new youthful choreography.

[1076] User-Contributed Modules

[1077] The terminal (user's device) receives new choreography data provided by the server and visualizes it on a UI. This UI uses 3D models and animations to provide an interface where users can check and adjust the movements. In addition, users can send feedback to the server through their terminal. This feedback is used to improve the AI ​​model and continuously increase the quality of the choreography. For example, a user can send feedback to the server saying, "I want it to be a little more energetic."

[1078] Specific examples

[1079] Youthful dance choreography for idol groups

[1080] The server collects videos tagged with "youth dance" from YouTube.

[1081] The server uses OpenPose to analyze the joint positions of the dancers in the video and extracts the tempo of the music using a rhythm analysis tool.

[1082] The server filters the data using keywords such as "youth," "energy," and "pop."

[1083] The server uses GAN to generate new youthful dance choreography.

[1084] The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[1085] Prompt Sentence Examples

[1086] "Generate youthful dance choreography."

[1087] "Create energetic and lively dance choreography."

[1088] This system allows users to quickly adopt the latest dance trends and easily create diverse and innovative choreography.

[1089] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1090] Step 1:

[1091] The server accesses the APIs of platforms such as YouTube, TikTok, and Instagram, searches for videos using specific keywords (e.g., "dance" or "trend"), obtains the video URLs obtained as search results, and downloads the video data. This downloaded video data and its metadata (e.g., title, tags, and number of views) are then stored in a database.

[1092] Input: Keyword (e.g. "dance" or "trend")

[1093] Output: Video data and metadata (stored in a database)

[1094] Specific behavior:

[1095] The server sends a request to the YouTube API with "dance" as the keyword.

[1096] The server extracts the video URL from the returned video list and downloads the video.

[1097] The server stores the downloaded video data in a "dance video" database.

[1098] Step 2:

[1099] The server reads the video data collected from the database and analyzes the joint positions of the people in the video using pose estimation algorithms such as OpenPose and MoveNet. At the same time, it analyzes the tempo and rhythm of the music in the video using a music analysis tool. The analysis results are stored in the database as structured data in JSON format.

[1100] Input: Video data

[1101] Output: Analysis data (JSON format, saved in database)

[1102] Specific behavior:

[1103] The server runs a pose estimation algorithm (e.g., OpenPose) to extract the dancer's joint position information.

[1104] The server uses a music analysis tool to extract the BPM and rhythm pattern from the music in the video.

[1105] The server stores these analysis results in a "analysis data" database in JSON format.

[1106] Step 3:

[1107] The server categorizes the data based on the analysis results, such as dance genre, style, and difficulty level. It then filters the data based on the idol group's branding (e.g., youthful, energetic, sexy) to select the data that best meets the user's needs.

[1108] Input: Analysis data

[1109] Output: Filtered data (stored in database)

[1110] Specific behavior:

[1111] The server classifies and filters the data using keywords such as "youth," "energy," and "pop."

[1112] The server stores the filtered data in a "Classification and Filter Data" database.

[1113] Step 4:

[1114] The server then inputs the filtered data into an AI model (e.g., GAN or RNN) to generate new dance choreography. This generation process involves multiple epochs (iterations of learning). The generated choreography is then stored in a database as a sequence of movements, including the specific details of the movements.

[1115] Input: Filtered data

[1116] Output: Generated choreography data (stored in a database)

[1117] Specific behavior:

[1118] The server generates "youthful" choreography based on the filtered data using GAN.

[1119] The server stores the generated choreography in a "choreography data" database.

[1120] Step 5:

[1121] The terminal (user's device) receives new choreography data provided by the server and visualizes the choreography on the UI using 3D models and animations. The user can check the visualized choreography and adjust it as needed. The user also sends feedback to the server via the terminal.

[1122] Input: Generated choreography data

[1123] Output: visualized choreography, user feedback

[1124] Specific behavior:

[1125] The device uses 3D models to animate new choreography.

[1126] The user checks the displayed choreography and sends feedback such as "I'd like it to be a little more energetic" via the terminal.

[1127] The server receives user feedback and uses it to improve the AI ​​model.

[1128] This allows users to easily generate high-quality choreography based on the latest dance trends, while also enabling the system to continually improve.

[1129] (Application example 1)

[1130] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1131] Conventional dance choreography generation technology has the problem that choreography is generated one-way, making it difficult to incorporate user feedback and apply it in real time to entertainment. Furthermore, there are limited means to visually check the generated choreography, making it difficult for users to understand and practice it on the spot. To solve these issues, there is a need for a system that can generate and provide new choreography in real time and allow users to visually check it.

[1132] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[1133] In this invention, the server includes means for collecting dance videos from around the world, means for analyzing the collected dance videos to extract posture and music data, means for classifying and filtering the data based on the analysis results and the dance genre and style, means for generating new dance choreography using the classified and filtered data, means for providing the generated dance choreography to a user terminal and visualizing it using 3D models and animations, and means for collecting user feedback and using it to improve the system. This enables real-time generation and visualization of dance choreography, improving the quality of choreography by utilizing user feedback, and enabling immediate application in entertainment settings.

[1134] "Dance video" refers to video data containing a dance performance.

[1135] A "pose estimation algorithm" is a technology for identifying the positions of a person's joints and bones in a video and analyzing their movements.

[1136] A "music analysis tool" is a technology that analyzes the rhythm and tempo of music and extracts its characteristics as data.

[1137] "Data classification and filtering" is the process of organizing collected and analyzed data according to purpose and selecting appropriate data based on specific conditions.

[1138] A generative adversarial network (GAN) is a machine learning model that generates new data by having two neural networks compete and learn from each other.

[1139] A "recurrent neural network (RNN)" is a neural network that can predict future data by taking into account past data.

[1140] "Means for visualization using 3D models and animations" refers to a technology that displays the generated dance choreography as a three-dimensional model and animation, allowing users to understand it visually.

[1141] "Means of collecting feedback and using it to improve the system" refers to the process of collecting opinions and reactions from users and using them to improve the accuracy and performance of the system.

[1142] A "user terminal" is a device that allows a user to receive, check, and operate information, and includes smartphones, smart glasses, head-mounted displays, robots, etc.

[1143] "Real-time" refers to a situation where processing occurs almost simultaneously, meaning immediate response without delay.

[1144] The system for implementing the present invention comprises the following major modules:

[1145] Overall system configuration

[1146] server:

[1147] 1. Video Collection Module: The server uses APIs to collect video data from platforms such as YouTube, TikTok, and Instagram using keywords such as "dance" and "trend." The collected video data is stored in a database along with metadata (e.g., title, tags, and number of views).

[1148] 2. Video Analysis Module: The server analyzes the dancer's joint positions in the video using OpenPose and the tempo and rhythm of the music using Librosa. These analysis results are stored in a database in JSON format.

[1149] 3. Data Classification and Filtering Module: The server classifies and filters data based on dance genre, style, difficulty level, and branding characteristics.

[1150] 4. Choreography generation module: The server generates new dance choreography based on the filtered data using generative adversarial networks (GANs) and recurrent neural networks (RNNs). The generated results are stored in a database as movement sequences.

[1151] User device:

[1152] 1. User-provided module: Receives the generated choreography data and visualizes it on the device using 3D models and animations. Specifically, it displays the generated choreography using Unity or Blender technology.

[1153] 2. Feedback collection module: collects user feedback and sends it to the server. This feedback is used to improve the AI ​​model.

[1154] Specific examples

[1155] Youthful dance choreography:

[1156] 1. The server collects videos tagged with "Youth Dance" from YouTube.

[1157] 2. The server uses OpenPose to analyze the dancer's joint positions in the video and Librosa to extract the tempo of the music.

[1158] 3. The server filters the data using keywords such as "youth," "lively," and "pop."

[1159] 4. The server generates new youthful dance choreography based on the filtered data using GAN.

[1160] 5. The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[1161] Energetic performance:

[1162] 1. The server collects videos tagged as "energetic" from TikTok.

[1163] 2. The server analyzes the rhythm of the music using Librosa and extracts the dancer's movements using OpenPose.

[1164] 3. The server filters the data for keywords such as "energetic" and "high-tempo."

[1165] 4. The server generates new energetic choreography using the RNN.

[1166] 5. The device visualizes the generated choreography with 3D models and animations, and displays an interface that allows the user to provide feedback.

[1167] This system allows the latest dance trends to be easily incorporated and immediately applied to entertainment venues, and can also be improved based on user feedback.

[1168] Prompt Sentence Examples

[1169] "Generate youth pop dance choreography"

[1170] "Please create choreography that matches the energetic music."

[1171] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1172] Step 1:

[1173] Video Collection

[1174] The server uses the APIs of platforms such as YouTube, TikTok, and Instagram to search and collect videos based on keywords such as "dance" and "trends." At the same time, it also obtains video metadata (title, tags, number of views, etc.) and stores them in a database. The input is keywords and the platform's API key, and the output is the collected video data and corresponding metadata.

[1175] Step 2:

[1176] Video Analysis

[1177] The server analyzes the collected video data. This analysis uses a posture estimation algorithm using OpenPose to identify the positions of the joints and bones of people in the video. It also uses Librosa to analyze the tempo and rhythm of the music. The input is the video data, and the output is the analyzed posture information and music data (in JSON format).

[1178] Step 3:

[1179] Data Classification and Filtering

[1180] The server then classifies and filters the data based on the analysis results, based on dance genre, style, difficulty, and branding characteristics, thereby selecting the data that best meets the user's needs. The input is the analyzed posture information and music data, and the output is the classified and filtered data.

[1181] Step 4:

[1182] Choreography generation

[1183] The server uses the classified and filtered data as input to generate new dance choreography using a generative adversarial network (GAN) or a recurrent neural network (RNN). The generated choreography is expressed as a sequence of movements. The input is the classified and filtered data, and the output is the generated choreography data.

[1184] Step 5:

[1185] Choreography Visualization

[1186] The device receives new choreography data provided by the server and visualizes it using 3D models and animations. This visualization is done using technologies such as Unity and Blender. The input is the generated choreography data, and the output is the visualized dance choreography.

[1187] Step 6:

[1188] Feedback collection

[1189] Users review the visualized choreography and provide feedback, which is sent to the server via their devices. The server then uses the collected feedback to improve the AI ​​model. The input is user feedback, and the output is an improved AI model and the quality of the choreography.

[1190] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[1191] MODE FOR CARRYING OUT THE INVENTION

[1192] Overall system configuration

[1193] The system of the present invention is composed of the following main modules to generate and propose optimal dance choreography for idol groups.

[1194] 1. Video Collection Module

[1195] 2. Video Analysis Module

[1196] 3. Data Classification and Filtering Module

[1197] 4. Choreography Generation Module

[1198] 5. User-Contributed Modules

[1199] 6. Emotion Engine Module

[1200] Video Collection Module

[1201] The server collects video data through APIs from platforms rich in dance videos, such as YouTube, TikTok, and Instagram. This module uses automated scripts and API calls to search for and download videos based on keywords such as "dance" and "trend." The collected video data is then stored in a database along with metadata (e.g., title, tags, and view counts).

[1202] Video Analysis Module

[1203] The server analyzes the stored video data using the following two techniques:

[1204] Pose estimation algorithms: For example, OpenPose or MoveNet are used to identify the positions of a person's joints and skeleton in a video and extract their movements.

[1205] Music analysis tool: Analyzes the tempo and rhythm of music to evaluate the synchronization of dance movements with music.

[1206] The analysis results are stored in a database as structured data (e.g., JSON format).

[1207] Data Classification and Filtering Module

[1208] The server categorizes the data based on the analysis results, such as dance genre, style, and difficulty level. It then filters the data based on the idol group's branding characteristics (e.g., youthful, lively, energetic, sexy, etc.). This filtering allows the data to be selected that best meets the user's needs.

[1209] Choreography generation module

[1210] The server uses the filtered data as input to generate new dance choreography using an AI model (e.g., a generative adversarial network (GAN) or a recurrent neural network (RNN)). The generated choreography is expressed as a series of movement sequences, including specific movement details (e.g., posture, speed, and angle). The generated results are stored in a database and prepared for presentation to users.

[1211] User-Contributed Modules

[1212] The terminal (user's device) receives new choreography data provided by the server and visualizes it on a UI. This UI displays the choreography using 3D models and animations, providing an interface for users to check and adjust the movements. Users can also send feedback to the server via their terminal. This feedback is used to improve the AI ​​model, continuously improving the quality of the choreography.

[1213] Emotion Engine Module

[1214] The device is equipped with an emotion engine for recognizing the user's emotions. This emotion engine recognizes emotions by analyzing the user's facial expressions, voice, or biometric information. The generated choreography is personalized based on the user's emotional information recognized by the emotion engine. For example, if the user shows positive emotions, a more energetic and cheerful choreography is suggested. Conversely, if the user shows signs of fatigue, a quieter and more relaxing choreography is suggested.

[1215] The device sends the recognized emotion data to the server, which stores the data in a database and uses it to generate future choreography. This cycle provides personalized choreography based on the user's emotions, increasing user satisfaction.

[1216] Specific examples

[1217] Youthful dance choreography

[1218] 1. The server collects videos tagged with "Youth Dance" from YouTube.

[1219] 2. The server uses OpenPose to analyze the dancer's joint positions in the video and extracts the tempo of the music using a music analysis tool.

[1220] 3. The server filters the data using keywords such as "youth," "lively," and "pop."

[1221] 4. The server generates new youthful dance choreography based on the filtered data using GAN.

[1222] 5. The device recognizes the user's emotions and adjusts the choreography based on the recognized emotions. For example, if the user is having fun, it will incorporate more fast-paced movements.

[1223] 6. The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[1224] Energetic performance

[1225] 1. The server collects videos tagged as "energetic" from TikTok.

[1226] 2. The server analyzes the rhythm of the music using a video music analysis tool and extracts the dancer's movements using a posture estimation algorithm.

[1227] 3. The server filters the data for keywords such as "energetic" and "high-tempo."

[1228] 4. The server generates new energetic choreography using the RNN.

[1229] 5. The device recognizes the user's emotions and adjusts the choreography based on the recognized emotions. For example, if the user feels energetic, it generates choreography with more dynamic movements.

[1230] 6. The device displays an interface that visualizes the generated choreography and allows the user to provide feedback.

[1231] This system allows users to easily incorporate the latest dance trends and easily create diverse and innovative choreography that responds to their emotions.

[1232] The processing flow will be explained below.

[1233] Program processing flow

[1234] The specific processing steps of the system that combines the emotion engine will be explained below.

[1235] Step 1: Collect video data

[1236] server:

[1237] The server performs keyword searches such as "dance" and "trend" via API from various dance video platforms such as YouTube, TikTok, and Instagram.

[1238] Get the metadata of videos found based on keywords and download the video files.

[1239] The downloaded video data and metadata are saved in a database.

[1240] Step 2: Analyze the video

[1241] server:

[1242] The collected video data is analyzed using a pose estimation algorithm (e.g., OpenPose or MoveNet) to detect the positions of the person's joints and skeleton.

[1243] Use music analysis tools to extract the tempo, rhythm, and beat of the music data in your video.

[1244] The analysis results are stored in a database as structured data.

[1245] Step 3: Classify and filter the data

[1246] server:

[1247] Based on the analysis results, the data is classified by dance genre (e.g., hip hop, ballet, pop, etc.), style, difficulty level, etc.

[1248] Filter the data by the branding characteristics of idol groups (e.g., youthful, lively, energetic, sexy, etc.).

[1249] Prepare the filtered data for the next step.

[1250] Step 4: Generate new dance choreography

[1251] server:

[1252] Using the filtered data as input, new dance choreography is generated using generative adversarial networks (GANs) and recurrent neural networks (RNNs).

[1253] The generated choreography is expressed as a sequence of movements, including details of the movements (posture, speed, angle, etc.).

[1254] The generated results are saved in a database.

[1255] Step 5: Recognizing User Emotions

[1256] Device:

[1257] When a user requests a new choreography using the terminal, the emotion engine analyzes the user's facial expression, voice, or biometric information to recognize the user's emotion.

[1258] The recognized emotion information is stored in a database and used in the next step.

[1259] Step 6: Personalize choreography based on emotions

[1260] server:

[1261] The server personalizes the generated choreography based on the stored emotion information.

[1262] For example, if the user is showing positive emotions, choreography that includes a lot of fast-paced, energetic movements will be suggested.

[1263] The personalized choreography is stored in a database as the final generated result.

[1264] Step 7: Providing the generated choreography

[1265] Device:

[1266] It receives the final choreography data provided by the server and visualizes it on the UI.

[1267] It uses 3D models and animations to display choreography and provides an interface that allows users to review and adjust movements.

[1268] The user reviews the choreography, makes adjustments as necessary, and sends feedback to the server via their device.

[1269] Specific examples

[1270] Youthful dance choreography

[1271] Step 1:

[1272] The server collects videos tagged with "youth dance" from YouTube.

[1273] Step 2:

[1274] The server uses OpenPose to analyze the joint positions of the dancers in the video and extracts the tempo of the music using a music analysis tool.

[1275] Step 3:

[1276] The server filters the data using keywords such as "youth," "energy," and "pop."

[1277] Step 4:

[1278] The server generates new youthful dance choreography based on the filtered data using GAN.

[1279] Step 5:

[1280] The terminal recognizes the user's emotions when requesting a choreography and stores them in a database.

[1281] Step 6:

[1282] The server personalizes the choreography by taking into account the user's emotions: if the user is having fun, it will provide choreography with lots of fast-paced, fun movements.

[1283] Step 7:

[1284] The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[1285] Energetic performance

[1286] Step 1:

[1287] The server collects videos from TikTok that are tagged as "energetic."

[1288] Step 2:

[1289] The server analyzes the rhythm of the music using a video music analysis tool and extracts the dancer's movements using a posture estimation algorithm.

[1290] Step 3:

[1291] The server filters the data for keywords such as "energetic" and "fast-paced."

[1292] Step 4:

[1293] The server uses RNNs to generate new energetic choreography.

[1294] Step 5:

[1295] The terminal recognizes the user's emotions when requesting a choreography and stores them in a database.

[1296] Step 6:

[1297] The server personalizes the choreography by taking into account the user's emotions: if the user is showing energetic emotions, it provides a choreography with powerful movements.

[1298] Step 7:

[1299] The terminal displays an interface that visualizes the generated choreography and allows the user to provide feedback.

[1300] This system allows users to easily incorporate the latest dance trends and easily create diverse and innovative choreography that responds to their emotions.

[1301] Example 2

[1302] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1303] Conventional choreography creation methods rely on the experience and sensibility of choreographers, which not only takes time and effort, but also has the problem of lacking dance diversity and responsiveness to trends. Furthermore, the generated choreography often does not match the characteristics of the target group or the emotions of the user. It is necessary to solve these problems and provide efficient and diverse choreography.

[1304] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting dance videos from a video platform, means for analyzing the collected dance videos to extract data on the joint positions of people and the tempo and rhythm of music, means for classifying and filtering the data based on the analysis results based on the dance genre and style, difficulty level, and characteristics of the target group, means for using the classified and filtered data to generate new dance choreography using an AI model, means for visualizing the generated dance choreography using 3D models and animations and providing it to the user, and means for recognizing the user's emotions and adjusting the choreography. This makes it possible to efficiently generate choreography incorporating various dance styles and the latest trends and provide personalized choreography according to the user's characteristics and emotions.

[1305] "Video Platform" means an online service that enables users to upload, view, and share videos.

[1306] "Dance video" refers to video content that records a dance performance on video.

[1307] "Person's joint positions" refers to coordinate information of the main joints of the person's body in the video.

[1308] "Music tempo and rhythm data" refers to data related to the speed (beats per minute, BPM) and rhythm patterns of a song.

[1309] A "pose estimation algorithm" refers to a computational method for identifying the skeletal structure and joint positions of a person in a video.

[1310] A "music analysis tool" refers to software or programs that analyze the structure of a song and extract musical characteristics such as tempo, rhythm, and beat.

[1311] A "dance genre" refers to a category of dance styles based on a particular musical or cultural background.

[1312] "Target group characteristics" refers to the basic attributes (age, gender, cultural background, etc.) of the audience or user demographic for which a particular dance performance is intended.

[1313] "Filtering" refers to the act of selecting, organizing, or removing data based on specific criteria.

[1314] "AI model" refers to the algorithmic structure of artificial intelligence based on machine learning and deep learning.

[1315] A "generative adversarial network (GAN)" is a generative model that uses two neural networks to generate data and evaluate its quality.

[1316] A "recurrent neural network (RNN)" is a type of neural network used to handle time-series data.

[1317] A "3D model" refers to an object or character that is represented in three dimensions on a computer.

[1318] "Animation" refers to the technique of displaying still images in succession to express movement, and the resulting product.

[1319] "Recognizing a user's emotions" refers to the process of analyzing and understanding a user's emotional state from facial expressions, voice, biometric information, etc.

[1320] An "emotion engine" refers to specialized software or algorithms for analyzing user emotions.

[1321] MODE FOR CARRYING OUT THE INVENTION

[1322] Overall system configuration

[1323] The system of the present invention is composed of the following main modules to generate and propose optimal dance choreography for idol groups.

[1324] 1. Video Collection Module

[1325] 2. Video Analysis Module

[1326] 3. Data Classification and Filtering Module

[1327] 4. Choreography Generation Module

[1328] 5. User-Contributed Modules

[1329] 6. Emotion Recognition and Regulation Module

[1330] Video Collection Module

[1331] The server collects dance videos from major video platforms such as YouTube, TikTok, and Instagram using automated scripts and API calls. It searches for keywords such as "dance" and "trend" and downloads relevant videos. The downloaded videos are then stored in a database along with their metadata (title, tags, view count, etc.).

[1332] Video Analysis Module

[1333] The server uses pose estimation algorithms (e.g., OpenPose and MoveNet) and music analysis tools to analyze the collected videos, extracting dancer joint position information and music tempo and rhythm data from the videos, and storing them in a database as structured data in JSON format.

[1334] Data Classification and Filtering Module

[1335] Based on the analysis results, the server categorizes the data into dance genres, styles, difficulty levels, etc. It also filters the data based on the idol group's characteristics (e.g., youthful, lively, energetic, sexy, etc.), thereby selecting the data that best meets the user's needs.

[1336] Choreography generation module

[1337] The server uses the classified and filtered data as input to generate new dance choreography using AI models (generative adversarial networks (GAN) or recurrent neural networks (RNN)). The generated choreography is stored in a database as a series of movement sequences, including specific movement details (e.g., posture, speed, and angle).

[1338] User-Contributed Modules

[1339] The terminal (user's device) receives new choreography data sent from the server and provides a user interface that visualizes it using 3D models and animations. The user can check and adjust the movements through this interface. The user can also send feedback from the terminal to the server, which is used to improve the AI ​​model.

[1340] Emotion Recognition and Regulation Module

[1341] The device is equipped with an emotion engine that recognizes the user's emotions. This engine analyzes the user's facial expressions, voice, and biometric information to understand their emotional state. The generated choreography is then adjusted based on the recognized emotion. For example, if a positive emotion is recognized, energetic choreography is suggested, while if signs of fatigue are present, relaxation-focused choreography is suggested. Emotion data is sent to the server and used to generate future choreography and improve the model.

[1342] Specific examples

[1343] Youthful dance choreography

[1344] The server collects videos tagged "youth dance" from YouTube. Next, it uses OpenPose to analyze the dancers' joint positions in the videos and extracts the song's tempo using a music analysis tool. The data is then filtered for keywords such as "youth," "lively," and "pop." Based on the filtered data, a new youthful dance choreography is generated using a GAN. The device recognizes the user's emotions and adjusts the choreography based on the recognized emotions. For example, if the user is having fun, it will incorporate more fast-paced movements. Finally, the generated choreography is visualized as a 3D model, providing an interface for the user to view and adjust.

[1345] Example prompt:

[1346] Youthful dance videos were collected from YouTube, joint positions were analyzed using OpenPose, and tempo was extracted using a music analysis tool. The data was filtered by "youth" and "energy," and new youthful choreography was generated using GAN. The device recognized the user's emotions and suggested faster-paced movements.

[1347] Energetic performance

[1348] The server collects videos tagged as "energetic" from TikTok. Next, it analyzes the rhythm of the music using a music analysis tool and extracts the dancer's movements using a posture estimation algorithm. It then filters the data for keywords such as "energetic" and "high-tempo." It then generates new energetic choreography using an RNN. The device recognizes the user's emotions and adjusts the choreography based on the recognized emotions. For example, if the user feels energetic, it generates choreography with more dynamic movements. Finally, it displays an interface that visualizes the generated choreography and allows the user to provide feedback.

[1349] Example prompt:

[1350] Energetic dance videos are collected from TikTok, the rhythm of the music is analyzed, and movements are extracted using a posture estimation algorithm. The data is filtered by "energetic" and "high tempo," and new choreography is generated using an RNN. The device recognizes the user's emotions and suggests ways to amplify the movements.

[1351] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1352] Step 1: Video Collection

[1353] The server uses APIs to collect dance videos from video platforms such as YouTube, TikTok, and Instagram. The input is keywords such as "dance" and "trend," and the output is the video data and its metadata.

[1354] Specific behavior:

[1355] The server sends a query for "Youth Dance" to the YouTube API and lists the video URLs that are returned.

[1356] A download process is performed for each video URL, and the video file and metadata (title, tags, number of views, etc.) are saved to local storage.

[1357] Step 2: Video analysis

[1358] The server analyzes the collected video. The input is the video data collected in step 1, and the output is the joint position information of the person and the tempo and rhythm data of the music.

[1359] Specific behavior:

[1360] Using OpenPose, the skeletal information (joint positions) of the dancer in the video is extracted and saved in JSON format.

[1361] Using a music analysis tool, the tempo (BPM) and rhythm pattern of the song are extracted from the music data in the video and stored in a database as structured data.

[1362] Step 3: Data classification and filtering

[1363] The server classifies and filters the data based on the analysis results. The input is the analyzed data obtained in step 2, and the output is the classified and filtered dataset.

[1364] Specific behavior:

[1365] Tags associated with "youth" and "energy" are extracted from the analysis data, and only the corresponding video data is selected.

[1366] Data that meets specified conditions, such as difficulty level "intermediate," is filtered to extract only specific choreography patterns.

[1367] Step 4: Choreography generation

[1368] The server generates new dance choreography using an AI model based on the classified and filtered data. The input is the dataset filtered in step 3, and the output is the newly generated choreography data.

[1369] Specific behavior:

[1370] The filtered dataset is then fed into a generative adversarial network (GAN) to generate new dance movements.

[1371] The generated motion sequence is saved in JSON format, and specific posture, speed, and angle information is added.

[1372] Step 5: User Provided

[1373] The terminal (user device) receives the choreography data sent from the server and visualizes it through a user interface. The input is the choreography data generated in step 4, and the output is a visualized choreography that the user can check and adjust.

[1374] Specific behavior:

[1375] It receives choreography data in JSON format from the server and converts it into a 3D model animation.

[1376] The user interface provides functions such as play, pause, and rewind, allowing users to check and adjust choreography.

[1377] Step 6: Emotion recognition and regulation

[1378] The device recognizes the user's emotions and adjusts the choreography accordingly. The input is the user's facial expressions, voice, and biometric information, and the output is the adjusted choreography data.

[1379] Specific behavior:

[1380] Using an emotion recognition module, the system analyzes the user's facial expression data in real time, adjusting the choreography to a faster tempo if the expression is positive, and to a more relaxation-oriented choreography if the expression is negative.

[1381] The recognized emotion data is sent to the server and used for future choreography generation and model improvement.

[1382] This completes the processing flow of the entire system, allowing efficient and diverse dance choreography to be generated and provided to the user.

[1383] (Application example 2)

[1384] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1385] In today's world, dance performances have become an important element of entertainment and promotional activities. However, it is difficult to generate optimal dance choreography for each individual project or event. Furthermore, the inability to provide personalized choreography based on the user's emotions and preferences results in a lack of improvement in the quality of entertainment. The present invention aims to solve these problems by providing a system that efficiently generates and provides dance choreography that meets a variety of needs.

[1386] The specification processing by the specification 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 collecting dance videos from around the world, means for analyzing the collected dance videos to extract posture and music data, means for classifying and filtering the data based on the dance genre and style based on the analysis results, means for generating new dance choreography using the classified and filtered data, means for analyzing user emotion data and personalizing the generated dance choreography, and means for providing the generated dance choreography to the user. This makes it possible to generate and provide optimal dance choreography based on the user's emotions and preferences.

[1387] The "means for collecting dance videos from around the world" is a method for automatically searching and collecting dance videos from a wide range of platforms on the Internet.

[1388] The "means for analyzing collected dance videos and extracting posture and music data" is a method for analyzing the posture of the dancers in the videos and simultaneously analyzing and extracting music data such as the tempo and rhythm of the music.

[1389] "Means for classifying and filtering data based on dance genre and style" refers to a method for organizing analyzed data by dance genre and style and excluding inappropriate data.

[1390] The "means for generating new dance choreography" is a method for designing and constructing new dance choreography using AI technology based on classified and filtered data.

[1391] "Means for analyzing user emotional data and personalizing generated dance choreography" refers to a method for analyzing a user's emotional state and optimizing and customizing the generated choreography based on that information.

[1392] The "means for providing the generated dance choreography to the user" refers to a method for displaying and sharing the finally generated personalized dance choreography on the user's device.

[1393] Overall system configuration

[1394] The system embodying the invention is intended to generate and deliver dance performances and comprises the following main modules:

[1395] 1. Video Collection Module

[1396] 2. Video Analysis Module

[1397] 3. Data Classification and Filtering Module

[1398] 4. Choreography Generation Module

[1399] 5. User-Contributed Modules

[1400] 6. Sentiment Analysis Module

[1401] Video Collection Module

[1402] The server uses APIs and automated scripts to collect dance videos from a wide range of platforms on the Internet. For example, it searches for videos using keywords such as "energetic dance" or "trending dance" on YouTube, TikTok, Instagram, etc. These videos are then stored in a database along with metadata (title, tags, number of views, etc.).

[1403] Video Analysis Module

[1404] The server analyzes the collected video data. This analysis includes the following techniques:

[1405] Using a pose estimation algorithm (e.g., OpenPose, MoveNet), we identify the joint positions of the dancer in the video and extract their movements.

[1406] Using music analysis tools, the tempo and rhythm of the song are analyzed to evaluate the synchronization of dance movements with the music.

[1407] The analysis results are stored in a database as structured data (such as JSON format).

[1408] Data Classification and Filtering Module

[1409] The server classifies the data into dance genres (energetic, relaxed, etc.) and styles (hip hop, jazz, etc.) based on the analysis results. It also filters the data based on the user's emotions and brand image. This allows the data to be selected according to the user's needs.

[1410] Choreography generation module

[1411] The server takes the filtered data as input and generates new dance choreography using AI models such as generative adversarial networks (GANs) and recurrent neural networks (RNNs). The generated choreography is expressed as a specific movement sequence, including details such as posture, speed, and angle. The results are stored in a database and prepared for presentation to users.

[1412] User-Contributed Modules

[1413] The device (such as the user's smartphone or tablet) receives new choreography data provided by the server and visualizes it on an interface. The interface uses 3D models and animations, allowing the user to check and adjust the choreography. The user can also send feedback to the server via the device, which is used to improve the AI ​​model.

[1414] Sentiment Analysis Module

[1415] The device is equipped with an emotion analysis engine that recognizes the user's emotions. This engine analyzes the user's facial expressions, voice, and biometric information to evaluate their emotional state. The generated choreography is personalized based on the results of this evaluation. For example, if the user is having fun, the system will suggest a more energetic choreography, and conversely, if the user is tired, the system will suggest a more relaxed choreography.

[1416] Specific examples

[1417] For example, if a user requests an energetic dance performance in a store, the server collects videos tagged with "energetic dance" from YouTube and analyzes the data with OpenPose and music analysis tools. It then uses filtering and AI models to generate new choreography, providing a personalized choreography based on the user's emotional state. This choreography is visualized as a 3D model on the smartphone interface for easy viewing by the user.

[1418] Specific prompt examples:

[1419] Create an energetic dance performance based on the latest trends. Use the following dataset to generate the perfect choreography for your next event.

[1420] Videos tagged "energetic dance" from YouTube

[1421] Pose data from OpenPose

[1422] User emotion data (e.g., happy, tired)

[1423] In this way, the present invention realizes a system that efficiently generates and provides customizable dance choreography according to the user's emotions and needs.

[1424] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1425] Step 1: Video Collection

[1426] The server uses APIs to automatically search and collect videos from video platforms such as YouTube and TikTok using keywords such as "energetic dance" and "trending dance." The input is the keywords, and the output is the collected video data.

[1427] Step 2: Video analysis

[1428] The server analyzes the collected video data. Specifically, it uses OpenPose to identify the joint positions of the dancers in the video and extract posture data. It then uses a music analysis tool to analyze the music data in the video and extract tempo, rhythm, and other parameters. The input is the collected video data, and the output is posture data and music data.

[1429] Step 3: Data classification and filtering

[1430] The server classifies and filters the data into dance genres and styles based on the analysis results. For example, it classifies based on keywords such as energetic or relaxed. The input is posture data and music data, and the output is the classified and filtered data.

[1431] Step 4: Choreography generation

[1432] The server generates new dance choreography based on the filtered data using an AI model (generative adversarial network or recurrent neural network). The input is the classified and filtered data, and the output is the new choreography data.

[1433] Step 5: Sentiment Analysis

[1434] The device uses an emotion engine to analyze the user's emotions. This engine analyzes the user's emotional state from facial expressions, voice, and biometric information. The input is the user's biometric information, and the output is the analyzed emotional data.

[1435] Step 6: Personalize the choreography

[1436] The server personalizes the generated dance choreography based on the results of emotion analysis. For example, if the user is having fun, it will suggest a more energetic choreography, and conversely, if the user is tired, it will suggest a more relaxed choreography. The input is emotion data and new choreography data, and the output is personalized choreography data.

[1437] Step 7: User Provided

[1438] The device visualizes the personalized choreography data on the interface. It displays the choreography using 3D models and animations, allowing the user to check and adjust the movements. The input is the personalized choreography data, and the output is the visualization information for the user.

[1439] These steps allow users to easily generate and obtain customized dance choreography to enhance the quality of their entertainment.

[1440] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[1441] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1442] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.

[1443] [Fourth embodiment]

[1444] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[1445] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[1446] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[1447] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.

[1448] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[1449] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[1450] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[1451] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.

[1452] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[1453] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[1454] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[1455] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[1456] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1457] MODE FOR CARRYING OUT THE INVENTION

[1458] Overall system configuration

[1459] The system of the present invention is composed of the following main modules to generate and propose optimal dance choreography for idol groups.

[1460] 1. Video Collection Module

[1461] 2. Video Analysis Module

[1462] 3. Data Classification and Filtering Module

[1463] 4. Choreography Generation Module

[1464] 5. User-Contributed Modules

[1465] Video Collection Module

[1466] The server collects video data through APIs from platforms rich in dance videos, such as YouTube, TikTok, and Instagram. This module uses automated scripts and API calls to search for and download videos based on keywords such as "dance" and "trend." The collected video data is then stored in a database along with metadata (e.g., title, tags, and view counts).

[1467] Video Analysis Module

[1468] The server analyzes the stored video data using the following two techniques:

[1469] Pose estimation algorithms: For example, OpenPose or MoveNet are used to identify the positions of a person's joints and skeleton in a video and extract their movements.

[1470] Music analysis tool: Analyzes the tempo and rhythm of music to evaluate the synchronization of dance movements with music.

[1471] The analysis results are stored in a database as structured data (e.g., JSON format).

[1472] Data Classification and Filtering Module

[1473] The server categorizes the data based on the analysis results, such as dance genre, style, and difficulty level. It then filters the data based on the idol group's branding characteristics (e.g., youthful, lively, energetic, sexy, etc.). This filtering allows the data to be selected that best meets the user's needs.

[1474] Choreography generation module

[1475] The server uses the filtered data as input to generate new dance choreography using an AI model (e.g., a generative adversarial network (GAN) or a recurrent neural network (RNN). The generated choreography is expressed as a sequence of movements, including specific movement details (e.g., posture, speed, and angle). The generated results are stored in a database and prepared for presentation to users.

[1476] User-Contributed Modules

[1477] The terminal (user's device) receives new choreography data provided by the server and visualizes it on a UI. This UI displays the choreography using 3D models and animations, providing an interface for users to check and adjust the movements. Users can also send feedback to the server via their terminal. This feedback is used to improve the AI ​​model, continuously improving the quality of the choreography.

[1478] Specific examples

[1479] Youthful dance choreography

[1480] 1. The server collects videos tagged with "Youth Dance" from YouTube.

[1481] 2. The server uses OpenPose to analyze the dancer's joint positions in the video and extracts the tempo of the music using a rhythm analysis tool.

[1482] 3. The server filters the data using keywords such as "youth," "lively," and "pop."

[1483] 4. The server generates new youthful dance choreography based on the filtered data using GAN.

[1484] 5. The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[1485] Energetic performance

[1486] 1. The server collects videos tagged as "energetic" from TikTok.

[1487] 2. The server analyzes the rhythm of the music using a video music analysis tool and extracts the dancer's movements using a posture estimation algorithm.

[1488] 3. The server filters the data for keywords such as "energetic" and "high-tempo."

[1489] 4. The server generates new energetic choreography using the RNN.

[1490] 5. The device displays an interface that visualizes the generated choreography and allows the user to provide feedback.

[1491] Using this system, users can easily incorporate the latest dance trends and create diverse and innovative choreography.

[1492] The processing flow will be explained below.

[1493] Program processing flow

[1494] Specific processing steps will be explained below in order.

[1495] Step 1: Collect video data

[1496] server:

[1497] Keyword searches such as "dance" and "trend" are performed via API on various dance video platforms such as YouTube, TikTok, and Instagram.

[1498] Get the metadata of videos found based on keywords and download the video files.

[1499] The downloaded video data and metadata are saved in a database.

[1500] Step 2: Analyze the video

[1501] server:

[1502] The collected video data is analyzed using a pose estimation algorithm (e.g., OpenPose or MoveNet) to detect the positions of the person's joints and skeleton.

[1503] Use music analysis tools to extract the tempo, rhythm, and beat of the music data in your video.

[1504] The analysis results are stored in a database as structured data.

[1505] Step 3: Classify and filter the data

[1506] server:

[1507] Based on the analysis results, the data is classified by dance genre (e.g., hip hop, ballet, pop, etc.), style, difficulty level, etc.

[1508] Filter the data by the branding characteristics of idol groups (e.g., youthful, lively, energetic, sexy, etc.).

[1509] Prepare the filtered data for the next step.

[1510] Step 4: Generate new dance choreography

[1511] server:

[1512] Using the filtered data as input, new dance choreography is generated using generative adversarial networks (GANs) and recurrent neural networks (RNNs).

[1513] The generated choreography is expressed as a sequence of movements, including details of the movements (posture, speed, angle, etc.).

[1514] The generated results are saved in a database.

[1515] Step 5: Providing and Feedback on the Generated Choreography

[1516] Device:

[1517] A user requests a new choreography using a terminal.

[1518] The server transmits the generated choreography data to the terminal.

[1519] The device visualizes the generated choreography using 3D models and animations, providing an interface that makes it easy for users to check the movements.

[1520] The user reviews the choreography, makes adjustments as necessary, and sends feedback to the server via their device.

[1521] Through these steps, the optimal dance choreography for an idol group is efficiently generated and proposed.

[1522] Example 1

[1523] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1524] Existing dance choreography generation systems make it difficult for users to easily create choreography that reflects the latest dance trends. Furthermore, they lack a means to continuously improve the system based on user feedback. This limits the quality and variety of choreography, making it difficult to provide choreography that meets user needs.

[1525] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[1526] In this invention, the server includes means for collecting dance videos from around the world, means for analyzing the collected dance videos to extract posture and music data, means for classifying and filtering the data based on the analysis results and based on the dance genre and style, means for generating new dance choreography using the classified and filtered data, means for providing the generated dance choreography to users and visualizing it, and means for collecting user feedback and using it to improve the AI ​​model. This allows the system to easily generate high-quality choreography based on the latest dance trends and further enables continuous improvement of the system.

[1527] A "dance video" is a digital media file that records a dance performance as video.

[1528] A "pose estimation algorithm" is a computer algorithm that identifies the position of a person's joints and bones from images or video.

[1529] A "music analysis tool" is software for extracting musical characteristics such as rhythm and tempo of a song.

[1530] "Genre" is a classification that refers to a particular style or category of music or dance.

[1531] "Style" is a concept that indicates the individual characteristics and methods of expression of dance or music.

[1532] "Filtering" is the process of sorting data based on specific criteria or conditions.

[1533] A "generative adversarial network (GAN)" is a deep learning technique that generates data by pitting a generative network against a discriminative network.

[1534] A "recurrent neural network (RNN)" is an artificial neural network designed to handle sequential data.

[1535] A "3D model" is a digital representation of an object represented in three-dimensional space.

[1536] "Feedback" refers to evaluations and suggestions for improvement provided by users regarding the system's output.

[1537] A "server" is a computer system that provides data and services over a network.

[1538] A "terminal" is a device that allows a user to connect to a server and send and receive data.

[1539] MODE FOR CARRYING OUT THE INVENTION

[1540] System Overview

[1541] The system of this invention is composed of multiple modules to generate and propose optimal dance choreography for idol groups, specifically including a video collection module, a video analysis module, a data classification and filtering module, a choreography generation module, and a user-provided module.

[1542] Video Collection Module

[1543] The server collects dance videos from platforms such as YouTube, TikTok, and Instagram via API. For example, it uses the YouTube API to search for videos using keywords such as "dance" and "trend," and collects the relevant video data and its metadata. This data is stored in a database. For example, the server may collect videos tagged with "youth dance."

[1544] Video Analysis Module

[1545] The server uses a posture estimation algorithm (e.g., OpenPose, MoveNet) and a music analysis tool to analyze the collected video data. The posture estimation algorithm is used to identify the joint positions of people in the video, and the music analysis tool is used to analyze the tempo and rhythm of the music. The analysis results are stored in a database as structured data in JSON format. Specifically, the posture and rhythm analysis results of the "Youth Dance" are recorded in JSON format.

[1546] Data Classification and Filtering Module

[1547] Based on the analysis results, the server categorizes the data by dance genre, style, and difficulty level. It then filters the data based on the idol group's branding to select the data that best meets the user's needs. Specifically, it filters the data by keywords such as "youth," "energy," and "pop."

[1548] Choreography generation module

[1549] The server inputs the filtered data into an AI model (e.g., a generative adversarial network (GAN) or a recurrent neural network (RNN)) to generate new dance choreography. The generated choreography is stored in a database in a detailed format as a series of movement sequences. As a concrete example, the server uses a GAN to generate new youthful choreography.

[1550] User-Contributed Modules

[1551] The terminal (user's device) receives new choreography data provided by the server and visualizes it on a UI. This UI uses 3D models and animations to provide an interface where users can check and adjust the movements. In addition, users can send feedback to the server through their terminal. This feedback is used to improve the AI ​​model and continuously increase the quality of the choreography. For example, a user can send feedback to the server saying, "I want it to be a little more energetic."

[1552] Specific examples

[1553] Youthful dance choreography for idol groups

[1554] The server collects videos tagged with "youth dance" from YouTube.

[1555] The server uses OpenPose to analyze the joint positions of the dancers in the video and extracts the tempo of the music using a rhythm analysis tool.

[1556] The server filters the data using keywords such as "youth," "energy," and "pop."

[1557] The server uses GAN to generate new youthful dance choreography.

[1558] The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[1559] Prompt Sentence Examples

[1560] "Generate youthful dance choreography."

[1561] "Create energetic and lively dance choreography."

[1562] This system allows users to quickly adopt the latest dance trends and easily create diverse and innovative choreography.

[1563] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1564] Step 1:

[1565] The server accesses the APIs of platforms such as YouTube, TikTok, and Instagram, searches for videos using specific keywords (e.g., "dance" or "trend"), obtains the video URLs obtained as search results, and downloads the video data. This downloaded video data and its metadata (e.g., title, tags, and number of views) are then stored in a database.

[1566] Input: Keyword (e.g. "dance" or "trend")

[1567] Output: Video data and metadata (stored in a database)

[1568] Specific behavior:

[1569] The server sends a request to the YouTube API with "dance" as the keyword.

[1570] The server extracts the video URL from the returned video list and downloads the video.

[1571] The server stores the downloaded video data in a "dance video" database.

[1572] Step 2:

[1573] The server reads the video data collected from the database and analyzes the joint positions of the people in the video using pose estimation algorithms such as OpenPose and MoveNet. At the same time, it analyzes the tempo and rhythm of the music in the video using a music analysis tool. The analysis results are stored in the database as structured data in JSON format.

[1574] Input: Video data

[1575] Output: Analysis data (JSON format, saved in database)

[1576] Specific behavior:

[1577] The server runs a pose estimation algorithm (e.g., OpenPose) to extract the dancer's joint position information.

[1578] The server uses a music analysis tool to extract the BPM and rhythm pattern from the music in the video.

[1579] The server stores these analysis results in a "analysis data" database in JSON format.

[1580] Step 3:

[1581] The server categorizes the data based on the analysis results, such as dance genre, style, and difficulty level. It then filters the data based on the idol group's branding (e.g., youthful, energetic, sexy) to select the data that best meets the user's needs.

[1582] Input: Analysis data

[1583] Output: Filtered data (stored in database)

[1584] Specific behavior:

[1585] The server classifies and filters the data using keywords such as "youth," "energy," and "pop."

[1586] The server stores the filtered data in a "Classification and Filter Data" database.

[1587] Step 4:

[1588] The server then inputs the filtered data into an AI model (e.g., GAN or RNN) to generate new dance choreography. This generation process involves multiple epochs (iterations of learning). The generated choreography is then stored in a database as a sequence of movements, including the specific details of the movements.

[1589] Input: Filtered data

[1590] Output: Generated choreography data (stored in a database)

[1591] Specific behavior:

[1592] The server generates "youthful" choreography based on the filtered data using GAN.

[1593] The server stores the generated choreography in a "choreography data" database.

[1594] Step 5:

[1595] The terminal (user's device) receives new choreography data provided by the server and visualizes the choreography on the UI using 3D models and animations. The user can check the visualized choreography and adjust it as needed. The user also sends feedback to the server via the terminal.

[1596] Input: Generated choreography data

[1597] Output: visualized choreography, user feedback

[1598] Specific behavior:

[1599] The device uses 3D models to animate new choreography.

[1600] The user checks the displayed choreography and sends feedback such as "I'd like it to be a little more energetic" via the terminal.

[1601] The server receives user feedback and uses it to improve the AI ​​model.

[1602] This allows users to easily generate high-quality choreography based on the latest dance trends, while also enabling the system to continually improve.

[1603] (Application example 1)

[1604] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1605] Conventional dance choreography generation technology has the problem that choreography is generated one-way, making it difficult to incorporate user feedback and apply it in real time to entertainment. Furthermore, there are limited means to visually check the generated choreography, making it difficult for users to understand and practice it on the spot. To solve these issues, there is a need for a system that can generate and provide new choreography in real time and allow users to visually check it.

[1606] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[1607] In this invention, the server includes means for collecting dance videos from around the world, means for analyzing the collected dance videos to extract posture and music data, means for classifying and filtering the data based on the analysis results and the dance genre and style, means for generating new dance choreography using the classified and filtered data, means for providing the generated dance choreography to a user terminal and visualizing it using 3D models and animations, and means for collecting user feedback and using it to improve the system. This enables real-time generation and visualization of dance choreography, improving the quality of choreography by utilizing user feedback, and enabling immediate application in entertainment settings.

[1608] "Dance video" refers to video data containing a dance performance.

[1609] A "pose estimation algorithm" is a technology for identifying the positions of a person's joints and bones in a video and analyzing their movements.

[1610] A "music analysis tool" is a technology that analyzes the rhythm and tempo of music and extracts its characteristics as data.

[1611] "Data classification and filtering" is the process of organizing collected and analyzed data according to purpose and selecting appropriate data based on specific conditions.

[1612] A generative adversarial network (GAN) is a machine learning model that generates new data by having two neural networks compete and learn from each other.

[1613] A "recurrent neural network (RNN)" is a neural network that can predict future data by taking into account past data.

[1614] "Means for visualization using 3D models and animations" refers to a technology that displays the generated dance choreography as a three-dimensional model and animation, allowing users to understand it visually.

[1615] "Means of collecting feedback and using it to improve the system" refers to the process of collecting opinions and reactions from users and using them to improve the accuracy and performance of the system.

[1616] A "user terminal" is a device that allows a user to receive, check, and operate information, and includes smartphones, smart glasses, head-mounted displays, robots, etc.

[1617] "Real-time" refers to a situation where processing occurs almost simultaneously, meaning immediate response without delay.

[1618] The system for implementing the present invention comprises the following major modules:

[1619] Overall system configuration

[1620] server:

[1621] 1. Video Collection Module: The server uses APIs to collect video data from platforms such as YouTube, TikTok, and Instagram using keywords such as "dance" and "trend." The collected video data is stored in a database along with metadata (e.g., title, tags, and number of views).

[1622] 2. Video Analysis Module: The server analyzes the dancer's joint positions in the video using OpenPose and the tempo and rhythm of the music using Librosa. These analysis results are stored in a database in JSON format.

[1623] 3. Data Classification and Filtering Module: The server classifies and filters data based on dance genre, style, difficulty level, and branding characteristics.

[1624] 4. Choreography generation module: The server generates new dance choreography based on the filtered data using generative adversarial networks (GANs) and recurrent neural networks (RNNs). The generated results are stored in a database as movement sequences.

[1625] User device:

[1626] 1. User-provided module: Receives the generated choreography data and visualizes it on the device using 3D models and animations. Specifically, it displays the generated choreography using Unity or Blender technology.

[1627] 2. Feedback collection module: collects user feedback and sends it to the server. This feedback is used to improve the AI ​​model.

[1628] Specific examples

[1629] Youthful dance choreography:

[1630] 1. The server collects videos tagged with "Youth Dance" from YouTube.

[1631] 2. The server uses OpenPose to analyze the dancer's joint positions in the video and Librosa to extract the tempo of the music.

[1632] 3. The server filters the data using keywords such as "youth," "lively," and "pop."

[1633] 4. The server generates new youthful dance choreography based on the filtered data using GAN.

[1634] 5. The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[1635] Energetic performance:

[1636] 1. The server collects videos tagged as "energetic" from TikTok.

[1637] 2. The server analyzes the rhythm of the music using Librosa and extracts the dancer's movements using OpenPose.

[1638] 3. The server filters the data for keywords such as "energetic" and "high-tempo."

[1639] 4. The server generates new energetic choreography using the RNN.

[1640] 5. The device visualizes the generated choreography with 3D models and animations, and displays an interface that allows the user to provide feedback.

[1641] This system allows the latest dance trends to be easily incorporated and immediately applied to entertainment venues, and can also be improved based on user feedback.

[1642] Prompt Sentence Examples

[1643] "Generate youth pop dance choreography"

[1644] "Please create choreography that matches the energetic music."

[1645] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1646] Step 1:

[1647] Video Collection

[1648] The server uses the APIs of platforms such as YouTube, TikTok, and Instagram to search and collect videos based on keywords such as "dance" and "trends." At the same time, it also obtains video metadata (title, tags, number of views, etc.) and stores them in a database. The input is keywords and the platform's API key, and the output is the collected video data and corresponding metadata.

[1649] Step 2:

[1650] Video Analysis

[1651] The server analyzes the collected video data. This analysis uses a posture estimation algorithm using OpenPose to identify the positions of the joints and bones of people in the video. It also uses Librosa to analyze the tempo and rhythm of the music. The input is the video data, and the output is the analyzed posture information and music data (in JSON format).

[1652] Step 3:

[1653] Data Classification and Filtering

[1654] The server then classifies and filters the data based on the analysis results, based on dance genre, style, difficulty, and branding characteristics, thereby selecting the data that best meets the user's needs. The input is the analyzed posture information and music data, and the output is the classified and filtered data.

[1655] Step 4:

[1656] Choreography generation

[1657] The server uses the classified and filtered data as input to generate new dance choreography using a generative adversarial network (GAN) or a recurrent neural network (RNN). The generated choreography is expressed as a sequence of movements. The input is the classified and filtered data, and the output is the generated choreography data.

[1658] Step 5:

[1659] Choreography Visualization

[1660] The device receives new choreography data provided by the server and visualizes it using 3D models and animations. This visualization is done using technologies such as Unity and Blender. The input is the generated choreography data, and the output is the visualized dance choreography.

[1661] Step 6:

[1662] Feedback collection

[1663] Users review the visualized choreography and provide feedback, which is sent to the server via their devices. The server then uses the collected feedback to improve the AI ​​model. The input is user feedback, and the output is an improved AI model and the quality of the choreography.

[1664] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[1665] MODE FOR CARRYING OUT THE INVENTION

[1666] Overall system configuration

[1667] The system of the present invention is composed of the following main modules to generate and propose optimal dance choreography for idol groups.

[1668] 1. Video Collection Module

[1669] 2. Video Analysis Module

[1670] 3. Data Classification and Filtering Module

[1671] 4. Choreography Generation Module

[1672] 5. User-Contributed Modules

[1673] 6. Emotion Engine Module

[1674] Video Collection Module

[1675] The server collects video data through APIs from platforms rich in dance videos, such as YouTube, TikTok, and Instagram. This module uses automated scripts and API calls to search for and download videos based on keywords such as "dance" and "trend." The collected video data is then stored in a database along with metadata (e.g., title, tags, and view counts).

[1676] Video Analysis Module

[1677] The server analyzes the stored video data using the following two techniques:

[1678] Pose estimation algorithms: For example, OpenPose or MoveNet are used to identify the positions of a person's joints and skeleton in a video and extract their movements.

[1679] Music analysis tool: Analyzes the tempo and rhythm of music to evaluate the synchronization of dance movements with music.

[1680] The analysis results are stored in a database as structured data (e.g., JSON format).

[1681] Data Classification and Filtering Module

[1682] The server categorizes the data based on the analysis results, such as dance genre, style, and difficulty level. It then filters the data based on the idol group's branding characteristics (e.g., youthful, lively, energetic, sexy, etc.). This filtering allows the data to be selected that best meets the user's needs.

[1683] Choreography generation module

[1684] The server uses the filtered data as input to generate new dance choreography using an AI model (e.g., a generative adversarial network (GAN) or a recurrent neural network (RNN)). The generated choreography is expressed as a series of movement sequences, including specific movement details (e.g., posture, speed, and angle). The generated results are stored in a database and prepared for presentation to users.

[1685] User-Contributed Modules

[1686] The terminal (user's device) receives new choreography data provided by the server and visualizes it on a UI. This UI displays the choreography using 3D models and animations, providing an interface for users to check and adjust the movements. Users can also send feedback to the server via their terminal. This feedback is used to improve the AI ​​model, continuously improving the quality of the choreography.

[1687] Emotion Engine Module

[1688] The device is equipped with an emotion engine for recognizing the user's emotions. This emotion engine recognizes emotions by analyzing the user's facial expressions, voice, or biometric information. The generated choreography is personalized based on the user's emotional information recognized by the emotion engine. For example, if the user shows positive emotions, a more energetic and cheerful choreography is suggested. Conversely, if the user shows signs of fatigue, a quieter and more relaxing choreography is suggested.

[1689] The device sends the recognized emotion data to the server, which stores the data in a database and uses it to generate future choreography. This cycle provides personalized choreography based on the user's emotions, increasing user satisfaction.

[1690] Specific examples

[1691] Youthful dance choreography

[1692] 1. The server collects videos tagged with "Youth Dance" from YouTube.

[1693] 2. The server uses OpenPose to analyze the dancer's joint positions in the video and extracts the tempo of the music using a music analysis tool.

[1694] 3. The server filters the data using keywords such as "youth," "lively," and "pop."

[1695] 4. The server generates new youthful dance choreography based on the filtered data using GAN.

[1696] 5. The device recognizes the user's emotions and adjusts the choreography based on the recognized emotions. For example, if the user is having fun, it will incorporate more fast-paced movements.

[1697] 6. The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[1698] Energetic performance

[1699] 1. The server collects videos tagged as "energetic" from TikTok.

[1700] 2. The server analyzes the rhythm of the music using a video music analysis tool and extracts the dancer's movements using a posture estimation algorithm.

[1701] 3. The server filters the data for keywords such as "energetic" and "high-tempo."

[1702] 4. The server generates new energetic choreography using the RNN.

[1703] 5. The device recognizes the user's emotions and adjusts the choreography based on the recognized emotions. For example, if the user feels energetic, it generates choreography with more dynamic movements.

[1704] 6. The device displays an interface that visualizes the generated choreography and allows the user to provide feedback.

[1705] This system allows users to easily incorporate the latest dance trends and easily create diverse and innovative choreography that responds to their emotions.

[1706] The processing flow will be explained below.

[1707] Program processing flow

[1708] The specific processing steps of the system that combines the emotion engine will be explained below.

[1709] Step 1: Collect video data

[1710] server:

[1711] The server performs keyword searches such as "dance" and "trend" via API from various dance video platforms such as YouTube, TikTok, and Instagram.

[1712] Get the metadata of videos found based on keywords and download the video files.

[1713] The downloaded video data and metadata are saved in a database.

[1714] Step 2: Analyze the video

[1715] server:

[1716] The collected video data is analyzed using a pose estimation algorithm (e.g., OpenPose or MoveNet) to detect the positions of the person's joints and skeleton.

[1717] Use music analysis tools to extract the tempo, rhythm, and beat of the music data in your video.

[1718] The analysis results are stored in a database as structured data.

[1719] Step 3: Classify and filter the data

[1720] server:

[1721] Based on the analysis results, the data is classified by dance genre (e.g., hip hop, ballet, pop, etc.), style, difficulty level, etc.

[1722] Filter the data by the branding characteristics of idol groups (e.g., youthful, lively, energetic, sexy, etc.).

[1723] Prepare the filtered data for the next step.

[1724] Step 4: Generate new dance choreography

[1725] server:

[1726] Using the filtered data as input, new dance choreography is generated using generative adversarial networks (GANs) and recurrent neural networks (RNNs).

[1727] The generated choreography is expressed as a sequence of movements, including details of the movements (posture, speed, angle, etc.).

[1728] The generated results are saved in a database.

[1729] Step 5: Recognizing User Emotions

[1730] Device:

[1731] When a user requests a new choreography using the terminal, the emotion engine analyzes the user's facial expression, voice, or biometric information to recognize the user's emotion.

[1732] The recognized emotion information is stored in a database and used in the next step.

[1733] Step 6: Personalize choreography based on emotions

[1734] server:

[1735] The server personalizes the generated choreography based on the stored emotion information.

[1736] For example, if the user is showing positive emotions, choreography that includes a lot of fast-paced, energetic movements will be suggested.

[1737] The personalized choreography is stored in a database as the final generated result.

[1738] Step 7: Providing the generated choreography

[1739] Device:

[1740] It receives the final choreography data provided by the server and visualizes it on the UI.

[1741] It uses 3D models and animations to display choreography and provides an interface that allows users to review and adjust movements.

[1742] The user reviews the choreography, makes adjustments as necessary, and sends feedback to the server via their device.

[1743] Specific examples

[1744] Youthful dance choreography

[1745] Step 1:

[1746] The server collects videos tagged with "youth dance" from YouTube.

[1747] Step 2:

[1748] The server uses OpenPose to analyze the joint positions of the dancers in the video and extracts the tempo of the music using a music analysis tool.

[1749] Step 3:

[1750] The server filters the data using keywords such as "youth," "energy," and "pop."

[1751] Step 4:

[1752] The server generates new youthful dance choreography based on the filtered data using GAN.

[1753] Step 5:

[1754] The terminal recognizes the user's emotions when requesting a choreography and stores them in a database.

[1755] Step 6:

[1756] The server personalizes the choreography by taking into account the user's emotions: if the user is having fun, it will provide choreography with lots of fast-paced, fun movements.

[1757] Step 7:

[1758] The device visualizes the generated choreography in a 3D model and provides an interface that allows the user (dance choreographer) to check and adjust it.

[1759] Energetic performance

[1760] Step 1:

[1761] The server collects videos from TikTok that are tagged as "energetic."

[1762] Step 2:

[1763] The server analyzes the rhythm of the music using a video music analysis tool and extracts the dancer's movements using a posture estimation algorithm.

[1764] Step 3:

[1765] The server filters the data for keywords such as "energetic" and "fast-paced."

[1766] Step 4:

[1767] The server uses RNNs to generate new energetic choreography.

[1768] Step 5:

[1769] The terminal recognizes the user's emotions when requesting a choreography and stores them in a database.

[1770] Step 6:

[1771] The server personalizes the choreography by taking into account the user's emotions: if the user is showing energetic emotions, it provides a choreography with powerful movements.

[1772] Step 7:

[1773] The terminal displays an interface that visualizes the generated choreography and allows the user to provide feedback.

[1774] This system allows users to easily incorporate the latest dance trends and easily create diverse and innovative choreography that responds to their emotions.

[1775] Example 2

[1776] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1777] Conventional choreography creation methods rely on the experience and sensibility of choreographers, which not only takes time and effort, but also has the problem of lacking dance diversity and responsiveness to trends. Furthermore, the generated choreography often does not match the characteristics of the target group or the emotions of the user. It is necessary to solve these problems and provide efficient and diverse choreography.

[1778] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting dance videos from a video platform, means for analyzing the collected dance videos to extract data on the joint positions of people and the tempo and rhythm of music, means for classifying and filtering the data based on the analysis results based on the dance genre and style, difficulty level, and characteristics of the target group, means for using the classified and filtered data to generate new dance choreography using an AI model, means for visualizing the generated dance choreography using 3D models and animations and providing it to the user, and means for recognizing the user's emotions and adjusting the choreography. This makes it possible to efficiently generate choreography incorporating various dance styles and the latest trends and provide personalized choreography according to the user's characteristics and emotions.

[1779] "Video Platform" means an online service that enables users to upload, view, and share videos.

[1780] "Dance video" refers to video content that records a dance performance on video.

[1781] "Person's joint positions" refers to coordinate information of the main joints of the person's body in the video.

[1782] "Music tempo and rhythm data" refers to data related to the speed (beats per minute, BPM) and rhythm patterns of a song.

[1783] A "pose estimation algorithm" refers to a computational method for identifying the skeletal structure and joint positions of a person in a video.

[1784] A "music analysis tool" refers to software or programs that analyze the structure of a song and extract musical characteristics such as tempo, rhythm, and beat.

[1785] A "dance genre" refers to a category of dance styles based on a particular musical or cultural background.

[1786] "Target group characteristics" refers to the basic attributes (age, gender, cultural background, etc.) of the audience or user demographic for which a particular dance performance is intended.

[1787] "Filtering" refers to the act of selecting, organizing, or removing data based on specific criteria.

[1788] "AI model" refers to the algorithmic structure of artificial intelligence based on machine learning and deep learning.

[1789] A "generative adversarial network (GAN)" is a generative model that uses two neural networks to generate data and evaluate its quality.

[1790] A "recurrent neural network (RNN)" is a type of neural network used to handle time-series data.

[1791] A "3D model" refers to an object or character that is represented in three dimensions on a computer.

[1792] "Animation" refers to the technique of displaying still images in succession to express movement, and the resulting product.

[1793] "Recognizing a user's emotions" refers to the process of analyzing and understanding a user's emotional state from facial expressions, voice, biometric information, etc.

[1794] An "emotion engine" refers to specialized software or algorithms for analyzing user emotions.

[1795] MODE FOR CARRYING OUT THE INVENTION

[1796] Overall system configuration

[1797] The system of the present invention is composed of the following main modules to generate and propose optimal dance choreography for idol groups.

[1798] 1. Video Collection Module

[1799] 2. Video Analysis Module

[1800] 3. Data Classification and Filtering Module

[1801] 4. Choreography Generation Module

[1802] 5. User-Contributed Modules

[1803] 6. Emotion Recognition and Regulation Module

[1804] Video Collection Module

[1805] The server collects dance videos from major video platforms such as YouTube, TikTok, and Instagram using automated scripts and API calls. It searches for keywords such as "dance" and "trend" and downloads relevant videos. The downloaded videos are then stored in a database along with their metadata (title, tags, view count, etc.).

[1806] Video Analysis Module

[1807] The server uses pose estimation algorithms (e.g., OpenPose and MoveNet) and music analysis tools to analyze the collected videos, extracting dancer joint position information and music tempo and rhythm data from the videos, and storing them in a database as structured data in JSON format.

[1808] Data Classification and Filtering Module

[1809] Based on the analysis results, the server categorizes the data into dance genres, styles, difficulty levels, etc. It also filters the data based on the idol group's characteristics (e.g., youthful, lively, energetic, sexy, etc.), thereby selecting the data that best meets the user's needs.

[1810] Choreography generation module

[1811] The server uses the classified and filtered data as input to generate new dance choreography using AI models (generative adversarial networks (GAN) or recurrent neural networks (RNN)). The generated choreography is stored in a database as a series of movement sequences, including specific movement details (e.g., posture, speed, and angle).

[1812] User-Contributed Modules

[1813] The terminal (user's device) receives new choreography data sent from the server and provides a user interface that visualizes it using 3D models and animations. The user can check and adjust the movements through this interface. The user can also send feedback from the terminal to the server, which is used to improve the AI ​​model.

[1814] Emotion Recognition and Regulation Module

[1815] The device is equipped with an emotion engine that recognizes the user's emotions. This engine analyzes the user's facial expressions, voice, and biometric information to understand their emotional state. The generated choreography is then adjusted based on the recognized emotion. For example, if a positive emotion is recognized, energetic choreography is suggested, while if signs of fatigue are present, relaxation-focused choreography is suggested. Emotion data is sent to the server and used to generate future choreography and improve the model.

[1816] Specific examples

[1817] Youthful dance choreography

[1818] The server collects videos tagged "youth dance" from YouTube. Next, it uses OpenPose to analyze the dancers' joint positions in the videos and extracts the song's tempo using a music analysis tool. The data is then filtered for keywords such as "youth," "lively," and "pop." Based on the filtered data, a new youthful dance choreography is generated using a GAN. The device recognizes the user's emotions and adjusts the choreography based on the recognized emotions. For example, if the user is having fun, it will incorporate more fast-paced movements. Finally, the generated choreography is visualized as a 3D model, providing an interface for the user to view and adjust.

[1819] Example prompt:

[1820] Youthful dance videos were collected from YouTube, joint positions were analyzed using OpenPose, and tempo was extracted using a music analysis tool. The data was filtered by "youth" and "energy," and new youthful choreography was generated using GAN. The device recognized the user's emotions and suggested faster-paced movements.

[1821] Energetic performance

[1822] The server collects videos tagged as "energetic" from TikTok. Next, it analyzes the rhythm of the music using a music analysis tool and extracts the dancer's movements using a posture estimation algorithm. It then filters the data for keywords such as "energetic" and "high-tempo." It then generates new energetic choreography using an RNN. The device recognizes the user's emotions and adjusts the choreography based on the recognized emotions. For example, if the user feels energetic, it generates choreography with more dynamic movements. Finally, it displays an interface that visualizes the generated choreography and allows the user to provide feedback.

[1823] Example prompt:

[1824] Energetic dance videos are collected from TikTok, the rhythm of the music is analyzed, and movements are extracted using a posture estimation algorithm. The data is filtered by "energetic" and "high tempo," and new choreography is generated using an RNN. The device recognizes the user's emotions and suggests ways to amplify the movements.

[1825] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1826] Step 1: Video Collection

[1827] The server uses APIs to collect dance videos from video platforms such as YouTube, TikTok, and Instagram. The input is keywords such as "dance" and "trend," and the output is the video data and its metadata.

[1828] Specific behavior:

[1829] The server sends a query for "Youth Dance" to the YouTube API and lists the video URLs that are returned.

[1830] A download process is performed for each video URL, and the video file and metadata (title, tags, number of views, etc.) are saved to local storage.

[1831] Step 2: Video analysis

[1832] The server analyzes the collected video. The input is the video data collected in step 1, and the output is the joint position information of the person and the tempo and rhythm data of the music.

[1833] Specific behavior:

[1834] Using OpenPose, the skeletal information (joint positions) of the dancer in the video is extracted and saved in JSON format.

[1835] Using a music analysis tool, the tempo (BPM) and rhythm pattern of the song are extracted from the music data in the video and stored in a database as structured data.

[1836] Step 3: Data classification and filtering

[1837] The server classifies and filters the data based on the analysis results. The input is the analyzed data obtained in step 2, and the output is the classified and filtered dataset.

[1838] Specific behavior:

[1839] Tags associated with "youth" and "energy" are extracted from the analysis data, and only the corresponding video data is selected.

[1840] Data that meets specified conditions, such as difficulty level "intermediate," is filtered to extract only specific choreography patterns.

[1841] Step 4: Choreography generation

[1842] The server generates new dance choreography using an AI model based on the classified and filtered data. The input is the dataset filtered in step 3, and the output is the newly generated choreography data.

[1843] Specific behavior:

[1844] The filtered dataset is then fed into a generative adversarial network (GAN) to generate new dance movements.

[1845] The generated motion sequence is saved in JSON format, and specific posture, speed, and angle information is added.

[1846] Step 5: User Provided

[1847] The terminal (user device) receives the choreography data sent from the server and visualizes it through a user interface. The input is the choreography data generated in step 4, and the output is a visualized choreography that the user can check and adjust.

[1848] Specific behavior:

[1849] It receives choreography data in JSON format from the server and converts it into a 3D model animation.

[1850] The user interface provides functions such as play, pause, and rewind, allowing users to check and adjust choreography.

[1851] Step 6: Emotion recognition and regulation

[1852] The device recognizes the user's emotions and adjusts the choreography accordingly. The input is the user's facial expressions, voice, and biometric information, and the output is the adjusted choreography data.

[1853] Specific behavior:

[1854] Using an emotion recognition module, the system analyzes the user's facial expression data in real time, adjusting the choreography to a faster tempo if the expression is positive, and to a more relaxation-oriented choreography if the expression is negative.

[1855] The recognized emotion data is sent to the server and used for future choreography generation and model improvement.

[1856] This completes the processing flow of the entire system, allowing efficient and diverse dance choreography to be generated and provided to the user.

[1857] (Application example 2)

[1858] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1859] In today's world, dance performances have become an important element of entertainment and promotional activities. However, it is difficult to generate optimal dance choreography for each individual project or event. Furthermore, the inability to provide personalized choreography based on the user's emotions and preferences results in a lack of improvement in the quality of entertainment. The present invention aims to solve these problems by providing a system that efficiently generates and provides dance choreography that meets a variety of needs.

[1860] The specification processing by the specification 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 collecting dance videos from around the world, means for analyzing the collected dance videos to extract posture and music data, means for classifying and filtering the data based on the dance genre and style based on the analysis results, means for generating new dance choreography using the classified and filtered data, means for analyzing user emotion data and personalizing the generated dance choreography, and means for providing the generated dance choreography to the user. This makes it possible to generate and provide optimal dance choreography based on the user's emotions and preferences.

[1861] The "means for collecting dance videos from around the world" is a method for automatically searching and collecting dance videos from a wide range of platforms on the Internet.

[1862] The "means for analyzing collected dance videos and extracting posture and music data" is a method for analyzing the posture of the dancers in the videos and simultaneously analyzing and extracting music data such as the tempo and rhythm of the music.

[1863] "Means for classifying and filtering data based on dance genre and style" refers to a method for organizing analyzed data by dance genre and style and excluding inappropriate data.

[1864] The "means for generating new dance choreography" is a method for designing and constructing new dance choreography using AI technology based on classified and filtered data.

[1865] "Means for analyzing user emotional data and personalizing generated dance choreography" refers to a method for analyzing a user's emotional state and optimizing and customizing the generated choreography based on that information.

[1866] The "means for providing the generated dance choreography to the user" refers to a method for displaying and sharing the finally generated personalized dance choreography on the user's device.

[1867] Overall system configuration

[1868] The system embodying the invention is intended to generate and deliver dance performances and comprises the following main modules:

[1869] 1. Video Collection Module

[1870] 2. Video Analysis Module

[1871] 3. Data Classification and Filtering Module

[1872] 4. Choreography Generation Module

[1873] 5. User-Contributed Modules

[1874] 6. Sentiment Analysis Module

[1875] Video Collection Module

[1876] The server uses APIs and automated scripts to collect dance videos from a wide range of platforms on the Internet. For example, it searches for videos using keywords such as "energetic dance" or "trending dance" on YouTube, TikTok, Instagram, etc. These videos are then stored in a database along with metadata (title, tags, number of views, etc.).

[1877] Video Analysis Module

[1878] The server analyzes the collected video data. This analysis includes the following techniques:

[1879] Using a pose estimation algorithm (e.g., OpenPose, MoveNet), we identify the joint positions of the dancer in the video and extract their movements.

[1880] Using music analysis tools, the tempo and rhythm of the song are analyzed to evaluate the synchronization of dance movements with the music.

[1881] The analysis results are stored in a database as structured data (such as JSON format).

[1882] Data Classification and Filtering Module

[1883] The server classifies the data into dance genres (energetic, relaxed, etc.) and styles (hip hop, jazz, etc.) based on the analysis results. It also filters the data based on the user's emotions and brand image. This allows the data to be selected according to the user's needs.

[1884] Choreography generation module

[1885] The server takes the filtered data as input and generates new dance choreography using AI models such as generative adversarial networks (GANs) and recurrent neural networks (RNNs). The generated choreography is expressed as a specific movement sequence, including details such as posture, speed, and angle. The results are stored in a database and prepared for presentation to users.

[1886] User-Contributed Modules

[1887] The device (such as the user's smartphone or tablet) receives new choreography data provided by the server and visualizes it on an interface. The interface uses 3D models and animations, allowing the user to check and adjust the choreography. The user can also send feedback to the server via the device, which is used to improve the AI ​​model.

[1888] Sentiment Analysis Module

[1889] The device is equipped with an emotion analysis engine that recognizes the user's emotions. This engine analyzes the user's facial expressions, voice, and biometric information to evaluate their emotional state. The generated choreography is personalized based on the results of this evaluation. For example, if the user is having fun, the system will suggest a more energetic choreography, and conversely, if the user is tired, the system will suggest a more relaxed choreography.

[1890] Specific examples

[1891] For example, if a user requests an energetic dance performance in a store, the server collects videos tagged with "energetic dance" from YouTube and analyzes the data with OpenPose and music analysis tools. It then uses filtering and AI models to generate new choreography, providing a personalized choreography based on the user's emotional state. This choreography is visualized as a 3D model on the smartphone interface for easy viewing by the user.

[1892] Specific prompt examples:

[1893] Create an energetic dance performance based on the latest trends. Use the following dataset to generate the perfect choreography for your next event.

[1894] Videos tagged "energetic dance" from YouTube

[1895] Pose data from OpenPose

[1896] User emotion data (e.g., happy, tired)

[1897] In this way, the present invention realizes a system that efficiently generates and provides customizable dance choreography according to the user's emotions and needs.

[1898] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1899] Step 1: Video Collection

[1900] The server uses APIs to automatically search and collect videos from video platforms such as YouTube and TikTok using keywords such as "energetic dance" and "trending dance." The input is the keywords, and the output is the collected video data.

[1901] Step 2: Video analysis

[1902] The server analyzes the collected video data. Specifically, it uses OpenPose to identify the joint positions of the dancers in the video and extract posture data. It then uses a music analysis tool to analyze the music data in the video and extract tempo, rhythm, and other parameters. The input is the collected video data, and the output is posture data and music data.

[1903] Step 3: Data classification and filtering

[1904] The server classifies and filters the data into dance genres and styles based on the analysis results. For example, it classifies based on keywords such as energetic or relaxed. The input is posture data and music data, and the output is the classified and filtered data.

[1905] Step 4: Choreography generation

[1906] The server generates new dance choreography based on the filtered data using an AI model (generative adversarial network or recurrent neural network). The input is the classified and filtered data, and the output is the new choreography data.

[1907] Step 5: Sentiment Analysis

[1908] The device uses an emotion engine to analyze the user's emotions. This engine analyzes the user's emotional state from facial expressions, voice, and biometric information. The input is the user's biometric information, and the output is the analyzed emotional data.

[1909] Step 6: Personalize the choreography

[1910] The server personalizes the generated dance choreography based on the results of emotion analysis. For example, if the user is having fun, it will suggest a more energetic choreography, and conversely, if the user is tired, it will suggest a more relaxed choreography. The input is emotion data and new choreography data, and the output is personalized choreography data.

[1911] Step 7: User Provided

[1912] The device visualizes the personalized choreography data on the interface. It displays the choreography using 3D models and animations, allowing the user to check and adjust the movements. The input is the personalized choreography data, and the output is the visualization information for the user.

[1913] These steps allow users to easily generate and obtain customized dance choreography to enhance the quality of their entertainment.

[1914] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.

[1915] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1916] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.

[1917] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[1918] FIG. 9 illustrates an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and behaviors arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

[1919] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.

[1920] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).

[1921] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.

[1922] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."

[1923] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values ​​indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.

[1924] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).

[1925] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.

[1926] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.

[1927] 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.

[1928] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.

[1929] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.

[1930] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.

[1931] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.

[1932] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.

[1933] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.

[1934] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.

[1935] The following is further disclosed regarding the above embodiment.

[1936] (Claim 1)

[1937] A means of collecting dance videos from around the world,

[1938] A means for analyzing the collected dance videos to extract posture and music data;

[1939] a means for categorizing and filtering the data based on dance genre and style based on the analysis results;

[1940] a means for generating new dance choreography using the classified and filtered data;

[1941] means for providing the generated dance choreography to a user;

[1942] A system including:

[1943] (Claim 2)

[1944] 10. The system of claim 1, wherein the system uses a posture estimation algorithm and a music analysis tool as a means for extracting posture and music data from collected dance videos.

[1945] (Claim 3)

[1946] The system of claim 1, wherein the system uses a generative adversarial network or a recurrent neural network as a means for generating new dance choreography using the classified and filtered data.

[1947] "Example 1"

[1948] (Claim 1)

[1949] A means of collecting dance videos from around the world,

[1950] A means for analyzing the collected dance videos to extract posture and music data;

[1951] a means for categorizing and filtering the data based on dance genre and style based on the analysis results;

[1952] a means for generating new dance choreography using the classified and filtered data;

[1953] a means for providing and visualizing the generated dance choreography to a user;

[1954] A means to collect user feedback and use it to improve the AI ​​model;

[1955] A system including:

[1956] (Claim 2)

[1957] 10. The system of claim 1, wherein the system uses a posture estimation algorithm and a music analysis tool as a means for extracting posture and music data from collected dance videos.

[1958] (Claim 3)

[1959] The system of claim 1, wherein the system uses a generative adversarial network or a recurrent neural network as a means for generating new dance choreography using the classified and filtered data.

[1960] "Application Example 1"

[1961] (Claim 1)

[1962] A means of collecting dance videos from around the world,

[1963] A means for analyzing the collected dance video to extract posture and music data;

[1964] a means for categorizing and filtering the data based on dance genre and style based on the analysis results;

[1965] a means for generating new dance choreography using the classified and filtered data;

[1966] A means for providing the generated dance choreography to a user terminal and visualizing it using 3D models and animations;

[1967] A means of collecting user feedback and using it to improve the system; and

[1968] A system including:

[1969] (Claim 2)

[1970] 10. The system of claim 1, wherein posture estimation algorithms and music analysis tools are used to extract posture and music data from collected dance footage.

[1971] (Claim 3)

[1972] The system of claim 1, wherein the system uses a generative adversarial network or a recurrent neural network as a means for generating new dance choreography using the classified and filtered data.

[1973] "Example 2: Combining Emotion Engines"

[1974] (Claim 1)

[1975] A means of collecting dance videos from video platforms;

[1976] A means for analyzing the collected dance videos to extract data on the joint positions of people and the tempo and rhythm of music;

[1977] means for classifying and filtering the data based on the analysis results, based on dance genre and style, difficulty level, and target group characteristics;

[1978] a means for utilizing the classified and filtered data to generate new dance choreography using an AI model;

[1979] A means for visualizing the generated dance choreography using 3D models and animations and providing it to users;

[1980] means for recognizing a user's emotion and adjusting the choreography;

[1981] A system including:

[1982] (Claim 2)

[1983] The system of claim 1, characterized in that it uses a posture estimation algorithm and a music analysis tool as a means of extracting human joint positions and musical tempo and rhythm data from collected dance videos.

[1984] (Claim 3)

[1985] The system of claim 1, wherein the system uses a generative adversarial network or a recurrent neural network as a means for generating new dance choreography using the classified and filtered data.

[1986] "Application example 2 when combining emotion engines"

[1987] (Claim 1)

[1988] A means of collecting dance videos from around the world,

[1989] A means for analyzing the collected dance videos to extract posture and music data;

[1990] a means for categorizing and filtering the data based on dance genre and style based on the analysis results;

[1991] a means for generating new dance choreography using the classified and filtered data;

[1992] means for analyzing the user's emotional data and personalizing the generated dance choreography;

[1993] means for providing the generated dance choreography to a user;

[1994] A system including:

[1995] (Claim 2)

[1996] 10. The system of claim 1, wherein the system uses a posture estimation algorithm and a music analysis tool as a means for extracting posture and music data from collected dance videos.

[1997] (Claim 3)

[1998] The system of claim 1, wherein the system uses a generative adversarial network or a recurrent neural network as a means for generating new dance choreography using the classified and filtered data. [Explanation of symbols]

[1999] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>

Claims

1. A means of collecting dance videos from around the world, A means for analyzing the collected dance videos to extract posture and music data; a means for categorizing and filtering the data based on dance genre and style based on the analysis results; a means for generating new dance choreography using the classified and filtered data; means for providing the generated dance choreography to a user; A system including:

2. The system of claim 1, wherein the system uses a posture estimation algorithm and a music analysis tool as a means for extracting posture and music data from collected dance videos.

3. 10. The system of claim 1, wherein a generative adversarial network or a recurrent neural network is used as a means for generating new dance choreography using the classified and filtered data.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A