Display system and method, and storage medium

通过主显示设备广播同步渲染命令,解决了多台显示设备拼接显示视频时的同步性问题,实现了视频帧渲染时间的一致性和播放的高同步性。

CN119676495APending Publication Date: 2025-03-21HISENSE COMML DISPLAY CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202311224734.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-21
Publication Date
2025-03-21

AI Technical Summary

Technical Problem

When displaying videos are spliced ​​and displayed on multiple independent operating systems, the playback synchronization is poor due to the difference in system time and processing speed.

Method used

By broadcasting the synchronous rendering command by the main display device, the display time and rendering time of the first sub-video frame of the target video are included, and the rendering time of the second sub-video frame is recalculated according to these parameters from the display device to adjust the out-of-synchronized video frame.

Benefits of technology

Improve the synchronization of videos when multiple display devices are spliced ​​together to ensure the consistent rendering time of video frames, thereby improving the overall synchronization of playback.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119676495A_ABST
    Figure CN119676495A_ABST
Patent Text Reader

Abstract

The embodiment of the invention belongs to the display technology, and provides a display system and method and a storage medium, the display system comprises at least two display devices, and the at least two display devices comprise a main display device for splicing and displaying a target video and a slave display device. The main display device is configured to broadcast a synchronous rendering command, wherein the synchronous rendering command comprises a first rendering parameter of a first sub-video frame of a target video to be rendered by the main display device. The slave display device is configured to recalculate the rendering time of a second sub-video frame of the to-be-rendered target video according to the first rendering parameter if the synchronous rendering command is monitored, and perform rendering display on the second sub-video frame according to the recalculated rendering time of the second sub-video frame; and if the synchronous rendering command is not monitored, performing rendering display on the second sub-video frame by using the previously calculated rendering time of the second sub-video frame. According to the method and the device, the synchronism when multiple display devices are spliced to display the video can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to display technology, and more specifically, to a display system, method and storage medium. Background Art

[0002] Spliced ​​display requires multiple display devices to display parts of the video to complete the full display of the video. For multiple display devices running independent operating systems, each display device needs to process and display the corresponding partial video to achieve the full display of the video. For example, for a video with a resolution of 4096*2160, it can be evenly divided into 4 1920*1080 partial videos, and the corresponding partial videos can be played synchronously through 4 display devices.

[0003] Currently, when a video is displayed by splicing multiple display devices, there is a problem of poor synchronization of playback due to system time differences between the multiple display devices and differences in processing speeds of each display device. Summary of the invention

[0004] The embodiments of the present application provide a display system, method and storage medium, which can synchronize the playback of videos displayed by multiple display devices.

[0005] In a first aspect, an embodiment of the present application provides a display system, the display system comprising at least two display devices, the at least two display devices comprising: a master display device for splicing and displaying a target video, and a slave display device;

[0006] The main display device is configured as:

[0007] Broadcasting a synchronous rendering command, the synchronous rendering command comprising: first rendering parameters of a first sub-video frame of the target video to be rendered by the main display device, the first rendering parameters comprising: a display time of the first sub-video frame, and a rendering time of the first sub-video frame;

[0008] The slave display device is configured as follows:

[0009] If the synchronous rendering command is monitored, recalculating the rendering time of the second sub-video frame of the target video to be rendered according to the first rendering parameter, and rendering and displaying the second sub-video frame according to the recalculated rendering time of the second sub-video frame;

[0010] If the synchronous rendering command is not detected, the second sub video frame is rendered and displayed using the previously calculated rendering time of the second sub video frame.

[0011] In some embodiments of the present application, recalculating the rendering time of the second sub-video frame to be rendered according to the first rendering parameter includes:

[0012] If the display time of the first sub-video frame is less than or equal to the display time of the second sub-video frame of the video frame, recalculating the rendering time of the second sub-video frame according to the first rendering parameter, the display time of the second sub-video frame, and the network transmission delay between the master display device and the slave display device;

[0013] If the display time of the first sub-video frame is greater than the display time of the second sub-video frame of the video frame, the current time is used as the rendering time of the second sub-video frame.

[0014] In some embodiments of the present application, recalculating the rendering time of the second sub video frame according to the first rendering parameter, the display time of the second sub video frame, and the network transmission delay between the master display device and the slave display device includes:

[0015] Subtracting the display time of the second sub video frame from the display time of the first sub video frame to obtain a time difference;

[0016] Adding the time difference to the rendering time of the first sub-video frame to obtain the time;

[0017] Subtract the time from the network transmission delay to obtain a recalculated rendering time of the second sub-video frame.

[0018] In some embodiments of the present application, before broadcasting the synchronous rendering command, the main display device is configured as follows:

[0019] Receiving a playback task of the target video;

[0020] Based on the playback task, establishing a communication connection with the slave display device;

[0021] Sending a playback control command of the target video to the slave display device through the communication connection, and a network transmission delay between the master display device and the slave display device;

[0022] The slave display device is configured as follows:

[0023] Receiving a playback task of the target video;

[0024] Based on the playback task, establishing a communication connection with the main display device;

[0025] The playing control command of the target video sent by the master display device and the network transmission delay between the master display device and the slave display device are received through the communication connection.

[0026] In some embodiments of the present application, before the playback control command of the target video is sent to the slave display device through the communication connection, and before the network transmission delay between the master display device and the slave display device, the master display device is further configured as follows:

[0027] Sending a response request message to the slave display device at least once through the communication connection, and receiving a response message returned by the slave display device based on the response request message;

[0028] The network transmission delay between the master display device and the slave display device is acquired according to the sending time of each response request message and the receiving time of the corresponding response message.

[0029] In some embodiments of the present application, establishing a communication connection with a slave display device based on the playback task includes:

[0030] Extracting a playback group ID and a master device identifier from the playback task; the playback group ID is used to indicate the playback group to which the display device that displays the target video in splicing belongs;

[0031] If the master device is determined to be the master display device according to the master device identifier, the transmission control protocol server is started, and the connection parameters of the transmission control protocol server and the extracted playback group ID are broadcasted;

[0032] The establishing a communication connection with the main display device based on the playback task includes:

[0033] Extracting a playback group ID and a master device ID from the playback task;

[0034] If it is determined that the main device is not the main display device according to the main device identifier, the connection parameters of the transmission control protocol server that is broadcasted and the playback group ID extracted by the main display device are monitored;

[0035] If the playback group ID extracted from the current playback task of the slave display device is the same as the playback group ID extracted by the master display device, a communication connection is established with the transmission control protocol server of the master display device through the connection parameters.

[0036] In some embodiments of the present application, the main display device is further configured as:

[0037] Obtaining a first audio frame of the target video to be rendered;

[0038] Determining a rendering time of the first audio frame according to a display time of a first sub-video frame of the target video to be rendered and a display time of the first audio frame;

[0039] The first audio frame is rendered using the rendering time of the first audio frame.

[0040] In some embodiments of the present application, the slave display device is further configured as:

