WO2023234794A1 - Video conferencing system and method - Google Patents

Video conferencing system and method Download PDF

Info

Publication number
WO2023234794A1
WO2023234794A1 PCT/RU2022/000184 RU2022000184W WO2023234794A1 WO 2023234794 A1 WO2023234794 A1 WO 2023234794A1 RU 2022000184 W RU2022000184 W RU 2022000184W WO 2023234794 A1 WO2023234794 A1 WO 2023234794A1
Authority
WO
WIPO (PCT)
Prior art keywords
stream
module
client device
message
data stream
Prior art date
Application number
PCT/RU2022/000184
Other languages
French (fr)
Russian (ru)
Inventor
Иван Евгеньевич ЕГОРОВ
Михаил Миннимухаметович НАСЫРОВ
Александр Николаевич БОЛЬШАКОВ
Даниэл Игоревич СЕРГЕЕВ
Михаил Викторович ФАНДЮШИН
Герман Эдуардович НОВИКОВ
Дмитрий Леонидович БАЛИЕВ
Original Assignee
Публичное Акционерное Общество "Сбербанк России"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from RU2022114549A external-priority patent/RU2795506C1/en
Application filed by Публичное Акционерное Общество "Сбербанк России" filed Critical Публичное Акционерное Общество "Сбербанк России"
Publication of WO2023234794A1 publication Critical patent/WO2023234794A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Definitions

  • the claimed solution relates to the field of telecommunications and computer technology, in particular, to telecommunication technology for the interaction of two or more remote users, in which it is possible for them to exchange audio and video information in real time.
  • VCC video conferencing systems
  • Patent application US 20120306993 Al “System and Method for Teleconferencing” (Copyright holder: Visionary Mobile Corporation, published 12/06/2012) discloses a system for conducting video conferencing over a network for multiple clients using a server as an intermediary.
  • the server receives a real-time video stream from each client.
  • This real-time video stream may be a high-frequency stream representing video from a camera associated with the end user.
  • the server provides any client with a real-time video stream selected by that client from among the video streams received on the server.
  • the disadvantage of this solution is the lack of ability to recognize the video stream to generate a message provided to the user. This, in turn, makes it difficult to immerse in the context of the discussion for video conference participants who were forced to be distracted for some time during the discussion.
  • the claimed invention allows us to solve the technical problem of providing the ability to extract information from a data stream with its subsequent conversion into messages and their integration into a single information space.
  • the technical result is to provide functionality for parallel output of a data stream to at least one client device and recognition of this data stream to generate a message for output to a single information space.
  • a video conferencing server containing at least a messaging module, a stream forwarding module and a stream recognition module, wherein the messaging module is configured to
  • the stream forwarding module is configured to
  • the stream recognition module is configured to process the data stream and generate at least one message based on the processed data stream, wherein processing the data stream and generating at least at least one message is carried out in parallel with the transmission of the data stream by the stream forwarding module to at least one other client device.
  • the data stream received from at least one client device contains at least an audio and/or video stream.
  • processing the audio stream includes converting speech to text (Automatic Speech Recognition).
  • video stream processing includes converting gestures into text and/or graphic information (Gesture Recognition).
  • video stream processing includes Sign Language Recognition.
  • the stream recognition module is further configured to determine the type of the data stream and perform appropriate processing of the data stream depending on the type of the data stream.
  • the video conferencing server further comprises an audio stream filtering module configured to suppress noise.
  • messages generated based on the processed data stream contain at least text and/or graphic information.
  • the video conferencing server further comprises a video stream modification module configured to - background replacement
  • AR filters augmented reality filters
  • the stream forwarding module is further configured to receive a command from at least one client device to recognize an audio and/or video stream; and transmit the audio and/or video stream to the stream recognition module after receiving said recognition command.
  • the thread recognition module is further configured to
  • the video conferencing server additionally contains a matching module configured to
  • the negotiation module sends permission to the messaging module to send a message from another client device to the common information space; if the value of the flag identifies the presence of current voice input from the user of the client device, the negotiation module is configured to o send the stream forwarding module a request to send a generated message containing already processed fragments to the unified information space, o after the stream forwarding module sends a generated message containing already processed fragments , to a single information space, send to the messaging module permission to send a message from another client device to a single information space;
  • the messaging module is additionally configured to
  • the video conferencing server further comprises a common information space control module configured to determine that at least one generated message has been received from a stream forwarding module; and display, when outputting the at least one generated message, a label identifying generation of the generated message from the audio stream.
  • the common information space management module is additionally configured to
  • the common information space management module is additionally configured to implement
  • the video conferencing server further includes a translation module configured to translate at least one message received from at least one client device and/or a message generated based on the processed data stream.
  • the claimed technical result is also achieved by implementing a method for performing video conferencing, implemented using a video conferencing server and containing the stages of:
  • a data stream is processed and at least one message is generated based on the processed data stream, wherein the processing of the data stream and the generation of at least one message is carried out in parallel with the transmission of the data stream to at least one other client device,
  • FIG. 1 shows a conceptual diagram of the claimed solution.
  • FIG. Figure 2 shows a diagram of a video conferencing server.
  • FIG. 3 shows a block diagram of a method for implementing video conferencing.
  • FIG. Figure 4 shows the general diagram of the computing device. IMPLEMENTATION OF THE INVENTION
  • Videoconferencing is a telecommunications technology for the interaction of two or more remote subscribers, in which they can exchange audio and video information in real time, taking into account the transfer of control data.
  • XMPP extensible Messaging and Presence Protocol
  • XML extensible Markup Language
  • RTP Real-time Transport Protocol
  • 1P 1P
  • SRTP Secure Real-time Transport Protocol
  • RTP Real-time Transport Protocol
  • gRPC Remote Procedure Calls
  • RPC Remote Procedure Calls
  • ASR Automatic Speech Recognition
  • Gesture Recognition is a combination of computer and language technologies, the purpose of which is to interpret human gestures using mathematical algorithms.
  • SLR Signal Language Recognition
  • AR Augmented Reality
  • WebRTC Web Real Time Communication
  • BLE Bluetooth Low Energy
  • Bluetooth Low Energy is a low energy wireless technology for exchanging data over short distances over long periods of time.
  • FIG. 1 shows a general diagram of the proposed system (100) for video conferencing.
  • the system (100) can be a hardware-software complex in which each of its elements is located on a separate computer, connected within a single functionality with other elements via a data transmission network (103).
  • the system (100) consists of at least two client devices (101, 102) and a video conferencing server (104) connected via a data network (103).
  • Client devices may be configured to generate at least one message through input devices, recording audio and/or video signals through technical means such as microphones and cameras; converting said signals into a data stream; connections to a video conferencing server (104); transmitting to the video conferencing server (104) said at least one message and data stream; receiving from the video conferencing server (104) at least one message and a data stream from other client devices; displaying at least one message in a single information space and data flow through information output devices.
  • technical means such as microphones and cameras
  • Client devices can be implemented on the basis of computing devices modified in software and hardware in such a way as to perform the above functions of client devices, and having technical means for input-output of information, as well as technical means for communication with the video conferencing server (104) via a data network (103).
  • Examples of such computing devices include, but are not limited to: personal computer, smartphone, devices SberBox Top, SberPortal, etc. A more detailed description of the computing device is disclosed below with reference to FIG. 4.
  • the data network (103) can be, but is not limited to, the following examples: an internal or external computer network, for example, an Intranet, the Internet, etc.
  • the video conferencing server (104) contains a plurality of modules that will be described in detail below with reference to FIG. 2. Modules can be implemented structurally in the form of software and hardware solutions (for example, a system on a chip, microcontrollers, etc.). In addition, said server (104) may be implemented on a computing device, a more detailed description of which is presented below with reference to FIG. 4. Moreover, such a computing device is modified in its hardware and software in such a way as to implement the functions of the mentioned modules.
  • FIG. 2 shows a detailed diagram of the implementation of the video conferencing server (104).
  • the video conferencing server (104) contains the following modules: messaging module (201), stream forwarding module (202), stream recognition module (203), audio stream filtering module (204), video stream modification module (205), matching module (206 ), module for managing a single information space (207), translation module (208). Interaction between modules is implemented via a data bus.
  • the messaging module (201) registers client device connections to the conference. After registration, the messaging module (201) is configured to receive at least one message generated on at least one client device from at least one client device and send said message to a common information space.
  • a chat can act as a single information space, accessible to all client devices that have completed the process of registering a connection to the conference through the messaging module (201).
  • Messages sent to a single information space are displayed on the output devices of client devices, for example, but not limited to, in the form of text messages in chat.
  • sending at least one message to a single information space includes sending the mentioned message messaging module (201) to all client devices that have completed the registration process for joining the conference.
  • the messaging module (201) is configured to receive from the stream forwarding module (202) at least one message generated by the stream recognition module (203) and send said message to unified information space.
  • the messaging module (201) is an XMPP server.
  • the stream forwarding module (202) establishes a secure connection with client devices. After establishing a secure connection, the stream forwarding module (202) receives a data stream from at least one client device and transmits the data stream in parallel to at least one other client device and the stream recognition module (203). Next, the flow forwarding module (202) receives at least one generated message from the flow recognition module (203) and sends the said message to the unified information space.
  • an SRTP connection can serve as a secure connection.
  • the data stream received from at least one client device contains at least an audio and/or video stream.
  • the client device may not have a camera, and therefore the client device will only transmit an audio stream. If the user of the client device communicates only in sign language, then transmission of the audio stream is not a prerequisite for communication between conference participants and the stream forwarding module (202) can only receive the video stream.
  • the stream forwarding module (202) receives a command from at least one client device to recognize an audio and/or video stream and transmits the audio and/or video stream to the stream recognition module (203) after receiving the said command for recognition.
  • the ability of the stream forwarding module (202) to receive a recognition command allows the claimed solution to effectively use computational and time resources and either not spend them on audio recognition and/or video stream, if such recognition is not required, or determine which of the data streams (audio or video stream) is subject to recognition.
  • the flow forwarding module (202) sends the generated message received from the flow recognition module (203) to the common information space by sending said generated message to the messaging module (201), which in turn sends the said generated message to a single information space.
  • the stream recognition module (203) processes the data stream received from the stream forwarding module (202) and generates at least one message based on the processed data stream and sends the generated message to the stream forwarding module (202). Processing of the data stream and generation of at least one message occurs in parallel with the transmission of the data stream by the stream forwarding module (202) to at least one other client device.
  • the ability to parallelly perform operations to recognize a data stream and transfer said data stream to a client device for further output allows the claimed solution to maintain the transmission rate of the data stream to the client device while simultaneously providing the data stream recognition function.
  • the stream recognition module (203) processes the data stream as follows:
  • processing of the audio data stream includes speech-to-text (ASR) conversion
  • processing of the video stream may include both the conversion of gestures into text and/or graphic information (Gesture Recognition) and sign language recognition (SLR).
  • Gesture Recognition Text and/or graphic information
  • SLR sign language recognition
  • the stream recognition module (203) is further configured to determine the type of the data stream and perform appropriate processing of the data stream depending on the type of the data stream. The process of determining the data flow type involves examining the data flow and determining its type. [0061] In general, the stream recognition module (203) is further configured to partition the data stream into fragments while processing the data stream, process the fragments resulting from the fragmentation of the data stream, and generate at least one message based on the processed fragments .
  • the fragments can be, but are not limited to, the following examples: speech phrases (for an audio stream) or frames (for a video stream).
  • the stream recognition module (203) is further configured to split the audio stream into fragments during the speech-to-text conversion process, process the fragments resulting from the splitting of the audio stream, and generate at least one message based on the processed fragments.
  • splitting the audio stream into fragments includes detecting the end of the fragment by detecting silence in the audio stream, characteristic, for example, of the end of a phrase or a grammatical pause.
  • Processing the fragments obtained as a result of splitting the audio stream by means of the stream recognition module (203) further includes generating a set of hypotheses for each word in the fragment based on the language model.
  • a hypothesis is a set of pairs consisting of a variant of a recognized word and the probability that this word occurs in the recognized fragment. For example, for the recognized word “Bow” the following set of pairs acts as a hypothesis:
  • the thread recognition module (203) does not initially recognize each word, but only generates a set of options for defining a particular word with their probability (where the sum of the probabilities is 1 or 100%).
  • the word that has the highest probability is selected from the set of options.
  • a probability estimate may be based on the similarity of the sound in a word to the acoustic ASR models or the location of a word in a sentence (for example, taking into account a language or grammatical model).
  • Said fragment processing further includes the stream recognition module (203) selecting, for each word from the fragment, the most likely hypothesis from the set of hypotheses. Based on the selected words, the stream recognition module (203) generates at least one message containing the recognized fragment of the audio stream.
  • the thread recognition module (203) can additionally cleanse the generated message from boring vocabulary. In a particular implementation example, clearing the generated message of lunch vocabulary is carried out by comparing recognized words with the lunch vocabulary dictionary, and replacing detected words related to lunch vocabulary with special characters, for example, asterisks, hash marks, or any combinations thereof.
  • the stream recognition module (203) can additionally restore punctuation (i.e., place punctuation marks) and capitalization (i.e., place capital letters where necessary according to the rules of the Russian language) of the generated message.
  • the stream recognition module (203) sends at least one generated message, cleared of obscene vocabulary with restored punctuation and capitalization, to the stream forwarding module (202).
  • speech-to-text (ASR) conversion is implemented based on proprietary technology from SberDevices - SmartSpeech, which provides high speed and excellent recognition quality, including names, complex terms and long words.
  • SmartSpeech uses the latest developments in the field of Deep Learning. Neural networks are trained on huge amounts of data using the power of the Christofari supercomputer (up to 1000+ GPU Tesla vl00) from Sber. Neural networks use GPUs for ultra-fast operation. Speech recognition uses ultra-precise architectures such as Jasper, QuartzNet and others.
  • the pre-trained model for speech recognition used in SmartSpeech was trained on the largest manually labeled dataset of 1240 hours of audio data in the Russian language (Golos speech dataset).
  • speech-to-text conversion can be implemented, but is not limited to, based on the following technologies: Microsoft Speech SDK, IBM Embedded Via Voice, etc.
  • the stream recognition module (203) splits the video stream into frames, determines the area of interest (for example, an arm or palm) at least one frame of the video stream, segments a specific area of interest, identifies key points in the segmented area, and determines the gesture by matching the key points with one of the known gestures from the database of known gestures.
  • the thread recognition module (203) determines the type of gesture and, depending on the gesture type, generates at least one corresponding message and sends it to the thread forwarding module (202).
  • the flow recognition module (203) if the gesture type is defined as a gesture characterizing the user's response, then the flow recognition module (203) generates at least one message containing text and/or graphic information. For example, if the stream recognition module (203) detects a user in a video stream showing a "thumbs up" gesture, then the generated message may contain both a thumbs up emoji and the text message "Excellent! or “Totally support!”, or a combination of emoji and text message.
  • the thread recognition module (203) is further configured to send a message containing the recognized control input to the thread forwarding module (202).
  • the recognized control input includes a control command to the client device.
  • control commands may include, but are not limited to: performing various actions to control audio volume, mute/unmute audio, control a video conference camera, and/or access settings for a video conference.
  • the thread forwarding module (202) sends it to the messaging module (201), which extracts the control command from the message and sends it to the client device.
  • the stream recognition module (203) splits the video stream into frames, determines at least one area of interest (for example, hands) in at least one video frame flow, segments at least one defined region of interest, identifies key points on the at least one segmented region of interest, normalizes the identified key points, and determines at least one gesture by matching the normalized key points with one of the known gestures from a database of known gestures .
  • the flow recognition module (203) creates a matrix of recognized letters or words from the gestures determined in the previous step, and generates at least one message based on the created matrix of recognized letters or words and sends the at least one message to the flow forwarding module (202) .
  • part of the functions of the stream recognition module (203) related to pre-processing of the video stream can be implemented on the client device side.
  • the stream recognition module (203) will receive from the stream forwarding module (202) a video stream that has already been pre-processed by the client device.
  • the audio stream filtering module (204) performs noise suppression.
  • the stream recognition module (203) before processing the audio stream, sends the audio stream to the audio stream filtering module (204), which, after performing the noise suppression operation, sends the noise-free audio stream back to the stream recognition module (203).
  • the noise reduction capability in the audio stream filtering module (204) can be implemented using smart noise reduction technology based on NVIDIA's Maxine platform or based on SberDevices' proprietary technology, SberNoise. These solutions use artificial intelligence to automatically remove extraneous noise.
  • Integration of the noise reduction function into the claimed solution increases the comfort of communication if a person is in a noisy place during a call, removing extraneous noise and harsh sounds from the sound. For example, if in the background of a conversation a child is crying, a dog is barking, or construction noise is coming from the window, thanks to the use of an AI model, the proposed solution drowns out these sounds, leaving only the voice of the speaker.
  • the video stream modification module (205) performs background replacement, applies filters that improve the visual characteristics of the user's image, as well as augmented reality filters (AR filters).
  • AR filters augmented reality filters
  • the background replacement process is carried out by the video stream modification module
  • improving the visual characteristics of the user's image means smoothing the skin, evening out the complexion (for example, removing dark circles under the eyes) and correcting errors in the phone camera lens. This process is called beautification.
  • the process of improving the visual characteristics of the user’s image is carried out by the video stream modification module (205) as follows: - receive at least one frame of the video stream from the stream forwarding module (202);
  • AR filters refer to computer-generated visual effects designed to be superimposed on real-life images by adding an additional layer to the foreground or background of the real-life image.
  • landmarks of at least one region of interest for example, facial landmarks, wherein facial landmarks include at least the nose, eyes, mouth and facial outline
  • the process of applying AR filters additionally includes tracking the movement of landmarks of at least one area of interest (for example, moving the head to the sides, changing facial expressions (blinking, smiling), moving hands, etc.) and adding at least one AR element to at least one frame of the video stream based on changes in the motion of landmarks of the at least one region of interest.
  • landmarks of at least one area of interest for example, moving the head to the sides, changing facial expressions (blinking, smiling), moving hands, etc.
  • the video stream modification module (205) can be implemented on the client device side.
  • the stream forwarding module (202) will receive an already modified video stream from client devices.
  • the video stream modification module (205) is implemented on the side of the video conferencing server (104).
  • This implementation allows the stream recognition module (203) to process the original, rather than modified, video stream, which increases the efficiency and accuracy of processing when converting gestures into text and/or graphic information (Gesture Recognition) and sign language recognition (Sign Language Recognition), since in The modified video stream may contain visual effects that will degrade the quality of processing (recognition).
  • the negotiation module (206) is designed to negotiate the sending of messages to a single information space.
  • the matching module (206) determines in real time whether the stream recognition module (203) is processing a data stream, in particular an audio stream. This feature can be implemented, for example, by sending requests to the thread recognition module (203) at a certain interval, where the result of sending the request is to return to the coordination module (206) a response about the state of the thread recognition module (203) regarding the processing of the data stream. For example, this condition may indicate that whether the client device user's voice input is currently being performed or sign language input is being processed by the stream recognition module (203).
  • the negotiation module (206) sets the value of a flag identifying the state of the client device user's current voice input.
  • the value of the flag identifies the state of the current input using sign language.
  • the negotiation module (206) receives from the messaging module (201) a request for permission to send a message to the common information space from another client device other than the client device performing the current voice or sign language input. In addition, the negotiation module (206) may send to the messaging module (201) permission to send a message to the common information space from another client device based on the value of the flag.
  • the negotiation module (206) is configured to send to the stream forwarding module (202) a request to send to a single information space a generated message containing already processed fragments if the value of the flag identifies the presence of current voice input of the client device user or input using sign language.
  • the processed fragments can be, for example, text messages obtained as a result of converting speech to text or sign language to text.
  • the common information space control module (207) determines that at least one generated message has been received from the stream forwarding module (202) and displays, when outputting the at least one generated message to the common information space, a label identifying the generation of the generated message from audio stream or video stream.
  • a label allows the user to unambiguously determine what type of message a specific message sent to a single information space belongs to.
  • the said label may be different for a generated message from an audio stream (i.e., for a message resulting from recognition of an audio stream by converting speech to text) and a generated message from a video stream (i.e., for message resulting from video stream recognition by converting sign language into text).
  • the common information space management module (207) further allows messages located in the common information space to be stored and to allow connected client devices to access the stored messages. This feature allows the user of the client device during a conference to concentrate more on communication rather than on taking notes, since unlimited access is provided to the entire set of messages in a single information space.
  • the common information space management module (207) allows you to download the full text of the conversation (i.e., the entire set of messages sent to the common information space) at any time during the conference to any client device that has gone through the process of registering a connection to the conference with using the messaging module (201).
  • the client device sends a request to download the full text of the conversation to the common information space management module (207).
  • the common information space control module (207) generates the entire set of messages sent to the common information space, for example, in the form of a text file, and sends it to the client device.
  • the common information space management module (207) provides control over the display of messages located in the common information space.
  • the following can be reflected in the unified information space, but not limited to: only messages sent directly to the unified information space; only messages generated by the stream recognition module (203), which are text transcripts of an audio or video stream; all messages sent to a single information space.
  • the common information space management module (207) also searches the contents of messages posted in the common information space, which speeds up the process of finding necessary information among the entire set of messages generated by participants during the conference.
  • the translation module (208) translates at least one message received from at least one client device via the messaging module (201) and/or a message generated based on the processed data stream by the stream recognition module (203).
  • the translation process is carried out by the translation module (208) as follows:
  • FIG. 3 shows a method (300) for performing video conferencing.
  • the method (300) is carried out using a video conferencing server (104) and at least two client devices (101, 102).
  • the first step (301) at least two client devices (101, 102) are connected to the videoconferencing server (401).
  • at least two client devices (101, 102) are connected to a messaging module (201) included in the video conferencing server (104).
  • Connection to the video conferencing server (401) (in a particular case, to the messaging module (201)) can be realized by the client device receiving a link to join the conference and following the specified link, for example, but not limited to, using WebRTC technology.
  • the connections of said client devices (101, 102) to the conference are registered via the messaging module (201).
  • the messaging module (201) may additionally send notifications to client devices about newly connected client devices.
  • a secure connection is established with client devices through the stream forwarding module (202).
  • an SRTP connection is established with client devices.
  • the established secure connection is used for two-way transmission of data streams between at least one client device and the video conferencing server (104) (in the particular case, the stream forwarding module
  • a data stream from at least one client device is received through the stream forwarding module (202).
  • the received data stream is transmitted in parallel by the stream forwarding module (202) at step (305) to at least one other client device and the stream recognition module
  • transmitting a data stream to the stream recognition module (203) includes the stream forwarding module (202) sending a gRPC request to the stream recognition module (203).
  • Said gRPC request may contain, but is not limited to:
  • the data stream is processed by the stream recognition module (203) and at least one message is generated based on the processed data stream, wherein the processing of the data stream and generation of the at least one message is carried out in parallel with transmitting the data stream by the stream forwarding module (202) to at least one other client device.
  • processing the data stream by the stream recognition module (203) includes receiving a gRPC request from the stream forwarding module (202), as well as determining the type of the data stream and performing appropriate processing of the data stream depending on the type data flow.
  • the process of determining the type of data stream can be carried out, for example, by reading the data stream type from the recognition parameters contained in the gRPC request received from the stream forwarding module (202).
  • the thread recognition module (203) transmits the at least one generated message to the stream forwarding module (202).
  • transmitting the at least one generated message to the thread forwarder (202) includes the thread recognition module (203) sending a gRPC response to the thread forwarder (202). Said gRPC response contains recognition results obtained from processing the data stream by the stream recognition module (203).
  • the flow forwarding module (202) receives at least one generated message from the flow recognition module (203) and sends it to the common information space.
  • at least one generated message may contain, but is not limited to:
  • a generated message received from the flow recognition module (203) is sent to a single information space by sending said generated message to the messaging module (201 ), which sends the said generated message to a single information space.
  • One of the alternative embodiments of the claimed invention discloses a solution to the problem of incorrect output of messages into a single information space.
  • the user of the first client device transmits a data stream (for example, reads a report)
  • users of other client devices receive this data stream (i.e., hears and/or sees the report of the first user) through the forwarding module streams (202).
  • the stream forwarder (202) transmits the data stream in parallel to the client devices and the stream recognizer (203)
  • users of other client devices can receive the data stream before the stream recognizer (203) generates a message based on the processed data stream, and it will be displayed in a single information space (hereinafter referred to as chat).
  • a situation may arise when the user of the second client device, having heard part of the report, asks a question on the topic of what he heard, for example, generates a message and sends it to the chat.
  • a message from a user of a second client device may be output to chat before a message from a user of a first client device is converted from the data stream (e.g., a report from a user of the first client device is recognized and converted from an audio stream to a text message), resulting in incorrect output of messages into a single information space and, as a consequence, loss of logical, structural and cause-and-effect relationships between a set of messages in a single information space.
  • the stream recognition module (203) further partitions the text into fragments during the speech-to-text conversion process, and generates at least one message based on the fragments resulting from the text fragmentation. Then, in real time, it is determined by the matching module (206) whether the stream recognition module (203) is processing a data stream (eg, an audio stream); and setting the value of a flag identifying the state of the client device user's current input (eg, voice input or sign language input).
  • the stream recognition module (203) Next, through the messaging module (201), at least one message is received from another client device (for example, from the user of the second client device), and a request is sent to the negotiation module (206) for permission to send a message from another client device to the unified information space devices.
  • the negotiation module (206) receives from the messaging module (201) a request for permission to send a message to the common information space from another client device and decides to allow sending based on the value of the set flag.
  • the negotiation module (206) sends to the messaging module (201) permission to send a message to the common information space from another client device.
  • the messaging module (201) receives the said permission from the negotiation module (206) and sends messages from another client device to the common information space.
  • the negotiation module (206) sends a request to the stream forwarding module (202) to send the generated message to the common information space containing already processed fragments.
  • the thread forwarding module (202) sends a request to the thread recognition module (203) to generate a message containing the already processed fragments.
  • the thread recognition module (203) generates a message containing the already processed fragments and sends the generated message to the thread forwarding module (202), which sends the generated message containing the already processed fragments to the unified information space.
  • the negotiation module (206) then sends permission to the messaging module (201) to send a message from the other client device to the common information space.
  • the messaging module (201) receives the said permission from the negotiation module (206) and sends a message from another client device to the common information space.
  • the video conferencing system (100) is configured to seamlessly switch between client devices during video conferencing. Said seamless switching is implemented using at least one client device that has gone through the process of registering to join the conference via the messaging module (201), as follows:
  • BLE RSSI BLE signal strength indicator
  • FIG. 4 shows a general view of a computing device (400), on the basis of which elements of the claimed system (100), such as client devices (101, 102) and a video conferencing server (104), can be implemented.
  • each of the modules (201, 202, 203, 204, 205, 206, 207, 208) included in the video conferencing server (104) can also be implemented on the basis of a computing device (400).
  • a computing device contains one or more processors (401) connected by a common data exchange bus, memory means such as RAM (402) and ROM (403), input/output interfaces (404), input/output devices (405), and network communication means (406).
  • processors 401
  • memory means such as RAM (402) and ROM (403
  • input/output interfaces 404
  • input/output devices 405
  • network communication means 406
  • the processor (401) may be selected from a variety of devices commonly used today, such as those from IntelTM, AMDTM, AppleTM, Samsung ExynosTM, MediaTEKTM, Qualcomm SnapdragonTM and etc.
  • a graphics processor for example, Nvidia, AMD, Graphcore, etc., can also be used as the processor (401).
  • RAM (402) is a random access memory and is designed to store machine-readable instructions executable by the processor (401) to perform the necessary logical data processing operations.
  • RAM (402) typically contains executable operating system instructions and associated software components (applications, software modules, etc.).
  • ROM is one or more permanent storage devices, such as a hard disk drive (HDD), a solid state drive (SSD), flash memory (EEPROM, NAND, etc.), optical storage media ( CD-R/RW, DVD-R/RW, BlueRay Disc, MD), etc.
  • I/O interfaces (404) are used. The choice of appropriate interfaces depends on the specific design of the computing device, which can be, but is not limited to: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/ Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232, etc.
  • I/O information devices for example, a keyboard, a display (monitor), a touch display, a touch pad, a joystick, a mouse, a light pen, a stylus, touch panel, trackball, speakers, microphone, augmented reality tools, optical sensors, tablet, light indicators, projector, camera, biometric identification tools (retina scanner, fingerprint scanner, voice recognition module), etc.
  • the network communication means (406) ensures that the device (400) transmits data via an internal or external computer network, for example, Intranet, Internet, LAN, etc.
  • One or more means (406) can be used, but not limited to: Ethernet card, GSM modem, GPRS modem, LTE modem, 5G modem, satellite communication module, NFC module, Bluetooth and/or BLE module, Wi-Fi module and etc.
  • the device (400) can also use satellite navigation tools, for example, GPS, GLONASS, BeiDou, Galileo.

Abstract

The claimed solution relates to the field of telecommunications and computer technologies. A video conferencing system (100) comprises: client devices (101, 102) capable of connecting to a messaging module; and a video conferencing server (104) containing a messaging module, a streaming module, and a stream recognition module. The messaging module is configured to be capable of registering the connection of client devices to a conference and sending messages from client devices to a shared information space. The streaming module is configured to be capable of establishing a secure connection, receiving a data stream and transmitting same in parallel to client devices and to the stream recognition module. The stream recognition module is configured to be capable of processing a data stream and generating a message, said actions being performed in parallel with the transmission of the data stream to a client device by the streaming module. The solution is directed toward enabling parallel output of a data stream to a client device and recognition of said data stream to generate a message for output to a shared information space.

Description

СИСТЕМА И СПОСОБ ДЛЯ ВИДЕОКОНФЕРЕНЦСВЯЗИ SYSTEM AND METHOD FOR VIDEO CONFERENCE COMMUNICATION
ОБЛАСТЬ ТЕХНИКИ TECHNICAL FIELD
[0001] Заявленное решение относится к области телекоммуникаций и компьютерных технологий, в частности, к телекоммуникационной технологии взаимодействия двух и более удалённых пользователей, при которой между ними возможен обмен аудио- и видеоинформацией в реальном времени. [0001] The claimed solution relates to the field of telecommunications and computer technology, in particular, to telecommunication technology for the interaction of two or more remote users, in which it is possible for them to exchange audio and video information in real time.
УРОВЕНЬ ТЕХНИКИ BACKGROUND OF THE ART
[0002] Из уровня техники известно множество различных систем видеоконференцсвязи (ВКС), как от российских, так и от зарубежных разработчиков. [0003] Наиболее известными из них являются: [0002] Many different video conferencing systems (VCC) are known from the state of the art, both from Russian and foreign developers. [0003] The most famous of them are:
• Zoom • Zoom
• Cisco Webex • Cisco Webex
• MS Teams • MS Teams
• Google Meet • Google Meet
• TrueConf • TrueConf
• IVA • IVA
• Videomost. • Videomost.
[0004] К основным недостаткам большинства решений относится отсутствие возможности одновременной работы с речью и текстовой коммуникацией во время проведения видеоконференции, в частности, отсутствие безбарьерной среды для одновременного общения во время видеоконференции с участниками с нарушением слуха. [0004] The main disadvantages of most solutions include the inability to simultaneously work with speech and text communication during a video conference, in particular, the lack of a barrier-free environment for simultaneous communication during a video conference with participants with hearing impairments.
[0005] В патентной заявке US 20120306993 Al «System and Method for Teleconferencing» (правообладатель: Visionary Mobile Corporation, опубликована 06.12.2012) раскрывается система проведения видеоконференций по сети для множества клиентов с использованием сервера в качестве посредника. На сервер поступает видеопоток в реальном времени от каждого клиента. Этот видеопоток в реальном времени может быть высокочастотным потоком, представляющим видео с камеры, связанной с конечным пользователем. Сервер предоставляет любому клиенту видеопоток в реальном времени, выбранный данным клиентом из числа видеопотоков, полученных на сервере. [0006] Недостатком данного решения является отсутствие возможности распознавания видеопотока для формирования сообщения, предоставляемого пользователю. Это в свою очередь обеспечивает сложность с погружением в контекст обсуждения для участников видеоконференции, которые вынуждены были на какое- то время отвлечься в процессе обсуждения. [0005] Patent application US 20120306993 Al "System and Method for Teleconferencing" (Copyright holder: Visionary Mobile Corporation, published 12/06/2012) discloses a system for conducting video conferencing over a network for multiple clients using a server as an intermediary. The server receives a real-time video stream from each client. This real-time video stream may be a high-frequency stream representing video from a camera associated with the end user. The server provides any client with a real-time video stream selected by that client from among the video streams received on the server. [0006] The disadvantage of this solution is the lack of ability to recognize the video stream to generate a message provided to the user. This, in turn, makes it difficult to immerse in the context of the discussion for video conference participants who were forced to be distracted for some time during the discussion.
[0007] Кроме того, в известном уровне техники существует сложность с погружением в контекст обсуждения для участников видеоконференции, которые вынуждены были на какое-то время отвлечься в процессе обсуждения. [0007] In addition, in the prior art, it is difficult to immerse in the context of the discussion for video conference participants who were forced to be distracted for some time during the discussion.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ SUMMARY OF THE INVENTION
[0008] Заявленное изобретение позволяет решить техническую проблему, заключающуюся в обеспечении возможности извлечения информации из потока данных с её последующим преобразованием в сообщения и их интеграцию в единое информационное пространство. [0008] The claimed invention allows us to solve the technical problem of providing the ability to extract information from a data stream with its subsequent conversion into messages and their integration into a single information space.
[0009] Техническим результатом является обеспечение функциональной возможности параллельного вывода потока данных по меньшей мере одному клиентскому устройству и распознавания этого потока данных для формирования сообщения для вывода в единое информационное пространство. [0009] The technical result is to provide functionality for parallel output of a data stream to at least one client device and recognition of this data stream to generate a message for output to a single information space.
[0010] Заявленный технический результат достигается за счет реализации системы для видеоконференцсвязи, содержащей: [0010] The claimed technical result is achieved through the implementation of a video conferencing system containing:
• по меньшей мере два клиентских устройства, выполненных с возможностью подключаться к модулю обмена сообщениями; и • at least two client devices configured to connect to the messaging module; And
• сервер видеоконференцсвязи, содержащий по меньшей мере модуль обмена сообщениями, модуль пересылки потоков и модуль распознавания потоков, причем модуль обмена сообщениями выполнен с возможностью • a video conferencing server containing at least a messaging module, a stream forwarding module and a stream recognition module, wherein the messaging module is configured to
- регистрировать подключения клиентских устройств к конференции,- register connections of client devices to the conference,
- отправлять в единое информационное пространство по меньшей мере одно сообщение, полученное от по меньшей мере одного клиентского устройства, модуль пересылки потоков выполнен с возможностью - send at least one message received from at least one client device to a single information space, the stream forwarding module is configured to
- устанавливать защищенное соединение с клиентскими устройствами,- establish a secure connection with client devices,
- принимать поток данных от по меньшей мере одного клиентского устройства, - передавать поток данных в параллельном режиме по меньшей мере одному другому клиентскому устройству и модулю распознавания потоков, - receive a data stream from at least one client device, - transmit a data stream in parallel mode to at least one other client device and a stream recognition module,
- принимать от модуля распознавания потоков по меньшей мере одно сгенерированное сообщение и отправлять его в единое информационное пространство, модуль распознавания потоков выполнен с возможностью обрабатывать поток данных и генерировать по меньшей мере одно сообщение на основе обработанного потока данных, причем обработка потока данных и генерация по меньшей мере одного сообщения осуществляется параллельно с передачей потока данных модулем пересылки потоков по меньшей мере одному другому клиентскому устройству. - receive at least one generated message from the stream recognition module and send it to a single information space, the stream recognition module is configured to process the data stream and generate at least one message based on the processed data stream, wherein processing the data stream and generating at least at least one message is carried out in parallel with the transmission of the data stream by the stream forwarding module to at least one other client device.
[0011] В одном из частных примеров реализации принятый от по меньшей мере одного клиентского устройства поток данных содержит по меньшей мере аудио и/или видео поток. [0011] In one particular implementation example, the data stream received from at least one client device contains at least an audio and/or video stream.
[0012] В другом частном примере реализации обработка аудио потока включает преобразование речи в текст (Automatic Speech Recognition). [0012] In another particular implementation example, processing the audio stream includes converting speech to text (Automatic Speech Recognition).
[0013] В другом частном примере реализации обработка видео потока включает преобразование жестов в текстовую и/или графическую информацию (Gesture Recognition). [0013] In another particular implementation example, video stream processing includes converting gestures into text and/or graphic information (Gesture Recognition).
[0014] В другом частном примере реализации обработка видео потока включает распознавание языка жестов (Sign Language Recognition). [0014] In another particular implementation example, video stream processing includes Sign Language Recognition.
[0015] В другом частном примере реализации модуль распознавания потоков дополнительно выполнен с возможностью определять тип потока данных и осуществлять соответствующую обработку потока данных в зависимости от типа потока данных. [0015] In another particular embodiment, the stream recognition module is further configured to determine the type of the data stream and perform appropriate processing of the data stream depending on the type of the data stream.
[0016] В другом частном примере реализации сервер видеоконференцсвязи дополнительно содержит модуль фильтрации аудио потока, выполненный с возможностью подавления шума. [0016] In another particular implementation example, the video conferencing server further comprises an audio stream filtering module configured to suppress noise.
[0017] В другом частном примере реализации сообщения, сгенерированные на основе обработанного потока данных, содержат по меньшей мере текстовую и/или графическую информацию. [0017] In another particular embodiment, messages generated based on the processed data stream contain at least text and/or graphic information.
[0018] В другом частном примере реализации сервер видеоконференцсвязи дополнительно содержит модуль модификации видео потока, выполненный с возможностью - замены фона, [0018] In another particular implementation example, the video conferencing server further comprises a video stream modification module configured to - background replacement,
- применения фильтров, улучшающих визуальные характеристики изображения пользователя, - application of filters that improve the visual characteristics of the user’s image,
- применения фильтров дополненной реальности (AR-фильтров). - application of augmented reality filters (AR filters).
[0019] В другом частном примере реализации модуль пересылки потоков дополнительно выполнен с возможностью принимать от по меньшей мере одного клиентского устройства команду на распознавание аудио и/или видео потока; и передавать аудио и/или видео поток модулю распознавания потоков после получения упомянутой команды на распознавание. [0019] In another particular implementation example, the stream forwarding module is further configured to receive a command from at least one client device to recognize an audio and/or video stream; and transmit the audio and/or video stream to the stream recognition module after receiving said recognition command.
[0020] В другом частном примере реализации модуль распознавания потоков дополнительно выполнен с возможностью [0020] In another particular implementation example, the thread recognition module is further configured to
- осуществлять разбиение аудио потока на фрагменты в процессе преобразования речи в текст, - split the audio stream into fragments in the process of converting speech into text,
- обрабатывать фрагменты, полученные в результате разбиения аудио потока,- process fragments obtained as a result of splitting the audio stream,
- генерировать по меньшей мере одно сообщение на основе обработанных фрагментов; сервер видеоконференцсвязи дополнительно содержит модуль согласования, выполненный с возможностью - generate at least one message based on the processed fragments; The video conferencing server additionally contains a matching module configured to
- определять в режиме реального времени, осуществляет ли модуль распознавания потоков обработку аудио потока, - determine in real time whether the stream recognition module processes the audio stream,
- устанавливать значение флага, идентифицирующего состояние текущего голосового ввода пользователя клиентского устройства, - set the value of the flag identifying the state of the current voice input of the user of the client device,
- получать от модуля обмена сообщениями запрос на разрешение отправки в единое информационное пространство сообщения от другого клиентского устройства, - receive a request from the messaging module for permission to send a message from another client device to the unified information space,
- отправлять модулю обмена сообщениями разрешение отправки в единое информационное пространство сообщения от другого клиентского устройства на основании значения упомянутого флага, при этом - send the messaging module permission to send a message from another client device to the unified information space based on the value of the mentioned flag, while
• если значение флага идентифицирует отсутствие текущего голосового ввода пользователя клиентского устройства, модуль согласования отправляет модулю обмена сообщениями разрешение отправки в единое информационное пространство сообщения от другого клиентского устройства; если значение флага идентифицирует наличие текущего голосового ввода пользователя клиентского устройства, модуль согласования выполнен с возможностью о отправлять модулю пересылки потоков запрос на отправку в единое информационное пространство сгенерированного сообщения, содержащего уже обработанные фрагменты, о после отправки модулем пересылки потоков сгенерированного сообщения, содержащего уже обработанные фрагменты, в единое информационное пространство, отправлять модулю обмена сообщениями разрешение отправки в единое информационное пространство сообщения от другого клиентского устройства; модуль обмена сообщениями дополнительно выполнен с возможностью• if the flag value identifies the absence of current voice input from the client device user, the negotiation module sends permission to the messaging module to send a message from another client device to the common information space; if the value of the flag identifies the presence of current voice input from the user of the client device, the negotiation module is configured to o send the stream forwarding module a request to send a generated message containing already processed fragments to the unified information space, o after the stream forwarding module sends a generated message containing already processed fragments , to a single information space, send to the messaging module permission to send a message from another client device to a single information space; The messaging module is additionally configured to
- отправлять модулю согласования запрос на разрешение отправки в единое информационное пространство сообщения от другого клиентского устройства,- send a request to the coordination module for permission to send a message from another client device to a single information space,
- отправлять в единое информационное пространство сообщения от другого клиентского устройства в ответ на прием разрешения отправки от модуля согласования. - send messages from another client device to a single information space in response to receiving permission to send from the coordination module.
[0021] В другом частном примере реализации сервер видеоконференцсвязи дополнительно содержит модуль управления единым информационным пространством, выполненный с возможностью определять, что по меньшей мере одно сгенерированное сообщение получено от модуля пересылки потоков; и отображать при выводе по меньшей мере одного сгенерированного сообщения метку, идентифицирующую формирование сгенерированного сообщения из аудио потока. [0021] In another particular embodiment, the video conferencing server further comprises a common information space control module configured to determine that at least one generated message has been received from a stream forwarding module; and display, when outputting the at least one generated message, a label identifying generation of the generated message from the audio stream.
[0022] В другом частном примере реализации модуль управления единым информационным пространством дополнительно выполнен с возможностью [0022] In another particular implementation example, the common information space management module is additionally configured to
- сохранять сообщения, размещенные в упомянутом пространстве, - save messages posted in the mentioned space,
- обеспечивать доступ подключенным клиентским устройствам к сохраненным сообщениям. - provide connected client devices with access to saved messages.
[0023] В другом частном примере реализации модуль управления единым информационным пространством дополнительно выполнен с возможностью осуществлять [0023] In another particular implementation example, the common information space management module is additionally configured to implement
- поиск по содержимому сообщений, размещенных в упомянутом пространстве, - скачивание содержимого сообщений, размещенных в упомянутом пространстве, - search by the content of messages posted in the mentioned space, - downloading the contents of messages posted in the mentioned space,
- управление отображением сообщений, размещенных в упомянутом пространстве. - control the display of messages posted in the mentioned space.
[0024] В другом частном примере реализации сервер видеоконференцсвязи дополнительно содержит модуль перевода, выполненный с возможностью перевода по меньшей мере одного сообщения, полученного от по меньшей мере одного клиентского устройства и/или сообщения, сгенерированного на основе обработанного потока данных. [0024] In another particular embodiment, the video conferencing server further includes a translation module configured to translate at least one message received from at least one client device and/or a message generated based on the processed data stream.
[0025] Заявленный технический результат достигается также за счет выполнения способа осуществления видеоконференцсвязи, реализуемого с помощью сервера видеоконференцсвязи и содержащего этапы, на которых: [0025] The claimed technical result is also achieved by implementing a method for performing video conferencing, implemented using a video conferencing server and containing the stages of:
• подключают по меньшей мере два клиентских устройства к серверу видеоконференцсвязи, • connect at least two client devices to the video conferencing server,
• регистрируют подключения клиентских устройств к конференции, • register connections of client devices to the conference,
• устанавливают защищенное соединение с клиентскими устройствами, • establish a secure connection with client devices,
• принимают поток данных от по меньшей мере одного клиентского устройства,• receive a data stream from at least one client device,
• передают поток данных в параллельном режиме по меньшей мере одному другому клиентскому устройству и модулю распознавания потоков, • transmit the data stream in parallel mode to at least one other client device and the stream recognition module,
• в модуле распознавания потоков обрабатывают поток данных и генерируют по меньшей мере одно сообщение на основе обработанного потока данных, причем обработка потока данных и генерация по меньшей мере одного сообщения осуществляется параллельно с передачей потока данных по меньшей мере одному другому клиентскому устройству, • in the stream recognition module, a data stream is processed and at least one message is generated based on the processed data stream, wherein the processing of the data stream and the generation of at least one message is carried out in parallel with the transmission of the data stream to at least one other client device,
• принимают по меньшей мере одно сгенерированное сообщение и отправляют его в единое информационное пространство. • receive at least one generated message and send it to a single information space.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ BRIEF DESCRIPTION OF THE DRAWINGS
[0026] На Фиг. 1 представлена концептуальная схема заявленного решения. [0026] In FIG. 1 shows a conceptual diagram of the claimed solution.
[0027] На Фиг. 2 представлена схема сервера видеоконференцсвязи. [0027] In FIG. Figure 2 shows a diagram of a video conferencing server.
[0028] На Фиг. 3 представлена блок-схема способа осуществления видеоконференцсвязи . [0028] In FIG. 3 shows a block diagram of a method for implementing video conferencing.
[0029] На Фиг. 4 представлена общая схема вычислительного устройства. ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ [0029] In FIG. Figure 4 shows the general diagram of the computing device. IMPLEMENTATION OF THE INVENTION
[0030] Ниже будут описаны понятия и термины, необходимые для понимания настоящего изобретения. [0030] The concepts and terms necessary to understand the present invention will be described below.
[0031] Видеоконференцсвязь (ВКС) - это телекоммуникационная технология взаимодействия двух и более удалённых абонентов, при которой между ними возможен обмен аудио- и видеоинформацией в реальном времени, с учётом передачи управляющих данных. [0031] Videoconferencing (VCC) is a telecommunications technology for the interaction of two or more remote subscribers, in which they can exchange audio and video information in real time, taking into account the transfer of control data.
[0032] XMPP (extensible Messaging and Presence Protocol, Расширяемый протокол обмена сообщениями и информацией о присутствии) — открытый, основанный на XML (extensible Markup Language, Расширяемый язык разметки), свободный для использования протокол для мгновенного обмена сообщениями и информацией о присутствии в режиме, близком к режиму реального времени. [0032] XMPP (extensible Messaging and Presence Protocol) is an open, XML (extensible Markup Language) based, free-to-use protocol for instant messaging and online presence. , close to real time.
[0033] RTP (Real-time Transport Protocol) — это сетевой протокол для доставки аудио и видео по 1Р-сетям. [0033] RTP (Real-time Transport Protocol) is a network protocol for delivering audio and video over 1P networks.
[0034] SRTP (Secure Real-time Transport Protocol, Безопасный протокол передачи данных в реальном времени) — расширение к протоколу RTP, предназначенное для шифрования, установления подлинности сообщения, целостности, защиты от подмены данных RTP. [0034] SRTP (Secure Real-time Transport Protocol) is an extension to the RTP protocol designed for encryption, message authentication, integrity, and protection against tampering of RTP data.
[0035] gRPC (Remote Procedure Calls) — это система удалённого вызова процедур (RPC) с открытым исходным кодом, предоставляющая такие функции как аутентификация, двунаправленная потоковая передача и управление потоком, блокирующие или неблокирующие привязки, а также отмена и тайм-ауты. [0035] gRPC (Remote Procedure Calls) is an open source remote procedure call (RPC) system that provides features such as authentication, bidirectional streaming and flow control, blocking or non-blocking bindings, and cancellation and timeouts.
[0036] ASR (Automatic Speech Recognition) — компьютерная технология автоматического распознавания речи в текст. [0036] ASR (Automatic Speech Recognition) is a computer technology for automatic speech-to-text recognition.
[0037] Gesture Recognition - объединение компьютерных и языковых технологий, целью которых является интерпретация человеческих жестов с помощью математических алгоритмов. [0037] Gesture Recognition is a combination of computer and language technologies, the purpose of which is to interpret human gestures using mathematical algorithms.
[0038] SLR (Sign Language Recognition) — компьютерная технология по распознаванию действий на языке жестов. [0038] SLR (Sign Language Recognition) is a computer technology for recognizing actions in sign language.
[0039] AR (Augmented Reality, Дополненная реальность) — результат введения в зрительное поле любых сенсорных данных с целью дополнения сведений об окружении и изменения восприятия окружающей среды. [0040] WebRTC (Web Real Time Communication, Веб коммуникации в режиме реального времени) - технология, обеспечивающая организацию передачи потоковых данных между браузерами или мобильными приложениями используя прямую одноранговую связь. [0039] AR (Augmented Reality) is the result of introducing any sensory data into the visual field in order to supplement information about the environment and change the perception of the environment. [0040] WebRTC (Web Real Time Communication) is a technology that provides streaming data transfer between browsers or mobile applications using direct peer-to-peer communication.
[0041] BLE (Bluetooth Low Energy, Беспроводная технология Bluetooth с низким энергопотреблением) — технология беспроводной связи с низким энергопотреблением для обмена данными на небольших расстояниях в течение длительного периода времени. [0041] BLE (Bluetooth Low Energy) is a low energy wireless technology for exchanging data over short distances over long periods of time.
[0042] На Фиг. 1 представлена общая схема заявленной системы (100) для видеоконференцсвязи. Система (100) может представлять собой программноаппаратный комплекс, в котором каждый из ее элементов расположен на отдельной вычислительной машине, связанный в рамках единого функционального обеспечения с другими элементами посредством сети передачи данных (103). [0042] In FIG. 1 shows a general diagram of the proposed system (100) for video conferencing. The system (100) can be a hardware-software complex in which each of its elements is located on a separate computer, connected within a single functionality with other elements via a data transmission network (103).
[0043] Система (100) состоит из по меньшей мере двух клиентских устройств (101, 102) и сервера видеоконференцсвязи (104) соединенных посредством сети передачи данных (103). [0043] The system (100) consists of at least two client devices (101, 102) and a video conferencing server (104) connected via a data network (103).
[0044] Клиентские устройства (101, 102) могут быть выполнены с возможностью генерации по меньшей мере одного сообщения посредством устройств ввода информации, записи аудио и/или видеосигналов посредством таких технических средств, как микрофоны и камеры; преобразования упомянутых сигналов в поток данных; соединения с сервером видеоконференцсвязи (104); передачи серверу видеоконференцсвязи (104) упомянутых по меньшей мере одного сообщения и потока данных; получения от сервера видеоконференцсвязи (104) по меньшей мере одного сообщения и потока данных от других клиентских устройств; отображения по меньшей мере одного сообщения в едином информационном пространстве и потока данных посредством устройств вывода информации. [0044] Client devices (101, 102) may be configured to generate at least one message through input devices, recording audio and/or video signals through technical means such as microphones and cameras; converting said signals into a data stream; connections to a video conferencing server (104); transmitting to the video conferencing server (104) said at least one message and data stream; receiving from the video conferencing server (104) at least one message and a data stream from other client devices; displaying at least one message in a single information space and data flow through information output devices.
[0045] Клиентские устройства (101, 102) могут быть реализованы на базе вычислительных устройств, модифицированных в программно-аппаратной части таким образом, чтобы выполнять указанные выше функции клиентских устройств, и обладающих техническими средствами для ввода-вывода информации, а также техническими средствами для коммуникации с сервером видеоконференцсвязи (104) посредством сети передачи данных (103). Примерами таких вычислительных устройств являются, но не ограничиваются: персональный компьютер, смартфон, устройства SberBox Top, SberPortal и т.п. Более подробное описание вычислительного устройства раскрыто далее со ссылкой на Фиг. 4. [0045] Client devices (101, 102) can be implemented on the basis of computing devices modified in software and hardware in such a way as to perform the above functions of client devices, and having technical means for input-output of information, as well as technical means for communication with the video conferencing server (104) via a data network (103). Examples of such computing devices include, but are not limited to: personal computer, smartphone, devices SberBox Top, SberPortal, etc. A more detailed description of the computing device is disclosed below with reference to FIG. 4.
[0046] В качестве сети передачи данных (103) может выступать, но не ограничиваться указанными примерами: внутренняя или внешняя вычислительная сеть, например, Интранет, Интернет и т.п. [0046] The data network (103) can be, but is not limited to, the following examples: an internal or external computer network, for example, an Intranet, the Internet, etc.
[0047] Сервер видеоконференцсвязи (104) содержит совокупность модулей, которые будут подробно описаны далее со ссылкой на Фиг. 2. Модули могут выполняться конструктивно в виде программно-аппаратных решений (например, система на чипе, микроконтроллеры и т.п.). Кроме того, указанный сервер (104) может быть реализован на базе вычислительного устройства, более подробное описание которого представлено далее со ссылкой на Фиг. 4. Причем такое вычислительное устройство модифицировано в своей программно-аппаратной части таким образом, чтобы реализовывать функции упомянутых модулей. [0047] The video conferencing server (104) contains a plurality of modules that will be described in detail below with reference to FIG. 2. Modules can be implemented structurally in the form of software and hardware solutions (for example, a system on a chip, microcontrollers, etc.). In addition, said server (104) may be implemented on a computing device, a more detailed description of which is presented below with reference to FIG. 4. Moreover, such a computing device is modified in its hardware and software in such a way as to implement the functions of the mentioned modules.
[0048] На Фиг. 2 представлена подробная схема реализации сервера видеоконференцсвязи (104). Сервер видеоконференцсвязи (104) содержит следующие модули: модуль обмена сообщениями (201), модуль пересылки потоков (202), модуль распознавания потоков (203), модуль фильтрации аудио потока (204), модуль модификации видео потока (205), модуль согласования (206), модуль управления единым информационным пространством (207), модуль перевода (208). Взаимодействие между модулями реализовано посредством шины данных. [0048] In FIG. 2 shows a detailed diagram of the implementation of the video conferencing server (104). The video conferencing server (104) contains the following modules: messaging module (201), stream forwarding module (202), stream recognition module (203), audio stream filtering module (204), video stream modification module (205), matching module (206 ), module for managing a single information space (207), translation module (208). Interaction between modules is implemented via a data bus.
[0049] Модуль обмена сообщениями (201) регистрирует подключения клиентских устройств к конференции. После регистрации модуль обмена сообщениями (201) выполнен с возможностью принимать по меньшей мере одно сообщение, сгенерированное на по меньшей мере одном клиентском устройстве, от по меньшей мере одного клиентского устройства и отправлять упомянутое сообщение в единое информационное пространство. [0049] The messaging module (201) registers client device connections to the conference. After registration, the messaging module (201) is configured to receive at least one message generated on at least one client device from at least one client device and send said message to a common information space.
[0050] В частном примере реализации в качестве единого информационного пространства может выступать чат, доступный всем клиентским устройствам, которые прошли процесс регистрации подключения к конференции посредством модуля обмена сообщениями (201). Сообщения, отправляемые в единое информационное пространство, отображаются на устройствах вывода клиентских устройствах, например, но не ограничиваясь, в виде текстовых сообщений в чате. В одном из частных примеров реализации отправка по меньшей мере одного сообщения в единое информационное пространство включает отправку упомянутого сообщения модулем обмена сообщениями (201) всем клиентским устройствам, которые прошли процесс регистрации подключения к конференции. [0050] In a particular example of implementation, a chat can act as a single information space, accessible to all client devices that have completed the process of registering a connection to the conference through the messaging module (201). Messages sent to a single information space are displayed on the output devices of client devices, for example, but not limited to, in the form of text messages in chat. In one of the particular implementation examples, sending at least one message to a single information space includes sending the mentioned message messaging module (201) to all client devices that have completed the registration process for joining the conference.
[0051] Необходимо отметить, что в одном из альтернативных вариантов воплощения заявленного решения модуль обмена сообщениями (201) выполнен с возможностью принимать от модуля пересылки потоков (202) по меньшей мере одно сообщение, сгенерированное модулем распознавания потоков (203) и отправлять упомянутое сообщение в единое информационное пространство. [0051] It should be noted that in one of the alternative embodiments of the claimed solution, the messaging module (201) is configured to receive from the stream forwarding module (202) at least one message generated by the stream recognition module (203) and send said message to unified information space.
[0052] В предпочтительном варианте воплощения заявленного решения модуль обмена сообщениями (201) является ХМРР-сервером. [0052] In a preferred embodiment of the claimed solution, the messaging module (201) is an XMPP server.
[0053] Модуль пересылки потоков (202) устанавливает защищенное соединение с клиентскими устройствами. После установки защищенного соединения модуль пересылки потоков (202) принимает поток данных от по меньшей мере одного клиентского устройства и передаёт поток данных в параллельном режиме по меньшей мере одному другому клиентскому устройству и модулю распознавания потоков (203). Далее модуль пересылки потоков (202) принимает от модуля распознавания потоков (203) по меньшей мере одно сгенерированное сообщение и отправляет упомянутое сообщение в единое информационное пространство. [0053] The stream forwarding module (202) establishes a secure connection with client devices. After establishing a secure connection, the stream forwarding module (202) receives a data stream from at least one client device and transmits the data stream in parallel to at least one other client device and the stream recognition module (203). Next, the flow forwarding module (202) receives at least one generated message from the flow recognition module (203) and sends the said message to the unified information space.
[0054] В частном примере реализации в качестве защищенного соединения может выступать SRTP соединение. [0054] In a particular implementation example, an SRTP connection can serve as a secure connection.
[0055] Принятый от по меньшей мере одного клиентского устройства поток данных содержит по меньшей мере аудио и/или видео поток. Например, у клиентского устройства может отсутствовать камера, в связи с чем клиентское устройство будет передавать только аудио поток. В случае, если пользователь клиентского устройства общается только на языке жестов, то передача аудио потока не является обязательным условием для коммуникации между участниками конференции и модуль пересылки потоков (202) может принять только видео поток. [0055] The data stream received from at least one client device contains at least an audio and/or video stream. For example, the client device may not have a camera, and therefore the client device will only transmit an audio stream. If the user of the client device communicates only in sign language, then transmission of the audio stream is not a prerequisite for communication between conference participants and the stream forwarding module (202) can only receive the video stream.
[0056] В одном из частных примеров реализации модуль пересылки потоков (202) принимает от по меньшей мере одного клиентского устройства команду на распознавание аудио и/или видео потока и передаёт аудио и/или видео поток модулю распознавания потоков (203) после получения упомянутой команды на распознавание. Возможность модуля пересылки потоков (202) принимать команду на распознавание позволяет заявленному решению эффективно использовать вычислительные и временные ресурсы и либо не тратить их на распознавание аудио и/или видео потока, если такое распознавание не требуется, либо определять какой из потоков данных (аудио или видео поток) подлежит распознаванию. [0056] In one of the particular implementation examples, the stream forwarding module (202) receives a command from at least one client device to recognize an audio and/or video stream and transmits the audio and/or video stream to the stream recognition module (203) after receiving the said command for recognition. The ability of the stream forwarding module (202) to receive a recognition command allows the claimed solution to effectively use computational and time resources and either not spend them on audio recognition and/or video stream, if such recognition is not required, or determine which of the data streams (audio or video stream) is subject to recognition.
[0057] Необходимо отметить, что в одном из альтернативных вариантов воплощения заявленного решения модуль пересылки потоков (202) отправляет сгенерированное сообщение, принятое от модуля распознавания потоков (203), в единое информационное пространство посредством отправки упомянутого сгенерированного сообщения модулю обмена сообщениями (201), который в свою очередь отправляет упомянутое сгенерированное сообщение в единое информационное пространство. [0057] It should be noted that in one of the alternative embodiments of the claimed solution, the flow forwarding module (202) sends the generated message received from the flow recognition module (203) to the common information space by sending said generated message to the messaging module (201), which in turn sends the said generated message to a single information space.
[0058] Модуль распознавания потоков (203) обрабатывает поток данных, полученный от модуля пересылки потоков (202), и генерирует по меньшей мере одно сообщение на основе обработанного потока данных и отправляет сгенерированное сообщение модулю пересылки потоков (202). Обработка потока данных и генерация по меньшей мере одного сообщения осуществляется параллельно с передачей потока данных модулем пересылки потоков (202) по меньшей мере одному другому клиентскому устройству. Возможность параллельного выполнения операций по распознаванию потока данных и передаче упомянутого потока данных клиентскому устройству для дальнейшего вывода позволяет заявленному решению сохранить скорость передачи потока данных клиентскому устройству с одновременным обеспечением функции распознавания потока данных. [0058] The stream recognition module (203) processes the data stream received from the stream forwarding module (202) and generates at least one message based on the processed data stream and sends the generated message to the stream forwarding module (202). Processing of the data stream and generation of at least one message occurs in parallel with the transmission of the data stream by the stream forwarding module (202) to at least one other client device. The ability to parallelly perform operations to recognize a data stream and transfer said data stream to a client device for further output allows the claimed solution to maintain the transmission rate of the data stream to the client device while simultaneously providing the data stream recognition function.
[0059] В предпочтительном варианте воплощения заявленного решения в зависимости от типа потока данных модуль распознавания потоков (203) обрабатывает поток данных следующим образом: [0059] In a preferred embodiment of the claimed solution, depending on the type of data stream, the stream recognition module (203) processes the data stream as follows:
- если поток данных включает аудио поток, то обработка аудио потока данных включает преобразование речи в текст (ASR), - if the data stream includes an audio stream, then processing of the audio data stream includes speech-to-text (ASR) conversion,
- если поток данных включает видео поток, то обработка видео потока может включать как преобразование жестов в текстовую и/или графическую информацию (Gesture Recognition), так и распознавание языка жестов (SLR). - if the data stream includes a video stream, then processing of the video stream may include both the conversion of gestures into text and/or graphic information (Gesture Recognition) and sign language recognition (SLR).
[0060] В частном примере реализации модуль распознавания потоков (203) дополнительно выполнен с возможностью определять тип потока данных и осуществлять соответствующую обработку потока данных в зависимости от типа потока данных. Процесс определения типа потока данных заключается в исследовании потока данных и определении его типа. [0061] В общем случае, модуль распознавания потоков (203) дополнительно выполнен с возможностью осуществлять разбиение потока данных на фрагменты в процессе обработки потока данных, обрабатывать фрагменты, полученные в результате разбиения потока данных, и генерировать по меньшей мере одно сообщение на основе обработанных фрагментов. В качестве фрагментов могут выступать, но не ограничиваться указанными примерами: речевые фразы (для аудио потока) или кадры (для видео потока). [0060] In a particular embodiment, the stream recognition module (203) is further configured to determine the type of the data stream and perform appropriate processing of the data stream depending on the type of the data stream. The process of determining the data flow type involves examining the data flow and determining its type. [0061] In general, the stream recognition module (203) is further configured to partition the data stream into fragments while processing the data stream, process the fragments resulting from the fragmentation of the data stream, and generate at least one message based on the processed fragments . The fragments can be, but are not limited to, the following examples: speech phrases (for an audio stream) or frames (for a video stream).
[0062] В предпочтительном варианте воплощения изобретения для случая преобразования речи в текст (ASR) модуль распознавания потоков (203) дополнительно выполнен с возможностью осуществлять разбиение аудио потока на фрагменты в процессе преобразования речи в текст, обрабатывать фрагменты, полученные в результате разбиения аудио потока, и генерировать по меньшей мере одно сообщение на основе обработанных фрагментов. При этом разбиение аудио потока на фрагменты включает детектирование окончания фрагмента путём детектирования тишины в аудио потоке, характерной, например, для окончания фразы или грамматической паузы. [0062] In a preferred embodiment of the invention for the case of speech-to-text (ASR) conversion, the stream recognition module (203) is further configured to split the audio stream into fragments during the speech-to-text conversion process, process the fragments resulting from the splitting of the audio stream, and generate at least one message based on the processed fragments. In this case, splitting the audio stream into fragments includes detecting the end of the fragment by detecting silence in the audio stream, characteristic, for example, of the end of a phrase or a grammatical pause.
[0063] Обработка фрагментов, полученных в результате разбиения аудио потока, посредством модуля распознавания потоков (203) дополнительно включает формирование набора гипотез по каждому слову во фрагменте исходя из языковой модели. При этом на каждое сказанное пользователем клиентского устройства слово может быть несколько вариантов распознанного текста. Гипотеза - это набор пар, состоящий из варианта распознанного слова и вероятности того, что это слово встречается в распознаваемом фрагменте. Например, для распознаваемого слова «Лук» в качестве гипотезы выступает следующий набор пар: [0063] Processing the fragments obtained as a result of splitting the audio stream by means of the stream recognition module (203) further includes generating a set of hypotheses for each word in the fragment based on the language model. In this case, for each word spoken by the user of the client device, there can be several variants of the recognized text. A hypothesis is a set of pairs consisting of a variant of a recognized word and the probability that this word occurs in the recognized fragment. For example, for the recognized word “Bow” the following set of pairs acts as a hypothesis:
Лук - 0,5 Onion - 0.5
Луг - 0,3 Meadow - 0.3
Люк - 0,2 Hatch - 0.2
[0064] Таким образом, модуль распознавания потоков (203) изначально не распознает каждое слово, а лишь формирует набор вариантов определения того или иного слова с их вероятностью (где сумма вероятностей равна 1 или 100%). При этом, в предпочтительном варианте реализации, из набора вариантов выбирается то слово, которое имеет наибольшую вероятность. В качестве примера, но не ограничиваясь им, оценка вероятности может основываться на сходстве звука в слове с акустическими моделями ASR или местоположении слова в предложении (например, с учётом языковой или грамматической модели). [0064] Thus, the thread recognition module (203) does not initially recognize each word, but only generates a set of options for defining a particular word with their probability (where the sum of the probabilities is 1 or 100%). In this case, in the preferred embodiment, the word that has the highest probability is selected from the set of options. As an example, but not limited to, a probability estimate may be based on the similarity of the sound in a word to the acoustic ASR models or the location of a word in a sentence (for example, taking into account a language or grammatical model).
[0065] Упомянутая обработка фрагментов дополнительно включает выбор модулем распознавания потоков (203) для каждого слова из фрагмента наиболее вероятной гипотезы из набора гипотез. На основе выбранных слов модуль распознавания потоков (203) генерирует по меньшей мере одно сообщение, содержащее распознанный фрагмент аудио потока. Модуль распознавания потоков (203) может дополнительно осуществлять очищение сгенерированного сообщения от обеденной лексики. В частном примере реализации очищение сгенерированного сообщения от обеденной лексики осуществляют путём сравнения распознанных слов со словарем обеденной лексики, и замены обнаруженных слов, относящихся к обеденной лексике, на специальные символы, например, звёздочки, решётки или любые их комбинации. Кроме того, модуль распознавания потоков (203) может дополнительно восстановить пунктуацию (т.е. расставить знаки препинания) и капитализацию (т.е. расставить заглавные буквы там, где необходимо по правилам русского языка) сгенерированного сообщения. В результате модуль распознавания потоков (203) отправляет по меньшей мере одно сгенерированного сообщение, очищенное от обсценной лексики с восстановленной пунктуацией и капитализацией, модулю пересылки потоков (202). [0065] Said fragment processing further includes the stream recognition module (203) selecting, for each word from the fragment, the most likely hypothesis from the set of hypotheses. Based on the selected words, the stream recognition module (203) generates at least one message containing the recognized fragment of the audio stream. The thread recognition module (203) can additionally cleanse the generated message from boring vocabulary. In a particular implementation example, clearing the generated message of lunch vocabulary is carried out by comparing recognized words with the lunch vocabulary dictionary, and replacing detected words related to lunch vocabulary with special characters, for example, asterisks, hash marks, or any combinations thereof. In addition, the stream recognition module (203) can additionally restore punctuation (i.e., place punctuation marks) and capitalization (i.e., place capital letters where necessary according to the rules of the Russian language) of the generated message. As a result, the stream recognition module (203) sends at least one generated message, cleared of obscene vocabulary with restored punctuation and capitalization, to the stream forwarding module (202).
[0066] В предпочтительном варианте воплощения изобретения преобразование речи в текст (ASR) реализовано на основе собственной технологии от SberDevices — SmartSpeech, которая обеспечивает высокую скорость и отличное качество распознавания, в том числе имён, сложных терминов и длинных слов. В SmartSpeech используются самые последние наработки в сфере Deep Learning (глубокое обучение). Нейросети обучаются на огромных объёмах данных с использованием мощностей суперкомпьютера «Кристофари» (до 1000+ GPU Tesla vl00) от Сбера. Нейросети используют GPU для сверхбыстрой работы. В распознавании речи используются сверхточные архитектуры, такие как Jasper, QuartzNet и другие. [0066] In the preferred embodiment of the invention, speech-to-text (ASR) conversion is implemented based on proprietary technology from SberDevices - SmartSpeech, which provides high speed and excellent recognition quality, including names, complex terms and long words. SmartSpeech uses the latest developments in the field of Deep Learning. Neural networks are trained on huge amounts of data using the power of the Christofari supercomputer (up to 1000+ GPU Tesla vl00) from Sber. Neural networks use GPUs for ultra-fast operation. Speech recognition uses ultra-precise architectures such as Jasper, QuartzNet and others.
[0067] Предобученная модель для распознавания речи используемая в SmartSpeech обучалась на самом большом размеченном вручную датасете из 1240 часов аудиоданных на русском языке (речевой датасет Golos). [0067] The pre-trained model for speech recognition used in SmartSpeech was trained on the largest manually labeled dataset of 1240 hours of audio data in the Russian language (Golos speech dataset).
[0068] В одном из частных примеров реализации преобразование речи в текст может быть реализовано, но не ограничиваться, на основе следующихми технологий: Microsoft Speech SDK, IBM Embedded Via Voice и т.п. [0069] В предпочтительном варианте воплощения изобретения для случая преобразования жестов в текстовую и/или графическую информацию (Gesture Recognition) модуль распознавания потоков (203) выполняет разбивку видео потока на кадры, определяет область интереса (например, руку или ладонь) в по меньшей мере одном кадре видео потока, сегментирует определенную область интереса, выявляет ключевые точки на сегментированной области, и определяет жест путём сопоставления ключевых точек с одним из известных жестов из базы данных известных жестов. [0068] In one particular implementation example, speech-to-text conversion can be implemented, but is not limited to, based on the following technologies: Microsoft Speech SDK, IBM Embedded Via Voice, etc. [0069] In a preferred embodiment of the invention, for the case of converting gestures into text and/or graphic information (Gesture Recognition), the stream recognition module (203) splits the video stream into frames, determines the area of interest (for example, an arm or palm) at least one frame of the video stream, segments a specific area of interest, identifies key points in the segmented area, and determines the gesture by matching the key points with one of the known gestures from the database of known gestures.
[0070] В случае определения жеста модуль распознавания потоков (203) определяет тип жеста и в зависимости от типа жеста генерирует по меньшей мере одно соответствующее сообщение и отправляет модулю пересылки потоков (202). [0070] When a gesture is detected, the thread recognition module (203) determines the type of gesture and, depending on the gesture type, generates at least one corresponding message and sends it to the thread forwarding module (202).
[0071] В одном из частных примеров реализации, если тип жеста определен, как жест, характеризующий реакцию пользователя, то модуль распознавания потоков (203) генерирует по меньшей мере одно сообщение, содержащее текстовую и/или графическую информацию. Например, если модуль распознавания потоков (203) определил в видеопотоке пользователя, показывающего жест «большой палец вверх», то сгенерированное сообщение может содержать, как эмодзи, обозначающее большой палец вверх, так и текстовое сообщение «Превосходно!» или «Полностью поддерживаю!», либо комбинацию из эмодзи и текстового сообщения. [0071] In one particular implementation example, if the gesture type is defined as a gesture characterizing the user's response, then the flow recognition module (203) generates at least one message containing text and/or graphic information. For example, if the stream recognition module (203) detects a user in a video stream showing a "thumbs up" gesture, then the generated message may contain both a thumbs up emoji and the text message "Excellent!" or “Totally support!”, or a combination of emoji and text message.
[0072] Если тип жеста определен, как управляющий жест, модуль распознавания потоков (203) дополнительно выполнен с возможностью отправки сообщения, содержащего распознанный управляющий ввод, модулю пересылки потоков (202). Распознанный управляющий ввод включает управляющую команду клиентскому устройству. К таким управляющим командам может относится, но не ограничиваться: выполнение различных действий по управлению громкостью звука, включению/отключению звука, управлению камерой видеоконференции и/или доступу к настройкам для видеоконференции. Получив упомянутое сообщение, модуль пересылки потоков (202) отправляет его модулю обмена сообщениями (201), который извлекает из сообщения управляющую команду и отправляет её клиентскому устройству. [0072] If the gesture type is determined to be a control gesture, the thread recognition module (203) is further configured to send a message containing the recognized control input to the thread forwarding module (202). The recognized control input includes a control command to the client device. Such control commands may include, but are not limited to: performing various actions to control audio volume, mute/unmute audio, control a video conference camera, and/or access settings for a video conference. Having received the said message, the thread forwarding module (202) sends it to the messaging module (201), which extracts the control command from the message and sends it to the client device.
[0073] Например, если модуль распознавания потоков (203) определил в видеопотоке пользователя, показывающего жест «указательный палец вверх», то на клиентское устройство отправляется управляющая команда о повышении громкости звука. [0074] В предпочтительном варианте воплощения изобретения для случая распознавания языка жестов (Sign Language Recognition) модуль распознавания потоков (203) выполняет разбивку видео потока на кадры, определяет по меньшей мере одну область интереса (например, руки) в по меньшей мере одном кадре видео потока, сегментирует по меньшей мере одну определенную область интереса, выявляет ключевые точки на по меньшей мере одной сегментированной области интереса, нормализует выявленные ключевые точки, и определяет по меньшей мере один жест путём сопоставления нормализованных ключевых точек с одним из известных жестов из базы данных известных жестов. Далее модуль распознавания потоков (203) создаёт матрицу распознанных букв или слов из жестов, определенных на предыдущем этапе, и генерирует по меньшей мере одно сообщение на основе созданной матрицы распознанных букв или слов и отправляет упомянутое по меньшей мере одно сообщение модулю пересылки потоков (202). [0073] For example, if the stream recognition module (203) detects a user in the video stream showing a finger-up gesture, then a control command is sent to the client device to increase the audio volume. [0074] In a preferred embodiment of the invention for the case of sign language recognition (Sign Language Recognition), the stream recognition module (203) splits the video stream into frames, determines at least one area of interest (for example, hands) in at least one video frame flow, segments at least one defined region of interest, identifies key points on the at least one segmented region of interest, normalizes the identified key points, and determines at least one gesture by matching the normalized key points with one of the known gestures from a database of known gestures . Next, the flow recognition module (203) creates a matrix of recognized letters or words from the gestures determined in the previous step, and generates at least one message based on the created matrix of recognized letters or words and sends the at least one message to the flow forwarding module (202) .
[0075] Необходимо отметить, что в одном из альтернативных вариантов воплощения заявленного решения часть функций модуля распознавания потоков (203), связанных с предварительной обработки видео потока, таких как разбивка видео потока на кадры, определение области интереса в кадре видео потока, сегментация области интереса, могут быть реализованы на стороне клиентского устройства. Таким образом, модуль распознавания потоков (203) будет принимать от модуля пересылки потоков (202) уже предварительно обработанный клиентским устройством видео поток. [0075] It should be noted that in one of the alternative embodiments of the claimed solution, part of the functions of the stream recognition module (203) related to pre-processing of the video stream, such as dividing the video stream into frames, determining the area of interest in the frame of the video stream, segmenting the area of interest , can be implemented on the client device side. Thus, the stream recognition module (203) will receive from the stream forwarding module (202) a video stream that has already been pre-processed by the client device.
[0076] Модуль фильтрации аудио потока (204) выполняет подавление шума. В частном варианте воплощения заявленного решения перед осуществлением обработки аудио потока модуль распознавания потоков (203) отправляет аудио поток модулю фильтрации аудио потока (204), который после выполнения операции по подавлению шума отправляет очищенный от шума аудио поток обратно модулю распознавания потоков (203). [0076] The audio stream filtering module (204) performs noise suppression. In a particular embodiment of the claimed solution, before processing the audio stream, the stream recognition module (203) sends the audio stream to the audio stream filtering module (204), which, after performing the noise suppression operation, sends the noise-free audio stream back to the stream recognition module (203).
[0077] В качестве примера, но не ограничиваясь им, возможность подавления шума в модуле фильтрации аудио потока (204) может быть реализована с помощью технологии умного шумоподавления на базе платформы Maxine от NVIDIA или на основе собственной технологии от SberDevices — SberNoise. Эти решения основаны на использовании искусственного интеллекта для автоматического удаления посторонних шумов. [0078] Интеграция функции шумоподавления в заявленное решение, повышает комфортность общения, если человек находится в шумном месте во время звонка, удаляя из звучания посторонние шумы и резкие звуки. Например, если на фоне разговора плачет ребёнок, лает собака или из окна доносится строительный шум, благодаря использованию AI-модели заявленное решение заглушает эти звуки, оставляя только голос говорящего. [0077] As an example, but not limited to, the noise reduction capability in the audio stream filtering module (204) can be implemented using smart noise reduction technology based on NVIDIA's Maxine platform or based on SberDevices' proprietary technology, SberNoise. These solutions use artificial intelligence to automatically remove extraneous noise. [0078] Integration of the noise reduction function into the claimed solution increases the comfort of communication if a person is in a noisy place during a call, removing extraneous noise and harsh sounds from the sound. For example, if in the background of a conversation a child is crying, a dog is barking, or construction noise is coming from the window, thanks to the use of an AI model, the proposed solution drowns out these sounds, leaving only the voice of the speaker.
[0079] Модуль модификации видео потока (205) выполняет замену фона, применяет фильтры, улучшающие визуальные характеристики изображения пользователя, а также фильтры дополненной реальности (AR-фильтры). [0079] The video stream modification module (205) performs background replacement, applies filters that improve the visual characteristics of the user's image, as well as augmented reality filters (AR filters).
[0080] Необходимость замены фона, отображаемого позади пользователя клиентского устройства во время осуществления видеоконференцсвязи, может возникнуть в связи с нахождением пользователя в нетрадиционном месте работы, например, в домашнем офисе, в отпуске и т.п., кроме того текущий фон видео потока пользователя может отвлекать других участников видеоконференции. [0080] The need to replace the background displayed behind the user of the client device during video conferencing may arise due to the user being in a non-traditional place of work, for example, in a home office, on vacation, etc., in addition, the current background of the user's video stream may distract other video conference participants.
[0081 ] Процесс замены фона осуществляется модулем модификации видео потока[0081 ] The background replacement process is carried out by the video stream modification module
(205) следующим образом: (205) as follows:
- получают видео поток от модуля пересылки потоков (202); - receive a video stream from the stream forwarding module (202);
- выполняют идентификацию фоновой части видео потока и изображения участника видеоконференцсвязи; - identify the background part of the video stream and the image of the video conferencing participant;
- выполняют сегментацию фона (background segmentation, BGS); - perform background segmentation (BGS);
- заменяют сегментированный фон на по меньшей мере одно из: любое изображение, выбранное пользователем, фоновый шаблон или размытое изображение текущего фона; - replacing the segmented background with at least one of: any image selected by the user, a background template, or a blurred image of the current background;
- отправляют видео поток, содержащий замененный фон, в модуль пересылки потоков (202) для дальнейшей передачи клиентским устройствам. - sending a video stream containing the replaced background to the stream forwarding module (202) for further transmission to client devices.
[0082] В заявленном решении под улучшением визуальных характеристик изображения пользователя понимается сглаживание кожи, выравнивание цвета лица (например, удаление синяков под глазами) и коррекция погрешностей линзы камеры телефона. Этот процесс называется бьютификацией. [0082] In the claimed solution, improving the visual characteristics of the user's image means smoothing the skin, evening out the complexion (for example, removing dark circles under the eyes) and correcting errors in the phone camera lens. This process is called beautification.
[0083] Процесс улучшения визуальных характеристик изображения пользователя (бьютификации) осуществляется модулем модификации видео потока (205) следующим образом: - получают по меньшей мере один кадр видео потока от модуля пересылки потоков (202); [0083] The process of improving the visual characteristics of the user’s image (beautification) is carried out by the video stream modification module (205) as follows: - receive at least one frame of the video stream from the stream forwarding module (202);
- идентифицируют лицо по меньшей мере в одном кадре видео потока; - identify a person in at least one frame of the video stream;
- сегментируют части лица по оттенку кожи, например, глаза и/или рот; - segment parts of the face by skin tone, for example, eyes and/or mouth;
- идентифицируют по меньшей мере одну дефектную область, которая отличаются по яркости на пороговую величину от участков оттенка кожи без дефектов;- identifying at least one defective area, which differs in brightness by a threshold value from areas of skin tone without defects;
- сглаживают яркость по меньшей мере одной дефектной области для создания сглаженной яркости; - smoothing the brightness of at least one defective area to create a smoothed brightness;
- генерируют по меньшей мере один улучшенный кадр видео потока, включающий в себя улучшенную версию лица, в которой исходная яркость по меньшей мере одной дефектной области заменена сглаженной яркостью; и - generating at least one improved frame of the video stream, including an improved version of the face, in which the original brightness of at least one defective area is replaced by a smoothed brightness; And
- отправляют видео поток, содержащий улучшенные кадры, в модуль пересылки потоков (202) для дальнейшей передачи клиентским устройствам. - sending a video stream containing enhanced frames to the stream forwarding module (202) for further transmission to client devices.
[0084] В заявленном решении под AR-фильтрами понимаются созданные компьютером визуальные эффекты, предназначенные для наложения на реальные изображения путем добавления дополнительного слоя к переднему или заднему плану реального изображения. [0084] In the claimed solution, AR filters refer to computer-generated visual effects designed to be superimposed on real-life images by adding an additional layer to the foreground or background of the real-life image.
[0085] Процесс применения AR-фильтров осуществляется модулем модификации видео потока (205) следующим образом: [0085] The process of applying AR filters is carried out by the video stream modification module (205) as follows:
- получают по меньшей мере один кадр видео потока от модуля пересылки потоков (202); - receive at least one frame of the video stream from the stream forwarding module (202);
- идентифицируют по меньшей мере одну область интереса (например, лицо) в по меньшей мере одном кадре видео потока; - identifying at least one region of interest (for example, a face) in at least one frame of the video stream;
- определяют координаты ориентиров по меньшей мере одной области интереса (например, лицевые ориентиры, причем к лицевым ориентирам относятся по меньшей мере нос, глаза, рот и очертания лица); - determining the coordinates of landmarks of at least one region of interest (for example, facial landmarks, wherein facial landmarks include at least the nose, eyes, mouth and facial outline);
- осуществляют наложение по меньшей мере одного элемента AR на по меньшей мере одну соответствующую область интереса (например, наложение элемента AR «очки» на область лица, а конкретно на координаты, соответствующие глазам) с учетом определенных координат ориентиров и размера по меньшей мере одной области интереса; - генерируют по меньшей мере один измененный кадр видео потока с примененным AR-фильтром, в котором элемент AR наложен на соответствующую область интереса; и - superimposing at least one AR element on at least one corresponding area of interest (for example, superimposing an AR element “glasses” on the face area, and specifically on the coordinates corresponding to the eyes) taking into account certain coordinates of landmarks and the size of at least one area interest; - generating at least one modified frame of the video stream with an AR filter applied, in which the AR element is superimposed on the corresponding region of interest; And
- отправляют видео поток, содержащий измененные кадры, в модуль пересыпки потоков (202) для дальнейшей передачи клиентским устройствам. - send a video stream containing modified frames to the stream transfer module (202) for further transmission to client devices.
[0086] В одном из частных примеров реализации процесс применения AR- фильтров дополнительно содержит отслеживание движения ориентиров по меньшей мере одной области интереса (например, движение головой в стороны, изменение мимики (моргание, улыбка), движение рук и т.п.) и добавление по меньшей мере одного элемента AR в по меньшей мере один кадр видео потока на основании изменения движения ориентиров по меньшей мере одной области интереса. [0086] In one of the particular implementation examples, the process of applying AR filters additionally includes tracking the movement of landmarks of at least one area of interest (for example, moving the head to the sides, changing facial expressions (blinking, smiling), moving hands, etc.) and adding at least one AR element to at least one frame of the video stream based on changes in the motion of landmarks of the at least one region of interest.
[0087] Необходимо отметить, что в одном из альтернативных вариантов воплощения заявленного решения модуль модификации видео потока (205) может быть реализован на стороне клиентского устройства. Таким образом, модуль пересылки потоков (202) будет принимать уже модифицированный видео поток от клиентских устройств. [0087] It should be noted that in one of the alternative embodiments of the claimed solution, the video stream modification module (205) can be implemented on the client device side. Thus, the stream forwarding module (202) will receive an already modified video stream from client devices.
[0088] Однако в предпочтительном варианте воплощения заявленного решения модуль модификации видео потока (205) реализуется на стороне сервера видеоконференцсвязи (104). Такое воплощение позволяет модулю распознавания потоков (203) обрабатывать исходный, а не модифицированный видео поток, что повышает эффективность и точность обработки при преобразовании жестов в текстовую и/или графическую информацию (Gesture Recognition) и распознавании языка жестов (Sign Language Recognition), поскольку в модифицированном видео потоке могут содержаться визуальные эффекты, которые будут ухудшать качество обработки (распознавания). [0088] However, in a preferred embodiment of the claimed solution, the video stream modification module (205) is implemented on the side of the video conferencing server (104). This implementation allows the stream recognition module (203) to process the original, rather than modified, video stream, which increases the efficiency and accuracy of processing when converting gestures into text and/or graphic information (Gesture Recognition) and sign language recognition (Sign Language Recognition), since in The modified video stream may contain visual effects that will degrade the quality of processing (recognition).
[0089] В общем случае, модуль согласования (206) предназначен для согласования отправки сообщений в единое информационное пространство. Модуль согласования (206) определяет в режиме реального времени, осуществляет ли модуль распознавания потоков (203) обработку потока данных, в частности, аудио потока. Указанная возможность может быть реализована, например, с помощью отправки модулю распознавания потоков (203) запросов с определенным интервалом, где результатом отправки запроса является возврат модулю согласования (206) ответа о состоянии модуля распознавания потоков (203) в части осуществления обработки потока данных. Например, такое состояние может свидетельствовать о том, осуществляется ли в текущий момент голосовой ввод пользователя клиентского устройства или ввод с помощью языка жестов, обрабатываемый с помощью модуля распознавания потоков (203). [0089] In general, the negotiation module (206) is designed to negotiate the sending of messages to a single information space. The matching module (206) determines in real time whether the stream recognition module (203) is processing a data stream, in particular an audio stream. This feature can be implemented, for example, by sending requests to the thread recognition module (203) at a certain interval, where the result of sending the request is to return to the coordination module (206) a response about the state of the thread recognition module (203) regarding the processing of the data stream. For example, this condition may indicate that whether the client device user's voice input is currently being performed or sign language input is being processed by the stream recognition module (203).
[0090] Затем модуль согласования (206) устанавливает значение флага, идентифицирующего состояние текущего голосового ввода пользователя клиентского устройства. В другом варианте воплощения заявленного решения, значение флага идентифицирует состояние текущего ввода с помощью языка жестов. [0090] The negotiation module (206) then sets the value of a flag identifying the state of the client device user's current voice input. In another embodiment of the claimed solution, the value of the flag identifies the state of the current input using sign language.
[0091 ] Далее модуль согласования (206) получает от модуля обмена сообщениями (201) запрос на разрешение отправки в единое информационное пространство сообщения от другого клиентского устройства, отличного от клиентского устройства, осуществляющего текущий голосовой ввод или ввод с помощью языка жестов. Кроме того, модуль согласования (206) может отправлять модулю обмена сообщениями (201) разрешение отправки в единое информационное пространство сообщения от другого клиентского устройства на основании значения упомянутого флага. [0091 ] Next, the negotiation module (206) receives from the messaging module (201) a request for permission to send a message to the common information space from another client device other than the client device performing the current voice or sign language input. In addition, the negotiation module (206) may send to the messaging module (201) permission to send a message to the common information space from another client device based on the value of the flag.
[0092] В частном примере реализации модуль согласования (206) выполнен с возможностью отправлять модулю пересылки потоков (202) запрос на отправку в единое информационное пространство сгенерированного сообщения, содержащего уже обработанные фрагменты, если значение флага идентифицирует наличие текущего голосового ввода пользователя клиентского устройства или ввода с помощью языка жестов. В качестве обработанных фрагментов могут выступать, например, текстовые сообщения, полученные в результате преобразования речи в текст или языка жестов в текст. [0092] In a particular implementation example, the negotiation module (206) is configured to send to the stream forwarding module (202) a request to send to a single information space a generated message containing already processed fragments if the value of the flag identifies the presence of current voice input of the client device user or input using sign language. The processed fragments can be, for example, text messages obtained as a result of converting speech to text or sign language to text.
[0093] Модуль управления единым информационным пространством (207) определяет, что по меньшей мере одно сгенерированное сообщение получено от модуля пересылки потоков (202) и отображает при выводе по меньшей мере одного сгенерированного сообщения в единое информационное пространство метку, идентифицирующую формирование сгенерированного сообщения из аудио потока или видео потока. Такая метка позволяет пользователю однозначно определить к какому типу сообщения относится конкретное сообщение, отправленное в единое информационное пространство. В частном примере реализации упомянутая метка может быть различна для сгенерированного сообщения из аудио потока (т.е. для сообщения, являющегося результатом распознавания аудио потока путём преобразования речи в текст) и сгенерированного сообщения из видео потока (т.е. для сообщения, являющегося результатом распознавания видео потока путём преобразования языка жестов в текст). [0093] The common information space control module (207) determines that at least one generated message has been received from the stream forwarding module (202) and displays, when outputting the at least one generated message to the common information space, a label identifying the generation of the generated message from audio stream or video stream. Such a label allows the user to unambiguously determine what type of message a specific message sent to a single information space belongs to. In a particular implementation example, the said label may be different for a generated message from an audio stream (i.e., for a message resulting from recognition of an audio stream by converting speech to text) and a generated message from a video stream (i.e., for message resulting from video stream recognition by converting sign language into text).
[0094] Модуль управления единым информационным пространством (207) дополнительно позволяет сохранять сообщения, размещенные в едином информационном пространстве, и обеспечивать доступ подключенным клиентским устройствам к сохраненным сообщениям. Такая возможность позволяет пользователю клиентского устройства во время конференции больше концентрироваться на общении, а не на ведении заметок, поскольку ко всей совокупности сообщений в едином информационном пространстве обеспечен неограниченный доступ. [0094] The common information space management module (207) further allows messages located in the common information space to be stored and to allow connected client devices to access the stored messages. This feature allows the user of the client device during a conference to concentrate more on communication rather than on taking notes, since unlimited access is provided to the entire set of messages in a single information space.
[0095] Кроме того, модуль управления единым информационным пространством (207) позволяет скачать полный текст разговора (т.е. всю совокупность сообщений, отправленных в единое информационное пространство) в любой момент конференции любому клиентскому устройству, которое прошло процесс регистрации подключения к конференции с помощью модуля обмена сообщениями (201). В качестве примера, но не ограничиваясь им, клиентское устройство отправляет запрос на скачивание полного текста разговора модулю управления единым информационным пространством (207). В ответ на упомянутый запрос, модуль управления единым информационным пространством (207) генерирует всю совокупность сообщений, отправленных в единое информационное пространство, например, в виде текстового файла, и отправляет клиентскому устройству. [0095] In addition, the common information space management module (207) allows you to download the full text of the conversation (i.e., the entire set of messages sent to the common information space) at any time during the conference to any client device that has gone through the process of registering a connection to the conference with using the messaging module (201). By way of example, but not limitation, the client device sends a request to download the full text of the conversation to the common information space management module (207). In response to the mentioned request, the common information space control module (207) generates the entire set of messages sent to the common information space, for example, in the form of a text file, and sends it to the client device.
[0096] В одном из частных примеров реализации модуль управления единым информационным пространством (207) обеспечивает управление отображением сообщений, размещенных в едином информационном пространстве. По запросу пользователя клиентского устройства в едином информационном пространстве могут быть отражены, но не ограничиваясь: только сообщения, отправленные непосредственно в единое информационное пространство; только сообщения, сгенерированные модуле распознавания потоков (203), представляющие собой текстовую расшифровку аудио или видео потока; все сообщения, отправленные в единое информационное пространство. [0096] In one of the particular implementation examples, the common information space management module (207) provides control over the display of messages located in the common information space. At the request of the user of the client device, the following can be reflected in the unified information space, but not limited to: only messages sent directly to the unified information space; only messages generated by the stream recognition module (203), which are text transcripts of an audio or video stream; all messages sent to a single information space.
[0097] Модуль управления единым информационным пространством (207) также осуществляет поиск по содержимому сообщений, размещенных в едином информационном пространстве, что позволяет ускорить процесс нахождения необходимой информации среди всей совокупности сообщений, сгенерированных участниками во время конференции. [0097] The common information space management module (207) also searches the contents of messages posted in the common information space, which speeds up the process of finding necessary information among the entire set of messages generated by participants during the conference.
[0098] Модуль перевода (208) выполняет перевод по меньшей мере одного сообщения, полученного от по меньшей мере одного клиентского устройства посредством модуля обмена сообщениями (201) и/или сообщения, сгенерированного на основе обработанного потока данных модулем распознавания потоков (203). [0098] The translation module (208) translates at least one message received from at least one client device via the messaging module (201) and/or a message generated based on the processed data stream by the stream recognition module (203).
[0099] Процесс перевода осуществляется модулем перевода (208) следующим образом: [0099] The translation process is carried out by the translation module (208) as follows:
- получают запрос от по меньшей мере одного клиентского устройства на перевод по меньшей мере одного сообщения, при этом упомянутый запрос содержит указание на требуемый язык перевода и указание на по меньшей мере одно сообщение, которое необходимо перевести; - receiving a request from at least one client device to translate at least one message, wherein said request contains an indication of the desired translation language and an indication of at least one message that needs to be translated;
- осуществляют перевод указанного в запросе по меньшей мере одного сообщения на требуемый язык перевода; - translate at least one message specified in the request into the required translation language;
- отправляют по меньшей мере одно переведенное сообщение клиентскому устройству посредством модуля обмена сообщениями (201). - sending at least one translated message to the client device via the messaging module (201).
[0100] На Фиг. 3 представлен способ (300) осуществления видеоконференцсвязи. Выполнение способа (300) осуществляется с помощью сервера видеоконференцсвязи (104) и по меньшей мере двух клиентских устройства (101, 102). На первом этапе (301) подключают по меньшей мере два клиентских устройства (101, 102) к серверу видеоконференцсвязи (401). В частном примере реализации по меньшей мере два клиентских устройства (101, 102) подключаются к модулю обмена сообщениями (201), входящему в состав сервера видеоконференцсвязи (104). Подключение к серверу видеоконференцсвязи (401) (в частном случае, к модулю обмена сообщениями (201)) может быть реализовано посредством получения клиентским устройством ссылки на присоединение к конференции и перехода по указанной ссылке, например, но не ограничиваясь, с помощью технологии WebRTC. [0100] In FIG. 3 shows a method (300) for performing video conferencing. The method (300) is carried out using a video conferencing server (104) and at least two client devices (101, 102). In the first step (301), at least two client devices (101, 102) are connected to the videoconferencing server (401). In a particular implementation example, at least two client devices (101, 102) are connected to a messaging module (201) included in the video conferencing server (104). Connection to the video conferencing server (401) (in a particular case, to the messaging module (201)) can be realized by the client device receiving a link to join the conference and following the specified link, for example, but not limited to, using WebRTC technology.
[0101] После подключения по меньшей мере двух клиентских устройств (101, 102), на этапе (302) регистрируют подключения упомянутых клиентских устройств (101, 102) к конференции посредством модуля обмена сообщениями (201). В частном примере реализации на этапе (302) модулем обмена сообщениями (201) дополнительно может осуществляться отправка уведомлений клиентским устройствам о вновь подключенных клиентских устройствах. [0102] На этапе (303) устанавливают защищенное соединение с клиентскими устройствами посредством модуля пересылки потоков (202). В частном примере реализации с клиентскими устройствами устанавливают SRTP соединение. В дальнейшем установленное защищенное соединение используется для двухсторонней передачи потоков данных между по меньшей мере одним клиентским устройством и сервером видеоконференцсвязи (104) (в частном случае, модулем пересылки потоков[0101] After connecting at least two client devices (101, 102), at step (302) the connections of said client devices (101, 102) to the conference are registered via the messaging module (201). In a particular implementation example, at step (302), the messaging module (201) may additionally send notifications to client devices about newly connected client devices. [0102] At step (303), a secure connection is established with client devices through the stream forwarding module (202). In a particular implementation example, an SRTP connection is established with client devices. Subsequently, the established secure connection is used for two-way transmission of data streams between at least one client device and the video conferencing server (104) (in the particular case, the stream forwarding module
(202), входящим в состав сервера видеоконференцсвязи (104)), а также между клиентскими устройствами через сервер видеоконференцсвязи (104) (в частном случае, через модуль пересылки потоков (202)). (202), which is part of the video conferencing server (104)), as well as between client devices through the video conferencing server (104) (in a particular case, through the stream forwarding module (202)).
[0103] После установки защищенного соединения, на этапе (304) посредством модуля пересылки потоков (202) принимают поток данных от по меньшей мере одного клиентского устройства. Полученный поток данных посредством модуля пересылки потоков (202) на этапе (305) передают в параллельном режиме по меньшей мере одному другому клиентскому устройству и модулю распознавания потоков[0103] After establishing a secure connection, at step (304), a data stream from at least one client device is received through the stream forwarding module (202). The received data stream is transmitted in parallel by the stream forwarding module (202) at step (305) to at least one other client device and the stream recognition module
(203). (203).
[0104] В частном примере реализации на этапе (305) передача потока данных модулю распознавания потоков (203) включает отправку модулем пересылки потоков (202) gRPC-запроса модулю распознавания потоков (203). Упомянутый gRPC-запрос может содержать, но не ограничиваясь: [0104] In a particular implementation example, at step (305), transmitting a data stream to the stream recognition module (203) includes the stream forwarding module (202) sending a gRPC request to the stream recognition module (203). Said gRPC request may contain, but is not limited to:
- информацию для аутентификации в модуле распознавания потоков (203) (например, размещенную в заголовке gRPC-запроса); - information for authentication in the flow recognition module (203) (for example, placed in the gRPC request header);
- параметры распознавания, такие как тип потока данных; - recognition parameters, such as data stream type;
- поток данных для распознавания в модуле распознавания потоков (203). - data stream for recognition in the stream recognition module (203).
[0105] После получения потока данных, на этапе (306) посредством модуля распознавания потоков (203) обрабатывают поток данных и генерируют по меньшей мере одно сообщение на основе обработанного потока данных, причем обработка потока данных и генерация по меньшей мере одного сообщения осуществляется параллельно с передачей потока данных модулем пересылки потоков (202) по меньшей мере одному другому клиентскому устройству. [0105] After receiving the data stream, at step (306), the data stream is processed by the stream recognition module (203) and at least one message is generated based on the processed data stream, wherein the processing of the data stream and generation of the at least one message is carried out in parallel with transmitting the data stream by the stream forwarding module (202) to at least one other client device.
[0106] В частном примере реализации на этапе (306) обработка потока данных модулем распознавания потоков (203) включает получение gRPC-запроса от модуля пересылки потоков (202), а также определение типа потока данных и осуществление соответствующей обработки потока данных в зависимости от типа потока данных. Процесс определения типа потока данных может быть осуществлён, например, путём считывания типа потока данных из параметров распознавания, содержащихся в gRPC- запросе, полученном от модуля пересылки потоков (202). [0106] In a particular implementation example, at step (306), processing the data stream by the stream recognition module (203) includes receiving a gRPC request from the stream forwarding module (202), as well as determining the type of the data stream and performing appropriate processing of the data stream depending on the type data flow. The process of determining the type of data stream can be carried out, for example, by reading the data stream type from the recognition parameters contained in the gRPC request received from the stream forwarding module (202).
[0107] После генерации по меньшей мере одного сообщения на основе обработанного потока данных посредством модуля распознавания потоков (203) передают упомянутое по меньшей мере одно сгенерированное сообщение модулю пересылки потоков (202). В частном примере реализации передача по меньшей мере одного сгенерированного сообщения модулю пересылки потоков (202) включает отправку модулем распознавания потоков (203) gRPC-ответа модулю пересылки потоков (202). Упомянутый gRPC-ответ содержит результаты распознавания, полученные в результате обработки потока данных посредством модуля распознавания потоков (203). [0107] After generating at least one message based on the processed data stream, the thread recognition module (203) transmits the at least one generated message to the stream forwarding module (202). In a particular implementation example, transmitting the at least one generated message to the thread forwarder (202) includes the thread recognition module (203) sending a gRPC response to the thread forwarder (202). Said gRPC response contains recognition results obtained from processing the data stream by the stream recognition module (203).
[0108] На этапе (307) посредством модуля пересылки потоков (202) принимают по меньшей мере одно сгенерированное сообщение от модуля распознавания потоков (203) и отправляют его в единое информационное пространство. В частном примере реализации по меньшей мере одно сгенерированное сообщение может содержать, но не ограничиваясь: [0108] At step (307), the flow forwarding module (202) receives at least one generated message from the flow recognition module (203) and sends it to the common information space. In a particular implementation example, at least one generated message may contain, but is not limited to:
- идентификатор клиентского устройства; - client device identifier;
- временная метка, идентифицирующая начало формирования сообщения; - time stamp identifying the beginning of message generation;
- временная метка, идентифицирующая окончание формирования сообщения;- time stamp identifying the end of message generation;
- сообщение, содержащее результаты распознавания; - message containing recognition results;
- идентификатор сессии распознавания для конкретного клиентского устройства. - recognition session identifier for a specific client device.
[0109] В одном из частных примеров реализации заявленного решения на этапе (307) посредством модуля пересылки потоков (202) отправляют сгенерированное сообщение, принятое от модуля распознавания потоков (203), в единое информационное пространство через отправку упомянутого сгенерированного сообщения модулю обмена сообщениями (201), который отправляет упомянутое сгенерированное сообщение в единое информационное пространство. [0109] In one of the particular examples of implementation of the claimed solution, at stage (307), by means of the flow forwarding module (202), a generated message received from the flow recognition module (203) is sent to a single information space by sending said generated message to the messaging module (201 ), which sends the said generated message to a single information space.
[0110] Один из альтернативных вариантов воплощения заявленного изобретения раскрывает решение проблемы некорректного вывода сообщений в единое информационное пространство. Рассмотрим случай, когда пользователь первого клиентского устройства передаёт поток данных (например, читает доклад), пользователи других клиентских устройств принимают этот поток данных (т.е. слышат и/или видят доклад первого пользователя) посредством модуля пересылки потоков (202). Поскольку модуль пересылки потоков (202) передаёт поток данных в параллельном режиме клиентским устройствам и модулю распознавания потоков (203), то пользователи других клиентских устройств могут получить поток данных раньше, чем модуль распознавания потоков (203) сгенерирует сообщение на основе обработанного потока данных, и оно будет выведено в единое информационное пространство (далее - чат). В связи с этим может возникнуть ситуация, когда пользователь второго клиентского устройства, услышав часть доклада, задаёт вопрос по теме услышанного, например, генерирует сообщение и отправляет его в чат. Таким образом, сообщение от пользователя второго клиентского устройства может быть выведено в чат раньше, чем сообщение от пользователя первого клиентского устройства, преобразованное из потока данных (например, распознанный и преобразованный из аудио потока в текстовое сообщение доклад пользователя первого клиентского устройства), что приведёт к некорректному выводу сообщений в единое информационное пространство и как следствие, потере логической, структурной и причинно-следственной связи между совокупностью сообщений в едином информационном пространстве. [0110] One of the alternative embodiments of the claimed invention discloses a solution to the problem of incorrect output of messages into a single information space. Consider the case where the user of the first client device transmits a data stream (for example, reads a report), users of other client devices receive this data stream (i.e., hears and/or sees the report of the first user) through the forwarding module streams (202). Since the stream forwarder (202) transmits the data stream in parallel to the client devices and the stream recognizer (203), users of other client devices can receive the data stream before the stream recognizer (203) generates a message based on the processed data stream, and it will be displayed in a single information space (hereinafter referred to as chat). In this regard, a situation may arise when the user of the second client device, having heard part of the report, asks a question on the topic of what he heard, for example, generates a message and sends it to the chat. Thus, a message from a user of a second client device may be output to chat before a message from a user of a first client device is converted from the data stream (e.g., a report from a user of the first client device is recognized and converted from an audio stream to a text message), resulting in incorrect output of messages into a single information space and, as a consequence, loss of logical, structural and cause-and-effect relationships between a set of messages in a single information space.
[0111] Для устранения указанной проблемы заявленное решение реализовано следующим образом. [0111] To eliminate this problem, the claimed solution is implemented as follows.
[0112] На этапе (306) посредством модуля распознавания потоков (203) дополнительно осуществляют разбиение текста на фрагменты в процессе преобразования речи в текст, и генерируют по меньшей мере одно сообщение на основе фрагментов, полученных в результате разбиения текста. Затем в режиме реального времени посредством модуля согласования (206) определяют, осуществляет ли модуль распознавания потоков (203) обработку потока данных (например, аудио потока); и устанавливают значение флага, идентифицирующего состояние текущего ввода пользователя клиентского устройства (например, голосового ввода или ввода с помощью языка жестов). В качестве примера, но не ограничиваясь, устанавливают flag=l, если модуль распознавания потоков (203) осуществляет обработку потока данных в текущий момент времени, и устанавливают flag=0, если модуль распознавания потоков (203) не осуществляет обработку потока данных в текущий момент времени, т.е. ни один участник конференции не осуществляет голосовой ввод или ввод с помощью языка жестов, который необходимо распознать посредством модуля распознавания потоков (203). [0113] Далее посредством модуля обмена сообщениями (201) принимают по меньшей мере одно сообщение от другого клиентского устройства (например, от пользователя второго клиентского устройства), и отправляют модулю согласования (206) запрос на разрешение отправки в единое информационное пространство сообщения от другого клиентского устройства. Модуль согласования (206) получает от модуля обмена сообщениями (201) запрос на разрешение отправки в единое информационное пространство сообщения от другого клиентского устройства и принимает решение о разрешении отправки на основании значения установленного флага. [0112] At step (306), the stream recognition module (203) further partitions the text into fragments during the speech-to-text conversion process, and generates at least one message based on the fragments resulting from the text fragmentation. Then, in real time, it is determined by the matching module (206) whether the stream recognition module (203) is processing a data stream (eg, an audio stream); and setting the value of a flag identifying the state of the client device user's current input (eg, voice input or sign language input). By way of example, but not limitation, flag=l is set if the stream recognition module (203) is currently processing a data stream, and flag=0 is set if the stream recognition module (203) is not currently processing a data stream. time, i.e. no conference participant is performing voice or sign language input that needs to be recognized by the stream recognition module (203). [0113] Next, through the messaging module (201), at least one message is received from another client device (for example, from the user of the second client device), and a request is sent to the negotiation module (206) for permission to send a message from another client device to the unified information space devices. The negotiation module (206) receives from the messaging module (201) a request for permission to send a message to the common information space from another client device and decides to allow sending based on the value of the set flag.
[0114] Если значение флага идентифицирует отсутствие текущего ввода (голосового или с помощью языка жестов) пользователя клиентского устройства (например, flag=0), модуль согласования (206) отправляет модулю обмена сообщениями (201) разрешение отправки в единое информационное пространство сообщения от другого клиентского устройства. Далее модуль обмена сообщениями (201) получает упомянутое разрешение от модуля согласования (206) и отправляет в единое информационное пространство сообщения от другого клиентского устройства. [0115] Если значение флага идентифицирует наличие текущего ввода (голосового или с помощью языка жестов) пользователя клиентского устройства (например, flag=l), модуль согласования (206) отправляет модулю пересылки потоков (202) запрос на отправку в единое информационное пространство сгенерированного сообщения, содержащего уже обработанные фрагменты. Получив упомянутый запрос, модуль пересылки потоков (202) отправляет модулю распознавания потоков (203) запрос на генерацию сообщения, содержащего уже обработанные фрагменты. В ответ на запрос, модуль распознавания потоков (203) генерирует сообщение, содержащее уже обработанные фрагменты, и отправляет упомянутое сгенерированное сообщение модулю пересылки потоков (202), который отправляет сгенерированное сообщение, содержащее уже обработанные фрагменты, в единое информационное пространство. Затем модуль согласования (206) отправляет модулю обмена сообщениями (201) разрешение отправки в единое информационное пространство сообщения от другого клиентского устройства. Далее модуль обмена сообщениями (201) получает упомянутое разрешение от модуля согласования (206) и отправляет в единое информационное пространство сообщение от другого клиентского устройства. Таким образом, будет обеспечена сохранность логической, структурной и причинно-следственной связи между совокупностью сообщений в едином информационном пространстве. [0114] If the flag value identifies no current input (voice or sign language) from the client device user (eg, flag=0), the negotiation module (206) sends to the messaging module (201) permission to send a message to the common information space from another client device. Next, the messaging module (201) receives the said permission from the negotiation module (206) and sends messages from another client device to the common information space. [0115] If the flag value identifies the presence of current input (voice or sign language) from the user of the client device (for example, flag=l), the negotiation module (206) sends a request to the stream forwarding module (202) to send the generated message to the common information space containing already processed fragments. Having received the said request, the thread forwarding module (202) sends a request to the thread recognition module (203) to generate a message containing the already processed fragments. In response to the request, the thread recognition module (203) generates a message containing the already processed fragments and sends the generated message to the thread forwarding module (202), which sends the generated message containing the already processed fragments to the unified information space. The negotiation module (206) then sends permission to the messaging module (201) to send a message from the other client device to the common information space. Next, the messaging module (201) receives the said permission from the negotiation module (206) and sends a message from another client device to the common information space. Thus, the safety of the logical, structural and cause-and-effect relationship between a set of messages in a single information space.
[0116] В одном из альтернативных вариантов воплощения заявленного решения система (100) для видеоконференцсвязи выполнена с возможностью бесшовного переключения между клиентскими устройствами во время осуществления видеоконференцсвязи. Упомянутое бесшовное переключение реализуется при помощи по меньшей мере одного клиентского устройства, которое прошло процесс регистрации подключения к конференции посредством модуля обмена сообщениями (201), следующим образом: [0116] In one alternative embodiment of the claimed solution, the video conferencing system (100) is configured to seamlessly switch between client devices during video conferencing. Said seamless switching is implemented using at least one client device that has gone through the process of registering to join the conference via the messaging module (201), as follows:
- активируют функцию по переносу конференции на другое клиентское устройство и осуществляют поиск клиентского устройства с поддержкой BLE путём сканирования ближайших устройств; - activate the function of transferring the conference to another client device and search for a client device with BLE support by scanning nearby devices;
- получают результаты сканирования, содержащие по меньшей мере одно клиентское устройство с поддержкой BLE; - obtain scan results containing at least one BLE-enabled client device;
- проверяют расстояние до найденного клиентского устройства путём сравнения индикатора уровня принятого сигнала BLE (BLE RSSI) с пороговым значением;- check the distance to the found client device by comparing the received BLE signal strength indicator (BLE RSSI) with a threshold value;
- идентифицируют найденное клиентское устройство, как находящееся рядом с клиентским устройством, подключенным к конференции, если BLE RSSI меньше порогового значения; - identify the found client device as being located next to the client device connected to the conference if the BLE RSSI is less than a threshold value;
- устанавливают BLE подключение между найденным клиентским устройством и клиентским устройством, подключенным к конференции; - establish a BLE connection between the found client device and the client device connected to the conference;
- запускают конференцию на найденном клиентском устройстве путём передачи данных между упомянутыми клиентскими устройствами посредством BLE подключения. - start a conference on the found client device by transferring data between the mentioned client devices via a BLE connection.
[0117] На Фиг. 4 представлен общий вид вычислительного устройства (400), на базе которого могут быть реализованы элементы заявленной системы (100), такие как клиентские устройства (101, 102) и сервер видеоконференцсвязи (104). В частном примере реализации, каждый из модулей (201, 202, 203, 204, 205, 206, 207, 208), входящих в состав сервера видеоконференцсвязи (104) также может быть реализован на базе вычислительного устройства (400). [0117] In FIG. 4 shows a general view of a computing device (400), on the basis of which elements of the claimed system (100), such as client devices (101, 102) and a video conferencing server (104), can be implemented. In a particular implementation example, each of the modules (201, 202, 203, 204, 205, 206, 207, 208) included in the video conferencing server (104) can also be implemented on the basis of a computing device (400).
[0118] В общем случае вычислительное устройство (400) содержит объединенные общей шиной информационного обмена один или несколько процессоров (401), средства памяти, такие как ОЗУ (402) и ПЗУ (403), интерфейсы ввода/вывода (404), устройства ввода/вывода (405), и средство для сетевого взаимодействия (406). [0118] In general, a computing device (400) contains one or more processors (401) connected by a common data exchange bus, memory means such as RAM (402) and ROM (403), input/output interfaces (404), input/output devices (405), and network communication means (406).
[0119] Процессор (401) (или несколько процессоров, многоядерный процессор) могут выбираться из ассортимента устройств, широко применяемых в текущее время, например, компаний Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. В качестве процессора (401) может также применяться графический процессор, например, Nvidia, AMD, Graphcore и пр. [0119] The processor (401) (or multiple processors, multi-core processor) may be selected from a variety of devices commonly used today, such as those from Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ and etc. A graphics processor, for example, Nvidia, AMD, Graphcore, etc., can also be used as the processor (401).
[0120] ОЗУ (402) представляет собой оперативную память и предназначено для хранения исполняемых процессором (401) машиночитаемых инструкций для выполнение необходимых операций по логической обработке данных. ОЗУ (402), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.). [0120] RAM (402) is a random access memory and is designed to store machine-readable instructions executable by the processor (401) to perform the necessary logical data processing operations. RAM (402) typically contains executable operating system instructions and associated software components (applications, software modules, etc.).
[0121] ПЗУ (403) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD- R/RW, DVD-R/RW, BlueRay Disc, MD) и др. [0121] ROM (403) is one or more permanent storage devices, such as a hard disk drive (HDD), a solid state drive (SSD), flash memory (EEPROM, NAND, etc.), optical storage media ( CD-R/RW, DVD-R/RW, BlueRay Disc, MD), etc.
[0122] Для организации работы компонентов устройства (400) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (404). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/ Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п. [0122] To organize the operation of device components (400) and organize the operation of external connected devices, various types of I/O interfaces (404) are used. The choice of appropriate interfaces depends on the specific design of the computing device, which can be, but is not limited to: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/ Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232, etc.
[0123] Для обеспечения взаимодействия пользователя с вычислительным устройством (400) применяются различные устройства (405) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п. [0123] To provide user interaction with the computing device (400), various I/O information devices (405) are used, for example, a keyboard, a display (monitor), a touch display, a touch pad, a joystick, a mouse, a light pen, a stylus, touch panel, trackball, speakers, microphone, augmented reality tools, optical sensors, tablet, light indicators, projector, camera, biometric identification tools (retina scanner, fingerprint scanner, voice recognition module), etc.
[0124] Средство сетевого взаимодействия (406) обеспечивает передачу данных устройством (400) посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (406) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др. [0125] Дополнительно в составе устройства (400) могут также применяться средства спутниковой навигации, например, GPS, ГЛОНАСС, BeiDou, Galileo. [0124] The network communication means (406) ensures that the device (400) transmits data via an internal or external computer network, for example, Intranet, Internet, LAN, etc. One or more means (406) can be used, but not limited to: Ethernet card, GSM modem, GPRS modem, LTE modem, 5G modem, satellite communication module, NFC module, Bluetooth and/or BLE module, Wi-Fi module and etc. [0125] Additionally, the device (400) can also use satellite navigation tools, for example, GPS, GLONASS, BeiDou, Galileo.
[0126] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники. [0126] The submitted application materials disclose preferred examples of implementation of a technical solution and should not be interpreted as limiting other, particular examples of its implementation that do not go beyond the scope of the requested legal protection, which are obvious to specialists in the relevant field of technology.

