A cross-screen synchronization method, device, equipment and system based on distributed computing

Through the cross-screen synchronization method of distributed computing, the timestamp and pixel extraction results are used to determine the consistency of the picture data of the decoding device, which solves the display synchronization problem of the spliced ​​screen in the large-screen display system and achieves efficient picture synchronization and low-latency display.

CN119697414BActive Publication Date: 2025-09-26709TH RESEARCH INSTITUTE CHINA STATE SHIPBUILDING CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411678030.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-22
Publication Date
2025-09-26
Estimated Expiration
2044-11-22

AI Technical Summary

Technical Problem

In large-screen display systems, due to network fluctuations and differences in decoding device performance scheduling, the display images of each spliced ​​screen are out of sync, resulting in visible tearing.

Method used

Through a cross-screen synchronization method based on distributed computing, the timestamp and pixel extraction results are used to determine whether the to-be-decoded picture data and the to-be-pushed screen display data of different decoding devices correspond to the same frame, ensuring picture synchronization, and decoding and display data push after determining the same frame.

Benefits of technology

It effectively prevents display screen asynchrony caused by network fluctuations and performance scheduling differences, avoids screen tearing, and reduces screen delay.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119697414B_ABST
    Figure CN119697414B_ABST
Patent Text Reader

Abstract

The present application belongs to the field of cross-screen display technology, and specifically discloses a cross-screen synchronization method, apparatus, device and system based on distributed computing, the method comprising: receiving video data corresponding to a frame of a target picture, the video data comprising picture data to be decoded corresponding to the target picture and a timestamp for marking the picture data to be decoded; judging based on the timestamp whether the picture data to be decoded received by different decoding devices correspond to the same frame; if they correspond to the same frame, decoding the picture data to be decoded of the present 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 they correspond to the same frame, determining the local screen display data corresponding to the present device based on the screen display data to be pushed, and pushing it to the corresponding spliced ​​screen. The present application can achieve synchronization of display screens between different spliced ​​screens through two judgments, avoiding the screen tearing caused by the asynchronous display screens.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of cross-screen display technology, and more specifically, relates to a cross-screen synchronization method, device, equipment and system based on distributed computing. Background Art

[0002] Large-screen display systems typically consist of multiple splicing screens, each equipped with a decoding device that is managed centrally by a splicing and segmentation management unit. However, due to network volatility and differences in decoding device performance, the displays on each splicing screen may become out of sync, resulting in visible tearing. Summary of the Invention

[0003] In view of the defects of the prior art, the purpose of this application is to achieve display synchronization 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, comprising:

[0005] 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;

[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 to-be-decoded picture data received by different decoding devices corresponds to the same frame, the to-be-decoded picture data of the current 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;

[0008] Determine whether the data to be pushed and displayed on the screen 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 splicing screen.

[0010] In one possible implementation, determining, based on the timestamp, whether the to-be-decoded picture data received by different decoding devices corresponds to the same frame includes:

[0011] Comparing the timestamps 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 one possible implementation, determining whether the to-be-pushed screen display data held by different decoding devices corresponds to the same frame includes:

[0014] Comparing 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;

[0015] If the pixel point 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 one 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 local screen display data corresponding to this 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.

[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, configured to receive 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 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;

[0021] A decoding module is configured to decode the to-be-decoded picture data received by different decoding devices to obtain the to-be-decoded screen display data if it is determined that the to-be-decoded picture data received by the current device corresponds to the same frame. The to-be-decoded screen display data is used to represent 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 the 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, the device 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, the method further includes: a splicing and segmentation management unit;

[0031] The splicing and segmentation management unit is used to determine decoding configuration information, which 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 existing technologies:

[0034] (1) By judging whether the to-be-decoded picture data received by different decoding devices corresponds 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 corresponds 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 corresponds 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 corresponds 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 out of sync display pictures.

[0035] (2) After two judgments, the screen can be pushed for display after passing the inspection. There is no need to cache the image to be displayed as a video queue, which can effectively reduce data stacking and reduce image delay. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] Figure 1 This is a flow chart of a cross-screen synchronization method based on distributed computing provided in an embodiment of the present application;

[0037] Figure 2 This 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 This 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 the decoding device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0040] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0041] The terms "first" and "second" in this specification and claims are used to distinguish between different objects, rather than to describe a specific order of objects. For example, "first decoding device" and "second decoding device" are used to distinguish between different decoding devices, rather than to describe a specific order of decoding devices.

[0042] In the embodiments of this 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 this application should not be interpreted as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0043] In the description of the embodiments of the present application, unless otherwise specified, "multiple" means two or more, for example, multiple processing units means two or more processing units, etc.; multiple elements means 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 This is a flow chart of a cross-screen synchronization method based on distributed computing provided by an embodiment of the present application. 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: Receive video data corresponding to a frame of a target picture, where the video data includes 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 moment of) the to-be-decoded picture data.

[0048] Step S102 : judging whether the to-be-decoded picture data received by different decoding devices corresponds to the same frame based on the timestamp.

[0049] Optionally, one of the multiple decoding devices can receive the timestamp corresponding to the picture data to be decoded sent by other decoding devices, compare whether the timestamps between different decoding devices are consistent, and if it is determined that the timestamps of all decoding devices are consistent, send a first judgment result (used to indicate that the picture data to be decoded received by different decoding devices correspond to the same frame). After receiving the first judgment result, the 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 picture data to be decoded received by different decoding devices correspond to the same frame, the picture data to be decoded of the current device is decoded to obtain the data to be pushed to the screen for display. The data to be pushed to the screen for display is used to represent the pixel values ​​corresponding to each pixel point in the target picture.