[0041] Obtaining a second audio frame of the target video to be rendered;

[0042] Determining a rendering time of the second audio frame according to a display time of a second sub-video frame of the target video to be rendered and a display time of the second audio frame;

[0043] The second audio frame is rendered using the rendering time of the second audio frame.

[0044] In a second aspect, an embodiment of the present application provides a display method, wherein the display system includes at least two display devices, wherein the at least two display devices include: a main display device for splicing and displaying a target video, and a slave display device, wherein the method includes:

[0045] The main display device broadcasts a synchronous rendering command, wherein the synchronous rendering command includes: first rendering parameters of a first sub-video frame of the target video to be rendered by the main display device, wherein the first rendering parameters include: display time of the first sub-video frame, and rendering time of the first sub-video frame;

[0046] If the slave display device monitors the synchronous rendering command, it recalculates the rendering time of the second sub video frame of the target video to be rendered according to the first rendering parameter, and renders and displays the second sub video frame according to the recalculated rendering time of the second sub video frame;

[0047] If the slave display device does not monitor the synchronous rendering command, it uses the previously calculated rendering time of the second sub video frame to render and display the second sub video frame.

[0048] In a third aspect, the present application provides a display device, wherein the display system includes at least two display devices, wherein the at least two display devices include: a main display device for splicing and displaying a target video, and a slave display device, wherein the device is applied to the main display device, and includes:

[0049] The transceiver module 11 is used to broadcast a synchronous rendering command, which includes: a first rendering parameter of a first sub-video frame of the target video to be rendered by the main display device, and the first rendering parameter includes: a display time of the first sub-video frame, and a rendering time of the first sub-video frame.

[0050] In a fourth aspect, the present application provides a display device, wherein the display system includes at least two display devices, wherein the at least two display devices include: a main display device for splicing and displaying a target video, and a slave display device, wherein the device is applied to the slave display device, and includes:

[0051] The processing module 21 is configured to recalculate the rendering time of the second sub-video frame of the target video to be rendered according to the first rendering parameter if the synchronous rendering command is detected, and render and display the second sub-video frame according to the recalculated rendering time of the second sub-video frame. If the synchronous rendering command is not detected, the second sub-video frame is rendered and displayed using the previously calculated rendering time of the second sub-video frame.

[0052] In a fifth aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by a processor, they are used to implement the method described in the second aspect.

[0053] In a sixth aspect, the present application provides a computer program product, including a computer program, which implements the method described in the second aspect when executed by a processor.

[0054] The display system, method and storage medium provided by the present application include at least two display devices, wherein the at least two display devices include: a master display device for splicing and displaying a target video, and a slave display device. The master display device broadcasts a first rendering parameter of a first sub-video frame of the target video, so that the slave display device that monitors the first rendering parameter can recalculate the rendering time of a second sub-video frame of the target video according to the first rendering parameter, adjust the unsynchronized video frames, and thus improve the synchronization when multiple display devices splice and display videos. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] In order to more clearly illustrate the implementation methods in the embodiments of the present application or the related technologies, the following is a brief introduction to the drawings required for use in the embodiments or the related technology descriptions. Obviously, the drawings described below are some embodiments of the present application, and a person skilled in the art can also obtain other drawings based on these drawings.

[0056] Figure 1 A schematic diagram of a scene of splicing and displaying a target video provided in this application;

[0057] Figure 2 A schematic diagram of the structure of a display device provided in this application;

[0058] Figure 3 A schematic diagram of a flow chart of a display method provided in this application;

[0059] Figure 4 A schematic diagram of another display method provided in an embodiment of the present application;

[0060] Figure 5 A flowchart of another display method provided in an embodiment of the present application;

[0061] Figure 6 A flowchart of another display method provided in an embodiment of the present application;

[0062] Figure 7 A flowchart of another display method provided in an embodiment of the present application;

[0063] Figure 8 A flowchart of another display method provided in an embodiment of the present application;

[0064] Fig. 9 A flowchart of another display method provided in an embodiment of the present application;

[0065] Fig.10 A flowchart of another display method provided in an embodiment of the present application;

[0066] Fig.11 A schematic diagram of the structure of a display device provided in this application;

[0067] Fig.12 A schematic diagram of the structure of another display device provided in the present application. DETAILED DESCRIPTION

[0068] In order to make the purpose, implementation mode and advantages of the present application clearer, the exemplary implementation mode of the present application will be clearly and completely described below in conjunction with the drawings in the exemplary embodiments of the present application. Obviously, the described exemplary embodiments are only part of the embodiments of the present application, rather than all the embodiments.

[0069] It should be noted that the brief description of terms in this application is only for the convenience of understanding the embodiments described below, and is not intended to limit the embodiments of this application. Unless otherwise specified, these terms should be understood according to their common and usual meanings.

[0070] In addition, the terms "include" and "have" and any variations thereof are intended to cover but not exclude inclusion, for example, a product or device comprising a list of components is not necessarily limited to those components expressly listed but may include other components not expressly listed or inherent to such products or devices.

[0071] Figure 1 A schematic diagram of a scene of splicing and displaying a target video provided by this application. Figure 1 As shown, the scene includes 4 display devices, and the target video can be displayed by splicing the 4 display devices. In this scene, the target video is divided into partial video 1, partial video 2, partial video 3, and partial video 4. Each display device only displays its corresponding partial video. For example, display device 1 displays partial video 1, display device 2 displays partial video 2, display device 3 displays partial video 3, and display device 4 displays partial video 4.

[0072] Currently, splicing and displaying target videos can be achieved in the following two ways:

[0073] Method 1: A processing device decodes and plays the target video, and transmits the decoded sub-video frames of the target video to each display device through a wired connection to display different areas. The four display devices only serve as displays to display the sub-video frames of the area.

[0074] In this way, the processing device needs to have sufficient performance to decode, render and process the target video. The larger the decoded video, the greater the hardware performance required. In addition, the number of display interfaces of the processing device determines the number of display devices that can be spliced ​​and displayed. The target video cannot be spliced ​​and displayed through display devices with a number exceeding the number of display interfaces, which has a great limitation.

[0075] Method 2: Divide the target video into partial videos of equal size in advance, and use 4 display devices with independent processing capabilities to process the corresponding partial videos and play them synchronously. For example, for a video with a resolution of 4096*2160, it can be evenly divided into 4 partial videos of 1920*1080, and the corresponding partial videos can be played synchronously through 4 display devices.

[0076] In this implementation, one display device needs to be selected from the four display devices as the master display device, and the other three display devices are selected as slave display devices. The device time difference between the device time of each slave display device and the device time of the master display device is determined, and the video playback is synchronized according to the device time difference and the device time of the master display device, or the playback synchronization is achieved by indicating the position of the slave display device and the master display device to synchronize the video playback.

[0077] However, the current method of calculating device time difference has a large error problem, resulting in poor synchronization of target video playback, and the user is prone to out-of-sync images that can be recognized by the naked eye. The decoding speed of each display device is different, and the key frame position of the local video may also be different, resulting in each display device being unable to accurately synchronize to the exact playback position, which also leads to poor synchronization of target video playback.

