Cross-screen synchronization method, device, equipment and system based on distributed computing
Through the cross-screen synchronization method based on distributed computing, the frame consistency of data to be decoded and to be pushed is determined using timestamps, which solves the problem of out-synchronization of the screen display screen, and realizes picture synchronization and delay reduction.
Patent Information
- Application Number
- CN202411678030.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-22
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2044-11-22
AI Technical Summary
Due to network fluctuations and differences in performance scheduling of decoding equipment, the display screen of the splicing screen is not synchronized, and a tear is visible to the naked eye.
A cross-screen synchronization method based on distributed computing is adopted. By receiving video data and determining whether the picture data to be decoded is the same frame based on the timestamp, if the same, the data to be pushed is obtained to be pushed is obtained, and again determines whether the data to be pushed is the same frame. If the same, the data to be pushed is pushed to the splicing screen.
Effectively prevent the screen from synchronizing due to network fluctuations and decoding equipment performance differences, realize the synchronization of display screens between different splicing screens, avoid the sense of picture tear, and reduce data stacking and reduce picture delay.
Smart Images

Figure CN119697414A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of cross-screen display technology, and more specifically, to a cross-screen synchronization method, device, equipment and system based on distributed computing. Background Art
[0002] Large-screen display systems are generally composed of multiple spliced screens, each of which is equipped with a decoding device, which is uniformly managed by the splicing and segmentation management unit. However, due to the volatility of the network and the differences in the performance scheduling of the decoding devices, the display images of the spliced screens may be out of sync, resulting in visible tearing. Summary of the invention
[0003] In view of the defects of the prior art, the purpose of the present application is to achieve synchronization of display images between different spliced screens.
[0004] To achieve the above objectives, in a first aspect, the present application provides a cross-screen synchronization method based on distributed computing, which is applied to a decoding device, including:
[0005] Receive video data corresponding to a frame of a target picture, the video data including to-be-decoded picture data corresponding to the target picture and a timestamp for marking the to-be-decoded picture data;
[0006] Based on the timestamp, determining whether the to-be-decoded picture data received by different decoding devices corresponds to the same frame;
[0007] If it is determined that the picture data to be decoded received by different decoding devices correspond to the same frame, the picture data to be decoded by the device is decoded to obtain the data to be pushed screen display, where the data to be pushed screen display is used to represent the pixel value corresponding to each pixel point in the target picture;
[0008] Determine whether the screen display data to be pushed held by different decoding devices corresponds to the same frame;
[0009] If it is determined that the screen display data to be pushed held by different decoding devices corresponds to the same frame, the local screen display data corresponding to this device is determined based on the screen display data to be pushed, and the local screen display data is pushed to the corresponding spliced screen.
[0010] In a possible implementation, judging whether the to-be-decoded picture data received by different decoding devices corresponds to the same frame based on the timestamp includes:
[0011] Comparing the time stamps of the to-be-decoded picture data received by different decoding devices;
[0012] If the timestamps of the to-be-decoded picture data received by different decoding devices are consistent, it is determined that the to-be-decoded picture data received by different decoding devices correspond to the same frame; otherwise, it is determined that the to-be-decoded picture data received by different decoding devices correspond to different frames.
[0013] In a possible implementation, determining whether the to-be-pushed screen display data held by different decoding devices corresponds to the same frame includes:
[0014] Compare pixel extraction results corresponding to the to-be-pushed screen display data held by different decoding devices, where the pixel extraction results are determined by extracting the first n pixels and the last m pixels of the target picture represented by the to-be-pushed screen display data, where n and m are positive integers;
[0015] If the pixel extraction results corresponding to the data to be pushed on the screen held by different decoding devices are consistent, it is determined that the data to be pushed on the screen held by different decoding devices correspond to the same frame; otherwise, it is determined that the data to be pushed on the screen held by different decoding devices correspond to different frames.
[0016] In a possible implementation, determining the local screen display data corresponding to the device based on the screen display data to be pushed includes:
[0017] Based on the decoding configuration information and the display data of the screen to be pushed, the partial screen display data corresponding to this device is obtained by extracting the partial screen from the target screen. The decoding configuration information is used to indicate the position of the partial screen in the target screen and the display position of the partial screen on the spliced screen.
[0018] In a second aspect, the present application provides a cross-screen synchronization device based on distributed computing, which is applied to a decoding device, including:
[0019] A receiving module, used for receiving video data corresponding to a frame of a target picture, wherein the video data includes picture data to be decoded corresponding to the target picture and a timestamp for marking the picture data to be decoded;
[0020] A first judgment module, used for judging whether the to-be-decoded picture data received by different decoding devices corresponds to the same frame based on the timestamp;
[0021] A decoding module, for decoding the to-be-decoded picture data of the device to obtain the to-be-decoded screen display data if it is determined that the to-be-decoded picture data received by different decoding devices correspond to the same frame, and for representing the pixel value corresponding to each pixel point in the target picture;
[0022] The second judgment module is used to judge whether the to-be-pushed screen display data held by different decoding devices corresponds to the same frame;
[0023] The push screen display module is used to determine the local screen display data corresponding to this device based on the screen display data to be pushed, and push the local screen display data to the corresponding splicing screen if it is determined that the screen display data to be pushed held by different decoding devices corresponds to the same frame.
[0024] In a third aspect, the present application provides a decoding device, comprising: at least one memory for storing programs; and at least one processor for executing the programs stored in the memory. When the program stored in the memory is executed, the processor is used to execute the method described in the first aspect or any possible implementation of the first aspect.
[0025] In a fourth aspect, the present application provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a processor, the processor executes the method described in the first aspect or any possible implementation of the first aspect.
[0026] In a fifth aspect, the present application provides a cross-screen synchronization system based on distributed computing, including: multiple decoding devices and spliced screens corresponding to each decoding device, and the decoding device applies the method described in the first aspect or any possible implementation of the first aspect.
[0027] In a possible implementation, it further includes: an information interaction unit;
[0028] The information exchange unit is used to transmit video data and communication data between different decoding devices;
[0029] Different decoding devices are communicatively connected via an information interaction unit.
[0030] In a possible implementation, it further includes: a splicing and segmentation management unit;
[0031] The splicing and segmentation management unit is used to determine decoding configuration information, where the decoding configuration information is used to indicate the position of the partial picture in the target picture and the display position of the partial picture on the splicing screen;
[0032] The splicing and segmentation management unit is communicatively connected with the decoding device via the information interaction unit.
[0033] In general, the above technical solutions conceived by this application have the following beneficial effects compared with the prior art:
[0034] (1) By judging whether the to-be-decoded picture data received by different decoding devices correspond to the same frame, and decoding the to-be-decoded picture data of the device when the to-be-decoded picture data received by different decoding devices correspond to the same frame, it is possible to effectively prevent the display pictures of each splicing screen from being out of sync due to the fluctuation of the network. By judging whether the to-be-pushed screen display data held by different decoding devices correspond to the same frame, and determining the local picture display data corresponding to the device based on the to-be-pushed screen display data when the to-be-pushed screen display data held by different decoding devices correspond to the same frame, and pushing the local picture display data to the corresponding splicing screen, it is possible to effectively prevent the performance scheduling differences between different decoding devices from causing the display pictures of each splicing screen to be out of sync. It can be seen that through the above two judgments, the display pictures of different splicing screens can be synchronized, avoiding the screen tearing caused by the display picture asynchrony.
[0035] (2) After two judgments, the screen can be pushed for display after passing the inspection, without caching the to-be-displayed picture as a video queue, which can effectively reduce data stacking and reduce picture delay. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Figure 1 It is a flowchart of a cross-screen synchronization method based on distributed computing provided in an embodiment of the present application;
[0037] Figure 2 is a schematic diagram of the structure of a cross-screen synchronization device based on distributed computing provided in an embodiment of the present application;
[0038] Figure 3 is a schematic diagram of the structure of a cross-screen synchronization system based on distributed computing provided in an embodiment of the present application;
[0039] Figure 4 It is a structural diagram of a decoding device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0040] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0041] The terms "first" and "second" in the specification and claims herein are used to distinguish different objects rather than to describe a specific order of the objects. For example, a first decoding device and a second decoding device are used to distinguish different decoding devices rather than to describe a specific order of the decoding devices.
[0042] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
[0043] In the description of the embodiments of the present application, unless otherwise specified, "multiple" means two or more than two. For example, multiple processing units refer to two or more processing units, etc.; multiple elements refer to two or more elements, etc.
[0044] The embodiments of the present application are described below in conjunction with the drawings in the embodiments of the present application.
[0045] Figure 1 is a flow chart of a cross-screen synchronization method based on distributed computing provided in an embodiment of the present application, such as Figure 1 As shown, the method can be applied to a decoding device. The method includes the following steps S101 to S105.
[0046] Distributed computing is a computing model that decomposes computing tasks into multiple subtasks and assigns these subtasks to multiple computing nodes for parallel processing. These computing nodes can be connected together through a network to form a distributed computing system. In this application, a subtask is the task of projecting a (partial) screen to the corresponding spliced screen, and a computing node is a decoding device.
[0047] Step S101, receiving video data corresponding to a frame of a target picture, the video data including to-be-decoded picture data corresponding to the target picture (the to-be-decoded picture data can be obtained by encoding the original data of the target picture) and a timestamp for marking (the sending time of) the to-be-decoded picture data.
[0048] Step S102: judging whether the to-be-decoded picture data received by different decoding devices correspond to the same frame based on the timestamp.
[0049] Optionally, one of the multiple decoding devices may receive the timestamp corresponding to the picture data to be decoded sent by other decoding devices, and compare whether the timestamps between different decoding devices are consistent. If it is determined that the timestamps of all decoding devices are consistent, a first judgment result (used to indicate that the picture data to be decoded received by different decoding devices correspond to the same frame) is sent. After receiving the first judgment result, other decoding devices determine that the picture data to be decoded received by different decoding devices correspond to the same frame.
[0050] Optionally, a splicing and segmentation management unit or an information interaction unit in a cross-screen synchronization system based on distributed computing (which will be described in detail below) can receive the timestamps corresponding to the picture data to be decoded sent by each decoding device, and compare whether the timestamps between different decoding devices are consistent. If it is determined that the timestamps of all decoding devices are consistent, a first judgment result (used to indicate that the picture data to be decoded received by different decoding devices correspond to the same frame) is sent. After receiving the first judgment result, each decoding device determines that the picture data to be decoded received by different decoding devices corresponds to the same frame.
[0051] Step S103, if it is determined that the to-be-decoded picture data received by different decoding devices correspond to the same frame, the to-be-decoded picture data of the device is decoded to obtain the to-be-pushed screen display data, which is used to represent the pixel value corresponding to each pixel point in the target picture.
[0052] Step S104, determining whether the to-be-pushed screen display data held by different decoding devices corresponds to the same frame.
[0053] Optionally, one of the multiple decoding devices can determine whether the data to be pushed on the screen held by different decoding devices correspond to the same frame. If it is determined that they correspond to the same frame, a second judgment result (used to indicate that the data to be pushed on the screen held by different decoding devices correspond to the same frame) is sent. After receiving the second judgment result, other decoding devices determine that the data to be pushed on the screen held by different decoding devices correspond to the same frame.
[0054] Optionally, a splicing and segmentation management unit or an information interaction unit in a cross-screen synchronization system based on distributed computing (which will be described in detail below) can determine whether the data to be pushed on the screen held by different decoding devices corresponds to the same frame. If it is determined that they correspond to the same frame, a second judgment result (used to indicate that the data to be pushed on the screen held by different decoding devices corresponds to the same frame) is sent. After receiving the second judgment result, each decoding device determines that the data to be pushed on the screen held by different decoding devices corresponds to the same frame.
[0055] Step S105, if it is determined that the screen display data to be pushed held by different decoding devices correspond to the same frame, then the local screen display data corresponding to the device is determined based on the screen display data to be pushed, and the local screen display data is pushed to the corresponding spliced screen.
[0056] The local picture display data is used to represent the pixel value corresponding to each pixel point in the local picture.
[0057] By judging whether the to-be-decoded picture data received by different decoding devices correspond to the same frame, and decoding the to-be-decoded picture data of this device when the to-be-decoded picture data received by different decoding devices correspond to the same frame, it is possible to effectively prevent the display pictures of each splicing screen from being out of sync due to the volatility of the network. By judging whether the to-be-pushed screen display data held by different decoding devices correspond to the same frame, and determining the local picture display data corresponding to this device based on the to-be-pushed screen display data when the to-be-pushed screen display data held by different decoding devices correspond to the same frame, and pushing the local picture display data to the corresponding splicing screen, it is possible to effectively prevent the performance scheduling differences between different decoding devices from causing the display pictures of each splicing screen to be out of sync. It can be seen that through the above two judgments, the display picture synchronization between different splicing screens can be achieved, and the screen tearing caused by the display picture asynchrony can be avoided.
[0058] In addition, after two judgments, the screen can be pushed for display after the inspection is passed. There is no need to cache the screen to be displayed as a video queue, which can effectively reduce data stacking and reduce screen delay.
[0059] In a possible implementation, the above-mentioned determining, based on the timestamp, whether the to-be-decoded picture data received by different decoding devices corresponds to the same frame includes:
[0060] Comparing the timestamps of the picture data to be decoded received by different decoding devices (this device can receive the timestamps of the picture data to be decoded sent by other decoding devices);
[0061] If the timestamps of the picture data to be decoded received by different decoding devices are consistent, it is determined that the picture data to be decoded received by different decoding devices correspond to the same frame; otherwise, it is determined that the picture data to be decoded received by different decoding devices correspond to different frames. In this case, frame synchronization can be performed between different decoding devices (for example, lagging frames are discarded) to ensure that the picture data to be decoded received by different decoding devices correspond to the same frame.
[0062] In a possible implementation, the above-mentioned determining whether the to-be-pushed screen display data held by different decoding devices corresponds to the same frame includes:
[0063] Compare the pixel extraction results corresponding to the to-be-pushed screen display data held by different decoding devices, where the pixel extraction results are determined by extracting the first n pixels and the last m pixels of the target image represented by the to-be-pushed screen display data, where n and m are positive integers (this device can receive pixel extraction results sent by other decoding devices);
[0064] If the pixel extraction results corresponding to the data to be pushed on the screen held by different decoding devices are consistent, it is determined that the data to be pushed on the screen held by different decoding devices correspond to the same frame. Otherwise, it is determined that the data to be pushed on the screen held by different decoding devices correspond to different frames. In this case, frame synchronization can be performed between different decoding devices (for example, lagging frames are discarded) to ensure that the data to be pushed on the screen received by different decoding devices correspond to the same frame.
[0065] Here, the above pixel extraction results are explained. The data to be pushed on the screen can represent the pixel values corresponding to each pixel in the target picture. The pixels in the target picture are generally arranged in order in rows and columns. According to the pixel arrangement order of the target picture, the first n pixels (for example, the first 10, the first 15, or the first 20, etc.) and the last m pixels (for example, the last 10, the last 15, or the last 20, etc.) can be extracted. The pixel extraction result is determined based on the extracted pixels. The pixel extraction result can represent the pixel values corresponding to each extracted pixel. For determining the pixel extraction result based on the extracted pixels, specifically, the pixel values corresponding to all the extracted pixels can be accumulated and summed to determine the pixel extraction result; or the pixel set composed of all the extracted pixels can be used as the pixel extraction result.
[0066] In a possible implementation, the determining of the local screen display data corresponding to the device based on the screen display data to be pushed includes:
[0067] Based on the decoding configuration information and the display data of the screen to be pushed, the partial screen display data corresponding to this device is obtained by extracting the partial screen from the target screen. The decoding configuration information is used to indicate the position of the partial screen in the target screen and the display position of the partial screen on the spliced screen.
[0068] Specifically, the decoding device can obtain the decoding configuration information from the splicing and segmentation management unit in the cross-screen synchronization system based on distributed computing (which will be described in detail below).
[0069] Extracting the partial picture from the target picture may specifically include cutting, scaling and filling the target picture based on the decoding configuration information and the screen display data to be pushed of the device, so as to obtain the partial picture display data corresponding to the device.
[0070] The cross-screen synchronization device based on distributed computing provided in the present application is described below. The cross-screen synchronization device based on distributed computing described below and the cross-screen synchronization method based on distributed computing described above can refer to each other.
[0071] Figure 2 is a schematic diagram of the structure of a cross-screen synchronization device based on distributed computing provided in an embodiment of the present application, such as Figure 2As shown, the device is applied to a decoding device, comprising: a receiving module 10, a first judgment module 20, a decoding module 30, a second judgment module 40 and a push screen display module 50. Among them:
[0072] A receiving module 10 is used to receive video data corresponding to a frame of a target picture, where the video data includes picture data to be decoded corresponding to the target picture and a timestamp for marking the picture data to be decoded;
[0073] A first judgment module 20 is used to judge whether the to-be-decoded picture data received by different decoding devices corresponds to the same frame based on the timestamp;
[0074] The decoding module 30 is used to decode the picture data to be decoded by the device if it is determined that the picture data to be decoded received by different decoding devices correspond to the same frame, and obtain the data to be pushed screen display, where the data to be pushed screen display is used to represent the pixel value corresponding to each pixel point in the target picture;
[0075] The second judgment module 40 is used to judge whether the to-be-pushed screen display data held by different decoding devices corresponds to the same frame;
[0076] The push screen display module 50 is used to determine the local screen display data corresponding to this device based on the screen display data to be pushed, and push the local screen display data to the corresponding spliced screen if it is determined that the screen display data to be pushed held by different decoding devices corresponds to the same frame.
[0077] Figure 3 is a schematic diagram of the structure of a cross-screen synchronization system based on distributed computing provided in an embodiment of the present application, such as Figure 3 As shown, the system includes: a plurality of decoding devices (such as Figure 3 The first decoding device, the second decoding device, the third decoding device and the fourth decoding device) and the splicing screen corresponding to each decoding device (such as Figure 3 The first splicing screen, the second splicing screen, the third splicing screen and the fourth splicing screen).
[0078] The decoding device is specifically used for: receiving video data corresponding to a frame of target picture; judging whether the picture data to be decoded received by different decoding devices correspond to the same frame based on the timestamp; if it is determined that the picture data to be decoded received by different decoding devices correspond to the same frame, decoding the picture data to be decoded of this device to obtain the screen display data to be pushed; judging whether the screen display data to be pushed held by different decoding devices correspond to the same frame; if it is determined that the screen display data to be pushed held by different decoding devices correspond to the same frame, determining the local screen display data corresponding to this device based on the screen display data to be pushed, and pushing the local screen display data to the corresponding spliced screen.
[0079] It can be understood that the decoding device cuts, scales and fills the picture, and each decoding device processes a corresponding local picture, which reduces the performance requirements for the decoding device, shortens the picture delay of the entire system, and improves the synchronization of cross-screen spliced pictures after two judgments on the display picture.
[0080] Figure 3 As shown, in a possible implementation, the system further includes: an information interaction unit; the information interaction unit is used to transmit video data and communication data between different decoding devices; different decoding devices are communicatively connected via the information interaction unit.
[0081] Figure 3 As shown, in a possible implementation, the system also includes: a splicing and segmentation management unit; the splicing and segmentation management unit is used to determine decoding configuration information, and the decoding configuration information is used to indicate the position of the local picture in the target picture and the display position of the local picture on the splicing screen; the splicing and segmentation management unit is communicatively connected with the decoding device through the information interaction unit.
[0082] The splicing and segmentation management unit calculates the size and position distribution of each splicing screen (partial picture) according to the overall size and position distribution of the spliced picture, and sends it to each decoding device in the form of a command (decoding configuration information).
[0083] Exemplarily, the splicing and segmentation management unit provides software for the operator to control the overall size and position distribution of the spliced screen through graphical methods and parameter input methods; the splicing and segmentation management unit calculates and decomposes the received instructions into the size and position distribution of a single spliced screen (partial screen), and transmits the calculated results to the decoding device in the form of commands (decoding configuration information).
[0084] Since the cutting, scaling and filling of the spliced image are all completed on the decoding device side, the splicing segmentation management unit provides commands (decoding configuration information) and does not perform actual operations on the spliced image, thereby reducing the performance requirements for the splicing segmentation management unit and saving costs.
[0085] It can be understood that the detailed functional implementation of each of the above-mentioned units / modules can be found in the introduction of the aforementioned method embodiment, and will not be repeated here.
[0086] It should be understood that the above-mentioned device is used to execute the method in the above-mentioned embodiment. The implementation principle and technical effect of the corresponding program module in the device are similar to those described in the above-mentioned method. The working process of the device can refer to the corresponding process in the above-mentioned method, which will not be repeated here.
[0087] Based on the method in the above embodiment, the embodiment of the present application provides a decoding device, Figure 4is a schematic diagram of the structure of a decoding device provided in an embodiment of the present application, such as Figure 4 As shown, the decoding device may include: a processor (Processor) 810, a communication interface (CommunicationsInterface) 820, a memory (Memory) 830 and a communication bus 840, wherein the processor 810, the communication interface 820, and the memory 830 communicate with each other through the communication bus 840. The processor 810 can call the logic instructions in the memory 830 to execute the method in the above embodiment.
[0088] In addition, the logic instructions in the above-mentioned memory 830 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application.
[0089] Based on the method in the above embodiment, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a processor, the processor executes the method in the above embodiment.
[0090] Based on the method in the above embodiment, an embodiment of the present application provides a computer program product. When the computer program product runs on a processor, the processor executes the method in the above embodiment.
[0091] It is understandable that the processor in the embodiment of the present application may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.
[0092] The method steps in the embodiments of the present application can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, mobile hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an ASIC.
[0093] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium. The computer instructions may be transmitted from a website site, a computer, a server or a data center to another website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)), etc.
[0094] It should be understood that the various numerical numbers involved in the embodiments of the present application are only used for the convenience of description and are not used to limit the scope of the embodiments of the present application.
[0095] It will be easily understood by those skilled in the art that the above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present application shall be included in the scope of protection of the present application.
Claims
1. A cross-screen synchronization method based on distributed computing, characterized in that: Applicable to decoding equipment, including: Receiving video data corresponding to a frame of a target picture, wherein the video data includes picture data to be decoded corresponding to the target picture and a timestamp for marking the picture data to be decoded; Based on the timestamp, determining whether the to-be-decoded picture data received by different decoding devices corresponds to the same frame; If it is determined that the picture data to be decoded received by different decoding devices correspond to the same frame, the picture data to be decoded by the device is decoded to obtain the data to be pushed screen display, where the data to be pushed screen display is used to represent the pixel value corresponding to each pixel point in the target picture; Determine whether the screen display data to be pushed held by different decoding devices corresponds to the same frame; If it is determined that the screen display data to be pushed held by different decoding devices corresponds to the same frame, the local screen display data corresponding to this device is determined based on the screen display data to be pushed, and the local screen display data is pushed to the corresponding spliced screen.
2. The cross-screen synchronization method based on distributed computing according to claim 1, characterized in that: The determining, based on the timestamp, whether the to-be-decoded picture data received by different decoding devices corresponds to the same frame includes: Comparing the time stamps of the to-be-decoded picture data received by different decoding devices; If the timestamps of the to-be-decoded picture data received by different decoding devices are consistent, it is determined that the to-be-decoded picture data received by different decoding devices correspond to the same frame; otherwise, it is determined that the to-be-decoded picture data received by different decoding devices correspond to different frames.
3. The cross-screen synchronization method based on distributed computing according to claim 1, characterized in that: The determining whether the to-be-pushed screen display data held by different decoding devices corresponds to the same frame includes: Compare pixel extraction results corresponding to the to-be-pushed screen display data held by different decoding devices, where the pixel extraction results are determined by extracting the first n pixels and the last m pixels of the target picture represented by the to-be-pushed screen display data, where n and m are positive integers; If the pixel extraction results corresponding to the data to be pushed on the screen held by different decoding devices are consistent, it is determined that the data to be pushed on the screen held by different decoding devices correspond to the same frame; otherwise, it is determined that the data to be pushed on the screen held by different decoding devices correspond to different frames.
4. The cross-screen synchronization method based on distributed computing according to any one of claims 1 to 3, characterized in that: Determine the local screen display data corresponding to the device based on the screen display data to be pushed, including: Based on the decoding configuration information and the screen display data to be pushed, the local screen display data corresponding to the device is obtained by extracting the local screen from the target screen. The decoding configuration information is used to indicate the position of the local screen in the target screen and the display position of the local screen on the spliced screen.
5. A cross-screen synchronization device based on distributed computing, characterized in that: Applicable to decoding equipment, including: A receiving module, used for receiving video data corresponding to a frame of a target picture, wherein the video data includes picture data to be decoded corresponding to the target picture and a timestamp for marking the picture data to be decoded; A first judgment module, used for judging whether the to-be-decoded picture data received by different decoding devices corresponds to the same frame based on the timestamp; A decoding module, for decoding the to-be-decoded picture data of the device to obtain the to-be-decoded screen display data if it is determined that the to-be-decoded picture data received by different decoding devices correspond to the same frame, and for representing the pixel value corresponding to each pixel point in the target picture; The second judgment module is used to judge whether the to-be-pushed screen display data held by different decoding devices corresponds to the same frame; The push screen display module is used to determine the local screen display data corresponding to this device based on the screen display data to be pushed, and push the local screen display data to the corresponding splicing screen if it is determined that the screen display data to be pushed held by different decoding devices corresponds to the same frame.
6. A decoding device, characterized in that: include: at least one memory for storing a computer program; At least one processor is used to execute the program stored in the memory. When the program stored in the memory is executed, the processor is used to execute the method according to any one of claims 1 to 4.
7. A computer-readable storage medium storing a computer program, characterized in that: When the computer program runs on a processor, the processor is caused to execute the method according to any one of claims 1 to 4.
8. A cross-screen synchronization system based on distributed computing, characterized in that: include: A plurality of decoding devices and a spliced screen corresponding to each decoding device, wherein the decoding device applies a cross-screen synchronization method based on distributed computing as described in any one of claims 1-4.
9. The cross-screen synchronization system based on distributed computing according to claim 8, characterized in that: Also includes: Information exchange unit; The information exchange unit is used to transmit video data and communication data between different decoding devices; Different decoding devices are communicatively connected via the information interaction unit.
10. The cross-screen synchronization system based on distributed computing according to claim 9, characterized in that: Also includes: Splicing and segmentation management unit; The splicing and segmentation management unit is used to determine decoding configuration information, where the decoding configuration information is used to indicate the position of the partial picture in the target picture and the display position of the partial picture on the splicing screen; The splicing and segmentation management unit is communicatively connected with the decoding device via the information interaction unit.
Citation Information
Patent Citations
Screen splicing display method and device
CN110989959A
Distributed tiled display picture synchronization method and system
CN111263230A
Synchronous splicing display method and device, decoding splicing controller and medium
CN112995531A
Distributed network screen synchronization method, system and equipment for multi-screen display card output
CN112995737A
Method, device and system for recording and replaying full-screen ultrahigh-resolution picture of display wall
CN114302086A