Claims

ФОРМУЛА FORMULA
1. Система для видеоконференцсвязи, содержащая: 1. Video conferencing system containing:
• по меньшей мере два клиентских устройства, выполненных с возможностью подключаться к модулю обмена сообщениями; и • at least two client devices configured to connect to the messaging module; And
• сервер видеоконференцсвязи, содержащий по меньшей мере модуль обмена сообщениями, модуль пересылки потоков и модуль распознавания потоков, причем модуль обмена сообщениями выполнен с возможностью • a video conferencing server containing at least a messaging module, a stream forwarding module and a stream recognition module, wherein the messaging module is configured to
- регистрировать подключения клиентских устройств к конференции,- register connections of client devices to the conference,
- отправлять в единое информационное пространство по меньшей мере одно сообщение, полученное от по меньшей мере одного клиентского устройства, модуль пересылки потоков выполнен с возможностью - send at least one message received from at least one client device to a single information space, the stream forwarding module is configured to
- устанавливать защищенное соединение с клиентскими устройствами,- establish a secure connection with client devices,
- принимать поток данных от по меньшей мере одного клиентского устройства, - receive a data stream from at least one client device,
- передавать поток данных в параллельном режиме по меньшей мере одному другому клиентскому устройству и модулю распознавания потоков, - transmit a data stream in parallel mode to at least one other client device and a stream recognition module,
- принимать от модуля распознавания потоков по меньшей мере одно сгенерированное сообщение и отправлять его в единое информационное пространство, модуль распознавания потоков выполнен с возможностью обрабатывать поток данных и генерировать по меньшей мере одно сообщение на основе обработанного потока данных, причем обработка потока данных и генерация по меньшей мере одного сообщения осуществляется параллельно с передачей потока данных модулем пересылки потоков по меньшей мере одному другому клиентскому устройству.- receive at least one generated message from the stream recognition module and send it to a single information space, the stream recognition module is configured to process the data stream and generate at least one message based on the processed data stream, wherein processing the data stream and generating at least at least one message is carried out in parallel with the transmission of the data stream by the stream forwarding module to at least one other client device.
2. Система по п.1, характеризующаяся тем, что принятый от по меньшей мере одного клиентского устройства поток данных содержит по меньшей мере аудио и/или видео поток. 2. The system according to claim 1, characterized in that the data stream received from at least one client device contains at least an audio and/or video stream.
3. Система по п.2, характеризующаяся тем, что обработка аудио потока включает преобразование речи в текст (Automatic Speech Recognition). 3. The system according to claim 2, characterized in that the processing of the audio stream includes converting speech into text (Automatic Speech Recognition).
29 29
4. Система по п.2, характеризующаяся тем, что обработка видео потока включает преобразование жестов в текстовую и/или графическую информацию (Gesture Recognition). 4. The system according to claim 2, characterized in that the processing of the video stream includes the conversion of gestures into text and/or graphic information (Gesture Recognition).
5. Система по п.2, характеризующаяся тем, что обработка видео потока включает распознавание языка жестов (Sign Language Recognition). 5. The system according to claim 2, characterized in that the processing of the video stream includes sign language recognition (Sign Language Recognition).
6. Система по любому из пп.1-5, характеризующаяся тем, что модуль распознавания потоков дополнительно выполнен с возможностью определять тип потока данных и осуществлять соответствующую обработку потока данных в зависимости от типа потока данных. 6. The system according to any one of claims 1 to 5, characterized in that the stream recognition module is additionally configured to determine the type of data stream and carry out appropriate processing of the data stream depending on the type of the data stream.
7. Система по п.6, характеризующаяся тем, что сервер видеоконференцсвязи дополнительно содержит модуль фильтрации аудио потока, выполненный с возможностью подавления шума. 7. The system according to claim 6, characterized in that the video conferencing server additionally contains an audio stream filtering module configured to suppress noise.
8. Система по п.1, характеризующаяся тем, что сообщения, сгенерированные на основе обработанного потока данных, содержат по меньшей мере текстовую и/или графическую информацию. 8. The system according to claim 1, characterized in that the messages generated based on the processed data stream contain at least text and/or graphic information.
9. Система по любому из пп.1-5, характеризующаяся тем, что сервер видеоконференцсвязи дополнительно содержит модуль модификации видео потока, выполненный с возможностью 9. The system according to any one of claims 1-5, characterized in that the video conferencing server additionally contains a video stream modification module configured to
- замены фона, - background replacement,
- применения фильтров, улучшающих визуальные характеристики изображения пользователя, - application of filters that improve the visual characteristics of the user’s image,
- применения фильтров дополненной реальности (AR-фильтров). - application of augmented reality filters (AR filters).
10. Система по любому из пп.2-5, характеризующаяся тем, что модуль пересылки потоков дополнительно выполнен с возможностью принимать от по меньшей мере одного клиентского устройства команду на распознавание аудио и/или видео потока; и передавать аудио и/или видео поток модулю распознавания потоков после получения упомянутой команды на распознавание. 10. The system according to any one of claims 2-5, characterized in that the stream forwarding module is additionally configured to receive a command from at least one client device to recognize an audio and/or video stream; and transmit the audio and/or video stream to the stream recognition module after receiving said recognition command.
11. Система по п.п.2-3, характеризующаяся тем, что модуль распознавания потоков дополнительно выполнен с возможностью 11. The system according to claims 2-3, characterized in that the flow recognition module is additionally configured to
- осуществлять разбиение аудио потока на фрагменты в процессе преобразования речи в текст, - split the audio stream into fragments in the process of converting speech into text,
- обрабатывать фрагменты, полученные в результате разбиения аудио потока, - process fragments obtained as a result of splitting the audio stream,
30 - генерировать по меньшей мере одно сообщение на основе обработанных фрагментов; сервер видеоконференцсвязи дополнительно содержит модуль согласования, выполненный с возможностью thirty - generate at least one message based on the processed fragments; The video conferencing server additionally contains a matching module configured to
- определять в режиме реального времени, осуществляет ли модуль распознавания потоков обработку аудио потока, - determine in real time whether the stream recognition module processes the audio stream,
- устанавливать значение флага, идентифицирующего состояние текущего голосового ввода пользователя клиентского устройства, - set the value of the flag identifying the state of the current voice input of the user of the client device,
- получать от модуля обмена сообщениями запрос на разрешение отправки в единое информационное пространство сообщения от другого клиентского устройства, - receive a request from the messaging module for permission to send a message from another client device to the unified information space,
- отправлять модулю обмена сообщениями разрешение отправки в единое информационное пространство сообщения от другого клиентского устройства на основании значения упомянутого флага, при этом - send the messaging module permission to send a message from another client device to the unified information space based on the value of the mentioned flag, while
• если значение флага идентифицирует отсутствие текущего голосового ввода пользователя клиентского устройства, модуль согласования отправляет модулю обмена сообщениями разрешение отправки в единое информационное пространство сообщения от другого клиентского устройства; • if the flag value identifies the absence of current voice input from the client device user, the negotiation module sends permission to the messaging module to send a message from another client device to the common information space;
• если значение флага идентифицирует наличие текущего голосового ввода пользователя клиентского устройства, модуль согласования выполнен с возможностью о отправлять модулю пересылки потоков запрос на отправку в единое информационное пространство сгенерированного сообщения, содержащего уже обработанные фрагменты, о после отправки модулем пересылки потоков сгенерированного сообщения, содержащего уже обработанные фрагменты, в единое информационное пространство, отправлять модулю обмена сообщениями разрешение отправки в единое информационное пространство сообщения от другого клиентского устройства; модуль обмена сообщениями дополнительно выполнен с возможностью• if the flag value identifies the presence of current voice input from the user of the client device, the matching module is configured to send the stream forwarding module a request to send a generated message containing already processed fragments to the unified information space, after the stream forwarding module sends the generated message containing the already processed fragments, into a single information space, send to the messaging module permission to send a message from another client device to a single information space; The messaging module is additionally configured to
- отправлять модулю согласования запрос на разрешение отправки в единое информационное пространство сообщения от другого клиентского устройства, отправлять в единое информационное пространство сообщения от другого клиентского устройства в ответ на прием разрешения отправки от модуля согласования. - send a request to the coordination module for permission to send a message from another client device to a single information space, send messages from another client device to a single information space in response to receiving permission to send from the coordination module.
12. Система по п.1, характеризующаяся тем, что сервер видеоконференцсвязи дополнительно содержит модуль управления единым информационным пространством, выполненный с возможностью определять, что по меньшей мере одно сгенерированное сообщение получено от модуля пересылки потоков; и отображать при выводе по меньшей мере одного сгенерированного сообщения метку, идентифицирующую формирование сгенерированного сообщения из аудио потока. 12. The system according to claim 1, characterized in that the video conferencing server further comprises a common information space control module configured to determine that at least one generated message has been received from the stream forwarding module; and display, when outputting the at least one generated message, a label identifying generation of the generated message from the audio stream.
13. Система по п.1, характеризующаяся тем, что модуль управления единым информационным пространством дополнительно выполнен с возможностью 13. The system according to claim 1, characterized in that the united information space control module is additionally configured to
- сохранять сообщения, размещенные в упомянутом пространстве, - save messages posted in the mentioned space,
- обеспечивать доступ подключенным клиентским устройствам к сохраненным сообщениям. - provide connected client devices with access to saved messages.
14. Система по п.1, характеризующаяся тем, что модуль управления единым информационным пространством дополнительно выполнен с возможностью осуществлять 14. The system according to claim 1, characterized in that the united information space control module is additionally configured to implement
- поиск по содержимому сообщений, размещенных в упомянутом пространстве,- search by the content of messages posted in the mentioned space,
- скачивание содержимого сообщений, размещенных в упомянутом пространстве, - downloading the contents of messages posted in the mentioned space,
- управление отображением сообщений, размещенных в упомянутом пространстве. - control the display of messages posted in the mentioned space.
15. Система по п.1, характеризующаяся тем, что сервер видеоконференцсвязи дополнительно содержит модуль перевода, выполненный с возможностью перевода по меньшей мере одного сообщения, полученного от по меньшей мере одного клиентского устройства и/или сообщения, сгенерированного на основе обработанного потока данных. 15. The system according to claim 1, characterized in that the video conferencing server further comprises a translation module configured to translate at least one message received from at least one client device and/or a message generated based on the processed data stream.
16. Способ осуществления видеоконференцсвязи, реализуемый с помощью сервера видеоконференцсвязи и содержащий этапы, на которых: 16. A method for implementing video conferencing, implemented using a video conferencing server and containing the steps of:
• подключают по меньшей мере два клиентских устройства к серверу видеоконференцсвязи, • connect at least two client devices to the video conferencing server,
• регистрируют подключения клиентских устройств к конференции, • register connections of client devices to the conference,
• устанавливают защищенное соединение с клиентскими устройствами, • принимают поток данных от по меньшей мере одного клиентского устройства, • establish a secure connection with client devices, • receive a data stream from at least one client device,
• передают поток данных в параллельном режиме по меньшей мере одному другому клиентскому устройству и модулю распознавания потоков,• transmit the data stream in parallel mode to at least one other client device and the stream recognition module,
• в модуле распознавания потоков обрабатывают поток данных и генерируют по меньшей мере одно сообщение на основе обработанного потока данных, причем обработка потока данных и генерация по меньшей мере одного сообщения осуществляется параллельно с передачей потока данных по меньшей мере одному другому клиентскому устройству,• in the stream recognition module, a data stream is processed and at least one message is generated based on the processed data stream, wherein the processing of the data stream and the generation of at least one message is carried out in parallel with the transmission of the data stream to at least one other client device,
• принимают по меньшей мере одно сгенерированное сообщение и отправляют его в единое информационное пространство. • receive at least one generated message and send it to a single information space.
33 33
PCT/RU2022/000184 2022-05-30 2022-06-01 Video conferencing system and method WO2023234794A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2022114549A RU2795506C1 (en) 2022-05-30 System and method for video conference communication
RU2022114549 2022-05-30