[0078] In view of this, the present application provides a display system, which broadcasts the first rendering parameters of the first sub-video frame of the target video through a main display device, so that the slave display device that monitors the first rendering parameters can recalculate the rendering time of the second sub-video frame of the target video according to the first rendering parameters, and adjust the asynchronous video frames, thereby improving the synchronization when multiple display devices splice and display videos.

[0079] The display system includes at least two display devices, wherein the at least two display devices include a main display device for splicing and displaying target videos, and a slave display device.

[0080] In a possible implementation, all display devices in the display system obtain a playback task including the target video to be spliced ​​and displayed from a control terminal, which can be, for example, an electronic device such as a server, a computer, or a mobile phone connected to the at least two display devices. The playback task includes a playback group ID to determine which display devices in the display system need to execute the playback task; the playback task also includes a master display device identifier to enable the display devices in the display system belonging to the playback group to determine whether they are the master display devices.

[0081] In another possible implementation, only the predetermined main display devices in the display system obtain the playback task of the target video to be spliced ​​and displayed from the control end. After the main display device obtains the target video, it divides the target video into multiple local videos and sends the local videos to multiple slave display devices to realize the function of splicing and displaying the target video by the main display device and the slave display device.

[0082] In another possible implementation, a predetermined main display device in the display system responds to a user operation, such as a control instruction issued by a remote control, a mobile phone, etc., extracts a target video to be spliced ​​and displayed from a storage space of the main display device, and the main display device divides the target video into multiple local videos, and sends the local videos to multiple slave display devices, so as to realize the function of splicing and displaying the target video by the main display device and the slave display device.

[0083] The display device provided in the embodiments of the present application may have various implementation forms, for example, it may be a television, a smart television, a laser projection device, a monitor, an electronic bulletin board, an electronic table, etc.

[0084] Figure 2 A schematic diagram of the structure of a display device provided in this application, such as Figure 2 As shown, the display device 200 includes at least one of a tuner and demodulator 210, a communicator 220, a detector 230, an external device interface 240, a controller 250, a display 260, an audio output interface 270, a memory, a power supply, and a user interface.

[0085] In some embodiments, the controller includes a processor, a video processor, an audio processor, a graphics processor, a RAM, a ROM, and a first interface to an nth interface for input / output.

[0086] The display 260 includes a display screen component for presenting images, and a driving component for driving the video frame display, which is used to receive the video frame signal output from the controller, and display the video content, video frame content and menu control interface components and user control UI interface.

[0087] The display 260 may be a liquid crystal display, an OLED display, or a projection display, and may also be a projection device and a projection screen.

[0088] The communicator 220 is a component for communicating with an external device or server according to various communication protocol types. For example, the communicator may include at least one of a Wifi module, a Bluetooth module, a wired Ethernet module, and other network communication protocol chips or near field communication protocol chips, and an infrared receiver. The display device 200 can establish transmission and reception of control signals and data signals with the external control device 100 or the server 400 through the communicator 220.

[0089] The user interface can be used to receive control signals from the control device 100 (such as an infrared remote controller, etc.).

[0090] The detector 230 is used to collect signals from the external environment or the external interaction. For example, the detector 230 includes a light receiver, a sensor for collecting the intensity of the ambient light; or, the detector 230 includes a video frame collector, such as a camera, which can be used to collect the external environment scene, the user's attributes or the user's interactive gestures; or, the detector 230 includes a sound collector, such as a microphone, etc., for receiving external sounds.

[0091] The external device interface 240 may include, but is not limited to, any one or more of the following: a high-definition multimedia interface (HDMI), an analog or digital high-definition component input interface (component), a composite video input interface (CVBS), a USB input interface (USB), an RGB port, etc. It may also be a composite input / output interface formed by the above multiple interfaces.

[0092] The tuner-demodulator 210 receives broadcast television signals via wired or wireless reception, and demodulates audio and video signals, such as EPG data signals, from a plurality of wireless or wired broadcast television signals.

[0093] In some embodiments, the controller 250 and the tuner-demodulator 210 may be located in different separate devices, that is, the tuner-demodulator 210 may also be located in an external device of the main device where the controller 250 is located, such as an external set-top box.

[0094] The controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in the memory. The controller 250 controls the overall operation of the display device 200. For example, in response to receiving a user command for selecting a UI object to be displayed on the display 260, the controller 250 can perform operations related to the object selected by the user command.

[0095] In some embodiments, the controller includes a central processing unit (CPU), a video processor, an audio processor, a graphics processing unit (GPU), RAM Random Access Memory (RAM), ROM (Read-Only Memory, ROM), a first interface to an nth interface for input / output, a communication bus (Bus), etc.

[0096] The user may input a user command through a graphical user interface (GUI) displayed on the display 260, and the user input interface receives the user input command through the graphical user interface (GUI). Alternatively, the user may input a user command through a specific sound or gesture, and the user input interface recognizes the sound or gesture through a sensor to receive the user input command.

[0097] "User interface" is the medium interface for interaction and information exchange between applications or operating systems and users. It realizes the conversion between the internal form of information and the form acceptable to users. The commonly used form of user interface is the Graphical User Interface (GUI), which refers to the user interface related to computer operation displayed in a graphical way. It can be an interface element such as an icon, window, control, etc. displayed on the display screen of an electronic device, where the control can include icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, widgets, etc.

[0098] The following takes the master display device and the slave display device as the execution subject as an example, and describes the technical solution of the present application in detail in combination with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The display system includes at least 2 display devices, and the at least 2 display devices include: a master display device for splicing and displaying the target video, and a slave display device.

[0099] Figure 3 This is a flow chart of a display method provided by this application. Figure 3 As shown, the method comprises the following steps:

[0100] S301: The main display device broadcasts a synchronous rendering command.

[0101] The synchronous rendering command includes a first rendering parameter of a first sub-video frame of a target video to be rendered by a main display device. The first rendering parameter includes: a display time of the first sub-video frame, and a rendering time of the first sub-video frame. The main display device reads the first sub-video of the target video and decodes the first sub-video to obtain the first sub-video frame to be rendered.

[0102] The first sub-video is a partial video that needs to be displayed when the main display device splices and displays the target video. The first sub-video frame is a video frame of the partial video of the target video that the main display device needs to play. The first sub-video frame and the corresponding video frame displayed by the slave display device can be spliced ​​into a complete video frame of the target video. The display time of the first sub-video frame can be the display timestamp of the video frame, indicating the time when the first sub-video frame is displayed. For example, it can be displayed 3 seconds after the target video starts playing. The rendering time of the first sub-video frame is the time when the main display device renders the first sub-video frame. The rendering time of the first sub-video frame is earlier than the display time of the first sub-video frame.

