Projection equipment and media resource synchronous playing method
By updating the synchronization clock from the projection device when the network delay is stable, the problem of media playback is not smooth due to network delay fluctuations, and the smoothness of media playback and synchronization control effect is achieved.
Patent Information
- Application Number
- CN202510131207.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-05
- Publication Date
- 2025-05-09
AI Technical Summary
In the case of large network delay fluctuations, the clock from the projection device is updated frequently, resulting in media playback following jitter and playback is not smooth.
Only when the network delay is stable, the slave projector updates its synchronization clock according to the synchronization clock and network delay time of the main projector device to avoid the problem of unsmooth media playback caused by network jitter.
Through this method, the fluency of media playback is ensured, while the effect of synchronization control is ensured, and the playback jitter caused by network jitter is avoided.
Smart Images

Figure CN119967139A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of projection equipment, and in particular to a projection equipment and a method for synchronously playing media resources. Background Art
[0002] Traditional single projection equipment often cannot meet the needs of large-scale, high-definition visual display due to the limitations of resolution, field of view and size. Projection splicing and fusion technology is used to achieve large-screen, high-resolution visual effects. Projection splicing and fusion technology enables a group of projection devices to work together to ultimately project a large, undifferentiated picture, bringing participants an immersive large-screen visual experience through a huge screen and realistic pictures.
[0003] When splicing the projection images of multiple projection devices, that is, fusion projection, multiple projection devices are required to play the same media together and ensure the consistency of the media images projected by multiple projection devices. In order to achieve this effect, the master projection device and the slave projection device need to synchronize their clocks. The slave projection device needs to calculate the network delay and update the clock of the slave projection device according to the clock sent by the master projection device and the network delay to adjust the playback progress of the slave projection device so that the slave projection device plays the media synchronously with the master projection device. However, when the network delay fluctuates greatly, the clock of the slave projection device is updated more frequently, causing the media playback of the slave projection device to follow the jitter and the media playback to be not smooth. Summary of the invention
[0004] Some embodiments of the present application provide a projection device and a method for synchronous playback of media assets. The slave projection device updates the synchronous clock of the slave projection device according to the synchronous clock of the master projection device and the network delay time only when the network delay is stable, thereby avoiding the problem of media asset playback following jitter when the network jitters greatly, thereby ensuring both the synchronous control effect and the smoothness of the media asset playback.
[0005] In a first aspect, some embodiments of the present application provide a projection device, configured as a slave projection device, comprising:
[0006] An optical machine configured to project a projection image onto a projection medium;
[0007] A controller is coupled to the optical machine and is configured to:
[0008] After receiving the playback request sent by the main projection device, the optical machine is controlled to project the media image of the target media in the playback request onto the projection medium;
[0009] Sending a synchronization request to the main projection device and receiving synchronization information sent by the main projection device based on the synchronization request, wherein the synchronization information includes a synchronization clock of the main projection device;
[0010] Calculate network delay time and obtain network delay status;
[0011] When the network delay is stable, the synchronization clock of the slave projection device is updated according to the synchronization clock of the master projection device and the network delay time. The synchronization clock is used to adjust the playback progress of the target media asset.
[0012] When the network delay state is an unstable state, the synchronization clock of the slave projection device is not updated based on the synchronization clock and the network delay time in the synchronization information.
[0013] The above technical solution has the following advantages or beneficial effects: the slave projection device updates the synchronization clock of the slave projection device according to the synchronization clock of the master projection device and the network delay time only when the network delay is stable, thereby avoiding the problem of media playback following jitter when the network jitters greatly, thereby ensuring both the synchronization control effect and the smoothness of media playback.
[0014] In some embodiments, the controller performs calculation of network delay time and is further configured to:
[0015] Sending a delay test request and receiving a delay test feedback sent by the main projection device based on the delay test request;
[0016] The network delay time is calculated based on the sending time of the delay test request and the receiving time of the delay test feedback.
[0017] The above technical solution has the following advantages or beneficial effects: compared with the method of calculating the network delay time based on the delay test feedback time sent by the main projection device and the delay test feedback time received by the slave projection device, the present application can avoid the problem of inaccurate network delay time caused by inconsistent system time between the main projection device and the slave projection device.
[0018] In some embodiments, the controller executes obtaining the network delay status and is further configured to:
[0019] Acquire at least two sets of target data most recently received before receiving the synchronization information, the target data including the sending time of the delay test request and the receiving time of the delay test feedback, and / or the time when the main projection device receives the delay test request twice in a row;
[0020] Calculating a first difference between a reception time of a delay test feedback and a sending time of a delay test request; and / or,
[0021] Calculate a second difference between two consecutive times when the main projection device receives a delay test request;
[0022] If the absolute value of the difference between any two target difference values is less than a preset threshold, the acquired network delay state is a stable state, and the time difference value includes the first difference value and / or the second difference value;
[0023] If the absolute value of the difference between the two target differences is greater than or equal to a preset threshold, the obtained network delay state is an unstable state.
[0024] The above technical solution has the following advantages or beneficial effects: the network delay status can be determined more accurately according to the delay test request and the delay test feedback reception and sending time, thereby helping to ensure the smoothness of media asset playback.
[0025] In some embodiments, the controller executes obtaining the network delay status and is further configured to:
[0026] Obtaining a target network delay time, where the target network delay time includes the network delay time of the most recent preset number of times before receiving synchronization information;
[0027] If the absolute value of the difference between any two target network delay times is less than a preset threshold, the obtained network delay state is a stable state;
[0028] If the absolute value of the difference between two target network delay times is greater than or equal to a preset threshold, the obtained network delay state is an unstable state.
[0029] The above technical solution has the following advantages or beneficial effects: the network delay status is obtained according to the network delay time, the amount of data calculation is reduced, and the network delay status can be determined more quickly, which helps to quickly update the synchronization clock of the projection device and improve the synchronization effect of media playback.
[0030] In some embodiments, after controlling the optical machine to project the media asset picture of the target media asset in the playback request onto the projection medium, the controller is further configured to:
[0031] Receiving a progress jump request sent by a main projection device, where the progress jump request includes a jump progress;
[0032] Calculate network delay time and obtain network delay status;
[0033] When the network delay state is stable, the synchronization clock of the slave projection device is updated according to the jump progress and the network delay time;
[0034] When the network delay state is unstable, the synchronization clock of the slave projection device is updated according to the jump progress and the initial value or historical average value of the network delay time.
[0035] The above technical solution has the following advantages or beneficial effects: when the progress of the main projection device jumps, if the network delay state is unstable, there is no need to update the synchronization clock of the slave projection device based on the current network delay time, but the default network delay time and jump progress, which helps to ensure the smoothness of media playback.
[0036] In some embodiments, before the controller controls the optical machine to project the media asset picture of the target media asset in the playback request onto the projection medium, it is further configured to:
[0037] Obtaining a fusion ratio and a stretch ratio of the projection screen, wherein the fusion ratio is the ratio of the overlapping area in the fusion projection screen projected by the main projection device and the slave projection device to the fusion projection screen;
[0038] Stretch the projected image according to the stretching ratio;
[0039] According to the fusion ratio, the cropping area and fusion area of the stretched projection image are obtained;
[0040] When controlling the optical machine to project the media image of the target media onto the projection medium, the cropped area in the media image is cropped so as not to display the image corresponding to the cropped area, and the brightness of the fused area in the media image is linearly reduced along the target direction, and the target direction is determined by the positional relationship between the slave projection device and the master projection device.
[0041] The above technical solution has the following advantages or beneficial effects: when the corrected stretching ratio and fusion ratio are not completely accurate, the brightness of the incorrectly calculated area will increase or decrease linearly in a certain direction, thereby avoiding the appearance of obvious extremely bright or dark strips.
[0042] In a second aspect, some embodiments of the present application provide a projection device, which is configured as a main projection device, including:
[0043] An optical machine configured to project a projection image onto a projection medium;
[0044] A controller is coupled to the optical machine and is configured to:
[0045] After receiving the instruction input by the user to play the target media, the optical machine is controlled to project the media image of the target media onto the projection medium, and a play request is sent to the slave projection device so that the slave projection device plays the target media;
[0046] Receive a synchronization request sent by a slave projection device, and send synchronization information to the slave projection device based on the synchronization request, so that when the network delay state is stable, the synchronization clock of the slave projection device is updated according to the synchronization clock of the master projection device and the network delay time; when the network delay state is unstable, the synchronization clock of the slave projection device is not updated according to the synchronization clock and the network delay time in the synchronization information, and the synchronization information includes the synchronization clock of the master projection device, and the synchronization clock is used to adjust the playback progress of the target media asset.
[0047] The above technical solution has the following advantages or beneficial effects: the master projection device can communicate with the slave projection device, so that the slave projection device updates the slave projection device synchronization clock according to the master projection device synchronization clock and the network delay time only when the network delay is stable, thereby avoiding the problem of media playback following jitter in the case of large network jitter, thereby ensuring both the synchronization control effect and the smoothness of media playback.
[0048] In some embodiments, before the controller controls the optical machine to project the media asset image of the target media asset onto the projection medium, the controller is further configured to:
[0049] Obtaining a fusion ratio and a stretch ratio of the projection screen, wherein the fusion ratio is the ratio of the overlapping area in the fusion projection screen projected by the main projection device and the slave projection device to the fusion projection screen;
[0050] Stretch the projected image according to the stretching ratio;
[0051] According to the fusion ratio, the cropping area and fusion area of the stretched projection image are obtained;
[0052] When controlling the optical machine to project the media image of the target media onto the projection medium, the cropped area in the media image is cropped so as not to display the image corresponding to the cropped area, and the brightness of the fused area in the media image is linearly reduced along the target direction, and the target direction is determined by the positional relationship between the slave projection device and the master projection device.
[0053] The above technical solution has the following advantages or beneficial effects: when the corrected stretching ratio and fusion ratio are not completely accurate, the brightness of the incorrectly calculated area will increase or decrease linearly in a certain direction, thereby avoiding the appearance of obvious extremely bright or dark strips.
[0054] In a third aspect, some embodiments of the present application provide a method for synchronously playing media resources, which is applied to a projection device, and includes:
[0055] After receiving the playback request sent by the main projection device, the optical machine is controlled to project the media image of the target media in the playback request onto the projection medium;
[0056] Sending a synchronization request to the main projection device and receiving synchronization information sent by the main projection device based on the synchronization request, wherein the synchronization information includes a synchronization clock of the main projection device;
[0057] Calculate network delay time and obtain network delay status;
[0058] When the network delay is stable, the synchronization clock of the slave projection device is updated according to the synchronization clock of the master projection device and the network delay time. The synchronization clock is used to adjust the playback progress of the target media asset.
[0059] When the network delay state is an unstable state, the synchronization clock of the slave projection device is not updated based on the synchronization clock and the network delay time in the synchronization information.
[0060] The above technical solution has the following advantages or beneficial effects: the slave projection device updates the synchronization clock of the slave projection device according to the synchronization clock of the master projection device and the network delay time only when the network delay is stable, thereby avoiding the problem of media playback following jitter when the network jitters greatly, thereby ensuring both the synchronization control effect and the smoothness of media playback.
[0061] In a fourth aspect, some embodiments of the present application provide a method for synchronously playing media resources, which is applied to a main projection device, including:
[0062] After receiving the instruction input by the user to play the target media, the optical machine is controlled to project the media image of the target media onto the projection medium, and a play request is sent to the slave projection device so that the slave projection device plays the target media;
[0063] Receive a synchronization request sent by a slave projection device, and send synchronization information to the slave projection device based on the synchronization request, so that when the network delay state is stable, the synchronization clock of the slave projection device is updated according to the synchronization clock of the master projection device and the network delay time; when the network delay state is unstable, the synchronization clock of the slave projection device is not updated according to the synchronization clock and the network delay time in the synchronization information, and the synchronization information includes the synchronization clock of the master projection device, and the synchronization clock is used to adjust the playback progress of the target media asset.
[0064] The above technical solution has the following advantages or beneficial effects: the master projection device can communicate with the slave projection device, so that the slave projection device updates the slave projection device synchronization clock according to the master projection device synchronization clock and the network delay time only when the network delay is stable, thereby avoiding the problem of media playback following jitter in the case of large network jitter, thereby ensuring both the synchronization control effect and the smoothness of media playback.
[0065] The technical solution provided in the embodiment of the present application is that the slave projection device updates the synchronization clock of the slave projection device according to the synchronization clock of the master projection device and the network delay time only when the network delay is stable, thereby avoiding the problem of media playback following jitter when the network jitters greatly, thereby ensuring both the synchronization control effect and the smoothness of media playback. BRIEF DESCRIPTION OF THE DRAWINGS
[0066] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0067] Figure 1 A schematic diagram of a projection scene of a projection device provided in some embodiments of the present application;
[0068] Figure 2 A schematic diagram of the optical path of a projection device provided in some embodiments of the present application;
[0069] Figure 3 A schematic diagram of a circuit architecture provided for some embodiments of the present application;
[0070] Figure 4 A schematic diagram of the optical path of a projection device provided in some embodiments of the present application;
[0071] Figure 5 A schematic diagram of a system framework for implementing display control for a projection device provided in some embodiments of the present application;
[0072] Figure 6 A flowchart of a method for synchronously playing media assets is provided for some embodiments of the present application;
[0073] Figure 7 A schematic diagram of a delay test request and a delay test feedback transmission provided in some embodiments of the present application;
[0074] Figure 8 A schematic diagram of synchronous control information transmission provided in some embodiments of the present application;
[0075] Fig. 9 A schematic diagram of a method for controlling media resources of a main player in a main projection device provided in some embodiments of the present application;
[0076] Fig.10 A schematic diagram of a method for controlling media resources from a player in a projection device provided in some embodiments of the present application;
[0077] Fig.11 A schematic diagram of projection image fusion provided in some embodiments of the present application;
[0078] Fig.12 A schematic diagram of left and right screen dual projection provided in some embodiments of the present application;
[0079] Fig.13 A schematic diagram of brightness change of a fusion area provided in some embodiments of the present application;
[0080] Fig.14 A process framework diagram of synchronous playback of media resources provided in some embodiments of the present application;
[0081] Fig.15 A timing diagram of a method for synchronously playing media resources provided in some embodiments of the present application. DETAILED DESCRIPTION
[0082] The following embodiments are described in detail, and examples thereof are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following embodiments do not represent all implementations consistent with the present application. They are only examples of systems and methods consistent with some aspects of the present application as detailed in the claims.
[0083] 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.
[0084] The terms "first", "second", "third", etc. in the specification and claims of this application and the above drawings are used to distinguish similar or similar objects or entities, and do not necessarily mean to limit a specific order or sequence, unless otherwise noted. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances.
[0085] The terms "comprises," "comprising," and "having," 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 all the components expressly listed but may include other components not expressly listed or inherent to such product or device.
[0086] The term "module" refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and / or software code that is capable of performing the functions associated with that element.
[0087] Projection equipment is a device that can project media data onto a projection medium. Projection equipment can be connected to computers, broadcasting networks, the Internet, VCD (Video Compact Disc), DVD (Digital Versatile Disc Recordable), game consoles, DV and other devices through different interfaces to receive media data to be projected. Among them, media data includes but is not limited to images, videos, texts and other types, and projection media includes but is not limited to physical forms such as walls, curtains, and screens.
[0088] Figure 1 A schematic diagram of a projection scene of a projection device provided in some embodiments of the present application.
[0089] In some embodiments, the projection device may be a device with a projection function such as a projector or a laser TV. The present application does not limit the type of the projection device. The projection device is used to project a projection image onto a projection medium. For example, the projection device is a laser TV. Figure 1 The laser TV may include a projection host 2. The projection medium 1 is fixed at a first position, and the projection host 2 is placed at a second position. By adjusting the relationship between the first position and the second position, the projection image of the projection host 2 is consistent with the projection medium 1, that is, the second position is the best placement position of the projection host 2.
[0090] Figure 2 A schematic diagram of the optical path of a projection device provided in some embodiments of the present application.
[0091] The projection host 2 includes a projection component, which includes a laser light source 210, an optical machine 220 and a lens 230. The laser light source 210 provides illumination for the optical machine 220, the optical machine 220 modulates the light beam of the light source and outputs it to the lens 230, the lens 230 forms an image and projects it onto the projection medium 1, and the projection medium 1 presents a projection picture.
[0092] In some embodiments, the laser light source 210 includes a laser assembly and an optical lens assembly, and the light beam emitted by the laser assembly can pass through the optical lens assembly to provide lighting for the optical machine 220. The optical lens assembly requires a higher level of environmental cleanliness and airtightness, while the chamber in which the laser assembly is installed can be sealed with a lower level of dustproofness to reduce the sealing cost.
[0093] In some embodiments, the optical engine 220 may include a blue optical engine, a green optical engine and a red optical engine, and may also include a heat dissipation system, a circuit control system, etc. The blue optical engine, the green optical engine and the red optical engine constitute a three-color optical engine, which is used to modulate the laser to generate the user interface pixel points.
[0094] In some embodiments, the light-emitting component of the laser TV can also be realized by an LED (Light-emitting Diode) light source.
[0095] Figure 3 A schematic diagram of a circuit architecture provided for some embodiments of the present application.
[0096] In some embodiments, see Figure 3The projection host 2 may include a display control circuit 240, a laser light source 210, at least one laser driving component 250, and at least one brightness sensor 260. The laser light source 210 may include at least one laser corresponding to the at least one laser driving component. The at least one refers to one or more, and the multiple refers to two or more.
[0097] In some embodiments, the laser light source 210 includes three lasers corresponding to the laser driving assembly 250, and the three lasers may be a blue laser 211, a red laser 212, and a green laser 213. The blue laser 211 is used to emit a blue laser, the red laser 212 is used to emit a red laser, and the green laser 213 is used to emit a green laser. The laser driving assembly 250 may be implemented as including a plurality of sub-laser driving assemblies, each corresponding to a laser of a different color.
[0098] In some embodiments, the display control circuit 240 is used to output light control signals corresponding to different primary colors to the laser driving component 250 to drive the corresponding laser to emit light. For example, the light control signal includes a blue light control signal, a red light control signal, and a green light control signal. Figure 3 The display control circuit 240 is connected to the laser driving component 250, and is used to output at least one light control signal corresponding to the three primary colors of each frame of the multi-frame display image, and transmit the at least one light control signal to the corresponding laser driving component 250. For example, the display control circuit 240 can be a microcontroller unit (MCU), also known as a single chip microcomputer.
[0099] In some embodiments, the laser TV can achieve adaptive adjustment. For example, by setting a brightness sensor 260 in the light output path of the laser light source 210, the brightness sensor 260 can detect the first brightness value of the laser light source 210 and send the first brightness value to the display control circuit 240. The display control circuit 240 can obtain the second brightness value corresponding to the driving current of each laser, and when the difference between the second brightness value of the laser and the first brightness value of the laser is greater than the difference threshold, it is determined that the laser has a COD (Catastrophic optical damage) failure, and the display control circuit 240 can adjust the current control signal of the laser driving component corresponding to the laser until the aforementioned difference is less than or equal to the difference threshold, thereby eliminating the COD failure of the laser, reducing the damage rate of the laser, and improving the image display effect of the projection device.
[0100] Figure 4 A schematic diagram of the optical path of a projection device provided in some embodiments of the present application.
[0101] In some embodiments, see Figure 4 The optical path structure includes a laser light source 210 and an optical component 214. The laser light source 210 may include an independently arranged blue laser 211, a red laser 212, and a green laser 213. The projection device may also be referred to as a three-color projection device. The blue laser 211, the red laser 212, and the green laser 213 are all module lightweight (Mirai Console Loader, MCL) packaged lasers with a small size, which is conducive to the compact arrangement of the optical path.
[0102] In some embodiments, the projection host 2 may include a controller, which includes at least one of a central processing unit (CPU), a video processor, an audio processor, a graphics processing unit (GPU), a random access memory (RAM), a read-only memory (ROM), a first interface to an nth interface for input / output, and a communication bus, etc. The controller is connected to the relevant hardware of the projection device, such as the display control circuit, the brightness sensor, the distance sensor, the image collector, etc., and is used to control the projection, focusing, correction, calibration, switch screen state adjustment and other functions of the projection device.
[0103] In some embodiments, several types of interfaces may be provided on the body of the projection device (e.g., a laser TV), such as a power interface, a USB interface, an HDMI (High Definition Multimedia Interface) interface, a network cable interface, a VGA (Video Graphics Array) interface, a DVI (Digital Visual Interface), etc., to connect a signal source for transmitting media.
[0104] In some embodiments, after the projection device is started, it can directly enter the display interface of the signal source selected last time, or the signal source selection interface, where the signal source is, for example, a preset video-on-demand program, or can be one of the signal sources such as an HDMI interface, a USB interface, a live TV interface, etc. After the user selects the target signal source, the projection host 2 can obtain media data from the target signal source and project the media data onto the projection medium 1 for display.
[0105] In some embodiments, the projection host 2 may be configured with an image collector for cooperating with the projection host 2 to achieve relevant adjustment and control of the projection process. For example, the projection device may be configured with a 3D camera, a monocular camera or a binocular camera.
[0106] Figure 5 A schematic diagram of a system framework for implementing display control for a projection device provided in some embodiments of the present application.
[0107] In some embodiments, see Figure 5 The system framework includes application service layer, process communication framework, operation layer, framework layer, correction service, camera service, flight time service, hardware and its driver, etc. The controller of the projection host 2 controls the overall system architecture and implements projection control of the projection device based on the underlying program logic, including but not limited to automatic screen entry, automatic obstacle avoidance, automatic focus, anti-eye shooting, screen switch control, automatic correction of the projection picture and fine-tuning correction, etc.
[0108] In some embodiments, the projection host 2 is also configured with a distance sensor for detecting distance. The distance sensor can be a time of flight (TOF) sensor. The time of flight sensor uses the flight time of a signal between a transmitting end and a reflecting end to measure the distance between nodes. After the time of flight sensor collects the distance data, it sends the distance data to the time of flight service; after the time of flight service obtains the distance data, it sends the collected distance data to the application service layer through the process communication framework. The distance data will be used for interactive use such as controller data calls, user interfaces, and program applications.
[0109] In some embodiments, the image collector sends the collected image data to the camera service, and then the camera service sends the image data to the process communication framework and / or the correction service; the process communication framework sends the image data to the application service layer, and the image data will be used for interactive use such as the controller's data call, user interface, program application, etc.
[0110] In some embodiments, the projection device can be refocused after automatic calibration is completed, and the controller detects whether the automatic focusing function is turned on; if the automatic focusing function is not turned on, the controller will end the automatic focusing service; if the automatic focusing function is turned on, the controller performs focusing calculations based on the distance detection value of the time of flight sensor.
[0111] In some embodiments, the controller queries a preset mapping table based on the distance detection value of the time-of-flight sensor, and the preset mapping table records the mapping relationship between distance and focal length, so as to obtain the focal length of the projection device corresponding to the distance detection value; then the middleware sends the acquired focal length to the optical machine of the projection device; after the optical machine performs laser emission according to the above focal length, at least one image collector captures the projection content image, and the controller performs clarity detection on the projection content image to determine whether the current lens focal length is appropriate. If the focal length is not appropriate, focusing processing is required. The projection device locates the focus position with the highest clarity by adjusting the lens position and shooting, and comparing the clarity changes of the projection content image before and after the adjustment.
[0112] If the judgment result meets the preset completion conditions, the control of the automatic focusing process ends; if the judgment result does not meet the preset completion conditions, the middleware will fine-tune the focal length parameters of the projection device optical machine, such as gradually fine-tuning the focal length according to the preset step length, and setting the adjusted focal length parameters to the optical machine again, through multiple photos, clarity evaluation and other steps, and finally through the clarity comparison of the projection picture, the optimal focal length is locked, thereby completing the automatic focusing.
[0113] In some embodiments, at least a lens, a distance sensor and an image collector are arranged on the first plane of the projection host 2, and the image collector may include one or more cameras. The first plane is a plane on the projection host 2 that is parallel and opposite to the projection medium 1 during projection. It should be noted that the hardware and software configuration and system architecture of the projection device are not limited to the examples of the embodiments of the present application.
[0114] Traditional single projection equipment often cannot meet the needs of large-scale, high-definition visual display due to the limitations of resolution, field of view and size. Projection splicing and fusion technology is used to achieve large-screen, high-resolution visual effects.
[0115] Projection splicing and fusion technology can make a group of projection devices work together to finally project a huge picture without any difference. It can also use multiple projection devices to form arc projection / circular projection / spherical screen, etc. The screen usually has an arc of 100 to 360 degrees. Through the huge screen, realistic picture, and real Dolby surround sound system, it brings an immersive large-screen visual experience to the participants.
[0116] When splicing the projection images of multiple projection devices, that is, fusion projection, multiple projection devices are required to play the same media together and ensure the consistency of the media images projected by multiple projection devices. In order to achieve this effect, the master projection device and the slave projection device need to be clock synchronized. The slave projection device needs to calculate the network delay and, after receiving the synchronization request sent by the master projection device, update the clock of the slave projection device according to the clock information of the master projection device in the synchronization request and the network delay, and adjust the playback progress of the slave projection device so that the slave projection device plays the media synchronously with the master projection device. However, in the case of large fluctuations in network delay, the clock of the slave projection device is updated more frequently, causing the media playback of the slave projection device to follow the jitter and the media playback to be not smooth.
[0117] In order to solve the technical problem of unsmooth media playback from a projection device when network delay fluctuates greatly, the present application provides a projection device, and the structure and functions of each part of the projection device can refer to the above embodiments. In addition, based on the projection device shown in the above embodiments, this embodiment further improves some functions of the projection device.
[0118] It should be noted that the projection device can be set as a master projection device and a slave projection device according to the user's operation. There is only one master projection device and there can be one or more slave projection devices.
[0119] In some embodiments, the master projection device and the slave projection device may establish a connection via a Message Queuing Telemetry Transport (MQTT) protocol.
[0120] In other embodiments, the master projection device and the slave projection device may establish a connection via a Quick UDP Internet Connections (QUIC) protocol.
[0121] like Figure 6 As shown, perform the following steps from the controller of the projection device:
[0122] Step S601: after receiving the playback request sent by the main projection device, controlling the optical machine to project the media image of the target media in the playback request onto the projection medium.
[0123] In some embodiments, after receiving the instruction to play the target media input by the user, the master projection device plays the target media, that is, controls the optical machine to project the media image of the target media onto the projection medium, and sends a play request to the slave projection device.
[0124] In other embodiments, after receiving the instruction of playing the target media input by the user, the main projection device controls the optical machine to project the device selection page onto the projection medium. The device selection page includes the play control of the device only and the play control of other devices. After receiving the confirmation operation of the user for the play control of other devices, the target media is played, that is, the optical machine is controlled to project the media screen of the target media onto the projection medium, and a play request is sent to the slave projection device.
[0125] It should be noted that before the main projection device receives the instruction of playing the target media asset input by the user, the main projection device can control the player, that is, the main player, to initialize the resources, and then control the initialization of the QUIC server resources. Before receiving the playback request, the slave projection device can control the player, that is, the slave player, to initialize the resources, and then control the initialization of the QUIC client resources. After the QUIC client resources are initialized, they can be connected to the QUIC server of the main projection device to enable the main projection device to communicate with the slave projection device.
[0126] In some embodiments, the play request includes the network address of the target media, i.e., the Uniform Resource Locator (URL). After receiving the play request, the projection device can parse the network address of the target media in the play request, obtain the target media from the network address, and play the target media, i.e., control the optical machine to project the media image of the target media onto the projection medium.
[0127] In some embodiments, the master projection device and the slave projection device may store the same media asset in the same storage path. The play request includes the storage path and name of the target media asset. After receiving the play request, the slave projection device may parse the storage path and name of the target media asset in the play request, obtain the target media asset from the storage path, and play the target media asset.
[0128] A synchronization clock, namely the third-party clock master_sync_clk, is set in the main player of the main projection device. The synchronization clock can be used to adjust the playback progress of the target media of the main projection device. The main player of the main projection device controls the playback of the media based on the third-party clock master_sync_clk. After receiving the instruction to play the target media input by the user, the main projection device obtains the target media and determines whether the target media has an audio track. If the target media has an audio track, the initialized master_sync_clk is updated following the audio decoding output. If the target media does not have an audio track, the initialized master_sync_clk is updated following the video decoding output.
[0129] During the target media playback process, the main projection device calculates the difference between the presentation time stamp (PTS) of the current video frame to be played and master_sync_clk. If the difference is within the threshold range, the picture corresponding to the video frame is projected onto the projection medium. If the difference is not within the threshold range and the display timestamp of the video frame is greater than master_sync_clk, that is, the display timestamp of the video frame is greater than master_sync_clk+threshold, the video frame is discarded to speed up the display of subsequent frames. If the difference is not within the threshold range and the display timestamp of the video frame is less than master_sync_clk, that is, the display timestamp of the video frame is less than master_sync_clk-threshold, the picture corresponding to the video frame is projected onto the projection medium.
[0130] The synchronization clock, i.e. the third-party clock slave_sync_clk, is set in the slave player of the slave projection device. The synchronization clock can be used to adjust the playback progress of the target media of the slave projection device. The slave player of the slave projection device controls the playback of the media based on the third-party clock slave_sync_clk. After receiving the playback request sent by the master projection device, the slave projection device obtains the target media, and the initialized slave_sync_clk is updated following the video decoding output.
[0131] During the target media playback process, the slave projection device calculates the difference between the display timestamp of the current video frame to be played and slave_sync_clk. If the difference is within the threshold threshold, the picture corresponding to the video frame is projected onto the projection medium. If the difference is not within the threshold threshold and the display timestamp of the video frame is greater than slave_sync_clk, that is, the display timestamp of the video frame is greater than slave_sync_clk+threshold, the video frame is discarded to speed up the display of subsequent frames. If the difference is not within the threshold threshold and the display timestamp of the video frame is less than slave_sync_clk, that is, the display timestamp of the video frame is less than slave_sync_clk-threshold, the picture corresponding to the video frame is projected onto the projection medium.
[0132] In some embodiments, the main projection device and the slave projection device jointly project a large screen, and only one of the main projection device and the slave projection device plays the audio, and the other device directly discards the audio data. For example, the main projection device plays the audio, and the audio of the slave projection device is directly discarded without processing. The main projection device controls the audio playback of the target media asset based on the third-party clock master_sync_clk, and the audio playback control is the same as the video playback control.
[0133] In some embodiments, when both the main projection device and the slave projection device need to play audio, both can control the audio of the target media asset based on the third-party clock. When both the main projection device and the slave projection device do not need to play audio, both can directly discard the audio without processing.
[0134] In the embodiment of the present application, the audio and video synchronization of a single player depends on the video clock (update depends on the video frame decoding and display) and the audio clock (update depends on the audio frame decoding and playback), while the third-party independent clock is only used for the clock synchronization update between the master and slave players. The independent clock is not affected by the audio and video synchronization, and the independent clock of the slave player only depends on the independent clock of the master player. Therefore, the master player and the slave player use virtual independent clocks respectively, and the playback is controlled based on the clock, and the clock update strategy is flexible.
[0135] Step S602: sending a synchronization request to the main projection device and receiving synchronization information sent by the main projection device based on the synchronization request.
[0136] After controlling the optical machine to project the target media onto the projection medium, the slave projection device can periodically send a synchronization request to the master projection device. After receiving the synchronization request, the master projection device sends synchronization information to the slave projection device, and the synchronization information includes the synchronization clock of the master projection device, that is, the third independent clock.
[0137] Step S603: Calculate the network delay time and obtain the network delay status.
[0138] After the slave projection device controls the optical machine to project the media image of the target media onto the projection medium, it can periodically send a delay test request to the master projection device, or it can immediately send a delay test request again upon receiving the delay test feedback. After receiving the delay test request, the master projection device sends a delay test feedback to the slave projection device, and the delay test feedback includes the time when the master projection device receives the delay test request. The network delay time can be calculated based on the sending time of the delay test request and the receiving time of the delay test feedback. Among them, the network delay time can also be the average value of the network delay time of the most recent preset number of times.
[0139] delay=(systime'-systime) / 2;
[0140] Where delay is the network delay time, systime' is the time when the delay test feedback is received, and systime is the time when the delay test request is sent.
[0141] After the slave projection device controls the optical machine to project the media image of the target media onto the projection medium, it can periodically send a delay test request to the master projection device. After receiving the delay test request, the master projection device sends a delay test feedback to the slave projection device. The network delay status is obtained according to the delay test request and the delay test feedback.
[0142] The network delay state is used to indicate whether the network delay time is valid. If the current network delay state is stable, it indicates that the currently calculated network delay time is valid. If the current network delay state is unstable, it indicates that the currently calculated network delay time is invalid.
[0143] In some embodiments, a first specific implementation method of obtaining the network delay state may include: obtaining at least two sets of target data before receiving the synchronization information, the target data including the sending time of the delay test request and the receiving time of the delay test feedback, and then calculating the first difference between the receiving time of the delay test feedback and the sending time of the delay test request. If the absolute value of the difference between any two first differences is less than a preset threshold, the obtained network delay state is a stable state; if the absolute value of the difference between any two first differences is greater than or equal to the preset threshold, the obtained network delay state is an unstable state.
[0144] Exemplarily, the number of target data groups is set to three groups, and the preset threshold is a. For the three most recent groups of target data before receiving the synchronization information, the reception time of the delay test feedback is slave_systime1', slave_systime2' and slave_systime3', and the corresponding sending time of the delay test request is slave_systime1, slave_systime2 and slave_systime3, respectively. The first difference values are gap1, gap2 and gap3, respectively. gap1=slave_systime1'-slave_systime1, gap2=slave_systime2'-slave_systime2, gap3=slave_systime3'-slave_systime3. If |gap1-gap2|<a, |gap1-gap3|<a and |gap2-gap3|<a, the network delay state is a stable state. |gap1-gap2|≥a, |gap1-gap3|≥a, or |gap2-gap3|≥a, the network delay state is unstable.
[0145] In some embodiments, a second specific implementation of obtaining the network delay state may include: obtaining at least two sets of target data before receiving the synchronization information, the target data including two adjacent times when the main projection device receives a delay test request, and then calculating a second difference between the two adjacent times when the main projection device receives a delay test request. If the absolute value of the difference between any two second differences is less than a preset threshold, the obtained network delay state is a stable state; if the absolute value of the difference between any two second differences is greater than or equal to the preset threshold, the obtained network delay state is an unstable state.
[0146] Exemplarily, the number of target data groups is set to three groups, and the preset threshold is a. The three most recent groups of two adjacent master projection device reception delay test request times before receiving the synchronization information are master_systime1 and master_systime2, master_systime2 and master_systime3, and master_systime3 and master_systime4. The second difference values are gap1, gap2, and gap3, respectively. gap1=master_systime4-master_systime3, gap2=master_systime3-master_systime2, gap3=master_systime2-master_systime1. If |gap1-gap2|<a, |gap1-gap3|<a and |gap2-gap3|<a, the network delay state is a stable state. |gap1-gap2|≥a, |gap1-gap3|≥a or |gap2-gap3|≥a, the network delay state is an unstable state.
[0147] In some embodiments, a third specific implementation method of obtaining the network delay state may include: obtaining at least two sets of target data most recently before receiving the synchronization information, the target data including the sending time of the delay test request and the receiving time of the delay test feedback, and the time when the main projection device receives the delay test request twice adjacently. Then, a first difference between the receiving time of the delay test feedback and the sending time of the delay test request is calculated, and a second difference between the time when the main projection device receives the delay test request twice adjacently is calculated. If the absolute value of the difference between any two target differences is less than a preset threshold, the obtained network delay state is a stable state, and the time difference includes a first difference and a second difference; if the absolute value of the difference between two target differences is greater than or equal to the preset threshold, the obtained network delay state is an unstable state.
[0148] For example, Figure 7As shown, the number of target data groups is set to three groups, and the preset threshold is a. The three most recent target data groups before receiving the synchronization information are obtained, including two groups of delay test request (delayrequest) times sent by the slave projection device (Slave) slave_systime2 and slave_systime3, the corresponding delay test feedback (delayresponse) times slave_systime2 and slave_systime3, and a group of two adjacent master projection devices (Master) receiving delay test request times master_systime1 and master_systime2. Among them, the delay test request can be sent immediately after receiving the delay test feedback, so the receiving time of the last delay test feedback is the same as the sending time of the next delay test request. gap1 = slave_systime2-slave_systime1, gap2 = slave_systime3-slave_systime2, gap3 = master_systime2-master_systime1. If |gap1-gap2|<a, |gap1-gap2|<a and |gap2-gap3|<a, the network delay state is a stable state. If |gap1-gap2|≥a, |gap1-gap3|≥a or |gap2-gap3|≥a, the network delay state is an unstable state.
[0149] The embodiments of the present application can reduce the required RTT (Round-Trip Time) when the same number of target differences are required, so that the network stability state is more accurate. RTT refers to the time it takes for data to be sent from the sender to the receiver and for confirmation information to be returned from the receiver. For example, if three sets of differences are required, only two sets of RTTs are needed to determine the network delay state, and if five sets of differences are required, only three sets of RTTs are needed to determine the network delay state...
[0150] In some embodiments, the specific implementation of obtaining the network delay status may also include:
[0151] Obtaining a target network delay time, where the target network delay time includes the network delay time of the most recent preset number of times before receiving synchronization information;
[0152] If the absolute value of the difference between any two target network delay times is less than a preset threshold, the obtained network delay state is a stable state;
[0153] If the absolute value of the difference between two target network delay times is greater than or equal to a preset threshold, the obtained network delay state is an unstable state.
[0154] Exemplarily, the preset number of times is 3 times, the preset threshold is a, and the three most recent network delay times before receiving the synchronization information are delay1, delay2, and delay3. If |delay1-delay2|<a, |delay1-delay3|<a, and |delay2-delay3|<a, the network delay state is a stable state. |delay1-delay2|≥a, |delay1-delay3|≥a, or |delay2-delay3|≥a, the network delay state is an unstable state.
[0155] In the embodiment of the present application, directly determining the network delay state based on the network delay time can reduce the amount of calculation and increase the speed of determining the network delay state, thereby achieving better synchronization effect of the media resources of the main projection device and the slave projection device.
[0156] It should be noted that during the playback of media resources, the reception time of the delay test feedback, the sending time of the delay test request, the time when the main projection device receives the delay test request, and the network delay time can be cached in the slave projection device, and the slave projection device can directly obtain it when needed. The network delay time and network delay status can also be updated according to the above data updated in real time, and the real-time network delay status can be directly obtained after receiving the synchronization information.
[0157] Step S604: when the network delay state is a stable state, updating the synchronization clock of the slave projection device according to the synchronization clock of the master projection device and the network delay time.
[0158] Step S605: when the network delay state is an unstable state, the synchronization clock of the slave projection device is not updated according to the synchronization clock and the network delay time in the synchronization information.
[0159] Different from the mature Precision Time Protocol (PTP), it represents the network delay by half of the mean of the time difference of N RTTs, and the abnormal data of the peak value of the network delay will also be calculated. The PTP protocol only focuses on the calculation of network delay and does not care about the stability of network delay. The embodiment of the present application adds a strategy for determining the stability of network delay, calculates the network delay value when the network is stable, minimizes the impact of network jitter on delay calculation, and improves the accuracy of delay calculation.
[0160] The embodiments of the present application improve the accuracy of synchronous control of multiple projection devices and enhance user experience by flexibly controlling the synchronous clocks of master and slave projection devices, providing network delay jitter validity detection, and calculating network delay.
[0161] In some embodiments, after the main projection device and the slave projection device play the target media, the main projection device receives a progress jump instruction input by the user, updates the synchronization clock of the main projection device, and sends a progress jump request to the slave projection device, the progress jump request includes a jump progress seek pos, wherein the first frame of the jump progress is a key frame.
[0162] After receiving the progress jump request sent by the master projection device, the slave projection device calculates the network delay time and obtains the network delay status. When the network delay status is stable, the synchronization clock of the slave projection device is updated according to the jump progress and network delay time, that is, slave_sync_clk = seek pos + delay, delay is the network delay time calculated in real time. When the network delay status is unstable, the synchronization clock of the slave projection device is updated according to the jump progress and the initial value or historical average value of the network delay time, that is, slave_sync_clk = seek pos + delay', delay' is the default network delay time and the average value of the network delay time over a period of time.
[0163] The embodiments of the present application can avoid the problem of media asset playback following jitter when the network jitters greatly, thereby ensuring both the synchronization control effect and the smoothness of media asset playback.
[0164] In some embodiments, after the main projection device and the slave projection device play the target media, the main projection device receives a pause instruction input by the user, pauses the playing of the target media and sends a pause request to the slave projection device, the pause request including the synchronization clock and pause state of the main projection device. The slave projection device receives the pause request sent by the main projection device and pauses the playing of the target media.
[0165] After receiving the playback command input by the user, the master projection device continues to play the target media and sends a playback request to the slave projection device. The slave projection device receives the playback request sent by the master projection device, pauses the playback of the target media, calculates the network delay time, and obtains the network delay status. When the network delay status is stable, the synchronization clock of the slave projection device is updated according to the synchronization clock of the master projection device and the network delay time. When the network delay status is unstable, the synchronization clock of the slave projection device is updated according to the synchronization clock of the master projection device and the initial value or historical average value of the network delay time. Continue to play the target media with the updated synchronization clock.
[0166] The embodiments of the present application can avoid the problem of media asset playback following jitter when the network jitters greatly, thereby ensuring both the synchronization control effect and the smoothness of media asset playback.
[0167] In some embodiments, the communication timing diagram between the master projection device and the slave projection device can be as follows: Figure 8As shown. After the communication connection between the master projection device and the slave projection device is established, the master projection device sends a play request (Playrequest) to the slave projection device, and the two start playing the same media together. The slave projection device periodically sends a synchronization request (syncrequest) and a delay test request to the master projection device to obtain the network delay time delay, network delay status, and slave_sync_clk. When the master projection device receives a progress jump operation input by the user, it immediately sends a progress jump request to the slave player to make the slave projection device jump the playback progress. The master projection device can send a pause request to the slave projection device, and the slave projection device performs a pause operation.
[0168] In some embodiments, the media resource control method of the main player in the main projection device can be as follows: Fig. 9 As shown. The main player resources are initialized, the QUIC server resources are initialized, and then the QUIC client from the projection device is waited for to connect. After the QUIC server is connected to the QUIC client, it receives the play command input by the user, sends a play request to all clients, and plays the source. Determine whether there is an audio track in the source; if there is an audio track, the synchronization clock master_sync_clk is updated during audio decoding, and master_sync_clk = audio clock; if there is no audio track, the synchronization clock master_sync_clk is updated during video decoding, and master_sync_clk = video clock. After playing the source, wait for the client to send a synchronization request and a delay test request at the same time to send synchronization information including the synchronization clock and delay test feedback including system time. After receiving the pause or progress jump command input by the user, send a pause request or a progress jump request including jump progress to the client. The main player uses master_sync_clk as the reference for playback control during the playback of the source.
[0169] In some embodiments, the method for controlling the media resources of the player from the projection device can be as follows: Fig.10 As shown. Initialize the slave player resources, initialize the QUIC client resources, and then connect to the QUIC server of the main projection device. After receiving the play request from the server, play the source. Initialize slave_sync_clk = video clock. After playing the source, periodically send synchronization requests and delay test requests to the server, and calculate the network delay time, network delay status and update slave_sync_clk based on the returned synchronization information and delay test feedback. After playing the source, if a progress jump request is received, the slave_sync_clk can be updated; if a pause request is received, the pause operation can be performed. The slave player uses slave_sync_clk as the reference for playback control during the playback of the source.
[0170] In some embodiments, the main projection device and the slave projection device need to be calibrated during the process of projecting the screen, so that the image projected by the main projection device is fused with the image projected by the slave projection device to obtain a fused projection image with a display size larger than the image projected by a single projection device. During the calibration process of the main projection device and the slave projection device, the stretching ratio and fusion ratio of the main projection device and the slave projection device can be obtained. The fusion ratio is the proportion of the overlapping area in the fused projection screen projected by the main projection device and the slave projection device.
[0171] Before playing the target media, that is, controlling the optical machine to project the media image of the target media onto the projection medium, the master projection device and the slave projection device can obtain the fusion ratio and the stretching ratio of the projection image, and then stretch the projection image according to the stretching ratio, and then obtain the cropping area and fusion area of the stretched projection image according to the fusion ratio, and finally when controlling the optical machine to project the media image of the target media onto the projection medium, the cropping area in the media image is cropped so as not to display the image corresponding to the cropping area.
[0172] For example, Fig.11 As shown, taking dual projection (left and right screens) as an example, after the above-mentioned synchronous control, opengles is used to post-process the screen image. The left and right screen images are stretched to the same size along the horizontal direction and the stretching ratio a, and the width after stretching is recorded as 1.0. The width c of the cropped area calculated according to the fusion ratio b = (1.0-b) / 2. When the main projection device and the slave projection device project the media image of the target media onto the projection medium, the cropped area in the media image is cropped to not display the image corresponding to the cropped area. However, the image in the fusion area will produce color difference due to the doubling of the overlapping brightness.
[0173] To solve the problem of doubling the brightness of the fusion area, in some embodiments, the master projection device and the slave projection device may project the image of the fusion area at half the brightness, so that the brightness of the fusion area is the same as that of the non-fusion area.
[0174] However, since the calibrated stretching ratio and fusion ratio may not be completely accurate, the calculated fusion area may not completely match the actual fusion area, resulting in particularly prominent bright or dark bands being displayed in the fusion area, thus affecting the user's viewing experience.
[0175] For example, taking dual projection (left and right screens) as an example, Fig.12As shown in (a), after correction, the fusion areas of the left and right screens are B and A respectively, that is, the brightness in the areas of A and B is 0.5. In fact, the fusion area of the left and right screens is C. Since area D is in area A, the brightness of the right screen projected on area D is 0.5, and since area D is not in area B, the brightness of the left screen projected on area D is 1. Therefore, the actual brightness of area D is 1.5. The same is true for area E. Therefore, two brightness stripes will appear. In the example Fig.12 As shown in (b), since area D is in area B, the brightness of the left screen projected on area D is 0.5, and since area D is not in the right screen projection area, the brightness of the left screen projected on area D is 0. Therefore, the actual brightness of area D is 0.5. The same is true for area E. Therefore, two darker stripes appear. Brightness is relative brightness, ranging from 0 to 1.
[0176] In some embodiments, in order to avoid the problem of bright bands or dark bands in fusion, the brightness of the fused area in the media image can be linearly decreased along the target direction, and the target direction is determined by the positional relationship between the slave projection device and the master projection device.
[0177] like Fig.13 As shown in (a), the horizontal axis is the x-coordinate of the pixel point in the fusion area, and the vertical axis is the relative brightness (maximum 1.0). The brightness of the left screen fusion area decreases linearly from left to right. Fig.13 As shown in (b), the brightness of the right screen fusion area is linearly reduced from right to left to ensure that the brightness after fusion is 1.0.
[0178] In the case where the corrected stretching ratio and fusion ratio are not completely accurate, such as Fig.12 As shown in (a), the situation where the brightness is linearly reduced will make the brightness of the D area increase linearly from left to right, thereby avoiding the appearance of stripes with obvious color difference in the D area. The same is true for other situations.
[0179] In some embodiments, Fig.14 As shown, taking two projection devices as an example, the master-slave relationship is determined, a synchronous control connection is established, and then the synchronized images are stretched and cropped respectively, and finally fused and displayed.
[0180] In some embodiments, the timing diagram of the method for synchronously playing media assets can be as follows: Fig.15 As shown. The master projection device and the slave projection device establish a communication connection. After receiving the instruction of playing the target media input by the user, the master projection device sends a play request to the slave projection device, stretches the projection image according to the stretching ratio, and obtains the cropping area and fusion area of the stretched projection image according to the fusion ratio. The media image is projected onto the projection medium, wherein the cropping area does not display the media image, and the brightness of the fusion area decreases linearly from left to right.
[0181] After receiving the playback request, the slave projection device stretches the projected image according to the stretching ratio, and obtains the cropped area and fused area of the stretched projected image according to the fusion ratio. The media image is projected onto the projection medium, where the cropped area does not display the media image, and the brightness of the fused area decreases linearly from right to left. The slave projection device periodically sends synchronization requests and delay test requests to the master projection device. The master projection device returns synchronization information and delay test feedback to the slave projection device. The synchronization information includes the synchronization clock of the master projection device. The slave projection device calculates the network delay time and obtains the network delay status, and when the network delay status is stable, updates the synchronization clock of the slave projection device according to the synchronization clock and network delay time of the master projection device.
[0182] After receiving the progress jump instruction input by the user, the master projection device sends a progress jump request to the slave projection device, and the progress jump request includes the jump progress. The slave projection device calculates the network delay time and obtains the network delay state. When the network delay state is in a stable state, the synchronization clock of the slave projection device is updated according to the jump progress and the network delay time. When the network delay state is in an unstable state, the synchronization clock of the slave projection device is updated according to the jump progress and the initial value or historical average value of the network delay time.
[0183] After receiving the pause instruction input by the user, the master projection device performs a pause operation and sends a pause request to the slave projection device, and the pause request includes the synchronization clock of the master projection device. The slave projection device performs a pause operation. After receiving the play instruction input by the user, the master projection device continues to play the target media asset and sends a play request to the slave projection device. The slave projection device calculates the network delay time and obtains the network delay state. When the network delay state is stable, the synchronization clock of the slave projection device is updated according to the synchronization clock of the master projection device and the network delay time. When the network delay state is unstable, the synchronization clock of the slave projection device is updated according to the synchronization clock of the master projection device and the initial value or historical average value of the network delay time.
[0184] Some embodiments of the present application also provide a computer-readable storage medium, which may store a program. When the computer storage medium is configured in a projection device or a server, the program may include the program steps involved in the method for synchronously playing media resources in the above embodiment when the program is executed. The computer storage medium may be a disk, an optical disk, a read-only storage memory, or a random access memory, etc.
[0185] The embodiment of the present application provides an electronic device, which includes: a processor and a memory for storing instructions executable by the processor. The processor is used to read the executable instructions from the memory and execute the instructions to implement the method for synchronously playing media resources in the above embodiment.
[0186] 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.
[0187] For ease 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 intended 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 projection device, characterized in that: A device configured as a slave projection includes: An optical machine configured to project a projection image onto a projection medium; A controller is coupled to the optical machine and is configured to: After receiving the playback request sent by the main projection device, controlling the optical machine to project the media image of the target media in the playback request onto the projection medium; Sending a synchronization request to the main projection device and receiving synchronization information sent by the main projection device based on the synchronization request, wherein the synchronization information includes a synchronization clock of the main projection device; Calculate network delay time and obtain network delay status; When the network delay state is stable, updating the synchronization clock of the slave projection device according to the synchronization clock of the master projection device and the network delay time, wherein the synchronization clock is used to adjust the playback progress of the target media asset; When the network delay state is an unstable state, the synchronization clock of the slave projection device is not updated according to the synchronization clock in the synchronization information and the network delay time.
2. The projection device according to claim 1, characterized in that: The controller performs calculation of network delay time and is further configured to: Sending a delay test request to the main projection device and receiving a delay test feedback sent by the main projection device based on the delay test request; The network delay time is calculated according to the sending time of the delay test request and the receiving time of the delay test feedback.
3. The projection device according to claim 2, characterized in that: The controller executes obtaining the network delay status and is further configured to: Acquire at least two sets of target data most recently received before receiving the synchronization information, wherein the target data includes the sending time of the delay test request and the receiving time of the delay test feedback, and / or the two consecutive times when the main projection device receives the delay test request; Calculating a first difference between a reception time of the delay test feedback and a sending time of the delay test request; and / or, Calculate a second difference between two consecutive times when the main projection device receives the delay test request; If the absolute value of the difference between any two target difference values is less than a preset threshold, the acquired network delay state is a stable state, and the time difference value includes the first difference value and / or the second difference value; If there exists a difference between two target difference values whose absolute value is greater than or equal to the preset threshold, the obtained network delay state is an unstable state.
4. The projection device according to claim 2, characterized in that: The controller executes obtaining the network delay status and is further configured to: Acquire a target network delay time, wherein the target network delay time includes the network delay time of a most recent preset number of times before receiving the synchronization information; If the absolute value of the difference between any two target network delay times is less than a preset threshold, the obtained network delay state is a stable state; If the absolute value of the difference between two target network delay times is greater than or equal to the preset threshold, the obtained network delay state is an unstable state.
5. The projection device according to claim 1, characterized in that: After controlling the optical machine to project the media asset picture of the target media asset in the playback request onto the projection medium, the controller is further configured to: receiving a progress jump request sent by a main projection device, wherein the progress jump request includes a jump progress; Calculate network delay time and obtain network delay status; When the network delay state is in a stable state, updating the synchronization clock of the slave projection device according to the jump progress and the network delay time; When the network delay state is an unstable state, the synchronization clock of the slave projection device is updated according to the jump progress and the initial value or the historical average value of the network delay time.
6. The projection device according to claim 1, characterized in that: Before the controller controls the optical machine to project the media asset picture of the target media asset in the playback request onto the projection medium, the controller is further configured to: Acquire a fusion ratio and a stretch ratio of the projection picture, wherein the fusion ratio is a ratio of an overlapping area in the fused projection picture projected by the master projection device and the slave projection device to the fused projection picture; stretching the projection picture according to the stretching ratio; Acquire a cropping area and a fusion area of the stretched projection image according to the fusion ratio; When controlling the optical machine to project the media image of the target media onto the projection medium, the cropped area in the media image is cropped so as not to display the image corresponding to the cropped area, and the brightness of the fused area in the media image is linearly decreased along a target direction, and the target direction is determined by the positional relationship between the slave projection device and the master projection device.
7. A projection device, characterized in that: Configured as the main projection device, including: An optical machine configured to project a projection image onto a projection medium; A controller is coupled to the optical machine and is configured to: After receiving an instruction from a user to play the target media, controlling the optical machine to project the media image of the target media onto the projection medium, and sending a play request to a slave projection device so that the slave projection device plays the target media; Receive a synchronization request sent by the slave projection device, and send synchronization information to the slave projection device based on the synchronization request, so that the slave projection device updates the synchronization clock of the slave projection device according to the synchronization clock of the master projection device and the network delay time when the network delay state is stable; when the network delay state is unstable, the synchronization clock of the slave projection device is not updated according to the synchronization clock and the network delay time in the synchronization information, the synchronization information includes the synchronization clock of the master projection device, and the synchronization clock is used to adjust the playback progress of the target media asset.
8. The projection device according to claim 7, characterized in that: Before the controller controls the optical machine to project the media asset picture of the target media asset onto the projection medium, the controller is further configured to: Acquire a fusion ratio and a stretch ratio of the projection picture, wherein the fusion ratio is a ratio of an overlapping area in the fused projection picture projected by the master projection device and the slave projection device to the fused projection picture; stretching the projection picture according to the stretching ratio; Acquire a cropping area and a fusion area of the stretched projection image according to the fusion ratio; When controlling the optical machine to project the media image of the target media onto the projection medium, the cropped area in the media image is cropped so as not to display the image corresponding to the cropped area, and the brightness of the fused area in the media image is linearly decreased along a target direction, and the target direction is determined by the positional relationship between the slave projection device and the master projection device.
9. A method for synchronously playing media resources, characterized in that: Applicable to projection equipment, including: After receiving the playback request sent by the main projection device, controlling the optical machine to project the media image of the target media in the playback request onto the projection medium; Sending a synchronization request to the main projection device and receiving synchronization information sent by the main projection device based on the synchronization request, wherein the synchronization information includes a synchronization clock of the main projection device; Calculate network delay time and obtain network delay status; When the network delay state is stable, updating the synchronization clock of the slave projection device according to the synchronization clock of the master projection device and the network delay time, wherein the synchronization clock is used to adjust the playback progress of the target media asset; When the network delay state is an unstable state, the synchronization clock of the slave projection device is not updated according to the synchronization clock in the synchronization information and the network delay time.
10. A method for synchronously playing media resources, characterized in that: Applicable to main projection equipment, including: After receiving an instruction from a user to play the target media, controlling the optical machine to project the media image of the target media onto the projection medium, and sending a play request to the slave projection device so that the slave projection device plays the target media; Receive a synchronization request sent by the slave projection device, and send synchronization information to the slave projection device based on the synchronization request, so that the slave projection device updates the synchronization clock of the slave projection device according to the synchronization clock of the master projection device and the network delay time when the network delay state is stable; when the network delay state is unstable, the synchronization clock of the slave projection device is not updated according to the synchronization clock and the network delay time in the synchronization information, the synchronization information includes the synchronization clock of the master projection device, and the synchronization clock is used to adjust the playback progress of the target media asset.
Citation Information
Patent Citations
Clock calibration method and apparatus
CN109392074A
Clock synchronization method and device, terminal and storage medium
CN112910592A
Time delay estimation period dynamic adjustment method oriented to network time delay jitter
CN114157381A
Method and device for time service of industrial network communication slave station to master station
CN117294380A
Removing delay fluctuation in network time synchronization
CN1997027A