System
The system addresses the challenge of providing high-quality live commentary for sports broadcasts by using AI to automatically generate and translate commentary in real-time, enabling cost-effective and accurate multi-language coverage.
Patent Information
- Application Number
- JP2024115241
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-18
- Publication Date
- 2026-01-29
AI Technical Summary
Modern sports broadcasts face challenges in providing high-quality live commentary, especially for amateur and small-scale games, due to resource and cost constraints, and the complexity of supporting multiple languages.
A system that includes a camera for capturing game footage, a server for analysis and commentary generation, translation into multiple languages, and real-time distribution to user terminals, utilizing AI models for automatic commentary generation and integration with video data.
Enables low-cost, high-quality live broadcasts in real-time with accurate commentary in multiple languages, overcoming resource and cost barriers.
Smart Images

Figure 2026014244000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In modern sports broadcasts, providing live commentary and commentary in real time requires dedicated staff and specialized knowledge, and cost and resource constraints are significant challenges, especially for amateur and small-scale local games. Furthermore, providing live commentary in multiple languages further exacerbates these cost and resource issues. Therefore, there is a need to easily provide high-quality live commentary regardless of the size or location of the game. [Means for solving the problem]
[0005] In order to solve the above problems, the present invention provides the following means: By providing a system including a camera means for capturing video of the match, a transmission means for transmitting the captured video data to a server, an analysis means in the server for analyzing the received video data, a generation means for automatically generating commentary based on the analysis results, a translation means for translating the generated commentary into multiple languages, an integration means for integrating the translated commentary into video data, and a distribution means for distributing the integrated video data and commentary to user terminals in real time, it is possible to provide high-quality live broadcasts in real time.
[0006] "Camera means" refers to a device or group of devices for capturing images of the match.
[0007] "Transmission means" refers to a device or process for transmitting the acquired video data to the server.
[0008] "Server" refers to a computer system that analyzes received video data and provides the computational resources to generate and distribute commentary.
[0009] "Analysis means" refers to software or algorithms used to analyze received video data and detect specific events or actions.
[0010] "Generation means" refers to software or algorithms for automatically creating commentary in natural language based on the analyzed results.
[0011] "Translation means" refers to software or services for translating the generated commentary into multiple languages.
[0012] "Integration means" refers to software or algorithms used to incorporate translated commentary into video data.
[0013] "Delivery means" refers to a device or process for streaming the integrated video data and commentary to a user terminal in real time.
[0014] "Tracking means" refers to software or algorithms used to track player and ball movements based on captured video data.
[0015] "Speech synthesis means" refers to software or algorithms that convert the generated commentary into speech and synchronize it with the video data.
[0016] "User terminal" refers to a device or group of devices for receiving and displaying video and commentary delivered in real time. [Brief explanation of the drawings]
[0017] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0018] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0019] First, the terms used in the following description will be explained.
[0020] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0021] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0022] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0023] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0024] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0025] [First embodiment]
[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0027] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0028] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0029] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0030] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0031] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0032] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0035] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0036] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0037] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0038] The present invention relates to a system for automatically generating live coverage of a game and distributing it in real time. Specific embodiments for implementing this system will be described below.
[0039] Explanation of program processing
[0040] 1. Video acquisition and transmission
[0041] The device uses a camera to capture images of the game. The video data captured by the camera is encoded in real time and sent to a server via a transmission means. For example, a wide-angle action camera or a 360-degree camera can be used to capture images of the game from various angles.
[0042] 2. Receiving and analyzing video
[0043] The server processes the received video data using an analysis means, which tracks the movements of players and the ball in the video and classifies each scene. For example, pitching movements, batting movements, fielding movements, etc. are analyzed.
[0044] 3. Commentary Generation
[0045] The server uses a generation means to automatically generate commentary based on the analysis results. For example, in a pitching scene, the server generates a commentary such as "The pitcher threw a fastball. The ball just missed the strike zone." This allows the progress of the game to be reflected in real time.
[0046] 4. Multilingual Translation
[0047] The generated commentary text is translated into multiple languages using a translation means, for example, from Japanese to English, Spanish, Chinese, etc. This makes it possible to accommodate users from various language areas.
[0048] 5. Integrating video and commentary
[0049] The translated commentary is integrated into the video data using an integration means. The commentary can be overlaid onto the video as subtitles or embedded as audio commentary using a speech synthesis means. For example, the text can be converted into audio and synchronized with the video.
[0050] 6. Real-time streaming
[0051] The server delivers the integrated video data and commentary to the user's device in real time. The delivery method provides the video to the user via a streaming protocol (e.g., HLS, DASH), allowing the user to watch the game live.
[0052] Specific examples
[0053] For example, in a high school baseball game, a smartphone camera captures the game and sends the video to a server. The server analyzes the video and recognizes the pitcher's pitching motion. Based on the recognized motion, a commentary is generated, such as "The pitcher threw a fastball. The ball just missed the strike zone." This commentary is translated from Japanese into English, Spanish, and Chinese and integrated into the video as subtitles. The translated commentary and video are streamed to the user's device in real time. Users can watch the live broadcast on their smartphones or PCs and enjoy the commentary in multiple languages.
[0054] As described above, as a specific form for implementing the present invention, by providing a series of processing flows from acquiring footage of the game to generating, translating, integrating, and distributing commentary, it is possible to realize high-quality live broadcasts in real time.
[0055] The processing flow will be explained below.
[0056] Step 1:
[0057] The device acquires video of the match, captures each scene of the match using a camera, and generates video data.
[0058] Step 2:
[0059] The terminal encodes the acquired video data in real time, and transmits the encoded video data to the server via the transmission means.
[0060] Step 3:
[0061] The server receives the transmitted video data and stores it in data storage.
[0062] Step 4:
[0063] The server analyzes the received video data. Using analytical tools, it tracks the movements of players and the ball in the video and classifies each scene. For example, it recognizes pitching, batting, and fielding movements.
[0064] Step 5:
[0065] The server generates commentary based on the analysis data. Using the generation means, it creates commentary in natural language according to the situation of each scene. For example, it generates a sentence such as, "The pitcher threw a fastball. The ball just missed the strike zone."
[0066] Step 6:
[0067] The server translates the generated commentary into multiple languages, such as Japanese commentary into English, Spanish, Chinese, etc., using a translation means.
[0068] Step 7:
[0069] The server integrates the translated commentary into the video data, and either displays it as a subtitle overlay on the video using an integration means, or converts it into audio using a speech synthesis means and synchronizes it with the video.
[0070] Step 8:
[0071] The server delivers the integrated video data and commentary to the user. Using a delivery method, the data is sent to the user's device in real time via a streaming protocol (e.g., HLS, DASH).
[0072] Step 9:
[0073] Users can receive the distributed video data and watch the match, enjoying real-time video and commentary in multiple languages on their devices.
[0074] This series of steps makes it possible to provide high-quality live coverage in real time.
[0075] Example 1
[0076] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0077] Conventional live game broadcasting systems have difficulty automatically generating commentary, and supporting multiple languages requires a large number of human resources. Furthermore, integrating and distributing video and commentary in real time requires advanced technology and equipment, which is costly. Furthermore, the lack of functionality to track the movements of players and the ball reduces the accuracy of video analysis, making it difficult to generate accurate commentary.
[0078] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0079] In this invention, the server includes a data analysis means, a text generation means, a language translation means, a data integration means, and a data distribution means. This makes it possible to acquire and analyze game footage, automatically generate commentary, translate the commentary into multiple languages, and distribute it in real time by integrating it with the video. Furthermore, by adding a motion tracking means, it is possible to accurately track the movements of players and the ball and generate commentary with high accuracy. This allows for low-cost, high-quality real-time live broadcasting.
[0080] "Video capture means" refers to cameras or other imaging devices used to capture video of the match.
[0081] "Data transmission means" refers to a device or software for encoding the acquired video data and transmitting it to a server via a network.
[0082] "Data Analysis Means" refers to software and algorithms used to analyze received video data and recognize and classify player and ball movements.
[0083] "Text generation means" refers to AI models or text generation software that automatically generate commentary based on the analysis results.
[0084] "Language translation means" refers to translation software or a translation service for translating the generated commentary into multiple languages.
[0085] "Data integration means" refers to software or platforms that integrate translated commentary into video data and embed it as subtitles or audio.
[0086] "Data distribution means" refers to a streaming server or distribution protocol for distributing the integrated video data and commentary to user terminals in real time.
[0087] "Motion tracking means" refers to software or hardware for tracking the movements of players and the ball based on captured video data.
[0088] "Speech synthesis means" refers to software or speech synthesis technology for converting the generated commentary into speech and synchronizing it with the video data.
[0089] The system of the present invention shows how to combine various means for automatically generating and distributing live game coverage in real time. An embodiment of this system is described in detail below.
[0090] Video acquisition and transmission
[0091] The device uses a camera (e.g., an action camera or smartphone camera) to capture video of the game. For example, by using a wide-angle action camera or a 360-degree camera, it is possible to capture video from various angles of the game. The video data captured by the camera is encoded in real time and sent to a server using RTMP (Real-Time Messaging Protocol). The devices and applications used for transmission include, for example, encoding devices and smartphone apps.
[0092] Video reception and analysis
[0093] The server receives the transmitted video data via an RTMP server (e.g., Nginx RTMP Module). The received video data is sent frame by frame to an analysis engine (e.g., OpenCV, TensorFlow), which tracks the movements of players and the ball and classifies each scene in the video. Based on the results of this analysis, actions such as pitching, batting, and fielding during the game are identified.
[0094] Commentary generation
[0095] The server automatically generates commentary using a generative AI model (e.g., GPT-4) based on the analysis results. An example of a prompt is, "Pitching scene: The pitcher threw a fastball. The ball just missed the strike zone." This process generates commentary that reflects the progress of the game in real time.
[0096] Multilingual Translation
[0097] The generated commentary is translated into multiple languages on the server using a translation engine (e.g., Google Translate API, Microsoft Azure Translator). For example, it is possible to translate Japanese into English, Spanish, Chinese, etc. This makes it possible to accommodate users from various language regions.
[0098] Integrating video and commentary
[0099] The translated commentary is integrated into the video data on the server using an integration method (e.g., FFmpeg, GStreamer). The commentary can be overlaid on the video as subtitles, or embedded as audio commentary using a speech synthesis engine (e.g., Amazon Polly, Google Text-to-Speech). This ensures that the video, subtitles, and audio are synchronized when the user watches.
[0100] Real-time streaming
[0101] Finally, the server delivers the integrated video data and commentary to the user's device in real time. This is done using a streaming server (e.g., Wowza, Akamai) and is provided to the user via a distribution protocol (e.g., HLS, DASH). Users can then watch the live broadcast on their smartphones or PCs and enjoy the game in real time.
[0102] Specific examples
[0103] For example, in a high school baseball game, a device captures the game with a smartphone camera and sends the video to a server. The server receives the video using the Nginx RTMP module and uses an analysis engine (OpenCV, TensorFlow) to recognize the pitcher's pitching motion. Based on the recognized motion, a commentary is generated, such as "The pitcher threw a fastball. The ball just missed the strike zone." This commentary is then translated from Japanese to English, Spanish, and Chinese and integrated into the video as subtitles using FFmpeg. An audio commentary is also generated using Amazon Polly and synchronized with the video. Finally, the integrated video data and commentary are distributed to user devices via the HLS protocol using a Wowza streaming server, allowing users to watch the live broadcast in real time on their smartphones or PCs.
[0104] A system configured in this way makes it possible to provide high-quality, real-time live broadcasts at low cost.
[0105] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0106] Step 1:
[0107] The terminal acquires the video of the game.
[0108] Specifically, it uses cameras (e.g., wide-angle action cameras or 360-degree cameras) and encodes the video data captured by each camera in real time. The input is the captured raw video data, and the output is the encoded video data. The encoding uses the H.264 or H.265 codec.
[0109] Step 2:
[0110] The terminal transmits the encoded video data to the server.
[0111] Specifically, it uses RTMP (Real-Time Messaging Protocol) to transmit video data over a network. The transmitting devices and applications used include encoding devices and smartphone apps. The input is the encoded video data, and the output is the transmitted video data received by the server.
[0112] Step 3:
[0113] The server receives the transmitted video data.
[0114] Specifically, data is received using an RTMP server (e.g., Nginx RTMP Module). The input is the transmitted video data, and the output is the received data stored on the RTMP server.
[0115] Step 4:
[0116] The server analyzes the received video data.
[0117] Specifically, an analysis engine (e.g., OpenCV, TensorFlow) is used to track the movements of players and the ball for each frame of video data and classify each scene. For example, pitching actions, batting actions, fielding actions, etc. are automatically classified. The input is the received video data, and the output is the analysis results (e.g., the positions of players and the ball, and the type of action).
[0118] Step 5:
[0119] The server generates commentary based on the analysis results.
[0120] Specifically, a generative AI model (e.g., GPT-4) is used to generate commentary by inputting a prompt such as "Pitching scene: The pitcher threw a fastball. The ball just missed the strike zone." The input is the analysis result, and the output is the generated commentary.
[0121] Step 6:
[0122] The server translates the generated commentary.
[0123] Specifically, it uses a translation engine (e.g., Google Translate API, Microsoft Azure Translator) to translate into multiple languages (e.g., English, Spanish, Chinese). The input is the generated commentary, and the output is the translated commentary.
[0124] Step 7:
[0125] The server integrates the translated commentary into the video data.
[0126] Specifically, the commentary is overlaid onto the video as subtitles using an integration method (e.g., FFmpeg, GStreamer), and audio commentary is embedded using a speech synthesis engine (e.g., Amazon Polly, Google Text-to-Speech).The input is the translated commentary and video data, and the output is the integrated video data.
[0127] Step 8:
[0128] The server delivers the integrated video data and commentary to the user's terminal.
[0129] Specifically, data is distributed using a streaming server (e.g., Wowza, Akamai) via a distribution protocol (e.g., HLS, DASH). The input is integrated video data, and the output is real-time streaming video that can be viewed on user devices.
[0130] This allows users to watch high-quality real-time live broadcasts on their smartphones or PCs.
[0131] (Application example 1)
[0132] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0133] Traditionally, live game coverage has been provided directly by commentators, which requires the presence of highly skilled commentators. Furthermore, providing game content in multiple languages in real time is extremely difficult, and current methods have not been able to adequately meet the need to provide information quickly and in multiple languages to an international audience. Furthermore, the technical complexity of synchronizing commentary and video and delivering it in real time makes it difficult to easily provide high-quality live coverage.
[0134] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0135] In this invention, the server includes a photographing means for capturing images of the match, a communication means for transmitting the captured image data to an information processing device, and an analysis means for analyzing the received image data in the information processing device. This makes it possible to analyze the situation of the match in real time, automatically generate commentary based on the results, translate and integrate the results into multiple languages, and distribute the commentary to each user terminal in real time.
[0136] "Capturing means for capturing game footage" refers to a camera or other image capturing device that captures video data of a dynamic event such as a sports game in real time.
[0137] The "communication means for transmitting the acquired image data to the information processing device" is a communication module or protocol for transmitting the image data from the image capturing means to the information processing device such as a server in real time.
[0138] "Analysis means for analyzing received video data in an information processing device" refers to software or hardware that enables an information processing device, such as a server, to analyze received video data and recognize and classify the movements of athletes and objects.
[0139] "Means for automatically generating commentary based on the analysis results" refers to an algorithm or system that uses natural language processing technology to automatically generate commentary and commentary for a match based on the results of video data analysis.
[0140] A "translation means for translating the generated commentary into multiple languages" is a software component that has the function of translating the generated commentary into multiple languages in real time using an AI model or translation engine.
[0141] The "integration means for integrating translated commentary into video data" is a module for acquiring commentary translated into multiple languages and overlaying it as text or embedding audio into the video data.
[0142] "A means for delivering integrated video data and explanatory text to a viewing terminal in real time" refers to streaming technology or protocols for delivering video data and its integrated explanatory text to a user terminal in real time via a network such as the Internet.
[0143] A "tracking means for tracking the movements of players and objects" is a system that uses video analysis technology to track the movements of players and objects such as the ball during a match in real time and acquires that movement as data.
[0144] "A speech synthesis means for converting explanatory text into speech and synchronizing it with video data" refers to speech synthesis technology or a system for converting automatically generated explanatory text into speech and playing it in synchronization with the video.
[0145] A specific embodiment for carrying out the present invention will be described.
[0146] The server includes a camera for capturing images of the match, a communication device for transmitting the captured image data to the information processing device, and an analysis device for analyzing the image data received by the information processing device. The camera is a smartphone camera or a high-resolution camera, and the communication device uses Wi-Fi or a mobile network.
[0147] The analysis method involves analyzing video data in real time to recognize the movements of players, the ball, etc. Specifically, image analysis libraries such as TensorFlow and OpenCV are used to track players and the ball.
[0148] The generation means uses natural language processing technology to automatically generate appropriate commentary based on the analysis results. For example, a generative AI model using deep learning is used to generate a commentary such as "The player took a shot." To support multiple languages, the generated commentary is translated into multiple languages using a translation means such as the Google Translate API.
[0149] The integration method involves integrating the translated commentary into the video data. Specifically, the commentary is added to the video as a text overlay, or audio commentary is generated using speech synthesis technology and synchronized with the video. For speech synthesis, synthesis engines such as IBM Watson and Amazon Polly are used.
[0150] The delivery method will deliver the integrated video data and explanatory text to viewing devices in real time, using HTTP Live Streaming (HLS) or DASH (Dynamic Adaptive Streaming HTTP) protocols, allowing users to view the content on their smartphones or computers.
[0151] This system makes it possible to provide real-time commentary on the situation in multiple languages during a game. For example, it can recognize the moment a player shoots during a basketball game and provide viewers with commentary such as "The player has shot the ball. It hit the basket." translated into English, Spanish, and Chinese.
[0152] Example prompt sentence:
[0153] Please generate a commentary such as "During a basketball game, a player takes a shot and hits the basket." Based on the results of video analysis, the appropriate commentary will be translated into multiple languages and distributed in real time. The generated commentary will need to be translated into Japanese, English, Spanish, and Chinese.
[0154] In this manner, in the embodiment of the present invention, by effectively combining the analysis means, generation means, translation means, integration means, and distribution means, it is possible to provide high-quality automatic live broadcasting.
[0155] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0156] Step 1:
[0157] The terminal acquires video of the game using a photographing means (camera). The video data captured by the camera is encoded in real time and sent to an information processing device (server) via a communication means. The input is the video data captured in real time, and the output is the encoded video data.
[0158] Step 2:
[0159] The server passes the received video data to an analysis means for processing. This analysis means tracks the movements of objects in the video, such as players and the ball. The input is encoded video data, and the output is analytical data on the movements of players and objects. Specifically, image analysis algorithms using TensorFlow and OpenCV are executed.
[0160] Step 3:
[0161] The server automatically generates commentary using a generation means based on the analysis data. The input is the analysis data, and the output is the generated commentary. This includes using a generative AI model to generate commentary such as "The player took a shot."
[0162] Step 4:
[0163] The server translates the generated commentary into multiple languages using a translation tool. The input is the commentary in Japanese, and the output is the commentary translated into multiple languages (English, Spanish, Chinese, etc.). Specifically, the translation is performed in real time using the Google Translate API.
[0164] Step 5:
[0165] The server integrates the translated commentary into the video data using an integration means. The input is the translated commentary and the original video data, and the output is the video data with the commentary integrated. Specifically, the server overlays the text or synthesizes speech using IBM Watson or Amazon Polly, and synchronizes it with the video as audio commentary.
[0166] Step 6:
[0167] The server distributes the integrated video data and explanatory text to the viewing terminal in real time via a distribution method. The input is the integrated video data, and the output is a video stream that can be viewed in real time on the user terminal. Specifically, distribution is performed using HTTP Live Streaming (HLS) or the DASH protocol.
[0168] This series of processes allows users to enjoy high-quality automatic live broadcasts in real time and in multiple languages.
[0169] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0170] The present invention relates to a system for automatically generating and distributing live game broadcasts in real time. Furthermore, the present invention is directed to a system that provides a more personalized live broadcast experience by combining an emotion engine that recognizes the user's emotions. Specific embodiments for implementing this system are described below.
[0171] Explanation of program processing
[0172] 1. Video acquisition and transmission
[0173] The device uses a camera to capture images of the game. The video data captured by the camera is encoded in real time and sent to a server via a transmission means. For example, a wide-angle action camera or a 360-degree camera can be used to capture images of the game from various angles.
[0174] 2. Receiving and analyzing video
[0175] The server processes the received video data using an analysis means, which tracks the movements of players and the ball in the video and classifies each scene. For example, pitching movements, batting movements, fielding movements, etc. are analyzed.
[0176] 3. Commentary Generation
[0177] The server uses a generation means to automatically generate commentary based on the analysis results. For example, in a pitching scene, the server generates a commentary such as "The pitcher threw a fastball. The ball just missed the strike zone." This allows the progress of the game to be reflected in real time.
[0178] 4. Multilingual Translation
[0179] The generated commentary text is translated into multiple languages using a translation means, for example, from Japanese to English, Spanish, Chinese, etc. This makes it possible to accommodate users from various language areas.
[0180] 5. Integrating video and commentary
[0181] The translated commentary is integrated into the video data using an integration means. The commentary can be overlaid onto the video as subtitles or embedded as audio commentary using a speech synthesis means. For example, the text can be converted into audio and synchronized with the video.
[0182] 6. Real-time streaming
[0183] The server delivers the integrated video data and commentary to the user's device in real time. The delivery method provides the video to the user via a streaming protocol (e.g., HLS, DASH), allowing the user to watch the game live.
[0184] 7. Emotion recognition
[0185] The server uses an emotion engine to analyze the user's facial expressions and tone of voice through the user's camera and microphone, and recognizes their emotions, thereby understanding how the user feels about the game.
[0186] 8. Personalized commentary
[0187] The server adjusts the content and expressions of the commentary based on the user's emotions recognized by the emotion engine. For example, if it recognizes that the user is excited, it will use more emotional and exciting expressions. It is also possible to automatically select and deliver advertisements and promotional content based on emotions.
[0188] Specific examples
[0189] For example, in a high school baseball game, a smartphone camera captures the game and sends the video to a server. The server analyzes the video and recognizes the pitcher's pitching motion. Based on the recognized motion, a commentary is generated, such as "The pitcher threw a fastball. The ball just missed the strike zone." This commentary is translated from Japanese into English, Spanish, and Chinese and integrated into the video as subtitles. The translated commentary and video are streamed to the user's device in real time. Users can watch the live broadcast on their smartphones or PCs and enjoy the commentary in multiple languages.
[0190] Furthermore, if the emotion engine recognizes the user's emotions through the user's camera or microphone, and detects that the user is excited, it can add emotional expressions to the commentary, such as "The whole venue was excited all at once!" It can also automatically display advertisements for sports drinks to excited users.
[0191] As described above, as a specific form for implementing the present invention, by providing a series of processing flows from capturing game footage to generating commentary, translating, integrating, and distributing it, and then personalizing it based on emotion recognition, it is possible to realize high-quality, personalized live broadcasts in real time.
[0192] The processing flow will be explained below.
[0193] Step 1:
[0194] The device captures the game footage. It uses cameras to capture each scene of the game in real time. For example, it uses wide-angle lenses or 360-degree cameras to cover almost the entire game.
[0195] Step 2:
[0196] The video data acquired by the device is encoded in real time. The encoded video is sent to the server using a streaming protocol (e.g., RTMP). For example, the video frame rate and resolution are optimized to reduce network load.
[0197] Step 3:
[0198] The server receives the transmitted video data, which is then stored in data storage and used for subsequent processing.
[0199] Step 4:
[0200] The server analyzes the received video data. Using analytical methods, it tracks the movements of players and the ball in the video and detects specific events, such as pitching, batting, and fielding movements, by scene.
[0201] Step 5:
[0202] The server generates commentary based on the analysis results. A generation means is used to create natural language sentences from detailed information about each scene. For example, for a pitching scene, the server generates a commentary such as, "The pitcher threw a fastball. The ball just missed the right edge of the strike zone."
[0203] Step 6:
[0204] The server translates the generated commentary into multiple languages. Using a translation tool, Japanese commentary is automatically translated into English, Spanish, Chinese, etc. For example, it might be translated as, "The pitcher threw a fastball. The ball skimmed the right edge of the strike zone."
[0205] Step 7:
[0206] The server integrates the translated commentary into the video data. Using an integration means, the commentary is overlaid on the video in the form of subtitles, or converted into audio using a speech synthesis means and synchronized with the video. For example, the text is played as audio, providing the viewer with an audio commentary.
[0207] Step 8:
[0208] The server delivers the integrated video data and commentary to the user's device in real time. The delivery method sends the data to the user's device via a streaming protocol (e.g., HLS, DASH). Users can then watch the live game broadcast on their smartphones or PCs.
[0209] Step 9:
[0210] Users can watch the match on their devices and enjoy live video and commentary in multiple languages in real time, either in subtitles or audio format.
[0211] Step 10:
[0212] The server uses the user's camera and microphone to recognize the user's emotions through an emotion engine, for example, using facial expression recognition technology and voice tone analysis to determine whether the user is excited or relaxed.
[0213] Step 11:
[0214] The server adjusts the content and expressions of the commentary based on the user's emotions recognized by the emotion engine. For example, if the user is excited, it uses an emphatic expression such as "That was an amazing play! The whole venue was excited!"
[0215] Step 12:
[0216] The server uses an emotion engine to automatically select and deliver advertisements and promotional content according to the user's emotions. For example, an energy drink advertisement is displayed to an excited user.
[0217] In this way, a system that combines an emotion engine can provide users with a more personalized live commentary experience, enhancing the sense of realism of the game.
[0218] Example 2
[0219] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0220] Conventional live game commentary systems require commentary to be created manually, which limits their real-time capabilities and multilingual support. Furthermore, they are unable to provide a personalized commentary experience based on user emotions, making it difficult to improve user satisfaction. To solve this problem, there is a need to develop an automated, real-time, multilingual live commentary system.
[0221] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a data analysis means for analyzing received video data, a document generation means for automatically generating commentary text based on the analysis result, and a multilingual translation means for translating the generated commentary text into multiple languages. This makes it possible to automatically generate commentary text in multiple languages in real time and provide a personalized experience that takes into account the user's emotions.
[0222] "Video acquisition means" refers to the devices and functions for capturing video of the match and acquiring it as digital data.
[0223] "Data transmission means" refers to a device or protocol that transmits acquired video data to a server.
[0224] "Data analysis means" refers to the functions and software that analyze received video data and detect and classify the movements of players and the ball.
[0225] "Document generation means" refers to an algorithm or model for automatically generating commentary based on the analysis results.
[0226] "Multilingual translation means" refers to a device or software for translating the generated commentary into multiple languages.
[0227] "Data integration means" refers to a function or device for integrating translated commentary into video data and expressing it as subtitles or audio.
[0228] "Real-time distribution means" refers to a protocol or device for distributing integrated video data and commentary to a user terminal in real time.
[0229] "Emotion recognition means" refers to functions or software that analyze the user's facial expressions and voice and recognize their emotional state.
[0230] "Text adjustment means" refers to algorithms or functions for adjusting the content or expression of commentary based on recognized emotions.
[0231] "Motion tracking means" refers to technology or equipment for tracking the movements of players, the ball, etc. in real time.
[0232] "Audio conversion means" refers to software or a device for converting the generated commentary into audio and synchronizing it with the video data.
[0233] The present invention relates to a system for automatically generating and distributing live game broadcasts in real time. Furthermore, the present invention is directed to a system that provides a more personalized live broadcast experience by combining an emotion engine that recognizes the user's emotions. Specific embodiments for implementing this system are described below.
[0234] The device uses a camera to capture game footage. For example, it uses hardware such as a wide-angle action camera or a 360-degree camera to capture footage from various angles of the game. The footage captured by this camera is encoded in real time within the device into H.264 format and then sent to the server.
[0235] The server has a data analysis tool for processing the received video data. Specific software includes the OpenCV library, which is used to detect players and the ball in each frame and track their movements in real time. For example, it detects the player's movements as he steps into the batter's box and the pitcher's throwing motion, and classifies the scene. Based on the analysis results, the server uses a generative AI model (e.g., GPT-4) to generate a commentary.
[0236] The generated commentary is sent to a translation API (e.g., Google Translate API). Using the API, the Japanese commentary is translated into multiple languages, including English, Spanish, and Chinese. The translation results are sent back to the server and then integrated into the video data by a data integration means. Here, they are overlaid on the bottom of the video as subtitles, and audio commentary is also added using speech synthesis software (e.g., Amazon Polly).
[0237] The integrated video and commentary are delivered to users' devices using real-time streaming methods, such as HLS and DASH, allowing users to enjoy uninterrupted live broadcasts. The server monitors the stability of the stream and takes measures to minimize delays and buffering.
[0238] The user's device is equipped with a camera and microphone, which are used to transmit the user's facial expressions and tone of voice to the server. The server then passes this information to an emotion engine (for example, Microsoft Azure's emotion recognition API) to analyze and recognize the user's emotions, such as excitement or joy. Based on this recognized emotion, the server further adjusts the content and expression of the commentary using a document adjustment method. For example, if the user is excited, it adds an emotional commentary such as, "The whole venue was excited all at once!"
[0239] Emotion recognition data can also be used to display personalized advertisements, for example, advertising sports drinks to excited users, providing a more engaging viewing experience.
[0240] Specific examples:
[0241] During a high school baseball game, a device uses a smartphone camera to film the game, encodes the video in real time using H.264, and sends it to a server. The server analyzes the video using OpenCV to recognize the pitcher's pitching motion. GPT-4 is used to generate a commentary such as "The pitcher threw a fastball. The ball just missed the strike zone." This commentary is then translated into multiple languages using Google Translate. The translated commentary is integrated into the video as subtitles and audio, and is distributed in real time using the HLS protocol.
[0242] When the excited facial expressions of users watching a game are sent to the server via camera and microphone, the emotion engine analyzes the excitement and can add expressions to the commentary such as, "The whole stadium was excited all at once!". In addition, advertisements for sports drinks are displayed to excited users.
[0243] Example prompt sentence:
[0244] "The pitcher threw a fastball. The ball just missed the strike zone."
[0245] "The whole venue was instantly excited."
[0246] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0247] Step 1:
[0248] The device captures game footage using a camera. Specifically, devices such as wide-angle action cameras and 360-degree cameras are used. Real-time game footage is input to the camera. The captured video data is encoded in real time into H.264 format within the device, and the encoded results are output.
[0249] Step 2:
[0250] The terminal transmits the encoded video data to the server. The data transmission means is used to transmit the data via a communication protocol (e.g., HTTP or RTMP). The encoded video data enters the transmission means as input. The transmitted data arrives at the server.
[0251] Step 3:
[0252] The server analyzes the received video data using a data analysis means. Specifically, it uses the OpenCV library to detect the movements of players and the ball in each frame. The video data received as input is sent to the analysis means. As a result of the analysis, positional information and movement information of players and the ball are output.
[0253] Step 4:
[0254] The server uses a generative AI model (e.g., GPT-4) based on the analysis results to automatically generate commentary. The action information from the analysis results is input into the generative AI model. The generative AI model generates commentary in natural language based on the prompt. The output is a specific commentary such as "The pitcher threw a fastball."
[0255] Step 5:
[0256] The server translates the generated commentary using a multilingual translation means. Specifically, the commentary is sent to a translation API (e.g., Google Translate API). The generated commentary is input to the translation means. Processing using the translation API results in multilingual commentary (e.g., English, Spanish, and Chinese) being obtained as output.
[0257] Step 6:
[0258] The server integrates the commentary translated into multiple languages into the video data. Using a data integration means, it overlays the video as subtitles. Subtitle data and video data enter the integration means as input. The output is video data with the commentary embedded. In addition, the commentary is converted into audio using speech synthesis software (e.g., Amazon Polly) and is included as audio.
[0259] Step 7:
[0260] The server distributes the integrated video data and commentary to the user terminal using a real-time distribution method. Specifically, a streaming protocol such as HLS or DASH is used. The integrated video data enters the distribution method as input. The video and commentary distributed in real time reach the user terminal as output.
[0261] Step 8:
[0262] The user uses a camera and microphone on their device to transmit facial expressions and tone of voice to the server. The real-time emotional data captured by the camera and microphone is sent as input to the server. The emotional data is input and received by the server.
[0263] Step 9:
[0264] The server analyzes the user's emotions using an emotion recognition means. Specifically, an emotion recognition API (for example, Microsoft Azure's emotion recognition API) is used. The user's emotion data is input to the recognition means. The output is emotional information such as whether the user is excited or happy.
[0265] Step 10:
[0266] The server uses a document adjustment means based on the emotional information to adjust the content and expression of the commentary. The emotional information is input to the document adjustment means. As an output, if the user is excited, an additional commentary such as "The whole venue was excited all at once!" is generated. Also, personalized advertisements for sports drinks, etc. are displayed based on the emotional information.
[0267] The above processing steps realize high-quality, personalized live coverage in real time.
[0268] (Application example 2)
[0269] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0270] Live commentary of games is a crucial element in modern sports viewing. However, traditional commentary systems rely on human announcers and have limitations in terms of real-time performance, multilingual support, and personalization based on individual user emotions. There is a need to solve these issues and provide a higher-quality, more personalized live commentary experience.
[0271] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes an analysis means for analyzing received video data, a generation means for automatically generating commentary text based on the analysis results, a translation means for translating the generated commentary text into multiple languages, an integration means for integrating the translated commentary text into the video data, a distribution means, an emotion recognition means for recognizing the user's emotions, and a personalization means for personalizing the commentary text based on the emotion recognition results. This enables personalized, high-quality live broadcasts in multiple languages in real time.
[0272] "Camera means" refers to a camera or a photographing device for capturing images of the match.
[0273] "Transmission means" refers to a function or device for transmitting acquired video data to a server.
[0274] "Analysis means" refers to a function or device that analyzes the video data received by the server and extracts necessary information and movements.
[0275] The "generation means" refers to a function or device that automatically generates commentary based on the analysis results obtained by the analysis means.
[0276] "Translation means" refers to a function or device for translating the generated commentary into multiple languages.
[0277] "Integration means" refers to a function or device that integrates translated commentary into video data to create integrated content.
[0278] "Distribution means" refers to a function or device for distributing the integrated video data and commentary to a user terminal in real time.
[0279] "Emotion recognition means" refers to a function or device that analyzes the user's facial expression and tone of voice and recognizes their emotions.
[0280] "Personalization means" refers to a function or device that individually adjusts commentary based on emotional information obtained by the emotion recognition means, thereby providing an experience tailored to the user.
[0281] "Tracking means" refers to a function or device for tracking the movements of athletes and sports equipment based on acquired video data.
[0282] "Speech synthesis means" refers to a function or device for converting the generated commentary into speech and synchronizing it with the video data.
[0283] The present invention is a system that automatically generates live game broadcasts and distributes them in real time, and by combining it with an emotion engine that recognizes the user's emotions, it provides a more personalized live broadcast experience. Specific embodiments for implementing this system are described below.
[0284] 1. Video acquisition and transmission
[0285] The smartphone or camera serves as the terminal to capture the game video, and this video data is sent to the server in real time. Specifically, the video is captured using the OpenCV library and sent to the server using the HTTP protocol. The server receives the video data using FastAPI.
[0286] 2. Receiving and analyzing video
[0287] The server analyzes the received video data, tracking the movements of athletes and sports equipment in the video and utilizing deep learning techniques to classify each scene. For example, it uses object recognition libraries such as OpenCV and YOLO for tracking.
[0288] 3. Commentary Generation
[0289] The server uses the generative AI model GPT-3 to automatically generate commentary based on the results of video analysis. Natural commentary is generated based on the events in the analysis results. For example, for the event "The pitcher threw a fastball," the generated commentary is "The pitcher threw a fastball. The ball just missed the strike zone."
[0290] 4. Multilingual Translation
[0291] The generated commentary is translated into multiple languages using the Google Translate API, allowing translation from Japanese to English, Spanish, Chinese, and more.
[0292] 5. Integrating video and commentary
[0293] The translated commentary is integrated into the video data using the moviepy library to overlay text onto the video, and can also be converted into audio using speech synthesis technology and synchronized with the video.
[0294] 6. Real-time streaming
[0295] The server delivers the integrated video data and commentary to the user device in real time using FFmpeg via a streaming protocol (e.g., HLS, DASH).
[0296] 7. Emotion recognition
[0297] The DeepFace library is used to analyze the user's facial expressions and tone of voice using the camera and microphone on the user's smartphone or PC as the device, and to recognize emotions, allowing the system to understand in real time how the user is feeling about the game.
[0298] 8. Personalized commentary
[0299] The server adjusts the content and expressions of commentary based on the user's emotions recognized by the emotion engine. If the server recognizes that the user is excited, it uses more emotional and exciting expressions. Advertising and promotional content for individual users is also adjusted.
[0300] Specific examples
[0301] For example, in a soccer match, a smartphone camera captures a player's goal and sends it to a server. The server analyzes the video and recognizes the event "A player scores a goal," generating a commentary such as "Great goal! Team A scores the first goal!" This commentary is translated into English, Spanish, and Chinese and integrated into the video. If the user's excitement is recognized, a specific advertisement will be displayed.
[0302] An example prompt is "Event: goal. Commentary: "
[0303] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0304] Step 1:
[0305] The device acquires video of the game. The video is captured using a smartphone or a wide-angle action camera. The input is real-time video data from the camera, and the output is encoded video data to be sent to the server. Specifically, the device captures video using the OpenCV library and sends it to the server using the HTTP protocol.
[0306] Step 2:
[0307] The server receives the transmitted video data. The input is encoded video data from the device, and the output is video data suitable for analysis. Specifically, it receives the video data using FastAPI and converts it into an appropriate format.
[0308] Step 3:
[0309] The server analyzes the received video data. The input is video data converted into an appropriate format, and the output is the analysis results, such as the movements of athletes and sports equipment. Specifically, it uses object recognition libraries such as OpenCV and YOLO to identify important events in the video.
[0310] Step 4:
[0311] The server automatically generates commentary based on the analysis results. The input is the analysis results, and the output is the automatically generated commentary. Specifically, it uses the generative AI model GPT-3 to generate natural commentary based on the prompt text. It uses prompt text such as "Event: The pitcher threw a fastball. Commentary: "
[0312] Step 5:
[0313] The server translates the generated commentary into multiple languages. The input is the automatically generated commentary, and the output is the commentary translated into multiple languages. Specifically, it uses the Google Translate API to translate from Japanese to English, Spanish, Chinese, etc.
[0314] Step 6:
[0315] The server integrates the translated commentary with the video data. The input is the multilingual commentary and video data, and the output is the video data with the integrated commentary. Specifically, it uses the moviepy library to overlay the text onto the video and adds audio commentary if necessary.
[0316] Step 7:
[0317] The server delivers the integrated video data and commentary to the user's device in real time. The input is the video data integrated with commentary, and the output is real-time streaming to the user's device. Specifically, it uses FFmpeg and delivers using a streaming protocol (such as HLS or DASH).
[0318] Step 8:
[0319] The device recognizes the user's emotions. The input is data from the user's camera and microphone, and the output is the user's emotional information. Specifically, it uses the DeepFace library to analyze the user's facial expressions and tone of voice to recognize emotions.
[0320] Step 9:
[0321] The server personalizes the commentary based on the emotion recognition results. The input is the user's emotional information and commentary, and the output is a personalized commentary. Specifically, the server adjusts the expression of the commentary based on the emotion recognition results. For example, if the server recognizes that the user is excited, it adds an emotional expression such as "The whole venue was excited all at once!"
[0322] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0323] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0324] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0325] [Second embodiment]
[0326] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0327] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0328] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0329] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0330] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0331] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0332] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0333] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0334] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0335] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0336] In the smart glasses 214, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0337] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0338] The present invention relates to a system for automatically generating live coverage of a game and distributing it in real time. Specific embodiments for implementing this system will be described below.
[0339] Explanation of program processing
[0340] 1. Video acquisition and transmission
[0341] The device uses a camera to capture images of the game. The video data captured by the camera is encoded in real time and sent to a server via a transmission means. For example, a wide-angle action camera or a 360-degree camera can be used to capture images of the game from various angles.
[0342] 2. Receiving and analyzing video
[0343] The server processes the received video data using an analysis means, which tracks the movements of players and the ball in the video and classifies each scene. For example, pitching movements, batting movements, fielding movements, etc. are analyzed.
[0344] 3. Commentary Generation
[0345] The server uses a generation means to automatically generate commentary based on the analysis results. For example, in a pitching scene, the server generates a commentary such as "The pitcher threw a fastball. The ball just missed the strike zone." This allows the progress of the game to be reflected in real time.
[0346] 4. Multilingual Translation
[0347] The generated commentary text is translated into multiple languages using a translation means, for example, from Japanese to English, Spanish, Chinese, etc. This makes it possible to accommodate users from various language areas.
[0348] 5. Integrating video and commentary
[0349] The translated commentary is integrated into the video data using an integration means. The commentary can be overlaid onto the video as subtitles or embedded as audio commentary using a speech synthesis means. For example, the text can be converted into audio and synchronized with the video.
[0350] 6. Real-time streaming
[0351] The server delivers the integrated video data and commentary to the user's device in real time. The delivery method provides the video to the user via a streaming protocol (e.g., HLS, DASH), allowing the user to watch the game live.
[0352] Specific examples
[0353] For example, in a high school baseball game, a smartphone camera captures the game and sends the video to a server. The server analyzes the video and recognizes the pitcher's pitching motion. Based on the recognized motion, a commentary is generated, such as "The pitcher threw a fastball. The ball just missed the strike zone." This commentary is translated from Japanese into English, Spanish, and Chinese and integrated into the video as subtitles. The translated commentary and video are streamed to the user's device in real time. Users can watch the live broadcast on their smartphones or PCs and enjoy the commentary in multiple languages.
[0354] As described above, as a specific form for implementing the present invention, by providing a series of processing flows from acquiring footage of the game to generating, translating, integrating, and distributing commentary, it is possible to realize high-quality live broadcasts in real time.
[0355] The processing flow will be explained below.
[0356] Step 1:
[0357] The device acquires video of the match, captures each scene of the match using a camera, and generates video data.
[0358] Step 2:
[0359] The terminal encodes the acquired video data in real time, and transmits the encoded video data to the server via the transmission means.
[0360] Step 3:
[0361] The server receives the transmitted video data and stores it in data storage.
[0362] Step 4:
[0363] The server analyzes the received video data. Using analytical tools, it tracks the movements of players and the ball in the video and classifies each scene. For example, it recognizes pitching, batting, and fielding movements.
[0364] Step 5:
[0365] The server generates commentary based on the analysis data. Using the generation means, it creates commentary in natural language according to the situation of each scene. For example, it generates a sentence such as, "The pitcher threw a fastball. The ball just missed the strike zone."
[0366] Step 6:
[0367] The server translates the generated commentary into multiple languages, such as Japanese commentary into English, Spanish, Chinese, etc., using a translation means.
[0368] Step 7:
[0369] The server integrates the translated commentary into the video data, and either displays it as a subtitle overlay on the video using an integration means, or converts it into audio using a speech synthesis means and synchronizes it with the video.
[0370] Step 8:
[0371] The server delivers the integrated video data and commentary to the user. Using a delivery method, the data is sent to the user's device in real time via a streaming protocol (e.g., HLS, DASH).
[0372] Step 9:
[0373] Users can receive the distributed video data and watch the match, enjoying real-time video and commentary in multiple languages on their devices.
[0374] This series of steps makes it possible to provide high-quality live coverage in real time.
[0375] Example 1
[0376] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0377] Conventional live game broadcasting systems have difficulty automatically generating commentary, and supporting multiple languages requires a large number of human resources. Furthermore, integrating and distributing video and commentary in real time requires advanced technology and equipment, which is costly. Furthermore, the lack of functionality to track the movements of players and the ball reduces the accuracy of video analysis, making it difficult to generate accurate commentary.
[0378] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0379] In this invention, the server includes a data analysis means, a text generation means, a language translation means, a data integration means, and a data distribution means. This makes it possible to acquire and analyze game footage, automatically generate commentary, translate the commentary into multiple languages, and distribute it in real time by integrating it with the video. Furthermore, by adding a motion tracking means, it is possible to accurately track the movements of players and the ball and generate commentary with high accuracy. This allows for low-cost, high-quality real-time live broadcasting.
[0380] "Video capture means" refers to cameras or other imaging devices used to capture video of the match.
[0381] "Data transmission means" refers to a device or software for encoding the acquired video data and transmitting it to a server via a network.
[0382] "Data Analysis Means" refers to software and algorithms used to analyze received video data and recognize and classify player and ball movements.
[0383] "Text generation means" refers to AI models or text generation software that automatically generate commentary based on the analysis results.
[0384] "Language translation means" refers to translation software or a translation service for translating the generated commentary into multiple languages.
[0385] "Data integration means" refers to software or platforms that integrate translated commentary into video data and embed it as subtitles or audio.
[0386] "Data distribution means" refers to a streaming server or distribution protocol for distributing the integrated video data and commentary to user terminals in real time.
[0387] "Motion tracking means" refers to software or hardware for tracking the movements of players and the ball based on captured video data.
[0388] "Speech synthesis means" refers to software or speech synthesis technology for converting the generated commentary into speech and synchronizing it with the video data.
[0389] The system of the present invention shows how to combine various means for automatically generating and distributing live game coverage in real time. An embodiment of this system is described in detail below.
[0390] Video acquisition and transmission
[0391] The device uses a camera (e.g., an action camera or smartphone camera) to capture video of the game. For example, by using a wide-angle action camera or a 360-degree camera, it is possible to capture video from various angles of the game. The video data captured by the camera is encoded in real time and sent to a server using RTMP (Real-Time Messaging Protocol). The devices and applications used for transmission include, for example, encoding devices and smartphone apps.
[0392] Video reception and analysis
[0393] The server receives the transmitted video data via an RTMP server (e.g., Nginx RTMP Module). The received video data is sent frame by frame to an analysis engine (e.g., OpenCV, TensorFlow), which tracks the movements of players and the ball and classifies each scene in the video. Based on the results of this analysis, actions such as pitching, batting, and fielding during the game are identified.
[0394] Commentary generation
[0395] The server automatically generates commentary using a generative AI model (e.g., GPT-4) based on the analysis results. An example of a prompt is, "Pitching scene: The pitcher threw a fastball. The ball just missed the strike zone." This process generates commentary that reflects the progress of the game in real time.
[0396] Multilingual Translation
[0397] The generated commentary is translated into multiple languages on the server using a translation engine (e.g., Google Translate API, Microsoft Azure Translator). For example, it is possible to translate Japanese into English, Spanish, Chinese, etc. This makes it possible to accommodate users from various language regions.
[0398] Integrating video and commentary
[0399] The translated commentary is integrated into the video data on the server using an integration method (e.g., FFmpeg, GStreamer). The commentary can be overlaid on the video as subtitles, or embedded as audio commentary using a speech synthesis engine (e.g., Amazon Polly, Google Text-to-Speech). This ensures that the video, subtitles, and audio are synchronized when the user watches.
[0400] Real-time streaming
[0401] Finally, the server delivers the integrated video data and commentary to the user's device in real time. This is done using a streaming server (e.g., Wowza, Akamai) and is provided to the user via a distribution protocol (e.g., HLS, DASH). Users can then watch the live broadcast on their smartphones or PCs and enjoy the game in real time.
[0402] Specific examples
[0403] For example, in a high school baseball game, a device captures the game with a smartphone camera and sends the video to a server. The server receives the video using the Nginx RTMP module and uses an analysis engine (OpenCV, TensorFlow) to recognize the pitcher's pitching motion. Based on the recognized motion, a commentary is generated, such as "The pitcher threw a fastball. The ball just missed the strike zone." This commentary is then translated from Japanese to English, Spanish, and Chinese and integrated into the video as subtitles using FFmpeg. An audio commentary is also generated using Amazon Polly and synchronized with the video. Finally, the integrated video data and commentary are distributed to user devices via the HLS protocol using a Wowza streaming server, allowing users to watch the live broadcast in real time on their smartphones or PCs.
[0404] A system configured in this way makes it possible to provide high-quality, real-time live broadcasts at low cost.
[0405] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0406] Step 1:
[0407] The terminal acquires the video of the game.
[0408] Specifically, it uses cameras (e.g., wide-angle action cameras or 360-degree cameras) and encodes the video data captured by each camera in real time. The input is the captured raw video data, and the output is the encoded video data. The encoding uses the H.264 or H.265 codec.
[0409] Step 2:
[0410] The terminal transmits the encoded video data to the server.
[0411] Specifically, it uses RTMP (Real-Time Messaging Protocol) to transmit video data over a network. The transmitting devices and applications used include encoding devices and smartphone apps. The input is the encoded video data, and the output is the transmitted video data received by the server.
[0412] Step 3:
[0413] The server receives the transmitted video data.
[0414] Specifically, data is received using an RTMP server (e.g., Nginx RTMP Module). The input is the transmitted video data, and the output is the received data stored on the RTMP server.
[0415] Step 4:
[0416] The server analyzes the received video data.
[0417] Specifically, an analysis engine (e.g., OpenCV, TensorFlow) is used to track the movements of players and the ball for each frame of video data and classify each scene. For example, pitching actions, batting actions, fielding actions, etc. are automatically classified. The input is the received video data, and the output is the analysis results (e.g., the positions of players and the ball, and the type of action).
[0418] Step 5:
[0419] The server generates commentary based on the analysis results.
[0420] Specifically, a generative AI model (e.g., GPT-4) is used to generate commentary by inputting a prompt such as "Pitching scene: The pitcher threw a fastball. The ball just missed the strike zone." The input is the analysis result, and the output is the generated commentary.
[0421] Step 6:
[0422] The server translates the generated commentary.
[0423] Specifically, it uses a translation engine (e.g., Google Translate API, Microsoft Azure Translator) to translate into multiple languages (e.g., English, Spanish, Chinese). The input is the generated commentary, and the output is the translated commentary.
[0424] Step 7:
[0425] The server integrates the translated commentary into the video data.
[0426] Specifically, the commentary is overlaid onto the video as subtitles using an integration method (e.g., FFmpeg, GStreamer), and audio commentary is embedded using a speech synthesis engine (e.g., Amazon Polly, Google Text-to-Speech).The input is the translated commentary and video data, and the output is the integrated video data.
[0427] Step 8:
[0428] The server delivers the integrated video data and commentary to the user's terminal.
[0429] Specifically, data is distributed using a streaming server (e.g., Wowza, Akamai) via a distribution protocol (e.g., HLS, DASH). The input is integrated video data, and the output is real-time streaming video that can be viewed on user devices.
[0430] This allows users to watch high-quality real-time live broadcasts on their smartphones or PCs.
[0431] (Application example 1)
[0432] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0433] Traditionally, live game coverage has been provided directly by commentators, which requires the presence of highly skilled commentators. Furthermore, providing game content in multiple languages in real time is extremely difficult, and current methods have not been able to adequately meet the need to provide information quickly and in multiple languages to an international audience. Furthermore, the technical complexity of synchronizing commentary and video and delivering it in real time makes it difficult to easily provide high-quality live coverage.
[0434] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0435] In this invention, the server includes a photographing means for capturing images of the match, a communication means for transmitting the captured image data to an information processing device, and an analysis means for analyzing the received image data in the information processing device. This makes it possible to analyze the situation of the match in real time, automatically generate commentary based on the results, translate and integrate the results into multiple languages, and distribute the commentary to each user terminal in real time.
[0436] "Capturing means for capturing game footage" refers to a camera or other image capturing device that captures video data of a dynamic event such as a sports game in real time.
[0437] The "communication means for transmitting the acquired image data to the information processing device" is a communication module or protocol for transmitting the image data from the image capturing means to the information processing device such as a server in real time.
[0438] "Analysis means for analyzing received video data in an information processing device" refers to software or hardware that enables an information processing device, such as a server, to analyze received video data and recognize and classify the movements of athletes and objects.
[0439] "Means for automatically generating commentary based on the analysis results" refers to an algorithm or system that uses natural language processing technology to automatically generate commentary and commentary for a match based on the results of video data analysis.
[0440] A "translation means for translating the generated commentary into multiple languages" is a software component that has the function of translating the generated commentary into multiple languages in real time using an AI model or translation engine.
[0441] The "integration means for integrating translated commentary into video data" is a module for acquiring commentary translated into multiple languages and overlaying it as text or embedding audio into the video data.
[0442] "A means for delivering integrated video data and explanatory text to a viewing terminal in real time" refers to streaming technology or protocols for delivering video data and its integrated explanatory text to a user terminal in real time via a network such as the Internet.
[0443] A "tracking means for tracking the movements of players and objects" is a system that uses video analysis technology to track the movements of players and objects such as the ball during a match in real time and acquires that movement as data.
[0444] "A speech synthesis means for converting explanatory text into speech and synchronizing it with video data" refers to speech synthesis technology or a system for converting automatically generated explanatory text into speech and playing it in synchronization with the video.
[0445] A specific embodiment for carrying out the present invention will be described.
[0446] The server includes a camera for capturing images of the match, a communication device for transmitting the captured image data to the information processing device, and an analysis device for analyzing the image data received by the information processing device. The camera is a smartphone camera or a high-resolution camera, and the communication device uses Wi-Fi or a mobile network.
[0447] The analysis method involves analyzing video data in real time to recognize the movements of players, the ball, etc. Specifically, image analysis libraries such as TensorFlow and OpenCV are used to track players and the ball.
[0448] The generation means uses natural language processing technology to automatically generate appropriate commentary based on the analysis results. For example, a generative AI model using deep learning is used to generate a commentary such as "The player took a shot." To support multiple languages, the generated commentary is translated into multiple languages using a translation means such as the Google Translate API.
[0449] The integration method involves integrating the translated commentary into the video data. Specifically, the commentary is added to the video as a text overlay, or audio commentary is generated using speech synthesis technology and synchronized with the video. For speech synthesis, synthesis engines such as IBM Watson and Amazon Polly are used.
[0450] The delivery method will deliver the integrated video data and explanatory text to viewing devices in real time, using HTTP Live Streaming (HLS) or DASH (Dynamic Adaptive Streaming HTTP) protocols, allowing users to view the content on their smartphones or computers.
[0451] This system makes it possible to provide real-time commentary on the situation in multiple languages during a game. For example, it can recognize the moment a player shoots during a basketball game and provide viewers with commentary such as "The player has shot the ball. It hit the basket." translated into English, Spanish, and Chinese.
[0452] Example prompt sentence:
[0453] Please generate a commentary such as "During a basketball game, a player takes a shot and hits the basket." Based on the results of video analysis, the appropriate commentary will be translated into multiple languages and distributed in real time. The generated commentary will need to be translated into Japanese, English, Spanish, and Chinese.
[0454] In this manner, in the embodiment of the present invention, by effectively combining the analysis means, generation means, translation means, integration means, and distribution means, it is possible to provide high-quality automatic live broadcasting.
[0455] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0456] Step 1:
[0457] The terminal acquires video of the game using a photographing means (camera). The video data captured by the camera is encoded in real time and sent to an information processing device (server) via a communication means. The input is the video data captured in real time, and the output is the encoded video data.
[0458] Step 2:
[0459] The server passes the received video data to an analysis means for processing. This analysis means tracks the movements of objects in the video, such as players and the ball. The input is encoded video data, and the output is analytical data on the movements of players and objects. Specifically, image analysis algorithms using TensorFlow and OpenCV are executed.
[0460] Step 3:
[0461] The server automatically generates commentary using a generation means based on the analysis data. The input is the analysis data, and the output is the generated commentary. This includes using a generative AI model to generate commentary such as "The player took a shot."
[0462] Step 4:
[0463] The server translates the generated commentary into multiple languages using a translation tool. The input is the commentary in Japanese, and the output is the commentary translated into multiple languages (English, Spanish, Chinese, etc.). Specifically, the translation is performed in real time using the Google Translate API.
[0464] Step 5:
[0465] The server integrates the translated commentary into the video data using an integration means. The input is the translated commentary and the original video data, and the output is the video data with the commentary integrated. Specifically, the server overlays the text or synthesizes speech using IBM Watson or Amazon Polly, and synchronizes it with the video as audio commentary.
[0466] Step 6:
[0467] The server distributes the integrated video data and explanatory text to the viewing terminal in real time via a distribution method. The input is the integrated video data, and the output is a video stream that can be viewed in real time on the user terminal. Specifically, distribution is performed using HTTP Live Streaming (HLS) or the DASH protocol.
[0468] This series of processes allows users to enjoy high-quality automatic live broadcasts in real time and in multiple languages.
[0469] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0470] The present invention relates to a system for automatically generating and distributing live game broadcasts in real time. Furthermore, the present invention is directed to a system that provides a more personalized live broadcast experience by combining an emotion engine that recognizes the user's emotions. Specific embodiments for implementing this system are described below.
[0471] Explanation of program processing
[0472] 1. Video acquisition and transmission
[0473] The device uses a camera to capture images of the game. The video data captured by the camera is encoded in real time and sent to a server via a transmission means. For example, a wide-angle action camera or a 360-degree camera can be used to capture images of the game from various angles.
[0474] 2. Receiving and analyzing video
[0475] The server processes the received video data using an analysis means, which tracks the movements of players and the ball in the video and classifies each scene. For example, pitching movements, batting movements, fielding movements, etc. are analyzed.
[0476] 3. Commentary Generation
[0477] The server uses a generation means to automatically generate commentary based on the analysis results. For example, in a pitching scene, the server generates a commentary such as "The pitcher threw a fastball. The ball just missed the strike zone." This allows the progress of the game to be reflected in real time.
[0478] 4. Multilingual Translation
[0479] The generated commentary text is translated into multiple languages using a translation means, for example, from Japanese to English, Spanish, Chinese, etc. This makes it possible to accommodate users from various language areas.
[0480] 5. Integrating video and commentary
[0481] The translated commentary is integrated into the video data using an integration means. The commentary can be overlaid onto the video as subtitles or embedded as audio commentary using a speech synthesis means. For example, the text can be converted into audio and synchronized with the video.
[0482] 6. Real-time streaming
[0483] The server delivers the integrated video data and commentary to the user's device in real time. The delivery method provides the video to the user via a streaming protocol (e.g., HLS, DASH), allowing the user to watch the game live.
[0484] 7. Emotion recognition
[0485] The server uses an emotion engine to analyze the user's facial expressions and tone of voice through the user's camera and microphone, and recognizes their emotions, thereby understanding how the user feels about the game.
[0486] 8. Personalized commentary
[0487] The server adjusts the content and expressions of the commentary based on the user's emotions recognized by the emotion engine. For example, if it recognizes that the user is excited, it will use more emotional and exciting expressions. It is also possible to automatically select and deliver advertisements and promotional content based on emotions.
[0488] Specific examples
[0489] For example, in a high school baseball game, a smartphone camera captures the game and sends the video to a server. The server analyzes the video and recognizes the pitcher's pitching motion. Based on the recognized motion, a commentary is generated, such as "The pitcher threw a fastball. The ball just missed the strike zone." This commentary is translated from Japanese into English, Spanish, and Chinese and integrated into the video as subtitles. The translated commentary and video are streamed to the user's device in real time. Users can watch the live broadcast on their smartphones or PCs and enjoy the commentary in multiple languages.
[0490] Furthermore, if the emotion engine recognizes the user's emotions through the user's camera or microphone, and detects that the user is excited, it can add emotional expressions to the commentary, such as "The whole venue was excited all at once!" It can also automatically display advertisements for sports drinks to excited users.
[0491] As described above, as a specific form for implementing the present invention, by providing a series of processing flows from capturing game footage to generating commentary, translating, integrating, and distributing it, and then personalizing it based on emotion recognition, it is possible to realize high-quality, personalized live broadcasts in real time.
[0492] The processing flow will be explained below.
[0493] Step 1:
[0494] The device captures the game footage. It uses cameras to capture each scene of the game in real time. For example, it uses wide-angle lenses or 360-degree cameras to cover almost the entire game.
[0495] Step 2:
[0496] The video data acquired by the device is encoded in real time. The encoded video is sent to the server using a streaming protocol (e.g., RTMP). For example, the video frame rate and resolution are optimized to reduce network load.
[0497] Step 3:
[0498] The server receives the transmitted video data, which is then stored in data storage and used for subsequent processing.
[0499] Step 4:
[0500] The server analyzes the received video data. Using analytical methods, it tracks the movements of players and the ball in the video and detects specific events, such as pitching, batting, and fielding movements, by scene.
[0501] Step 5:
[0502] The server generates commentary based on the analysis results. A generation means is used to create natural language sentences from detailed information about each scene. For example, for a pitching scene, the server generates a commentary such as, "The pitcher threw a fastball. The ball just missed the right edge of the strike zone."
[0503] Step 6:
[0504] The server translates the generated commentary into multiple languages. Using a translation tool, Japanese commentary is automatically translated into English, Spanish, Chinese, etc. For example, it might be translated as, "The pitcher threw a fastball. The ball skimmed the right edge of the strike zone."
[0505] Step 7:
[0506] The server integrates the translated commentary into the video data. Using an integration means, the commentary is overlaid on the video in the form of subtitles, or converted into audio using a speech synthesis means and synchronized with the video. For example, the text is played as audio, providing the viewer with an audio commentary.
[0507] Step 8:
[0508] The server delivers the integrated video data and commentary to the user's device in real time. The delivery method sends the data to the user's device via a streaming protocol (e.g., HLS, DASH). Users can then watch the live game broadcast on their smartphones or PCs.
[0509] Step 9:
[0510] Users can watch the match on their devices and enjoy live video and commentary in multiple languages in real time, either in subtitles or audio format.
[0511] Step 10:
[0512] The server uses the user's camera and microphone to recognize the user's emotions through an emotion engine, for example, using facial expression recognition technology and voice tone analysis to determine whether the user is excited or relaxed.
[0513] Step 11:
[0514] The server adjusts the content and expressions of the commentary based on the user's emotions recognized by the emotion engine. For example, if the user is excited, it uses an emphatic expression such as "That was an amazing play! The whole venue was excited!"
[0515] Step 12:
[0516] The server uses an emotion engine to automatically select and deliver advertisements and promotional content according to the user's emotions. For example, an energy drink advertisement is displayed to an excited user.
[0517] In this way, a system that combines an emotion engine can provide users with a more personalized live commentary experience, enhancing the sense of realism of the game.
[0518] Example 2
[0519] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0520] Conventional live game commentary systems require commentary to be created manually, which limits their real-time capabilities and multilingual support. Furthermore, they are unable to provide a personalized commentary experience based on user emotions, making it difficult to improve user satisfaction. To solve this problem, there is a need to develop an automated, real-time, multilingual live commentary system.
[0521] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a data analysis means for analyzing received video data, a document generation means for automatically generating commentary text based on the analysis result, and a multilingual translation means for translating the generated commentary text into multiple languages. This makes it possible to automatically generate commentary text in multiple languages in real time and provide a personalized experience that takes into account the user's emotions.
[0522] "Video acquisition means" refers to the devices and functions for capturing video of the match and acquiring it as digital data.
[0523] "Data transmission means" refers to a device or protocol that transmits acquired video data to a server.
[0524] "Data analysis means" refers to the functions and software that analyze received video data and detect and classify the movements of players and the ball.
[0525] "Document generation means" refers to an algorithm or model for automatically generating commentary based on the analysis results.
[0526] "Multilingual translation means" refers to a device or software for translating the generated commentary into multiple languages.
[0527] "Data integration means" refers to a function or device for integrating translated commentary into video data and expressing it as subtitles or audio.
[0528] "Real-time distribution means" refers to a protocol or device for distributing integrated video data and commentary to a user terminal in real time.
[0529] "Emotion recognition means" refers to functions or software that analyze the user's facial expressions and voice and recognize their emotional state.
[0530] "Text adjustment means" refers to algorithms or functions for adjusting the content or expression of commentary based on recognized emotions.
[0531] "Motion tracking means" refers to technology or equipment for tracking the movements of players, the ball, etc. in real time.
[0532] "Audio conversion means" refers to software or a device for converting the generated commentary into audio and synchronizing it with the video data.
[0533] The present invention relates to a system for automatically generating and distributing live game broadcasts in real time. Furthermore, the present invention is directed to a system that provides a more personalized live broadcast experience by combining an emotion engine that recognizes the user's emotions. Specific embodiments for implementing this system are described below.
[0534] The device uses a camera to capture game footage. For example, it uses hardware such as a wide-angle action camera or a 360-degree camera to capture footage from various angles of the game. The footage captured by this camera is encoded in real time within the device into H.264 format and then sent to the server.
[0535] The server has a data analysis tool for processing the received video data. Specific software includes the OpenCV library, which is used to detect players and the ball in each frame and track their movements in real time. For example, it detects the player's movements as he steps into the batter's box and the pitcher's throwing motion, and classifies the scene. Based on the analysis results, the server uses a generative AI model (e.g., GPT-4) to generate a commentary.
[0536] The generated commentary is sent to a translation API (e.g., Google Translate API). Using the API, the Japanese commentary is translated into multiple languages, including English, Spanish, and Chinese. The translation results are sent back to the server and then integrated into the video data by a data integration means. Here, they are overlaid on the bottom of the video as subtitles, and audio commentary is also added using speech synthesis software (e.g., Amazon Polly).
[0537] The integrated video and commentary are delivered to users' devices using real-time streaming methods, such as HLS and DASH, allowing users to enjoy uninterrupted live broadcasts. The server monitors the stability of the stream and takes measures to minimize delays and buffering.
[0538] The user's device is equipped with a camera and microphone, which are used to transmit the user's facial expressions and tone of voice to the server. The server then passes this information to an emotion engine (for example, Microsoft Azure's emotion recognition API) to analyze and recognize the user's emotions, such as excitement or joy. Based on this recognized emotion, the server further adjusts the content and expression of the commentary using a document adjustment method. For example, if the user is excited, it adds an emotional commentary such as, "The whole venue was excited all at once!"
[0539] Emotion recognition data can also be used to display personalized advertisements, for example, advertising sports drinks to excited users, providing a more engaging viewing experience.
[0540] Specific examples:
[0541] During a high school baseball game, a device uses a smartphone camera to film the game, encodes the video in real time using H.264, and sends it to a server. The server analyzes the video using OpenCV to recognize the pitcher's pitching motion. GPT-4 is used to generate a commentary such as "The pitcher threw a fastball. The ball just missed the strike zone." This commentary is then translated into multiple languages using Google Translate. The translated commentary is integrated into the video as subtitles and audio, and is distributed in real time using the HLS protocol.
[0542] When the excited facial expressions of users watching a game are sent to the server via camera and microphone, the emotion engine analyzes the excitement and can add expressions to the commentary such as, "The whole stadium was excited all at once!". In addition, advertisements for sports drinks are displayed to excited users.
[0543] Example prompt sentence:
[0544] "The pitcher threw a fastball. The ball just missed the strike zone."
[0545] "The whole venue was instantly excited."
[0546] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0547] Step 1:
[0548] The device captures game footage using a camera. Specifically, devices such as wide-angle action cameras and 360-degree cameras are used. Real-time game footage is input to the camera. The captured video data is encoded in real time into H.264 format within the device, and the encoded results are output.
[0549] Step 2:
[0550] The terminal transmits the encoded video data to the server. The data transmission means is used to transmit the data via a communication protocol (e.g., HTTP or RTMP). The encoded video data enters the transmission means as input. The transmitted data arrives at the server.
[0551] Step 3:
[0552] The server analyzes the received video data using a data analysis means. Specifically, it uses the OpenCV library to detect the movements of players and the ball in each frame. The video data received as input is sent to the analysis means. As a result of the analysis, positional information and movement information of players and the ball are output.
[0553] Step 4:
[0554] The server uses a generative AI model (e.g., GPT-4) based on the analysis results to automatically generate commentary. The action information from the analysis results is input into the generative AI model. The generative AI model generates commentary in natural language based on the prompt. The output is a specific commentary such as "The pitcher threw a fastball."
[0555] Step 5:
[0556] The server translates the generated commentary using a multilingual translation means. Specifically, the commentary is sent to a translation API (e.g., Google Translate API). The generated commentary is input to the translation means. Processing using the translation API results in multilingual commentary (e.g., English, Spanish, and Chinese) being obtained as output.
[0557] Step 6:
[0558] The server integrates the commentary translated into multiple languages into the video data. Using a data integration means, it overlays the video as subtitles. Subtitle data and video data enter the integration means as input. The output is video data with the commentary embedded. In addition, the commentary is converted into audio using speech synthesis software (e.g., Amazon Polly) and is included as audio.
[0559] Step 7:
[0560] The server distributes the integrated video data and commentary to the user terminal using a real-time distribution method. Specifically, a streaming protocol such as HLS or DASH is used. The integrated video data enters the distribution method as input. The video and commentary distributed in real time reach the user terminal as output.
[0561] Step 8:
[0562] The user uses a camera and microphone on their device to transmit facial expressions and tone of voice to the server. The real-time emotional data captured by the camera and microphone is sent as input to the server. The emotional data is input and received by the server.
[0563] Step 9:
[0564] The server analyzes the user's emotions using an emotion recognition means. Specifically, an emotion recognition API (for example, Microsoft Azure's emotion recognition API) is used. The user's emotion data is input to the recognition means. The output is emotional information such as whether the user is excited or happy.
[0565] Step 10:
[0566] The server uses a document adjustment means based on the emotional information to adjust the content and expression of the commentary. The emotional information is input to the document adjustment means. As an output, if the user is excited, an additional commentary such as "The whole venue was excited all at once!" is generated. Also, personalized advertisements for sports drinks, etc. are displayed based on the emotional information.
[0567] The above processing steps realize high-quality, personalized live coverage in real time.
[0568] (Application example 2)
[0569] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0570] Live commentary of games is a crucial element in modern sports viewing. However, traditional commentary systems rely on human announcers and have limitations in terms of real-time performance, multilingual support, and personalization based on individual user emotions. There is a need to solve these issues and provide a higher-quality, more personalized live commentary experience.
[0571] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes an analysis means for analyzing received video data, a generation means for automatically generating commentary text based on the analysis results, a translation means for translating the generated commentary text into multiple languages, an integration means for integrating the translated commentary text into the video data, a distribution means, an emotion recognition means for recognizing the user's emotions, and a personalization means for personalizing the commentary text based on the emotion recognition results. This enables personalized, high-quality live broadcasts in multiple languages in real time.
[0572] "Camera means" refers to a camera or a photographing device for capturing images of the match.
[0573] "Transmission means" refers to a function or device for transmitting acquired video data to a server.
[0574] "Analysis means" refers to a function or device that analyzes the video data received by the server and extracts necessary information and movements.
[0575] The "generation means" refers to a function or device that automatically generates commentary based on the analysis results obtained by the analysis means.
[0576] "Translation means" refers to a function or device for translating the generated commentary into multiple languages.
[0577] "Integration means" refers to a function or device that integrates translated commentary into video data to create integrated content.
[0578] "Distribution means" refers to a function or device for distributing the integrated video data and commentary to a user terminal in real time.
[0579] "Emotion recognition means" refers to a function or device that analyzes the user's facial expression and tone of voice and recognizes their emotions.
[0580] "Personalization means" refers to a function or device that individually adjusts commentary based on emotional information obtained by the emotion recognition means, thereby providing an experience tailored to the user.
[0581] "Tracking means" refers to a function or device for tracking the movements of athletes and sports equipment based on acquired video data.
[0582] "Speech synthesis means" refers to a function or device for converting the generated commentary into speech and synchronizing it with the video data.
[0583] The present invention is a system that automatically generates live game broadcasts and distributes them in real time, and by combining it with an emotion engine that recognizes the user's emotions, it provides a more personalized live broadcast experience. Specific embodiments for implementing this system are described below.
[0584] 1. Video acquisition and transmission
[0585] The smartphone or camera serves as the terminal to capture the game video, and this video data is sent to the server in real time. Specifically, the video is captured using the OpenCV library and sent to the server using the HTTP protocol. The server receives the video data using FastAPI.
[0586] 2. Receiving and analyzing video
[0587] The server analyzes the received video data, tracking the movements of athletes and sports equipment in the video and utilizing deep learning techniques to classify each scene. For example, it uses object recognition libraries such as OpenCV and YOLO for tracking.
[0588] 3. Commentary Generation
[0589] The server uses the generative AI model GPT-3 to automatically generate commentary based on the results of video analysis. Natural commentary is generated based on the events in the analysis results. For example, for the event "The pitcher threw a fastball," the generated commentary is "The pitcher threw a fastball. The ball just missed the strike zone."
[0590] 4. Multilingual Translation
[0591] The generated commentary is translated into multiple languages using the Google Translate API, allowing translation from Japanese to English, Spanish, Chinese, and more.
[0592] 5. Integrating video and commentary
[0593] The translated commentary is integrated into the video data using the moviepy library to overlay text onto the video, and can also be converted into audio using speech synthesis technology and synchronized with the video.
[0594] 6. Real-time streaming
[0595] The server delivers the integrated video data and commentary to the user device in real time using FFmpeg via a streaming protocol (e.g., HLS, DASH).
[0596] 7. Emotion recognition
[0597] The DeepFace library is used to analyze the user's facial expressions and tone of voice using the camera and microphone on the user's smartphone or PC as the device, and to recognize emotions, allowing the system to understand in real time how the user is feeling about the game.
[0598] 8. Personalized commentary
[0599] The server adjusts the content and expressions of commentary based on the user's emotions recognized by the emotion engine. If the server recognizes that the user is excited, it uses more emotional and exciting expressions. Advertising and promotional content for individual users is also adjusted.
[0600] Specific examples
[0601] For example, in a soccer match, a smartphone camera captures a player's goal and sends it to a server. The server analyzes the video and recognizes the event "A player scores a goal," generating a commentary such as "Great goal! Team A scores the first goal!" This commentary is translated into English, Spanish, and Chinese and integrated into the video. If the user's excitement is recognized, a specific advertisement will be displayed.
[0602] An example prompt is "Event: goal. Commentary: "
[0603] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0604] Step 1:
[0605] The device acquires video of the game. The video is captured using a smartphone or a wide-angle action camera. The input is real-time video data from the camera, and the output is encoded video data to be sent to the server. Specifically, the device captures video using the OpenCV library and sends it to the server using the HTTP protocol.
[0606] Step 2:
[0607] The server receives the transmitted video data. The input is encoded video data from the device, and the output is video data suitable for analysis. Specifically, it receives the video data using FastAPI and converts it into an appropriate format.
[0608] Step 3:
[0609] The server analyzes the received video data. The input is video data converted into an appropriate format, and the output is the analysis results, such as the movements of athletes and sports equipment. Specifically, it uses object recognition libraries such as OpenCV and YOLO to identify important events in the video.
[0610] Step 4:
[0611] The server automatically generates commentary based on the analysis results. The input is the analysis results, and the output is the automatically generated commentary. Specifically, it uses the generative AI model GPT-3 to generate natural commentary based on the prompt text. It uses prompt text such as "Event: The pitcher threw a fastball. Commentary: "
[0612] Step 5:
[0613] The server translates the generated commentary into multiple languages. The input is the automatically generated commentary, and the output is the commentary translated into multiple languages. Specifically, it uses the Google Translate API to translate from Japanese to English, Spanish, Chinese, etc.
[0614] Step 6:
[0615] The server integrates the translated commentary with the video data. The input is the multilingual commentary and video data, and the output is the video data with the integrated commentary. Specifically, it uses the moviepy library to overlay the text onto the video and adds audio commentary if necessary.
[0616] Step 7:
[0617] The server delivers the integrated video data and commentary to the user's device in real time. The input is the video data integrated with commentary, and the output is real-time streaming to the user's device. Specifically, it uses FFmpeg and delivers using a streaming protocol (such as HLS or DASH).
[0618] Step 8:
[0619] The device recognizes the user's emotions. The input is data from the user's camera and microphone, and the output is the user's emotional information. Specifically, it uses the DeepFace library to analyze the user's facial expressions and tone of voice to recognize emotions.
[0620] Step 9:
[0621] The server personalizes the commentary based on the emotion recognition results. The input is the user's emotional information and commentary, and the output is a personalized commentary. Specifically, the server adjusts the expression of the commentary based on the emotion recognition results. For example, if the server recognizes that the user is excited, it adds an emotional expression such as "The whole venue was excited all at once!"
[0622] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0623] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0624] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0625] [Third embodiment]
[0626] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0627] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0628] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0629] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0630] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0631] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0632] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0633] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0634] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0635] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0636] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0637] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0638] The present invention relates to a system for automatically generating live coverage of a game and distributing it in real time. Specific embodiments for implementing this system will be described below.
[0639] Explanation of program processing
[0640] 1. Video acquisition and transmission
[0641] The device uses a camera to capture images of the game. The video data captured by the camera is encoded in real time and sent to a server via a transmission means. For example, a wide-angle action camera or a 360-degree camera can be used to capture images of the game from various angles.
[0642] 2. Receiving and analyzing video
[0643] The server processes the received video data using an analysis means, which tracks the movements of players and the ball in the video and classifies each scene. For example, pitching movements, batting movements, fielding movements, etc. are analyzed.
[0644] 3. Commentary Generation
[0645] The server uses a generation means to automatically generate commentary based on the analysis results. For example, in a pitching scene, the server generates a commentary such as "The pitcher threw a fastball. The ball just missed the strike zone." This allows the progress of the game to be reflected in real time.
[0646] 4. Multilingual Translation
[0647] The generated commentary text is translated into multiple languages using a translation means, for example, from Japanese to English, Spanish, Chinese, etc. This makes it possible to accommodate users from various language areas.
[0648] 5. Integrating video and commentary
[0649] The translated commentary is integrated into the video data using an integration means. The commentary can be overlaid onto the video as subtitles or embedded as audio commentary using a speech synthesis means. For example, the text can be converted into audio and synchronized with the video.
[0650] 6. Real-time streaming
[0651] The server delivers the integrated video data and commentary to the user's device in real time. The delivery method provides the video to the user via a streaming protocol (e.g., HLS, DASH), allowing the user to watch the game live.
[0652] Specific examples
[0653] For example, in a high school baseball game, a smartphone camera captures the game and sends the video to a server. The server analyzes the video and recognizes the pitcher's pitching motion. Based on the recognized motion, a commentary is generated, such as "The pitcher threw a fastball. The ball just missed the strike zone." This commentary is translated from Japanese into English, Spanish, and Chinese and integrated into the video as subtitles. The translated commentary and video are streamed to the user's device in real time. Users can watch the live broadcast on their smartphones or PCs and enjoy the commentary in multiple languages.
[0654] As described above, as a specific form for implementing the present invention, by providing a series of processing flows from acquiring footage of the game to generating, translating, integrating, and distributing commentary, it is possible to realize high-quality live broadcasts in real time.
[0655] The processing flow will be explained below.
[0656] Step 1:
[0657] The device acquires video of the match, captures each scene of the match using a camera, and generates video data.
[0658] Step 2:
[0659] The terminal encodes the acquired video data in real time, and transmits the encoded video data to the server via the transmission means.
[0660] Step 3:
[0661] The server receives the transmitted video data and stores it in data storage.
[0662] Step 4:
[0663] The server analyzes the received video data. Using analytical tools, it tracks the movements of players and the ball in the video and classifies each scene. For example, it recognizes pitching, batting, and fielding movements.
[0664] Step 5:
[0665] The server generates commentary based on the analysis data. Using the generation means, it creates commentary in natural language according to the situation of each scene. For example, it generates a sentence such as, "The pitcher threw a fastball. The ball just missed the strike zone."
[0666] Step 6:
[0667] The server translates the generated commentary into multiple languages, such as Japanese commentary into English, Spanish, Chinese, etc., using a translation means.
[0668] Step 7:
[0669] The server integrates the translated commentary into the video data, and either displays it as a subtitle overlay on the video using an integration means, or converts it into audio using a speech synthesis means and synchronizes it with the video.
[0670] Step 8:
[0671] The server delivers the integrated video data and commentary to the user. Using a delivery method, the data is sent to the user's device in real time via a streaming protocol (e.g., HLS, DASH).
[0672] Step 9:
[0673] Users can receive the distributed video data and watch the match, enjoying real-time video and commentary in multiple languages on their devices.
[0674] This series of steps makes it possible to provide high-quality live coverage in real time.
[0675] Example 1
[0676] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0677] Conventional live game broadcasting systems have difficulty automatically generating commentary, and supporting multiple languages requires a large number of human resources. Furthermore, integrating and distributing video and commentary in real time requires advanced technology and equipment, which is costly. Furthermore, the lack of functionality to track the movements of players and the ball reduces the accuracy of video analysis, making it difficult to generate accurate commentary.
[0678] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0679] In this invention, the server includes a data analysis means, a text generation means, a language translation means, a data integration means, and a data distribution means. This makes it possible to acquire and analyze game footage, automatically generate commentary, translate the commentary into multiple languages, and distribute it in real time by integrating it with the video. Furthermore, by adding a motion tracking means, it is possible to accurately track the movements of players and the ball and generate commentary with high accuracy. This allows for low-cost, high-quality real-time live broadcasting.
[0680] "Video capture means" refers to cameras or other imaging devices used to capture video of the match.
[0681] "Data transmission means" refers to a device or software for encoding the acquired video data and transmitting it to a server via a network.
[0682] "Data Analysis Means" refers to software and algorithms used to analyze received video data and recognize and classify player and ball movements.
[0683] "Text generation means" refers to AI models or text generation software that automatically generate commentary based on the analysis results.
[0684] "Language translation means" refers to translation software or a translation service for translating the generated commentary into multiple languages.
[0685] "Data integration means" refers to software or platforms that integrate translated commentary into video data and embed it as subtitles or audio.
[0686] "Data distribution means" refers to a streaming server or distribution protocol for distributing the integrated video data and commentary to user terminals in real time.
[0687] "Motion tracking means" refers to software or hardware for tracking the movements of players and the ball based on captured video data.
[0688] "Speech synthesis means" refers to software or speech synthesis technology for converting the generated commentary into speech and synchronizing it with the video data.
[0689] The system of the present invention shows how to combine various means for automatically generating and distributing live game coverage in real time. An embodiment of this system is described in detail below.
[0690] Video acquisition and transmission
[0691] The device uses a camera (e.g., an action camera or smartphone camera) to capture video of the game. For example, by using a wide-angle action camera or a 360-degree camera, it is possible to capture video from various angles of the game. The video data captured by the camera is encoded in real time and sent to a server using RTMP (Real-Time Messaging Protocol). The devices and applications used for transmission include, for example, encoding devices and smartphone apps.
[0692] Video reception and analysis
[0693] The server receives the transmitted video data via an RTMP server (e.g., Nginx RTMP Module). The received video data is sent frame by frame to an analysis engine (e.g., OpenCV, TensorFlow), which tracks the movements of players and the ball and classifies each scene in the video. Based on the results of this analysis, actions such as pitching, batting, and fielding during the game are identified.
[0694] Commentary generation
[0695] The server automatically generates commentary using a generative AI model (e.g., GPT-4) based on the analysis results. An example of a prompt is, "Pitching scene: The pitcher threw a fastball. The ball just missed the strike zone." This process generates commentary that reflects the progress of the game in real time.
[0696] Multilingual Translation
[0697] The generated commentary is translated into multiple languages on the server using a translation engine (e.g., Google Translate API, Microsoft Azure Translator). For example, it is possible to translate Japanese into English, Spanish, Chinese, etc. This makes it possible to accommodate users from various language regions.
[0698] Integrating video and commentary
[0699] The translated commentary is integrated into the video data on the server using an integration method (e.g., FFmpeg, GStreamer). The commentary can be overlaid on the video as subtitles, or embedded as audio commentary using a speech synthesis engine (e.g., Amazon Polly, Google Text-to-Speech). This ensures that the video, subtitles, and audio are synchronized when the user watches.
[0700] Real-time streaming
[0701] Finally, the server delivers the integrated video data and commentary to the user's device in real time. This is done using a streaming server (e.g., Wowza, Akamai) and is provided to the user via a distribution protocol (e.g., HLS, DASH). Users can then watch the live broadcast on their smartphones or PCs and enjoy the game in real time.
[0702] Specific examples
[0703] For example, in a high school baseball game, a device captures the game with a smartphone camera and sends the video to a server. The server receives the video using the Nginx RTMP module and uses an analysis engine (OpenCV, TensorFlow) to recognize the pitcher's pitching motion. Based on the recognized motion, a commentary is generated, such as "The pitcher threw a fastball. The ball just missed the strike zone." This commentary is then translated from Japanese to English, Spanish, and Chinese and integrated into the video as subtitles using FFmpeg. An audio commentary is also generated using Amazon Polly and synchronized with the video. Finally, the integrated video data and commentary are distributed to user devices via the HLS protocol using a Wowza streaming server, allowing users to watch the live broadcast in real time on their smartphones or PCs.
[0704] A system configured in this way makes it possible to provide high-quality, real-time live broadcasts at low cost.
[0705] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0706] Step 1:
[0707] The terminal acquires the video of the game.
[0708] Specifically, it uses cameras (e.g., wide-angle action cameras or 360-degree cameras) and encodes the video data captured by each camera in real time. The input is the captured raw video data, and the output is the encoded video data. The encoding uses the H.264 or H.265 codec.
[0709] Step 2:
[0710] The terminal transmits the encoded video data to the server.
[0711] Specifically, it uses RTMP (Real-Time Messaging Protocol) to transmit video data over a network. The transmitting devices and applications used include encoding devices and smartphone apps. The input is the encoded video data, and the output is the transmitted video data received by the server.
[0712] Step 3:
[0713] The server receives the transmitted video data.
[0714] Specifically, data is received using an RTMP server (e.g., Nginx RTMP Module). The input is the transmitted video data, and the output is the received data stored on the RTMP server.
[0715] Step 4:
[0716] The server analyzes the received video data.
[0717] Specifically, an analysis engine (e.g., OpenCV, TensorFlow) is used to track the movements of players and the ball for each frame of video data and classify each scene. For example, pitching actions, batting actions, fielding actions, etc. are automatically classified. The input is the received video data, and the output is the analysis results (e.g., the positions of players and the ball, and the type of action).
[0718] Step 5:
[0719] The server generates commentary based on the analysis results.
[0720] Specifically, a generative AI model (e.g., GPT-4) is used to generate commentary by inputting a prompt such as "Pitching scene: The pitcher threw a fastball. The ball just missed the strike zone." The input is the analysis result, and the output is the generated commentary.
[0721] Step 6:
[0722] The server translates the generated commentary.
[0723] Specifically, it uses a translation engine (e.g., Google Translate API, Microsoft Azure Translator) to translate into multiple languages (e.g., English, Spanish, Chinese). The input is the generated commentary, and the output is the translated commentary.
[0724] Step 7:
[0725] The server integrates the translated commentary into the video data.
[0726] Specifically, the commentary is overlaid onto the video as subtitles using an integration method (e.g., FFmpeg, GStreamer), and audio commentary is embedded using a speech synthesis engine (e.g., Amazon Polly, Google Text-to-Speech).The input is the translated commentary and video data, and the output is the integrated video data.
[0727] Step 8:
[0728] The server delivers the integrated video data and commentary to the user's terminal.
[0729] Specifically, data is distributed using a streaming server (e.g., Wowza, Akamai) via a distribution protocol (e.g., HLS, DASH). The input is integrated video data, and the output is real-time streaming video that can be viewed on user devices.
[0730] This allows users to watch high-quality real-time live broadcasts on their smartphones or PCs.
[0731] (Application example 1)
[0732] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0733] Traditionally, live game coverage has been provided directly by commentators, which requires the presence of highly skilled commentators. Furthermore, providing game content in multiple languages in real time is extremely difficult, and current methods have not been able to adequately meet the need to provide information quickly and in multiple languages to an international audience. Furthermore, the technical complexity of synchronizing commentary and video and delivering it in real time makes it difficult to easily provide high-quality live coverage.
[0734] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0735] In this invention, the server includes a photographing means for capturing images of the match, a communication means for transmitting the captured image data to an information processing device, and an analysis means for analyzing the received image data in the information processing device. This makes it possible to analyze the situation of the match in real time, automatically generate commentary based on the results, translate and integrate the results into multiple languages, and distribute the commentary to each user terminal in real time.
[0736] "Capturing means for capturing game footage" refers to a camera or other image capturing device that captures video data of a dynamic event such as a sports game in real time.
[0737] The "communication means for transmitting the acquired image data to the information processing device" is a communication module or protocol for transmitting the image data from the image capturing means to the information processing device such as a server in real time.
[0738] "Analysis means for analyzing received video data in an information processing device" refers to software or hardware that enables an information processing device, such as a server, to analyze received video data and recognize and classify the movements of athletes and objects.
[0739] "Means for automatically generating commentary based on the analysis results" refers to an algorithm or system that uses natural language processing technology to automatically generate commentary and commentary for a match based on the results of video data analysis.
[0740] A "translation means for translating the generated commentary into multiple languages" is a software component that has the function of translating the generated commentary into multiple languages in real time using an AI model or translation engine.
[0741] The "integration means for integrating translated commentary into video data" is a module for acquiring commentary translated into multiple languages and overlaying it as text or embedding audio into the video data.
[0742] "A means for delivering integrated video data and explanatory text to a viewing terminal in real time" refers to streaming technology or protocols for delivering video data and its integrated explanatory text to a user terminal in real time via a network such as the Internet.
[0743] A "tracking means for tracking the movements of players and objects" is a system that uses video analysis technology to track the movements of players and objects such as the ball during a match in real time and acquires that movement as data.
[0744] "A speech synthesis means for converting explanatory text into speech and synchronizing it with video data" refers to speech synthesis technology or a system for converting automatically generated explanatory text into speech and playing it in synchronization with the video.
[0745] A specific embodiment for carrying out the present invention will be described.
[0746] The server includes a camera for capturing images of the match, a communication device for transmitting the captured image data to the information processing device, and an analysis device for analyzing the image data received by the information processing device. The camera is a smartphone camera or a high-resolution camera, and the communication device uses Wi-Fi or a mobile network.
[0747] The analysis method involves analyzing video data in real time to recognize the movements of players, the ball, etc. Specifically, image analysis libraries such as TensorFlow and OpenCV are used to track players and the ball.
[0748] The generation means uses natural language processing technology to automatically generate appropriate commentary based on the analysis results. For example, a generative AI model using deep learning is used to generate a commentary such as "The player took a shot." To support multiple languages, the generated commentary is translated into multiple languages using a translation means such as the Google Translate API.
[0749] The integration method involves integrating the translated commentary into the video data. Specifically, the commentary is added to the video as a text overlay, or audio commentary is generated using speech synthesis technology and synchronized with the video. For speech synthesis, synthesis engines such as IBM Watson and Amazon Polly are used.
[0750] The delivery method will deliver the integrated video data and explanatory text to viewing devices in real time, using HTTP Live Streaming (HLS) or DASH (Dynamic Adaptive Streaming HTTP) protocols, allowing users to view the content on their smartphones or computers.
[0751] This system makes it possible to provide real-time commentary on the situation in multiple languages during a game. For example, it can recognize the moment a player shoots during a basketball game and provide viewers with commentary such as "The player has shot the ball. It hit the basket." translated into English, Spanish, and Chinese.
[0752] Example prompt sentence:
[0753] Please generate a commentary such as "During a basketball game, a player takes a shot and hits the basket." Based on the results of video analysis, the appropriate commentary will be translated into multiple languages and distributed in real time. The generated commentary will need to be translated into Japanese, English, Spanish, and Chinese.
[0754] In this manner, in the embodiment of the present invention, by effectively combining the analysis means, generation means, translation means, integration means, and distribution means, it is possible to provide high-quality automatic live broadcasting.
[0755] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0756] Step 1:
[0757] The terminal acquires video of the game using a photographing means (camera). The video data captured by the camera is encoded in real time and sent to an information processing device (server) via a communication means. The input is the video data captured in real time, and the output is the encoded video data.
[0758] Step 2:
[0759] The server passes the received video data to an analysis means for processing. This analysis means tracks the movements of objects in the video, such as players and the ball. The input is encoded video data, and the output is analytical data on the movements of players and objects. Specifically, image analysis algorithms using TensorFlow and OpenCV are executed.
[0760] Step 3:
[0761] The server automatically generates commentary using a generation means based on the analysis data. The input is the analysis data, and the output is the generated commentary. This includes using a generative AI model to generate commentary such as "The player took a shot."
[0762] Step 4:
[0763] The server translates the generated commentary into multiple languages using a translation tool. The input is the commentary in Japanese, and the output is the commentary translated into multiple languages (English, Spanish, Chinese, etc.). Specifically, the translation is performed in real time using the Google Translate API.
[0764] Step 5:
[0765] The server integrates the translated commentary into the video data using an integration means. The input is the translated commentary and the original video data, and the output is the video data with the commentary integrated. Specifically, the server overlays the text or synthesizes speech using IBM Watson or Amazon Polly, and synchronizes it with the video as audio commentary.
[0766] Step 6:
[0767] The server distributes the integrated video data and explanatory text to the viewing terminal in real time via a distribution method. The input is the integrated video data, and the output is a video stream that can be viewed in real time on the user terminal. Specifically, distribution is performed using HTTP Live Streaming (HLS) or the DASH protocol.
[0768] This series of processes allows users to enjoy high-quality automatic live broadcasts in real time and in multiple languages.
[0769] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0770] The present invention relates to a system for automatically generating and distributing live game broadcasts in real time. Furthermore, the present invention is directed to a system that provides a more personalized live broadcast experience by combining an emotion engine that recognizes the user's emotions. Specific embodiments for implementing this system are described below.
[0771] Explanation of program processing
[0772] 1. Video acquisition and transmission
[0773] The device uses a camera to capture images of the game. The video data captured by the camera is encoded in real time and sent to a server via a transmission means. For example, a wide-angle action camera or a 360-degree camera can be used to capture images of the game from various angles.
[0774] 2. Receiving and analyzing video
[0775] The server processes the received video data using an analysis means, which tracks the movements of players and the ball in the video and classifies each scene. For example, pitching movements, batting movements, fielding movements, etc. are analyzed.
[0776] 3. Commentary Generation
[0777] The server uses a generation means to automatically generate commentary based on the analysis results. For example, in a pitching scene, the server generates a commentary such as "The pitcher threw a fastball. The ball just missed the strike zone." This allows the progress of the game to be reflected in real time.
[0778] 4. Multilingual Translation
[0779] The generated commentary text is translated into multiple languages using a translation means, for example, from Japanese to English, Spanish, Chinese, etc. This makes it possible to accommodate users from various language areas.
[0780] 5. Integrating video and commentary
[0781] The translated commentary is integrated into the video data using an integration means. The commentary can be overlaid onto the video as subtitles or embedded as audio commentary using a speech synthesis means. For example, the text can be converted into audio and synchronized with the video.
[0782] 6. Real-time streaming
[0783] The server delivers the integrated video data and commentary to the user's device in real time. The delivery method provides the video to the user via a streaming protocol (e.g., HLS, DASH), allowing the user to watch the game live.
[0784] 7. Emotion recognition
[0785] The server uses an emotion engine to analyze the user's facial expressions and tone of voice through the user's camera and microphone, and recognizes their emotions, thereby understanding how the user feels about the game.
[0786] 8. Personalized commentary
[0787] The server adjusts the content and expressions of the commentary based on the user's emotions recognized by the emotion engine. For example, if it recognizes that the user is excited, it will use more emotional and exciting expressions. It is also possible to automatically select and deliver advertisements and promotional content based on emotions.
[0788] Specific examples
[0789] For example, in a high school baseball game, a smartphone camera captures the game and sends the video to a server. The server analyzes the video and recognizes the pitcher's pitching motion. Based on the recognized motion, a commentary is generated, such as "The pitcher threw a fastball. The ball just missed the strike zone." This commentary is translated from Japanese into English, Spanish, and Chinese and integrated into the video as subtitles. The translated commentary and video are streamed to the user's device in real time. Users can watch the live broadcast on their smartphones or PCs and enjoy the commentary in multiple languages.
[0790] Furthermore, if the emotion engine recognizes the user's emotions through the user's camera or microphone, and detects that the user is excited, it can add emotional expressions to the commentary, such as "The whole venue was excited all at once!" It can also automatically display advertisements for sports drinks to excited users.
[0791] As described above, as a specific form for implementing the present invention, by providing a series of processing flows from capturing game footage to generating commentary, translating, integrating, and distributing it, and then personalizing it based on emotion recognition, it is possible to realize high-quality, personalized live broadcasts in real time.
[0792] The processing flow will be explained below.
[0793] Step 1:
[0794] The device captures the game footage. It uses cameras to capture each scene of the game in real time. For example, it uses wide-angle lenses or 360-degree cameras to cover almost the entire game.
[0795] Step 2:
[0796] The video data acquired by the device is encoded in real time. The encoded video is sent to the server using a streaming protocol (e.g., RTMP). For example, the video frame rate and resolution are optimized to reduce network load.
[0797] Step 3:
[0798] The server receives the transmitted video data, which is then stored in data storage and used for subsequent processing.
[0799] Step 4:
[0800] The server analyzes the received video data. Using analytical methods, it tracks the movements of players and the ball in the video and detects specific events, such as pitching, batting, and fielding movements, by scene.
[0801] Step 5:
[0802] The server generates commentary based on the analysis results. A generation means is used to create natural language sentences from detailed information about each scene. For example, for a pitching scene, the server generates a commentary such as, "The pitcher threw a fastball. The ball just missed the right edge of the strike zone."
[0803] Step 6:
[0804] The server translates the generated commentary into multiple languages. Using a translation tool, Japanese commentary is automatically translated into English, Spanish, Chinese, etc. For example, it might be translated as, "The pitcher threw a fastball. The ball skimmed the right edge of the strike zone."
[0805] Step 7:
[0806] The server integrates the translated commentary into the video data. Using an integration means, the commentary is overlaid on the video in the form of subtitles, or converted into audio using a speech synthesis means and synchronized with the video. For example, the text is played as audio, providing the viewer with an audio commentary.
[0807] Step 8:
[0808] The server delivers the integrated video data and commentary to the user's device in real time. The delivery method sends the data to the user's device via a streaming protocol (e.g., HLS, DASH). Users can then watch the live game broadcast on their smartphones or PCs.
[0809] Step 9:
[0810] Users can watch the match on their devices and enjoy live video and commentary in multiple languages in real time, either in subtitles or audio format.
[0811] Step 10:
[0812] The server uses the user's camera and microphone to recognize the user's emotions through an emotion engine, for example, using facial expression recognition technology and voice tone analysis to determine whether the user is excited or relaxed.
[0813] Step 11:
[0814] The server adjusts the content and expressions of the commentary based on the user's emotions recognized by the emotion engine. For example, if the user is excited, it uses an emphatic expression such as "That was an amazing play! The whole venue was excited!"
[0815] Step 12:
[0816] The server uses an emotion engine to automatically select and deliver advertisements and promotional content according to the user's emotions. For example, an energy drink advertisement is displayed to an excited user.
[0817] In this way, a system that combines an emotion engine can provide users with a more personalized live commentary experience, enhancing the sense of realism of the game.
[0818] Example 2
[0819] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0820] Conventional live game commentary systems require commentary to be created manually, which limits their real-time capabilities and multilingual support. Furthermore, they are unable to provide a personalized commentary experience based on user emotions, making it difficult to improve user satisfaction. To solve this problem, there is a need to develop an automated, real-time, multilingual live commentary system.
[0821] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a data analysis means for analyzing received video data, a document generation means for automatically generating commentary text based on the analysis result, and a multilingual translation means for translating the generated commentary text into multiple languages. This makes it possible to automatically generate commentary text in multiple languages in real time and provide a personalized experience that takes into account the user's emotions.
[0822] "Video acquisition means" refers to the devices and functions for capturing video of the match and acquiring it as digital data.
[0823] "Data transmission means" refers to a device or protocol that transmits acquired video data to a server.
[0824] "Data analysis means" refers to the functions and software that analyze received video data and detect and classify the movements of players and the ball.
[0825] "Document generation means" refers to an algorithm or model for automatically generating commentary based on the analysis results.
[0826] "Multilingual translation means" refers to a device or software for translating the generated commentary into multiple languages.
[0827] "Data integration means" refers to a function or device for integrating translated commentary into video data and expressing it as subtitles or audio.
[0828] "Real-time distribution means" refers to a protocol or device for distributing integrated video data and commentary to a user terminal in real time.
[0829] "Emotion recognition means" refers to functions or software that analyze the user's facial expressions and voice and recognize their emotional state.
[0830] "Text adjustment means" refers to algorithms or functions for adjusting the content or expression of commentary based on recognized emotions.
[0831] "Motion tracking means" refers to technology or equipment for tracking the movements of players, the ball, etc. in real time.
[0832] "Audio conversion means" refers to software or a device for converting the generated commentary into audio and synchronizing it with the video data.
[0833] The present invention relates to a system for automatically generating and distributing live game broadcasts in real time. Furthermore, the present invention is directed to a system that provides a more personalized live broadcast experience by combining an emotion engine that recognizes the user's emotions. Specific embodiments for implementing this system are described below.
[0834] The device uses a camera to capture game footage. For example, it uses hardware such as a wide-angle action camera or a 360-degree camera to capture footage from various angles of the game. The footage captured by this camera is encoded in real time within the device into H.264 format and then sent to the server.
[0835] The server has a data analysis tool for processing the received video data. Specific software includes the OpenCV library, which is used to detect players and the ball in each frame and track their movements in real time. For example, it detects the player's movements as he steps into the batter's box and the pitcher's throwing motion, and classifies the scene. Based on the analysis results, the server uses a generative AI model (e.g., GPT-4) to generate a commentary.
[0836] The generated commentary is sent to a translation API (e.g., Google Translate API). Using the API, the Japanese commentary is translated into multiple languages, including English, Spanish, and Chinese. The translation results are sent back to the server and then integrated into the video data by a data integration means. Here, they are overlaid on the bottom of the video as subtitles, and audio commentary is also added using speech synthesis software (e.g., Amazon Polly).
[0837] The integrated video and commentary are delivered to users' devices using real-time streaming methods, such as HLS and DASH, allowing users to enjoy uninterrupted live broadcasts. The server monitors the stability of the stream and takes measures to minimize delays and buffering.
[0838] The user's device is equipped with a camera and microphone, which are used to transmit the user's facial expressions and tone of voice to the server. The server then passes this information to an emotion engine (for example, Microsoft Azure's emotion recognition API) to analyze and recognize the user's emotions, such as excitement or joy. Based on this recognized emotion, the server further adjusts the content and expression of the commentary using a document adjustment method. For example, if the user is excited, it adds an emotional commentary such as, "The whole venue was excited all at once!"
[0839] Emotion recognition data can also be used to display personalized advertisements, for example, advertising sports drinks to excited users, providing a more engaging viewing experience.
[0840] Specific examples:
[0841] During a high school baseball game, a device uses a smartphone camera to film the game, encodes the video in real time using H.264, and sends it to a server. The server analyzes the video using OpenCV to recognize the pitcher's pitching motion. GPT-4 is used to generate a commentary such as "The pitcher threw a fastball. The ball just missed the strike zone." This commentary is then translated into multiple languages using Google Translate. The translated commentary is integrated into the video as subtitles and audio, and is distributed in real time using the HLS protocol.
[0842] When the excited facial expressions of users watching a game are sent to the server via camera and microphone, the emotion engine analyzes the excitement and can add expressions to the commentary such as, "The whole stadium was excited all at once!". In addition, advertisements for sports drinks are displayed to excited users.
[0843] Example prompt sentence:
[0844] "The pitcher threw a fastball. The ball just missed the strike zone."
[0845] "The whole venue was instantly excited."
[0846] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0847] Step 1:
[0848] The device captures game footage using a camera. Specifically, devices such as wide-angle action cameras and 360-degree cameras are used. Real-time game footage is input to the camera. The captured video data is encoded in real time into H.264 format within the device, and the encoded results are output.
[0849] Step 2:
[0850] The terminal transmits the encoded video data to the server. The data transmission means is used to transmit the data via a communication protocol (e.g., HTTP or RTMP). The encoded video data enters the transmission means as input. The transmitted data arrives at the server.
[0851] Step 3:
[0852] The server analyzes the received video data using a data analysis means. Specifically, it uses the OpenCV library to detect the movements of players and the ball in each frame. The video data received as input is sent to the analysis means. As a result of the analysis, positional information and movement information of players and the ball are output.
[0853] Step 4:
[0854] The server uses a generative AI model (e.g., GPT-4) based on the analysis results to automatically generate commentary. The action information from the analysis results is input into the generative AI model. The generative AI model generates commentary in natural language based on the prompt. The output is a specific commentary such as "The pitcher threw a fastball."
[0855] Step 5:
[0856] The server translates the generated commentary using a multilingual translation means. Specifically, the commentary is sent to a translation API (e.g., Google Translate API). The generated commentary is input to the translation means. Processing using the translation API results in multilingual commentary (e.g., English, Spanish, and Chinese) being obtained as output.
[0857] Step 6:
[0858] The server integrates the commentary translated into multiple languages into the video data. Using a data integration means, it overlays the video as subtitles. Subtitle data and video data enter the integration means as input. The output is video data with the commentary embedded. In addition, the commentary is converted into audio using speech synthesis software (e.g., Amazon Polly) and is included as audio.
[0859] Step 7:
[0860] The server distributes the integrated video data and commentary to the user terminal using a real-time distribution method. Specifically, a streaming protocol such as HLS or DASH is used. The integrated video data enters the distribution method as input. The video and commentary distributed in real time reach the user terminal as output.
[0861] Step 8:
[0862] The user uses a camera and microphone on their device to transmit facial expressions and tone of voice to the server. The real-time emotional data captured by the camera and microphone is sent as input to the server. The emotional data is input and received by the server.
[0863] Step 9:
[0864] The server analyzes the user's emotions using an emotion recognition means. Specifically, an emotion recognition API (for example, Microsoft Azure's emotion recognition API) is used. The user's emotion data is input to the recognition means. The output is emotional information such as whether the user is excited or happy.
[0865] Step 10:
[0866] The server uses a document adjustment means based on the emotional information to adjust the content and expression of the commentary. The emotional information is input to the document adjustment means. As an output, if the user is excited, an additional commentary such as "The whole venue was excited all at once!" is generated. Also, personalized advertisements for sports drinks, etc. are displayed based on the emotional information.
[0867] The above processing steps realize high-quality, personalized live coverage in real time.
[0868] (Application example 2)
[0869] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0870] Live commentary of games is a crucial element in modern sports viewing. However, traditional commentary systems rely on human announcers and have limitations in terms of real-time performance, multilingual support, and personalization based on individual user emotions. There is a need to solve these issues and provide a higher-quality, more personalized live commentary experience.
[0871] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes an analysis means for analyzing received video data, a generation means for automatically generating commentary text based on the analysis results, a translation means for translating the generated commentary text into multiple languages, an integration means for integrating the translated commentary text into the video data, a distribution means, an emotion recognition means for recognizing the user's emotions, and a personalization means for personalizing the commentary text based on the emotion recognition results. This enables personalized, high-quality live broadcasts in multiple languages in real time.
[0872] "Camera means" refers to a camera or a photographing device for capturing images of the match.
[0873] "Transmission means" refers to a function or device for transmitting acquired video data to a server.
[0874] "Analysis means" refers to a function or device that analyzes the video data received by the server and extracts necessary information and movements.
[0875] The "generation means" refers to a function or device that automatically generates commentary based on the analysis results obtained by the analysis means.
[0876] "Translation means" refers to a function or device for translating the generated commentary into multiple languages.
[0877] "Integration means" refers to a function or device that integrates translated commentary into video data to create integrated content.
[0878] "Distribution means" refers to a function or device for distributing the integrated video data and commentary to a user terminal in real time.
[0879] "Emotion recognition means" refers to a function or device that analyzes the user's facial expression and tone of voice and recognizes their emotions.
[0880] "Personalization means" refers to a function or device that individually adjusts commentary based on emotional information obtained by the emotion recognition means, thereby providing an experience tailored to the user.
[0881] "Tracking means" refers to a function or device for tracking the movements of athletes and sports equipment based on acquired video data.
[0882] "Speech synthesis means" refers to a function or device for converting the generated commentary into speech and synchronizing it with the video data.
[0883] The present invention is a system that automatically generates live game broadcasts and distributes them in real time, and by combining it with an emotion engine that recognizes the user's emotions, it provides a more personalized live broadcast experience. Specific embodiments for implementing this system are described below.
[0884] 1. Video acquisition and transmission
[0885] The smartphone or camera serves as the terminal to capture the game video, and this video data is sent to the server in real time. Specifically, the video is captured using the OpenCV library and sent to the server using the HTTP protocol. The server receives the video data using FastAPI.
[0886] 2. Receiving and analyzing video
[0887] The server analyzes the received video data, tracking the movements of athletes and sports equipment in the video and utilizing deep learning techniques to classify each scene. For example, it uses object recognition libraries such as OpenCV and YOLO for tracking.
[0888] 3. Commentary Generation
[0889] The server uses the generative AI model GPT-3 to automatically generate commentary based on the results of video analysis. Natural commentary is generated based on the events in the analysis results. For example, for the event "The pitcher threw a fastball," the generated commentary is "The pitcher threw a fastball. The ball just missed the strike zone."
[0890] 4. Multilingual Translation
[0891] The generated commentary is translated into multiple languages using the Google Translate API, allowing translation from Japanese to English, Spanish, Chinese, and more.
[0892] 5. Integrating video and commentary
[0893] The translated commentary is integrated into the video data using the moviepy library to overlay text onto the video, and can also be converted into audio using speech synthesis technology and synchronized with the video.
[0894] 6. Real-time streaming
[0895] The server delivers the integrated video data and commentary to the user device in real time using FFmpeg via a streaming protocol (e.g., HLS, DASH).
[0896] 7. Emotion recognition
[0897] The DeepFace library is used to analyze the user's facial expressions and tone of voice using the camera and microphone on the user's smartphone or PC as the device, and to recognize emotions, allowing the system to understand in real time how the user is feeling about the game.
[0898] 8. Personalized commentary
[0899] The server adjusts the content and expressions of commentary based on the user's emotions recognized by the emotion engine. If the server recognizes that the user is excited, it uses more emotional and exciting expressions. Advertising and promotional content for individual users is also adjusted.
[0900] Specific examples
[0901] For example, in a soccer match, a smartphone camera captures a player's goal and sends it to a server. The server analyzes the video and recognizes the event "A player scores a goal," generating a commentary such as "Great goal! Team A scores the first goal!" This commentary is translated into English, Spanish, and Chinese and integrated into the video. If the user's excitement is recognized, a specific advertisement will be displayed.
[0902] An example prompt is "Event: goal. Commentary: "
[0903] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0904] Step 1:
[0905] The device acquires video of the game. The video is captured using a smartphone or a wide-angle action camera. The input is real-time video data from the camera, and the output is encoded video data to be sent to the server. Specifically, the device captures video using the OpenCV library and sends it to the server using the HTTP protocol.
[0906] Step 2:
[0907] The server receives the transmitted video data. The input is encoded video data from the device, and the output is video data suitable for analysis. Specifically, it receives the video data using FastAPI and converts it into an appropriate format.
[0908] Step 3:
[0909] The server analyzes the received video data. The input is video data converted into an appropriate format, and the output is the analysis results, such as the movements of athletes and sports equipment. Specifically, it uses object recognition libraries such as OpenCV and YOLO to identify important events in the video.
[0910] Step 4:
[0911] The server automatically generates commentary based on the analysis results. The input is the analysis results, and the output is the automatically generated commentary. Specifically, it uses the generative AI model GPT-3 to generate natural commentary based on the prompt text. It uses prompt text such as "Event: The pitcher threw a fastball. Commentary: "
[0912] Step 5:
[0913] The server translates the generated commentary into multiple languages. The input is the automatically generated commentary, and the output is the commentary translated into multiple languages. Specifically, it uses the Google Translate API to translate from Japanese to English, Spanish, Chinese, etc.
[0914] Step 6:
[0915] The server integrates the translated commentary with the video data. The input is the multilingual commentary and video data, and the output is the video data with the integrated commentary. Specifically, it uses the moviepy library to overlay the text onto the video and adds audio commentary if necessary.
[0916] Step 7:
[0917] The server delivers the integrated video data and commentary to the user's device in real time. The input is the video data integrated with commentary, and the output is real-time streaming to the user's device. Specifically, it uses FFmpeg and delivers using a streaming protocol (such as HLS or DASH).
[0918] Step 8:
[0919] The device recognizes the user's emotions. The input is data from the user's camera and microphone, and the output is the user's emotional information. Specifically, it uses the DeepFace library to analyze the user's facial expressions and tone of voice to recognize emotions.
[0920] Step 9:
[0921] The server personalizes the commentary based on the emotion recognition results. The input is the user's emotional information and commentary, and the output is a personalized commentary. Specifically, the server adjusts the expression of the commentary based on the emotion recognition results. For example, if the server recognizes that the user is excited, it adds an emotional expression such as "The whole venue was excited all at once!"
[0922] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0923] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0924] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[0925] [Fourth embodiment]
[0926] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[0927] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[0928] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0929] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[0930] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0931] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0932] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0933] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[0934] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0935] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0936] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0937] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0938] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[0939] The present invention relates to a system for automatically generating live coverage of a game and distributing it in real time. Specific embodiments for implementing this system will be described below.
[0940] Explanation of program processing
[0941] 1. Video acquisition and transmission
[0942] The device uses a camera to capture images of the game. The video data captured by the camera is encoded in real time and sent to a server via a transmission means. For example, a wide-angle action camera or a 360-degree camera can be used to capture images of the game from various angles.
[0943] 2. Receiving and analyzing video
[0944] The server processes the received video data using an analysis means, which tracks the movements of players and the ball in the video and classifies each scene. For example, pitching movements, batting movements, fielding movements, etc. are analyzed.
[0945] 3. Commentary Generation
[0946] The server uses a generation means to automatically generate commentary based on the analysis results. For example, in a pitching scene, the server generates a commentary such as "The pitcher threw a fastball. The ball just missed the strike zone." This allows the progress of the game to be reflected in real time.
[0947] 4. Multilingual Translation
[0948] The generated commentary text is translated into multiple languages using a translation means, for example, from Japanese to English, Spanish, Chinese, etc. This makes it possible to accommodate users from various language areas.
[0949] 5. Integrating video and commentary
[0950] The translated commentary is integrated into the video data using an integration means. The commentary can be overlaid onto the video as subtitles or embedded as audio commentary using a speech synthesis means. For example, the text can be converted into audio and synchronized with the video.
[0951] 6. Real-time streaming
[0952] The server delivers the integrated video data and commentary to the user's device in real time. The delivery method provides the video to the user via a streaming protocol (e.g., HLS, DASH), allowing the user to watch the game live.
[0953] Specific examples
[0954] For example, in a high school baseball game, a smartphone camera captures the game and sends the video to a server. The server analyzes the video and recognizes the pitcher's pitching motion. Based on the recognized motion, a commentary is generated, such as "The pitcher threw a fastball. The ball just missed the strike zone." This commentary is translated from Japanese into English, Spanish, and Chinese and integrated into the video as subtitles. The translated commentary and video are streamed to the user's device in real time. Users can watch the live broadcast on their smartphones or PCs and enjoy the commentary in multiple languages.
[0955] As described above, as a specific form for implementing the present invention, by providing a series of processing flows from acquiring footage of the game to generating, translating, integrating, and distributing commentary, it is possible to realize high-quality live broadcasts in real time.
[0956] The processing flow will be explained below.
[0957] Step 1:
[0958] The device acquires video of the match, captures each scene of the match using a camera, and generates video data.
[0959] Step 2:
[0960] The terminal encodes the acquired video data in real time, and transmits the encoded video data to the server via the transmission means.
[0961] Step 3:
[0962] The server receives the transmitted video data and stores it in data storage.
[0963] Step 4:
[0964] The server analyzes the received video data. Using analytical tools, it tracks the movements of players and the ball in the video and classifies each scene. For example, it recognizes pitching, batting, and fielding movements.
[0965] Step 5:
[0966] The server generates commentary based on the analysis data. Using the generation means, it creates commentary in natural language according to the situation of each scene. For example, it generates a sentence such as, "The pitcher threw a fastball. The ball just missed the strike zone."
[0967] Step 6:
[0968] The server translates the generated commentary into multiple languages, such as Japanese commentary into English, Spanish, Chinese, etc., using a translation means.
[0969] Step 7:
[0970] The server integrates the translated commentary into the video data, and either displays it as a subtitle overlay on the video using an integration means, or converts it into audio using a speech synthesis means and synchronizes it with the video.
[0971] Step 8:
[0972] The server delivers the integrated video data and commentary to the user. Using a delivery method, the data is sent to the user's device in real time via a streaming protocol (e.g., HLS, DASH).
[0973] Step 9:
[0974] Users can receive the distributed video data and watch the match, enjoying real-time video and commentary in multiple languages on their devices.
[0975] This series of steps makes it possible to provide high-quality live coverage in real time.
[0976] Example 1
[0977] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[0978] Conventional live game broadcasting systems have difficulty automatically generating commentary, and supporting multiple languages requires a large number of human resources. Furthermore, integrating and distributing video and commentary in real time requires advanced technology and equipment, which is costly. Furthermore, the lack of functionality to track the movements of players and the ball reduces the accuracy of video analysis, making it difficult to generate accurate commentary.
[0979] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0980] In this invention, the server includes a data analysis means, a text generation means, a language translation means, a data integration means, and a data distribution means. This makes it possible to acquire and analyze game footage, automatically generate commentary, translate the commentary into multiple languages, and distribute it in real time by integrating it with the video. Furthermore, by adding a motion tracking means, it is possible to accurately track the movements of players and the ball and generate commentary with high accuracy. This allows for low-cost, high-quality real-time live broadcasting.
[0981] "Video capture means" refers to cameras or other imaging devices used to capture video of the match.
[0982] "Data transmission means" refers to a device or software for encoding the acquired video data and transmitting it to a server via a network.
[0983] "Data Analysis Means" refers to software and algorithms used to analyze received video data and recognize and classify player and ball movements.
[0984] "Text generation means" refers to AI models or text generation software that automatically generate commentary based on the analysis results.
[0985] "Language translation means" refers to translation software or a translation service for translating the generated commentary into multiple languages.
[0986] "Data integration means" refers to software or platforms that integrate translated commentary into video data and embed it as subtitles or audio.
[0987] "Data distribution means" refers to a streaming server or distribution protocol for distributing the integrated video data and commentary to user terminals in real time.
[0988] "Motion tracking means" refers to software or hardware for tracking the movements of players and the ball based on captured video data.
[0989] "Speech synthesis means" refers to software or speech synthesis technology for converting the generated commentary into speech and synchronizing it with the video data.
[0990] The system of the present invention shows how to combine various means for automatically generating and distributing live game coverage in real time. An embodiment of this system is described in detail below.
[0991] Video acquisition and transmission
[0992] The device uses a camera (e.g., an action camera or smartphone camera) to capture video of the game. For example, by using a wide-angle action camera or a 360-degree camera, it is possible to capture video from various angles of the game. The video data captured by the camera is encoded in real time and sent to a server using RTMP (Real-Time Messaging Protocol). The devices and applications used for transmission include, for example, encoding devices and smartphone apps.
[0993] Video reception and analysis
[0994] The server receives the transmitted video data via an RTMP server (e.g., Nginx RTMP Module). The received video data is sent frame by frame to an analysis engine (e.g., OpenCV, TensorFlow), which tracks the movements of players and the ball and classifies each scene in the video. Based on the results of this analysis, actions such as pitching, batting, and fielding during the game are identified.
[0995] Commentary generation
[0996] The server automatically generates commentary using a generative AI model (e.g., GPT-4) based on the analysis results. An example of a prompt is, "Pitching scene: The pitcher threw a fastball. The ball just missed the strike zone." This process generates commentary that reflects the progress of the game in real time.
[0997] Multilingual Translation
[0998] The generated commentary is translated into multiple languages on the server using a translation engine (e.g., Google Translate API, Microsoft Azure Translator). For example, it is possible to translate Japanese into English, Spanish, Chinese, etc. This makes it possible to accommodate users from various language regions.
[0999] Integrating video and commentary
[1000] The translated commentary is integrated into the video data on the server using an integration method (e.g., FFmpeg, GStreamer). The commentary can be overlaid on the video as subtitles, or embedded as audio commentary using a speech synthesis engine (e.g., Amazon Polly, Google Text-to-Speech). This ensures that the video, subtitles, and audio are synchronized when the user watches.
[1001] Real-time streaming
[1002] Finally, the server delivers the integrated video data and commentary to the user's device in real time. This is done using a streaming server (e.g., Wowza, Akamai) and is provided to the user via a distribution protocol (e.g., HLS, DASH). Users can then watch the live broadcast on their smartphones or PCs and enjoy the game in real time.
[1003] Specific examples
[1004] For example, in a high school baseball game, a device captures the game with a smartphone camera and sends the video to a server. The server receives the video using the Nginx RTMP module and uses an analysis engine (OpenCV, TensorFlow) to recognize the pitcher's pitching motion. Based on the recognized motion, a commentary is generated, such as "The pitcher threw a fastball. The ball just missed the strike zone." This commentary is then translated from Japanese to English, Spanish, and Chinese and integrated into the video as subtitles using FFmpeg. An audio commentary is also generated using Amazon Polly and synchronized with the video. Finally, the integrated video data and commentary are distributed to user devices via the HLS protocol using a Wowza streaming server, allowing users to watch the live broadcast in real time on their smartphones or PCs.
[1005] A system configured in this way makes it possible to provide high-quality, real-time live broadcasts at low cost.
[1006] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1007] Step 1:
[1008] The terminal acquires the video of the game.
[1009] Specifically, it uses cameras (e.g., wide-angle action cameras or 360-degree cameras) and encodes the video data captured by each camera in real time. The input is the captured raw video data, and the output is the encoded video data. The encoding uses the H.264 or H.265 codec.
[1010] Step 2:
[1011] The terminal transmits the encoded video data to the server.
[1012] Specifically, it uses RTMP (Real-Time Messaging Protocol) to transmit video data over a network. The transmitting devices and applications used include encoding devices and smartphone apps. The input is the encoded video data, and the output is the transmitted video data received by the server.
[1013] Step 3:
[1014] The server receives the transmitted video data.
[1015] Specifically, data is received using an RTMP server (e.g., Nginx RTMP Module). The input is the transmitted video data, and the output is the received data stored on the RTMP server.
[1016] Step 4:
[1017] The server analyzes the received video data.
[1018] Specifically, an analysis engine (e.g., OpenCV, TensorFlow) is used to track the movements of players and the ball for each frame of video data and classify each scene. For example, pitching actions, batting actions, fielding actions, etc. are automatically classified. The input is the received video data, and the output is the analysis results (e.g., the positions of players and the ball, and the type of action).
[1019] Step 5:
[1020] The server generates commentary based on the analysis results.
[1021] Specifically, a generative AI model (e.g., GPT-4) is used to generate commentary by inputting a prompt such as "Pitching scene: The pitcher threw a fastball. The ball just missed the strike zone." The input is the analysis result, and the output is the generated commentary.
[1022] Step 6:
[1023] The server translates the generated commentary.
[1024] Specifically, it uses a translation engine (e.g., Google Translate API, Microsoft Azure Translator) to translate into multiple languages (e.g., English, Spanish, Chinese). The input is the generated commentary, and the output is the translated commentary.
[1025] Step 7:
[1026] The server integrates the translated commentary into the video data.
[1027] Specifically, the commentary is overlaid onto the video as subtitles using an integration method (e.g., FFmpeg, GStreamer), and audio commentary is embedded using a speech synthesis engine (e.g., Amazon Polly, Google Text-to-Speech).The input is the translated commentary and video data, and the output is the integrated video data.
[1028] Step 8:
[1029] The server delivers the integrated video data and commentary to the user's terminal.
[1030] Specifically, data is distributed using a streaming server (e.g., Wowza, Akamai) via a distribution protocol (e.g., HLS, DASH). The input is integrated video data, and the output is real-time streaming video that can be viewed on user devices.
[1031] This allows users to watch high-quality real-time live broadcasts on their smartphones or PCs.
[1032] (Application example 1)
[1033] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1034] Traditionally, live game coverage has been provided directly by commentators, which requires the presence of highly skilled commentators. Furthermore, providing game content in multiple languages in real time is extremely difficult, and current methods have not been able to adequately meet the need to provide information quickly and in multiple languages to an international audience. Furthermore, the technical complexity of synchronizing commentary and video and delivering it in real time makes it difficult to easily provide high-quality live coverage.
[1035] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1036] In this invention, the server includes a photographing means for capturing images of the match, a communication means for transmitting the captured image data to an information processing device, and an analysis means for analyzing the received image data in the information processing device. This makes it possible to analyze the situation of the match in real time, automatically generate commentary based on the results, translate and integrate the results into multiple languages, and distribute the commentary to each user terminal in real time.
[1037] "Capturing means for capturing game footage" refers to a camera or other image capturing device that captures video data of a dynamic event such as a sports game in real time.
[1038] The "communication means for transmitting the acquired image data to the information processing device" is a communication module or protocol for transmitting the image data from the image capturing means to the information processing device such as a server in real time.
[1039] "Analysis means for analyzing received video data in an information processing device" refers to software or hardware that enables an information processing device, such as a server, to analyze received video data and recognize and classify the movements of athletes and objects.
[1040] "Means for automatically generating commentary based on the analysis results" refers to an algorithm or system that uses natural language processing technology to automatically generate commentary and commentary for a match based on the results of video data analysis.
[1041] A "translation means for translating the generated commentary into multiple languages" is a software component that has the function of translating the generated commentary into multiple languages in real time using an AI model or translation engine.
[1042] The "integration means for integrating translated commentary into video data" is a module for acquiring commentary translated into multiple languages and overlaying it as text or embedding audio into the video data.
[1043] "A means for delivering integrated video data and explanatory text to a viewing terminal in real time" refers to streaming technology or protocols for delivering video data and its integrated explanatory text to a user terminal in real time via a network such as the Internet.
[1044] A "tracking means for tracking the movements of players and objects" is a system that uses video analysis technology to track the movements of players and objects such as the ball during a match in real time and acquires that movement as data.
[1045] "A speech synthesis means for converting explanatory text into speech and synchronizing it with video data" refers to speech synthesis technology or a system for converting automatically generated explanatory text into speech and playing it in synchronization with the video.
[1046] A specific embodiment for carrying out the present invention will be described.
[1047] The server includes a camera for capturing images of the match, a communication device for transmitting the captured image data to the information processing device, and an analysis device for analyzing the image data received by the information processing device. The camera is a smartphone camera or a high-resolution camera, and the communication device uses Wi-Fi or a mobile network.
[1048] The analysis method involves analyzing video data in real time to recognize the movements of players, the ball, etc. Specifically, image analysis libraries such as TensorFlow and OpenCV are used to track players and the ball.
[1049] The generation means uses natural language processing technology to automatically generate appropriate commentary based on the analysis results. For example, a generative AI model using deep learning is used to generate a commentary such as "The player took a shot." To support multiple languages, the generated commentary is translated into multiple languages using a translation means such as the Google Translate API.
[1050] The integration method involves integrating the translated commentary into the video data. Specifically, the commentary is added to the video as a text overlay, or audio commentary is generated using speech synthesis technology and synchronized with the video. For speech synthesis, synthesis engines such as IBM Watson and Amazon Polly are used.
[1051] The delivery method will deliver the integrated video data and explanatory text to viewing devices in real time, using HTTP Live Streaming (HLS) or DASH (Dynamic Adaptive Streaming HTTP) protocols, allowing users to view the content on their smartphones or computers.
[1052] This system makes it possible to provide real-time commentary on the situation in multiple languages during a game. For example, it can recognize the moment a player shoots during a basketball game and provide viewers with commentary such as "The player has shot the ball. It hit the basket." translated into English, Spanish, and Chinese.
[1053] Example prompt sentence:
[1054] Please generate a commentary such as "During a basketball game, a player takes a shot and hits the basket." Based on the results of video analysis, the appropriate commentary will be translated into multiple languages and distributed in real time. The generated commentary will need to be translated into Japanese, English, Spanish, and Chinese.
[1055] In this manner, in the embodiment of the present invention, by effectively combining the analysis means, generation means, translation means, integration means, and distribution means, it is possible to provide high-quality automatic live broadcasting.
[1056] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1057] Step 1:
[1058] The terminal acquires video of the game using a photographing means (camera). The video data captured by the camera is encoded in real time and sent to an information processing device (server) via a communication means. The input is the video data captured in real time, and the output is the encoded video data.
[1059] Step 2:
[1060] The server passes the received video data to an analysis means for processing. This analysis means tracks the movements of objects in the video, such as players and the ball. The input is encoded video data, and the output is analytical data on the movements of players and objects. Specifically, image analysis algorithms using TensorFlow and OpenCV are executed.
[1061] Step 3:
[1062] The server automatically generates commentary using a generation means based on the analysis data. The input is the analysis data, and the output is the generated commentary. This includes using a generative AI model to generate commentary such as "The player took a shot."
[1063] Step 4:
[1064] The server translates the generated commentary into multiple languages using a translation tool. The input is the commentary in Japanese, and the output is the commentary translated into multiple languages (English, Spanish, Chinese, etc.). Specifically, the translation is performed in real time using the Google Translate API.
[1065] Step 5:
[1066] The server integrates the translated commentary into the video data using an integration means. The input is the translated commentary and the original video data, and the output is the video data with the commentary integrated. Specifically, the server overlays the text or synthesizes speech using IBM Watson or Amazon Polly, and synchronizes it with the video as audio commentary.
[1067] Step 6:
[1068] The server distributes the integrated video data and explanatory text to the viewing terminal in real time via a distribution method. The input is the integrated video data, and the output is a video stream that can be viewed in real time on the user terminal. Specifically, distribution is performed using HTTP Live Streaming (HLS) or the DASH protocol.
[1069] This series of processes allows users to enjoy high-quality automatic live broadcasts in real time and in multiple languages.
[1070] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1071] The present invention relates to a system for automatically generating and distributing live game broadcasts in real time. Furthermore, the present invention is directed to a system that provides a more personalized live broadcast experience by combining an emotion engine that recognizes the user's emotions. Specific embodiments for implementing this system are described below.
[1072] Explanation of program processing
[1073] 1. Video acquisition and transmission
[1074] The device uses a camera to capture images of the game. The video data captured by the camera is encoded in real time and sent to a server via a transmission means. For example, a wide-angle action camera or a 360-degree camera can be used to capture images of the game from various angles.
[1075] 2. Receiving and analyzing video
[1076] The server processes the received video data using an analysis means, which tracks the movements of players and the ball in the video and classifies each scene. For example, pitching movements, batting movements, fielding movements, etc. are analyzed.
[1077] 3. Commentary Generation
[1078] The server uses a generation means to automatically generate commentary based on the analysis results. For example, in a pitching scene, the server generates a commentary such as "The pitcher threw a fastball. The ball just missed the strike zone." This allows the progress of the game to be reflected in real time.
[1079] 4. Multilingual Translation
[1080] The generated commentary text is translated into multiple languages using a translation means, for example, from Japanese to English, Spanish, Chinese, etc. This makes it possible to accommodate users from various language areas.
[1081] 5. Integrating video and commentary
[1082] The translated commentary is integrated into the video data using an integration means. The commentary can be overlaid onto the video as subtitles or embedded as audio commentary using a speech synthesis means. For example, the text can be converted into audio and synchronized with the video.
[1083] 6. Real-time streaming
[1084] The server delivers the integrated video data and commentary to the user's device in real time. The delivery method provides the video to the user via a streaming protocol (e.g., HLS, DASH), allowing the user to watch the game live.
[1085] 7. Emotion recognition
[1086] The server uses an emotion engine to analyze the user's facial expressions and tone of voice through the user's camera and microphone, and recognizes their emotions, thereby understanding how the user feels about the game.
[1087] 8. Personalized commentary
[1088] The server adjusts the content and expressions of the commentary based on the user's emotions recognized by the emotion engine. For example, if it recognizes that the user is excited, it will use more emotional and exciting expressions. It is also possible to automatically select and deliver advertisements and promotional content based on emotions.
[1089] Specific examples
[1090] For example, in a high school baseball game, a smartphone camera captures the game and sends the video to a server. The server analyzes the video and recognizes the pitcher's pitching motion. Based on the recognized motion, a commentary is generated, such as "The pitcher threw a fastball. The ball just missed the strike zone." This commentary is translated from Japanese into English, Spanish, and Chinese and integrated into the video as subtitles. The translated commentary and video are streamed to the user's device in real time. Users can watch the live broadcast on their smartphones or PCs and enjoy the commentary in multiple languages.
[1091] Furthermore, if the emotion engine recognizes the user's emotions through the user's camera or microphone, and detects that the user is excited, it can add emotional expressions to the commentary, such as "The whole venue was excited all at once!" It can also automatically display advertisements for sports drinks to excited users.
[1092] As described above, as a specific form for implementing the present invention, by providing a series of processing flows from capturing game footage to generating commentary, translating, integrating, and distributing it, and then personalizing it based on emotion recognition, it is possible to realize high-quality, personalized live broadcasts in real time.
[1093] The processing flow will be explained below.
[1094] Step 1:
[1095] The device captures the game footage. It uses cameras to capture each scene of the game in real time. For example, it uses wide-angle lenses or 360-degree cameras to cover almost the entire game.
[1096] Step 2:
[1097] The video data acquired by the device is encoded in real time. The encoded video is sent to the server using a streaming protocol (e.g., RTMP). For example, the video frame rate and resolution are optimized to reduce network load.
[1098] Step 3:
[1099] The server receives the transmitted video data, which is then stored in data storage and used for subsequent processing.
[1100] Step 4:
[1101] The server analyzes the received video data. Using analytical methods, it tracks the movements of players and the ball in the video and detects specific events, such as pitching, batting, and fielding movements, by scene.
[1102] Step 5:
[1103] The server generates commentary based on the analysis results. A generation means is used to create natural language sentences from detailed information about each scene. For example, for a pitching scene, the server generates a commentary such as, "The pitcher threw a fastball. The ball just missed the right edge of the strike zone."
[1104] Step 6:
[1105] The server translates the generated commentary into multiple languages. Using a translation tool, Japanese commentary is automatically translated into English, Spanish, Chinese, etc. For example, it might be translated as, "The pitcher threw a fastball. The ball skimmed the right edge of the strike zone."
[1106] Step 7:
[1107] The server integrates the translated commentary into the video data. Using an integration means, the commentary is overlaid on the video in the form of subtitles, or converted into audio using a speech synthesis means and synchronized with the video. For example, the text is played as audio, providing the viewer with an audio commentary.
[1108] Step 8:
[1109] The server delivers the integrated video data and commentary to the user's device in real time. The delivery method sends the data to the user's device via a streaming protocol (e.g., HLS, DASH). Users can then watch the live game broadcast on their smartphones or PCs.
[1110] Step 9:
[1111] Users can watch the match on their devices and enjoy live video and commentary in multiple languages in real time, either in subtitles or audio format.
[1112] Step 10:
[1113] The server uses the user's camera and microphone to recognize the user's emotions through an emotion engine, for example, using facial expression recognition technology and voice tone analysis to determine whether the user is excited or relaxed.
[1114] Step 11:
[1115] The server adjusts the content and expressions of the commentary based on the user's emotions recognized by the emotion engine. For example, if the user is excited, it uses an emphatic expression such as "That was an amazing play! The whole venue was excited!"
[1116] Step 12:
[1117] The server uses an emotion engine to automatically select and deliver advertisements and promotional content according to the user's emotions. For example, an energy drink advertisement is displayed to an excited user.
[1118] In this way, a system that combines an emotion engine can provide users with a more personalized live commentary experience, enhancing the sense of realism of the game.
[1119] Example 2
[1120] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1121] Conventional live game commentary systems require commentary to be created manually, which limits their real-time capabilities and multilingual support. Furthermore, they are unable to provide a personalized commentary experience based on user emotions, making it difficult to improve user satisfaction. To solve this problem, there is a need to develop an automated, real-time, multilingual live commentary system.
[1122] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a data analysis means for analyzing received video data, a document generation means for automatically generating commentary text based on the analysis result, and a multilingual translation means for translating the generated commentary text into multiple languages. This makes it possible to automatically generate commentary text in multiple languages in real time and provide a personalized experience that takes into account the user's emotions.
[1123] "Video acquisition means" refers to the devices and functions for capturing video of the match and acquiring it as digital data.
[1124] "Data transmission means" refers to a device or protocol that transmits acquired video data to a server.
[1125] "Data analysis means" refers to the functions and software that analyze received video data and detect and classify the movements of players and the ball.
[1126] "Document generation means" refers to an algorithm or model for automatically generating commentary based on the analysis results.
[1127] "Multilingual translation means" refers to a device or software for translating the generated commentary into multiple languages.
[1128] "Data integration means" refers to a function or device for integrating translated commentary into video data and expressing it as subtitles or audio.
[1129] "Real-time distribution means" refers to a protocol or device for distributing integrated video data and commentary to a user terminal in real time.
[1130] "Emotion recognition means" refers to functions or software that analyze the user's facial expressions and voice and recognize their emotional state.
[1131] "Text adjustment means" refers to algorithms or functions for adjusting the content or expression of commentary based on recognized emotions.
[1132] "Motion tracking means" refers to technology or equipment for tracking the movements of players, the ball, etc. in real time.
[1133] "Audio conversion means" refers to software or a device for converting the generated commentary into audio and synchronizing it with the video data.
[1134] The present invention relates to a system for automatically generating and distributing live game broadcasts in real time. Furthermore, the present invention is directed to a system that provides a more personalized live broadcast experience by combining an emotion engine that recognizes the user's emotions. Specific embodiments for implementing this system are described below.
[1135] The device uses a camera to capture game footage. For example, it uses hardware such as a wide-angle action camera or a 360-degree camera to capture footage from various angles of the game. The footage captured by this camera is encoded in real time within the device into H.264 format and then sent to the server.
[1136] The server has a data analysis tool for processing the received video data. Specific software includes the OpenCV library, which is used to detect players and the ball in each frame and track their movements in real time. For example, it detects the player's movements as he steps into the batter's box and the pitcher's throwing motion, and classifies the scene. Based on the analysis results, the server uses a generative AI model (e.g., GPT-4) to generate a commentary.
[1137] The generated commentary is sent to a translation API (e.g., Google Translate API). Using the API, the Japanese commentary is translated into multiple languages, including English, Spanish, and Chinese. The translation results are sent back to the server and then integrated into the video data by a data integration means. Here, they are overlaid on the bottom of the video as subtitles, and audio commentary is also added using speech synthesis software (e.g., Amazon Polly).
[1138] The integrated video and commentary are delivered to users' devices using real-time streaming methods, such as HLS and DASH, allowing users to enjoy uninterrupted live broadcasts. The server monitors the stability of the stream and takes measures to minimize delays and buffering.
[1139] The user's device is equipped with a camera and microphone, which are used to transmit the user's facial expressions and tone of voice to the server. The server then passes this information to an emotion engine (for example, Microsoft Azure's emotion recognition API) to analyze and recognize the user's emotions, such as excitement or joy. Based on this recognized emotion, the server further adjusts the content and expression of the commentary using a document adjustment method. For example, if the user is excited, it adds an emotional commentary such as, "The whole venue was excited all at once!"
[1140] Emotion recognition data can also be used to display personalized advertisements, for example, advertising sports drinks to excited users, providing a more engaging viewing experience.
[1141] Specific examples:
[1142] During a high school baseball game, a device uses a smartphone camera to film the game, encodes the video in real time using H.264, and sends it to a server. The server analyzes the video using OpenCV to recognize the pitcher's pitching motion. GPT-4 is used to generate a commentary such as "The pitcher threw a fastball. The ball just missed the strike zone." This commentary is then translated into multiple languages using Google Translate. The translated commentary is integrated into the video as subtitles and audio, and is distributed in real time using the HLS protocol.
[1143] When the excited facial expressions of users watching a game are sent to the server via camera and microphone, the emotion engine analyzes the excitement and can add expressions to the commentary such as, "The whole stadium was excited all at once!". In addition, advertisements for sports drinks are displayed to excited users.
[1144] Example prompt sentence:
[1145] "The pitcher threw a fastball. The ball just missed the strike zone."
[1146] "The whole venue was instantly excited."
[1147] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1148] Step 1:
[1149] The device captures game footage using a camera. Specifically, devices such as wide-angle action cameras and 360-degree cameras are used. Real-time game footage is input to the camera. The captured video data is encoded in real time into H.264 format within the device, and the encoded results are output.
[1150] Step 2:
[1151] The terminal transmits the encoded video data to the server. The data transmission means is used to transmit the data via a communication protocol (e.g., HTTP or RTMP). The encoded video data enters the transmission means as input. The transmitted data arrives at the server.
[1152] Step 3:
[1153] The server analyzes the received video data using a data analysis means. Specifically, it uses the OpenCV library to detect the movements of players and the ball in each frame. The video data received as input is sent to the analysis means. As a result of the analysis, positional information and movement information of players and the ball are output.
[1154] Step 4:
[1155] The server uses a generative AI model (e.g., GPT-4) based on the analysis results to automatically generate commentary. The action information from the analysis results is input into the generative AI model. The generative AI model generates commentary in natural language based on the prompt. The output is a specific commentary such as "The pitcher threw a fastball."
[1156] Step 5:
[1157] The server translates the generated commentary using a multilingual translation means. Specifically, the commentary is sent to a translation API (e.g., Google Translate API). The generated commentary is input to the translation means. Processing using the translation API results in multilingual commentary (e.g., English, Spanish, and Chinese) being obtained as output.
[1158] Step 6:
[1159] The server integrates the commentary translated into multiple languages into the video data. Using a data integration means, it overlays the video as subtitles. Subtitle data and video data enter the integration means as input. The output is video data with the commentary embedded. In addition, the commentary is converted into audio using speech synthesis software (e.g., Amazon Polly) and is included as audio.
[1160] Step 7:
[1161] The server distributes the integrated video data and commentary to the user terminal using a real-time distribution method. Specifically, a streaming protocol such as HLS or DASH is used. The integrated video data enters the distribution method as input. The video and commentary distributed in real time reach the user terminal as output.
[1162] Step 8:
[1163] The user uses a camera and microphone on their device to transmit facial expressions and tone of voice to the server. The real-time emotional data captured by the camera and microphone is sent as input to the server. The emotional data is input and received by the server.
[1164] Step 9:
[1165] The server analyzes the user's emotions using an emotion recognition means. Specifically, an emotion recognition API (for example, Microsoft Azure's emotion recognition API) is used. The user's emotion data is input to the recognition means. The output is emotional information such as whether the user is excited or happy.
[1166] Step 10:
[1167] The server uses a document adjustment means based on the emotional information to adjust the content and expression of the commentary. The emotional information is input to the document adjustment means. As an output, if the user is excited, an additional commentary such as "The whole venue was excited all at once!" is generated. Also, personalized advertisements for sports drinks, etc. are displayed based on the emotional information.
[1168] The above processing steps realize high-quality, personalized live coverage in real time.
[1169] (Application example 2)
[1170] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1171] Live commentary of games is a crucial element in modern sports viewing. However, traditional commentary systems rely on human announcers and have limitations in terms of real-time performance, multilingual support, and personalization based on individual user emotions. There is a need to solve these issues and provide a higher-quality, more personalized live commentary experience.
[1172] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes an analysis means for analyzing received video data, a generation means for automatically generating commentary text based on the analysis results, a translation means for translating the generated commentary text into multiple languages, an integration means for integrating the translated commentary text into the video data, a distribution means, an emotion recognition means for recognizing the user's emotions, and a personalization means for personalizing the commentary text based on the emotion recognition results. This enables personalized, high-quality live broadcasts in multiple languages in real time.
[1173] "Camera means" refers to a camera or a photographing device for capturing images of the match.
[1174] "Transmission means" refers to a function or device for transmitting acquired video data to a server.
[1175] "Analysis means" refers to a function or device that analyzes the video data received by the server and extracts necessary information and movements.
[1176] The "generation means" refers to a function or device that automatically generates commentary based on the analysis results obtained by the analysis means.
[1177] "Translation means" refers to a function or device for translating the generated commentary into multiple languages.
[1178] "Integration means" refers to a function or device that integrates translated commentary into video data to create integrated content.
[1179] "Distribution means" refers to a function or device for distributing the integrated video data and commentary to a user terminal in real time.
[1180] "Emotion recognition means" refers to a function or device that analyzes the user's facial expression and tone of voice and recognizes their emotions.
[1181] "Personalization means" refers to a function or device that individually adjusts commentary based on emotional information obtained by the emotion recognition means, thereby providing an experience tailored to the user.
[1182] "Tracking means" refers to a function or device for tracking the movements of athletes and sports equipment based on acquired video data.
[1183] "Speech synthesis means" refers to a function or device for converting the generated commentary into speech and synchronizing it with the video data.
[1184] The present invention is a system that automatically generates live game broadcasts and distributes them in real time, and by combining it with an emotion engine that recognizes the user's emotions, it provides a more personalized live broadcast experience. Specific embodiments for implementing this system are described below.
[1185] 1. Video acquisition and transmission
[1186] The smartphone or camera serves as the terminal to capture the game video, and this video data is sent to the server in real time. Specifically, the video is captured using the OpenCV library and sent to the server using the HTTP protocol. The server receives the video data using FastAPI.
[1187] 2. Receiving and analyzing video
[1188] The server analyzes the received video data, tracking the movements of athletes and sports equipment in the video and utilizing deep learning techniques to classify each scene. For example, it uses object recognition libraries such as OpenCV and YOLO for tracking.
[1189] 3. Commentary Generation
[1190] The server uses the generative AI model GPT-3 to automatically generate commentary based on the results of video analysis. Natural commentary is generated based on the events in the analysis results. For example, for the event "The pitcher threw a fastball," the generated commentary is "The pitcher threw a fastball. The ball just missed the strike zone."
[1191] 4. Multilingual Translation
[1192] The generated commentary is translated into multiple languages using the Google Translate API, allowing translation from Japanese to English, Spanish, Chinese, and more.
[1193] 5. Integrating video and commentary
[1194] The translated commentary is integrated into the video data using the moviepy library to overlay text onto the video, and can also be converted into audio using speech synthesis technology and synchronized with the video.
[1195] 6. Real-time streaming
[1196] The server delivers the integrated video data and commentary to the user device in real time using FFmpeg via a streaming protocol (e.g., HLS, DASH).
[1197] 7. Emotion recognition
[1198] The DeepFace library is used to analyze the user's facial expressions and tone of voice using the camera and microphone on the user's smartphone or PC as the device, and to recognize emotions, allowing the system to understand in real time how the user is feeling about the game.
[1199] 8. Personalized commentary
[1200] The server adjusts the content and expressions of commentary based on the user's emotions recognized by the emotion engine. If the server recognizes that the user is excited, it uses more emotional and exciting expressions. Advertising and promotional content for individual users is also adjusted.
[1201] Specific examples
[1202] For example, in a soccer match, a smartphone camera captures a player's goal and sends it to a server. The server analyzes the video and recognizes the event "A player scores a goal," generating a commentary such as "Great goal! Team A scores the first goal!" This commentary is translated into English, Spanish, and Chinese and integrated into the video. If the user's excitement is recognized, a specific advertisement will be displayed.
[1203] An example prompt is "Event: goal. Commentary: "
[1204] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1205] Step 1:
[1206] The device acquires video of the game. The video is captured using a smartphone or a wide-angle action camera. The input is real-time video data from the camera, and the output is encoded video data to be sent to the server. Specifically, the device captures video using the OpenCV library and sends it to the server using the HTTP protocol.
[1207] Step 2:
[1208] The server receives the transmitted video data. The input is encoded video data from the device, and the output is video data suitable for analysis. Specifically, it receives the video data using FastAPI and converts it into an appropriate format.
[1209] Step 3:
[1210] The server analyzes the received video data. The input is video data converted into an appropriate format, and the output is the analysis results, such as the movements of athletes and sports equipment. Specifically, it uses object recognition libraries such as OpenCV and YOLO to identify important events in the video.
[1211] Step 4:
[1212] The server automatically generates commentary based on the analysis results. The input is the analysis results, and the output is the automatically generated commentary. Specifically, it uses the generative AI model GPT-3 to generate natural commentary based on the prompt text. It uses prompt text such as "Event: The pitcher threw a fastball. Commentary: "
[1213] Step 5:
[1214] The server translates the generated commentary into multiple languages. The input is the automatically generated commentary, and the output is the commentary translated into multiple languages. Specifically, it uses the Google Translate API to translate from Japanese to English, Spanish, Chinese, etc.
[1215] Step 6:
[1216] The server integrates the translated commentary with the video data. The input is the multilingual commentary and video data, and the output is the video data with the integrated commentary. Specifically, it uses the moviepy library to overlay the text onto the video and adds audio commentary if necessary.
[1217] Step 7:
[1218] The server delivers the integrated video data and commentary to the user's device in real time. The input is the video data integrated with commentary, and the output is real-time streaming to the user's device. Specifically, it uses FFmpeg and delivers using a streaming protocol (such as HLS or DASH).
[1219] Step 8:
[1220] The device recognizes the user's emotions. The input is data from the user's camera and microphone, and the output is the user's emotional information. Specifically, it uses the DeepFace library to analyze the user's facial expressions and tone of voice to recognize emotions.
[1221] Step 9:
[1222] The server personalizes the commentary based on the emotion recognition results. The input is the user's emotional information and commentary, and the output is a personalized commentary. Specifically, the server adjusts the expression of the commentary based on the emotion recognition results. For example, if the server recognizes that the user is excited, it adds an emotional expression such as "The whole venue was excited all at once!"
[1223] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1224] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1225] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1226] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1227] FIG. 9 illustrates an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and behaviors arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1228] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1229] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1230] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1231] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1232] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1233] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1234] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1235] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1236] 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.
[1237] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1238] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1239] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1240] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1241] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1242] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1243] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1244] The following is further disclosed regarding the above embodiment.
[1245] (Claim 1)
[1246] camera means for capturing images of the match;
[1247] a transmitting means for transmitting the acquired video data to a server;
[1248] an analysis means in the server for analyzing the received video data;
[1249] A generating means for automatically generating commentary sentences based on the analysis results;
[1250] a translation means for translating the generated commentary into multiple languages;
[1251] an integration means for integrating the translated commentary into the video data;
[1252] a distribution means for distributing the integrated video data and commentary to a user terminal in real time;
[1253] A system including:
[1254] (Claim 2)
[1255] 10. The system according to claim 1, further comprising a tracking means for tracking the movement of a player and a ball based on the acquired video data.
[1256] (Claim 3)
[1257] 2. The system according to claim 1, further comprising a voice synthesis means for converting the commentary into voice and synchronizing the voice with the video data.
[1258] "Example 1"
[1259] (Claim 1)
[1260] a video acquisition means for acquiring video of a match;
[1261] a data transmission means for transmitting the acquired video data to a server;
[1262] a data analysis means in the server for analyzing the received video data;
[1263] a sentence generation means for automatically generating a commentary sentence based on the analysis result;
[1264] a language translation means for translating the generated commentary into multiple languages;
[1265] a data integration means for integrating the translated commentary into the video data;
[1266] a data distribution means for distributing the integrated video data and commentary to a user terminal in real time;
[1267] A system including:
[1268] (Claim 2)
[1269] 10. The system of claim 1, further comprising a motion tracking means for tracking the movements of players and the ball based on the acquired video data.
[1270] (Claim 3)
[1271] 2. The system according to claim 1, further comprising a voice synthesis means for converting the commentary into voice and synchronizing the voice with the video data.
[1272] "Application Example 1"
[1273] (Claim 1)
[1274] A means for capturing images of the match;
[1275] a communication means for transmitting the acquired video data to an information processing device;
[1276] an analysis means for analyzing received video data in the information processing device;
[1277] a generating means for automatically generating an explanatory text based on the analysis result;
[1278] a translation means for translating the generated commentary into multiple languages;
[1279] an integration means for integrating the translated commentary into the video data;
[1280] a distribution means for distributing the integrated video data and explanatory text to a viewing terminal in real time;
[1281] A system including:
[1282] (Claim 2)
[1283] 10. The system of claim 1, further comprising a tracking means for tracking the movement of an athlete or object based on the acquired video data.
[1284] (Claim 3)
[1285] 2. The system according to claim 1, further comprising a voice synthesis means for converting the commentary into voice and synchronizing the voice with the video data.
[1286] "Example 2: Combining Emotion Engines"
[1287] (Claim 1)
[1288] a video acquisition means for acquiring video of a match;
[1289] a data transmission means for transmitting the acquired video data to a server;
[1290] a data analysis means in the server for analyzing the received video data;
[1291] a document generation means for automatically generating commentary based on the analysis results;
[1292] a multilingual translation means for translating the generated commentary into multiple languages;
[1293] a data integration means for integrating the translated commentary into the video data;
[1294] a real-time distribution means for distributing the integrated video data and commentary to a user terminal in real time;
[1295] emotion recognition means for recognizing an emotion of a user;
[1296] a document adjustment means for adjusting the content and expression of the commentary text based on the recognized emotion;
[1297] A system including:
[1298] (Claim 2)
[1299] 10. The system of claim 1, further comprising a motion tracking means for tracking the movements of players and the ball based on the acquired video data.
[1300] (Claim 3)
[1301] 2. The system according to claim 1, further comprising an audio conversion means for converting the commentary into audio and synchronizing it with the video data.
[1302] "Application example 2 when combining emotion engines"
[1303] (Claim 1)
[1304] camera means for capturing images of the match;
[1305] a transmitting means for transmitting the acquired video data to a server;
[1306] an analysis means in the server for analyzing the received video data;
[1307] A generating means for automatically generating commentary sentences based on the analysis results;
[1308] a translation means for translating the generated commentary into multiple languages;
[1309] an integration means for integrating the translated commentary into the video data;
[1310] a distribution means for distributing the integrated video data and commentary to a user terminal in real time;
[1311] emotion recognition means for recognizing an emotion of a user;
[1312] a personalization means for personalizing the commentary based on the emotion recognition result;
[1313] A system including:
[1314] (Claim 2)
[1315] 10. The system of claim 1, further comprising a tracking means for tracking the movement of the athlete or sports equipment based on the acquired video data.
[1316] (Claim 3)
[1317] 2. The system according to claim 1, further comprising a voice synthesis means for converting the commentary into voice and synchronizing the voice with the video data. [Explanation of symbols]
[1318] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. camera means for capturing images of the match; a transmitting means for transmitting the acquired video data to a server; an analysis means in the server for analyzing the received video data; A generating means for automatically generating commentary sentences based on the analysis results; a translation means for translating the generated commentary into multiple languages; an integration means for integrating the translated commentary into the video data; a distribution means for distributing the integrated video data and commentary to a user terminal in real time; A system including:
2. 2. The system according to claim 1, further comprising a tracking means for tracking the movements of players and the ball based on the acquired video data.
3. 2. The system according to claim 1, further comprising a voice synthesis means for converting the commentary into voice and synchronizing the voice with the video data.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A