[0103] The display time of the first sub-video frame is determined by the display timestamp in the target video, and the rendering time of the first sub-video frame can be calculated by the display time of the first sub-video frame, the current device time of the main display device, and the time when the main display device starts decoding the target video. Exemplarily, the rendering time of the first sub-video frame can be calculated by the following formula (1):

[0104] TTS=PTS-ts (1)

[0105] The rendering time of the first sub-video frame is TTS, the display time of the first sub-video frame is PTS, and ts is the current device time of the main display device minus the time when the main display device starts decoding the target video.

[0106] The master display device sends the synchronous rendering command to the slave display device connected to the master display device by broadcasting. The broadcasting may be implemented by, for example, a User Datagram Protocol (UDP).

[0107] In a possible implementation, the synchronous rendering command also includes a playback group ID, and the playback group ID is used to indicate the slave display devices included in the playback group that plays the target video. The slave display device can determine whether it is a command to control itself to perform synchronous rendering based on the playback group to which it belongs and the synchronous rendering command it listens to. For example, the display system includes 1 master display device and 10 slave display devices, but for the target video, only 1 master display device and 3 slave display devices are required for splicing display. In this case, the master display device will broadcast the synchronous rendering command to an address that can be received by the 10 slave display devices. The 10 slave display devices will determine whether it is a synchronous rendering command for the playback group to which they belong based on the playback group to which they belong and the playback group ID included in the synchronous rendering command, so that the 3 slave display devices belonging to the playback group obtain the synchronous rendering command.

[0108] S302: If a synchronous rendering command is monitored from the display device, a rendering time of a second sub video frame of the target video to be rendered is recalculated according to the first rendering parameter, and the second sub video frame is rendered and displayed according to the recalculated rendering time of the second sub video frame.

[0109] The slave display device reads the second sub-video of the target video and decodes the second sub-video to obtain a second sub-video frame to be rendered. The video frame corresponding to the second sub-video frame in the target video is different from the video frame corresponding to the first sub-video frame in the target video. The slave display device can obtain the rendering time of the second sub-video frame according to the method in which the master display device obtains the first rendering parameter of the first sub-video frame of the target video.

[0110] However, due to the difference between the devices of the slave display device and the master display device, and / or the difference in decoding speed, the rendering time of the second sub-video frame directly calculated by the slave display device may be different from the rendering time of the corresponding video frame of the master display device, which may lead to the problem of rendering and playback being out of sync. Therefore, at this time, the slave display device may recalculate the rendering time of the second sub-video frame according to the display time of the first sub-video frame in the monitored synchronous rendering command and the rendering time of the first sub-video frame.

[0111] If the display time of the first sub-video frame is greater than the playback time of the second sub-video frame, it indicates that the speed of rendering the second sub-video frame from the display device is slow and the second sub-video frame needs to be rendered immediately; if the display time of the first sub-video frame is less than or equal to the playback time of the second sub-video frame, it indicates that the speed of rendering the second sub-video frame from the display device is fast and the rendering of the second sub-video frame needs to be delayed to be consistent with the rendering speed of the main display device.

[0112] In a possible implementation, if the display time of the first sub-video frame is less than or equal to the display time of the second sub-video frame of the video frame, the rendering time of the second sub-video frame is recalculated according to the first rendering parameter and the display time of the second sub-video frame. If the display time of the first sub-video frame is greater than the display time of the second sub-video frame of the video frame, the current time is used as the rendering time of the second sub-video frame.

[0113] Another possible implementation is that if the display time of the first sub-video frame is less than or equal to the display time of the second sub-video frame of the video frame, the rendering time of the second sub-video frame is recalculated according to the first rendering parameter, the display time of the second sub-video frame, and the network transmission delay between the master display device and the slave display device. If the display time of the first sub-video frame is greater than the display time of the second sub-video frame of the video frame, the current time is used as the rendering time of the second sub-video frame.

[0114] If the slave display device does not receive a synchronous rendering command, the second sub-video frame is rendered and displayed using the previously calculated rendering time of the second sub-video frame. If the synchronous rendering command is not received, it indicates that there is no problem of asynchronous playback of the target video. The slave display device obtains the rendering time of the second sub-video frame according to the method in which the master display device obtains the first rendering parameter of the first sub-video frame of the target video, and renders and displays the second sub-video frame according to the rendering time of the second sub-video frame.

[0115] The method provided in the embodiment of the present application obtains the first rendering parameter of the first sub-video frame of the target video through the main display device, and broadcasts the synchronization rendering command including the first rendering parameter to the corresponding slave display devices, so that these slave display devices can adjust the rendering time of the second sub-video frame of the target video to be rendered according to the first rendering parameter, so that the rendering time of the main display device and the slave display device is synchronized, thereby improving the synchronization of the main display device and the slave display device in playing the target video.

[0116] In one possible implementation, if the display time of the first sub-video frame is less than or equal to the display time of the second sub-video frame of the video frame, the rendering time of the second sub-video frame is recalculated according to the first rendering parameter, the display time of the second sub-video frame, and the network transmission delay between the main display device and the slave display device. This describes how to implement the above step S303.

[0117] In this implementation, the display device extracts the display time of the first sub-video frame and the rendering time of the first sub-video frame from the first rendering parameters, and obtains the display timestamp of the second sub-video frame to determine the display time of the second sub-video frame.

[0118] For example, the method of recalculating the rendering time of the second sub-video frame can be implemented by the following formula (2):

[0119] TTS s =PTS s -PTS m +TTS m -D (2)

[0120] Among them, TTS s The rendering time of the second sub-video frame from the display device, PTS s PTS is the display time of the second sub video frame from the display device. m The display time of the first sub-video frame of the main display device, TTS m is the rendering time of the first sub video frame of the main display device, and D is the network transmission delay between the main display device and the slave display device.

[0121] By subtracting the display time of the second sub video frame from the display time of the first sub video frame to obtain a time difference, the degree of asynchronism between the slave display device and the master display device in displaying the video frame is determined. The greater the time difference, the worse the display synchronization. After determining the time difference, the error in the rendering time of the second sub video frame caused by the difference in display time can be eliminated according to the time difference.

[0122] By adding the time difference to the rendering time of the first sub-video frame, the time and further consider the duration of the rendering time of the first sub-video frame, while eliminating the error caused by the difference in display time, the duration of the rendering time of the first sub-video frame is further considered. In the absence of network delay, this time and is the error of the asynchronous rendering of the first sub-video frame and the second sub-video frame.

[0123] Since there is usually a network transmission delay when the network connection between the main display device and the slave display device transmits data, when the slave display device receives the first rendering parameter, its reception time and the sending time of the main display device will be affected by the network transmission delay, and there will be a certain time difference. The time difference caused by the delay will also make the recalculated rendering time of the second sub-video frame inaccurate. Therefore, the network transmission delay must be subtracted to further improve the accuracy of the recalculated rendering time of the second sub-video frame, thereby improving the synchronization of the spliced ​​playback video.