[0052] Step S104 , determining whether the data to be pushed and displayed held by different decoding devices correspond 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 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, other decoding devices determine that the data to be pushed on the screen held by different decoding devices corresponds to the same frame.

[0054] Optionally, the splicing and segmentation management unit or the information interaction unit in the cross-screen synchronization system based on distributed computing (which will be introduced 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 is sent (used to indicate that the data to be pushed on the screen held by different decoding devices corresponds to the same frame). 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 corresponds to the same frame, 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 image display data is used to represent the pixel value corresponding to each pixel point in the local image.

[0057] By judging whether the to-be-decoded picture data received by different decoding devices corresponds 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 corresponds to the same frame, it is possible to effectively prevent the display pictures of each splicing screen from being out of sync due to network fluctuations. By judging whether the to-be-pushed screen display data held by different decoding devices corresponds 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 corresponds 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 out-of-sync display picture can be avoided.

[0058] In addition, after two judgments, the screen can be pushed for display after passing the inspection. 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 to-be-decoded picture data received by different decoding devices (this device can receive the timestamps of the to-be-decoded picture data 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 one possible implementation, the above-mentioned determination of 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. 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 point 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 to the screen for display can represent the pixel values ​​corresponding to each pixel in the target screen. The pixels in the target screen are generally arranged in order in rows and columns. According to the pixel arrangement order of the target screen, the first n (for example, the first 10, the first 15, or the first 20, etc.) pixels and the last m (for example, the last 10, the last 15, or the last 20, etc.) pixels 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 one 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 local screen display data corresponding to this 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.

[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 to-be-pushed screen display data of the device 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 This is a schematic diagram of the structure of a cross-screen synchronization device based on distributed computing provided by an embodiment of the present application. Figure 2As shown, the device is applied to a decoding device and includes: 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 configured to receive 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;

[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 configured to decode the to-be-decoded picture data received by different decoding devices to obtain the to-be-decoded screen display data if it is determined that the to-be-decoded picture data received by the decoding device corresponds to the same frame. The to-be-decoded screen display data 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 splicing 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 This is a schematic diagram of the structure of the cross-screen synchronization system based on distributed computing provided by the embodiment of the present application. 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 to: receive video data corresponding to a frame of target picture; based on the timestamp, determine whether the picture data to be decoded received by different decoding devices correspond 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, decode the picture data to be decoded of this device to obtain the screen display data to be pushed; determine 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, 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.

[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 of the decoding device, shortens the picture delay of the entire system, and improves the synchronization of the cross-screen spliced ​​picture after two judgments on the displayed 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; and 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 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 to 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 screen) based on the overall size and position distribution of the spliced ​​screen, 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 a command (decoding configuration information).

[0084] Since the cutting, scaling and filling of the spliced ​​image are all completed on the decoding device side, the splicing and 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 and segmentation management unit and saving costs.

[0085] It is understandable that the detailed functional implementation of each of the above 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 and 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 the decoding device provided in the 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 via the communication bus 840. The processor 810 may 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 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 enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute 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 understood that the processor in the embodiments of the present application may be a central processing unit (CPU), or may be 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 well known in the art. An exemplary storage medium is coupled to the 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 can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted via the computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can 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)).

[0094] It will be understood that the various numerical numbers involved in the embodiments of the present application are merely distinctions for the convenience of description and are not intended to limit the scope of the embodiments of the present application.

[0095] It is easy for those skilled in the art to understand that the above 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 should 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: Receive video data corresponding to a frame of a target picture, wherein the video data includes to-be-decoded picture data corresponding to the target picture and a timestamp for marking the to-be-decoded picture data; 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 to-be-decoded picture data received by different decoding devices corresponds to the same frame, the to-be-decoded picture data of the current 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; Determine whether the data to be pushed and displayed on the screen 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 the device is determined based on the screen display data to be pushed, and the local screen display data is pushed to the corresponding splicing screen; The determining whether the to-be-pushed screen display data held by different decoding devices corresponds to the same frame includes: Comparing 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; If the pixel point 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.

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 timestamps 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 any one of claims 1-2, 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 display data of the screen to be pushed, the local screen display data corresponding to this 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.

4. A cross-screen synchronization device based on distributed computing, characterized in that: Applicable to decoding equipment, including: A receiving module, configured to receive 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 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; A decoding module is configured to decode the to-be-decoded picture data received by different decoding devices to obtain the to-be-decoded screen display data if it is determined that the to-be-decoded picture data received by the current device corresponds to the same frame. The to-be-decoded screen display data is used to represent 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 the device based on the to-be-pushed screen display data if it is determined that the to-be-pushed screen display data held by different decoding devices corresponds to the same frame, and push the local screen display data to the corresponding splicing screen; The determining whether the to-be-pushed screen display data held by different decoding devices corresponds to the same frame includes: Comparing 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; If the pixel point 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.

5. 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 3.

6. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed on a processor, the processor is caused to execute the method according to any one of claims 1 to 3.

7. A cross-screen synchronization system based on distributed computing, characterized in that: include: Multiple decoding devices and spliced ​​screens corresponding to each decoding device, wherein the decoding device applies the cross-screen synchronization method based on distributed computing as described in any one of claims 1-3.

8. The cross-screen synchronization system based on distributed computing according to claim 7, characterized in that: Also includes: Information interaction 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.

9. The cross-screen synchronization system based on distributed computing according to claim 8, 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 to the decoding device via the information interaction unit.

Citation Information

Patent Citations

  • Screen splicing display method and device

    CN110989959A

  • Splicing screen synchronous display method, electronic device and splicing screen system

    WO2022156472A1