System
The system addresses inefficiencies in data transmission by compressing and verifying data with CRC, enhancing reliability and user experience.
Patent Information
- Application Number
- JP2024116517
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-19
- Publication Date
- 2026-01-29
AI Technical Summary
Current data communication methods face challenges with inefficient and unreliable transmission of large volumes of data due to delays, data loss, transmission errors, and redundant information, which affect processing time and user experience.
A system that includes data compression using a specific algorithm to reduce redundancy, adds a cyclic redundancy check (CRC) error detection code, and verifies the data on the receiving end to ensure accurate transmission and decoding.
The system enhances data transmission efficiency and reliability by reducing data volume, ensuring error-free delivery, and improving user experience through efficient data processing and error detection.
Smart Images

Figure 2026015043000001_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] Current data communication methods face the problem of difficulty in transmitting large volumes of data efficiently and accurately. Specifically, they are prone to delays in communication speed, data loss, and transmission errors. Furthermore, there are also problems with the processing time required for data compression and decoding, and the inclusion of redundant information, which increases communication volume. The problem that this invention aims to solve is to improve the efficiency and reliability of data communication and improve communication speed. [Means for solving the problem]
[0005] In order to solve the above problems, the present invention provides the following means. First, a means for receiving data is provided. Next, a means for compressing the received data using a compression algorithm is provided. This compression algorithm includes specific analysis means for reducing data redundancy and increasing compression efficiency. Furthermore, a means for adding an error detection code to the compressed data is provided. A cyclic redundancy check code (CRC) is used as this error detection code. Next, a means for transmitting the compressed data with the error detection code added is provided. On the receiving side, a means for receiving the transmitted data is provided, and further, a means for verifying the error detection code of the received data is provided. Finally, a means for decrypting the data to its original format when the accuracy of the data has been verified is provided. With this configuration, a system is provided that can efficiently compress and decode data, improve communication reliability, and increase communication speed.
[0006] The "data receiving means" is a mechanism for receiving data transmitted from an external source.
[0007] A "compression algorithm" is a calculation method for reducing data redundancy and efficiently reducing the amount of data.
[0008] An "error detection code" is additional information used to detect errors that may occur during data transmission.
[0009] A "cyclic redundancy check code (CRC)" is a type of error detection code used to detect errors in data.
[0010] A "data transmission means" is a mechanism for transmitting compressed data to other devices or systems.
[0011] A "data decoding means" is a computational technique for restoring compressed data to its original form.
[0012] "Data compression" is the process of removing or reducing redundancy to reduce the amount of data.
[0013] "Data decoding" is the process of restoring compressed data to its original state. [Brief explanation of the drawings]
[0014] [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
[0015] 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.
[0016] First, the terms used in the following description will be explained.
[0017] 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).
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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."
[0022] [First embodiment]
[0023] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0024] 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.
[0025] 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).
[0026] 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.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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."
[0035] The system of the present invention realizes efficient data transmission through the cooperation of a server, a terminal, and a user. In this system, the server first receives data from a user, and then goes through multiple steps, including compression, transmission, and verification, to ensure the reliability and efficiency of the data.
[0036] Server-side processing
[0037] Receiving data
[0038] The server receives the data sent by the user, which is often a large file or piece of information.
[0039] Data compression
[0040] The server compresses the received data using a compression algorithm. This algorithm includes specific analysis means to reduce data redundancy. For example, it analyzes the content of the data and performs processing such as deleting duplicated information. This reduces data volume.
[0041] Adding error detection code
[0042] The server adds an error detection code, specifically a cyclic redundancy check code (CRC), to the compressed data, allowing it to detect errors that may occur during subsequent data transmissions.
[0043] Sending data
[0044] The server sends the data to the terminal with compression and error detection codes added, which improves the efficiency and reliability of data transmission.
[0045] Terminal side processing
[0046] Receiving data
[0047] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[0048] Error Detection
[0049] The terminal checks the error detection code of the received data. Specifically, it recalculates the CRC for the received data and compares it with the CRC value sent by the server. This check confirms the accuracy of the data.
[0050] Decrypting Data
[0051] If no errors are detected, the terminal decodes the data to its original state, specifically by analyzing the data according to the compression algorithm and restoring it to its original form.
[0052] User processing
[0053] Uploading data
[0054] Users upload data to a server, a process that involves sending large files or information to the server.
[0055] Download and view data
[0056] The user downloads the data sent from the server and checks it after the terminal decrypts it. Specifically, the user views, plays, or uses the decrypted data on the terminal.
[0057] Specific examples
[0058] For example, consider the case where a user uploads a 100MB photo file to a server.
[0059] A user uploads a photo file to the server. The server receives the 100MB photo file and compresses the data to 30MB using a new compression algorithm. It then calculates a CRC for the compressed data and adds an error detection code. The added data is sent from the server to the device. The device receives the 30MB compressed data and checks the CRC. If no errors are detected, the device decodes the data into a 100MB photo file and displays it to the user.
[0060] The above is a specific embodiment for implementing the system of the present invention. It is expected that this system will enable efficient data transmission and improve reliability.
[0061] The processing flow will be explained below.
[0062] Server-side processing
[0063] Step 1:
[0064] The server receives data sent by the user, which is typically a large file or piece of information.
[0065] Step 2:
[0066] The server compresses the received data using a compression algorithm, first analyzing the data to identify and eliminate redundancies.
[0067] Step 3:
[0068] The server adds an error detection code to the compressed data. Specifically, it calculates a cyclic redundancy check code (CRC) and adds it to the data.
[0069] Step 4:
[0070] The server transmits the compressed data with an error detection code added to it to the terminal.
[0071] Terminal side processing
[0072] Step 1:
[0073] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[0074] Step 2:
[0075] The terminal checks the error detection code of the received data by recalculating the CRC for the received data and comparing it with the CRC value sent by the server.
[0076] Step 3:
[0077] If no errors are detected, the terminal decodes the data back to its original form, analyzing it according to the compression algorithm and restoring it to its original state.
[0078] User processing
[0079] Step 1:
[0080] A user uploads data to a server, a process that involves the user sending large files or information to the server.
[0081] Step 2:
[0082] The user downloads the data sent from the server to the terminal and views or uses the decrypted data.
[0083] Example 1
[0084] 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."
[0085] Existing data transmission systems have difficulty in efficiently and reliably transmitting and receiving large volumes of data. Furthermore, the time-consuming process of data error detection and decoding results in a poor user experience. The present invention provides a system for solving these problems.
[0086] 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.
[0087] In this invention, the server includes a means for receiving data, a means for compressing the received data using a compression algorithm, and a means for adding an error detection code to the compressed data. This enables efficient and reliable transmission and reception of large amounts of data. Furthermore, the server further includes a means for users to upload data, a means for the terminal to locally store the compressed data received, and a means for the user to view the decoded data using local viewer software, thereby improving the user experience.
[0088] The "means for receiving data" refers to a device or process by which the server obtains data sent from the user via the network.
[0089] A "means for compressing by a compression algorithm" is a device or process for compressing data using a particular algorithm in order to reduce the size of the received data.
[0090] A "means for adding an error detection code" is a device or process for generating a check code (e.g., a CRC) for received data and adding it to the data to verify its integrity.
[0091] A "means for transmitting" is a device or process for transmitting the compressed data with error detection codes attached to it over a network to a designated terminal.
[0092] The "receiving means" is a device or process by which the terminal obtains the data sent from the server.
[0093] The "means for verifying the error detection code" is a device or process for recalculating the error detection code of the received data and verifying whether it matches the error detection code sent from the server.
[0094] A "means for decoding verified data" is a device or process for converting verified compressed data back into its original form.
[0095] A "means for user data upload" is a device or process that allows a user to select a local file and send it to the server.
[0096] The "means for locally storing received compressed data" refers to a device or process by which the terminal stores compressed data received from the server in a local storage device.
[0097] "Means for the user to view the decrypted data using local viewer software" refers to a device or process that allows the user to view or use the data decrypted on the terminal using the viewer software that the user normally uses.
[0098] MODE FOR CARRYING OUT THE INVENTION
[0099] The system of the present invention realizes efficient and reliable data transmission through cooperation between a server, a terminal, and a user. This system includes a process in which a user uploads arbitrary data to a server, compresses it, adds an error detection code to it, and then transmits it to a terminal, where the terminal verifies and decodes the received data. In this embodiment, specific hardware and software and their operating procedures are described.
[0100] Specific operations on the server side
[0101] The server uses a web server such as Apache Tomcat or NGINX to receive data sent by users. The server compresses the received data in GZIP format using the Java java.util.zip library. A cyclic redundancy check code (CRC) is added to the compressed data to generate an error detection code, and the CRC32 algorithm is used to add this code.
[0102] The server sends the compressed data with the error detection code added to it to the terminal using the HTTP or HTTPS protocol. The typical transmission method is to return the compressed data as an HTTP response.
[0103] Specific operations on the terminal side
[0104] To receive the compressed data sent from the server, the device downloads the data using a command line tool such as curl or a web browser. The received data contains an error detection code, which the device checks using the CRC32 algorithm to verify that the data is error-free.
[0105] If no errors are detected, the device uses the Java java.util.zip library to decompress the compressed data and decode it back to its original format, which is then saved to local storage and made available to the user.
[0106] Specific actions on the user side
[0107] Users use a web browser or a dedicated upload tool to upload data to the server by sending an HTTP POST request to the server using an HTML form.
[0108] After downloading the data, users can view or use the decompressed data using local viewer software or playback tools, allowing users to utilize the data efficiently and reliably.
[0109] Examples and prompts
[0110] For example, here is a specific example where a user uploads a 100MB photo file to the server:
[0111] 1. The user selects a photo file in a web browser and performs the upload operation.
[0112] 2. The server compresses the received 100MB photo file using GZIP, reducing it to 30MB.
[0113] 3. The server calculates a CRC32 on the compressed file and adds an error detection code.
[0114] 4. The compressed and error-detection-coded data is sent from the server to the terminal.
[0115] 5. The device receives the 30MB compressed file, checks the CRC32, and if no errors are detected, decompresses it and restores the original 100MB photo file.
[0116] 6. The restored photo files can be viewed using the user's local viewer software.
[0117] A specific example of a prompt is as follows:
[0118] Design a system that compresses and transmits a photo file selected by a user in a web browser. Explain in detail the processing steps involved at the server, terminal, and user level, using GZIP as the compression algorithm and CRC32 for error detection.
[0119] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0120] Server-side processing
[0121] Step 1: Receiving Data
[0122] The server receives data sent by the user as an HTTP POST request. This input data is often a large file or piece of information. Specifically, the user presses the upload button in their web browser, which sends the data to the server. The output is a data file stored in the server's temporary memory.
[0123] Step 2: Compress the data
[0124] The server compresses the received data using a compression algorithm. The software used is the Java java.util.zip library, which compresses the data into GZIP format. The input is the received data file, and the output is compressed binary data. Specifically, the server analyzes the data for redundancy and performs a process to eliminate duplicated parts.
[0125] Step 3: Adding error detection code
[0126] The server adds an error detection code (CRC32) to the compressed data. Using the CRC32 algorithm, the input is the compressed data and the output is the data with the CRC32 code. This error detection code is used later to verify whether the data is correct.
[0127] Step 4: Sending data
[0128] The server sends the compressed data with an error detection code added to it as an HTTP response to the terminal. Specifically, it sends data using the HTTP or HTTPS protocol. The input is compressed data with a CRC32 code, and the output is the data sent over the network.
[0129] Terminal side processing
[0130] Step 1: Receiving Data
[0131] The terminal receives compressed data sent from the server via an HTTP request. This data is compressed and has error detection codes added. The input is the data received from the network, and the output is a locally stored compressed data file.
[0132] Step 2: Error detection
[0133] The terminal checks the CRC32 error detection code of the received data. Specifically, it recalculates the CRC32 for the received data and compares it with the CRC32 code sent by the server. The input is the compressed data file and the original CRC32 code, and the output is a flag indicating whether there are any errors. If no errors are detected, the data is confirmed to be correct.
[0134] Step 3: Decrypt the data
[0135] If no errors are detected, the terminal decompresses the data from GZIP format to its original state. This decompression is performed using the Java java.util.zip library. The input is a compressed data file that has been verified to be error-free, and the output is the original data file. This decompression process restores the data to its original format.
[0136] User processing
[0137] Step 1: Upload your data
[0138] A user selects a file from a file selection dialog in a web browser and uploads it to a server. This action sends the file to the server as an HTTP POST request. The input is the file to be uploaded, and the output is the request sent to the server.
[0139] Step 2: Download and view the data
[0140] The user clicks on the download link for the data sent from the server and the device receives the data. The data is then decompressed on the device and viewed or used using local viewer software or playback tools. The input is the data file downloaded to the device, and the output is the content displayed in the viewer software.
[0141] Examples and prompts
[0142] For example, when a user uploads a 100MB photo file to a server, the following steps are taken:
[0143] 1. The user selects a photo file in a web browser and uploads it to the server.
[0144] 2. The server compresses the received 100MB photo file using GZIP, reducing it to 30MB.
[0145] 3. The server calculates a CRC32 on the compressed file and adds an error detection code.
[0146] 4. The compressed and error-detection-coded data is sent from the server to the terminal.
[0147] 5. The device receives the 30MB compressed file, checks the CRC32, and if no errors are detected, decompresses it and restores the original 100MB photo file.
[0148] 6. The restored photo files can be viewed using the user's local viewer software.
[0149] An example of a prompt is as follows:
[0150] Design a system that compresses and transmits a photo file selected by a user in a web browser. Explain in detail the processing steps involved at the server, terminal, and user level, using GZIP as the compression algorithm and CRC32 for error detection.
[0151] (Application example 1)
[0152] 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."
[0153] Conventional large-volume data transmission systems face the challenge of taking a long time to compress and transmit data. Furthermore, many systems lack sufficient error detection capabilities to ensure data accuracy, leaving data reliability in doubt. Furthermore, in fields such as food delivery, the transmission of large amounts of menu images and food photos often becomes unsmooth, impacting the user experience. To address these challenges, a new data transmission system is needed.
[0154] 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.
[0155] In this invention, the server includes a means for receiving data, a means for compressing the received data using a compression algorithm, and a means for adding an error detection code to the compressed data. This enables data compression and error detection. The terminal includes a means for receiving transmitted data, a means for checking the error detection code of the received data, a means for decrypting the checked data, a means for viewing and transmitting the data at the terminal, and a means for generating a prompt sentence based on a generative AI model. This improves the efficiency and reliability of data transmission and provides an environment in which users can comfortably use applications.
[0156] "Means for receiving data" refers to a function that allows a server or terminal to take in data sent from outside.
[0157] The "means for compressing received data using a compression algorithm" is a function for reducing the size of received data using a specific compression algorithm in order to reduce the data volume.
[0158] "Means for adding an error detection code to compressed data" refers to a function that adds a code (e.g., CRC) for error detection to data after compression processing.
[0159] The "means for transmitting compressed data to which an error detection code has been added" is a function for transmitting compressed data to which an error detection code has been added to another device or server via a network.
[0160] The "means for receiving transmitted data" is a function for receiving data transmitted from other devices or servers.
[0161] The "means for checking the error detection code of the received data" is a function for checking whether the data has been transmitted correctly by using the error detection code added to the received data.
[0162] The "means for decoding the confirmed data" is a function for restoring the compressed data to its original data format if no errors are detected.
[0163] "Means for viewing and transmitting data at the terminal" refers to functions that allow the user to display and check data received and decoded by the terminal, and to transmit new data.
[0164] "Means for generating prompt sentences based on a generative AI model" refers to a function that uses a pre-trained artificial intelligence model to automatically generate appropriate prompt sentences based on specific input.
[0165] The system of the present invention allows a server, a terminal, and a user to work together to achieve efficient and reliable data transmission, particularly in food delivery services. Specific embodiments of the system are described below.
[0166] Server-side processing
[0167] Receiving data
[0168] The server receives large volumes of data, such as menu images and food photos, sent by users. Because the volume of the received data is large as is, efficient data transmission is required.
[0169] Data compression
[0170] The server compresses the received large amount of data using a compression algorithm (e.g., zstd), which reduces data redundancy and reduces the amount of data to be transmitted.
[0171] Adding error detection code
[0172] The compressed data is then appended with an error-detection cyclic redundancy check code (CRC), which allows for the detection of errors that may occur during subsequent data transmission.
[0173] Sending data
[0174] The server sends the data to the terminal after compression and error detection codes have been added, resulting in efficient and reliable data transmission.
[0175] Terminal side processing
[0176] Receiving data
[0177] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[0178] Error Detection
[0179] The terminal checks the error detection code of the received data. Specifically, it recalculates the CRC for the received data and compares it with the CRC value sent by the server. This check confirms the accuracy of the data.
[0180] Decrypting Data
[0181] If no errors are detected, the device decodes the data to its original state, specifically by analyzing the data according to the compression algorithm and restoring it to its original form.
[0182] Viewing and sending data
[0183] On the terminal, the user can view the decrypted data, or take new food photos and upload them using a compression algorithm.
[0184] Using generative AI models
[0185] Based on the on-device generative AI model (e.g., GPT-4), prompts can be automatically generated in response to specific input, allowing users to efficiently post reviews and comments.
[0186] Specific examples
[0187] For example, consider the case where a user wants to post a new review.
[0188] 1. The user selects a food photo (50MB) they have taken and clicks the post button.
[0189] 2. Photos are automatically compressed to 15MB and a CRC value is added.
[0190] 3. The compressed data is sent to the server and a CRC check is performed to verify it.
[0191] 4. Once verification is complete, the food photo will appear as a review in the app.
[0192] Example prompt sentence:
[0193] "When a user selects a food photo they have taken and clicks the post button, the photo is automatically compressed and an error detection code is added. The compressed data is sent to the server and a CRC verification is performed. Once the verification is complete, the food photo will be displayed as a review in the app."
[0194] The above is a specific embodiment for implementing the system of the present invention, which is expected to improve data transmission efficiency, reliability, and user experience.
[0195] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0196] Step 1:
[0197] Receiving data (server side)
[0198] The server receives large amounts of data such as menu images and food photos sent by users. The input here is the image data sent by the user from their device, and the output is the raw image data received by the server.
[0199] Step 2:
[0200] Data compression (server side)
[0201] The server compresses the received large amount of data using a compression algorithm (e.g., zstd). The input is the raw image data received in step 1, and the output is compressed image data. Specifically, the zstd algorithm reduces data redundancy, resulting in a smaller file size.
[0202] Step 3:
[0203] Adding error detection code (server side)
[0204] The server adds a cyclic redundancy check code (CRC) to the compressed data for error detection. The input is the image data compressed in step 2, and the output is the compressed data with the error detection code added.
[0205] Step 4:
[0206] Sending data (server side)
[0207] The server sends the compressed and error-detection-coded data to the terminal. The input is the data generated in step 3, and the output is the compressed data sent to the terminal.
[0208] Step 5:
[0209] Receiving data (terminal side)
[0210] The terminal receives the compressed data sent from the server. The input is the compressed data sent from the server, and the output is the compressed data received by the terminal.
[0211] Step 6:
[0212] Error detection (terminal side)
[0213] The terminal checks the error detection code (CRC) of the received data. Specifically, it recalculates the CRC for the received data and compares it with the CRC value sent by the server. The input is the compressed data received in step 5 and its CRC value, and the output is the result of whether an error was detected.
[0214] Step 7:
[0215] Data decryption (terminal side)
[0216] If no errors are detected, the terminal decodes the compressed data to its original state. Specifically, it parses the data according to the compression algorithm (e.g., zstd) and restores it to its original form. The input is the compressed data for which no errors were detected in step 6, and the output is the decoded image data.
[0217] Step 8:
[0218] Viewing and sending data (user side)
[0219] The user can view the decoded data on the device. The user can also take new food photos and upload them using the same compression algorithm. The input is the image data decoded by the device and the image data newly taken by the user, and the output is the image data viewed by the user and the compressed data uploaded to the server.
[0220] Step 9:
[0221] Prompt generation using a generative AI model (device side)
[0222] The device uses a built-in generative AI model (e.g., GPT-4) to generate prompts based on specific inputs, allowing users to efficiently post reviews and comments. The input is the user's review content and photos, and the output is the prompt generated by the generative AI model.
[0223] For example: "When a user selects a food photo they have taken and clicks the post button, the photo is automatically compressed and an error detection code is added. The compressed data is sent to our server for CRC verification. Once verification is complete, the food photo will appear in the app as a review."
[0224] 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.
[0225] The system of the present invention enables the server, terminal, and user to work together to achieve efficient data transmission, and also improves the user experience by combining an emotion engine that recognizes the user's emotions. In this system, the server receives data from the user and performs processes such as compression, transmission, and verification, as well as analyzing the emotion data, thereby ensuring the reliability and efficiency of the data and providing feedback according to the user's emotions.
[0226] Server-side processing
[0227] Receiving data
[0228] The server receives the data sent by the user, which is usually a large file or piece of information.
[0229] Data compression
[0230] The server compresses the received data using a compression algorithm. This algorithm includes specific analysis means to reduce data redundancy. For example, it analyzes the content of the data and performs processing such as deleting redundant information, thereby reducing data volume.
[0231] Adding error detection code
[0232] The server adds a code to the compressed data for error detection. Specifically, it calculates a cyclic redundancy check code (CRC) and adds it to the data, so that errors during data transmission can be detected.
[0233] Sending data
[0234] The server sends the data, which has been compressed and has error detection codes added, to the terminal.
[0235] Terminal side processing
[0236] Receiving data
[0237] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[0238] Error Detection
[0239] The terminal checks the error detection code (CRC) of the received data, recalculates the CRC for the received data, and compares it with the CRC value sent by the server to verify the accuracy of the data.
[0240] Decrypting Data
[0241] If no errors are detected, the terminal decodes the data back to its original form, analyzing it according to the compression algorithm and restoring it to its original state.
[0242] User processing
[0243] Uploading data
[0244] A user uploads data to a server, a process that involves the user sending large files or information to the server.
[0245] Download and view data
[0246] The user downloads the data sent from the server to the terminal and views or uses the decrypted data.
[0247] Emotion engine processing
[0248] Acquiring emotion data
[0249] The server uses an emotion engine to analyze the voice data and facial expression data acquired from the user. For example, the server captures the voice and facial expression when the user uploads data and acquires them as emotion data.
[0250] Emotion Analysis
[0251] The server uses an emotion engine to analyze the acquired voice data and facial expression data to recognize the user's emotions. For example, the emotion engine analyzes changes in voice tone and facial expressions to identify the user's emotional state, such as "happy," "confused," or "dissatisfied."
[0252] Emotion-based feedback
[0253] The server provides appropriate feedback to the user based on the analysis results, for example, providing additional help information if the user is confused, or displaying a positive message if the user is satisfied.
[0254] Specific examples
[0255] Example 1: Uploading a photo file and analyzing sentiment
[0256] Let's consider the case where a user uploads a 100MB photo file to a server. When the user performs the upload operation, the emotion engine captures the user's voice and facial expressions. The server receives the photo file, compresses it to 30MB using a compression algorithm, adds a CRC, and sends the data to the device. During this time, the emotion engine analyzes the user's emotions and provides appropriate help information if, for example, the user is confused. The device verifies that the received compressed data is error-free, decodes the data into a 100MB photo file, and displays it to the user.
[0257] The above is a specific embodiment for implementing the system of the present invention. This system not only enables efficient data transmission and improved reliability, but also provides appropriate feedback based on the user's emotions, improving the user experience.
[0258] The processing flow will be explained below.
[0259] Server-side processing
[0260] Step 1:
[0261] The server receives the data sent by the user, for example, a 100MB photo file.
[0262] Step 2:
[0263] The server compresses the received data using a compression algorithm that uses specific analytical methods to reduce data redundancy, reducing the file size to 30MB.
[0264] Step 3:
[0265] The server adds an error detection code to the compressed data. Specifically, it calculates a cyclic redundancy check code (CRC) and adds it to the compressed data.
[0266] Step 4:
[0267] The server transmits the compressed data with an error detection code added to it to the terminal.
[0268] Terminal side processing
[0269] Step 1:
[0270] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[0271] Step 2:
[0272] The terminal checks the error detection code of the received data, recalculates the CRC for the received data, and compares it with the CRC value sent by the server.
[0273] Step 3:
[0274] If no errors are detected, the device will decode the data back to its original format, analyze it based on the compression algorithm, and restore the original 100MB photo file.
[0275] User processing
[0276] Step 1:
[0277] A user uploads data to a server, a process that involves the user sending large files or information to the server.
[0278] Step 2:
[0279] The user downloads the data sent from the server to the terminal and views or uses the decrypted data.
[0280] Emotion engine processing
[0281] Step 1:
[0282] The server acquires the user's voice data and facial expression data, for example, when the user uploads a photo, the server captures the voice data and facial expression data through a camera or microphone.
[0283] Step 2:
[0284] The server uses an emotion engine to analyze the voice data and facial expression data to recognize the user's emotions. The emotion engine analyzes changes in voice tone and facial expressions to identify the user's emotions, such as "confused" or "satisfied."
[0285] Step 3:
[0286] The server provides appropriate feedback to the user based on the analysis results, for example, displaying additional help information if the analysis indicates that the user is confused.
[0287] Specific examples
[0288] Photo file upload and sentiment analysis
[0289] Step 1:
[0290] A user uploads a 100MB photo file to the server. During the upload, the camera and microphone capture the user's facial expressions and voice data.
[0291] Step 2:
[0292] The server receives the 100MB photo file and simultaneously sends the captured facial and voice data to the emotion engine.
[0293] Step 3:
[0294] The server compresses the photo files to 30MB using a compression algorithm. The emotion engine analyzes facial expression and voice data to recognize the user's emotional state.
[0295] Step 4:
[0296] The server calculates a CRC on the compressed data and adds an error detection code.
[0297] Step 5:
[0298] The server then sends the compressed data with an error detection code attached to it to the terminal, and simultaneously displays appropriate feedback to the user based on the emotion analysis results.
[0299] Step 6:
[0300] The terminal receives the compressed data transmitted from the server.
[0301] Step 7:
[0302] The terminal verifies the CRC of the received data, and if it matches, decrypts the data and restores it to its original form.
[0303] Step 8:
[0304] The decrypted photo file is displayed to the user.
[0305] The above is a specific embodiment of the system of the present invention, which not only transmits data efficiently and reliably, but also provides appropriate feedback according to the user's emotions, improving the user experience.
[0306] Example 2
[0307] 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."
[0308] Conventional data communication systems require a long time to transmit large amounts of data and lack sufficient error detection and recovery capabilities. Therefore, there is a need to improve data reliability and efficiency. Furthermore, there is a need to improve the user experience by providing feedback based on the user's emotional state.
[0309] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0310] In this invention, the server includes a means for receiving data, a means for compressing the received data using a compression algorithm, and a means for adding an error detection code to the compressed data. This enables efficient data compression and improved reliability. The server also includes a means for using an emotion engine to acquire a user's voice data and facial expression data, a means for analyzing the acquired voice data and facial expression data to recognize the user's emotion, and a means for providing feedback based on the analyzed emotional data. This improves the user experience and increases the reliability and efficiency of data transmission.
[0311] "Data" refers to information sent from the user to the server, including large electronic files including images, audio, and text files.
[0312] A "compression algorithm" is an analytical method for reducing redundant data and reducing data volume; specific examples include LZ77 and Huffman coding.
[0313] An "error detection code" is a code added to verify the accuracy of data and is a means of detecting errors during data transmission.
[0314] A "cyclic redundancy check code (CRC)" is a type of error detection code used to verify data integrity and identify errors in transmitted data.
[0315] The "emotion engine" is an analytical means for analyzing the user's voice data and facial expression data to recognize their emotional state.
[0316] "Voice data" refers to data in which the voice uttered by the user is recorded in digital format.
[0317] "Facial expression data" refers to data that captures a user's facial expression using a camera or the like and records it in digital format.
[0318] "Feedback" refers to information or messages provided to users based on acquired emotional data, and is a means of improving the user experience.
[0319] "Decoding" is the process of restoring data that has been compressed by a compression algorithm back to its original form.
[0320] "Data transmission" is the process of sending and receiving information between a server and a terminal, and is carried out using a communication protocol.
[0321] MODE FOR CARRYING OUT THE INVENTION
[0322] The system of the present invention allows the server, terminal, and user to work together to improve the efficiency and reliability of data transmission, and also uses an emotion engine to analyze the user's emotions and provide appropriate feedback. This system allows users to transmit data quickly and reliably when uploading or downloading data, and further provides a better user experience by receiving emotion-based feedback.
[0323] Server-side processing
[0324] The server first receives large amounts of data sent by the user. This data may include, for example, high-resolution photo files or video files. After receiving the data, the server uses a compression algorithm to compress it and reduce the data size. Common compression algorithms are LZ77 and Huffman coding. The server then calculates a cyclic redundancy check code (CRC) and adds it to the compressed data for error detection. This allows errors during data transmission to be detected.
[0325] The server then sends the compressed and error-detection-coded data to the device. At the same time, the emotion engine captures and analyzes the user's voice and facial expression data. It analyzes voice tone and facial expression changes to identify the user's emotions. For example, if the user is confused, it can provide appropriate help information, and if the user is satisfied, it can display a positive message.
[0326] Terminal side processing
[0327] The terminal receives the compressed data sent from the server. This data also contains an error detection code. The terminal checks the CRC of the received data and checks whether the calculated CRC value matches the CRC value from the server. If no errors are detected, the terminal decodes the data to its original form. Specifically, it decompresses the data according to the compression algorithm and restores it to its original state.
[0328] User processing
[0329] A user uploads a large amount of data to the server. For example, the user uses the file upload function of the browser to send a 100MB photo file to the server. During this process, the user's voice and facial expressions are captured by the emotion engine. When downloading data, the data sent from the server is downloaded to the device, and the decrypted data is then viewed or used.
[0330] Specific examples
[0331] Example 1: Uploading a photo file and analyzing sentiment
[0332] Let's consider the case where a user uploads a 100MB photo file to a server. When the user performs the upload operation, the emotion engine captures the user's voice and facial expressions. The server receives the photo file, compresses it to 30MB using a compression algorithm, adds a CRC, and sends the data to the device. During this time, the emotion engine analyzes the user's emotions and provides appropriate help information if, for example, the user is confused. The device verifies that the received compressed data is error-free, decodes the data into a 100MB photo file, and displays it to the user.
[0333] Prompt Sentence Examples
[0334] Prompt example 1: Explain the details of the data compression process
[0335] "When a user uploads a 100MB photo file to a server, please explain in detail how the data is compressed on the server side."
[0336] Sample prompt 2: Explain the sentiment analysis process
[0337] "Please explain in detail the process by which the server analyzes emotions using voice and facial expression data while the user is uploading data."
[0338] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0339] Server-side processing
[0340] Step 1: Receiving Data
[0341] Input: Large amount of data sent by the user (e.g. 100MB photo file)
[0342] Processing: The server receives this data via HTTP or HTTPS protocol.
[0343] Output: Received large amount of data
[0344] Specific behavior:
[0345] The server receives the file uploaded by the user and stores it in the specified directory.
[0346] Step 2: Compress the data
[0347] Input: Received large amount of data
[0348] Processing: The server compresses the data using a compression algorithm such as LZ77 or Huffman coding.
[0349] Output: Compressed data (e.g. 30MB data)
[0350] Specific behavior:
[0351] The server analyzes the data content and efficiently compresses it to reduce redundant data.
[0352] Step 3: Adding error detection code
[0353] Input: Compressed data
[0354] Processing: The server calculates a cyclic redundancy check code (CRC) and appends it to the compressed data.
[0355] Output: Compressed data with CRC added
[0356] Specific behavior:
[0357] The server calculates a CRC value based on the content of the compressed data and appends it to the data.
[0358] Step 4: Sending data
[0359] Input: Compressed data with CRC
[0360] Processing: The server sends this data to the terminal using the TCP / IP protocol.
[0361] Output: Compressed data sent
[0362] Specific behavior:
[0363] The server divides the compressed data into packets and transmits them to the terminal.
[0364] Step 5: Obtaining emotion data
[0365] Input: User's voice and facial expression data
[0366] Processing: The server uses the emotion engine to capture voice and facial expression data obtained from the user.
[0367] Output: Retrieved emotion data
[0368] Specific behavior:
[0369] The server acquires the user's voice and facial expressions during the upload operation and stores them as emotional data.
[0370] Step 6: Sentiment Analysis
[0371] Input: Acquired emotion data
[0372] Processing: The server uses an emotion engine to analyze voice tone and facial expression changes to recognize the user's emotional state.
[0373] Output: Analysis result (user's emotional state)
[0374] Specific behavior:
[0375] The server analyzes subtle changes in the pitch of the voice tone and facial expressions to determine the user's emotional state, such as "confusion" or "satisfaction."
[0376] Step 7: Emotional Feedback
[0377] Input: Analysis result (user's emotional state)
[0378] Processing: The server generates appropriate feedback based on the analysis results and provides it to the user.
[0379] Output: Feedback content
[0380] Specific behavior:
[0381] If the user is confused, it will display additional help information or guidance, and if they are satisfied, it will send a thank you message.
[0382] Terminal side processing
[0383] Step 1: Receiving Data
[0384] Input: Compressed data sent from the server
[0385] Processing: The terminal receives the data using the TCP / IP protocol.
[0386] Output: Compressed data received
[0387] Specific behavior:
[0388] The terminal reconstructs the packets received through the network and stores them as compressed data.
[0389] Step 2: Error detection
[0390] Input: Compressed data received
[0391] Processing: The device calculates the CRC and verifies the accuracy of the data by comparing it with the CRC value sent by the server.
[0392] Output: Errors or not
[0393] Specific behavior:
[0394] The terminal recalculates the CRC based on the received data to verify the integrity of the data.
[0395] Step 3: Decrypt the data
[0396] Input: Compressed data with no errors detected
[0397] Processing: The device uses a compression algorithm to decode the data back to its original form.
[0398] Output: Decrypted data (e.g. 100MB photo file)
[0399] Specific behavior:
[0400] The terminal decompresses the compressed data and restores it to its original format.
[0401] User processing
[0402] Step 1: Upload your data
[0403] Input: Large amount of data (e.g. 100MB photo file)
[0404] Process: The user uses the browser's file upload function to send data to the server.
[0405] Output: Data sent to the server
[0406] Specific behavior:
[0407] The user selects the file to upload from the file selection dialog and clicks the "Submit" button.
[0408] Step 2: Download and view the data
[0409] Input: Decrypted data received from the server
[0410] Processing: The user downloads the received data to their device and views or uses it.
[0411] Output: Viewable data
[0412] Specific behavior:
[0413] The user opens the decrypted data using a browser or dedicated software and checks its contents.
[0414] (Application example 2)
[0415] 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."
[0416] While conventional data transmission systems achieve efficient and reliable data transmission, they have limitations in improving the user experience. In particular, they are unable to provide feedback or responses based on the user's emotions, making it difficult to sufficiently increase user satisfaction. To solve this problem, a system that recognizes the user's emotions in real time and provides feedback accordingly is needed.
[0417] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0418] In this invention, the server includes means for receiving data, means for compressing the received data using a compression algorithm, means for adding an error detection code to the compressed data, means for transmitting the compressed data with the error detection code added, means for receiving the transmitted data, means for checking the error detection code in the received data, means for decoding the checked data, means for acquiring user emotion data, means for analyzing the acquired emotion data, and means for providing feedback based on the analyzed emotion data. This enables efficient and reliable data transmission as well as appropriate feedback that takes the user's emotion into consideration.
[0419] "Means for receiving data" refers to a device or program for receiving data transmitted from another device via a network.
[0420] A "compression algorithm" is a computational procedure for reducing data redundancy and reducing the amount of data, thereby making it easier to store and transmit.
[0421] An "error detection code" is a code added to detect errors that may occur during data transmission. A typical example is the cyclic redundancy check code (CRC).
[0422] "Means for adding error detection code" refers to a device or program for adding error detection code to compressed data.
[0423] "Means for transmitting data" refers to a device or program for sending data to another device over a network.
[0424] "Means for checking the error detection code of the received data" refers to a device or program for checking the error detection code of the data received from the server and confirming whether the data was received correctly.
[0425] "Means for decoding data" refers to a device or program that restores data that has been compressed and has had error detection codes added to it back to its original form.
[0426] "Means for acquiring user emotion data" refers to a device or program for capturing the user's voice and facial expressions and collecting that data.
[0427] The "means for analyzing acquired emotional data" refers to a device or program for analyzing acquired voice data and facial expression data and identifying the user's emotions.
[0428] The "means for providing feedback based on analyzed emotion data" refers to a device or program for providing appropriate feedback to the user based on the analysis results.
[0429] The system of the present invention optimizes the display of advertisements by combining efficient data transmission with an emotion engine that recognizes user emotions. This system works in cooperation with the server, terminal, and user, and provides effective feedback according to the user's emotions, thereby improving the user experience.
[0430] Server-side processing
[0431] Receiving and compressing data
[0432] The server receives various data sent by users (e.g., advertising data, emotion analysis results, etc.). The server then compresses the received data using a compression algorithm (e.g., standard compression techniques) to reduce the data volume. An error detection code (e.g., CRC) is added to the compressed data to enable data errors to be detected.
[0433] Acquiring and analyzing emotion data
[0434] The server uses an emotion engine to acquire the user's emotion data. The emotion data is acquired from data capturing the user's facial expressions and voice. For example, the user's facial expressions and tone of voice are collected in real time through a camera and microphone. The emotion engine then analyzes the data and recognizes the user's emotion (happiness, sadness, excitement, etc.).
[0435] Providing feedback
[0436] Based on the analysis results, the server selects and serves appropriate advertisements to the user, which helps the user receive appropriate feedback and maximizes the effectiveness of the advertisements. For example, if the user is excited, entertainment-related advertisements are displayed, and if the user is relaxed, relaxation-related advertisements are displayed.
[0437] Terminal side processing
[0438] Receiving and Decrypting Data
[0439] The device receives the data sent by the server. It checks the error detection code to ensure the data was received correctly. It then decrypts the data and returns it to its original form. At this stage, the user is presented with appropriate advertising and feedback.
[0440] User operation
[0441] Uploading data
[0442] When a user uploads large files such as photos and videos to the server, the emotion engine captures the user's facial expressions and voice and obtains them as emotion data.
[0443] Ad display and feedback
[0444] The user checks the decoded data (such as advertisements) sent from the server on their device. The system captures the user's feelings about the advertisement and sends the data to the server, providing emotional feedback to the system.
[0445] Hardware and software used
[0446] Hardware: A device with a camera and microphone, such as a smartphone, personal computer, or smart glasses.
[0447] software:
[0448] Emotion engine: Software for analyzing facial expressions and speech (e.g., emotion recognition API).
[0449] Ad selection algorithm: Software that selects the best ads based on user sentiment.
[0450] Data management system: A database (e.g., a cloud database) for storing and analyzing users' emotional feedback.
[0451] Specific examples
[0452] Prompt Sentence Examples
[0453] "I'm developing a new smartphone app that can dynamically display advertisements based on the user's emotions. When the user is happy, I want to automatically display entertainment advertisements, and when the user is relaxed, I want to automatically display relaxation advertisements. I also want to record the user's emotional feedback on the advertisements and use it in my marketing strategy."
[0454] This enables efficient and reliable data transmission as well as appropriate feedback that takes into account the user's emotions.
[0455] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0456] Step 1: Upload your data
[0457] A user uploads data (e.g., photos or video files) to a server using a smartphone or personal computer. The input data is a large multimedia file, and the server receives the file. The server stores the received data in a storage folder. The output is a message confirming successful reception.
[0458] Step 2: Obtaining emotion data
[0459] When a user performs an upload operation, the server starts the procedure to acquire emotion data. The input is the user's voice and facial expression data. The camera and microphone are used to capture the user's real-time voice and facial expressions. The acquired data is sent to the server and passed to an emotion analysis algorithm. The output is a set of emotion data.
[0460] Step 3: Compress the data
[0461] The server compresses the received large amount of data using a compression algorithm. The input is the original large amount of data. For example, the data size is reduced using a compression technique (ZIP, GZIP, etc.). An error detection code (e.g., CRC) is added to the compressed data. The output is the compressed data and the added error detection code.
[0462] Step 4: Analyze the sentiment data
[0463] The server analyzes the acquired user emotion data. The input is a set of emotion data. The emotion engine analyzes the voice tone and facial expressions to identify the user's emotional state (e.g., joy, sadness, excitement, etc.). The output is the identified emotional state information.
[0464] Step 5: Sending data
[0465] The server sends the compressed data with an error detection code to the terminal. The input is the compressed data and the error detection code. The data is sent over the network. The output is a message confirming successful transmission.
[0466] Step 6: Error detection and data reception
[0467] The terminal receives the data sent from the server and checks the error detection code. The input is the received data and the error detection code. The terminal recalculates the error detection code such as CRC and checks the accuracy of the data. The output is the error detection result (if there are no errors, proceed to the next step).
[0468] Step 7: Decrypt the data
[0469] If no errors are detected, the terminal decodes the data back to its original form. The input is the compressed data. The data is restored using the reverse process of the compression algorithm. The output is the decoded data.
[0470] Step 8: Provide feedback
[0471] The server selects appropriate advertisements based on the analysis results and provides them to the user. The input is the identified emotional state information. The advertisement selection algorithm selects advertisements that match the user's emotions, such as entertainment advertisements or relaxation advertisements, and sends them to the terminal. The output is the advertisement displayed on the user's terminal.
[0472] Specific examples
[0473] Example prompt sentence:
[0474] "I'm developing a new smartphone app that can dynamically display advertisements based on the user's emotions. When the user is happy, I want to automatically display entertainment advertisements, and when the user is relaxed, I want to automatically display relaxation advertisements. I also want to record the user's emotional feedback on the advertisements and use it in my marketing strategy."
[0475] This enables efficient and reliable data transmission as well as appropriate feedback that takes into account the user's emotions.
[0476] 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.
[0477] 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.
[0478] 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.
[0479] [Second embodiment]
[0480] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0481] 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.
[0482] 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).
[0483] 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.
[0484] 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.
[0485] 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).
[0486] 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.
[0487] 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.
[0488] 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.
[0489] 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.
[0490] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0491] 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."
[0492] The system of the present invention realizes efficient data transmission through the cooperation of a server, a terminal, and a user. In this system, the server first receives data from a user, and then goes through multiple steps, including compression, transmission, and verification, to ensure the reliability and efficiency of the data.
[0493] Server-side processing
[0494] Receiving data
[0495] The server receives the data sent by the user, which is often a large file or piece of information.
[0496] Data compression
[0497] The server compresses the received data using a compression algorithm. This algorithm includes specific analysis means to reduce data redundancy. For example, it analyzes the content of the data and performs processing such as deleting duplicated information. This reduces data volume.
[0498] Adding error detection code
[0499] The server adds an error detection code, specifically a cyclic redundancy check code (CRC), to the compressed data, allowing it to detect errors that may occur during subsequent data transmissions.
[0500] Sending data
[0501] The server sends the data to the terminal with compression and error detection codes added, which improves the efficiency and reliability of data transmission.
[0502] Terminal side processing
[0503] Receiving data
[0504] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[0505] Error Detection
[0506] The terminal checks the error detection code of the received data. Specifically, it recalculates the CRC for the received data and compares it with the CRC value sent by the server. This check confirms the accuracy of the data.
[0507] Decrypting Data
[0508] If no errors are detected, the terminal decodes the data to its original state, specifically by analyzing the data according to the compression algorithm and restoring it to its original form.
[0509] User processing
[0510] Uploading data
[0511] Users upload data to a server, a process that involves sending large files or information to the server.
[0512] Download and view data
[0513] The user downloads the data sent from the server and checks it after the terminal decrypts it. Specifically, the user views, plays, or uses the decrypted data on the terminal.
[0514] Specific examples
[0515] For example, consider the case where a user uploads a 100MB photo file to a server.
[0516] A user uploads a photo file to the server. The server receives the 100MB photo file and compresses the data to 30MB using a new compression algorithm. It then calculates a CRC for the compressed data and adds an error detection code. The added data is sent from the server to the device. The device receives the 30MB compressed data and checks the CRC. If no errors are detected, the device decodes the data into a 100MB photo file and displays it to the user.
[0517] The above is a specific embodiment for implementing the system of the present invention. It is expected that this system will enable efficient data transmission and improve reliability.
[0518] The processing flow will be explained below.
[0519] Server-side processing
[0520] Step 1:
[0521] The server receives data sent by the user, which is typically a large file or piece of information.
[0522] Step 2:
[0523] The server compresses the received data using a compression algorithm, first analyzing the data to identify and eliminate redundancies.
[0524] Step 3:
[0525] The server adds an error detection code to the compressed data. Specifically, it calculates a cyclic redundancy check code (CRC) and adds it to the data.
[0526] Step 4:
[0527] The server transmits the compressed data with an error detection code added to it to the terminal.
[0528] Terminal side processing
[0529] Step 1:
[0530] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[0531] Step 2:
[0532] The terminal checks the error detection code of the received data by recalculating the CRC for the received data and comparing it with the CRC value sent by the server.
[0533] Step 3:
[0534] If no errors are detected, the terminal decodes the data back to its original form, analyzing it according to the compression algorithm and restoring it to its original state.
[0535] User processing
[0536] Step 1:
[0537] A user uploads data to a server, a process that involves the user sending large files or information to the server.
[0538] Step 2:
[0539] The user downloads the data sent from the server to the terminal and views or uses the decrypted data.
[0540] Example 1
[0541] 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."
[0542] Existing data transmission systems have difficulty in efficiently and reliably transmitting and receiving large volumes of data. Furthermore, the time-consuming process of data error detection and decoding results in a poor user experience. The present invention provides a system for solving these problems.
[0543] 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.
[0544] In this invention, the server includes a means for receiving data, a means for compressing the received data using a compression algorithm, and a means for adding an error detection code to the compressed data. This enables efficient and reliable transmission and reception of large amounts of data. Furthermore, the server further includes a means for users to upload data, a means for the terminal to locally store the compressed data received, and a means for the user to view the decoded data using local viewer software, thereby improving the user experience.
[0545] The "means for receiving data" refers to a device or process by which the server obtains data sent from the user via the network.
[0546] A "means for compressing by a compression algorithm" is a device or process for compressing data using a particular algorithm in order to reduce the size of the received data.
[0547] A "means for adding an error detection code" is a device or process for generating a check code (e.g., a CRC) for received data and adding it to the data to verify its integrity.
[0548] A "means for transmitting" is a device or process for transmitting the compressed data with error detection codes attached to it over a network to a designated terminal.
[0549] The "receiving means" is a device or process by which the terminal obtains the data sent from the server.
[0550] The "means for verifying the error detection code" is a device or process for recalculating the error detection code of the received data and verifying whether it matches the error detection code sent from the server.
[0551] A "means for decoding verified data" is a device or process for converting verified compressed data back into its original form.
[0552] A "means for user data upload" is a device or process that allows a user to select a local file and send it to the server.
[0553] The "means for locally storing received compressed data" refers to a device or process by which the terminal stores compressed data received from the server in a local storage device.
[0554] "Means for the user to view the decrypted data using local viewer software" refers to a device or process that allows the user to view or use the data decrypted on the terminal using the viewer software that the user normally uses.
[0555] MODE FOR CARRYING OUT THE INVENTION
[0556] The system of the present invention realizes efficient and reliable data transmission through cooperation between a server, a terminal, and a user. This system includes a process in which a user uploads arbitrary data to a server, compresses it, adds an error detection code to it, and then transmits it to a terminal, where the terminal verifies and decodes the received data. In this embodiment, specific hardware and software and their operating procedures are described.
[0557] Specific operations on the server side
[0558] The server uses a web server such as Apache Tomcat or NGINX to receive data sent by users. The server compresses the received data in GZIP format using the Java java.util.zip library. A cyclic redundancy check code (CRC) is added to the compressed data to generate an error detection code, and the CRC32 algorithm is used to add this code.
[0559] The server sends the compressed data with the error detection code added to it to the terminal using the HTTP or HTTPS protocol. The typical transmission method is to return the compressed data as an HTTP response.
[0560] Specific operations on the terminal side
[0561] To receive the compressed data sent from the server, the device downloads the data using a command line tool such as curl or a web browser. The received data contains an error detection code, which the device checks using the CRC32 algorithm to verify that the data is error-free.
[0562] If no errors are detected, the device uses the Java java.util.zip library to decompress the compressed data and decode it back to its original format, which is then saved to local storage and made available to the user.
[0563] Specific actions on the user side
[0564] Users use a web browser or a dedicated upload tool to upload data to the server by sending an HTTP POST request to the server using an HTML form.
[0565] After downloading the data, users can view or use the decompressed data using local viewer software or playback tools, allowing users to utilize the data efficiently and reliably.
[0566] Examples and prompts
[0567] For example, here is a specific example where a user uploads a 100MB photo file to the server:
[0568] 1. The user selects a photo file in a web browser and performs the upload operation.
[0569] 2. The server compresses the received 100MB photo file using GZIP, reducing it to 30MB.
[0570] 3. The server calculates a CRC32 on the compressed file and adds an error detection code.
[0571] 4. The compressed and error-detection-coded data is sent from the server to the terminal.
[0572] 5. The device receives the 30MB compressed file, checks the CRC32, and if no errors are detected, decompresses it and restores the original 100MB photo file.
[0573] 6. The restored photo files can be viewed using the user's local viewer software.
[0574] A specific example of a prompt is as follows:
[0575] Design a system that compresses and transmits a photo file selected by a user in a web browser. Explain in detail the processing steps involved at the server, terminal, and user level, using GZIP as the compression algorithm and CRC32 for error detection.
[0576] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0577] Server-side processing
[0578] Step 1: Receiving Data
[0579] The server receives data sent by the user as an HTTP POST request. This input data is often a large file or piece of information. Specifically, the user presses the upload button in their web browser, which sends the data to the server. The output is a data file stored in the server's temporary memory.
[0580] Step 2: Compress the data
[0581] The server compresses the received data using a compression algorithm. The software used is the Java java.util.zip library, which compresses the data into GZIP format. The input is the received data file, and the output is compressed binary data. Specifically, the server analyzes the data for redundancy and performs a process to eliminate duplicated parts.
[0582] Step 3: Adding error detection code
[0583] The server adds an error detection code (CRC32) to the compressed data. Using the CRC32 algorithm, the input is the compressed data and the output is the data with the CRC32 code. This error detection code is used later to verify whether the data is correct.
[0584] Step 4: Sending data
[0585] The server sends the compressed data with an error detection code added to it as an HTTP response to the terminal. Specifically, it sends data using the HTTP or HTTPS protocol. The input is compressed data with a CRC32 code, and the output is the data sent over the network.
[0586] Terminal side processing
[0587] Step 1: Receiving Data
[0588] The terminal receives compressed data sent from the server via an HTTP request. This data is compressed and has error detection codes added. The input is the data received from the network, and the output is a locally stored compressed data file.
[0589] Step 2: Error detection
[0590] The terminal checks the CRC32 error detection code of the received data. Specifically, it recalculates the CRC32 for the received data and compares it with the CRC32 code sent by the server. The input is the compressed data file and the original CRC32 code, and the output is a flag indicating whether there are any errors. If no errors are detected, the data is confirmed to be correct.
[0591] Step 3: Decrypt the data
[0592] If no errors are detected, the terminal decompresses the data from GZIP format to its original state. This decompression is performed using the Java java.util.zip library. The input is a compressed data file that has been verified to be error-free, and the output is the original data file. This decompression process restores the data to its original format.
[0593] User processing
[0594] Step 1: Upload your data
[0595] A user selects a file from a file selection dialog in a web browser and uploads it to a server. This action sends the file to the server as an HTTP POST request. The input is the file to be uploaded, and the output is the request sent to the server.
[0596] Step 2: Download and view the data
[0597] The user clicks on the download link for the data sent from the server and the device receives the data. The data is then decompressed on the device and viewed or used using local viewer software or playback tools. The input is the data file downloaded to the device, and the output is the content displayed in the viewer software.
[0598] Examples and prompts
[0599] For example, when a user uploads a 100MB photo file to a server, the following steps are taken:
[0600] 1. The user selects a photo file in a web browser and uploads it to the server.
[0601] 2. The server compresses the received 100MB photo file using GZIP, reducing it to 30MB.
[0602] 3. The server calculates a CRC32 on the compressed file and adds an error detection code.
[0603] 4. The compressed and error-detection-coded data is sent from the server to the terminal.
[0604] 5. The device receives the 30MB compressed file, checks the CRC32, and if no errors are detected, decompresses it and restores the original 100MB photo file.
[0605] 6. The restored photo files can be viewed using the user's local viewer software.
[0606] An example of a prompt is as follows:
[0607] Design a system that compresses and transmits a photo file selected by a user in a web browser. Explain in detail the processing steps involved at the server, terminal, and user level, using GZIP as the compression algorithm and CRC32 for error detection.
[0608] (Application example 1)
[0609] 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."
[0610] Conventional large-volume data transmission systems face the challenge of taking a long time to compress and transmit data. Furthermore, many systems lack sufficient error detection capabilities to ensure data accuracy, leaving data reliability in doubt. Furthermore, in fields such as food delivery, the transmission of large amounts of menu images and food photos often becomes unsmooth, impacting the user experience. To address these challenges, a new data transmission system is needed.
[0611] 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.
[0612] In this invention, the server includes a means for receiving data, a means for compressing the received data using a compression algorithm, and a means for adding an error detection code to the compressed data. This enables data compression and error detection. The terminal includes a means for receiving transmitted data, a means for checking the error detection code of the received data, a means for decrypting the checked data, a means for viewing and transmitting the data at the terminal, and a means for generating a prompt sentence based on a generative AI model. This improves the efficiency and reliability of data transmission and provides an environment in which users can comfortably use applications.
[0613] "Means for receiving data" refers to a function that allows a server or terminal to take in data sent from outside.
[0614] The "means for compressing received data using a compression algorithm" is a function for reducing the size of received data using a specific compression algorithm in order to reduce the data volume.
[0615] "Means for adding an error detection code to compressed data" refers to a function that adds a code (e.g., CRC) for error detection to data after compression processing.
[0616] The "means for transmitting compressed data to which an error detection code has been added" is a function for transmitting compressed data to which an error detection code has been added to another device or server via a network.
[0617] The "means for receiving transmitted data" is a function for receiving data transmitted from other devices or servers.
[0618] The "means for checking the error detection code of the received data" is a function for checking whether the data has been transmitted correctly by using the error detection code added to the received data.
[0619] The "means for decoding the confirmed data" is a function for restoring the compressed data to its original data format if no errors are detected.
[0620] "Means for viewing and transmitting data at the terminal" refers to functions that allow the user to display and check data received and decoded by the terminal, and to transmit new data.
[0621] "Means for generating prompt sentences based on a generative AI model" refers to a function that uses a pre-trained artificial intelligence model to automatically generate appropriate prompt sentences based on specific input.
[0622] The system of the present invention allows a server, a terminal, and a user to work together to achieve efficient and reliable data transmission, particularly in food delivery services. Specific embodiments of the system are described below.
[0623] Server-side processing
[0624] Receiving data
[0625] The server receives large volumes of data, such as menu images and food photos, sent by users. Because the volume of the received data is large as is, efficient data transmission is required.
[0626] Data compression
[0627] The server compresses the received large amount of data using a compression algorithm (e.g., zstd), which reduces data redundancy and reduces the amount of data to be transmitted.
[0628] Adding error detection code
[0629] The compressed data is then appended with an error-detection cyclic redundancy check code (CRC), which allows for the detection of errors that may occur during subsequent data transmission.
[0630] Sending data
[0631] The server sends the data to the terminal after compression and error detection codes have been added, resulting in efficient and reliable data transmission.
[0632] Terminal side processing
[0633] Receiving data
[0634] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[0635] Error Detection
[0636] The terminal checks the error detection code of the received data. Specifically, it recalculates the CRC for the received data and compares it with the CRC value sent by the server. This check confirms the accuracy of the data.
[0637] Decrypting Data
[0638] If no errors are detected, the device decodes the data to its original state, specifically by analyzing the data according to the compression algorithm and restoring it to its original form.
[0639] Viewing and sending data
[0640] On the terminal, the user can view the decrypted data, or take new food photos and upload them using a compression algorithm.
[0641] Using generative AI models
[0642] Based on the on-device generative AI model (e.g., GPT-4), prompts can be automatically generated in response to specific input, allowing users to efficiently post reviews and comments.
[0643] Specific examples
[0644] For example, consider the case where a user wants to post a new review.
[0645] 1. The user selects a food photo (50MB) they have taken and clicks the post button.
[0646] 2. Photos are automatically compressed to 15MB and a CRC value is added.
[0647] 3. The compressed data is sent to the server and a CRC check is performed to verify it.
[0648] 4. Once verification is complete, the food photo will appear as a review in the app.
[0649] Example prompt sentence:
[0650] "When a user selects a food photo they have taken and clicks the post button, the photo is automatically compressed and an error detection code is added. The compressed data is sent to the server and a CRC verification is performed. Once the verification is complete, the food photo will be displayed as a review in the app."
[0651] The above is a specific embodiment for implementing the system of the present invention, which is expected to improve data transmission efficiency, reliability, and user experience.
[0652] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0653] Step 1:
[0654] Receiving data (server side)
[0655] The server receives large amounts of data such as menu images and food photos sent by users. The input here is the image data sent by the user from their device, and the output is the raw image data received by the server.
[0656] Step 2:
[0657] Data compression (server side)
[0658] The server compresses the received large amount of data using a compression algorithm (e.g., zstd). The input is the raw image data received in step 1, and the output is compressed image data. Specifically, the zstd algorithm reduces data redundancy, resulting in a smaller file size.
[0659] Step 3:
[0660] Adding error detection code (server side)
[0661] The server adds a cyclic redundancy check code (CRC) to the compressed data for error detection. The input is the image data compressed in step 2, and the output is the compressed data with the error detection code added.
[0662] Step 4:
[0663] Sending data (server side)
[0664] The server sends the compressed and error-detection-coded data to the terminal. The input is the data generated in step 3, and the output is the compressed data sent to the terminal.
[0665] Step 5:
[0666] Receiving data (terminal side)
[0667] The terminal receives the compressed data sent from the server. The input is the compressed data sent from the server, and the output is the compressed data received by the terminal.
[0668] Step 6:
[0669] Error detection (terminal side)
[0670] The terminal checks the error detection code (CRC) of the received data. Specifically, it recalculates the CRC for the received data and compares it with the CRC value sent by the server. The input is the compressed data received in step 5 and its CRC value, and the output is the result of whether an error was detected.
[0671] Step 7:
[0672] Data decryption (terminal side)
[0673] If no errors are detected, the terminal decodes the compressed data to its original state. Specifically, it parses the data according to the compression algorithm (e.g., zstd) and restores it to its original form. The input is the compressed data for which no errors were detected in step 6, and the output is the decoded image data.
[0674] Step 8:
[0675] Viewing and sending data (user side)
[0676] The user can view the decoded data on the device. The user can also take new food photos and upload them using the same compression algorithm. The input is the image data decoded by the device and the image data newly taken by the user, and the output is the image data viewed by the user and the compressed data uploaded to the server.
[0677] Step 9:
[0678] Prompt generation using a generative AI model (device side)
[0679] The device uses a built-in generative AI model (e.g., GPT-4) to generate prompts based on specific inputs, allowing users to efficiently post reviews and comments. The input is the user's review content and photos, and the output is the prompt generated by the generative AI model.
[0680] For example: "When a user selects a food photo they have taken and clicks the post button, the photo is automatically compressed and an error detection code is added. The compressed data is sent to our server for CRC verification. Once verification is complete, the food photo will appear in the app as a review."
[0681] 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.
[0682] The system of the present invention enables the server, terminal, and user to work together to achieve efficient data transmission, and also improves the user experience by combining an emotion engine that recognizes the user's emotions. In this system, the server receives data from the user and performs processes such as compression, transmission, and verification, as well as analyzing the emotion data, thereby ensuring the reliability and efficiency of the data and providing feedback according to the user's emotions.
[0683] Server-side processing
[0684] Receiving data
[0685] The server receives the data sent by the user, which is usually a large file or piece of information.
[0686] Data compression
[0687] The server compresses the received data using a compression algorithm. This algorithm includes specific analysis means to reduce data redundancy. For example, it analyzes the content of the data and performs processing such as deleting redundant information, thereby reducing data volume.
[0688] Adding error detection code
[0689] The server adds a code to the compressed data for error detection. Specifically, it calculates a cyclic redundancy check code (CRC) and adds it to the data, so that errors during data transmission can be detected.
[0690] Sending data
[0691] The server sends the data, which has been compressed and has error detection codes added, to the terminal.
[0692] Terminal side processing
[0693] Receiving data
[0694] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[0695] Error Detection
[0696] The terminal checks the error detection code (CRC) of the received data, recalculates the CRC for the received data, and compares it with the CRC value sent by the server to verify the accuracy of the data.
[0697] Decrypting Data
[0698] If no errors are detected, the terminal decodes the data back to its original form, analyzing it according to the compression algorithm and restoring it to its original state.
[0699] User processing
[0700] Uploading data
[0701] A user uploads data to a server, a process that involves the user sending large files or information to the server.
[0702] Download and view data
[0703] The user downloads the data sent from the server to the terminal and views or uses the decrypted data.
[0704] Emotion engine processing
[0705] Acquiring emotion data
[0706] The server uses an emotion engine to analyze the voice data and facial expression data acquired from the user. For example, the server captures the voice and facial expression when the user uploads data and acquires them as emotion data.
[0707] Emotion Analysis
[0708] The server uses an emotion engine to analyze the acquired voice data and facial expression data to recognize the user's emotions. For example, the emotion engine analyzes changes in voice tone and facial expressions to identify the user's emotional state, such as "happy," "confused," or "dissatisfied."
[0709] Emotion-based feedback
[0710] The server provides appropriate feedback to the user based on the analysis results, for example, providing additional help information if the user is confused, or displaying a positive message if the user is satisfied.
[0711] Specific examples
[0712] Example 1: Uploading a photo file and analyzing sentiment
[0713] Let's consider the case where a user uploads a 100MB photo file to a server. When the user performs the upload operation, the emotion engine captures the user's voice and facial expressions. The server receives the photo file, compresses it to 30MB using a compression algorithm, adds a CRC, and sends the data to the device. During this time, the emotion engine analyzes the user's emotions and provides appropriate help information if, for example, the user is confused. The device verifies that the received compressed data is error-free, decodes the data into a 100MB photo file, and displays it to the user.
[0714] The above is a specific embodiment for implementing the system of the present invention. This system not only enables efficient data transmission and improved reliability, but also provides appropriate feedback based on the user's emotions, improving the user experience.
[0715] The processing flow will be explained below.
[0716] Server-side processing
[0717] Step 1:
[0718] The server receives the data sent by the user, for example, a 100MB photo file.
[0719] Step 2:
[0720] The server compresses the received data using a compression algorithm that uses specific analytical methods to reduce data redundancy, reducing the file size to 30MB.
[0721] Step 3:
[0722] The server adds an error detection code to the compressed data. Specifically, it calculates a cyclic redundancy check code (CRC) and adds it to the compressed data.
[0723] Step 4:
[0724] The server transmits the compressed data with an error detection code added to it to the terminal.
[0725] Terminal side processing
[0726] Step 1:
[0727] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[0728] Step 2:
[0729] The terminal checks the error detection code of the received data, recalculates the CRC for the received data, and compares it with the CRC value sent by the server.
[0730] Step 3:
[0731] If no errors are detected, the device will decode the data back to its original format, analyze it based on the compression algorithm, and restore the original 100MB photo file.
[0732] User processing
[0733] Step 1:
[0734] A user uploads data to a server, a process that involves the user sending large files or information to the server.
[0735] Step 2:
[0736] The user downloads the data sent from the server to the terminal and views or uses the decrypted data.
[0737] Emotion engine processing
[0738] Step 1:
[0739] The server acquires the user's voice data and facial expression data, for example, when the user uploads a photo, the server captures the voice data and facial expression data through a camera or microphone.
[0740] Step 2:
[0741] The server uses an emotion engine to analyze the voice data and facial expression data to recognize the user's emotions. The emotion engine analyzes changes in voice tone and facial expressions to identify the user's emotions, such as "confused" or "satisfied."
[0742] Step 3:
[0743] The server provides appropriate feedback to the user based on the analysis results, for example, displaying additional help information if the analysis indicates that the user is confused.
[0744] Specific examples
[0745] Photo file upload and sentiment analysis
[0746] Step 1:
[0747] A user uploads a 100MB photo file to the server. During the upload, the camera and microphone capture the user's facial expressions and voice data.
[0748] Step 2:
[0749] The server receives the 100MB photo file and simultaneously sends the captured facial and voice data to the emotion engine.
[0750] Step 3:
[0751] The server compresses the photo files to 30MB using a compression algorithm. The emotion engine analyzes facial expression and voice data to recognize the user's emotional state.
[0752] Step 4:
[0753] The server calculates a CRC on the compressed data and adds an error detection code.
[0754] Step 5:
[0755] The server then sends the compressed data with an error detection code attached to it to the terminal, and simultaneously displays appropriate feedback to the user based on the emotion analysis results.
[0756] Step 6:
[0757] The terminal receives the compressed data transmitted from the server.
[0758] Step 7:
[0759] The terminal verifies the CRC of the received data, and if it matches, decrypts the data and restores it to its original form.
[0760] Step 8:
[0761] The decrypted photo file is displayed to the user.
[0762] The above is a specific embodiment of the system of the present invention, which not only transmits data efficiently and reliably, but also provides appropriate feedback according to the user's emotions, improving the user experience.
[0763] Example 2
[0764] 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."
[0765] Conventional data communication systems require a long time to transmit large amounts of data and lack sufficient error detection and recovery capabilities. Therefore, there is a need to improve data reliability and efficiency. Furthermore, there is a need to improve the user experience by providing feedback based on the user's emotional state.
[0766] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0767] In this invention, the server includes a means for receiving data, a means for compressing the received data using a compression algorithm, and a means for adding an error detection code to the compressed data. This enables efficient data compression and improved reliability. The server also includes a means for using an emotion engine to acquire a user's voice data and facial expression data, a means for analyzing the acquired voice data and facial expression data to recognize the user's emotion, and a means for providing feedback based on the analyzed emotional data. This improves the user experience and increases the reliability and efficiency of data transmission.
[0768] "Data" refers to information sent from the user to the server, including large electronic files including images, audio, and text files.
[0769] A "compression algorithm" is an analytical method for reducing redundant data and reducing data volume; specific examples include LZ77 and Huffman coding.
[0770] An "error detection code" is a code added to verify the accuracy of data and is a means of detecting errors during data transmission.
[0771] A "cyclic redundancy check code (CRC)" is a type of error detection code used to verify data integrity and identify errors in transmitted data.
[0772] The "emotion engine" is an analytical means for analyzing the user's voice data and facial expression data to recognize their emotional state.
[0773] "Voice data" refers to data in which the voice uttered by the user is recorded in digital format.
[0774] "Facial expression data" refers to data that captures a user's facial expression using a camera or the like and records it in digital format.
[0775] "Feedback" refers to information or messages provided to users based on acquired emotional data, and is a means of improving the user experience.
[0776] "Decoding" is the process of restoring data that has been compressed by a compression algorithm back to its original form.
[0777] "Data transmission" is the process of sending and receiving information between a server and a terminal, and is carried out using a communication protocol.
[0778] MODE FOR CARRYING OUT THE INVENTION
[0779] The system of the present invention allows the server, terminal, and user to work together to improve the efficiency and reliability of data transmission, and also uses an emotion engine to analyze the user's emotions and provide appropriate feedback. This system allows users to transmit data quickly and reliably when uploading or downloading data, and further provides a better user experience by receiving emotion-based feedback.
[0780] Server-side processing
[0781] The server first receives large amounts of data sent by the user. This data may include, for example, high-resolution photo files or video files. After receiving the data, the server uses a compression algorithm to compress it and reduce the data size. Common compression algorithms are LZ77 and Huffman coding. The server then calculates a cyclic redundancy check code (CRC) and adds it to the compressed data for error detection. This allows errors during data transmission to be detected.
[0782] The server then sends the compressed and error-detection-coded data to the device. At the same time, the emotion engine captures and analyzes the user's voice and facial expression data. It analyzes voice tone and facial expression changes to identify the user's emotions. For example, if the user is confused, it can provide appropriate help information, and if the user is satisfied, it can display a positive message.
[0783] Terminal side processing
[0784] The terminal receives the compressed data sent from the server. This data also contains an error detection code. The terminal checks the CRC of the received data and checks whether the calculated CRC value matches the CRC value from the server. If no errors are detected, the terminal decodes the data to its original form. Specifically, it decompresses the data according to the compression algorithm and restores it to its original state.
[0785] User processing
[0786] A user uploads a large amount of data to the server. For example, the user uses the file upload function of the browser to send a 100MB photo file to the server. During this process, the user's voice and facial expressions are captured by the emotion engine. When downloading data, the data sent from the server is downloaded to the device, and the decrypted data is then viewed or used.
[0787] Specific examples
[0788] Example 1: Uploading a photo file and analyzing sentiment
[0789] Let's consider the case where a user uploads a 100MB photo file to a server. When the user performs the upload operation, the emotion engine captures the user's voice and facial expressions. The server receives the photo file, compresses it to 30MB using a compression algorithm, adds a CRC, and sends the data to the device. During this time, the emotion engine analyzes the user's emotions and provides appropriate help information if, for example, the user is confused. The device verifies that the received compressed data is error-free, decodes the data into a 100MB photo file, and displays it to the user.
[0790] Prompt Sentence Examples
[0791] Prompt example 1: Explain the details of the data compression process
[0792] "When a user uploads a 100MB photo file to a server, please explain in detail how the data is compressed on the server side."
[0793] Sample prompt 2: Explain the sentiment analysis process
[0794] "Please explain in detail the process by which the server analyzes emotions using voice and facial expression data while the user is uploading data."
[0795] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0796] Server-side processing
[0797] Step 1: Receiving Data
[0798] Input: Large amount of data sent by the user (e.g. 100MB photo file)
[0799] Processing: The server receives this data via HTTP or HTTPS protocol.
[0800] Output: Received large amount of data
[0801] Specific behavior:
[0802] The server receives the file uploaded by the user and stores it in the specified directory.
[0803] Step 2: Compress the data
[0804] Input: Received large amount of data
[0805] Processing: The server compresses the data using a compression algorithm such as LZ77 or Huffman coding.
[0806] Output: Compressed data (e.g. 30MB data)
[0807] Specific behavior:
[0808] The server analyzes the data content and efficiently compresses it to reduce redundant data.
[0809] Step 3: Adding error detection code
[0810] Input: Compressed data
[0811] Processing: The server calculates a cyclic redundancy check code (CRC) and appends it to the compressed data.
[0812] Output: Compressed data with CRC added
[0813] Specific behavior:
[0814] The server calculates a CRC value based on the content of the compressed data and appends it to the data.
[0815] Step 4: Sending data
[0816] Input: Compressed data with CRC
[0817] Processing: The server sends this data to the terminal using the TCP / IP protocol.
[0818] Output: Compressed data sent
[0819] Specific behavior:
[0820] The server divides the compressed data into packets and transmits them to the terminal.
[0821] Step 5: Obtaining emotion data
[0822] Input: User's voice and facial expression data
[0823] Processing: The server uses the emotion engine to capture voice and facial expression data obtained from the user.
[0824] Output: Retrieved emotion data
[0825] Specific behavior:
[0826] The server acquires the user's voice and facial expressions during the upload operation and stores them as emotional data.
[0827] Step 6: Sentiment Analysis
[0828] Input: Acquired emotion data
[0829] Processing: The server uses an emotion engine to analyze voice tone and facial expression changes to recognize the user's emotional state.
[0830] Output: Analysis result (user's emotional state)
[0831] Specific behavior:
[0832] The server analyzes subtle changes in the pitch of the voice tone and facial expressions to determine the user's emotional state, such as "confusion" or "satisfaction."
[0833] Step 7: Emotional Feedback
[0834] Input: Analysis result (user's emotional state)
[0835] Processing: The server generates appropriate feedback based on the analysis results and provides it to the user.
[0836] Output: Feedback content
[0837] Specific behavior:
[0838] If the user is confused, it will display additional help information or guidance, and if they are satisfied, it will send a thank you message.
[0839] Terminal side processing
[0840] Step 1: Receiving Data
[0841] Input: Compressed data sent from the server
[0842] Processing: The terminal receives the data using the TCP / IP protocol.
[0843] Output: Compressed data received
[0844] Specific behavior:
[0845] The terminal reconstructs the packets received through the network and stores them as compressed data.
[0846] Step 2: Error detection
[0847] Input: Compressed data received
[0848] Processing: The device calculates the CRC and verifies the accuracy of the data by comparing it with the CRC value sent by the server.
[0849] Output: Errors or not
[0850] Specific behavior:
[0851] The terminal recalculates the CRC based on the received data to verify the integrity of the data.
[0852] Step 3: Decrypt the data
[0853] Input: Compressed data with no errors detected
[0854] Processing: The device uses a compression algorithm to decode the data back to its original form.
[0855] Output: Decrypted data (e.g. 100MB photo file)
[0856] Specific behavior:
[0857] The terminal decompresses the compressed data and restores it to its original format.
[0858] User processing
[0859] Step 1: Upload your data
[0860] Input: Large amount of data (e.g. 100MB photo file)
[0861] Process: The user uses the browser's file upload function to send data to the server.
[0862] Output: Data sent to the server
[0863] Specific behavior:
[0864] The user selects the file to upload from the file selection dialog and clicks the "Submit" button.
[0865] Step 2: Download and view the data
[0866] Input: Decrypted data received from the server
[0867] Processing: The user downloads the received data to their device and views or uses it.
[0868] Output: Viewable data
[0869] Specific behavior:
[0870] The user opens the decrypted data using a browser or dedicated software and checks its contents.
[0871] (Application example 2)
[0872] 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."
[0873] While conventional data transmission systems achieve efficient and reliable data transmission, they have limitations in improving the user experience. In particular, they are unable to provide feedback or responses based on the user's emotions, making it difficult to sufficiently increase user satisfaction. To solve this problem, a system that recognizes the user's emotions in real time and provides feedback accordingly is needed.
[0874] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0875] In this invention, the server includes means for receiving data, means for compressing the received data using a compression algorithm, means for adding an error detection code to the compressed data, means for transmitting the compressed data with the error detection code added, means for receiving the transmitted data, means for checking the error detection code in the received data, means for decoding the checked data, means for acquiring user emotion data, means for analyzing the acquired emotion data, and means for providing feedback based on the analyzed emotion data. This enables efficient and reliable data transmission as well as appropriate feedback that takes the user's emotion into consideration.
[0876] "Means for receiving data" refers to a device or program for receiving data transmitted from another device via a network.
[0877] A "compression algorithm" is a computational procedure for reducing data redundancy and reducing the amount of data, thereby making it easier to store and transmit.
[0878] An "error detection code" is a code added to detect errors that may occur during data transmission. A typical example is the cyclic redundancy check code (CRC).
[0879] "Means for adding error detection code" refers to a device or program for adding error detection code to compressed data.
[0880] "Means for transmitting data" refers to a device or program for sending data to another device over a network.
[0881] "Means for checking the error detection code of the received data" refers to a device or program for checking the error detection code of the data received from the server and confirming whether the data was received correctly.
[0882] "Means for decoding data" refers to a device or program that restores data that has been compressed and has had error detection codes added to it back to its original form.
[0883] "Means for acquiring user emotion data" refers to a device or program for capturing the user's voice and facial expressions and collecting that data.
[0884] The "means for analyzing acquired emotional data" refers to a device or program for analyzing acquired voice data and facial expression data and identifying the user's emotions.
[0885] The "means for providing feedback based on analyzed emotion data" refers to a device or program for providing appropriate feedback to the user based on the analysis results.
[0886] The system of the present invention optimizes the display of advertisements by combining efficient data transmission with an emotion engine that recognizes user emotions. This system works in cooperation with the server, terminal, and user, and provides effective feedback according to the user's emotions, thereby improving the user experience.
[0887] Server-side processing
[0888] Receiving and compressing data
[0889] The server receives various data sent by users (e.g., advertising data, emotion analysis results, etc.). The server then compresses the received data using a compression algorithm (e.g., standard compression techniques) to reduce the data volume. An error detection code (e.g., CRC) is added to the compressed data to enable data errors to be detected.
[0890] Acquiring and analyzing emotion data
[0891] The server uses an emotion engine to acquire the user's emotion data. The emotion data is acquired from data capturing the user's facial expressions and voice. For example, the user's facial expressions and tone of voice are collected in real time through a camera and microphone. The emotion engine then analyzes the data and recognizes the user's emotion (happiness, sadness, excitement, etc.).
[0892] Providing feedback
[0893] Based on the analysis results, the server selects and serves appropriate advertisements to the user, which helps the user receive appropriate feedback and maximizes the effectiveness of the advertisements. For example, if the user is excited, entertainment-related advertisements are displayed, and if the user is relaxed, relaxation-related advertisements are displayed.
[0894] Terminal side processing
[0895] Receiving and Decrypting Data
[0896] The device receives the data sent by the server. It checks the error detection code to ensure the data was received correctly. It then decrypts the data and returns it to its original form. At this stage, the user is presented with appropriate advertising and feedback.
[0897] User operation
[0898] Uploading data
[0899] When a user uploads large files such as photos and videos to the server, the emotion engine captures the user's facial expressions and voice and obtains them as emotion data.
[0900] Ad display and feedback
[0901] The user checks the decoded data (such as advertisements) sent from the server on their device. The system captures the user's feelings about the advertisement and sends the data to the server, providing emotional feedback to the system.
[0902] Hardware and software used
[0903] Hardware: A device with a camera and microphone, such as a smartphone, personal computer, or smart glasses.
[0904] software:
[0905] Emotion engine: Software for analyzing facial expressions and speech (e.g., emotion recognition API).
[0906] Ad selection algorithm: Software that selects the best ads based on user sentiment.
[0907] Data management system: A database (e.g., a cloud database) for storing and analyzing users' emotional feedback.
[0908] Specific examples
[0909] Prompt Sentence Examples
[0910] "I'm developing a new smartphone app that can dynamically display advertisements based on the user's emotions. When the user is happy, I want to automatically display entertainment advertisements, and when the user is relaxed, I want to automatically display relaxation advertisements. I also want to record the user's emotional feedback on the advertisements and use it in my marketing strategy."
[0911] This enables efficient and reliable data transmission as well as appropriate feedback that takes into account the user's emotions.
[0912] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0913] Step 1: Upload your data
[0914] A user uploads data (e.g., photos or video files) to a server using a smartphone or personal computer. The input data is a large multimedia file, and the server receives the file. The server stores the received data in a storage folder. The output is a message confirming successful reception.
[0915] Step 2: Obtaining emotion data
[0916] When a user performs an upload operation, the server starts the procedure to acquire emotion data. The input is the user's voice and facial expression data. The camera and microphone are used to capture the user's real-time voice and facial expressions. The acquired data is sent to the server and passed to an emotion analysis algorithm. The output is a set of emotion data.
[0917] Step 3: Compress the data
[0918] The server compresses the received large amount of data using a compression algorithm. The input is the original large amount of data. For example, the data size is reduced using a compression technique (ZIP, GZIP, etc.). An error detection code (e.g., CRC) is added to the compressed data. The output is the compressed data and the added error detection code.
[0919] Step 4: Analyze the sentiment data
[0920] The server analyzes the acquired user emotion data. The input is a set of emotion data. The emotion engine analyzes the voice tone and facial expressions to identify the user's emotional state (e.g., joy, sadness, excitement, etc.). The output is the identified emotional state information.
[0921] Step 5: Sending data
[0922] The server sends the compressed data with an error detection code to the terminal. The input is the compressed data and the error detection code. The data is sent over the network. The output is a message confirming successful transmission.
[0923] Step 6: Error detection and data reception
[0924] The terminal receives the data sent from the server and checks the error detection code. The input is the received data and the error detection code. The terminal recalculates the error detection code such as CRC and checks the accuracy of the data. The output is the error detection result (if there are no errors, proceed to the next step).
[0925] Step 7: Decrypt the data
[0926] If no errors are detected, the terminal decodes the data back to its original form. The input is the compressed data. The data is restored using the reverse process of the compression algorithm. The output is the decoded data.
[0927] Step 8: Provide feedback
[0928] The server selects appropriate advertisements based on the analysis results and provides them to the user. The input is the identified emotional state information. The advertisement selection algorithm selects advertisements that match the user's emotions, such as entertainment advertisements or relaxation advertisements, and sends them to the terminal. The output is the advertisement displayed on the user's terminal.
[0929] Specific examples
[0930] Example prompt sentence:
[0931] "I'm developing a new smartphone app that can dynamically display advertisements based on the user's emotions. When the user is happy, I want to automatically display entertainment advertisements, and when the user is relaxed, I want to automatically display relaxation advertisements. I also want to record the user's emotional feedback on the advertisements and use it in my marketing strategy."
[0932] This enables efficient and reliable data transmission as well as appropriate feedback that takes into account the user's emotions.
[0933] 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.
[0934] 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.
[0935] 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.
[0936] [Third embodiment]
[0937] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0938] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0939] 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).
[0940] 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.
[0941] 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.
[0942] 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).
[0943] 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.
[0944] 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.
[0945] 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.
[0946] 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.
[0947] 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.
[0948] 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."
[0949] The system of the present invention realizes efficient data transmission through the cooperation of a server, a terminal, and a user. In this system, the server first receives data from a user, and then goes through multiple steps, including compression, transmission, and verification, to ensure the reliability and efficiency of the data.
[0950] Server-side processing
[0951] Receiving data
[0952] The server receives the data sent by the user, which is often a large file or piece of information.
[0953] Data compression
[0954] The server compresses the received data using a compression algorithm. This algorithm includes specific analysis means to reduce data redundancy. For example, it analyzes the content of the data and performs processing such as deleting duplicated information. This reduces data volume.
[0955] Adding error detection code
[0956] The server adds an error detection code, specifically a cyclic redundancy check code (CRC), to the compressed data, allowing it to detect errors that may occur during subsequent data transmissions.
[0957] Sending data
[0958] The server sends the data to the terminal with compression and error detection codes added, which improves the efficiency and reliability of data transmission.
[0959] Terminal side processing
[0960] Receiving data
[0961] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[0962] Error Detection
[0963] The terminal checks the error detection code of the received data. Specifically, it recalculates the CRC for the received data and compares it with the CRC value sent by the server. This check confirms the accuracy of the data.
[0964] Decrypting Data
[0965] If no errors are detected, the terminal decodes the data to its original state, specifically by analyzing the data according to the compression algorithm and restoring it to its original form.
[0966] User processing
[0967] Uploading data
[0968] Users upload data to a server, a process that involves sending large files or information to the server.
[0969] Download and view data
[0970] The user downloads the data sent from the server and checks it after the terminal decrypts it. Specifically, the user views, plays, or uses the decrypted data on the terminal.
[0971] Specific examples
[0972] For example, consider the case where a user uploads a 100MB photo file to a server.
[0973] A user uploads a photo file to the server. The server receives the 100MB photo file and compresses the data to 30MB using a new compression algorithm. It then calculates a CRC for the compressed data and adds an error detection code. The added data is sent from the server to the device. The device receives the 30MB compressed data and checks the CRC. If no errors are detected, the device decodes the data into a 100MB photo file and displays it to the user.
[0974] The above is a specific embodiment for implementing the system of the present invention. It is expected that this system will enable efficient data transmission and improve reliability.
[0975] The processing flow will be explained below.
[0976] Server-side processing
[0977] Step 1:
[0978] The server receives data sent by the user, which is typically a large file or piece of information.
[0979] Step 2:
[0980] The server compresses the received data using a compression algorithm, first analyzing the data to identify and eliminate redundancies.
[0981] Step 3:
[0982] The server adds an error detection code to the compressed data. Specifically, it calculates a cyclic redundancy check code (CRC) and adds it to the data.
[0983] Step 4:
[0984] The server transmits the compressed data with an error detection code added to it to the terminal.
[0985] Terminal side processing
[0986] Step 1:
[0987] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[0988] Step 2:
[0989] The terminal checks the error detection code of the received data by recalculating the CRC for the received data and comparing it with the CRC value sent by the server.
[0990] Step 3:
[0991] If no errors are detected, the terminal decodes the data back to its original form, analyzing it according to the compression algorithm and restoring it to its original state.
[0992] User processing
[0993] Step 1:
[0994] A user uploads data to a server, a process that involves the user sending large files or information to the server.
[0995] Step 2:
[0996] The user downloads the data sent from the server to the terminal and views or uses the decrypted data.
[0997] Example 1
[0998] 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."
[0999] Existing data transmission systems have difficulty in efficiently and reliably transmitting and receiving large volumes of data. Furthermore, the time-consuming process of data error detection and decoding results in a poor user experience. The present invention provides a system for solving these problems.
[1000] 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.
[1001] In this invention, the server includes a means for receiving data, a means for compressing the received data using a compression algorithm, and a means for adding an error detection code to the compressed data. This enables efficient and reliable transmission and reception of large amounts of data. Furthermore, the server further includes a means for users to upload data, a means for the terminal to locally store the compressed data received, and a means for the user to view the decoded data using local viewer software, thereby improving the user experience.
[1002] The "means for receiving data" refers to a device or process by which the server obtains data sent from the user via the network.
[1003] A "means for compressing by a compression algorithm" is a device or process for compressing data using a particular algorithm in order to reduce the size of the received data.
[1004] A "means for adding an error detection code" is a device or process for generating a check code (e.g., a CRC) for received data and adding it to the data to verify its integrity.
[1005] A "means for transmitting" is a device or process for transmitting the compressed data with error detection codes attached to it over a network to a designated terminal.
[1006] The "receiving means" is a device or process by which the terminal obtains the data sent from the server.
[1007] The "means for verifying the error detection code" is a device or process for recalculating the error detection code of the received data and verifying whether it matches the error detection code sent from the server.
[1008] A "means for decoding verified data" is a device or process for converting verified compressed data back into its original form.
[1009] A "means for user data upload" is a device or process that allows a user to select a local file and send it to the server.
[1010] The "means for locally storing received compressed data" refers to a device or process by which the terminal stores compressed data received from the server in a local storage device.
[1011] "Means for the user to view the decrypted data using local viewer software" refers to a device or process that allows the user to view or use the data decrypted on the terminal using the viewer software that the user normally uses.
[1012] MODE FOR CARRYING OUT THE INVENTION
[1013] The system of the present invention realizes efficient and reliable data transmission through cooperation between a server, a terminal, and a user. This system includes a process in which a user uploads arbitrary data to a server, compresses it, adds an error detection code to it, and then transmits it to a terminal, where the terminal verifies and decodes the received data. In this embodiment, specific hardware and software and their operating procedures are described.
[1014] Specific operations on the server side
[1015] The server uses a web server such as Apache Tomcat or NGINX to receive data sent by users. The server compresses the received data in GZIP format using the Java java.util.zip library. A cyclic redundancy check code (CRC) is added to the compressed data to generate an error detection code, and the CRC32 algorithm is used to add this code.
[1016] The server sends the compressed data with the error detection code added to it to the terminal using the HTTP or HTTPS protocol. The typical transmission method is to return the compressed data as an HTTP response.
[1017] Specific operations on the terminal side
[1018] To receive the compressed data sent from the server, the device downloads the data using a command line tool such as curl or a web browser. The received data contains an error detection code, which the device checks using the CRC32 algorithm to verify that the data is error-free.
[1019] If no errors are detected, the device uses the Java java.util.zip library to decompress the compressed data and decode it back to its original format, which is then saved to local storage and made available to the user.
[1020] Specific actions on the user side
[1021] Users use a web browser or a dedicated upload tool to upload data to the server by sending an HTTP POST request to the server using an HTML form.
[1022] After downloading the data, users can view or use the decompressed data using local viewer software or playback tools, allowing users to utilize the data efficiently and reliably.
[1023] Examples and prompts
[1024] For example, here is a specific example where a user uploads a 100MB photo file to the server:
[1025] 1. The user selects a photo file in a web browser and performs the upload operation.
[1026] 2. The server compresses the received 100MB photo file using GZIP, reducing it to 30MB.
[1027] 3. The server calculates a CRC32 on the compressed file and adds an error detection code.
[1028] 4. The compressed and error-detection-coded data is sent from the server to the terminal.
[1029] 5. The device receives the 30MB compressed file, checks the CRC32, and if no errors are detected, decompresses it and restores the original 100MB photo file.
[1030] 6. The restored photo files can be viewed using the user's local viewer software.
[1031] A specific example of a prompt is as follows:
[1032] Design a system that compresses and transmits a photo file selected by a user in a web browser. Explain in detail the processing steps involved at the server, terminal, and user level, using GZIP as the compression algorithm and CRC32 for error detection.
[1033] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1034] Server-side processing
[1035] Step 1: Receiving Data
[1036] The server receives data sent by the user as an HTTP POST request. This input data is often a large file or piece of information. Specifically, the user presses the upload button in their web browser, which sends the data to the server. The output is a data file stored in the server's temporary memory.
[1037] Step 2: Compress the data
[1038] The server compresses the received data using a compression algorithm. The software used is the Java java.util.zip library, which compresses the data into GZIP format. The input is the received data file, and the output is compressed binary data. Specifically, the server analyzes the data for redundancy and performs a process to eliminate duplicated parts.
[1039] Step 3: Adding error detection code
[1040] The server adds an error detection code (CRC32) to the compressed data. Using the CRC32 algorithm, the input is the compressed data and the output is the data with the CRC32 code. This error detection code is used later to verify whether the data is correct.
[1041] Step 4: Sending data
[1042] The server sends the compressed data with an error detection code added to it as an HTTP response to the terminal. Specifically, it sends data using the HTTP or HTTPS protocol. The input is compressed data with a CRC32 code, and the output is the data sent over the network.
[1043] Terminal side processing
[1044] Step 1: Receiving Data
[1045] The terminal receives compressed data sent from the server via an HTTP request. This data is compressed and has error detection codes added. The input is the data received from the network, and the output is a locally stored compressed data file.
[1046] Step 2: Error detection
[1047] The terminal checks the CRC32 error detection code of the received data. Specifically, it recalculates the CRC32 for the received data and compares it with the CRC32 code sent by the server. The input is the compressed data file and the original CRC32 code, and the output is a flag indicating whether there are any errors. If no errors are detected, the data is confirmed to be correct.
[1048] Step 3: Decrypt the data
[1049] If no errors are detected, the terminal decompresses the data from GZIP format to its original state. This decompression is performed using the Java java.util.zip library. The input is a compressed data file that has been verified to be error-free, and the output is the original data file. This decompression process restores the data to its original format.
[1050] User processing
[1051] Step 1: Upload your data
[1052] A user selects a file from a file selection dialog in a web browser and uploads it to a server. This action sends the file to the server as an HTTP POST request. The input is the file to be uploaded, and the output is the request sent to the server.
[1053] Step 2: Download and view the data
[1054] The user clicks on the download link for the data sent from the server and the device receives the data. The data is then decompressed on the device and viewed or used using local viewer software or playback tools. The input is the data file downloaded to the device, and the output is the content displayed in the viewer software.
[1055] Examples and prompts
[1056] For example, when a user uploads a 100MB photo file to a server, the following steps are taken:
[1057] 1. The user selects a photo file in a web browser and uploads it to the server.
[1058] 2. The server compresses the received 100MB photo file using GZIP, reducing it to 30MB.
[1059] 3. The server calculates a CRC32 on the compressed file and adds an error detection code.
[1060] 4. The compressed and error-detection-coded data is sent from the server to the terminal.
[1061] 5. The device receives the 30MB compressed file, checks the CRC32, and if no errors are detected, decompresses it and restores the original 100MB photo file.
[1062] 6. The restored photo files can be viewed using the user's local viewer software.
[1063] An example of a prompt is as follows:
[1064] Design a system that compresses and transmits a photo file selected by a user in a web browser. Explain in detail the processing steps involved at the server, terminal, and user level, using GZIP as the compression algorithm and CRC32 for error detection.
[1065] (Application example 1)
[1066] 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."
[1067] Conventional large-volume data transmission systems face the challenge of taking a long time to compress and transmit data. Furthermore, many systems lack sufficient error detection capabilities to ensure data accuracy, leaving data reliability in doubt. Furthermore, in fields such as food delivery, the transmission of large amounts of menu images and food photos often becomes unsmooth, impacting the user experience. To address these challenges, a new data transmission system is needed.
[1068] 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.
[1069] In this invention, the server includes a means for receiving data, a means for compressing the received data using a compression algorithm, and a means for adding an error detection code to the compressed data. This enables data compression and error detection. The terminal includes a means for receiving transmitted data, a means for checking the error detection code of the received data, a means for decrypting the checked data, a means for viewing and transmitting the data at the terminal, and a means for generating a prompt sentence based on a generative AI model. This improves the efficiency and reliability of data transmission and provides an environment in which users can comfortably use applications.
[1070] "Means for receiving data" refers to a function that allows a server or terminal to take in data sent from outside.
[1071] The "means for compressing received data using a compression algorithm" is a function for reducing the size of received data using a specific compression algorithm in order to reduce the data volume.
[1072] "Means for adding an error detection code to compressed data" refers to a function that adds a code (e.g., CRC) for error detection to data after compression processing.
[1073] The "means for transmitting compressed data to which an error detection code has been added" is a function for transmitting compressed data to which an error detection code has been added to another device or server via a network.
[1074] The "means for receiving transmitted data" is a function for receiving data transmitted from other devices or servers.
[1075] The "means for checking the error detection code of the received data" is a function for checking whether the data has been transmitted correctly by using the error detection code added to the received data.
[1076] The "means for decoding the confirmed data" is a function for restoring the compressed data to its original data format if no errors are detected.
[1077] "Means for viewing and transmitting data at the terminal" refers to functions that allow the user to display and check data received and decoded by the terminal, and to transmit new data.
[1078] "Means for generating prompt sentences based on a generative AI model" refers to a function that uses a pre-trained artificial intelligence model to automatically generate appropriate prompt sentences based on specific input.
[1079] The system of the present invention allows a server, a terminal, and a user to work together to achieve efficient and reliable data transmission, particularly in food delivery services. Specific embodiments of the system are described below.
[1080] Server-side processing
[1081] Receiving data
[1082] The server receives large volumes of data, such as menu images and food photos, sent by users. Because the volume of the received data is large as is, efficient data transmission is required.
[1083] Data compression
[1084] The server compresses the received large amount of data using a compression algorithm (e.g., zstd), which reduces data redundancy and reduces the amount of data to be transmitted.
[1085] Adding error detection code
[1086] The compressed data is then appended with an error-detection cyclic redundancy check code (CRC), which allows for the detection of errors that may occur during subsequent data transmission.
[1087] Sending data
[1088] The server sends the data to the terminal after compression and error detection codes have been added, resulting in efficient and reliable data transmission.
[1089] Terminal side processing
[1090] Receiving data
[1091] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[1092] Error Detection
[1093] The terminal checks the error detection code of the received data. Specifically, it recalculates the CRC for the received data and compares it with the CRC value sent by the server. This check confirms the accuracy of the data.
[1094] Decrypting Data
[1095] If no errors are detected, the device decodes the data to its original state, specifically by analyzing the data according to the compression algorithm and restoring it to its original form.
[1096] Viewing and sending data
[1097] On the terminal, the user can view the decrypted data, or take new food photos and upload them using a compression algorithm.
[1098] Using generative AI models
[1099] Based on the on-device generative AI model (e.g., GPT-4), prompts can be automatically generated in response to specific input, allowing users to efficiently post reviews and comments.
[1100] Specific examples
[1101] For example, consider the case where a user wants to post a new review.
[1102] 1. The user selects a food photo (50MB) they have taken and clicks the post button.
[1103] 2. Photos are automatically compressed to 15MB and a CRC value is added.
[1104] 3. The compressed data is sent to the server and a CRC check is performed to verify it.
[1105] 4. Once verification is complete, the food photo will appear as a review in the app.
[1106] Example prompt sentence:
[1107] "When a user selects a food photo they have taken and clicks the post button, the photo is automatically compressed and an error detection code is added. The compressed data is sent to the server and a CRC verification is performed. Once the verification is complete, the food photo will be displayed as a review in the app."
[1108] The above is a specific embodiment for implementing the system of the present invention, which is expected to improve data transmission efficiency, reliability, and user experience.
[1109] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1110] Step 1:
[1111] Receiving data (server side)
[1112] The server receives large amounts of data such as menu images and food photos sent by users. The input here is the image data sent by the user from their device, and the output is the raw image data received by the server.
[1113] Step 2:
[1114] Data compression (server side)
[1115] The server compresses the received large amount of data using a compression algorithm (e.g., zstd). The input is the raw image data received in step 1, and the output is compressed image data. Specifically, the zstd algorithm reduces data redundancy, resulting in a smaller file size.
[1116] Step 3:
[1117] Adding error detection code (server side)
[1118] The server adds a cyclic redundancy check code (CRC) to the compressed data for error detection. The input is the image data compressed in step 2, and the output is the compressed data with the error detection code added.
[1119] Step 4:
[1120] Sending data (server side)
[1121] The server sends the compressed and error-detection-coded data to the terminal. The input is the data generated in step 3, and the output is the compressed data sent to the terminal.
[1122] Step 5:
[1123] Receiving data (terminal side)
[1124] The terminal receives the compressed data sent from the server. The input is the compressed data sent from the server, and the output is the compressed data received by the terminal.
[1125] Step 6:
[1126] Error detection (terminal side)
[1127] The terminal checks the error detection code (CRC) of the received data. Specifically, it recalculates the CRC for the received data and compares it with the CRC value sent by the server. The input is the compressed data received in step 5 and its CRC value, and the output is the result of whether an error was detected.
[1128] Step 7:
[1129] Data decryption (terminal side)
[1130] If no errors are detected, the terminal decodes the compressed data to its original state. Specifically, it parses the data according to the compression algorithm (e.g., zstd) and restores it to its original form. The input is the compressed data for which no errors were detected in step 6, and the output is the decoded image data.
[1131] Step 8:
[1132] Viewing and sending data (user side)
[1133] The user can view the decoded data on the device. The user can also take new food photos and upload them using the same compression algorithm. The input is the image data decoded by the device and the image data newly taken by the user, and the output is the image data viewed by the user and the compressed data uploaded to the server.
[1134] Step 9:
[1135] Prompt generation using a generative AI model (device side)
[1136] The device uses a built-in generative AI model (e.g., GPT-4) to generate prompts based on specific inputs, allowing users to efficiently post reviews and comments. The input is the user's review content and photos, and the output is the prompt generated by the generative AI model.
[1137] For example: "When a user selects a food photo they have taken and clicks the post button, the photo is automatically compressed and an error detection code is added. The compressed data is sent to our server for CRC verification. Once verification is complete, the food photo will appear in the app as a review."
[1138] 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.
[1139] The system of the present invention enables the server, terminal, and user to work together to achieve efficient data transmission, and also improves the user experience by combining an emotion engine that recognizes the user's emotions. In this system, the server receives data from the user and performs processes such as compression, transmission, and verification, as well as analyzing the emotion data, thereby ensuring the reliability and efficiency of the data and providing feedback according to the user's emotions.
[1140] Server-side processing
[1141] Receiving data
[1142] The server receives the data sent by the user, which is usually a large file or piece of information.
[1143] Data compression
[1144] The server compresses the received data using a compression algorithm. This algorithm includes specific analysis means to reduce data redundancy. For example, it analyzes the content of the data and performs processing such as deleting redundant information, thereby reducing data volume.
[1145] Adding error detection code
[1146] The server adds a code to the compressed data for error detection. Specifically, it calculates a cyclic redundancy check code (CRC) and adds it to the data, so that errors during data transmission can be detected.
[1147] Sending data
[1148] The server sends the data, which has been compressed and has error detection codes added, to the terminal.
[1149] Terminal side processing
[1150] Receiving data
[1151] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[1152] Error Detection
[1153] The terminal checks the error detection code (CRC) of the received data, recalculates the CRC for the received data, and compares it with the CRC value sent by the server to verify the accuracy of the data.
[1154] Decrypting Data
[1155] If no errors are detected, the terminal decodes the data back to its original form, analyzing it according to the compression algorithm and restoring it to its original state.
[1156] User processing
[1157] Uploading data
[1158] A user uploads data to a server, a process that involves the user sending large files or information to the server.
[1159] Download and view data
[1160] The user downloads the data sent from the server to the terminal and views or uses the decrypted data.
[1161] Emotion engine processing
[1162] Acquiring emotion data
[1163] The server uses an emotion engine to analyze the voice data and facial expression data acquired from the user. For example, the server captures the voice and facial expression when the user uploads data and acquires them as emotion data.
[1164] Emotion Analysis
[1165] The server uses an emotion engine to analyze the acquired voice data and facial expression data to recognize the user's emotions. For example, the emotion engine analyzes changes in voice tone and facial expressions to identify the user's emotional state, such as "happy," "confused," or "dissatisfied."
[1166] Emotion-based feedback
[1167] The server provides appropriate feedback to the user based on the analysis results, for example, providing additional help information if the user is confused, or displaying a positive message if the user is satisfied.
[1168] Specific examples
[1169] Example 1: Uploading a photo file and analyzing sentiment
[1170] Let's consider the case where a user uploads a 100MB photo file to a server. When the user performs the upload operation, the emotion engine captures the user's voice and facial expressions. The server receives the photo file, compresses it to 30MB using a compression algorithm, adds a CRC, and sends the data to the device. During this time, the emotion engine analyzes the user's emotions and provides appropriate help information if, for example, the user is confused. The device verifies that the received compressed data is error-free, decodes the data into a 100MB photo file, and displays it to the user.
[1171] The above is a specific embodiment for implementing the system of the present invention. This system not only enables efficient data transmission and improved reliability, but also provides appropriate feedback based on the user's emotions, improving the user experience.
[1172] The processing flow will be explained below.
[1173] Server-side processing
[1174] Step 1:
[1175] The server receives the data sent by the user, for example, a 100MB photo file.
[1176] Step 2:
[1177] The server compresses the received data using a compression algorithm that uses specific analytical methods to reduce data redundancy, reducing the file size to 30MB.
[1178] Step 3:
[1179] The server adds an error detection code to the compressed data. Specifically, it calculates a cyclic redundancy check code (CRC) and adds it to the compressed data.
[1180] Step 4:
[1181] The server transmits the compressed data with an error detection code added to it to the terminal.
[1182] Terminal side processing
[1183] Step 1:
[1184] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[1185] Step 2:
[1186] The terminal checks the error detection code of the received data, recalculates the CRC for the received data, and compares it with the CRC value sent by the server.
[1187] Step 3:
[1188] If no errors are detected, the device will decode the data back to its original format, analyze it based on the compression algorithm, and restore the original 100MB photo file.
[1189] User processing
[1190] Step 1:
[1191] A user uploads data to a server, a process that involves the user sending large files or information to the server.
[1192] Step 2:
[1193] The user downloads the data sent from the server to the terminal and views or uses the decrypted data.
[1194] Emotion engine processing
[1195] Step 1:
[1196] The server acquires the user's voice data and facial expression data, for example, when the user uploads a photo, the server captures the voice data and facial expression data through a camera or microphone.
[1197] Step 2:
[1198] The server uses an emotion engine to analyze the voice data and facial expression data to recognize the user's emotions. The emotion engine analyzes changes in voice tone and facial expressions to identify the user's emotions, such as "confused" or "satisfied."
[1199] Step 3:
[1200] The server provides appropriate feedback to the user based on the analysis results, for example, displaying additional help information if the analysis indicates that the user is confused.
[1201] Specific examples
[1202] Photo file upload and sentiment analysis
[1203] Step 1:
[1204] A user uploads a 100MB photo file to the server. During the upload, the camera and microphone capture the user's facial expressions and voice data.
[1205] Step 2:
[1206] The server receives the 100MB photo file and simultaneously sends the captured facial and voice data to the emotion engine.
[1207] Step 3:
[1208] The server compresses the photo files to 30MB using a compression algorithm. The emotion engine analyzes facial expression and voice data to recognize the user's emotional state.
[1209] Step 4:
[1210] The server calculates a CRC on the compressed data and adds an error detection code.
[1211] Step 5:
[1212] The server then sends the compressed data with an error detection code attached to it to the terminal, and simultaneously displays appropriate feedback to the user based on the emotion analysis results.
[1213] Step 6:
[1214] The terminal receives the compressed data transmitted from the server.
[1215] Step 7:
[1216] The terminal verifies the CRC of the received data, and if it matches, decrypts the data and restores it to its original form.
[1217] Step 8:
[1218] The decrypted photo file is displayed to the user.
[1219] The above is a specific embodiment of the system of the present invention, which not only transmits data efficiently and reliably, but also provides appropriate feedback according to the user's emotions, improving the user experience.
[1220] Example 2
[1221] 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."
[1222] Conventional data communication systems require a long time to transmit large amounts of data and lack sufficient error detection and recovery capabilities. Therefore, there is a need to improve data reliability and efficiency. Furthermore, there is a need to improve the user experience by providing feedback based on the user's emotional state.
[1223] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1224] In this invention, the server includes a means for receiving data, a means for compressing the received data using a compression algorithm, and a means for adding an error detection code to the compressed data. This enables efficient data compression and improved reliability. The server also includes a means for using an emotion engine to acquire a user's voice data and facial expression data, a means for analyzing the acquired voice data and facial expression data to recognize the user's emotion, and a means for providing feedback based on the analyzed emotional data. This improves the user experience and increases the reliability and efficiency of data transmission.
[1225] "Data" refers to information sent from the user to the server, including large electronic files including images, audio, and text files.
[1226] A "compression algorithm" is an analytical method for reducing redundant data and reducing data volume; specific examples include LZ77 and Huffman coding.
[1227] An "error detection code" is a code added to verify the accuracy of data and is a means of detecting errors during data transmission.
[1228] A "cyclic redundancy check code (CRC)" is a type of error detection code used to verify data integrity and identify errors in transmitted data.
[1229] The "emotion engine" is an analytical means for analyzing the user's voice data and facial expression data to recognize their emotional state.
[1230] "Voice data" refers to data in which the voice uttered by the user is recorded in digital format.
[1231] "Facial expression data" refers to data that captures a user's facial expression using a camera or the like and records it in digital format.
[1232] "Feedback" refers to information or messages provided to users based on acquired emotional data, and is a means of improving the user experience.
[1233] "Decoding" is the process of restoring data that has been compressed by a compression algorithm back to its original form.
[1234] "Data transmission" is the process of sending and receiving information between a server and a terminal, and is carried out using a communication protocol.
[1235] MODE FOR CARRYING OUT THE INVENTION
[1236] The system of the present invention allows the server, terminal, and user to work together to improve the efficiency and reliability of data transmission, and also uses an emotion engine to analyze the user's emotions and provide appropriate feedback. This system allows users to transmit data quickly and reliably when uploading or downloading data, and further provides a better user experience by receiving emotion-based feedback.
[1237] Server-side processing
[1238] The server first receives large amounts of data sent by the user. This data may include, for example, high-resolution photo files or video files. After receiving the data, the server uses a compression algorithm to compress it and reduce the data size. Common compression algorithms are LZ77 and Huffman coding. The server then calculates a cyclic redundancy check code (CRC) and adds it to the compressed data for error detection. This allows errors during data transmission to be detected.
[1239] The server then sends the compressed and error-detection-coded data to the device. At the same time, the emotion engine captures and analyzes the user's voice and facial expression data. It analyzes voice tone and facial expression changes to identify the user's emotions. For example, if the user is confused, it can provide appropriate help information, and if the user is satisfied, it can display a positive message.
[1240] Terminal side processing
[1241] The terminal receives the compressed data sent from the server. This data also contains an error detection code. The terminal checks the CRC of the received data and checks whether the calculated CRC value matches the CRC value from the server. If no errors are detected, the terminal decodes the data to its original form. Specifically, it decompresses the data according to the compression algorithm and restores it to its original state.
[1242] User processing
[1243] A user uploads a large amount of data to the server. For example, the user uses the file upload function of the browser to send a 100MB photo file to the server. During this process, the user's voice and facial expressions are captured by the emotion engine. When downloading data, the data sent from the server is downloaded to the device, and the decrypted data is then viewed or used.
[1244] Specific examples
[1245] Example 1: Uploading a photo file and analyzing sentiment
[1246] Let's consider the case where a user uploads a 100MB photo file to a server. When the user performs the upload operation, the emotion engine captures the user's voice and facial expressions. The server receives the photo file, compresses it to 30MB using a compression algorithm, adds a CRC, and sends the data to the device. During this time, the emotion engine analyzes the user's emotions and provides appropriate help information if, for example, the user is confused. The device verifies that the received compressed data is error-free, decodes the data into a 100MB photo file, and displays it to the user.
[1247] Prompt Sentence Examples
[1248] Prompt example 1: Explain the details of the data compression process
[1249] "When a user uploads a 100MB photo file to a server, please explain in detail how the data is compressed on the server side."
[1250] Sample prompt 2: Explain the sentiment analysis process
[1251] "Please explain in detail the process by which the server analyzes emotions using voice and facial expression data while the user is uploading data."
[1252] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1253] Server-side processing
[1254] Step 1: Receiving Data
[1255] Input: Large amount of data sent by the user (e.g. 100MB photo file)
[1256] Processing: The server receives this data via HTTP or HTTPS protocol.
[1257] Output: Received large amount of data
[1258] Specific behavior:
[1259] The server receives the file uploaded by the user and stores it in the specified directory.
[1260] Step 2: Compress the data
[1261] Input: Received large amount of data
[1262] Processing: The server compresses the data using a compression algorithm such as LZ77 or Huffman coding.
[1263] Output: Compressed data (e.g. 30MB data)
[1264] Specific behavior:
[1265] The server analyzes the data content and efficiently compresses it to reduce redundant data.
[1266] Step 3: Adding error detection code
[1267] Input: Compressed data
[1268] Processing: The server calculates a cyclic redundancy check code (CRC) and appends it to the compressed data.
[1269] Output: Compressed data with CRC added
[1270] Specific behavior:
[1271] The server calculates a CRC value based on the content of the compressed data and appends it to the data.
[1272] Step 4: Sending data
[1273] Input: Compressed data with CRC
[1274] Processing: The server sends this data to the terminal using the TCP / IP protocol.
[1275] Output: Compressed data sent
[1276] Specific behavior:
[1277] The server divides the compressed data into packets and transmits them to the terminal.
[1278] Step 5: Obtaining emotion data
[1279] Input: User's voice and facial expression data
[1280] Processing: The server uses the emotion engine to capture voice and facial expression data obtained from the user.
[1281] Output: Retrieved emotion data
[1282] Specific behavior:
[1283] The server acquires the user's voice and facial expressions during the upload operation and stores them as emotional data.
[1284] Step 6: Sentiment Analysis
[1285] Input: Acquired emotion data
[1286] Processing: The server uses an emotion engine to analyze voice tone and facial expression changes to recognize the user's emotional state.
[1287] Output: Analysis result (user's emotional state)
[1288] Specific behavior:
[1289] The server analyzes subtle changes in the pitch of the voice tone and facial expressions to determine the user's emotional state, such as "confusion" or "satisfaction."
[1290] Step 7: Emotional Feedback
[1291] Input: Analysis result (user's emotional state)
[1292] Processing: The server generates appropriate feedback based on the analysis results and provides it to the user.
[1293] Output: Feedback content
[1294] Specific behavior:
[1295] If the user is confused, it will display additional help information or guidance, and if they are satisfied, it will send a thank you message.
[1296] Terminal side processing
[1297] Step 1: Receiving Data
[1298] Input: Compressed data sent from the server
[1299] Processing: The terminal receives the data using the TCP / IP protocol.
[1300] Output: Compressed data received
[1301] Specific behavior:
[1302] The terminal reconstructs the packets received through the network and stores them as compressed data.
[1303] Step 2: Error detection
[1304] Input: Compressed data received
[1305] Processing: The device calculates the CRC and verifies the accuracy of the data by comparing it with the CRC value sent by the server.
[1306] Output: Errors or not
[1307] Specific behavior:
[1308] The terminal recalculates the CRC based on the received data to verify the integrity of the data.
[1309] Step 3: Decrypt the data
[1310] Input: Compressed data with no errors detected
[1311] Processing: The device uses a compression algorithm to decode the data back to its original form.
[1312] Output: Decrypted data (e.g. 100MB photo file)
[1313] Specific behavior:
[1314] The terminal decompresses the compressed data and restores it to its original format.
[1315] User processing
[1316] Step 1: Upload your data
[1317] Input: Large amount of data (e.g. 100MB photo file)
[1318] Process: The user uses the browser's file upload function to send data to the server.
[1319] Output: Data sent to the server
[1320] Specific behavior:
[1321] The user selects the file to upload from the file selection dialog and clicks the "Submit" button.
[1322] Step 2: Download and view the data
[1323] Input: Decrypted data received from the server
[1324] Processing: The user downloads the received data to their device and views or uses it.
[1325] Output: Viewable data
[1326] Specific behavior:
[1327] The user opens the decrypted data using a browser or dedicated software and checks its contents.
[1328] (Application example 2)
[1329] 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."
[1330] While conventional data transmission systems achieve efficient and reliable data transmission, they have limitations in improving the user experience. In particular, they are unable to provide feedback or responses based on the user's emotions, making it difficult to sufficiently increase user satisfaction. To solve this problem, a system that recognizes the user's emotions in real time and provides feedback accordingly is needed.
[1331] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1332] In this invention, the server includes means for receiving data, means for compressing the received data using a compression algorithm, means for adding an error detection code to the compressed data, means for transmitting the compressed data with the error detection code added, means for receiving the transmitted data, means for checking the error detection code in the received data, means for decoding the checked data, means for acquiring user emotion data, means for analyzing the acquired emotion data, and means for providing feedback based on the analyzed emotion data. This enables efficient and reliable data transmission as well as appropriate feedback that takes the user's emotion into consideration.
[1333] "Means for receiving data" refers to a device or program for receiving data transmitted from another device via a network.
[1334] A "compression algorithm" is a computational procedure for reducing data redundancy and reducing the amount of data, thereby making it easier to store and transmit.
[1335] An "error detection code" is a code added to detect errors that may occur during data transmission. A typical example is the cyclic redundancy check code (CRC).
[1336] "Means for adding error detection code" refers to a device or program for adding error detection code to compressed data.
[1337] "Means for transmitting data" refers to a device or program for sending data to another device over a network.
[1338] "Means for checking the error detection code of the received data" refers to a device or program for checking the error detection code of the data received from the server and confirming whether the data was received correctly.
[1339] "Means for decoding data" refers to a device or program that restores data that has been compressed and has had error detection codes added to it back to its original form.
[1340] "Means for acquiring user emotion data" refers to a device or program for capturing the user's voice and facial expressions and collecting that data.
[1341] The "means for analyzing acquired emotional data" refers to a device or program for analyzing acquired voice data and facial expression data and identifying the user's emotions.
[1342] The "means for providing feedback based on analyzed emotion data" refers to a device or program for providing appropriate feedback to the user based on the analysis results.
[1343] The system of the present invention optimizes the display of advertisements by combining efficient data transmission with an emotion engine that recognizes user emotions. This system works in cooperation with the server, terminal, and user, and provides effective feedback according to the user's emotions, thereby improving the user experience.
[1344] Server-side processing
[1345] Receiving and compressing data
[1346] The server receives various data sent by users (e.g., advertising data, emotion analysis results, etc.). The server then compresses the received data using a compression algorithm (e.g., standard compression techniques) to reduce the data volume. An error detection code (e.g., CRC) is added to the compressed data to enable data errors to be detected.
[1347] Acquiring and analyzing emotion data
[1348] The server uses an emotion engine to acquire the user's emotion data. The emotion data is acquired from data capturing the user's facial expressions and voice. For example, the user's facial expressions and tone of voice are collected in real time through a camera and microphone. The emotion engine then analyzes the data and recognizes the user's emotion (happiness, sadness, excitement, etc.).
[1349] Providing feedback
[1350] Based on the analysis results, the server selects and serves appropriate advertisements to the user, which helps the user receive appropriate feedback and maximizes the effectiveness of the advertisements. For example, if the user is excited, entertainment-related advertisements are displayed, and if the user is relaxed, relaxation-related advertisements are displayed.
[1351] Terminal side processing
[1352] Receiving and Decrypting Data
[1353] The device receives the data sent by the server. It checks the error detection code to ensure the data was received correctly. It then decrypts the data and returns it to its original form. At this stage, the user is presented with appropriate advertising and feedback.
[1354] User operation
[1355] Uploading data
[1356] When a user uploads large files such as photos and videos to the server, the emotion engine captures the user's facial expressions and voice and obtains them as emotion data.
[1357] Ad display and feedback
[1358] The user checks the decoded data (such as advertisements) sent from the server on their device. The system captures the user's feelings about the advertisement and sends the data to the server, providing emotional feedback to the system.
[1359] Hardware and software used
[1360] Hardware: A device with a camera and microphone, such as a smartphone, personal computer, or smart glasses.
[1361] software:
[1362] Emotion engine: Software for analyzing facial expressions and speech (e.g., emotion recognition API).
[1363] Ad selection algorithm: Software that selects the best ads based on user sentiment.
[1364] Data management system: A database (e.g., a cloud database) for storing and analyzing users' emotional feedback.
[1365] Specific examples
[1366] Prompt Sentence Examples
[1367] "I'm developing a new smartphone app that can dynamically display advertisements based on the user's emotions. When the user is happy, I want to automatically display entertainment advertisements, and when the user is relaxed, I want to automatically display relaxation advertisements. I also want to record the user's emotional feedback on the advertisements and use it in my marketing strategy."
[1368] This enables efficient and reliable data transmission as well as appropriate feedback that takes into account the user's emotions.
[1369] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1370] Step 1: Upload your data
[1371] A user uploads data (e.g., photos or video files) to a server using a smartphone or personal computer. The input data is a large multimedia file, and the server receives the file. The server stores the received data in a storage folder. The output is a message confirming successful reception.
[1372] Step 2: Obtaining emotion data
[1373] When a user performs an upload operation, the server starts the procedure to acquire emotion data. The input is the user's voice and facial expression data. The camera and microphone are used to capture the user's real-time voice and facial expressions. The acquired data is sent to the server and passed to an emotion analysis algorithm. The output is a set of emotion data.
[1374] Step 3: Compress the data
[1375] The server compresses the received large amount of data using a compression algorithm. The input is the original large amount of data. For example, the data size is reduced using a compression technique (ZIP, GZIP, etc.). An error detection code (e.g., CRC) is added to the compressed data. The output is the compressed data and the added error detection code.
[1376] Step 4: Analyze the sentiment data
[1377] The server analyzes the acquired user emotion data. The input is a set of emotion data. The emotion engine analyzes the voice tone and facial expressions to identify the user's emotional state (e.g., joy, sadness, excitement, etc.). The output is the identified emotional state information.
[1378] Step 5: Sending data
[1379] The server sends the compressed data with an error detection code to the terminal. The input is the compressed data and the error detection code. The data is sent over the network. The output is a message confirming successful transmission.
[1380] Step 6: Error detection and data reception
[1381] The terminal receives the data sent from the server and checks the error detection code. The input is the received data and the error detection code. The terminal recalculates the error detection code such as CRC and checks the accuracy of the data. The output is the error detection result (if there are no errors, proceed to the next step).
[1382] Step 7: Decrypt the data
[1383] If no errors are detected, the terminal decodes the data back to its original form. The input is the compressed data. The data is restored using the reverse process of the compression algorithm. The output is the decoded data.
[1384] Step 8: Provide feedback
[1385] The server selects appropriate advertisements based on the analysis results and provides them to the user. The input is the identified emotional state information. The advertisement selection algorithm selects advertisements that match the user's emotions, such as entertainment advertisements or relaxation advertisements, and sends them to the terminal. The output is the advertisement displayed on the user's terminal.
[1386] Specific examples
[1387] Example prompt sentence:
[1388] "I'm developing a new smartphone app that can dynamically display advertisements based on the user's emotions. When the user is happy, I want to automatically display entertainment advertisements, and when the user is relaxed, I want to automatically display relaxation advertisements. I also want to record the user's emotional feedback on the advertisements and use it in my marketing strategy."
[1389] This enables efficient and reliable data transmission as well as appropriate feedback that takes into account the user's emotions.
[1390] 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.
[1391] 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.
[1392] 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.
[1393] [Fourth embodiment]
[1394] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1395] 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.
[1396] 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).
[1397] 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.
[1398] 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.
[1399] 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).
[1400] 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.
[1401] 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.
[1402] 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.
[1403] 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.
[1404] 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.
[1405] 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.
[1406] 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."
[1407] The system of the present invention realizes efficient data transmission through the cooperation of a server, a terminal, and a user. In this system, the server first receives data from a user, and then goes through multiple steps, including compression, transmission, and verification, to ensure the reliability and efficiency of the data.
[1408] Server-side processing
[1409] Receiving data
[1410] The server receives the data sent by the user, which is often a large file or piece of information.
[1411] Data compression
[1412] The server compresses the received data using a compression algorithm. This algorithm includes specific analysis means to reduce data redundancy. For example, it analyzes the content of the data and performs processing such as deleting duplicated information. This reduces data volume.
[1413] Adding error detection code
[1414] The server adds an error detection code, specifically a cyclic redundancy check code (CRC), to the compressed data, allowing it to detect errors that may occur during subsequent data transmissions.
[1415] Sending data
[1416] The server sends the data to the terminal with compression and error detection codes added, which improves the efficiency and reliability of data transmission.
[1417] Terminal side processing
[1418] Receiving data
[1419] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[1420] Error Detection
[1421] The terminal checks the error detection code of the received data. Specifically, it recalculates the CRC for the received data and compares it with the CRC value sent by the server. This check confirms the accuracy of the data.
[1422] Decrypting Data
[1423] If no errors are detected, the terminal decodes the data to its original state, specifically by analyzing the data according to the compression algorithm and restoring it to its original form.
[1424] User processing
[1425] Uploading data
[1426] Users upload data to a server, a process that involves sending large files or information to the server.
[1427] Download and view data
[1428] The user downloads the data sent from the server and checks it after the terminal decrypts it. Specifically, the user views, plays, or uses the decrypted data on the terminal.
[1429] Specific examples
[1430] For example, consider the case where a user uploads a 100MB photo file to a server.
[1431] A user uploads a photo file to the server. The server receives the 100MB photo file and compresses the data to 30MB using a new compression algorithm. It then calculates a CRC for the compressed data and adds an error detection code. The added data is sent from the server to the device. The device receives the 30MB compressed data and checks the CRC. If no errors are detected, the device decodes the data into a 100MB photo file and displays it to the user.
[1432] The above is a specific embodiment for implementing the system of the present invention. It is expected that this system will enable efficient data transmission and improve reliability.
[1433] The processing flow will be explained below.
[1434] Server-side processing
[1435] Step 1:
[1436] The server receives data sent by the user, which is typically a large file or piece of information.
[1437] Step 2:
[1438] The server compresses the received data using a compression algorithm, first analyzing the data to identify and eliminate redundancies.
[1439] Step 3:
[1440] The server adds an error detection code to the compressed data. Specifically, it calculates a cyclic redundancy check code (CRC) and adds it to the data.
[1441] Step 4:
[1442] The server transmits the compressed data with an error detection code added to it to the terminal.
[1443] Terminal side processing
[1444] Step 1:
[1445] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[1446] Step 2:
[1447] The terminal checks the error detection code of the received data by recalculating the CRC for the received data and comparing it with the CRC value sent by the server.
[1448] Step 3:
[1449] If no errors are detected, the terminal decodes the data back to its original form, analyzing it according to the compression algorithm and restoring it to its original state.
[1450] User processing
[1451] Step 1:
[1452] A user uploads data to a server, a process that involves the user sending large files or information to the server.
[1453] Step 2:
[1454] The user downloads the data sent from the server to the terminal and views or uses the decrypted data.
[1455] Example 1
[1456] 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."
[1457] Existing data transmission systems have difficulty in efficiently and reliably transmitting and receiving large volumes of data. Furthermore, the time-consuming process of data error detection and decoding results in a poor user experience. The present invention provides a system for solving these problems.
[1458] 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.
[1459] In this invention, the server includes a means for receiving data, a means for compressing the received data using a compression algorithm, and a means for adding an error detection code to the compressed data. This enables efficient and reliable transmission and reception of large amounts of data. Furthermore, the server further includes a means for users to upload data, a means for the terminal to locally store the compressed data received, and a means for the user to view the decoded data using local viewer software, thereby improving the user experience.
[1460] The "means for receiving data" refers to a device or process by which the server obtains data sent from the user via the network.
[1461] A "means for compressing by a compression algorithm" is a device or process for compressing data using a particular algorithm in order to reduce the size of the received data.
[1462] A "means for adding an error detection code" is a device or process for generating a check code (e.g., a CRC) for received data and adding it to the data to verify its integrity.
[1463] A "means for transmitting" is a device or process for transmitting the compressed data with error detection codes attached to it over a network to a designated terminal.
[1464] The "receiving means" is a device or process by which the terminal obtains the data sent from the server.
[1465] The "means for verifying the error detection code" is a device or process for recalculating the error detection code of the received data and verifying whether it matches the error detection code sent from the server.
[1466] A "means for decoding verified data" is a device or process for converting verified compressed data back into its original form.
[1467] A "means for user data upload" is a device or process that allows a user to select a local file and send it to the server.
[1468] The "means for locally storing received compressed data" refers to a device or process by which the terminal stores compressed data received from the server in a local storage device.
[1469] "Means for the user to view the decrypted data using local viewer software" refers to a device or process that allows the user to view or use the data decrypted on the terminal using the viewer software that the user normally uses.
[1470] MODE FOR CARRYING OUT THE INVENTION
[1471] The system of the present invention realizes efficient and reliable data transmission through cooperation between a server, a terminal, and a user. This system includes a process in which a user uploads arbitrary data to a server, compresses it, adds an error detection code to it, and then transmits it to a terminal, where the terminal verifies and decodes the received data. In this embodiment, specific hardware and software and their operating procedures are described.
[1472] Specific operations on the server side
[1473] The server uses a web server such as Apache Tomcat or NGINX to receive data sent by users. The server compresses the received data in GZIP format using the Java java.util.zip library. A cyclic redundancy check code (CRC) is added to the compressed data to generate an error detection code, and the CRC32 algorithm is used to add this code.
[1474] The server sends the compressed data with the error detection code added to it to the terminal using the HTTP or HTTPS protocol. The typical transmission method is to return the compressed data as an HTTP response.
[1475] Specific operations on the terminal side
[1476] To receive the compressed data sent from the server, the device downloads the data using a command line tool such as curl or a web browser. The received data contains an error detection code, which the device checks using the CRC32 algorithm to verify that the data is error-free.
[1477] If no errors are detected, the device uses the Java java.util.zip library to decompress the compressed data and decode it back to its original format, which is then saved to local storage and made available to the user.
[1478] Specific actions on the user side
[1479] Users use a web browser or a dedicated upload tool to upload data to the server by sending an HTTP POST request to the server using an HTML form.
[1480] After downloading the data, users can view or use the decompressed data using local viewer software or playback tools, allowing users to utilize the data efficiently and reliably.
[1481] Examples and prompts
[1482] For example, here is a specific example where a user uploads a 100MB photo file to the server:
[1483] 1. The user selects a photo file in a web browser and performs the upload operation.
[1484] 2. The server compresses the received 100MB photo file using GZIP, reducing it to 30MB.
[1485] 3. The server calculates a CRC32 on the compressed file and adds an error detection code.
[1486] 4. The compressed and error-detection-coded data is sent from the server to the terminal.
[1487] 5. The device receives the 30MB compressed file, checks the CRC32, and if no errors are detected, decompresses it and restores the original 100MB photo file.
[1488] 6. The restored photo files can be viewed using the user's local viewer software.
[1489] A specific example of a prompt is as follows:
[1490] Design a system that compresses and transmits a photo file selected by a user in a web browser. Explain in detail the processing steps involved at the server, terminal, and user level, using GZIP as the compression algorithm and CRC32 for error detection.
[1491] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1492] Server-side processing
[1493] Step 1: Receiving Data
[1494] The server receives data sent by the user as an HTTP POST request. This input data is often a large file or piece of information. Specifically, the user presses the upload button in their web browser, which sends the data to the server. The output is a data file stored in the server's temporary memory.
[1495] Step 2: Compress the data
[1496] The server compresses the received data using a compression algorithm. The software used is the Java java.util.zip library, which compresses the data into GZIP format. The input is the received data file, and the output is compressed binary data. Specifically, the server analyzes the data for redundancy and performs a process to eliminate duplicated parts.
[1497] Step 3: Adding error detection code
[1498] The server adds an error detection code (CRC32) to the compressed data. Using the CRC32 algorithm, the input is the compressed data and the output is the data with the CRC32 code. This error detection code is used later to verify whether the data is correct.
[1499] Step 4: Sending data
[1500] The server sends the compressed data with an error detection code added to it as an HTTP response to the terminal. Specifically, it sends data using the HTTP or HTTPS protocol. The input is compressed data with a CRC32 code, and the output is the data sent over the network.
[1501] Terminal side processing
[1502] Step 1: Receiving Data
[1503] The terminal receives compressed data sent from the server via an HTTP request. This data is compressed and has error detection codes added. The input is the data received from the network, and the output is a locally stored compressed data file.
[1504] Step 2: Error detection
[1505] The terminal checks the CRC32 error detection code of the received data. Specifically, it recalculates the CRC32 for the received data and compares it with the CRC32 code sent by the server. The input is the compressed data file and the original CRC32 code, and the output is a flag indicating whether there are any errors. If no errors are detected, the data is confirmed to be correct.
[1506] Step 3: Decrypt the data
[1507] If no errors are detected, the terminal decompresses the data from GZIP format to its original state. This decompression is performed using the Java java.util.zip library. The input is a compressed data file that has been verified to be error-free, and the output is the original data file. This decompression process restores the data to its original format.
[1508] User processing
[1509] Step 1: Upload your data
[1510] A user selects a file from a file selection dialog in a web browser and uploads it to a server. This action sends the file to the server as an HTTP POST request. The input is the file to be uploaded, and the output is the request sent to the server.
[1511] Step 2: Download and view the data
[1512] The user clicks on the download link for the data sent from the server and the device receives the data. The data is then decompressed on the device and viewed or used using local viewer software or playback tools. The input is the data file downloaded to the device, and the output is the content displayed in the viewer software.
[1513] Examples and prompts
[1514] For example, when a user uploads a 100MB photo file to a server, the following steps are taken:
[1515] 1. The user selects a photo file in a web browser and uploads it to the server.
[1516] 2. The server compresses the received 100MB photo file using GZIP, reducing it to 30MB.
[1517] 3. The server calculates a CRC32 on the compressed file and adds an error detection code.
[1518] 4. The compressed and error-detection-coded data is sent from the server to the terminal.
[1519] 5. The device receives the 30MB compressed file, checks the CRC32, and if no errors are detected, decompresses it and restores the original 100MB photo file.
[1520] 6. The restored photo files can be viewed using the user's local viewer software.
[1521] An example of a prompt is as follows:
[1522] Design a system that compresses and transmits a photo file selected by a user in a web browser. Explain in detail the processing steps involved at the server, terminal, and user level, using GZIP as the compression algorithm and CRC32 for error detection.
[1523] (Application example 1)
[1524] 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."
[1525] Conventional large-volume data transmission systems face the challenge of taking a long time to compress and transmit data. Furthermore, many systems lack sufficient error detection capabilities to ensure data accuracy, leaving data reliability in doubt. Furthermore, in fields such as food delivery, the transmission of large amounts of menu images and food photos often becomes unsmooth, impacting the user experience. To address these challenges, a new data transmission system is needed.
[1526] 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.
[1527] In this invention, the server includes a means for receiving data, a means for compressing the received data using a compression algorithm, and a means for adding an error detection code to the compressed data. This enables data compression and error detection. The terminal includes a means for receiving transmitted data, a means for checking the error detection code of the received data, a means for decrypting the checked data, a means for viewing and transmitting the data at the terminal, and a means for generating a prompt sentence based on a generative AI model. This improves the efficiency and reliability of data transmission and provides an environment in which users can comfortably use applications.
[1528] "Means for receiving data" refers to a function that allows a server or terminal to take in data sent from outside.
[1529] The "means for compressing received data using a compression algorithm" is a function for reducing the size of received data using a specific compression algorithm in order to reduce the data volume.
[1530] "Means for adding an error detection code to compressed data" refers to a function that adds a code (e.g., CRC) for error detection to data after compression processing.
[1531] The "means for transmitting compressed data to which an error detection code has been added" is a function for transmitting compressed data to which an error detection code has been added to another device or server via a network.
[1532] The "means for receiving transmitted data" is a function for receiving data transmitted from other devices or servers.
[1533] The "means for checking the error detection code of the received data" is a function for checking whether the data has been transmitted correctly by using the error detection code added to the received data.
[1534] The "means for decoding the confirmed data" is a function for restoring the compressed data to its original data format if no errors are detected.
[1535] "Means for viewing and transmitting data at the terminal" refers to functions that allow the user to display and check data received and decoded by the terminal, and to transmit new data.
[1536] "Means for generating prompt sentences based on a generative AI model" refers to a function that uses a pre-trained artificial intelligence model to automatically generate appropriate prompt sentences based on specific input.
[1537] The system of the present invention allows a server, a terminal, and a user to work together to achieve efficient and reliable data transmission, particularly in food delivery services. Specific embodiments of the system are described below.
[1538] Server-side processing
[1539] Receiving data
[1540] The server receives large volumes of data, such as menu images and food photos, sent by users. Because the volume of the received data is large as is, efficient data transmission is required.
[1541] Data compression
[1542] The server compresses the received large amount of data using a compression algorithm (e.g., zstd), which reduces data redundancy and reduces the amount of data to be transmitted.
[1543] Adding error detection code
[1544] The compressed data is then appended with an error-detection cyclic redundancy check code (CRC), which allows for the detection of errors that may occur during subsequent data transmission.
[1545] Sending data
[1546] The server sends the data to the terminal after compression and error detection codes have been added, resulting in efficient and reliable data transmission.
[1547] Terminal side processing
[1548] Receiving data
[1549] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[1550] Error Detection
[1551] The terminal checks the error detection code of the received data. Specifically, it recalculates the CRC for the received data and compares it with the CRC value sent by the server. This check confirms the accuracy of the data.
[1552] Decrypting Data
[1553] If no errors are detected, the device decodes the data to its original state, specifically by analyzing the data according to the compression algorithm and restoring it to its original form.
[1554] Viewing and sending data
[1555] On the terminal, the user can view the decrypted data, or take new food photos and upload them using a compression algorithm.
[1556] Using generative AI models
[1557] Based on the on-device generative AI model (e.g., GPT-4), prompts can be automatically generated in response to specific input, allowing users to efficiently post reviews and comments.
[1558] Specific examples
[1559] For example, consider the case where a user wants to post a new review.
[1560] 1. The user selects a food photo (50MB) they have taken and clicks the post button.
[1561] 2. Photos are automatically compressed to 15MB and a CRC value is added.
[1562] 3. The compressed data is sent to the server and a CRC check is performed to verify it.
[1563] 4. Once verification is complete, the food photo will appear as a review in the app.
[1564] Example prompt sentence:
[1565] "When a user selects a food photo they have taken and clicks the post button, the photo is automatically compressed and an error detection code is added. The compressed data is sent to the server and a CRC verification is performed. Once the verification is complete, the food photo will be displayed as a review in the app."
[1566] The above is a specific embodiment for implementing the system of the present invention, which is expected to improve data transmission efficiency, reliability, and user experience.
[1567] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1568] Step 1:
[1569] Receiving data (server side)
[1570] The server receives large amounts of data such as menu images and food photos sent by users. The input here is the image data sent by the user from their device, and the output is the raw image data received by the server.
[1571] Step 2:
[1572] Data compression (server side)
[1573] The server compresses the received large amount of data using a compression algorithm (e.g., zstd). The input is the raw image data received in step 1, and the output is compressed image data. Specifically, the zstd algorithm reduces data redundancy, resulting in a smaller file size.
[1574] Step 3:
[1575] Adding error detection code (server side)
[1576] The server adds a cyclic redundancy check code (CRC) to the compressed data for error detection. The input is the image data compressed in step 2, and the output is the compressed data with the error detection code added.
[1577] Step 4:
[1578] Sending data (server side)
[1579] The server sends the compressed and error-detection-coded data to the terminal. The input is the data generated in step 3, and the output is the compressed data sent to the terminal.
[1580] Step 5:
[1581] Receiving data (terminal side)
[1582] The terminal receives the compressed data sent from the server. The input is the compressed data sent from the server, and the output is the compressed data received by the terminal.
[1583] Step 6:
[1584] Error detection (terminal side)
[1585] The terminal checks the error detection code (CRC) of the received data. Specifically, it recalculates the CRC for the received data and compares it with the CRC value sent by the server. The input is the compressed data received in step 5 and its CRC value, and the output is the result of whether an error was detected.
[1586] Step 7:
[1587] Data decryption (terminal side)
[1588] If no errors are detected, the terminal decodes the compressed data to its original state. Specifically, it parses the data according to the compression algorithm (e.g., zstd) and restores it to its original form. The input is the compressed data for which no errors were detected in step 6, and the output is the decoded image data.
[1589] Step 8:
[1590] Viewing and sending data (user side)
[1591] The user can view the decoded data on the device. The user can also take new food photos and upload them using the same compression algorithm. The input is the image data decoded by the device and the image data newly taken by the user, and the output is the image data viewed by the user and the compressed data uploaded to the server.
[1592] Step 9:
[1593] Prompt generation using a generative AI model (device side)
[1594] The device uses a built-in generative AI model (e.g., GPT-4) to generate prompts based on specific inputs, allowing users to efficiently post reviews and comments. The input is the user's review content and photos, and the output is the prompt generated by the generative AI model.
[1595] For example: "When a user selects a food photo they have taken and clicks the post button, the photo is automatically compressed and an error detection code is added. The compressed data is sent to our server for CRC verification. Once verification is complete, the food photo will appear in the app as a review."
[1596] 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.
[1597] The system of the present invention enables the server, terminal, and user to work together to achieve efficient data transmission, and also improves the user experience by combining an emotion engine that recognizes the user's emotions. In this system, the server receives data from the user and performs processes such as compression, transmission, and verification, as well as analyzing the emotion data, thereby ensuring the reliability and efficiency of the data and providing feedback according to the user's emotions.
[1598] Server-side processing
[1599] Receiving data
[1600] The server receives the data sent by the user, which is usually a large file or piece of information.
[1601] Data compression
[1602] The server compresses the received data using a compression algorithm. This algorithm includes specific analysis means to reduce data redundancy. For example, it analyzes the content of the data and performs processing such as deleting redundant information, thereby reducing data volume.
[1603] Adding error detection code
[1604] The server adds a code to the compressed data for error detection. Specifically, it calculates a cyclic redundancy check code (CRC) and adds it to the data, so that errors during data transmission can be detected.
[1605] Sending data
[1606] The server sends the data, which has been compressed and has error detection codes added, to the terminal.
[1607] Terminal side processing
[1608] Receiving data
[1609] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[1610] Error Detection
[1611] The terminal checks the error detection code (CRC) of the received data, recalculates the CRC for the received data, and compares it with the CRC value sent by the server to verify the accuracy of the data.
[1612] Decrypting Data
[1613] If no errors are detected, the terminal decodes the data back to its original form, analyzing it according to the compression algorithm and restoring it to its original state.
[1614] User processing
[1615] Uploading data
[1616] A user uploads data to a server, a process that involves the user sending large files or information to the server.
[1617] Download and view data
[1618] The user downloads the data sent from the server to the terminal and views or uses the decrypted data.
[1619] Emotion engine processing
[1620] Acquiring emotion data
[1621] The server uses an emotion engine to analyze the voice data and facial expression data acquired from the user. For example, the server captures the voice and facial expression when the user uploads data and acquires them as emotion data.
[1622] Emotion Analysis
[1623] The server uses an emotion engine to analyze the acquired voice data and facial expression data to recognize the user's emotions. For example, the emotion engine analyzes changes in voice tone and facial expressions to identify the user's emotional state, such as "happy," "confused," or "dissatisfied."
[1624] Emotion-based feedback
[1625] The server provides appropriate feedback to the user based on the analysis results, for example, providing additional help information if the user is confused, or displaying a positive message if the user is satisfied.
[1626] Specific examples
[1627] Example 1: Uploading a photo file and analyzing sentiment
[1628] Let's consider the case where a user uploads a 100MB photo file to a server. When the user performs the upload operation, the emotion engine captures the user's voice and facial expressions. The server receives the photo file, compresses it to 30MB using a compression algorithm, adds a CRC, and sends the data to the device. During this time, the emotion engine analyzes the user's emotions and provides appropriate help information if, for example, the user is confused. The device verifies that the received compressed data is error-free, decodes the data into a 100MB photo file, and displays it to the user.
[1629] The above is a specific embodiment for implementing the system of the present invention. This system not only enables efficient data transmission and improved reliability, but also provides appropriate feedback based on the user's emotions, improving the user experience.
[1630] The processing flow will be explained below.
[1631] Server-side processing
[1632] Step 1:
[1633] The server receives the data sent by the user, for example, a 100MB photo file.
[1634] Step 2:
[1635] The server compresses the received data using a compression algorithm that uses specific analytical methods to reduce data redundancy, reducing the file size to 30MB.
[1636] Step 3:
[1637] The server adds an error detection code to the compressed data. Specifically, it calculates a cyclic redundancy check code (CRC) and adds it to the compressed data.
[1638] Step 4:
[1639] The server transmits the compressed data with an error detection code added to it to the terminal.
[1640] Terminal side processing
[1641] Step 1:
[1642] The terminal receives the compressed data sent from the server, which also includes an error detection code.
[1643] Step 2:
[1644] The terminal checks the error detection code of the received data, recalculates the CRC for the received data, and compares it with the CRC value sent by the server.
[1645] Step 3:
[1646] If no errors are detected, the device will decode the data back to its original format, analyze it based on the compression algorithm, and restore the original 100MB photo file.
[1647] User processing
[1648] Step 1:
[1649] A user uploads data to a server, a process that involves the user sending large files or information to the server.
[1650] Step 2:
[1651] The user downloads the data sent from the server to the terminal and views or uses the decrypted data.
[1652] Emotion engine processing
[1653] Step 1:
[1654] The server acquires the user's voice data and facial expression data, for example, when the user uploads a photo, the server captures the voice data and facial expression data through a camera or microphone.
[1655] Step 2:
[1656] The server uses an emotion engine to analyze the voice data and facial expression data to recognize the user's emotions. The emotion engine analyzes changes in voice tone and facial expressions to identify the user's emotions, such as "confused" or "satisfied."
[1657] Step 3:
[1658] The server provides appropriate feedback to the user based on the analysis results, for example, displaying additional help information if the analysis indicates that the user is confused.
[1659] Specific examples
[1660] Photo file upload and sentiment analysis
[1661] Step 1:
[1662] A user uploads a 100MB photo file to the server. During the upload, the camera and microphone capture the user's facial expressions and voice data.
[1663] Step 2:
[1664] The server receives the 100MB photo file and simultaneously sends the captured facial and voice data to the emotion engine.
[1665] Step 3:
[1666] The server compresses the photo files to 30MB using a compression algorithm. The emotion engine analyzes facial expression and voice data to recognize the user's emotional state.
[1667] Step 4:
[1668] The server calculates a CRC on the compressed data and adds an error detection code.
[1669] Step 5:
[1670] The server then sends the compressed data with an error detection code attached to it to the terminal, and simultaneously displays appropriate feedback to the user based on the emotion analysis results.
[1671] Step 6:
[1672] The terminal receives the compressed data transmitted from the server.
[1673] Step 7:
[1674] The terminal verifies the CRC of the received data, and if it matches, decrypts the data and restores it to its original form.
[1675] Step 8:
[1676] The decrypted photo file is displayed to the user.
[1677] The above is a specific embodiment of the system of the present invention, which not only transmits data efficiently and reliably, but also provides appropriate feedback according to the user's emotions, improving the user experience.
[1678] Example 2
[1679] 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."
[1680] Conventional data communication systems require a long time to transmit large amounts of data and lack sufficient error detection and recovery capabilities. Therefore, there is a need to improve data reliability and efficiency. Furthermore, there is a need to improve the user experience by providing feedback based on the user's emotional state.
[1681] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1682] In this invention, the server includes a means for receiving data, a means for compressing the received data using a compression algorithm, and a means for adding an error detection code to the compressed data. This enables efficient data compression and improved reliability. The server also includes a means for using an emotion engine to acquire a user's voice data and facial expression data, a means for analyzing the acquired voice data and facial expression data to recognize the user's emotion, and a means for providing feedback based on the analyzed emotional data. This improves the user experience and increases the reliability and efficiency of data transmission.
[1683] "Data" refers to information sent from the user to the server, including large electronic files including images, audio, and text files.
[1684] A "compression algorithm" is an analytical method for reducing redundant data and reducing data volume; specific examples include LZ77 and Huffman coding.
[1685] An "error detection code" is a code added to verify the accuracy of data and is a means of detecting errors during data transmission.
[1686] A "cyclic redundancy check code (CRC)" is a type of error detection code used to verify data integrity and identify errors in transmitted data.
[1687] The "emotion engine" is an analytical means for analyzing the user's voice data and facial expression data to recognize their emotional state.
[1688] "Voice data" refers to data in which the voice uttered by the user is recorded in digital format.
[1689] "Facial expression data" refers to data that captures a user's facial expression using a camera or the like and records it in digital format.
[1690] "Feedback" refers to information or messages provided to users based on acquired emotional data, and is a means of improving the user experience.
[1691] "Decoding" is the process of restoring data that has been compressed by a compression algorithm back to its original form.
[1692] "Data transmission" is the process of sending and receiving information between a server and a terminal, and is carried out using a communication protocol.
[1693] MODE FOR CARRYING OUT THE INVENTION
[1694] The system of the present invention allows the server, terminal, and user to work together to improve the efficiency and reliability of data transmission, and also uses an emotion engine to analyze the user's emotions and provide appropriate feedback. This system allows users to transmit data quickly and reliably when uploading or downloading data, and further provides a better user experience by receiving emotion-based feedback.
[1695] Server-side processing
[1696] The server first receives large amounts of data sent by the user. This data may include, for example, high-resolution photo files or video files. After receiving the data, the server uses a compression algorithm to compress it and reduce the data size. Common compression algorithms are LZ77 and Huffman coding. The server then calculates a cyclic redundancy check code (CRC) and adds it to the compressed data for error detection. This allows errors during data transmission to be detected.
[1697] The server then sends the compressed and error-detection-coded data to the device. At the same time, the emotion engine captures and analyzes the user's voice and facial expression data. It analyzes voice tone and facial expression changes to identify the user's emotions. For example, if the user is confused, it can provide appropriate help information, and if the user is satisfied, it can display a positive message.
[1698] Terminal side processing
[1699] The terminal receives the compressed data sent from the server. This data also contains an error detection code. The terminal checks the CRC of the received data and checks whether the calculated CRC value matches the CRC value from the server. If no errors are detected, the terminal decodes the data to its original form. Specifically, it decompresses the data according to the compression algorithm and restores it to its original state.
[1700] User processing
[1701] A user uploads a large amount of data to the server. For example, the user uses the file upload function of the browser to send a 100MB photo file to the server. During this process, the user's voice and facial expressions are captured by the emotion engine. When downloading data, the data sent from the server is downloaded to the device, and the decrypted data is then viewed or used.
[1702] Specific examples
[1703] Example 1: Uploading a photo file and analyzing sentiment
[1704] Let's consider the case where a user uploads a 100MB photo file to a server. When the user performs the upload operation, the emotion engine captures the user's voice and facial expressions. The server receives the photo file, compresses it to 30MB using a compression algorithm, adds a CRC, and sends the data to the device. During this time, the emotion engine analyzes the user's emotions and provides appropriate help information if, for example, the user is confused. The device verifies that the received compressed data is error-free, decodes the data into a 100MB photo file, and displays it to the user.
[1705] Prompt Sentence Examples
[1706] Prompt example 1: Explain the details of the data compression process
[1707] "When a user uploads a 100MB photo file to a server, please explain in detail how the data is compressed on the server side."
[1708] Sample prompt 2: Explain the sentiment analysis process
[1709] "Please explain in detail the process by which the server analyzes emotions using voice and facial expression data while the user is uploading data."
[1710] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1711] Server-side processing
[1712] Step 1: Receiving Data
[1713] Input: Large amount of data sent by the user (e.g. 100MB photo file)
[1714] Processing: The server receives this data via HTTP or HTTPS protocol.
[1715] Output: Received large amount of data
[1716] Specific behavior:
[1717] The server receives the file uploaded by the user and stores it in the specified directory.
[1718] Step 2: Compress the data
[1719] Input: Received large amount of data
[1720] Processing: The server compresses the data using a compression algorithm such as LZ77 or Huffman coding.
[1721] Output: Compressed data (e.g. 30MB data)
[1722] Specific behavior:
[1723] The server analyzes the data content and efficiently compresses it to reduce redundant data.
[1724] Step 3: Adding error detection code
[1725] Input: Compressed data
[1726] Processing: The server calculates a cyclic redundancy check code (CRC) and appends it to the compressed data.
[1727] Output: Compressed data with CRC added
[1728] Specific behavior:
[1729] The server calculates a CRC value based on the content of the compressed data and appends it to the data.
[1730] Step 4: Sending data
[1731] Input: Compressed data with CRC
[1732] Processing: The server sends this data to the terminal using the TCP / IP protocol.
[1733] Output: Compressed data sent
[1734] Specific behavior:
[1735] The server divides the compressed data into packets and transmits them to the terminal.
[1736] Step 5: Obtaining emotion data
[1737] Input: User's voice and facial expression data
[1738] Processing: The server uses the emotion engine to capture voice and facial expression data obtained from the user.
[1739] Output: Retrieved emotion data
[1740] Specific behavior:
[1741] The server acquires the user's voice and facial expressions during the upload operation and stores them as emotional data.
[1742] Step 6: Sentiment Analysis
[1743] Input: Acquired emotion data
[1744] Processing: The server uses an emotion engine to analyze voice tone and facial expression changes to recognize the user's emotional state.
[1745] Output: Analysis result (user's emotional state)
[1746] Specific behavior:
[1747] The server analyzes subtle changes in the pitch of the voice tone and facial expressions to determine the user's emotional state, such as "confusion" or "satisfaction."
[1748] Step 7: Emotional Feedback
[1749] Input: Analysis result (user's emotional state)
[1750] Processing: The server generates appropriate feedback based on the analysis results and provides it to the user.
[1751] Output: Feedback content
[1752] Specific behavior:
[1753] If the user is confused, it will display additional help information or guidance, and if they are satisfied, it will send a thank you message.
[1754] Terminal side processing
[1755] Step 1: Receiving Data
[1756] Input: Compressed data sent from the server
[1757] Processing: The terminal receives the data using the TCP / IP protocol.
[1758] Output: Compressed data received
[1759] Specific behavior:
[1760] The terminal reconstructs the packets received through the network and stores them as compressed data.
[1761] Step 2: Error detection
[1762] Input: Compressed data received
[1763] Processing: The device calculates the CRC and verifies the accuracy of the data by comparing it with the CRC value sent by the server.
[1764] Output: Errors or not
[1765] Specific behavior:
[1766] The terminal recalculates the CRC based on the received data to verify the integrity of the data.
[1767] Step 3: Decrypt the data
[1768] Input: Compressed data with no errors detected
[1769] Processing: The device uses a compression algorithm to decode the data back to its original form.
[1770] Output: Decrypted data (e.g. 100MB photo file)
[1771] Specific behavior:
[1772] The terminal decompresses the compressed data and restores it to its original format.
[1773] User processing
[1774] Step 1: Upload your data
[1775] Input: Large amount of data (e.g. 100MB photo file)
[1776] Process: The user uses the browser's file upload function to send data to the server.
[1777] Output: Data sent to the server
[1778] Specific behavior:
[1779] The user selects the file to upload from the file selection dialog and clicks the "Submit" button.
[1780] Step 2: Download and view the data
[1781] Input: Decrypted data received from the server
[1782] Processing: The user downloads the received data to their device and views or uses it.
[1783] Output: Viewable data
[1784] Specific behavior:
[1785] The user opens the decrypted data using a browser or dedicated software and checks its contents.
[1786] (Application example 2)
[1787] 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."
[1788] While conventional data transmission systems achieve efficient and reliable data transmission, they have limitations in improving the user experience. In particular, they are unable to provide feedback or responses based on the user's emotions, making it difficult to sufficiently increase user satisfaction. To solve this problem, a system that recognizes the user's emotions in real time and provides feedback accordingly is needed.
[1789] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1790] In this invention, the server includes means for receiving data, means for compressing the received data using a compression algorithm, means for adding an error detection code to the compressed data, means for transmitting the compressed data with the error detection code added, means for receiving the transmitted data, means for checking the error detection code in the received data, means for decoding the checked data, means for acquiring user emotion data, means for analyzing the acquired emotion data, and means for providing feedback based on the analyzed emotion data. This enables efficient and reliable data transmission as well as appropriate feedback that takes the user's emotion into consideration.
[1791] "Means for receiving data" refers to a device or program for receiving data transmitted from another device via a network.
[1792] A "compression algorithm" is a computational procedure for reducing data redundancy and reducing the amount of data, thereby making it easier to store and transmit.
[1793] An "error detection code" is a code added to detect errors that may occur during data transmission. A typical example is the cyclic redundancy check code (CRC).
[1794] "Means for adding error detection code" refers to a device or program for adding error detection code to compressed data.
[1795] "Means for transmitting data" refers to a device or program for sending data to another device over a network.
[1796] "Means for checking the error detection code of the received data" refers to a device or program for checking the error detection code of the data received from the server and confirming whether the data was received correctly.
[1797] "Means for decoding data" refers to a device or program that restores data that has been compressed and has had error detection codes added to it back to its original form.
[1798] "Means for acquiring user emotion data" refers to a device or program for capturing the user's voice and facial expressions and collecting that data.
[1799] The "means for analyzing acquired emotional data" refers to a device or program for analyzing acquired voice data and facial expression data and identifying the user's emotions.
[1800] The "means for providing feedback based on analyzed emotion data" refers to a device or program for providing appropriate feedback to the user based on the analysis results.
[1801] The system of the present invention optimizes the display of advertisements by combining efficient data transmission with an emotion engine that recognizes user emotions. This system works in cooperation with the server, terminal, and user, and provides effective feedback according to the user's emotions, thereby improving the user experience.
[1802] Server-side processing
[1803] Receiving and compressing data
[1804] The server receives various data sent by users (e.g., advertising data, emotion analysis results, etc.). The server then compresses the received data using a compression algorithm (e.g., standard compression techniques) to reduce the data volume. An error detection code (e.g., CRC) is added to the compressed data to enable data errors to be detected.
[1805] Acquiring and analyzing emotion data
[1806] The server uses an emotion engine to acquire the user's emotion data. The emotion data is acquired from data capturing the user's facial expressions and voice. For example, the user's facial expressions and tone of voice are collected in real time through a camera and microphone. The emotion engine then analyzes the data and recognizes the user's emotion (happiness, sadness, excitement, etc.).
[1807] Providing feedback
[1808] Based on the analysis results, the server selects and serves appropriate advertisements to the user, which helps the user receive appropriate feedback and maximizes the effectiveness of the advertisements. For example, if the user is excited, entertainment-related advertisements are displayed, and if the user is relaxed, relaxation-related advertisements are displayed.
[1809] Terminal side processing
[1810] Receiving and Decrypting Data
[1811] The device receives the data sent by the server. It checks the error detection code to ensure the data was received correctly. It then decrypts the data and returns it to its original form. At this stage, the user is presented with appropriate advertising and feedback.
[1812] User operation
[1813] Uploading data
[1814] When a user uploads large files such as photos and videos to the server, the emotion engine captures the user's facial expressions and voice and obtains them as emotion data.
[1815] Ad display and feedback
[1816] The user checks the decoded data (such as advertisements) sent from the server on their device. The system captures the user's feelings about the advertisement and sends the data to the server, providing emotional feedback to the system.
[1817] Hardware and software used
[1818] Hardware: A device with a camera and microphone, such as a smartphone, personal computer, or smart glasses.
[1819] software:
[1820] Emotion engine: Software for analyzing facial expressions and speech (e.g., emotion recognition API).
[1821] Ad selection algorithm: Software that selects the best ads based on user sentiment.
[1822] Data management system: A database (e.g., a cloud database) for storing and analyzing users' emotional feedback.
[1823] Specific examples
[1824] Prompt Sentence Examples
[1825] "I'm developing a new smartphone app that can dynamically display advertisements based on the user's emotions. When the user is happy, I want to automatically display entertainment advertisements, and when the user is relaxed, I want to automatically display relaxation advertisements. I also want to record the user's emotional feedback on the advertisements and use it in my marketing strategy."
[1826] This enables efficient and reliable data transmission as well as appropriate feedback that takes into account the user's emotions.
[1827] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1828] Step 1: Upload your data
[1829] A user uploads data (e.g., photos or video files) to a server using a smartphone or personal computer. The input data is a large multimedia file, and the server receives the file. The server stores the received data in a storage folder. The output is a message confirming successful reception.
[1830] Step 2: Obtaining emotion data
[1831] When a user performs an upload operation, the server starts the procedure to acquire emotion data. The input is the user's voice and facial expression data. The camera and microphone are used to capture the user's real-time voice and facial expressions. The acquired data is sent to the server and passed to an emotion analysis algorithm. The output is a set of emotion data.
[1832] Step 3: Compress the data
[1833] The server compresses the received large amount of data using a compression algorithm. The input is the original large amount of data. For example, the data size is reduced using a compression technique (ZIP, GZIP, etc.). An error detection code (e.g., CRC) is added to the compressed data. The output is the compressed data and the added error detection code.
[1834] Step 4: Analyze the sentiment data
[1835] The server analyzes the acquired user emotion data. The input is a set of emotion data. The emotion engine analyzes the voice tone and facial expressions to identify the user's emotional state (e.g., joy, sadness, excitement, etc.). The output is the identified emotional state information.
[1836] Step 5: Sending data
[1837] The server sends the compressed data with an error detection code to the terminal. The input is the compressed data and the error detection code. The data is sent over the network. The output is a message confirming successful transmission.
[1838] Step 6: Error detection and data reception
[1839] The terminal receives the data sent from the server and checks the error detection code. The input is the received data and the error detection code. The terminal recalculates the error detection code such as CRC and checks the accuracy of the data. The output is the error detection result (if there are no errors, proceed to the next step).
[1840] Step 7: Decrypt the data
[1841] If no errors are detected, the terminal decodes the data back to its original form. The input is the compressed data. The data is restored using the reverse process of the compression algorithm. The output is the decoded data.
[1842] Step 8: Provide feedback
[1843] The server selects appropriate advertisements based on the analysis results and provides them to the user. The input is the identified emotional state information. The advertisement selection algorithm selects advertisements that match the user's emotions, such as entertainment advertisements or relaxation advertisements, and sends them to the terminal. The output is the advertisement displayed on the user's terminal.
[1844] Specific examples
[1845] Example prompt sentence:
[1846] "I'm developing a new smartphone app that can dynamically display advertisements based on the user's emotions. When the user is happy, I want to automatically display entertainment advertisements, and when the user is relaxed, I want to automatically display relaxation advertisements. I also want to record the user's emotional feedback on the advertisements and use it in my marketing strategy."
[1847] This enables efficient and reliable data transmission as well as appropriate feedback that takes into account the user's emotions.
[1848] 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.
[1849] 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.
[1850] 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.
[1851] 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.
[1852] 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.
[1853] 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.
[1854] 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).
[1855] 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.
[1856] 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."
[1857] 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.
[1858] 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).
[1859] 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.
[1860] 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.
[1861] 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.
[1862] 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.
[1863] 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.
[1864] 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.
[1865] 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.
[1866] 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.
[1867] 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.
[1868] 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.
[1869] The following is further disclosed regarding the above embodiment.
[1870] (Claim 1)
[1871] means for receiving data;
[1872] means for compressing the received data using a compression algorithm;
[1873] means for adding an error detection code to the compressed data;
[1874] means for transmitting the compressed data with an error detection code attached;
[1875] means for receiving the transmitted data;
[1876] means for checking the error detection code in the received data;
[1877] means for decrypting the verified data;
[1878] A system including:
[1879] (Claim 2)
[1880] 2. The system of claim 1, wherein the error detection code is a cyclic redundancy check code (CRC).
[1881] (Claim 3)
[1882] 10. The system of claim 1, wherein the compression algorithm includes specific analysis means for reducing redundancy.
[1883] "Example 1"
[1884] (Claim 1)
[1885] means for receiving data;
[1886] means for compressing the received data using a compression algorithm;
[1887] means for adding an error detection code to the compressed data;
[1888] means for transmitting the compressed data with an error detection code attached;
[1889] means for receiving the transmitted data;
[1890] means for checking the error detection code in the received data;
[1891] means for decrypting the verified data;
[1892] a means for users to upload data;
[1893] means for locally storing the compressed data received by the terminal;
[1894] A means for users to check the decrypted data using local viewer software,
[1895] A system including:
[1896] (Claim 2)
[1897] 2. The system of claim 1, wherein the error detection code is a cyclic redundancy check code (CRC).
[1898] (Claim 3)
[1899] 10. The system of claim 1, wherein the compression algorithm includes an analysis means for reducing redundancy.
[1900] "Application Example 1"
[1901] (Claim 1)
[1902] means for receiving data;
[1903] means for compressing the received data using a compression algorithm;
[1904] means for adding an error detection code to the compressed data;
[1905] means for transmitting the compressed data with an error detection code attached;
[1906] means for receiving the transmitted data;
[1907] means for checking the error detection code in the received data;
[1908] means for decrypting the verified data;
[1909] means for viewing and transmitting data at the terminal;
[1910] means for generating a prompt sentence based on the generative AI model;
[1911] A system including:
[1912] (Claim 2)
[1913] 2. The system of claim 1, wherein the error detection code is a cyclic redundancy check code (CRC).
[1914] (Claim 3)
[1915] 10. The system of claim 1, wherein the compression algorithm includes specific analysis means for reducing redundancy.
[1916] "Example 2: Combining Emotion Engines"
[1917] (Claim 1)
[1918] means for receiving data;
[1919] means for compressing the received data using a compression algorithm;
[1920] means for adding an error detection code to the compressed data;
[1921] means for transmitting the compressed data with an error detection code attached;
[1922] means for receiving the transmitted data;
[1923] means for checking the error detection code in the received data;
[1924] means for decrypting the verified data;
[1925] A means for using an emotion engine that acquires voice data and facial expression data of a user;
[1926] A means for analyzing the acquired voice data and facial expression data and recognizing the user's emotions;
[1927] a means for providing feedback based on the analyzed emotional data;
[1928] A system including:
[1929] (Claim 2)
[1930] 2. The system of claim 1, wherein the error detection code is a cyclic redundancy check code (CRC).
[1931] (Claim 3)
[1932] 10. The system of claim 1, wherein the compression algorithm includes specific analysis means for reducing redundancy.
[1933] "Application example 2 when combining emotion engines"
[1934] Rewritten claims
[1935] (Claim 1)
[1936] means for receiving data;
[1937] means for compressing the received data using a compression algorithm;
[1938] means for adding an error detection code to the compressed data;
[1939] means for transmitting the compressed data with an error detection code attached;
[1940] means for receiving the transmitted data;
[1941] means for checking the error detection code in the received data;
[1942] means for decrypting the verified data;
[1943] means for acquiring user emotion data;
[1944] A means for analyzing the acquired emotion data;
[1945] a means for providing feedback based on the analyzed emotional data;
[1946] A system including:
[1947] (Claim 2)
[1948] 2. The system of claim 1, wherein the error detection code is a cyclic redundancy check code (CRC).
[1949] (Claim 3)
[1950] 10. The system of claim 1, wherein the compression algorithm includes specific analysis means for reducing redundancy. [Explanation of symbols]
[1951] 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. means for receiving data; means for compressing the received data using a compression algorithm; means for adding an error detection code to the compressed data; means for transmitting the compressed data with an error detection code attached; means for receiving the transmitted data; means for checking the error detection code in the received data; means for decrypting the verified data; A system including:
2. 2. The system of claim 1, wherein said error detection code is a cyclic redundancy check code (CRC).
3. 2. The system of claim 1, wherein said compression algorithm includes specific analysis means for reducing redundancy.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A