[0124] The above implementation is only an example and is not intended to be limiting. Any method of recalculating the rendering time of the second sub-video frame by using the first rendering parameter, the display time of the second sub-video frame, and the network transmission delay between the master display device and the slave display device is acceptable. For example, an adjustment coefficient may be added to the above formula (2) according to actual needs. The adjustment coefficient may be, for example, a newly added constant term or a coefficient term of any time, so as to adjust the above formula (2) and further improve its matching degree with actual needs.

[0125] Next, the communication connection between the aforementioned master display device and the slave display device is described in detail. Figure 4 A flow chart of another display method provided in an embodiment of the present application. Figure 4 As shown, before the main display device broadcasts the synchronous rendering command, the method may further include:

[0126] S401: A main display device receives a target video playback task.

[0127] Correspondingly, a playback task of the target video is received from the display device.

[0128] The target video playback task may be obtained from a server connected to the display system. The server may be, for example, a cloud server that provides display device management and control to the user. The user may control the display device in the display system by sending a control request to the cloud server. For example, the user may upload the target video to the server through a web page, an application, etc., and select the display device that needs to display the target video through the user interface of the web page or application. The server divides the target video according to the number of display devices that display the target video.

[0129] The playback task includes the file path and playback time of the target video, and the server sends the playback task to all display devices in the display system so that the main display device and the slave display device receive the playback task of the target video.

[0130] In a possible implementation, the master display device is preset, and the display devices other than the master display device in the display system are slave display devices. The master display device and the slave display device download the target video from the server to perform the playback task.

[0131] In another possible implementation, all display devices in the display system can be master display devices or slave display devices, and the playback task also includes a master display device identifier indicating the master display device, which is used to indicate that at least one display device is a master display device.

[0132] S402: The master display device establishes a communication connection with the slave display device based on the playback task.

[0133] The communication connection may be, for example, a wireless LAN connection (WI-FI), a Bluetooth connection, a TCP connection, etc. Taking the TCP connection as an example, the master display device starts the TCP server based on the playback task, and sends the Internet Protocol (IP) address, port number, etc. of the TCP server to the slave display device, thereby establishing a TCP connection. By establishing a TCP long connection, the reliability of the connection between the master display device and the slave display device can be ensured, the possibility of data packets being lost or damaged during transmission can be reduced, and the first rendering parameters of the master display device can be reliably transmitted to the slave display device, thereby improving the synchronization of the playback target video.

[0134] Optionally, the master display device can obtain the identifier of the corresponding slave display device from the playback task, and based on the identifier of the slave display device, send the IP address, port number and other information of the TCP server to the specified slave display device to establish a TCP connection between the master display device and the slave display device.

[0135] Optionally, the master display device can obtain the playback group ID from the playback task, and broadcast the IP address, port number, and playback group ID to all other display devices in the display system. The slave display device determines whether to establish a TCP connection with the master display device based on the playback group ID. If necessary, it connects to the TCP server based on the IP address and port number, thereby establishing a TCP connection between the master display device and the slave display device.

[0136] S403: The master display device sends a playback control command of the target video to the slave display device through a communication connection, as well as a network transmission delay between the master display device and the slave display device.

[0137] Correspondingly, the slave display device receives the play control command of the target video sent by the master display device, as well as the network transmission delay between the master display device and the slave display device.

[0138] The target video playback control command may include commands such as prepare, play, pause, and stop, which are used to control the slave display device to display the target video. The prepare command may enable the slave display device to prepare the audio and video separator and decoder to prepare for decoding the target video; the play command may enable the slave display device to separate the video and audio data packets from the target video file and perform decoding and rendering operations; the pause command may enable the slave display device to pause the decoding and rendering operations; and the stop command may enable the slave display device to stop playing the target video and release the audio and video separator and decoder.

[0139] The network transmission delay between the master display device and the slave display device is used to characterize the transmission delay when the master display device and the slave display device transmit messages through the communication connection. The network transmission delay can be obtained by responding to a request message, or by sending a network packet from the slave display device to the master display device and performing statistics.

[0140] In a possible implementation, taking obtaining the network transmission delay between the master display device and the slave display device by responding to a request message as an example, Figure 5 A flow chart of another display method provided in an embodiment of the present application. Figure 5 As shown, before sending the playback control command of the target video to the slave display device through the communication connection, and before the network transmission delay between the master display device and the slave display device, the method may also include:

[0141] S501. The master display device sends a response request message to the slave display device at least once through a communication connection, and receives a response message returned by the slave display device based on the response request message.

[0142] Correspondingly, after receiving the response request message, the slave display device returns a response message of the response request message to the master display device.

[0143] Among them, the response request message can be an Internet Control Message Protocol (ICMP) response request message. The main display device sends an ICMP request response message to the slave display device through the communication connection between the main display device and the slave display device. After receiving the response request message, the slave display device returns a response message of the response request message to the main display device.

[0144] S502: The master display device obtains the network transmission delay between the master display device and the slave display device according to the sending time of each response request message and the receiving time of the corresponding response message.

[0145] The master display device sends an ICMP request response message to the slave display device through the communication connection between the master display device and the slave display device, and records the sending time based on the device time of the master display device. After receiving the response message returned by the slave display device based on the response request message, the receiving time is recorded based on the device time of the master display device. The network transmission delay is obtained by performing the above steps at least once.

[0146] For example, the message interaction may be repeated 5 to 10 times according to a preset time interval to avoid the problem of obvious fluctuations in the time consumption of transmitting commands due to short-term network fluctuations.

[0147] Exemplarily, the calculation method for obtaining the network transmission delay between the master display device and the slave display device according to the sending time of each response request message and the receiving time of the corresponding response message can be shown as the following formula (3):

[0148]

[0149] Where D is the network transmission delay between the master display device and the slave display device, n is the number of message interactions, i is the identifier of the slave display device, and t i2 is the reception time of the response message, t i1 The time when the response message is sent.

[0150] The solution provided in the embodiment of the present application is to send a response request message from a master display device to a slave display device, and to record the sending time of the response request message and the receiving time of the corresponding response message based on the device time of the master display device, so as to calculate and obtain the network transmission delay. This avoids the problem that the slave display device sends a network packet for testing the network transmission delay to the master display device, causing the master display device to simultaneously receive a large number of network packets sent by the slave display device, resulting in low accuracy of the obtained network transmission delay. This improves the accuracy of calculating the network transmission delay, thereby further improving the synchronization of the display system in splicing and playing the target video.

[0151] Taking the example that all display devices in the display system can be the main display device or the slave display device, and the playback task also includes a main display device identifier indicating the main display device, which is used to indicate that at least one display device is the main display device, how to establish a communication connection with the slave display device based on the playback task is introduced in detail.

[0152] Figure 6 A flow chart of another display method provided in an embodiment of the present application. Figure 6 As shown, the method may include:

[0153] S601: The display device extracts a playback group ID and a master device identifier from a playback task.