Publications (1)

Publication Number Publication Date
WO2023234794A1 true WO2023234794A1 (en) 2023-12-07

Family

ID=89025316

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2022/000184 WO2023234794A1 (en) 2022-05-30 2022-06-01 Video conferencing system and method

Country Status (1)

Country Link
WO (1) WO2023234794A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110313754A1 (en) * 2010-06-21 2011-12-22 International Business Machines Corporation Language translation of selected content in a web conference
US20160352708A1 (en) * 2015-05-29 2016-12-01 Nagravision S.A. Systems and methods for conducting secure voip multi-party calls
US10139917B1 (en) * 2014-07-29 2018-11-27 Google Llc Gesture-initiated actions in videoconferences
US20200321007A1 (en) * 2019-04-08 2020-10-08 Speech Cloud, Inc. Real-Time Audio Transcription, Video Conferencing, and Online Collaboration System and Methods
US20210044635A1 (en) * 2019-08-09 2021-02-11 Mitel Networks (International) Limited Method and system for adapted modality conferencing
US20210392231A1 (en) * 2020-05-12 2021-12-16 True Meeting Inc. Audio quality improvement related to a participant of a virtual three dimensional (3d) video conference

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110313754A1 (en) * 2010-06-21 2011-12-22 International Business Machines Corporation Language translation of selected content in a web conference
US10139917B1 (en) * 2014-07-29 2018-11-27 Google Llc Gesture-initiated actions in videoconferences
US20160352708A1 (en) * 2015-05-29 2016-12-01 Nagravision S.A. Systems and methods for conducting secure voip multi-party calls
US20200321007A1 (en) * 2019-04-08 2020-10-08 Speech Cloud, Inc. Real-Time Audio Transcription, Video Conferencing, and Online Collaboration System and Methods
US20210044635A1 (en) * 2019-08-09 2021-02-11 Mitel Networks (International) Limited Method and system for adapted modality conferencing
US20210392231A1 (en) * 2020-05-12 2021-12-16 True Meeting Inc. Audio quality improvement related to a participant of a virtual three dimensional (3d) video conference

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Ergonomics for Design and Innovation : Humanizing Work and Work Environment: Proceedings of HWWE 2021", 27 October 2022, SPRINGER INTERNATIONAL PUBLISHING, Cham, ISBN: 978-3-030-94277-9, ISSN: 2367-3370, article SHURUTHI V., KEERTHANA K., SUDHA M., BADHUSHA U. IBRAHIM, VIJAYALAKSHMI M., ANANTH VIGNARAJ: "Enabling Sign Language Recognition Feature in Video Conferencing", pages: 1227 - 1236, XP009551396, DOI: 10.1007/978-3-030-94277-9_104 *
ARKHANGORODSKY ARKADY, CHU CHRISTOPHER, FANG SCOT, HUANG YIQI, JIANG DENGLIN, NAGESH AJAY, ZHANG BOLIANG, KNIGHT KEVIN: "MeetDot: Videoconferencing with Live Translation Captions", PROCEEDINGS OF THE 2021 CONFERENCE ON EMPIRICAL METHODS IN NATURAL LANGUAGE PROCESSING: SYSTEM DEMONSTRATIONS, ASSOCIATION FOR COMPUTATIONAL LINGUISTICS, STROUDSBURG, PA, USA, 20 September 2021 (2021-09-20), Stroudsburg, PA, USA, pages 195 - 202, XP093026186, DOI: 10.18653/v1/2021.emnlp-demo.23 *

