An image synchronization method, device, system and storage medium
By segmenting and encoding sub-images in a distributed system and sharing system time, the problem of asynchrony between sub-images during splicing on display terminals is solved, achieving synchronous display and smooth output of images.
Patent Information
- Application Number
- CN202310863376.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-13
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2043-07-13
AI Technical Summary
In distributed devices, after multiple segmented sub-images are output to multiple distributed input interfaces, they are sent to distributed output interfaces via the network and stitched together on the display terminal, which can easily lead to synchronization problems.
By segmenting the image into multiple sub-images at the processing terminal and performing encoding operations at the distributed input interface, an encoding completion message is generated. After confirming that all input interfaces in the multicast domain have completed encoding, the system time is shared, and the encoded sub-images are synchronously sent to the display terminal.
This effectively ensures the synchronous display of multiple sub-images on the display terminal, reduces the workload of the display terminal, and makes image display smoother.
Smart Images

Figure CN119313699B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data transmission technology, and in particular to an image synchronization method, apparatus, system, and storage medium. Background Technology
[0002] Current PCs (Personal Computers) support increasingly higher image resolutions, necessitating image segmentation before output. For example, a 33.18 million pixel image can be divided into four sub-images of 8.85 million pixels each, which are then output through the processing terminal's output interface. Distributed devices are widely used in long-distance transmission and control, supporting multiple outputs from processing terminals. These segmented sub-images are then stitched together on a display device. Therefore, ensuring image synchronization becomes crucial when stitching together multiple sub-images on a display device. Summary of the Invention
[0003] This invention provides an image synchronization method, apparatus, system, and storage medium to solve the problem that after multiple sub-images are segmented by the processing terminal and output to multiple distributed input interfaces, they are sent to the distributed output interfaces via a network and then spliced together on the display terminal without synchronization.
[0004] According to one aspect of the present invention, an image synchronization system is provided, wherein the image synchronization system includes a processing terminal, a distributed input interface, a distributed output interface, and a display terminal, and the method includes:
[0005] The processing terminal segments the target image into at least two sub-images and sends each of the at least two sub-images to a distributed input interface; wherein each sub-image corresponds one-to-one with a distributed input interface.
[0006] Each distributed input interface encodes the received sub-image, generates an encoded sub-image, and sends an encoding completion message to the pre-built multicast domain;
[0007] When it is determined that the multicast domain contains encoding completion messages sent by each of the distributed input interfaces, each distributed input interface determines its current system time and sends the current system time and the corresponding encoded sub-image to the distributed output interface; wherein, the encoded sub-image corresponds one-to-one with the distributed output interface, and the current system time is the system time shared by the distributed input interface and the distributed output interface;
[0008] Each distributed output interface sends the corresponding encoded sub-image to the display terminal based on the received current system time, so that the display terminal can display each encoded sub-image synchronously.
[0009] According to another aspect of the present invention, an image synchronization device is provided, applied to an image synchronization system, wherein the image synchronization system includes a processing terminal, a distributed input interface, a distributed output interface, and a display terminal, and the device includes:
[0010] An image segmentation module is used to segment a target image into at least two sub-images via the processing terminal, and send the at least two sub-images to a distributed input interface respectively; wherein, each sub-image corresponds one-to-one with the distributed input interface;
[0011] The encoding completion message sending module is used to encode the received sub-images through each distributed input interface, generate encoded sub-images, and send encoding completion messages to the pre-built multicast domain.
[0012] The current system time determination module is used to determine the current system time through each distributed input interface when it is determined that the multicast domain contains encoding completion messages sent by each distributed input interface, and send the current system time and the corresponding encoded sub-image to the distributed output interface; wherein, the encoded sub-image corresponds one-to-one with the distributed output interface, and the current system time is the system time shared by the distributed input interface and the distributed output interface;
[0013] The encoded sub-image sending module is used to send the corresponding encoded sub-image to the display terminal through each distributed output interface according to the received current system time, so that the display terminal can display each encoded sub-image synchronously.
[0014] According to another aspect of the present invention, an image synchronization system is provided, the image synchronization system comprising: a processing terminal, a distributed input interface, a distributed output interface, and a display terminal, wherein,
[0015] The processing terminal is used to segment the target image into at least two sub-images and send the at least two sub-images to the distributed input interface respectively; wherein, the sub-images correspond one-to-one with the distributed input interface;
[0016] Each distributed input interface is used to encode the received sub-image, generate an encoded sub-image, and send an encoding completion message to the pre-built multicast domain;
[0017] Each distributed input interface is further configured to, when it is determined that the multicast domain contains an encoding completion message sent by each distributed input interface, determine the current system time and send the current system time and the corresponding encoded sub-image to the distributed output interface; wherein, the encoded sub-image corresponds one-to-one with the distributed output interface, and the current system time is the system time shared by the distributed input interface and the distributed output interface;
[0018] Each distributed output interface is used to send the corresponding encoded sub-image to the display terminal according to the received current system time, so that the display terminal can display each encoded sub-image synchronously.
[0019] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the image synchronization method according to any embodiment of the present invention.
[0020] The image synchronization scheme provided in this invention is applied to an image synchronization system. The image synchronization system includes a processing terminal, distributed input interfaces, distributed output interfaces, and a display terminal. The processing terminal segments a target image into at least two sub-images and sends each of the at least two sub-images to a distributed input interface. Each sub-image corresponds one-to-one with a distributed input interface. Each distributed input interface encodes the received sub-image to generate an encoded sub-image and sends an encoding completion message to a pre-constructed multicast domain. When it is determined that the multicast domain contains encoding completion messages sent by each distributed input interface, each distributed input interface determines its current system time and sends the current system time and the corresponding encoded sub-image to the distributed output interface. Each encoded sub-image corresponds one-to-one with a distributed output interface, and the current system time is a shared system time between the distributed input interfaces and the distributed output interfaces. Each distributed output interface sends its corresponding encoded sub-image to the display terminal based on the received current system time, enabling the display terminal to synchronously display each encoded sub-image. The technical solution provided by this invention solves the problem of asynchronous display when multiple sub-images, after being segmented by the processing terminal and output to multiple distributed input interfaces, are sent to the distributed output interfaces via the network and then stitched together on the display terminal. When the display terminal stitches together the multiple sub-images transmitted by the processing terminal, the synchronization of the image is effectively guaranteed. Furthermore, when it is determined that the multicast domain contains encoding completion messages sent by each distributed input interface, the current system time is marked on the encoded sub-image at the distributed input interface end. This reduces the workload of the display terminal, resulting in a smoother and more fluid image display.
[0021] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0022] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0023] Figure 1 This is a flowchart of an image synchronization method provided according to Embodiment 1 of the present invention;
[0024] Figure 2 This is a schematic diagram of the structure of an image synchronization system provided in an embodiment of the present invention;
[0025] Figure 3 This is a schematic diagram of the synchronization signals of each sub-image output by the processing terminal provided in an embodiment of the present invention;
[0026] Figure 4 This is a schematic diagram of an image synchronization device according to Embodiment 2 of the present invention. Detailed Implementation
[0027] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0028] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0029] Example 1
[0030] Figure 1 This is a flowchart of an image synchronization method provided in Embodiment 1 of the present invention. This embodiment is applicable to the situation where multiple sub-images are displayed synchronously. The method can be executed by an image synchronization device, which can be implemented in hardware and / or software. The image synchronization device can be configured in an image synchronization system, which includes a processing terminal, a distributed input interface, a distributed output interface, and a display terminal. Figure 1 As shown, the method includes:
[0031] S110. The processing terminal divides the target image into at least two sub-images and sends the at least two sub-images to the distributed input interface respectively; wherein, the sub-images correspond one-to-one with the distributed input interface.
[0032] Figure 2 This is a schematic diagram of an image synchronization system provided in an embodiment of the present invention. Figure 2 As shown, the image synchronization system includes a processing terminal, multiple distributed input interfaces, multiple distributed output interfaces, and a display terminal. The processing terminal can be connected to each distributed input interface via video cables (HDMI / DVI / DP). The distributed input and output interfaces can be connected via a switch's network port. Each distributed output interface can be connected to the display terminal via video cables (HDMI / DVI).
[0033] In this embodiment of the invention, the processing terminal segments the target image into at least two sub-images. The target image can be understood as the image to be transmitted. The processing terminal can segment the target image to generate multiple sub-images based on the device specifications of the display terminal, or it can segment the target image based on a preset image segmentation algorithm to generate at least two sub-images. The processing terminal sends each sub-image to its corresponding distributed input interface, where each sub-image corresponds one-to-one with the distributed input interface. The synchronization signals of the multiple sub-images output by the processing terminal are not perfectly aligned; that is, the time points at which each sub-image is transmitted to each distributed input interface are different, meaning that the sub-images received by each distributed input interface from the processing terminal are asynchronous. For example... Figure 3 This diagram illustrates the synchronization signals for the output of each sub-image by the processing terminal according to an embodiment of the present invention. Specifically, the timing of each distributed input interface acquiring the sub-image from the processing terminal is triggered by the synchronization signal sent by the processing terminal when sending the sub-image, resulting in asynchronous acquisition timing of sub-images by each distributed input interface. When the target image sent by the processing terminal consists of multiple consecutive video frames, the time it takes for each distributed input interface to acquire each frame of sub-image is inconsistent.
[0034] Optionally, sending the at least two sub-images to the distributed input interfaces includes: obtaining pre-defined virtual signal group information; wherein the virtual signal group information includes configuration information of at least two distributed input interfaces; and sending the at least two sub-images to each distributed input interface corresponding to the configuration information in the virtual signal group information. For example, obtaining pre-defined virtual signal group information includes configuration information of at least two distributed input interfaces, such as the interface number, IP address, MAC address, and other related information of the distributed input interfaces. The corresponding distributed input interfaces are determined based on the virtual signal group information, and each sub-image is sent to the corresponding determined distributed input interface. It is understood that the distributed input interfaces used to receive and process the sub-images output by the terminal can constitute a virtual signal group, and the virtual signal group information includes the configuration information of each member in the virtual signal group.
[0035] S120: Each distributed input interface encodes the received sub-image to generate an encoded sub-image and sends an encoding completion message to the pre-built multicast domain.
[0036] For example, each distributed input interface can first preprocess the received sub-images, where preprocessing may include operations such as downsampling, image enhancement, and scaling, and then encode the preprocessed sub-images to generate encoded sub-images.
[0037] In this embodiment of the invention, for each distributed input interface, the current distributed input interface performs an encoding operation on the sub-image, generates an encoded sub-image, and then sends an encoding completion message to the pre-constructed multicast domain. For example, after distributed input interface 1 generates the encoded sub-image, it can send an encoding completion message to the multicast domain via SndMsg, where the encoding completion message is: "Interface sequence number 1, IP address 192.168.1.14, MAC address 44:11:45:87:12:64, encoding completed." The multicast domain is a pre-constructed IP address. Optionally, the multicast domain is an address domain constructed based on the configuration information of any distributed input interface in the virtual signal group information. A multicast domain can be generated based on the IP address of any distributed input interface among all distributed input interfaces. For example, the last two digits of the IP address of a certain distributed input interface can be taken to form a multicast domain: 238.240.last two digits of IP. If the IP address of the distributed input interface is 192.168.1.14, then the multicast domain is 238.240.1.14.
[0038] S130. When it is determined that the multicast domain contains the encoding completion message sent by each of the distributed input interfaces, each of the distributed input interfaces determines the current system time and sends the current system time and the corresponding encoded sub-image to the distributed output interface; wherein, the encoded sub-image corresponds one-to-one with the distributed output interface, and the current system time is the system time shared by the distributed input interface and the distributed output interface.
[0039] Because the sub-images acquired by each distributed input interface are not synchronized, if the encoded sub-images generated by each distributed input interface are directly sent to the distributed output interface after encoding, the timing of sending the encoded sub-images by each distributed input interface will also be asynchronous, resulting in asynchronous display when the images are transmitted to the display terminal through the distributed output interface.
[0040] In this embodiment of the invention, for each distributed input interface, the current distributed input interface determines whether the multicast domain contains encoding completion messages sent by each distributed input interface. If so, it indicates that all distributed input interfaces have completed the encoding operation of the sub-image; otherwise, it indicates that there are distributed input interfaces that have not completed the encoding operation of the sub-image. When it is determined that the multicast domain contains encoding completion messages sent by each distributed input interface, each distributed input interface determines its current system time and sends the current system time and the corresponding encoded sub-image to the corresponding distributed output interface. It can be understood that, for each distributed input interface, the current distributed input interface determines whether the multicast domain contains encoding completion messages sent by each distributed input interface to determine whether other distributed input interfaces have completed the encoding operation of the sub-image when it determines that it has completed the encoding operation of the sub-image. If the current distributed input interface has completed the encoding operation of the sub-image, and all other distributed input interfaces have completed the encoding operation of the sub-image, then the current distributed input interface sends the current system time and the corresponding encoded sub-image to the corresponding distributed output interface. Here, "other distributed input interfaces" refers to all distributed input interfaces other than the current distributed input interface. The advantage of this setup is that it effectively ensures that each distributed input interface synchronously sends the encoded sub-image to the corresponding distributed output interface.
[0041] In this system, each encoded sub-image corresponds one-to-one with a distributed output interface, and the current system time is the shared system time of both the distributed input and distributed output interfaces. This means that each distributed input interface shares the same system time with each distributed output interface; that is, the time of each distributed input interface is synchronized and consistent with that of each distributed output interface.
[0042] Optionally, the encoding completion message includes the identification information of the corresponding distributed input interface; determining that the multicast domain contains encoding completion messages sent by each distributed input interface includes: for each distributed input interface, the current distributed input interface determines, every preset time interval, whether the multicast domain contains encoding completion messages sent by each distributed input interface based on the virtual signal group information; when the identification information contained in all encoding completion messages in the multicast domain completely matches the configuration information in the virtual signal group information, it is determined that the multicast domain contains encoding completion messages sent by each distributed input interface.
[0043] For example, for each distributed input interface, the current distributed input interface checks at preset intervals whether the multicast domain contains encoding completion messages corresponding to all distributed input interfaces based on the virtual signal group information. If so, it is determined that all distributed input interfaces have completed the sub-image encoding operation. For example, after the current distributed input interface completes the sub-image encoding, it reads encoding completion messages from the multicast domain at preset intervals, parses the read encoding completion messages, and determines the identification information in the read encoding completion messages. When each identification information contained in the read encoding completion messages completely matches the configuration information in the virtual signal group information, it is determined that the multicast domain contains encoding completion messages sent by each distributed input interface, that is, it is determined that all distributed input interfaces have completed the sub-image encoding operation.
[0044] S140. Each distributed output interface sends the corresponding encoded sub-image to the display terminal according to the received current system time, so that the display terminal can display each encoded sub-image synchronously.
[0045] In this embodiment of the invention, each distributed output interface can send the corresponding encoded sub-image to the display terminal after a preset duration of the received current system time, so as to ensure that the display terminal synchronously receives the encoded sub-images sent by each distributed output interface.
[0046] Optionally, sending the current system time and the corresponding encoded sub-image to the distributed output interface includes: generating a target message based on the current system time and the corresponding encoded sub-image; sending the target message to the distributed output interface; and each distributed output interface sending the corresponding encoded sub-image to the display terminal based on the received current system time, including: for each distributed output interface, the current distributed output interface parses the received target message to determine the current system time and encoded sub-image in the target message; and each distributed output interface sends the encoded sub-image to the display terminal after a preset duration of the current system time.
[0047] For example, the distributed input interface converts the current system time into a corresponding timestamp, and generates the target message based on the timestamp and encoded sub-image corresponding to the current system time. For instance, the target message can be generated by encapsulating the timestamp and encoded sub-image corresponding to the current system time using the RFC3984 encapsulation protocol, where the timestamp corresponding to the current system time can be written into the RTP extension header. Each distributed input interface sends the target message to its corresponding distributed output interface. After receiving the target message, the distributed output interface parses the timestamp from the target message, and all distributed output interfaces display the messages based on the timestamps, thus achieving synchronization.
[0048] Optionally, to enable the display terminal to synchronously display the various coded sub-images, the display terminal shall: receive the coded sub-images sent by each of the distributed output interfaces respectively, and perform decoding operations on the coded sub-images to generate decoded sub-images; stitch the various decoded sub-images together to generate a stitched image, and display the stitched image. For example, the display terminal performs decoding operations on the received coded sub-images sent by each of the distributed output interfaces to generate decoded sub-images, then stitches the decoded sub-images together to generate a stitched image, and displays the stitched image, ensuring the synchronization of the displayed images.
[0049] Optionally, when the target image is a video frame image, each distributed input interface, after determining that all members in the virtual signal group have completed the encoding operation, obtains the current system time (the difference in seconds between this time and January 1, 1970, 00:00:00), and converts it into an integer in units of 60 seconds (TICK). The converted TimeTick is = S*60 + NS / (1000*1000*1000 / 60), where S is seconds and NS is nanoseconds. △Timestamp = 90000 / 2 / 60 = 750, meaning the first frame's Timestamp is 0, and the second frame's is 750. Timestamp = frame number * △Timestamp. The distributed output interface receives the TimeTick1 of the first frame, with timestamp 1. By comparing the timestamps of the previous and current frames, it can determine whether the frames are discontinuous and calculate the TimeTick of the next frame.
[0050] The image synchronization method provided in this invention is applied to an image synchronization system, which includes a processing terminal, a distributed input interface, a distributed output interface, and a display terminal. The processing terminal segments a target image into at least two sub-images and sends each of the at least two sub-images to a distributed input interface; each sub-image corresponds one-to-one with a distributed input interface. Each distributed input interface performs encoding operations on the received sub-image to generate an encoded sub-image and sends an encoding completion message to a pre-constructed multicast domain. When it is determined that the multicast domain contains encoding completion messages sent by each distributed input interface, each distributed input interface determines its current system time and sends the current system time and the corresponding encoded sub-image to the distributed output interface; each encoded sub-image corresponds one-to-one with a distributed output interface, and the current system time is a shared system time between the distributed input interface and the distributed output interface. Each distributed output interface sends its corresponding encoded sub-image to the display terminal based on the received current system time, so that the display terminal synchronously displays each encoded sub-image. The technical solution provided by this invention solves the problem of asynchronous display when multiple sub-images, after being segmented by the processing terminal and output to multiple distributed input interfaces, are sent to the distributed output interfaces via the network and then stitched together on the display terminal. When the display terminal stitches together the multiple sub-images transmitted by the processing terminal, the synchronization of the image is effectively guaranteed. Furthermore, when it is determined that the multicast domain contains encoding completion messages sent by each distributed input interface, the current system time is marked on the encoded sub-image at the distributed input interface end. This reduces the workload of the display terminal, resulting in a smoother and more fluid image display.
[0051] In some embodiments, before each distributed input interface determines its current system time, the method further includes: a distributed management output interface sending its system time to each distributed input interface and each distributed output interface in real time; wherein the distributed management output interface is any one of the distributed output interfaces. The advantage of this configuration is that it effectively ensures that the system time of all distributed input interfaces and distributed output interfaces in the image synchronization system remains consistent. For example, any one of the distributed output interfaces can be used as the distributed management output interface, which sends its system time to each distributed input interface and each distributed output interface in the image synchronization system in real time, thereby ensuring time synchronization of all distributed input interfaces and distributed output interfaces within the image synchronization system.
[0052] Optionally, each distributed input interface performs an encoding operation on the received sub-image to generate an encoded sub-image, including: for each distributed input interface, the current distributed input interface performs an encoding operation on the received sub-image to generate an encoded sub-image, and after the encoding is completed, sends an encoding completion message to other distributed input interfaces; wherein, the other distributed input interfaces are all distributed input interfaces except the current distributed input interface; determining that all distributed input interfaces have completed the sub-image encoding operation includes: when the encoding completion message sent by the other distributed input interfaces is received, determining that all distributed input interfaces have completed the sub-image encoding operation.
[0053] For example, for each distributed input interface, after completing the encoding operation on the sub-image, the current distributed input interface sends an encoding completion message to other distributed input interfaces to inform them of its sub-image encoding status. If the current distributed input interface receives encoding completion messages from all other distributed input interfaces, it determines that all distributed input interfaces have completed the sub-image encoding operation, and the encoding status can be marked as 1. Of course, if the current distributed input interface does not receive encoding completion messages from any one or more of the other distributed input interfaces, the encoding status can be recorded as 0. This embodiment of the invention, through communication between distributed input interfaces, quickly and accurately understands the encoding status of other distributed input interfaces on the sub-image.
[0054] Optionally, each distributed input interface can pre-store virtual signal group information. The distributed input interface can determine the recipient of the encoded message based on the virtual signal group information, that is, send the encoded message to the other distributed input interfaces besides itself corresponding to the virtual signal group information.
[0055] Example 2
[0056] Figure 4 This is a schematic diagram of an image synchronization device provided in Embodiment 2 of the present invention. Figure 4 As shown, this image synchronization device is applied to an image synchronization system, wherein the image synchronization system includes a processing terminal, a distributed input interface, a distributed output interface, and a display terminal, and the device includes:
[0057] The image segmentation module 410 is used to segment a target image into at least two sub-images through the processing terminal, and send the at least two sub-images to the distributed input interface respectively; wherein, the sub-images correspond one-to-one with the distributed input interface;
[0058] The encoding completion message sending module 420 is used to encode the received sub-images through each distributed input interface, generate encoded sub-images, and send an encoding completion message to the pre-built multicast domain.
[0059] The current system time determination module 430 is used to determine the current system time through each distributed input interface when it is determined that the multicast domain contains encoding completion messages sent by each distributed input interface, and send the current system time and the corresponding encoded sub-image to the distributed output interface; wherein, the encoded sub-image corresponds one-to-one with the distributed output interface, and the current system time is the system time shared by the distributed input interface and the distributed output interface;
[0060] The encoded sub-image sending module 440 is used to send the corresponding encoded sub-image to the display terminal through each distributed output interface according to the received current system time, so that the display terminal can display each encoded sub-image synchronously.
[0061] Optionally, the image segmentation module is used for:
[0062] Obtain pre-defined virtual signal group information; wherein, the virtual signal group information includes configuration information for at least two distributed input interfaces;
[0063] The at least two sub-images are respectively sent to the respective distributed input interfaces corresponding to the configuration information in the virtual signal group information.
[0064] Optionally, the encoding completion message includes the identification information of the corresponding distributed input interface;
[0065] The current system time determination module is used for:
[0066] For each distributed input interface, the current distributed input interface determines, every preset time interval, whether the multicast domain contains the encoding completion message sent by each distributed input interface, based on the virtual signal group information.
[0067] When the identification information contained in all encoding completion messages in the multicast domain completely matches the configuration information in the virtual signal group information, it is determined that the multicast domain contains encoding completion messages sent by each of the distributed input interfaces.
[0068] Optionally, the multicast domain is an address domain constructed based on the configuration information of any distributed input interface in the virtual signal group information.
[0069] Optionally, the device further includes:
[0070] The system time sending module is used to send the system time in real time from the distributed management output interface to each distributed input interface and each distributed output interface before each distributed input interface determines the current system time; wherein, the distributed management output interface is any one of the distributed output interfaces.
[0071] Optionally, the current system time determination module is used for:
[0072] Generate the target message based on the current system time and the corresponding encoded sub-image;
[0073] Send the target message to the distributed output interface;
[0074] The encoded sub-image sending module is used for:
[0075] For each distributed output interface, the current distributed output interface parses the received target message and determines the current system time and encoded sub-image in the target message;
[0076] Each of the distributed output interfaces sends the encoded sub-image to the display terminal after a preset duration of the current system time.
[0077] Optionally, the encoded sub-image sending module is used for:
[0078] The display terminal receives the encoded sub-images sent by each of the distributed output interfaces, and performs decoding operations on the encoded sub-images to generate decoded sub-images.
[0079] The decoded sub-images are stitched together to generate a stitched image, and the stitched image is then displayed.
[0080] The image synchronization device provided in the embodiments of the present invention can execute the image synchronization method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of executing the method.
[0081] Example 3
[0082] Figure 2 A schematic diagram of an image synchronization system that can be used to implement embodiments of the present invention is shown. Figure 2 As shown, the image synchronization system includes: a processing terminal, a distributed input interface, a distributed output interface, and a display terminal, wherein,
[0083] The processing terminal is used to segment the target image into at least two sub-images and send the at least two sub-images to the distributed input interface respectively; wherein, the sub-images correspond one-to-one with the distributed input interface;
[0084] Each distributed input interface is used to encode the received sub-image, generate an encoded sub-image, and send an encoding completion message to the pre-built multicast domain;
[0085] Each distributed input interface is further configured to, when it is determined that the multicast domain contains an encoding completion message sent by each distributed input interface, determine the current system time and send the current system time and the corresponding encoded sub-image to the distributed output interface; wherein, the encoded sub-image corresponds one-to-one with the distributed output interface, and the current system time is the system time shared by the distributed input interface and the distributed output interface;
[0086] Each distributed output interface is used to send the corresponding encoded sub-image to the display terminal according to the received current system time, so that the display terminal can display each encoded sub-image synchronously.
[0087] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0088] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0089] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0090] To provide user interaction, the systems and techniques described herein can be implemented on an image synchronization system having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the image synchronization system. Other types of devices can also be used to provide user interaction; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0091] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0092] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.
[0093] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0094] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. An image synchronization method, characterized in that, An image synchronization system is applied, wherein the image synchronization system includes a processing terminal, a distributed input interface, a distributed output interface, and a display terminal, and the method includes: The processing terminal segments the target image into at least two sub-images and sends each of the at least two sub-images to a distributed input interface; wherein each sub-image corresponds one-to-one with a distributed input interface. Each distributed input interface encodes the received sub-image, generates an encoded sub-image, and sends an encoding completion message to the pre-built multicast domain; When it is determined that the multicast domain contains encoding completion messages sent by each of the distributed input interfaces, each distributed input interface determines its current system time and sends the current system time and the corresponding encoded sub-image to the distributed output interface; wherein, the encoded sub-image corresponds one-to-one with the distributed output interface, and the current system time is the system time shared by the distributed input interface and the distributed output interface; Each distributed output interface sends the corresponding encoded sub-image to the display terminal based on the received current system time, so that the display terminal can display each encoded sub-image synchronously.
2. The method according to claim 1, characterized in that, Sending the at least two sub-images to the distributed input interface respectively includes: Obtain pre-defined virtual signal group information; wherein, the virtual signal group information includes configuration information for at least two distributed input interfaces; The at least two sub-images are respectively sent to the respective distributed input interfaces corresponding to the configuration information in the virtual signal group information.
3. The method according to claim 2, characterized in that, The encoding completion message contains the identification information of the corresponding distributed input interface; Determining that the multicast domain contains encoding completion messages sent by each of the distributed input interfaces includes: For each distributed input interface, the current distributed input interface determines, every preset time interval, whether the multicast domain contains the encoding completion message sent by each distributed input interface, based on the virtual signal group information. When the identification information contained in all encoding completion messages in the multicast domain completely matches the configuration information in the virtual signal group information, it is determined that the multicast domain contains encoding completion messages sent by each of the distributed input interfaces.
4. The method according to claim 2, characterized in that, The multicast domain is an address domain constructed based on the configuration information of any distributed input interface in the virtual signal group information.
5. The method according to claim 1, characterized in that, Before each of the distributed input interfaces determines the current system time, the following is also included: The distributed management output interface sends the system time to each of the distributed input interfaces and each of the distributed output interfaces in real time; wherein, the distributed management output interface is any one of the distributed output interfaces.
6. The method according to claim 1, characterized in that, Sending the current system time and the corresponding encoded sub-image to the distributed output interface includes: Generate the target message based on the current system time and the corresponding encoded sub-image; Send the target message to the distributed output interface; Each distributed output interface sends the corresponding encoded sub-image to the display terminal based on the received current system time, including: For each distributed output interface, the current distributed output interface parses the received target message and determines the current system time and encoded sub-image in the target message; Each of the distributed output interfaces sends the encoded sub-image to the display terminal after a preset duration of the current system time.
7. The method according to claim 1, characterized in that, To enable the display terminal to synchronously display each coded sub-image, including: The display terminal receives the encoded sub-images sent by each of the distributed output interfaces, and performs decoding operations on the encoded sub-images to generate decoded sub-images; The decoded sub-images are stitched together to generate a stitched image, and the stitched image is then displayed.
8. An image synchronization device, characterized in that, An image synchronization system is used, wherein the image synchronization system includes a processing terminal, a distributed input interface, a distributed output interface, and a display terminal, and the device includes: An image segmentation module is used to segment a target image into at least two sub-images via the processing terminal, and send the at least two sub-images to a distributed input interface respectively; wherein, each sub-image corresponds one-to-one with the distributed input interface; The encoding completion message sending module is used to encode the received sub-images through each distributed input interface, generate encoded sub-images, and send encoding completion messages to the pre-built multicast domain. The current system time determination module is used to determine the current system time through each distributed input interface when it is determined that the multicast domain contains encoding completion messages sent by each distributed input interface, and send the current system time and the corresponding encoded sub-image to the distributed output interface; wherein, the encoded sub-image corresponds one-to-one with the distributed output interface, and the current system time is the system time shared by the distributed input interface and the distributed output interface; The encoded sub-image sending module is used to send the corresponding encoded sub-image to the display terminal through each distributed output interface according to the received current system time, so that the display terminal can display each encoded sub-image synchronously.
9. An image synchronization system, characterized in that, The image synchronization system includes: a processing terminal, a distributed input interface, a distributed output interface, and a display terminal, wherein... The processing terminal is used to segment the target image into at least two sub-images and send the at least two sub-images to the distributed input interface respectively; wherein, the sub-images correspond one-to-one with the distributed input interface; Each distributed input interface is used to encode the received sub-image, generate an encoded sub-image, and send an encoding completion message to the pre-built multicast domain; Each distributed input interface is further configured to, when it is determined that the multicast domain contains an encoding completion message sent by each distributed input interface, determine the current system time and send the current system time and the corresponding encoded sub-image to the distributed output interface; wherein, the encoded sub-image corresponds one-to-one with the distributed output interface, and the current system time is the system time shared by the distributed input interface and the distributed output interface; Each distributed output interface is used to send the corresponding encoded sub-image to the display terminal according to the received current system time, so that the display terminal can display each encoded sub-image synchronously.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to execute the image synchronization method according to any one of claims 1-7.