[0154] The play group ID is used to identify the play group to which the display device for splicing and displaying the target video belongs; the master device identifier is used to identify the master display device in the display device for splicing and displaying the target video, and may be, for example, a device name, a device unique code, etc. The display device is any display device in the display system, and the display device extracts the play group ID corresponding to the play task and the master device identifier from the received play task.

[0155] S602: If the display device determines that it is the main display device according to the main device identifier, the display device starts the transmission control protocol server and broadcasts the connection parameters of the transmission control protocol server and the extracted playback group ID.

[0156] The display device compares the master device identifier with the identifier of the display device. If they are consistent, the display device is determined to be a master display device. If they are inconsistent, the display device is determined to be a slave display device.

[0157] The main display device starts the TCP server and broadcasts the connection parameters of the TCP server, such as the aforementioned IP address, port number and other connection parameters of the TCP server, and the playback group ID to all other display devices in the display system.

[0158] Optionally, the broadcast method can be carried out via UDP to improve the speed and flexibility of the broadcast, so that the slave display device can better and quickly monitor the connection parameters of the TCP server and the playback group ID extracted by the master display device. In addition, the number of slave display devices is not limited by the number of physical connection interfaces of the master display device, and different numbers of slave display devices can be more flexibly configured for the master display device.

[0159] S603: If it is determined that the main device itself is not the main display device according to the main device identifier, the display device monitors the connection parameters of the broadcast transmission control protocol server and the playback group ID extracted by the main display device.

[0160] If it is determined based on the master device identifier that it is not the master display device, then the display device is characterized as a slave display device, which monitors the connection parameters of the broadcast TCP server and the playback group ID extracted by the master display device, and waits for the TCP server corresponding to the playback group ID extracted by the master display device that is the same as the playback group ID extracted by the slave display device to connect.

[0161] S604: If the playback group ID extracted from the current playback task of the display device is the same as the playback group ID extracted from the main display device, a communication connection is established with the transmission control protocol server of the main display device through connection parameters.

[0162] If the playback group ID extracted from the current playback task of the slave display device is the same as the playback group ID extracted from the master display device, it indicates that the slave display device belongs to the playback group of the master display device, and the master display device and the slave display device need to splice and display the target video of the playback task. Therefore, the slave display device establishes a communication connection with the TCP server of the master display device through the received connection parameters to transmit information such as synchronous rendering commands, playback control commands, and network transmission delay.

[0163] The method provided in the embodiment of the present application obtains the playback group ID and the master device identifier from the playback task, determines the master display device and the slave display device from the display system, and establishes a TCP connection between the master display device and the slave display device through UDP broadcasting based on the playback group ID, thereby providing a more stable and efficient communication connection for the information exchange required for playback synchronization between the master display device and the slave display device.

[0164] In addition, the above embodiment only describes how to synchronize the video frames of the master display device and the slave display device. In the preparation stage of displaying the target video on the display device, an audio and video separator is usually used to separate the audio and video, and then the audio and video are decoded and rendered respectively. Therefore, the embodiment of the present application can also improve the synchronization of the video and audio of the display device rendering the target video through the following steps.

[0165] Take the main display device as an example. Figure 7 A flowchart of another display method provided in an embodiment of the present application is shown below. Figure 7 As shown, the method may also include:

[0166] S701: Obtain the first audio frame of the target video to be rendered.

[0167] The main display device separates the audio of the target video to be rendered through an audio and video separator, and decodes the audio to be rendered from the audio through a decoder.

[0168] S702: Determine a rendering time of the first audio frame according to a display time of a first sub-video frame of a target video to be rendered and a display time of a first audio frame.

[0169] The display time of the first audio frame can be obtained according to the display timestamp of the audio frame.

[0170] In a possible implementation, the rendering time of the first audio frame is determined according to a preset time difference threshold interval, the display time of the first sub-video frame, and the display time of the first audio frame.

[0171] If the difference between the display time of the first audio frame and the display time of the first sub-video frame is greater than the upper limit of the preset time difference threshold interval, the display time of the first audio frame is subtracted from the display time of the first sub-video frame, and then the upper limit of the preset time difference threshold interval is subtracted to obtain the rendering time of the first audio frame.

[0172] If the difference between the display time of the first audio frame and the display time of the first sub-video frame is smaller than the lower limit of the preset time difference threshold interval, the first audio frame is discarded and not rendered.

[0173] If the difference between the display time of the first audio frame and the display time of the first sub-video frame is within the preset time difference threshold interval, then according to the aforementioned formula (1), the rendering time of the first audio frame is calculated by subtracting the time when the display device starts decoding the target video from the display time of the first audio frame and the current device time of the display device.

[0174] Exemplarily, taking the upper limit of the preset time difference threshold interval as 25ms and the lower limit as -100ms as an example, the calculation method of the rendering time of the first audio frame can be shown in the following formula (4):

[0175]

[0176] Among them, PTS a The display time of the first audio frame, PTS v is the display time of the first sub-video frame, TTSa The rendering time of the first audio frame.

[0177] Another possible implementation method is to determine the rendering time of the first audio frame according to the relationship between the display time of the first sub-video frame and the display time of the first audio frame. If the display time of the first audio frame is greater than or equal to the display time of the first sub-video frame, then according to the aforementioned formula (1), the rendering time of the first audio frame is calculated by subtracting the time when the display device starts decoding the target video from the display time of the first audio frame and the current device time of the display device. If the display time of the first audio frame is less than the display time of the first sub-video frame, the first audio frame is discarded and not rendered.

[0178] S703: Render the first audio frame using the rendering time of the first audio frame.

[0179] It should be understood that the method for determining the rendering time of the second audio frame of the target video to be rendered from the display device can also be performed by the above method. Figure 7 The method implementation shown is not repeated here.

[0180] In the above implementation, optionally, in the display system, only the main display device can play the audio, or all the display devices can play the audio, or at least one of the display devices can play the audio, etc. The display device that plays the audio can execute the above audio and video synchronization method, or, when multiple display devices play the audio, the main display device executes the above audio and video synchronization method, and then synchronizes the parameters of the synchronized audio to the slave display device, so that the synchronization of the audio playback of the main display device and the slave display device is further improved.

[0181] The above technical solution is exemplarily described below by taking an example in which a user controls the display system through a personal electronic device and sends a target video to the display system through a cloud server. Figure 8 A flow chart of another display method provided in an embodiment of the present application. Figure 8 As shown, the method includes:

[0182] S801. The user's personal electronic device uploads the target video to the cloud server.

[0183] Correspondingly, the cloud server receives the target video. The target video may be uploaded by an application controlling a display system on a user's personal electronic device, or uploaded by a web page, etc.

[0184] S802: The user's personal electronic device sends a list of display devices for splicing and playing the target video to the cloud server.

[0185] S803: The cloud server determines the number of display devices that play the target video based on the list of display devices that splice and play the target video, and divides the target video into multiple sub-videos according to the number.

[0186] S804. The cloud server determines a playback task based on the multiple sub-videos and a list of display devices for splicing and playing the target video.

