system
The system provides a visually and substantively rich video experience by efficiently analyzing cooking videos.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-12-06
- Publication Date
- 2026-06-18
AI Technical Summary
Cooking videos provide visually appealing content but lack accurate recipe information, making it difficult for viewers to obtain detailed ingredient lists and procedures, which reduces viewer satisfaction and increases creators' workload.
A system that analyzes cooking video data to extract ingredient names and cooking procedures from both video and audio information, and generates captions, ensuring that the captions are displayed at appropriate times, and generates captions that are optimized for the viewer's emotions, and generates captions that are optimized for the viewer's emotions, and generates captions that are optimized for the viewer's emotions, and generates captions that are optimized for the viewer's emotions, and generates captions that are optimized for the viewer's emotions, and generates captions that are optimized for the viewer's emotions.
The system provides a visually and substantively rich video experience by extracting useful recipe information from cooking videos.
Smart Images

Figure 2026099252000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor and includes steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a character of the chatbot, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] While cooking videos are visually appealing, it is difficult to obtain accurate recipe information based on their content, which poses an obstacle for viewers when actually cooking. In addition, in order for creators to provide viewers with a detailed list of ingredients and procedures, it requires a great deal of time and effort, resulting in the problem of reducing the efficiency of content creation. This problem has led to a decrease in viewer satisfaction and an increase in the burden on creators.
Means for Solving the Problems
[0005] To solve these problems, the present invention provides means for receiving cooking video data and means for analyzing video and audio information from the video data to automatically extract ingredient names and cooking procedures. Furthermore, it provides means for organizing the extracted information as text information and adding display timing information to generate captions, enabling creators to efficiently use the information in editing software. As a result, viewers can obtain clear recipe information, leading to improved content quality. In addition, by providing means for suggesting editing points based on captions to improve viewer engagement, it becomes possible to realize a better video experience.
[0006] "Cooking video data" refers to digital information that includes video and audio data showing cooking procedures and ingredients.
[0007] "Video information" refers to data that identifies visual elements within cooking video data, including specific ingredients and cooking utensils.
[0008] "Audio information" refers to data obtained by analyzing the audio elements within cooking video data, including the names of ingredients and cooking procedures explained verbally.
[0009] "Ingredient names" refer to the names of the ingredients and seasonings needed to make a dish.
[0010] "Cooking instructions" refer to information that outlines the series of operations and methods necessary to complete a dish.
[0011] "Text information" refers to character data used to visually represent ingredient names and cooking procedures extracted from video and audio information.
[0012] "Display timing information" is information that indicates the specific time at which the generated caption should be displayed within the video.
[0013] "Captions" are text information displayed on a video, intended to inform viewers of ingredients, cooking instructions, and other details.
[0014] "Creator devices" refer to computers and other digital devices used to create and edit videos.
[0015] "Engagement" is a concept that indicates the level of interest, participation, and two-way interaction that viewers show towards video content. [Brief explanation of the drawing]
[0016] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Example 2 when the emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when the emotion engine is combined.
Mode for Carrying Out the Invention
[0017] Hereinafter, an example of an embodiment of the system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0018] First, the terms used in the following description will be explained.
[0019] In the following embodiments, the numbered processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include CPU (Central Processing Unit), GPU (Graphics Processing Unit), GPGPU (General-Purpose computing on Graphics Processing Units), APU (Accelerated Processing Unit), etc.
[0020] In the following embodiments, the numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0021] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0022] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0023] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0024] [First Embodiment]
[0025] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0026] As shown in Figure 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0027] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0028] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0029] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[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 perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0031] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0032] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0033] As shown in Figure 2, in the data processing device 12, a specific processing is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" related to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0034] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0035] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0036] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0037] The system of this invention provides new value to viewers and creators by extracting detailed recipe information from cooking videos and generating captions.
[0038] This system begins by having the user upload a cooking video to the server through a specific interface. The server analyzes the received video data and separates it into video and audio information. From the video information, it recognizes visual elements such as ingredients and cooking utensils, and from the audio information, it extracts the names of ingredients and cooking procedures that are explained verbally.
[0039] The extracted information is then organized by the server and converted into text. This text is then formed as captions in a format that correlates with the original cooking video, and display timing information is also added to ensure that the captions appear at specific points in the video.
[0040] Next, the generated captions are provided to the creator's device. The creator's device is responsible for importing these captions into the video editing software at the optimal time and adjusting and displaying them in a way that is easy for viewers to understand.
[0041] As a concrete example, consider the case where a video on "how to make hot chocolate" is uploaded to the system. This video includes "chocolate, milk, and sugar" as ingredients, and the steps include "melting the chocolate" and "adding the milk." The server automatically extracts this information and creates captions for the steps, such as "finely chop the chocolate" and "warm the milk," at the appropriate positions in the video.
[0042] Furthermore, the server suggests inserting annotations and supplementary information during editing to increase viewer engagement. This makes it easier for viewers to become immersed in the video, and allows creators to deliver high-quality content while reducing their workload.
[0043] Thus, the system of the present invention enables the creation of visually and substantively rich video content by efficiently extracting useful recipe information from cooking videos.
[0044] The following describes the processing flow.
[0045] Step 1:
[0046] Users upload cooking videos from their devices to the server via an interface. The server receives this video data and prepares to store it securely.
[0047] Step 2:
[0048] The server separates the uploaded video into video and audio information. For the video information, a computer vision algorithm is used to analyze each frame and identify ingredients and cooking utensils. For the audio information, speech recognition technology is used to convert it into text and extract descriptions of ingredients and cooking procedures.
[0049] Step 3:
[0050] The server integrates information about ingredients and procedures obtained from video and audio data. During this process, it compares the information against an existing recipe database to verify its accuracy. A consistent ingredient list and cooking procedure are then generated.
[0051] Step 4:
[0052] The server generates captions based on the integrated information. These captions provide specific and concise visual information, including material names and procedures. Furthermore, the captions are timestamped with the relevant video to determine when each piece of information should be displayed.
[0053] Step 5:
[0054] The server sends the generated captions to the user's (creator's) device and makes them available for download in a format that can be imported into editing software. Creators can then use this to edit their videos and provide the captions to viewers in the most optimal way.
[0055] Step 6:
[0056] The server suggests editing points to creators based on captions to improve viewer engagement. This provides specific ideas and points for inserting supplementary information to further enhance the quality of the content.
[0057] Step 7:
[0058] The final edited video is uploaded to a platform accessible to viewers via a server, and the captions are verified to display correctly. Through this, viewers can enjoy the video while obtaining clear recipe information.
[0059] (Example 1)
[0060] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0061] Traditional cooking videos often made it difficult for viewers to obtain detailed recipe information and were visually burdensome. Because these videos failed to effectively utilize visual and auditory information, viewers couldn't obtain sufficiently useful information, and creators faced challenges in efficient content production.
[0062] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0063] In this invention, the server includes means for receiving video information, means for automatically extracting material names and work procedures from visual and audio information, and means for organizing the extracted material names and work procedures as document information, adding display time information, and generating subtitles. This makes it possible to automatically extract useful recipe information from videos and provide it in a format that is easy for viewers to understand.
[0064] "Video information" refers to all dynamic media data, including visual and auditory content, and is the subject of analysis.
[0065] "Visual information" refers to information obtained from images and video frames within video data, and is fundamental information for recognizing objects such as materials and equipment.
[0066] "Audio information" refers to information used to extract the content of spoken words from the audio contained in video data.
[0067] "Ingredient names" refer to the names of ingredients used in cooking or cooking, and are recognized visually or audibly within the video.
[0068] "Work procedures" refer to information that outlines the steps and methods for cooking or performing a specific task, conveying concrete actions to the viewer.
[0069] "Document information" refers to information that is extracted from visual and auditory information and then converted into text, and is presented to the viewer visually.
[0070] "Display time information" refers to time codes and time-related data used to indicate the appropriate timing for displaying document information within a video.
[0071] "Subtitles" refer to text information displayed within a video, and are a display format intended to provide viewers with additional information or explanations.
[0072] A "creator terminal" refers to a computing device used by creators to edit and adjust subtitles and video data.
[0073] An "editing program" refers to software used to process and adjust video and subtitle data, and is an application that runs on the creator's device.
[0074] This invention is a system that extracts detailed recipe information from cooking videos and provides it as subtitles. This system begins with receiving video information uploaded by the user on a server.
[0075] The server uses a multimedia processing library to analyze video information, separating visual and audio information. Specifically, it uses computer vision technology to recognize materials and cooking utensils from the visual information and utilizes object detection algorithms such as YOLO and SSD. For audio information, it uses a speech recognition model to extract spoken ingredient names and work procedures using a service such as Google Cloud Speech-to-Text API.
[0076] The extracted information is organized as document information on the server using natural language processing technology. For example, OpenAI's generative AI model is used to generate text information and add display time information for displaying it in the relevant video scenes. This generated subtitle information is then sent to the creator's terminal.
[0077] On the creator's device, they can use video editing programs (e.g., Adobe Premiere Pro, Final Cut Pro) to adjust subtitles and set their display position. This allows for the creation of video content that is visually easy for viewers to understand.
[0078] As a concrete example, let's consider a video on "How to Make Hot Chocolate." This video includes "chocolate, milk, and sugar" as ingredients, and "melt the chocolate" and "add the milk" as steps. The server automatically extracts this information and generates subtitles with timestamps such as "finely chop the chocolate" and "heat the milk."
[0079] An example of a prompt message would be, "Extract the ingredients and steps for the dish from this video and generate captions." This would create a system where users can easily obtain useful recipe information from video content, and creators can efficiently improve their content.
[0080] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0081] Step 1:
[0082] Users upload video information to the server via an interface. The input is a cooking video file, and the output is video data stored on the server. Users select a file using a browser or dedicated application and click the send button, at which point the file is transferred to the server.
[0083] Step 2:
[0084] The server receives video information and uses a multimedia processing library to separate the visual and audio information. The input is video data stored on the server, and the output is image frames and audio files. The server uses tools such as FFmpeg to extract the images and audio as separate data streams and prepare them for processing.
[0085] Step 3:
[0086] The server applies object detection algorithms to visual information to recognize materials and cooking utensils. The input is an image frame, and the output is a list of extracted materials and utensils. Models such as YOLO and SSD are used to determine the location and type of objects within the frame.
[0087] Step 4:
[0088] The server analyzes the audio information using speech recognition technology and extracts the spoken material names and work procedures as text. The input is an audio file, and the output is extracted text data. A service such as the Google Cloud Speech-to-Text API is used to convert the audio to text and obtain the basic information for analysis.
[0089] Step 5:
[0090] The server uses natural language processing techniques to organize the extracted visual and audio information and generate subtitle text and display time information. The input is a list of source materials and text data, and the output is the generated subtitle information. OpenAI's generative AI model is used to format the text and add time information suitable for subtitles.
[0091] Step 6:
[0092] The server provides the generated subtitle information to the creator's terminal, which receives it and prepares it for import into the editing program. The input is the subtitle information, and the output is the subtitle information already imported into the editing program. The creator optimizes the position and timing of the subtitles using the editing software to create a visually complete video.
[0093] (Application Example 1)
[0094] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0095] Analyzing the visual and auditory information of cooking videos to provide viewers with more engaging and easily understandable content is time-consuming and lacks accuracy, especially when manually extracting ingredient names and cooking steps. Furthermore, maintaining viewer interest requires effectively providing information at specific points in the video, but there is a lack of systems to efficiently achieve this.
[0096] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0097] In this invention, the server includes means for receiving cooking video data from visual and auditory information, means for analyzing the video data to automatically extract ingredient names and cooking processes from visual and auditory elements, and means for organizing the extracted ingredient names and cooking processes as text information and adding display time information to generate subtitles. This makes it possible to provide information that increases viewer interest while improving the efficiency of video editing.
[0098] "Visual information" refers to the video data contained in a video, and is the information used to analyze elements such as the names of ingredients and cooking processes.
[0099] "Audio information" refers to the audio data contained in a video, and it is used to identify ingredients and cooking procedures.
[0100] "Cooking video data" refers to video files that show the process and steps of cooking, and is the target of analysis by the system.
[0101] "Ingredient name" refers to the name of the specific ingredient used in a dish, and is extracted from visual and auditory information.
[0102] The "cooking process" refers to the specific steps taken until a dish is completed, and is extracted from visual and auditory information.
[0103] "Textual information" refers to text data in which ingredient names and cooking processes have been analyzed and organized, and is used as subtitles.
[0104] "Display time information" refers to data about the timing required for generated subtitles to appear in the video at the appropriate time.
[0105] "Subtitles" refer to textual information displayed within a video, providing viewers with content generated from visual and auditory elements.
[0106] A "content creation terminal" refers to a device that receives generated subtitle information and makes it available for use with video editing software.
[0107] "Viewer interest" refers to the level of interest and concentration viewers have with the video content, and providing information that enhances this interest is crucial.
[0108] The system for realizing this invention primarily consists of a server, a user terminal, and a content creation terminal.
[0109] The server first receives cooking video data from the user, including visual and auditory information. In this step, user devices such as smartphones and tablets are used, and videos are uploaded via a simple interface. The server analyzes the received videos, utilizing the OpenCV library for visual element recognition and the Google Cloud Speech-to-Text API for auditory element analysis.
[0110] Through visual element analysis, the server automatically extracts ingredient names from video data, and through acoustic element analysis, it extracts cooking processes from audio data. This extracted information is organized as text information within the server, and display time information is added to generate subtitles. A generative AI model using the Transformers library, particularly the GPT model, is utilized for subtitle generation.
[0111] The generated subtitles are sent to the content creation terminal, where they are converted into a format usable by video editing software such as Adobe Premiere Pro and Final Cut Pro. This format allows the subtitles to appear at the appropriate time in specific parts of the video.
[0112] As a concrete example, when a user provides the system with a video on "how to make pancakes," the server identifies the ingredients as "flour, eggs, milk, and sugar," and generates subtitles describing the cooking steps, such as "put flour in a bowl," "add eggs," and "stir." The generated subtitles are then incorporated into the video using video editing software.
[0113] An example of a prompt for a generative AI model is, "Analyze the cooking video and generate subtitles listing the ingredients and steps." This prompt allows the system to effectively extract information from the cooking video, increasing the added value of the video content.
[0114] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0115] Step 1:
[0116] Users upload cooking videos from their devices to the server. In this process, video files are selected through the user interface and sent to the server. The input is the cooking video data from the user's device, and the output is the video data stored on the server.
[0117] Step 2:
[0118] The server separates the received video data into visual and auditory information. Visual information is extracted from the video data using the OpenCV library, and auditory information is extracted from the audio data using the Google Cloud Speech-to-Text API. The input for this step is video data stored on the server, and the output is a dataset containing both visual and auditory elements.
[0119] Step 3:
[0120] The server recognizes material names from video data through visual element analysis. Using OpenCV, it analyzes where the material appears in the video and obtains the name using digital image processing techniques. The input is data containing visual elements, and the output is a list of material names.
[0121] Step 4:
[0122] The server extracts cooking steps from audio data through acoustic element analysis. It uses the Google Cloud Speech-to-Text API to convert the audio to text and extract the cooking instructions. The input for this step is data containing acoustic elements, and the output is text information of the cooking steps.
[0123] Step 5:
[0124] The server organizes the extracted ingredient names and cooking steps as text information, adds display time information, and generates subtitles. The GPT model from the Transformers library is used for this generation. The input is text information of ingredient names and cooking steps, and the output is subtitle data with timing information.
[0125] Step 6:
[0126] The server sends the generated subtitle data to the content creation terminal. Here, it converts the data to a format compatible with video editing software and adjusts the synchronization information. The input is subtitle data, and the output is data in a format usable by editing software.
[0127] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0128] The system of this invention extracts detailed recipe information from cooking videos and dynamically adjusts the content according to the viewer's emotions, thereby providing new value to both viewers and creators.
[0129] This system starts when a user uploads a cooking video to the server via an interface. The server analyzes the received video data, separating the video and audio information. From the video information, it identifies ingredients and cooking utensils, and from the audio information, it extracts ingredient names and cooking steps. This organizes a detailed ingredient list and cooking instructions in a consistent format.
[0130] Next, the server generates captions based on the information obtained. These captions include information about when the video will appear, ensuring that viewers receive the necessary information at the appropriate time.
[0131] Furthermore, the system incorporates an emotion engine that recognizes the viewer's emotions. This engine analyzes the viewer's facial expressions and reactions to infer their emotional state. Based on this information, the server dynamically adjusts the captions to best suit the viewer's emotions. For example, if the viewer is confused, additional detailed explanations can be provided. Additionally, by displaying supplementary information and hints based on the viewer's emotional state, the system improves viewing satisfaction.
[0132] As a concrete example, consider a case where a video of "how to make cheesecake" is uploaded to the system. The server automatically extracts ingredients such as "cream cheese, sugar, and eggs" from the video and creates captions for steps such as "mix in a bowl" and "bake." Furthermore, if the viewer shows a confused expression while watching the video, this emotion engine suggests displaying additional hints or details of the cooking process in real time.
[0133] Thus, the system of the present invention provides a visually and substantively enriching video experience by extracting useful recipe information from cooking videos and providing content that responds to the viewer's emotional state.
[0134] The following describes the processing flow.
[0135] Step 1:
[0136] Users upload cooking videos from their devices to the server via an interface. The server receives this video data, securely stores it, and prepares it for analysis.
[0137] Step 2:
[0138] The server analyzes the uploaded video to separate the video and audio information. The video information is analyzed using computer vision technology to identify ingredients and cooking utensils, while the audio information is converted into text data using speech recognition technology. This is where specific ingredient names and cooking procedures are extracted.
[0139] Step 3:
[0140] The server verifies the extracted information, integrating and organizing the ingredient list and cooking instructions. This process compares it with existing recipe databases to improve accuracy and consistency.
[0141] Step 4:
[0142] The server generates captions based on the organized information. The generated captions include timing information for their appearance in the video, presenting the names of ingredients and cooking steps to the viewer at the appropriate time.
[0143] Step 5:
[0144] The server uses an emotion recognition engine to analyze viewers' emotions in order to improve their viewing experience. It analyzes viewers' facial expressions and reactions in real time and estimates their state if they show emotions such as confusion, excitement, or lack of understanding.
[0145] Step 6:
[0146] Based on the viewer's emotional state revealed by sentiment analysis, the server dynamically adjusts captions and supplementary information. For example, if a viewer seems to be having difficulty, additional explanations or hints can be displayed. This adjustment is made in real time as a specific step in the video progresses.
[0147] Step 7:
[0148] The server provides the final captions to the user's (creator's) device and converts them into a format easily usable by editing software. This allows creators to effectively and efficiently utilize captions when editing videos.
[0149] Step 8:
[0150] Once the creator has completed final checks and editing, the video is distributed via a server to a platform accessible to viewers. Viewers can then enjoy cooking videos that are easier to understand and more enjoyable, thanks to captions optimized for their own emotional state.
[0151] (Example 2)
[0152] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0153] The goal is to solve the challenge of improving the viewing experience by efficiently extracting detailed information from visual media and automatically generating content that adapts to the viewer's emotions. In this field, manually extracting information from videos and providing content tailored to the viewer requires a lot of time and effort, and the process often lacks efficiency and accuracy.
[0154] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0155] In this invention, the server includes means for receiving visual media data, means for analyzing the media data to automatically extract information item names and work procedures from visual and auditory information, means for organizing the extracted information item names and work procedures as text information, adding display timing information to generate annotations, and means for analyzing viewer reactions to dynamically adjust annotations based on emotions. This enables the provision of more efficient and viewer-friendly content.
[0156] "Visual media data" refers to digital information including video and audio, and is a general term for data used as content such as cooking videos and educational videos.
[0157] "Visual information" refers to data represented as images or videos contained in visual media data, from which specific information can be extracted through object recognition or image analysis.
[0158] "Auditory information" refers to data expressed as sound within visual media data, from which textual information and instructions can be extracted using speech recognition technology.
[0159] An "information item name" is a name that represents a specific object or element within visual media data, and is used, for example, to identify the names of ingredients or tools used in cooking.
[0160] "Work procedure" refers to a series of instructions for actions or operations shown within visual media data, including, for example, the cooking steps in a recipe.
[0161] Annotation refers to textual information that includes additional information or explanations related to visual media data, providing viewers with supplementary explanations or instructions.
[0162] "Viewer reactions" refer to feedback information obtained from the facial expressions and behaviors of recipients while they are viewing visual media data.
[0163] "Dynamically adjusting annotations based on emotions" means changing the content and timing of annotations displayed according to the emotional state inferred from the viewer's reactions, and is a process to provide content that is more relevant to the viewer.
[0164] This invention aims to construct a system that efficiently analyzes visual media data and dynamically provides content tailored to the viewer. The system mainly consists of a server and terminals that process data input by the user.
[0165] Users upload visual media data, such as cooking videos, through the interface. After receiving the video, the server begins analysis. Multiple software programs are used for this analysis. Image recognition libraries (e.g., TENSORFLOW® and OpenCV) are used for visual information analysis, and speech recognition APIs (e.g., speech recognition cloud services) are used for auditory information analysis. As a result, the server automatically extracts ingredients and procedures from the video and generates organized text-based annotations.
[0166] The generated annotations are assigned display timings, ensuring that information is presented at the appropriate time for the viewer while watching the video. Furthermore, the server infers the viewer's emotions based on reaction data obtained from the viewer's device and dynamically adjusts the content of the annotations using a generative AI model. For this purpose, video analysis using libraries such as OpenCV is used to detect the viewer's facial expressions and execute prompts that correspond to their emotions.
[0167] For example, if a user uploads a video showing how to make cheesecake, the server automatically extracts information such as "sugar," "cream cheese," and "eggs" from the video and visually presents steps such as "bake in the oven" and "mix the batter." If the viewer looks confused, the system prompts them with "explain this step in more detail" and provides more detailed information.
[0168] In this way, the system as a whole combines various media analysis technologies and generative AI models to perform detailed information analysis and provide dynamic content tailored to the viewer. This process makes it possible to improve the quality of the viewing experience and provide new value to both viewers and creators.
[0169] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0170] Step 1:
[0171] Users upload cooking videos to the server using the interface. To do this, the user selects the video file and starts the data transfer by pressing a dedicated upload button. The input data is the cooking video file itself, which the server receives.
[0172] Step 2:
[0173] The server begins analyzing the uploaded video data. First, it separates the video file into video and audio information. A media processing library is used for this process. The separated video information is analyzed using image analysis techniques to identify ingredients and cooking utensils, and the audio information is analyzed using a speech recognition API to extract ingredient names and cooking procedures. This results in the output of specific information obtained from both the video and audio portions.
[0174] Step 3:
[0175] The server organizes the obtained ingredient names and cooking steps and generates annotations (text information) in an easy-to-understand format for viewers. The input is the ingredient names and steps extracted in the previous step. A timestamp is added to this, and the timing at which it should be displayed in the video is set. This processing outputs annotations that make it easier for viewers to understand each step.
[0176] Step 4:
[0177] The server sends the generated annotations to the creator's terminal and converts them into a format usable by editing software. This is the step of exporting the output annotation data to the desired file format. Further manual adjustments can then be made on the terminal based on these annotations.
[0178] Step 5:
[0179] The server analyzes reaction data sent from the viewer's device to analyze the viewer's facial expressions and reactions. This input is real-time data acquired during video playback. Using libraries such as OpenCV, the server analyzes the viewer's facial expressions, estimates the viewer's emotional state based on the results, and obtains viewer emotion data as output.
[0180] Step 6:
[0181] The server dynamically adjusts annotations to best suit the viewer's emotions based on sentiment data. This process uses a generative AI model to update content appropriately based on prompts. This adds and adjusts information according to the viewer's needs and level of understanding. The input data is the viewer's emotional state and original annotation data, and the output is up-to-date annotations that correspond to the emotions.
[0182] (Application Example 2)
[0183] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0184] In recent years, the number of viewers of cooking videos has increased, and learning cooking techniques through videos has become commonplace. However, there is a lack of video suggestions tailored to viewers' skill levels and situations, often leaving viewers confused or unable to quickly obtain the necessary information. Furthermore, there is a demand for interactive experiences that are based on viewers' emotions. As a result, there is a need for systems that enrich the viewing experience and improve viewer satisfaction.
[0185] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0186] In this invention, the server includes means for receiving cooking video data, means for analyzing the video data to automatically extract ingredient names and cooking procedures from the video and audio information, and means for analyzing the viewer's emotional information and dynamically adjusting captions according to their emotional state. This makes it possible to flexibly respond to the viewer's emotions and optimize the viewing experience.
[0187] "Means for receiving cooking video data" refers to a mechanism that acquires video data related to cooking via a network and stores it for processing.
[0188] "Means for analyzing video data and automatically extracting ingredient names and cooking procedures from video and audio information" refers to a device that analyzes visual and auditory information from a video, recognizes the ingredients used and their cooking process, and extracts them.
[0189] A "means for generating captions" is a system that creates textual information to be displayed in an easy-to-understand manner for viewers, based on extracted text information.
[0190] "Means for analyzing viewer emotional information and dynamically adjusting captions according to emotional state" refers to a device that monitors viewers' facial expressions and reactions and changes the displayed content in real time according to their emotions.
[0191] An "information terminal" refers to an electronic device capable of displaying and manipulating information such as captions, and is a terminal used by viewers and creators.
[0192] This invention relates to a system for providing an interactive viewing experience using cooking videos. The system mainly consists of three elements: a server, an information terminal, and a user.
[0193] The server has the capability to receive cooking video data via the internet and analyze it. It separates video and audio information from the video data and automatically extracts ingredient names and cooking procedures using a generative AI model. This allows the system to organize the information necessary for the user to view the video and display it as captions. These captions are configured to appear appropriately in accordance with the viewing timing.
[0194] The server also features an emotion analysis engine to recognize viewers' emotions. This engine analyzes viewers' facial expressions and reactions, and dynamically adjusts the caption content based on the information obtained. This adjustment can enrich the viewing experience, for example, by adding detailed explanations if the viewer is confused.
[0195] An information terminal is a device that uses generated captions to allow viewers to view videos and supplementary information at the appropriate time. Specific examples include smartphones and tablets.
[0196] When a user watches a video on "how to make paella," the server can provide additional explanations as "example prompts" if it detects the viewer's confusion. These prompts could include content such as, "Summarize the steps extracted from the video and generate captions to provide appropriate supplementary information if the user gets lost. Specifically, how to cook the seafood."
[0197] The system uses standard consumer electronics as hardware, and employs open-source image analysis libraries (such as OpenCV) and machine learning frameworks (such as PyTorch) as software to analyze video data and estimate emotions. This enables real-time improvements to the video viewing experience.
[0198] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0199] Step 1:
[0200] The server receives cooking video data from users via the internet. The input is a video file uploaded by the user, and the output is the video data stored on the server. Specifically, the operation involves transferring the video data using HTTP requests and saving it to a database or file system.
[0201] Step 2:
[0202] The server analyzes the received video data. The input is the stored video data, and the output is extracted video and audio information. Specifically, it uses OpenCV to extract video frames and PyTorch to convert audio information into text. It also performs NLP processing to extract information from the audio, including ingredient names and cooking instructions.
[0203] Step 3:
[0204] The server generates caption data based on the extracted ingredient names and cooking instructions. The input is the extracted ingredient names and cooking instructions, and the output is a caption with timing information. The caption includes time information to ensure that the ingredients and cooking instructions are displayed at the appropriate times. A Python script is used to generate the caption file.
[0205] Step 4:
[0206] The server analyzes the user's facial expression data in real time to recognize their emotions. The input is facial expression data acquired from the user's camera, and the output is the analyzed emotion information. A PyTorch emotion analysis model is used to estimate the user's emotional state. Specifically, the features of the facial expressions are analyzed using image processing and classified into emotion categories.
[0207] Step 5:
[0208] The server dynamically adjusts caption content based on emotional information. The input is emotional information and the original caption data, and the output is the adjusted caption data. If the viewer is confused, an AI model is used to add additional information and explanations. The generated text is in a format that provides detailed cooking instructions and hints based on prompts.
[0209] Step 6:
[0210] The device displays generated and adjusted caption data to the user along with the video. The input is the adjusted caption data, and the output is the video and caption information displayed on the user's screen. The captions are displayed on the device's screen in sync with the video, allowing the user to cook while viewing them.
[0211] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0212] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0213] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0214] [Second Embodiment]
[0215] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0216] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0217] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0218] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0219] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0220] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0221] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0222] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0223] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0224] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0225] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0226] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0227] The system of this invention provides new value to viewers and creators by extracting detailed recipe information from cooking videos and generating captions.
[0228] This system begins by having the user upload a cooking video to the server through a specific interface. The server analyzes the received video data and separates it into video and audio information. From the video information, it recognizes visual elements such as ingredients and cooking utensils, and from the audio information, it extracts the names of ingredients and cooking procedures that are explained verbally.
[0229] The extracted information is then organized by the server and converted into text. This text is then formed as captions in a format that correlates with the original cooking video, and display timing information is also added to ensure that the captions appear at specific points in the video.
[0230] Next, the generated captions are provided to the creator's device. The creator's device is responsible for importing these captions into the video editing software at the optimal time and adjusting and displaying them in a way that is easy for viewers to understand.
[0231] As a concrete example, consider the case where a video on "how to make hot chocolate" is uploaded to the system. This video includes "chocolate, milk, and sugar" as ingredients, and the steps include "melting the chocolate" and "adding the milk." The server automatically extracts this information and creates captions for the steps, such as "finely chop the chocolate" and "warm the milk," at the appropriate positions in the video.
[0232] Furthermore, the server suggests inserting annotations and supplementary information during editing to increase viewer engagement. This makes it easier for viewers to become immersed in the video, and allows creators to deliver high-quality content while reducing their workload.
[0233] Thus, the system of the present invention enables the creation of visually and substantively rich video content by efficiently extracting useful recipe information from cooking videos.
[0234] The following describes the processing flow.
[0235] Step 1:
[0236] Users upload cooking videos from their devices to the server via an interface. The server receives this video data and prepares to store it securely.
[0237] Step 2:
[0238] The server separates the uploaded video into video and audio information. For the video information, a computer vision algorithm is used to analyze each frame and identify ingredients and cooking utensils. For the audio information, speech recognition technology is used to convert it into text and extract descriptions of ingredients and cooking procedures.
[0239] Step 3:
[0240] The server integrates information about ingredients and procedures obtained from video and audio data. During this process, it compares the information against an existing recipe database to verify its accuracy. A consistent ingredient list and cooking procedure are then generated.
[0241] Step 4:
[0242] The server generates captions based on the integrated information. These captions provide specific and concise visual information, including material names and procedures. Furthermore, the captions are timestamped with the relevant video to determine when each piece of information should be displayed.
[0243] Step 5:
[0244] The server sends the generated captions to the user's (creator's) device and makes them available for download in a format that can be imported into editing software. Creators can then use this to edit their videos and provide the captions to viewers in the most optimal way.
[0245] Step 6:
[0246] The server suggests editing points to creators based on captions to improve viewer engagement. This provides specific ideas and points for inserting supplementary information to further enhance the quality of the content.
[0247] Step 7:
[0248] The final edited video is uploaded to a platform accessible to viewers via a server, and the captions are verified to display correctly. Through this, viewers can enjoy the video while obtaining clear recipe information.
[0249] (Example 1)
[0250] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0251] Traditional cooking videos often made it difficult for viewers to obtain detailed recipe information and were visually burdensome. Because these videos failed to effectively utilize visual and auditory information, viewers couldn't obtain sufficiently useful information, and creators faced challenges in efficient content production.
[0252] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0253] In this invention, the server includes means for receiving video information, means for automatically extracting material names and work procedures from visual and audio information, and means for organizing the extracted material names and work procedures as document information, adding display time information, and generating subtitles. This makes it possible to automatically extract useful recipe information from videos and provide it in a format that is easy for viewers to understand.
[0254] "Video information" refers to all dynamic media data, including visual and auditory content, and is the subject of analysis.
[0255] "Visual information" refers to information obtained from images and video frames within video data, and is fundamental information for recognizing objects such as materials and equipment.
[0256] "Audio information" refers to information used to extract the content of spoken words from the audio contained in video data.
[0257] "Ingredient names" refer to the names of ingredients used in cooking or cooking, and are recognized visually or audibly within the video.
[0258] "Work procedures" refer to information that outlines the steps and methods for cooking or performing a specific task, conveying concrete actions to the viewer.
[0259] "Document information" refers to information that is extracted from visual and auditory information and then converted into text, and is presented to the viewer visually.
[0260] "Display time information" refers to time codes and time-related data used to indicate the appropriate timing for displaying document information within a video.
[0261] "Subtitles" refer to text information displayed within a video, and are a display format intended to provide viewers with additional information or explanations.
[0262] A "creator terminal" refers to a computing device used by creators to edit and adjust subtitles and video data.
[0263] An "editing program" refers to software used to process and adjust video and subtitle data, and is an application that runs on the creator's device.
[0264] This invention is a system that extracts detailed recipe information from cooking videos and provides it as subtitles. This system begins with receiving video information uploaded by the user on a server.
[0265] The server uses a multimedia processing library to analyze video information, separating visual and audio information. Specifically, it uses computer vision technology to recognize ingredients and cooking utensils from the visual information and utilizes object detection algorithms such as YOLO and SSD. For audio information, it uses a speech recognition model to extract spoken ingredient names and work procedures using a service like the Google Cloud Speech-to-Text API.
[0266] The extracted information is organized as document information on the server using natural language processing technology. For example, OpenAI's generative AI model is used to generate text information and add display time information for displaying it in the relevant video scenes. This generated subtitle information is then sent to the creator's terminal.
[0267] On the creator's device, they can use video editing programs (e.g., Adobe Premiere Pro, Final Cut Pro) to adjust subtitles and set their display position. This allows for the creation of video content that is visually easy for viewers to understand.
[0268] As a concrete example, let's consider a video on "How to Make Hot Chocolate." This video includes "chocolate, milk, and sugar" as ingredients, and "melt the chocolate" and "add the milk" as steps. The server automatically extracts this information and generates subtitles with timestamps such as "finely chop the chocolate" and "heat the milk."
[0269] An example of a prompt message would be, "Extract the ingredients and steps for the dish from this video and generate captions." This would create a system where users can easily obtain useful recipe information from video content, and creators can efficiently improve their content.
[0270] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0271] Step 1:
[0272] Users upload video information to the server via an interface. The input is a cooking video file, and the output is video data stored on the server. Users select a file using a browser or dedicated application and click the send button, at which point the file is transferred to the server.
[0273] Step 2:
[0274] The server receives video information and uses a multimedia processing library to separate the visual and audio information. The input is video data stored on the server, and the output is image frames and audio files. The server uses tools such as FFmpeg to extract the images and audio as separate data streams and prepare them for processing.
[0275] Step 3:
[0276] The server applies object detection algorithms to visual information to recognize materials and cooking utensils. The input is an image frame, and the output is a list of extracted materials and utensils. Models such as YOLO and SSD are used to determine the location and type of objects within the frame.
[0277] Step 4:
[0278] The server analyzes the audio information using speech recognition technology and extracts the spoken material names and work procedures as text. The input is an audio file, and the output is extracted text data. A service such as the Google Cloud Speech-to-Text API is used to convert the audio to text and obtain the basic information for analysis.
[0279] Step 5:
[0280] The server organizes the extracted visual and audio information using natural language processing technology and generates text for subtitles and display time information. The input is a list of materials and text data, and the output is the generated subtitle information. Using OpenAI's generative AI model, the text is formatted and time information suitable for subtitles is added.
[0281] Step 6:
[0282] The server provides the generated subtitle information to the creator's terminal, and the terminal receives this and prepares to incorporate it into an editing program. The input is the subtitle information, and the output is the state of being incorporated into the editing program. The creator optimizes the position and timing of the subtitles using editing software to create a visually complete video.
[0283] (Application Example 1)
[0284] Next, Application Example 1 will be described. In the following description, the data processing device 12 is referred to as the "server", and the smart glasses 214 are referred to as the "terminal".
[0285] When analyzing the visual information and acoustic information of a cooking video to provide more attractive and easy-to-understand content for viewers, manually extracting the material names and cooking steps takes time and has issues in terms of accuracy. Also, in order to sustain the viewer's interest, it is required to effectively provide information at specific parts of the video, but there is a lack of a system for doing this efficiently.
[0286] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0287] In this invention, the server includes means for receiving cooking video data from visual and auditory information, means for analyzing the video data to automatically extract ingredient names and cooking processes from visual and auditory elements, and means for organizing the extracted ingredient names and cooking processes as text information and adding display time information to generate subtitles. This makes it possible to provide information that increases viewer interest while improving the efficiency of video editing.
[0288] "Visual information" refers to the video data contained in a video, and is the information used to analyze elements such as the names of ingredients and cooking processes.
[0289] "Audio information" refers to the audio data contained in a video, and it is used to identify ingredients and cooking procedures.
[0290] "Cooking video data" refers to video files that show the process and steps of cooking, and is the target of analysis by the system.
[0291] "Ingredient name" refers to the name of the specific ingredient used in a dish, and is extracted from visual and auditory information.
[0292] The "cooking process" refers to the specific steps taken until a dish is completed, and is extracted from visual and auditory information.
[0293] "Textual information" refers to text data in which ingredient names and cooking processes have been analyzed and organized, and is used as subtitles.
[0294] "Display time information" refers to data about the timing required for generated subtitles to appear in the video at the appropriate time.
[0295] "Subtitles" refer to textual information displayed within a video, providing viewers with content generated from visual and auditory elements.
[0296] A "content creation terminal" refers to a device that receives generated subtitle information and makes it available for use with video editing software.
[0297] "Viewer interest" refers to the level of interest and concentration viewers have with the video content, and providing information that enhances this interest is crucial.
[0298] The system for realizing this invention primarily consists of a server, a user terminal, and a content creation terminal.
[0299] The server first receives cooking video data from the user, including visual and auditory information. In this step, user devices such as smartphones and tablets are used, and videos are uploaded via a simple interface. The server analyzes the received videos, utilizing the OpenCV library for visual element recognition and the Google Cloud Speech-to-Text API for auditory element analysis.
[0300] Through visual element analysis, the server automatically extracts ingredient names from video data, and through acoustic element analysis, it extracts cooking processes from audio data. This extracted information is organized as text information within the server, and display time information is added to generate subtitles. A generative AI model using the Transformers library, particularly the GPT model, is utilized for subtitle generation.
[0301] The generated subtitles are sent to the content creation terminal, where they are converted into a format usable by video editing software such as Adobe Premiere Pro and Final Cut Pro. This format allows the subtitles to appear at the appropriate time in specific parts of the video.
[0302] As a specific example, when a user provides a "\"How to Make Pancakes\"" video to the system, the server identifies the ingredients "\"flour, eggs, milk, sugar\"" and generates content such as "\"Put the flour in a bowl\", \"Add the eggs\", \"Stir\"" as subtitles for the cooking procedure. The generated subtitles are incorporated into the video by video editing software.
[0303] An example of a prompt sentence for the generation AI model is "\"Analyze the cooking video and generate the ingredients and procedure as subtitles.\"". With this prompt sentence, the system effectively extracts information from the cooking video and enhances the added value of the video content.
[0304] The flow of the specific process in Application Example 1 will be described using FIG. 12.
[0305] Step 1:
[0306] The user uploads the cooking video from the user terminal to the server. In this process, the video file is selected through the user interface and sent to the server. The input is the cooking video data from the user terminal, and the output is the video data stored on the server.
[0307] Step 2:
[0308] The server separates the received video data into visual information and acoustic information. The visual information is extracted from the video data using the OpenCV library, and the acoustic information is extracted from the audio data using the Google Cloud Speech-to-Text API. The input for this step is the video data stored on the server, and the output is a dataset containing visual and acoustic elements.
[0309] Step 3:
[0310] The server recognizes material names from video data through visual element analysis. Using OpenCV, it analyzes where the material appears in the video and obtains the name using digital image processing techniques. The input is data containing visual elements, and the output is a list of material names.
[0311] Step 4:
[0312] The server extracts cooking steps from audio data through acoustic element analysis. It uses the Google Cloud Speech-to-Text API to convert the audio to text and extract the cooking instructions. The input for this step is data containing acoustic elements, and the output is text information of the cooking steps.
[0313] Step 5:
[0314] The server organizes the extracted ingredient names and cooking steps as text information, adds display time information, and generates subtitles. The GPT model from the Transformers library is used for this generation. The input is text information of ingredient names and cooking steps, and the output is subtitle data with timing information.
[0315] Step 6:
[0316] The server sends the generated subtitle data to the content creation terminal. Here, it converts the data to a format compatible with video editing software and adjusts the synchronization information. The input is subtitle data, and the output is data in a format usable by editing software.
[0317] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0318] The system of this invention extracts detailed recipe information from cooking videos and dynamically adjusts the content according to the viewer's emotions, thereby providing new value to both viewers and creators.
[0319] This system starts when a user uploads a cooking video to the server via an interface. The server analyzes the received video data, separating the video and audio information. From the video information, it identifies ingredients and cooking utensils, and from the audio information, it extracts ingredient names and cooking steps. This organizes a detailed ingredient list and cooking instructions in a consistent format.
[0320] Next, the server generates captions based on the information obtained. These captions include information about when the video will appear, ensuring that viewers receive the necessary information at the appropriate time.
[0321] Furthermore, the system incorporates an emotion engine that recognizes the viewer's emotions. This engine analyzes the viewer's facial expressions and reactions to infer their emotional state. Based on this information, the server dynamically adjusts the captions to best suit the viewer's emotions. For example, if the viewer is confused, additional detailed explanations can be provided. Additionally, by displaying supplementary information and hints based on the viewer's emotional state, the system improves viewing satisfaction.
[0322] As a concrete example, consider a case where a video of "how to make cheesecake" is uploaded to the system. The server automatically extracts ingredients such as "cream cheese, sugar, and eggs" from the video and creates captions for steps such as "mix in a bowl" and "bake." Furthermore, if the viewer shows a confused expression while watching the video, this emotion engine suggests displaying additional hints or details of the cooking process in real time.
[0323] Thus, the system of the present invention provides a visually and substantively enriching video experience by extracting useful recipe information from cooking videos and providing content that responds to the viewer's emotional state.
[0324] The following describes the processing flow.
[0325] Step 1:
[0326] Users upload cooking videos from their devices to the server via an interface. The server receives this video data, securely stores it, and prepares it for analysis.
[0327] Step 2:
[0328] The server analyzes the uploaded video to separate the video and audio information. The video information is analyzed using computer vision technology to identify ingredients and cooking utensils, while the audio information is converted into text data using speech recognition technology. This is where specific ingredient names and cooking procedures are extracted.
[0329] Step 3:
[0330] The server verifies the extracted information, integrating and organizing the ingredient list and cooking instructions. This process compares it with existing recipe databases to improve accuracy and consistency.
[0331] Step 4:
[0332] The server generates captions based on the organized information. The generated captions include timing information for their appearance in the video, presenting the names of ingredients and cooking steps to the viewer at the appropriate time.
[0333] Step 5:
[0334] The server uses an emotion recognition engine to analyze viewers' emotions in order to improve their viewing experience. It analyzes viewers' facial expressions and reactions in real time and estimates their state if they show emotions such as confusion, excitement, or lack of understanding.
[0335] Step 6:
[0336] Based on the viewer's emotional state revealed by sentiment analysis, the server dynamically adjusts captions and supplementary information. For example, if a viewer seems to be having difficulty, additional explanations or hints can be displayed. This adjustment is made in real time as a specific step in the video progresses.
[0337] Step 7:
[0338] The server provides the final captions to the user's (creator's) device and converts them into a format easily usable by editing software. This allows creators to effectively and efficiently utilize captions when editing videos.
[0339] Step 8:
[0340] Once the creator has completed final checks and editing, the video is distributed via a server to a platform accessible to viewers. Viewers can then enjoy cooking videos that are easier to understand and more enjoyable, thanks to captions optimized for their own emotional state.
[0341] (Example 2)
[0342] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0343] The goal is to solve the challenge of improving the viewing experience by efficiently extracting detailed information from visual media and automatically generating content that adapts to the viewer's emotions. In this field, manually extracting information from videos and providing content tailored to the viewer requires a lot of time and effort, and the process often lacks efficiency and accuracy.
[0344] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0345] In this invention, the server includes means for receiving visual media data, means for analyzing the media data to automatically extract information item names and work procedures from visual and auditory information, means for organizing the extracted information item names and work procedures as text information, adding display timing information to generate annotations, and means for analyzing viewer reactions to dynamically adjust annotations based on emotions. This enables the provision of more efficient and viewer-friendly content.
[0346] "Visual media data" refers to digital information including video and audio, and is a general term for data used as content such as cooking videos and educational videos.
[0347] "Visual information" refers to data represented as images or videos contained in visual media data, from which specific information can be extracted through object recognition or image analysis.
[0348] "Auditory information" refers to data expressed as sound within visual media data, from which textual information and instructions can be extracted using speech recognition technology.
[0349] An "information item name" is a name that represents a specific object or element within visual media data, and is used, for example, to identify the names of ingredients or tools used in cooking.
[0350] "Work procedure" refers to a series of instructions for actions or operations shown within visual media data, including, for example, the cooking steps in a recipe.
[0351] Annotation refers to textual information that includes additional information or explanations related to visual media data, providing viewers with supplementary explanations or instructions.
[0352] "Viewer reactions" refer to feedback information obtained from the facial expressions and behaviors of recipients while they are viewing visual media data.
[0353] "Dynamically adjusting annotations based on emotions" means changing the content and timing of annotations displayed according to the emotional state inferred from the viewer's reactions, and is a process to provide content that is more relevant to the viewer.
[0354] This invention aims to construct a system that efficiently analyzes visual media data and dynamically provides content tailored to the viewer. The system mainly consists of a server and terminals that process data input by the user.
[0355] Users upload visual media data, such as cooking videos, through the interface. After receiving the video, the server begins analysis. Multiple software programs are used for the analysis. Image recognition libraries (e.g., TensorFlow and OpenCV) are used for visual information analysis, and speech recognition APIs (e.g., speech recognition cloud services) are used for auditory information analysis. As a result, the server automatically extracts ingredients and procedures from the video and generates organized text-based annotations.
[0356] The generated annotations are assigned display timings, ensuring that information is presented at the appropriate time for the viewer while watching the video. Furthermore, the server infers the viewer's emotions based on reaction data obtained from the viewer's device and dynamically adjusts the content of the annotations using a generative AI model. For this purpose, video analysis using libraries such as OpenCV is used to detect the viewer's facial expressions and execute prompts that correspond to their emotions.
[0357] For example, if a user uploads a video showing how to make cheesecake, the server automatically extracts information such as "sugar," "cream cheese," and "eggs" from the video and visually presents steps such as "bake in the oven" and "mix the batter." If the viewer looks confused, the system prompts them with "explain this step in more detail" and provides more detailed information.
[0358] In this way, the system as a whole combines various media analysis technologies and generative AI models to perform detailed information analysis and provide dynamic content tailored to the viewer. This process makes it possible to improve the quality of the viewing experience and provide new value to both viewers and creators.
[0359] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0360] Step 1:
[0361] Users upload cooking videos to the server using the interface. To do this, the user selects the video file and starts the data transfer by pressing a dedicated upload button. The input data is the cooking video file itself, which the server receives.
[0362] Step 2:
[0363] The server begins analyzing the uploaded video data. First, it separates the video file into video and audio information. A media processing library is used for this process. The separated video information is analyzed using image analysis techniques to identify ingredients and cooking utensils, and the audio information is analyzed using a speech recognition API to extract ingredient names and cooking procedures. This results in the output of specific information obtained from both the video and audio portions.
[0364] Step 3:
[0365] The server organizes the obtained ingredient names and cooking steps and generates annotations (text information) in an easy-to-understand format for viewers. The input is the ingredient names and steps extracted in the previous step. A timestamp is added to this, and the timing at which it should be displayed in the video is set. This processing outputs annotations that make it easier for viewers to understand each step.
[0366] Step 4:
[0367] The server sends the generated annotations to the creator's terminal and converts them into a format usable by editing software. This is the step of exporting the output annotation data to the desired file format. Further manual adjustments can then be made on the terminal based on these annotations.
[0368] Step 5:
[0369] The server analyzes reaction data sent from the viewer's device to analyze the viewer's facial expressions and reactions. This input is real-time data acquired during video playback. Using libraries such as OpenCV, the server analyzes the viewer's facial expressions, estimates the viewer's emotional state based on the results, and obtains viewer emotion data as output.
[0370] Step 6:
[0371] The server dynamically adjusts annotations to best suit the viewer's emotions based on sentiment data. This process uses a generative AI model to update content appropriately based on prompts. This adds and adjusts information according to the viewer's needs and level of understanding. The input data is the viewer's emotional state and original annotation data, and the output is up-to-date annotations that correspond to the emotions.
[0372] (Application Example 2)
[0373] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0374] In recent years, the number of viewers of cooking videos has increased, and learning cooking techniques through videos has become commonplace. However, there is a lack of video suggestions tailored to viewers' skill levels and situations, often leaving viewers confused or unable to quickly obtain the necessary information. Furthermore, there is a demand for interactive experiences that are based on viewers' emotions. As a result, there is a need for systems that enrich the viewing experience and improve viewer satisfaction.
[0375] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0376] In this invention, the server includes means for receiving cooking video data, means for analyzing the video data to automatically extract ingredient names and cooking procedures from the video and audio information, and means for analyzing the viewer's emotional information and dynamically adjusting captions according to their emotional state. This makes it possible to flexibly respond to the viewer's emotions and optimize the viewing experience.
[0377] "Means for receiving cooking video data" refers to a mechanism that acquires video data related to cooking via a network and stores it for processing.
[0378] "Means for analyzing video data and automatically extracting ingredient names and cooking procedures from video and audio information" refers to a device that analyzes visual and auditory information from a video, recognizes the ingredients used and their cooking process, and extracts them.
[0379] A "means for generating captions" is a system that creates textual information to be displayed in an easy-to-understand manner for viewers, based on extracted text information.
[0380] "Means for analyzing viewer emotional information and dynamically adjusting captions according to emotional state" refers to a device that monitors viewers' facial expressions and reactions and changes the displayed content in real time according to their emotions.
[0381] An "information terminal" refers to an electronic device capable of displaying and manipulating information such as captions, and is a terminal used by viewers and creators.
[0382] This invention relates to a system for providing an interactive viewing experience using cooking videos. The system mainly consists of three elements: a server, an information terminal, and a user.
[0383] The server has the capability to receive cooking video data via the internet and analyze it. It separates video and audio information from the video data and automatically extracts ingredient names and cooking procedures using a generative AI model. This allows the system to organize the information necessary for the user to view the video and display it as captions. These captions are configured to appear appropriately in accordance with the viewing timing.
[0384] The server also features an emotion analysis engine to recognize viewers' emotions. This engine analyzes viewers' facial expressions and reactions, and dynamically adjusts the caption content based on the information obtained. This adjustment can enrich the viewing experience, for example, by adding detailed explanations if the viewer is confused.
[0385] An information terminal is a device that uses generated captions to allow viewers to view videos and supplementary information at the appropriate time. Specific examples include smartphones and tablets.
[0386] When a user watches a video on "how to make paella," the server can provide additional explanations as "example prompts" if it detects the viewer's confusion. These prompts could include content such as, "Summarize the steps extracted from the video and generate captions to provide appropriate supplementary information if the user gets lost. Specifically, how to cook the seafood."
[0387] The system uses standard consumer electronics as hardware, and employs open-source image analysis libraries (such as OpenCV) and machine learning frameworks (such as PyTorch) as software to analyze video data and estimate emotions. This enables real-time improvements to the video viewing experience.
[0388] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0389] Step 1:
[0390] The server receives cooking video data from users via the internet. The input is a video file uploaded by the user, and the output is the video data stored on the server. Specifically, the operation involves transferring the video data using HTTP requests and saving it to a database or file system.
[0391] Step 2:
[0392] The server analyzes the received video data. The input is the stored video data, and the output is extracted video and audio information. Specifically, it uses OpenCV to extract video frames and PyTorch to convert audio information into text. It also performs NLP processing to extract information from the audio, including ingredient names and cooking instructions.
[0393] Step 3:
[0394] The server generates caption data based on the extracted ingredient names and cooking instructions. The input is the extracted ingredient names and cooking instructions, and the output is a caption with timing information. The caption includes time information to ensure that the ingredients and cooking instructions are displayed at the appropriate times. A Python script is used to generate the caption file.
[0395] Step 4:
[0396] The server analyzes the user's facial expression data in real time to recognize their emotions. The input is facial expression data acquired from the user's camera, and the output is the analyzed emotion information. A PyTorch emotion analysis model is used to estimate the user's emotional state. Specifically, the features of the facial expressions are analyzed using image processing and classified into emotion categories.
[0397] Step 5:
[0398] The server dynamically adjusts caption content based on emotional information. The input is emotional information and the original caption data, and the output is the adjusted caption data. If the viewer is confused, an AI model is used to add additional information and explanations. The generated text is in a format that provides detailed cooking instructions and hints based on prompts.
[0399] Step 6:
[0400] The device displays generated and adjusted caption data to the user along with the video. The input is the adjusted caption data, and the output is the video and caption information displayed on the user's screen. The captions are displayed on the device's screen in sync with the video, allowing the user to cook while viewing them.
[0401] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0402] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0403] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0404] [Third Embodiment]
[0405] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0406] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0407] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0408] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0409] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0410] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0411] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0412] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0413] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0414] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0415] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0416] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0417] The system of this invention provides new value to viewers and creators by extracting detailed recipe information from cooking videos and generating captions.
[0418] This system begins by having the user upload a cooking video to the server through a specific interface. The server analyzes the received video data and separates it into video and audio information. From the video information, it recognizes visual elements such as ingredients and cooking utensils, and from the audio information, it extracts the names of ingredients and cooking procedures that are explained verbally.
[0419] The extracted information is then organized by the server and converted into text. This text is then formed as captions in a format that correlates with the original cooking video, and display timing information is also added to ensure that the captions appear at specific points in the video.
[0420] Next, the generated captions are provided to the creator's device. The creator's device is responsible for importing these captions into the video editing software at the optimal time and adjusting and displaying them in a way that is easy for viewers to understand.
[0421] As a concrete example, consider the case where a video on "how to make hot chocolate" is uploaded to the system. This video includes "chocolate, milk, and sugar" as ingredients, and the steps include "melting the chocolate" and "adding the milk." The server automatically extracts this information and creates captions for the steps, such as "finely chop the chocolate" and "warm the milk," at the appropriate positions in the video.
[0422] Furthermore, the server suggests inserting annotations and supplementary information during editing to increase viewer engagement. This makes it easier for viewers to become immersed in the video, and allows creators to deliver high-quality content while reducing their workload.
[0423] Thus, the system of the present invention enables the creation of visually and substantively rich video content by efficiently extracting useful recipe information from cooking videos.
[0424] The following describes the processing flow.
[0425] Step 1:
[0426] Users upload cooking videos from their devices to the server via an interface. The server receives this video data and prepares to store it securely.
[0427] Step 2:
[0428] The server separates the uploaded video into video and audio information. For the video information, a computer vision algorithm is used to analyze each frame and identify ingredients and cooking utensils. For the audio information, speech recognition technology is used to convert it into text and extract descriptions of ingredients and cooking procedures.
[0429] Step 3:
[0430] The server integrates information about ingredients and procedures obtained from video and audio data. During this process, it compares the information against an existing recipe database to verify its accuracy. A consistent ingredient list and cooking procedure are then generated.
[0431] Step 4:
[0432] The server generates captions based on the integrated information. These captions provide specific and concise visual information, including material names and procedures. Furthermore, the captions are timestamped with the relevant video to determine when each piece of information should be displayed.
[0433] Step 5:
[0434] The server sends the generated captions to the user's (creator's) device and makes them available for download in a format that can be imported into editing software. Creators can then use this to edit their videos and provide the captions to viewers in the most optimal way.
[0435] Step 6:
[0436] The server suggests editing points to creators based on captions to improve viewer engagement. This provides specific ideas and points for inserting supplementary information to further enhance the quality of the content.
[0437] Step 7:
[0438] The final edited video is uploaded to a platform accessible to viewers via a server, and the captions are verified to display correctly. Through this, viewers can enjoy the video while obtaining clear recipe information.
[0439] (Example 1)
[0440] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0441] Traditional cooking videos often made it difficult for viewers to obtain detailed recipe information and were visually burdensome. Because these videos failed to effectively utilize visual and auditory information, viewers couldn't obtain sufficiently useful information, and creators faced challenges in efficient content production.
[0442] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0443] In this invention, the server includes means for receiving video information, means for automatically extracting material names and work procedures from visual and audio information, and means for organizing the extracted material names and work procedures as document information, adding display time information, and generating subtitles. This makes it possible to automatically extract useful recipe information from videos and provide it in a format that is easy for viewers to understand.
[0444] "Video information" refers to all dynamic media data, including visual and auditory content, and is the subject of analysis.
[0445] "Visual information" refers to information obtained from images and video frames within video data, and is fundamental information for recognizing objects such as materials and equipment.
[0446] "Audio information" refers to information used to extract the content of spoken words from the audio contained in video data.
[0447] "Ingredient names" refer to the names of ingredients used in cooking or cooking, and are recognized visually or audibly within the video.
[0448] "Work procedures" refer to information that outlines the steps and methods for cooking or performing a specific task, conveying concrete actions to the viewer.
[0449] "Document information" refers to information that is extracted from visual and auditory information and then converted into text, and is presented to the viewer visually.
[0450] "Display time information" refers to time codes and time-related data used to indicate the appropriate timing for displaying document information within a video.
[0451] "Subtitles" refer to text information displayed within a video, and are a display format intended to provide viewers with additional information or explanations.
[0452] A "creator terminal" refers to a computing device used by creators to edit and adjust subtitles and video data.
[0453] An "editing program" refers to software used to process and adjust video and subtitle data, and is an application that runs on the creator's device.
[0454] This invention is a system that extracts detailed recipe information from cooking videos and provides it as subtitles. This system begins with receiving video information uploaded by the user on a server.
[0455] The server uses a multimedia processing library to analyze video information, separating visual and audio information. Specifically, it uses computer vision technology to recognize ingredients and cooking utensils from the visual information and utilizes object detection algorithms such as YOLO and SSD. For audio information, it uses a speech recognition model to extract spoken ingredient names and work procedures using a service like the Google Cloud Speech-to-Text API.
[0456] The extracted information is organized as document information on the server using natural language processing technology. For example, OpenAI's generative AI model is used to generate text information and add display time information for displaying it in the relevant video scenes. This generated subtitle information is then sent to the creator's terminal.
[0457] On the creator's device, they can use video editing programs (e.g., Adobe Premiere Pro, Final Cut Pro) to adjust subtitles and set their display position. This allows for the creation of video content that is visually easy for viewers to understand.
[0458] As a concrete example, let's consider a video on "How to Make Hot Chocolate." This video includes "chocolate, milk, and sugar" as ingredients, and "melt the chocolate" and "add the milk" as steps. The server automatically extracts this information and generates subtitles with timestamps such as "finely chop the chocolate" and "heat the milk."
[0459] An example of a prompt message would be, "Extract the ingredients and steps for the dish from this video and generate captions." This would create a system where users can easily obtain useful recipe information from video content, and creators can efficiently improve their content.
[0460] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0461] Step 1:
[0462] Users upload video information to the server via an interface. The input is a cooking video file, and the output is video data stored on the server. Users select a file using a browser or dedicated application and click the send button, at which point the file is transferred to the server.
[0463] Step 2:
[0464] The server receives video information and uses a multimedia processing library to separate the visual and audio information. The input is video data stored on the server, and the output is image frames and audio files. The server uses tools such as FFmpeg to extract the images and audio as separate data streams and prepare them for processing.
[0465] Step 3:
[0466] The server applies object detection algorithms to visual information to recognize materials and cooking utensils. The input is an image frame, and the output is a list of extracted materials and utensils. Models such as YOLO and SSD are used to determine the location and type of objects within the frame.
[0467] Step 4:
[0468] The server analyzes the audio information using speech recognition technology and extracts the spoken material names and work procedures as text. The input is an audio file, and the output is extracted text data. A service such as the Google Cloud Speech-to-Text API is used to convert the audio to text and obtain the basic information for analysis.
[0469] Step 5:
[0470] The server uses natural language processing techniques to organize the extracted visual and audio information and generate subtitle text and display time information. The input is a list of source materials and text data, and the output is the generated subtitle information. OpenAI's generative AI model is used to format the text and add time information suitable for subtitles.
[0471] Step 6:
[0472] The server provides the generated subtitle information to the creator's terminal, which receives it and prepares it for import into the editing program. The input is the subtitle information, and the output is the subtitle information already imported into the editing program. The creator optimizes the position and timing of the subtitles using the editing software to create a visually complete video.
[0473] (Application Example 1)
[0474] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0475] Analyzing the visual and auditory information of cooking videos to provide viewers with more engaging and easily understandable content is time-consuming and lacks accuracy, especially when manually extracting ingredient names and cooking steps. Furthermore, maintaining viewer interest requires effectively providing information at specific points in the video, but there is a lack of systems to efficiently achieve this.
[0476] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0477] In this invention, the server includes means for receiving cooking video data from visual and auditory information, means for analyzing the video data to automatically extract ingredient names and cooking processes from visual and auditory elements, and means for organizing the extracted ingredient names and cooking processes as text information and adding display time information to generate subtitles. This makes it possible to provide information that increases viewer interest while improving the efficiency of video editing.
[0478] "Visual information" refers to the video data contained in a video, and is the information used to analyze elements such as the names of ingredients and cooking processes.
[0479] "Audio information" refers to the audio data contained in a video, and it is used to identify ingredients and cooking procedures.
[0480] "Cooking video data" refers to video files that show the process and steps of cooking, and is the target of analysis by the system.
[0481] "Ingredient name" refers to the name of the specific ingredient used in a dish, and is extracted from visual and auditory information.
[0482] The "cooking process" refers to the specific steps taken until a dish is completed, and is extracted from visual and auditory information.
[0483] "Textual information" refers to text data in which ingredient names and cooking processes have been analyzed and organized, and is used as subtitles.
[0484] "Display time information" refers to data about the timing required for generated subtitles to appear in the video at the appropriate time.
[0485] "Subtitles" refer to textual information displayed within a video, providing viewers with content generated from visual and auditory elements.
[0486] A "content creation terminal" refers to a device that receives generated subtitle information and makes it available for use with video editing software.
[0487] "Viewer interest" refers to the level of interest and concentration viewers have with the video content, and providing information that enhances this interest is crucial.
[0488] The system for realizing this invention primarily consists of a server, a user terminal, and a content creation terminal.
[0489] The server first receives cooking video data from the user, including visual and auditory information. In this step, user devices such as smartphones and tablets are used, and videos are uploaded via a simple interface. The server analyzes the received videos, utilizing the OpenCV library for visual element recognition and the Google Cloud Speech-to-Text API for auditory element analysis.
[0490] Through visual element analysis, the server automatically extracts ingredient names from video data, and through acoustic element analysis, it extracts cooking processes from audio data. This extracted information is organized as text information within the server, and display time information is added to generate subtitles. A generative AI model using the Transformers library, particularly the GPT model, is utilized for subtitle generation.
[0491] The generated subtitles are sent to the content creation terminal, where they are converted into a format usable by video editing software such as Adobe Premiere Pro and Final Cut Pro. This format allows the subtitles to appear at the appropriate time in specific parts of the video.
[0492] As a concrete example, when a user provides the system with a video on "how to make pancakes," the server identifies the ingredients as "flour, eggs, milk, and sugar," and generates subtitles describing the cooking steps, such as "put flour in a bowl," "add eggs," and "stir." The generated subtitles are then incorporated into the video using video editing software.
[0493] An example of a prompt for a generative AI model is, "Analyze the cooking video and generate subtitles listing the ingredients and steps." This prompt allows the system to effectively extract information from the cooking video, increasing the added value of the video content.
[0494] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0495] Step 1:
[0496] Users upload cooking videos from their devices to the server. In this process, video files are selected through the user interface and sent to the server. The input is the cooking video data from the user's device, and the output is the video data stored on the server.
[0497] Step 2:
[0498] The server separates the received video data into visual and auditory information. Visual information is extracted from the video data using the OpenCV library, and auditory information is extracted from the audio data using the Google Cloud Speech-to-Text API. The input for this step is video data stored on the server, and the output is a dataset containing both visual and auditory elements.
[0499] Step 3:
[0500] The server recognizes material names from video data through visual element analysis. Using OpenCV, it analyzes where the material appears in the video and obtains the name using digital image processing techniques. The input is data containing visual elements, and the output is a list of material names.
[0501] Step 4:
[0502] The server extracts cooking steps from audio data through acoustic element analysis. It uses the Google Cloud Speech-to-Text API to convert the audio to text and extract the cooking instructions. The input for this step is data containing acoustic elements, and the output is text information of the cooking steps.
[0503] Step 5:
[0504] The server organizes the extracted ingredient names and cooking steps as text information, adds display time information, and generates subtitles. The GPT model from the Transformers library is used for this generation. The input is text information of ingredient names and cooking steps, and the output is subtitle data with timing information.
[0505] Step 6:
[0506] The server sends the generated subtitle data to the content creation terminal. Here, it converts the data to a format compatible with video editing software and adjusts the synchronization information. The input is subtitle data, and the output is data in a format usable by editing software.
[0507] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0508] The system of this invention extracts detailed recipe information from cooking videos and dynamically adjusts the content according to the viewer's emotions, thereby providing new value to both viewers and creators.
[0509] This system starts when a user uploads a cooking video to the server via an interface. The server analyzes the received video data, separating the video and audio information. From the video information, it identifies ingredients and cooking utensils, and from the audio information, it extracts ingredient names and cooking steps. This organizes a detailed ingredient list and cooking instructions in a consistent format.
[0510] Next, the server generates captions based on the information obtained. These captions include information about when the video will appear, ensuring that viewers receive the necessary information at the appropriate time.
[0511] Furthermore, the system incorporates an emotion engine that recognizes the viewer's emotions. This engine analyzes the viewer's facial expressions and reactions to infer their emotional state. Based on this information, the server dynamically adjusts the captions to best suit the viewer's emotions. For example, if the viewer is confused, additional detailed explanations can be provided. Additionally, by displaying supplementary information and hints based on the viewer's emotional state, the system improves viewing satisfaction.
[0512] As a concrete example, consider a case where a video of "how to make cheesecake" is uploaded to the system. The server automatically extracts ingredients such as "cream cheese, sugar, and eggs" from the video and creates captions for steps such as "mix in a bowl" and "bake." Furthermore, if the viewer shows a confused expression while watching the video, this emotion engine suggests displaying additional hints or details of the cooking process in real time.
[0513] Thus, the system of the present invention provides a visually and substantively enriching video experience by extracting useful recipe information from cooking videos and providing content that responds to the viewer's emotional state.
[0514] The following describes the processing flow.
[0515] Step 1:
[0516] Users upload cooking videos from their devices to the server via an interface. The server receives this video data, securely stores it, and prepares it for analysis.
[0517] Step 2:
[0518] The server analyzes the uploaded video to separate the video and audio information. The video information is analyzed using computer vision technology to identify ingredients and cooking utensils, while the audio information is converted into text data using speech recognition technology. This is where specific ingredient names and cooking procedures are extracted.
[0519] Step 3:
[0520] The server verifies the extracted information, integrating and organizing the ingredient list and cooking instructions. This process compares it with existing recipe databases to improve accuracy and consistency.
[0521] Step 4:
[0522] The server generates captions based on the organized information. The generated captions include timing information for their appearance in the video, presenting the names of ingredients and cooking steps to the viewer at the appropriate time.
[0523] Step 5:
[0524] The server uses an emotion recognition engine to analyze viewers' emotions in order to improve their viewing experience. It analyzes viewers' facial expressions and reactions in real time and estimates their state if they show emotions such as confusion, excitement, or lack of understanding.
[0525] Step 6:
[0526] Based on the viewer's emotional state revealed by sentiment analysis, the server dynamically adjusts captions and supplementary information. For example, if a viewer seems to be having difficulty, additional explanations or hints can be displayed. This adjustment is made in real time as a specific step in the video progresses.
[0527] Step 7:
[0528] The server provides the final captions to the user's (creator's) device and converts them into a format easily usable by editing software. This allows creators to effectively and efficiently utilize captions when editing videos.
[0529] Step 8:
[0530] Once the creator has completed final checks and editing, the video is distributed via a server to a platform accessible to viewers. Viewers can then enjoy cooking videos that are easier to understand and more enjoyable, thanks to captions optimized for their own emotional state.
[0531] (Example 2)
[0532] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0533] The goal is to solve the challenge of improving the viewing experience by efficiently extracting detailed information from visual media and automatically generating content that adapts to the viewer's emotions. In this field, manually extracting information from videos and providing content tailored to the viewer requires a lot of time and effort, and the process often lacks efficiency and accuracy.
[0534] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0535] In this invention, the server includes means for receiving visual media data, means for analyzing the media data to automatically extract information item names and work procedures from visual and auditory information, means for organizing the extracted information item names and work procedures as text information, adding display timing information to generate annotations, and means for analyzing viewer reactions to dynamically adjust annotations based on emotions. This enables the provision of more efficient and viewer-friendly content.
[0536] "Visual media data" refers to digital information including video and audio, and is a general term for data used as content such as cooking videos and educational videos.
[0537] "Visual information" refers to data represented as images or videos contained in visual media data, from which specific information can be extracted through object recognition or image analysis.
[0538] "Auditory information" refers to data expressed as sound within visual media data, from which textual information and instructions can be extracted using speech recognition technology.
[0539] An "information item name" is a name that represents a specific object or element within visual media data, and is used, for example, to identify the names of ingredients or tools used in cooking.
[0540] "Work procedure" refers to a series of instructions for actions or operations shown within visual media data, including, for example, the cooking steps in a recipe.
[0541] Annotation refers to textual information that includes additional information or explanations related to visual media data, providing viewers with supplementary explanations or instructions.
[0542] "Viewer reactions" refer to feedback information obtained from the facial expressions and behaviors of recipients while they are viewing visual media data.
[0543] "Dynamically adjusting annotations based on emotions" means changing the content and timing of annotations displayed according to the emotional state inferred from the viewer's reactions, and is a process to provide content that is more relevant to the viewer.
[0544] This invention aims to construct a system that efficiently analyzes visual media data and dynamically provides content tailored to the viewer. The system mainly consists of a server and terminals that process data input by the user.
[0545] Users upload visual media data, such as cooking videos, through the interface. After receiving the video, the server begins analysis. Multiple software programs are used for the analysis. Image recognition libraries (e.g., TensorFlow and OpenCV) are used for visual information analysis, and speech recognition APIs (e.g., speech recognition cloud services) are used for auditory information analysis. As a result, the server automatically extracts ingredients and procedures from the video and generates organized text-based annotations.
[0546] The generated annotations are assigned display timings, ensuring that information is presented at the appropriate time for the viewer while watching the video. Furthermore, the server infers the viewer's emotions based on reaction data obtained from the viewer's device and dynamically adjusts the content of the annotations using a generative AI model. For this purpose, video analysis using libraries such as OpenCV is used to detect the viewer's facial expressions and execute prompts that correspond to their emotions.
[0547] For example, if a user uploads a video showing how to make cheesecake, the server automatically extracts information such as "sugar," "cream cheese," and "eggs" from the video and visually presents steps such as "bake in the oven" and "mix the batter." If the viewer looks confused, the system prompts them with "explain this step in more detail" and provides more detailed information.
[0548] In this way, the system as a whole combines various media analysis technologies and generative AI models to perform detailed information analysis and provide dynamic content tailored to the viewer. This process makes it possible to improve the quality of the viewing experience and provide new value to both viewers and creators.
[0549] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0550] Step 1:
[0551] Users upload cooking videos to the server using the interface. To do this, the user selects the video file and starts the data transfer by pressing a dedicated upload button. The input data is the cooking video file itself, which the server receives.
[0552] Step 2:
[0553] The server begins analyzing the uploaded video data. First, it separates the video file into video and audio information. A media processing library is used for this process. The separated video information is analyzed using image analysis techniques to identify ingredients and cooking utensils, and the audio information is analyzed using a speech recognition API to extract ingredient names and cooking procedures. This results in the output of specific information obtained from both the video and audio portions.
[0554] Step 3:
[0555] The server organizes the obtained ingredient names and cooking steps and generates annotations (text information) in an easy-to-understand format for viewers. The input is the ingredient names and steps extracted in the previous step. A timestamp is added to this, and the timing at which it should be displayed in the video is set. This processing outputs annotations that make it easier for viewers to understand each step.
[0556] Step 4:
[0557] The server sends the generated annotations to the creator's terminal and converts them into a format usable by editing software. This is the step of exporting the output annotation data to the desired file format. Further manual adjustments can then be made on the terminal based on these annotations.
[0558] Step 5:
[0559] The server analyzes reaction data sent from the viewer's device to analyze the viewer's facial expressions and reactions. This input is real-time data acquired during video playback. Using libraries such as OpenCV, the server analyzes the viewer's facial expressions, estimates the viewer's emotional state based on the results, and obtains viewer emotion data as output.
[0560] Step 6:
[0561] The server dynamically adjusts annotations to best suit the viewer's emotions based on sentiment data. This process uses a generative AI model to update content appropriately based on prompts. This adds and adjusts information according to the viewer's needs and level of understanding. The input data is the viewer's emotional state and original annotation data, and the output is up-to-date annotations that correspond to the emotions.
[0562] (Application Example 2)
[0563] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0564] In recent years, the number of viewers of cooking videos has increased, and learning cooking techniques through videos has become commonplace. However, there is a lack of video suggestions tailored to viewers' skill levels and situations, often leaving viewers confused or unable to quickly obtain the necessary information. Furthermore, there is a demand for interactive experiences that are based on viewers' emotions. As a result, there is a need for systems that enrich the viewing experience and improve viewer satisfaction.
[0565] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0566] In this invention, the server includes means for receiving cooking video data, means for analyzing the video data to automatically extract ingredient names and cooking procedures from the video and audio information, and means for analyzing the viewer's emotional information and dynamically adjusting captions according to their emotional state. This makes it possible to flexibly respond to the viewer's emotions and optimize the viewing experience.
[0567] "Means for receiving cooking video data" refers to a mechanism that acquires video data related to cooking via a network and stores it for processing.
[0568] "Means for analyzing video data and automatically extracting ingredient names and cooking procedures from video and audio information" refers to a device that analyzes visual and auditory information from a video, recognizes the ingredients used and their cooking process, and extracts them.
[0569] A "means for generating captions" is a system that creates textual information to be displayed in an easy-to-understand manner for viewers, based on extracted text information.
[0570] "Means for analyzing viewer emotional information and dynamically adjusting captions according to emotional state" refers to a device that monitors viewers' facial expressions and reactions and changes the displayed content in real time according to their emotions.
[0571] An "information terminal" refers to an electronic device capable of displaying and manipulating information such as captions, and is a terminal used by viewers and creators.
[0572] This invention relates to a system for providing an interactive viewing experience using cooking videos. The system mainly consists of three elements: a server, an information terminal, and a user.
[0573] The server has the capability to receive cooking video data via the internet and analyze it. It separates video and audio information from the video data and automatically extracts ingredient names and cooking procedures using a generative AI model. This allows the system to organize the information necessary for the user to view the video and display it as captions. These captions are configured to appear appropriately in accordance with the viewing timing.
[0574] The server also features an emotion analysis engine to recognize viewers' emotions. This engine analyzes viewers' facial expressions and reactions, and dynamically adjusts the caption content based on the information obtained. This adjustment can enrich the viewing experience, for example, by adding detailed explanations if the viewer is confused.
[0575] An information terminal is a device that uses generated captions to allow viewers to view videos and supplementary information at the appropriate time. Specific examples include smartphones and tablets.
[0576] When a user watches a video on "how to make paella," the server can provide additional explanations as "example prompts" if it detects the viewer's confusion. These prompts could include content such as, "Summarize the steps extracted from the video and generate captions to provide appropriate supplementary information if the user gets lost. Specifically, how to cook the seafood."
[0577] The system uses standard consumer electronics as hardware, and employs open-source image analysis libraries (such as OpenCV) and machine learning frameworks (such as PyTorch) as software to analyze video data and estimate emotions. This enables real-time improvements to the video viewing experience.
[0578] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0579] Step 1:
[0580] The server receives cooking video data from users via the internet. The input is a video file uploaded by the user, and the output is the video data stored on the server. Specifically, the operation involves transferring the video data using HTTP requests and saving it to a database or file system.
[0581] Step 2:
[0582] The server analyzes the received video data. The input is the stored video data, and the output is extracted video and audio information. Specifically, it uses OpenCV to extract video frames and PyTorch to convert audio information into text. It also performs NLP processing to extract information from the audio, including ingredient names and cooking instructions.
[0583] Step 3:
[0584] The server generates caption data based on the extracted ingredient names and cooking instructions. The input is the extracted ingredient names and cooking instructions, and the output is a caption with timing information. The caption includes time information to ensure that the ingredients and cooking instructions are displayed at the appropriate times. A Python script is used to generate the caption file.
[0585] Step 4:
[0586] The server analyzes the user's facial expression data in real time to recognize their emotions. The input is facial expression data acquired from the user's camera, and the output is the analyzed emotion information. A PyTorch emotion analysis model is used to estimate the user's emotional state. Specifically, the features of the facial expressions are analyzed using image processing and classified into emotion categories.
[0587] Step 5:
[0588] The server dynamically adjusts caption content based on emotional information. The input is emotional information and the original caption data, and the output is the adjusted caption data. If the viewer is confused, an AI model is used to add additional information and explanations. The generated text is in a format that provides detailed cooking instructions and hints based on prompts.
[0589] Step 6:
[0590] The device displays generated and adjusted caption data to the user along with the video. The input is the adjusted caption data, and the output is the video and caption information displayed on the user's screen. The captions are displayed on the device's screen in sync with the video, allowing the user to cook while viewing them.
[0591] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0592] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0593] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[0594] [Fourth Embodiment]
[0595] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0596] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[0597] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0598] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[0599] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0600] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0601] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0602] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[0603] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0604] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0605] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0606] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0607] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0608] The system of this invention provides new value to viewers and creators by extracting detailed recipe information from cooking videos and generating captions.
[0609] This system begins by having the user upload a cooking video to the server through a specific interface. The server analyzes the received video data and separates it into video and audio information. From the video information, it recognizes visual elements such as ingredients and cooking utensils, and from the audio information, it extracts the names of ingredients and cooking procedures that are explained verbally.
[0610] The extracted information is then organized by the server and converted into text. This text is then formed as captions in a format that correlates with the original cooking video, and display timing information is also added to ensure that the captions appear at specific points in the video.
[0611] Next, the generated captions are provided to the creator's device. The creator's device is responsible for importing these captions into the video editing software at the optimal time and adjusting and displaying them in a way that is easy for viewers to understand.
[0612] As a concrete example, consider the case where a video on "how to make hot chocolate" is uploaded to the system. This video includes "chocolate, milk, and sugar" as ingredients, and the steps include "melting the chocolate" and "adding the milk." The server automatically extracts this information and creates captions for the steps, such as "finely chop the chocolate" and "warm the milk," at the appropriate positions in the video.
[0613] Furthermore, the server suggests inserting annotations and supplementary information during editing to increase viewer engagement. This makes it easier for viewers to become immersed in the video, and allows creators to deliver high-quality content while reducing their workload.
[0614] Thus, the system of the present invention enables the creation of visually and substantively rich video content by efficiently extracting useful recipe information from cooking videos.
[0615] The following describes the processing flow.
[0616] Step 1:
[0617] Users upload cooking videos from their devices to the server via an interface. The server receives this video data and prepares to store it securely.
[0618] Step 2:
[0619] The server separates the uploaded video into video and audio information. For the video information, a computer vision algorithm is used to analyze each frame and identify ingredients and cooking utensils. For the audio information, speech recognition technology is used to convert it into text and extract descriptions of ingredients and cooking procedures.
[0620] Step 3:
[0621] The server integrates information about ingredients and procedures obtained from video and audio data. During this process, it compares the information against an existing recipe database to verify its accuracy. A consistent ingredient list and cooking procedure are then generated.
[0622] Step 4:
[0623] The server generates captions based on the integrated information. These captions provide specific and concise visual information, including material names and procedures. Furthermore, the captions are timestamped with the relevant video to determine when each piece of information should be displayed.
[0624] Step 5:
[0625] The server sends the generated captions to the user's (creator's) device and makes them available for download in a format that can be imported into editing software. Creators can then use this to edit their videos and provide the captions to viewers in the most optimal way.
[0626] Step 6:
[0627] The server suggests editing points to creators based on captions to improve viewer engagement. This provides specific ideas and points for inserting supplementary information to further enhance the quality of the content.
[0628] Step 7:
[0629] The final edited video is uploaded to a platform accessible to viewers via a server, and the captions are verified to display correctly. Through this, viewers can enjoy the video while obtaining clear recipe information.
[0630] (Example 1)
[0631] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0632] Traditional cooking videos often made it difficult for viewers to obtain detailed recipe information and were visually burdensome. Because these videos failed to effectively utilize visual and auditory information, viewers couldn't obtain sufficiently useful information, and creators faced challenges in efficient content production.
[0633] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0634] In this invention, the server includes means for receiving video information, means for automatically extracting material names and work procedures from visual and audio information, and means for organizing the extracted material names and work procedures as document information, adding display time information, and generating subtitles. This makes it possible to automatically extract useful recipe information from videos and provide it in a format that is easy for viewers to understand.
[0635] "Video information" refers to all dynamic media data, including visual and auditory content, and is the subject of analysis.
[0636] "Visual information" refers to information obtained from images and video frames within video data, and is fundamental information for recognizing objects such as materials and equipment.
[0637] "Audio information" refers to information used to extract the content of spoken words from the audio contained in video data.
[0638] "Ingredient names" refer to the names of ingredients used in cooking or cooking, and are recognized visually or audibly within the video.
[0639] "Work procedures" refer to information that outlines the steps and methods for cooking or performing a specific task, conveying concrete actions to the viewer.
[0640] "Document information" refers to information that is extracted from visual and auditory information and then converted into text, and is presented to the viewer visually.
[0641] "Display time information" refers to time codes and time-related data used to indicate the appropriate timing for displaying document information within a video.
[0642] "Subtitles" refer to text information displayed within a video, and are a display format intended to provide viewers with additional information or explanations.
[0643] A "creator terminal" refers to a computing device used by creators to edit and adjust subtitles and video data.
[0644] An "editing program" refers to software used to process and adjust video and subtitle data, and is an application that runs on the creator's device.
[0645] This invention is a system that extracts detailed recipe information from cooking videos and provides it as subtitles. This system begins with receiving video information uploaded by the user on a server.
[0646] The server uses a multimedia processing library to analyze video information, separating visual and audio information. Specifically, it uses computer vision technology to recognize ingredients and cooking utensils from the visual information and utilizes object detection algorithms such as YOLO and SSD. For audio information, it uses a speech recognition model to extract spoken ingredient names and work procedures using a service like the Google Cloud Speech-to-Text API.
[0647] The extracted information is organized as document information on the server using natural language processing technology. For example, OpenAI's generative AI model is used to generate text information and add display time information for displaying it in the relevant video scenes. This generated subtitle information is then sent to the creator's terminal.
[0648] On the creator's device, they can use video editing programs (e.g., Adobe Premiere Pro, Final Cut Pro) to adjust subtitles and set their display position. This allows for the creation of video content that is visually easy for viewers to understand.
[0649] As a concrete example, let's consider a video on "How to Make Hot Chocolate." This video includes "chocolate, milk, and sugar" as ingredients, and "melt the chocolate" and "add the milk" as steps. The server automatically extracts this information and generates subtitles with timestamps such as "finely chop the chocolate" and "heat the milk."
[0650] An example of a prompt message would be, "Extract the ingredients and steps for the dish from this video and generate captions." This would create a system where users can easily obtain useful recipe information from video content, and creators can efficiently improve their content.
[0651] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0652] Step 1:
[0653] Users upload video information to the server via an interface. The input is a cooking video file, and the output is video data stored on the server. Users select a file using a browser or dedicated application and click the send button, at which point the file is transferred to the server.
[0654] Step 2:
[0655] The server receives video information and uses a multimedia processing library to separate the visual and audio information. The input is video data stored on the server, and the output is image frames and audio files. The server uses tools such as FFmpeg to extract the images and audio as separate data streams and prepare them for processing.
[0656] Step 3:
[0657] The server applies object detection algorithms to visual information to recognize materials and cooking utensils. The input is an image frame, and the output is a list of extracted materials and utensils. Models such as YOLO and SSD are used to determine the location and type of objects within the frame.
[0658] Step 4:
[0659] The server analyzes the audio information using speech recognition technology and extracts the spoken material names and work procedures as text. The input is an audio file, and the output is extracted text data. A service such as the Google Cloud Speech-to-Text API is used to convert the audio to text and obtain the basic information for analysis.
[0660] Step 5:
[0661] The server uses natural language processing techniques to organize the extracted visual and audio information and generate subtitle text and display time information. The input is a list of source materials and text data, and the output is the generated subtitle information. OpenAI's generative AI model is used to format the text and add time information suitable for subtitles.
[0662] Step 6:
[0663] The server provides the generated subtitle information to the creator's terminal, which receives it and prepares it for import into the editing program. The input is the subtitle information, and the output is the subtitle information already imported into the editing program. The creator optimizes the position and timing of the subtitles using the editing software to create a visually complete video.
[0664] (Application Example 1)
[0665] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0666] Analyzing the visual and auditory information of cooking videos to provide viewers with more engaging and easily understandable content is time-consuming and lacks accuracy, especially when manually extracting ingredient names and cooking steps. Furthermore, maintaining viewer interest requires effectively providing information at specific points in the video, but there is a lack of systems to efficiently achieve this.
[0667] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0668] In this invention, the server includes means for receiving cooking video data from visual and auditory information, means for analyzing the video data to automatically extract ingredient names and cooking processes from visual and auditory elements, and means for organizing the extracted ingredient names and cooking processes as text information and adding display time information to generate subtitles. This makes it possible to provide information that increases viewer interest while improving the efficiency of video editing.
[0669] "Visual information" refers to the video data contained in a video, and is the information used to analyze elements such as the names of ingredients and cooking processes.
[0670] "Audio information" refers to the audio data contained in a video, and it is used to identify ingredients and cooking procedures.
[0671] "Cooking video data" refers to video files that show the process and steps of cooking, and is the target of analysis by the system.
[0672] "Ingredient name" refers to the name of the specific ingredient used in a dish, and is extracted from visual and auditory information.
[0673] The "cooking process" refers to the specific steps taken until a dish is completed, and is extracted from visual and auditory information.
[0674] "Textual information" refers to text data in which ingredient names and cooking processes have been analyzed and organized, and is used as subtitles.
[0675] "Display time information" refers to data about the timing required for generated subtitles to appear in the video at the appropriate time.
[0676] "Subtitles" refer to textual information displayed within a video, providing viewers with content generated from visual and auditory elements.
[0677] A "content creation terminal" refers to a device that receives generated subtitle information and makes it available for use with video editing software.
[0678] "Viewer interest" refers to the level of interest and concentration viewers have with the video content, and providing information that enhances this interest is crucial.
[0679] The system for realizing this invention primarily consists of a server, a user terminal, and a content creation terminal.
[0680] The server first receives cooking video data from the user, including visual and auditory information. In this step, user devices such as smartphones and tablets are used, and videos are uploaded via a simple interface. The server analyzes the received videos, utilizing the OpenCV library for visual element recognition and the Google Cloud Speech-to-Text API for auditory element analysis.
[0681] Through visual element analysis, the server automatically extracts ingredient names from video data, and through acoustic element analysis, it extracts cooking processes from audio data. This extracted information is organized as text information within the server, and display time information is added to generate subtitles. A generative AI model using the Transformers library, particularly the GPT model, is utilized for subtitle generation.
[0682] The generated subtitles are sent to the content creation terminal, where they are converted into a format usable by video editing software such as Adobe Premiere Pro and Final Cut Pro. This format allows the subtitles to appear at the appropriate time in specific parts of the video.
[0683] As a concrete example, when a user provides the system with a video on "how to make pancakes," the server identifies the ingredients as "flour, eggs, milk, and sugar," and generates subtitles describing the cooking steps, such as "put flour in a bowl," "add eggs," and "stir." The generated subtitles are then incorporated into the video using video editing software.
[0684] An example of a prompt for a generative AI model is, "Analyze the cooking video and generate subtitles listing the ingredients and steps." This prompt allows the system to effectively extract information from the cooking video, increasing the added value of the video content.
[0685] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0686] Step 1:
[0687] Users upload cooking videos from their devices to the server. In this process, video files are selected through the user interface and sent to the server. The input is the cooking video data from the user's device, and the output is the video data stored on the server.
[0688] Step 2:
[0689] The server separates the received video data into visual and auditory information. Visual information is extracted from the video data using the OpenCV library, and auditory information is extracted from the audio data using the Google Cloud Speech-to-Text API. The input for this step is video data stored on the server, and the output is a dataset containing both visual and auditory elements.
[0690] Step 3:
[0691] The server recognizes material names from video data through visual element analysis. Using OpenCV, it analyzes where the material appears in the video and obtains the name using digital image processing techniques. The input is data containing visual elements, and the output is a list of material names.
[0692] Step 4:
[0693] The server extracts cooking steps from audio data through acoustic element analysis. It uses the Google Cloud Speech-to-Text API to convert the audio to text and extract the cooking instructions. The input for this step is data containing acoustic elements, and the output is text information of the cooking steps.
[0694] Step 5:
[0695] The server organizes the extracted ingredient names and cooking steps as text information, adds display time information, and generates subtitles. The GPT model from the Transformers library is used for this generation. The input is text information of ingredient names and cooking steps, and the output is subtitle data with timing information.
[0696] Step 6:
[0697] The server sends the generated subtitle data to the content creation terminal. Here, it converts the data to a format compatible with video editing software and adjusts the synchronization information. The input is subtitle data, and the output is data in a format usable by editing software.
[0698] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0699] The system of this invention extracts detailed recipe information from cooking videos and dynamically adjusts the content according to the viewer's emotions, thereby providing new value to both viewers and creators.
[0700] This system starts when a user uploads a cooking video to the server via an interface. The server analyzes the received video data, separating the video and audio information. From the video information, it identifies ingredients and cooking utensils, and from the audio information, it extracts ingredient names and cooking steps. This organizes a detailed ingredient list and cooking instructions in a consistent format.
[0701] Next, the server generates captions based on the information obtained. These captions include information about when the video will appear, ensuring that viewers receive the necessary information at the appropriate time.
[0702] Furthermore, the system incorporates an emotion engine that recognizes the viewer's emotions. This engine analyzes the viewer's facial expressions and reactions to infer their emotional state. Based on this information, the server dynamically adjusts the captions to best suit the viewer's emotions. For example, if the viewer is confused, additional detailed explanations can be provided. Additionally, by displaying supplementary information and hints based on the viewer's emotional state, the system improves viewing satisfaction.
[0703] As a concrete example, consider a case where a video of "how to make cheesecake" is uploaded to the system. The server automatically extracts ingredients such as "cream cheese, sugar, and eggs" from the video and creates captions for steps such as "mix in a bowl" and "bake." Furthermore, if the viewer shows a confused expression while watching the video, this emotion engine suggests displaying additional hints or details of the cooking process in real time.
[0704] Thus, the system of the present invention provides a visually and substantively enriching video experience by extracting useful recipe information from cooking videos and providing content that responds to the viewer's emotional state.
[0705] The following describes the processing flow.
[0706] Step 1:
[0707] Users upload cooking videos from their devices to the server via an interface. The server receives this video data, securely stores it, and prepares it for analysis.
[0708] Step 2:
[0709] The server analyzes the uploaded video to separate the video and audio information. The video information is analyzed using computer vision technology to identify ingredients and cooking utensils, while the audio information is converted into text data using speech recognition technology. This is where specific ingredient names and cooking procedures are extracted.
[0710] Step 3:
[0711] The server verifies the extracted information, integrating and organizing the ingredient list and cooking instructions. This process compares it with existing recipe databases to improve accuracy and consistency.
[0712] Step 4:
[0713] The server generates captions based on the organized information. The generated captions include timing information for their appearance in the video, presenting the names of ingredients and cooking steps to the viewer at the appropriate time.
[0714] Step 5:
[0715] The server uses an emotion recognition engine to analyze viewers' emotions in order to improve their viewing experience. It analyzes viewers' facial expressions and reactions in real time and estimates their state if they show emotions such as confusion, excitement, or lack of understanding.
[0716] Step 6:
[0717] Based on the viewer's emotional state revealed by sentiment analysis, the server dynamically adjusts captions and supplementary information. For example, if a viewer seems to be having difficulty, additional explanations or hints can be displayed. This adjustment is made in real time as a specific step in the video progresses.
[0718] Step 7:
[0719] The server provides the final captions to the user's (creator's) device and converts them into a format easily usable by editing software. This allows creators to effectively and efficiently utilize captions when editing videos.
[0720] Step 8:
[0721] Once the creator has completed final checks and editing, the video is distributed via a server to a platform accessible to viewers. Viewers can then enjoy cooking videos that are easier to understand and more enjoyable, thanks to captions optimized for their own emotional state.
[0722] (Example 2)
[0723] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0724] The goal is to solve the challenge of improving the viewing experience by efficiently extracting detailed information from visual media and automatically generating content that adapts to the viewer's emotions. In this field, manually extracting information from videos and providing content tailored to the viewer requires a lot of time and effort, and the process often lacks efficiency and accuracy.
[0725] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0726] In this invention, the server includes means for receiving visual media data, means for analyzing the media data to automatically extract information item names and work procedures from visual and auditory information, means for organizing the extracted information item names and work procedures as text information, adding display timing information to generate annotations, and means for analyzing viewer reactions to dynamically adjust annotations based on emotions. This enables the provision of more efficient and viewer-friendly content.
[0727] "Visual media data" refers to digital information including video and audio, and is a general term for data used as content such as cooking videos and educational videos.
[0728] "Visual information" refers to data represented as images or videos contained in visual media data, from which specific information can be extracted through object recognition or image analysis.
[0729] "Auditory information" refers to data expressed as sound within visual media data, from which textual information and instructions can be extracted using speech recognition technology.
[0730] An "information item name" is a name that represents a specific object or element within visual media data, and is used, for example, to identify the names of ingredients or tools used in cooking.
[0731] "Work procedure" refers to a series of instructions for actions or operations shown within visual media data, including, for example, the cooking steps in a recipe.
[0732] Annotation refers to textual information that includes additional information or explanations related to visual media data, providing viewers with supplementary explanations or instructions.
[0733] "Viewer reactions" refer to feedback information obtained from the facial expressions and behaviors of recipients while they are viewing visual media data.
[0734] "Dynamically adjusting annotations based on emotions" means changing the content and timing of annotations displayed according to the emotional state inferred from the viewer's reactions, and is a process to provide content that is more relevant to the viewer.
[0735] This invention aims to construct a system that efficiently analyzes visual media data and dynamically provides content tailored to the viewer. The system mainly consists of a server and terminals that process data input by the user.
[0736] Users upload visual media data, such as cooking videos, through the interface. After receiving the video, the server begins analysis. Multiple software programs are used for the analysis. Image recognition libraries (e.g., TensorFlow and OpenCV) are used for visual information analysis, and speech recognition APIs (e.g., speech recognition cloud services) are used for auditory information analysis. As a result, the server automatically extracts ingredients and procedures from the video and generates organized text-based annotations.
[0737] The generated annotations are assigned display timings, ensuring that information is presented at the appropriate time for the viewer while watching the video. Furthermore, the server infers the viewer's emotions based on reaction data obtained from the viewer's device and dynamically adjusts the content of the annotations using a generative AI model. For this purpose, video analysis using libraries such as OpenCV is used to detect the viewer's facial expressions and execute prompts that correspond to their emotions.
[0738] For example, if a user uploads a video showing how to make cheesecake, the server automatically extracts information such as "sugar," "cream cheese," and "eggs" from the video and visually presents steps such as "bake in the oven" and "mix the batter." If the viewer looks confused, the system prompts them with "explain this step in more detail" and provides more detailed information.
[0739] In this way, the system as a whole combines various media analysis technologies and generative AI models to perform detailed information analysis and provide dynamic content tailored to the viewer. This process makes it possible to improve the quality of the viewing experience and provide new value to both viewers and creators.
[0740] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0741] Step 1:
[0742] Users upload cooking videos to the server using the interface. To do this, the user selects the video file and starts the data transfer by pressing a dedicated upload button. The input data is the cooking video file itself, which the server receives.
[0743] Step 2:
[0744] The server begins analyzing the uploaded video data. First, it separates the video file into video and audio information. A media processing library is used for this process. The separated video information is analyzed using image analysis techniques to identify ingredients and cooking utensils, and the audio information is analyzed using a speech recognition API to extract ingredient names and cooking procedures. This results in the output of specific information obtained from both the video and audio portions.
[0745] Step 3:
[0746] The server organizes the obtained ingredient names and cooking steps and generates annotations (text information) in an easy-to-understand format for viewers. The input is the ingredient names and steps extracted in the previous step. A timestamp is added to this, and the timing at which it should be displayed in the video is set. This processing outputs annotations that make it easier for viewers to understand each step.
[0747] Step 4:
[0748] The server sends the generated annotations to the creator's terminal and converts them into a format usable by editing software. This is the step of exporting the output annotation data to the desired file format. Further manual adjustments can then be made on the terminal based on these annotations.
[0749] Step 5:
[0750] The server analyzes reaction data sent from the viewer's device to analyze the viewer's facial expressions and reactions. This input is real-time data acquired during video playback. Using libraries such as OpenCV, the server analyzes the viewer's facial expressions, estimates the viewer's emotional state based on the results, and obtains viewer emotion data as output.
[0751] Step 6:
[0752] The server dynamically adjusts annotations to best suit the viewer's emotions based on sentiment data. This process uses a generative AI model to update content appropriately based on prompts. This adds and adjusts information according to the viewer's needs and level of understanding. The input data is the viewer's emotional state and original annotation data, and the output is up-to-date annotations that correspond to the emotions.
[0753] (Application Example 2)
[0754] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0755] In recent years, the number of viewers of cooking videos has increased, and learning cooking techniques through videos has become commonplace. However, there is a lack of video suggestions tailored to viewers' skill levels and situations, often leaving viewers confused or unable to quickly obtain the necessary information. Furthermore, there is a demand for interactive experiences that are based on viewers' emotions. As a result, there is a need for systems that enrich the viewing experience and improve viewer satisfaction.
[0756] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0757] In this invention, the server includes means for receiving cooking video data, means for analyzing the video data to automatically extract ingredient names and cooking procedures from the video and audio information, and means for analyzing the viewer's emotional information and dynamically adjusting captions according to their emotional state. This makes it possible to flexibly respond to the viewer's emotions and optimize the viewing experience.
[0758] "Means for receiving cooking video data" refers to a mechanism that acquires video data related to cooking via a network and stores it for processing.
[0759] "Means for analyzing video data and automatically extracting ingredient names and cooking procedures from video and audio information" refers to a device that analyzes visual and auditory information from a video, recognizes the ingredients used and their cooking process, and extracts them.
[0760] A "means for generating captions" is a system that creates textual information to be displayed in an easy-to-understand manner for viewers, based on extracted text information.
[0761] "Means for analyzing viewer emotional information and dynamically adjusting captions according to emotional state" refers to a device that monitors viewers' facial expressions and reactions and changes the displayed content in real time according to their emotions.
[0762] An "information terminal" refers to an electronic device capable of displaying and manipulating information such as captions, and is a terminal used by viewers and creators.
[0763] This invention relates to a system for providing an interactive viewing experience using cooking videos. The system mainly consists of three elements: a server, an information terminal, and a user.
[0764] The server has the capability to receive cooking video data via the internet and analyze it. It separates video and audio information from the video data and automatically extracts ingredient names and cooking procedures using a generative AI model. This allows the system to organize the information necessary for the user to view the video and display it as captions. These captions are configured to appear appropriately in accordance with the viewing timing.
[0765] The server also features an emotion analysis engine to recognize viewers' emotions. This engine analyzes viewers' facial expressions and reactions, and dynamically adjusts the caption content based on the information obtained. This adjustment can enrich the viewing experience, for example, by adding detailed explanations if the viewer is confused.
[0766] An information terminal is a device that uses generated captions to allow viewers to view videos and supplementary information at the appropriate time. Specific examples include smartphones and tablets.
[0767] When a user watches a video on "how to make paella," the server can provide additional explanations as "example prompts" if it detects the viewer's confusion. These prompts could include content such as, "Summarize the steps extracted from the video and generate captions to provide appropriate supplementary information if the user gets lost. Specifically, how to cook the seafood."
[0768] The system uses standard consumer electronics as hardware, and employs open-source image analysis libraries (such as OpenCV) and machine learning frameworks (such as PyTorch) as software to analyze video data and estimate emotions. This enables real-time improvements to the video viewing experience.
[0769] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0770] Step 1:
[0771] The server receives cooking video data from users via the internet. The input is a video file uploaded by the user, and the output is the video data stored on the server. Specifically, the operation involves transferring the video data using HTTP requests and saving it to a database or file system.
[0772] Step 2:
[0773] The server analyzes the received video data. The input is the stored video data, and the output is extracted video and audio information. Specifically, it uses OpenCV to extract video frames and PyTorch to convert audio information into text. It also performs NLP processing to extract information from the audio, including ingredient names and cooking instructions.
[0774] Step 3:
[0775] The server generates caption data based on the extracted ingredient names and cooking instructions. The input is the extracted ingredient names and cooking instructions, and the output is a caption with timing information. The caption includes time information to ensure that the ingredients and cooking instructions are displayed at the appropriate times. A Python script is used to generate the caption file.
[0776] Step 4:
[0777] The server analyzes the user's facial expression data in real time to recognize their emotions. The input is facial expression data acquired from the user's camera, and the output is the analyzed emotion information. A PyTorch emotion analysis model is used to estimate the user's emotional state. Specifically, the features of the facial expressions are analyzed using image processing and classified into emotion categories.
[0778] Step 5:
[0779] The server dynamically adjusts caption content based on emotional information. The input is emotional information and the original caption data, and the output is the adjusted caption data. If the viewer is confused, an AI model is used to add additional information and explanations. The generated text is in a format that provides detailed cooking instructions and hints based on prompts.
[0780] Step 6:
[0781] The device displays generated and adjusted caption data to the user along with the video. The input is the adjusted caption data, and the output is the video and caption information displayed on the user's screen. The captions are displayed on the device's screen in sync with the video, allowing the user to cook while viewing them.
[0782] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0783] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0784] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[0785] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[0786] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[0787] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[0788] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[0789] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[0790] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[0791] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[0792] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[0793] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[0794] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[0795] 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.
[0796] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[0797] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[0798] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[0799] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[0800] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[0801] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[0802] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[0803] The following is further disclosed regarding the embodiments described above.
[0804] (Claim 1)
[0805] A means of receiving cooking video data,
[0806] A means for analyzing the aforementioned video data and automatically extracting ingredient names and cooking procedures from video and audio information,
[0807] A means for organizing the extracted ingredient names and cooking procedures as text information, adding display timing information, and generating captions.
[0808] A means of providing the generated caption to the creator terminal and converting it into a format usable by editing software,
[0809] A system that includes this.
[0810] (Claim 2)
[0811] The system according to claim 1, further comprising means for suggesting editing points to improve viewer engagement based on the caption.
[0812] (Claim 3)
[0813] The system according to claim 1, wherein the creator terminal further comprises means for checking and fine-tuning the caption.
[0814] "Example 1"
[0815] (Claim 1)
[0816] A means of receiving video information,
[0817] A means for analyzing the aforementioned information and automatically extracting material names and work procedures from visual and audio information,
[0818] A means for organizing the extracted material names and work procedures as document information, adding display time information, and generating subtitles,
[0819] The means of providing the generated subtitles to the creator's terminal and converting them into a format usable by the editing program,
[0820] A system that includes this.
[0821] (Claim 2)
[0822] The system according to claim 1, further comprising means for suggesting processing points to improve viewer engagement based on the aforementioned subtitles.
[0823] (Claim 3)
[0824] The system according to claim 1, wherein the creator terminal further comprises means for verifying and fine-tuning the subtitles.
[0825] "Application Example 1"
[0826] (Claim 1)
[0827] A means for receiving cooking video data from visual and auditory information,
[0828] A means for analyzing the aforementioned video data and automatically extracting the names of ingredients and cooking processes from visual and auditory elements,
[0829] A means for organizing the extracted ingredient names and cooking processes as text information, adding display time information, and generating subtitles,
[0830] The means of providing the generated subtitles to a content creation terminal and converting them into a format usable by video editing software,
[0831] A means for generating additional information to enhance viewer interest in synchronization with the aforementioned subtitle information,
[0832] A digital processing system including a digital processing system.
[0833] (Claim 2)
[0834] The digital processing system according to claim 1, further comprising means for suggesting edited portions to enhance viewer interest based on the aforementioned subtitles.
[0835] (Claim 3)
[0836] The digital processing system according to claim 1, wherein the content creation terminal further comprises means for performing confirmation and adjustment of the subtitles.
[0837] "Example 2 of combining an emotion engine"
[0838] (Claim 1)
[0839] A means of receiving visual media data,
[0840] A means for analyzing the aforementioned media data and automatically extracting information item names and work procedures from visual and auditory information,
[0841] A means for organizing the extracted information item names and work procedures as text information, adding display timing information, and generating annotations,
[0842] The means of providing the generated annotations to the creator's terminal and converting them into a format usable by editing software,
[0843] A means of analyzing viewer reactions and dynamically adjusting annotations based on emotions,
[0844] A system that includes this.
[0845] (Claim 2)
[0846] The system according to claim 1, further comprising means for suggesting improvements to increase viewer interest based on the aforementioned annotation.
[0847] (Claim 3)
[0848] The system according to claim 1, wherein the creator terminal further comprises means for checking and fine-tuning the annotations.
[0849] "Application example 2 when combining with an emotional engine"
[0850] (Claim 1)
[0851] A means of receiving cooking video data,
[0852] A means for analyzing the aforementioned video data and automatically extracting ingredient names and cooking procedures from video and audio information,
[0853] A means for organizing the extracted ingredient names and cooking procedures as text information, adding display timing information, and generating captions.
[0854] A means for analyzing viewer emotional information and dynamically adjusting the caption according to the emotional state,
[0855] A means for providing the generated caption to an information terminal and converting it into a format usable by editing software,
[0856] A system that includes this.
[0857] (Claim 2)
[0858] The system according to claim 1, further comprising means for suggesting editing points to improve viewer engagement based on the caption.
[0859] (Claim 3)
[0860] The system according to claim 1, wherein the information terminal further comprises means for checking and fine-tuning the caption. [Explanation of symbols]
[0861] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. A means of receiving cooking video data, A means for analyzing the aforementioned video data and automatically extracting ingredient names and cooking procedures from video and audio information, A means for organizing the extracted ingredient names and cooking procedures as text information, adding display timing information, and generating captions. A means of providing the generated caption to the creator terminal and converting it into a format usable by editing software, A system that includes this.
2. The system according to claim 1, further comprising means for suggesting editing points to improve viewer engagement based on the caption.
3. The system according to claim 1, wherein the creator terminal further comprises means for checking and fine-tuning the caption.