Similar Documents

Publication Publication Date Title
KR102535338B1 (en) Speaker diarization using speaker embedding(s) and trained generative model
CN110730952B (en) Method and system for processing audio communication on network
US10176366B1 (en) Video relay service, communication system, and related methods for performing artificial intelligence sign language translation services in a video relay service environment
JP7400100B2 (en) Privacy-friendly conference room transcription from audio-visual streams
US11527242B2 (en) Lip-language identification method and apparatus, and augmented reality (AR) device and storage medium which identifies an object based on an azimuth angle associated with the AR field of view
JP2023503219A (en) Speech transcription using multiple data sources
EP3776171A1 (en) Non-disruptive nui command
US20180232566A1 (en) Enabling face recognition in a cognitive collaboration environment
KR102368300B1 (en) System for expressing act and emotion of character based on sound and facial expression
JP2020021025A (en) Information processing device, information processing method and program
WO2023030121A1 (en) Data processing method and apparatus, electronic device and storage medium
US20150181161A1 (en) Information Processing Method And Information Processing Apparatus
TW202211677A (en) An inclusive video-conference system and method
US20200162698A1 (en) Smart contact lens based collaborative video conferencing
US11611554B2 (en) System and method for assessing authenticity of a communication
RU2795506C1 (en) System and method for video conference communication
WO2023234794A1 (en) Video conferencing system and method
US10936823B2 (en) Method and system for displaying automated agent comprehension
US20220327961A1 (en) Realtime AI Sign Language Recognition
US11848026B2 (en) Performing artificial intelligence sign language translation services in a video relay service environment
JP2021179689A (en) Translation program, translation device, translation method, and wearable terminal
CN111936964B (en) Non-interrupt NUI commands
JP2016024378A (en) Information processor, control method and program thereof
US11830120B2 (en) Speech image providing method and computing device for performing the same
WO2024032111A1 (en) Data processing method and apparatus for online conference, and device, medium and product

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22945051

Country of ref document: EP

Kind code of ref document: A1