[0187] Among them, the cloud server can generate a playback group ID based on the multiple sub-videos and the display device list for splicing and playing the target video, the playback group includes the display devices in the display device list, and generates the file path of the sub-video according to the storage location of the multiple sub-videos. Determine the playback time of the target video according to the playback control instruction sent by the user's personal electronic device. The cloud server can use any display device in the display device list as the main display device, or can determine the main display device according to the instruction sent by the user's personal electronic device and generate the identification of the main display device. Generate a playback task based on the playback group ID, the file path of the sub-video, the playback time, and the main display device identification.

[0188] After the cloud server determines the playback task, it also needs to send the playback task to the display system to determine the master display device and the slave display device. Fig. 9 A flowchart of another display method provided in an embodiment of the present application is shown below. Fig. 9 As shown, the method may include:

[0189] S805: The cloud server sends a playback task to a display device included in the display system.

[0190] Correspondingly, the display device included in the display system receives the playback task.

[0191] S806: If the identifier of the display device is the same as the identifier of the main display device in the playback task, start the TCP server and broadcast the connection parameters of the TCP server and the playback group ID to other display devices.

[0192] S807: If the identifier of the display device is different from the identifier of the main display device in the playback task, start UDP broadcast monitoring.

[0193] S808. If the playback group ID monitored by the other display device is the same as the playback group ID in the playback task received by the other display device, then it is a slave display device, and it connects to the TCP server through the connection parameters of the TCP server to establish a TCP connection with the master display device.

[0194] After the master display device and the slave display device are determined and a communication connection is established between the two, the target video is further processed for synchronously playing the two. Fig.10 A flowchart of another display method provided in an embodiment of the present application is shown below. Fig.10 As shown, the method may include:

[0195] S809: The master display device sends a response request message to the slave display device.

[0196] Correspondingly, the response request message is received from the display device.

[0197] S810. The slave display device returns a response message to the master display device based on the response request message.

[0198] Correspondingly, the main display device receives the response message.

[0199] S811. The master display device determines a network transmission delay between the master display device and the slave display device according to a sending time of the response request message and a receiving time of the response message.

[0200] S812: The master display device sends a playback control command of the target video to the slave display device, as well as a network transmission delay between the master display device and the slave display device.

[0201] Correspondingly, the slave display device receives the playback control command of the target video, as well as the network transmission delay between the master display device and the slave display device.

[0202] S813. The main display device generates a synchronous rendering command according to the display time of the first sub video frame and the rendering time of the first sub video frame, and renders and displays the first sub video frame according to the rendering time of the first sub video frame.

[0203] The rendering time of the first sub-video frame can be calculated according to the aforementioned formula (1), which will not be described in detail here.

[0204] S814: The main display device broadcasts a synchronous rendering command.

[0205] S815. If a synchronous rendering command is monitored from the display device, a rendering time of a second sub video frame of the target video to be rendered is recalculated according to the first rendering parameter, and the second sub video frame is rendered and displayed according to the recalculated rendering time of the second sub video frame.

[0206] If the display device does not monitor the synchronous rendering command, the second sub video frame is rendered and displayed using the previously calculated rendering time of the second sub video frame.

[0207] Fig.11 This is a schematic diagram of the structure of a display device provided in this application. The display device is applied to a main display device, such as Fig.11As shown, the device includes: a transceiver module 11. In a possible implementation, it also includes: a processing module 12.

[0208] The transceiver module 11 is used to broadcast a synchronous rendering command, which includes: a first rendering parameter of a first sub-video frame of the target video to be rendered by the main display device, and the first rendering parameter includes: a display time of the first sub-video frame, and a rendering time of the first sub-video frame.

[0209] In some embodiments, the transceiver module 11 is further used to receive a playback task of the target video before broadcasting the synchronous rendering command. The processing module 12 is used to establish a communication connection with the slave display device based on the playback task. The transceiver module 11 is also used to send a playback control command of the target video to the slave display device through the communication connection, as well as a network transmission delay between the master display device and the slave display device.

[0210] In some embodiments, the transceiver module 11 is further used to send a response request message to the slave display device at least once through the communication connection, and receive a response message returned by the slave display device based on the response request message, before sending the playback control command of the target video to the slave display device and the network transmission delay between the master display device and the slave display device. The processing module 12 is further used to obtain the network transmission delay between the master display device and the slave display device according to the sending time of each response request message and the corresponding receiving time of the response message.

[0211] In some embodiments, the processing module 12 is specifically used to extract the playback group ID and the main device identification from the playback task. If it is determined that the main display device is the main display device according to the main device identification, the transmission control protocol server is started, and the connection parameters of the transmission control protocol server and the extracted playback group ID are broadcast. The playback group ID is used to indicate the playback group to which the display device that splices and displays the target video belongs.

[0212] In some embodiments, the processing module 12 is further used to obtain the first audio frame of the target video to be rendered, determine the rendering time of the first audio frame according to the display time of the first sub-video frame of the target video to be rendered and the display time of the first audio frame, and render the first audio frame using the rendering time of the first audio frame.

[0213] The display device provided in the embodiment of the present application can execute the display method in the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here. Fig.11 The division of the modules shown is only a schematic diagram, and the present application does not limit the division of the modules and the naming of the modules.

[0214] Fig.12 This is a schematic diagram of the structure of another display device provided by the present application. The display device is applied to a display device such as Fig.12 As shown, the device includes: a processing module 21. In a possible implementation, it also includes: a transceiver module 22.

[0215] The processing module 21 is configured to recalculate the rendering time of the second sub-video frame of the target video to be rendered according to the first rendering parameter if the synchronous rendering command is detected, and render and display the second sub-video frame according to the recalculated rendering time of the second sub-video frame. If the synchronous rendering command is not detected, the second sub-video frame is rendered and displayed using the previously calculated rendering time of the second sub-video frame.

[0216] In some embodiments, the processing module 21 is specifically configured to recalculate the rendering time of the second sub-video frame according to the first rendering parameter, the display time of the second sub-video frame, and the network transmission delay between the master display device and the slave display device if the display time of the first sub-video frame is less than or equal to the display time of the second sub-video frame of the video frame. If the display time of the first sub-video frame is greater than the display time of the second sub-video frame of the video frame, use the current time as the rendering time of the second sub-video frame.

[0217] In some embodiments, the processing module 21 is specifically configured to subtract the display time of the second sub-video frame from the display time of the first sub-video frame to obtain a time difference, add the time difference to the rendering time of the first sub-video frame to obtain a time, and subtract the time from the network transmission delay to obtain a recalculated rendering time of the second sub-video frame.

[0218] In some embodiments, the transceiver module 22 is used to receive the playback task of the target video. The processing module 21 is specifically used to establish a communication connection with the master display device based on the playback task. The transceiver module 22 is specifically used to receive the playback control command of the target video sent by the master display device through the communication connection, as well as the network transmission delay between the master display device and the slave display device.

[0219] In some embodiments, the processing module 21 is specifically used to extract the playback group ID and the master device identification from the playback task. If it is determined that the slave display device is not the master display device according to the master device identification, the connection parameters of the transmission control protocol server broadcasted and the playback group ID extracted by the master display device are monitored. If the playback group ID extracted from the current playback task of the slave display device is the same as the playback group ID extracted by the master display device, a communication connection is established with the transmission control protocol server of the master display device through the connection parameters.

[0220] In some embodiments, the processing module 21 is specifically configured to obtain the second audio frame of the target video to be rendered, determine the rendering time of the second audio frame according to the display time of the second sub-video frame of the target video to be rendered and the display time of the second audio frame, and render the second audio frame using the rendering time of the second audio frame.

[0221] The display device provided in the embodiment of the present application can execute the display method in the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here. Fig.12 The division of the modules shown is only a schematic diagram, and the present application does not limit the division of the modules and the naming of the modules.

[0222] The present application also provides a computer-readable storage medium, which may include: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, and other media that can store program codes. Specifically, the computer-readable storage medium stores program instructions, and the program instructions are used for the methods in the above embodiments.

[0223] The present application also provides a program product, which includes an execution instruction, which is stored in a readable storage medium. At least one control module of the display device can read the execution instruction from the readable storage medium, and at least one control module executes the execution instruction so that the display device implements the display method provided by the various embodiments described above.

[0224] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

[0225] For the convenience of explanation, the above description has been made in conjunction with specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or limit the embodiments to the specific forms disclosed above. Based on the above teachings, various modifications and variations can be obtained. The selection and description of the above embodiments are to better explain the principles and practical applications, so that those skilled in the art can better use the embodiments and various different variations of the embodiments suitable for specific use considerations.

Claims

1. A display system, characterized in that: The display system includes at least two display devices, wherein the at least two display devices include: a main display device for splicing and displaying a target video, and a slave display device; The main display device is configured as: Broadcasting a synchronous rendering command, the synchronous rendering command comprising: first rendering parameters of a first sub-video frame of the target video to be rendered by the main display device, the first rendering parameters comprising: a display time of the first sub-video frame, and a rendering time of the first sub-video frame; The slave display device is configured as follows: If the synchronous rendering command is monitored, recalculating the rendering time of the second sub-video frame of the target video to be rendered according to the first rendering parameter, and rendering and displaying the second sub-video frame according to the recalculated rendering time of the second sub-video frame; If the synchronous rendering command is not detected, the second sub video frame is rendered and displayed using the previously calculated rendering time of the second sub video frame.

2. The system according to claim 1, characterized in that The recalculating the rendering time of the second sub-video frame to be rendered according to the first rendering parameter includes: If the display time of the first sub-video frame is less than or equal to the display time of the second sub-video frame of the video frame, recalculating the rendering time of the second sub-video frame according to the first rendering parameter, the display time of the second sub-video frame, and the network transmission delay between the master display device and the slave display device; If the display time of the first sub-video frame is greater than the display time of the second sub-video frame of the video frame, the current time is used as the rendering time of the second sub-video frame.

3. The system according to claim 2, characterized in that The recalculating the rendering time of the second sub video frame according to the first rendering parameter, the display time of the second sub video frame, and the network transmission delay between the master display device and the slave display device includes: Subtracting the display time of the second sub video frame from the display time of the first sub video frame to obtain a time difference; Adding the time difference to the rendering time of the first sub-video frame to obtain the time; Subtract the time from the network transmission delay to obtain a recalculated rendering time of the second sub-video frame.

4. The system according to claim 2 or 3, characterized in that: Before broadcasting the synchronous rendering command, the main display device is configured as follows: Receiving a playback task of the target video; Based on the playback task, establishing a communication connection with the slave display device; Sending a playback control command of the target video to the slave display device through the communication connection, and a network transmission delay between the master display device and the slave display device; The slave display device is configured as follows: Receiving a playback task of the target video; Based on the playback task, establishing a communication connection with the main display device; The playing control command of the target video sent by the master display device and the network transmission delay between the master display device and the slave display device are received through the communication connection.

5. The system according to claim 4, characterized in that The sending of the target video playback control command to the slave display device through the communication connection, and before the network transmission delay between the master display device and the slave display device, the master display device is further configured as follows: Sending a response request message to the slave display device at least once through the communication connection, and receiving a response message returned by the slave display device based on the response request message; The network transmission delay between the master display device and the slave display device is acquired according to the sending time of each response request message and the receiving time of the corresponding response message.

6. The system according to claim 4, characterized in that The establishing a communication connection with a slave display device based on the playback task includes: Extracting a playback group ID and a master device identifier from the playback task; the playback group ID is used to indicate the playback group to which the display device that displays the target video in splicing belongs; If the master device is determined to be the master display device according to the master device identifier, the transmission control protocol server is started, and the connection parameters of the transmission control protocol server and the extracted playback group ID are broadcasted; The establishing a communication connection with the main display device based on the playback task includes: Extracting a playback group ID and a master device ID from the playback task; If it is determined that the main device is not the main display device according to the main device identifier, the connection parameters of the transmission control protocol server that is broadcasted and the playback group ID extracted by the main display device are monitored; If the playback group ID extracted from the current playback task of the slave display device is the same as the playback group ID extracted by the master display device, a communication connection is established with the transmission control protocol server of the master display device through the connection parameters.

7. The system according to any one of claims 1 to 3, characterized in that: The main display device is further configured as: Obtaining a first audio frame of the target video to be rendered; Determining a rendering time of the first audio frame according to a display time of a first sub-video frame of the target video to be rendered and a display time of the first audio frame; The first audio frame is rendered using the rendering time of the first audio frame.

8. The system according to any one of claims 1 to 3, characterized in that: The slave display device is further configured as: Obtaining a second audio frame of the target video to be rendered; Determining a rendering time of the second audio frame according to a display time of a second sub-video frame of the target video to be rendered and a display time of the second audio frame; The second audio frame is rendered using the rendering time of the second audio frame.

9. A display method, characterized in that: The display system includes at least two display devices, wherein the at least two display devices include: a main display device for splicing and displaying a target video, and a slave display device, and the method includes: The main display device broadcasts a synchronous rendering command, wherein the synchronous rendering command includes: first rendering parameters of a first sub-video frame of the target video to be rendered by the main display device, wherein the first rendering parameters include: display time of the first sub-video frame, and rendering time of the first sub-video frame; If the slave display device monitors the synchronous rendering command, it recalculates the rendering time of the second sub video frame of the target video to be rendered according to the first rendering parameter, and renders and displays the second sub video frame according to the recalculated rendering time of the second sub video frame; If the slave display device does not monitor the synchronous rendering command, it uses the previously calculated rendering time of the second sub video frame to render and display the second sub video frame.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by a processor, the method of claim 9 is implemented.

Citation Information

Cited By

  • Multi-channel synchronous display method for three-dimensional image real-time interactive application

    CN120881257A