Screen projection method of multi-core system, multi-core system, electronic device and storage medium
By introducing a dual data transmission mechanism of screen projection path and network path in the multi-core system, the problems of low data interaction efficiency and insufficient stability between core chips are solved, and efficient and stable data transmission and system operation are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- PATEO CONNECT (NANJING) CO LTD
- Filing Date
- 2024-12-04
- Publication Date
- 2026-06-05
AI Technical Summary
In multi-core systems, data interaction between core chips suffers from inefficiency and instability, especially during screen projection data transmission, which may lead to increased system load and instability.
By introducing a dual data transmission mechanism of screen mirroring and network channels in a multi-core system, the screen mirroring channel is used first for data interaction to reduce the encoding and decoding burden, and the network channel is switched to as a backup transmission when the screen mirroring channel fails, thus ensuring the stability of data transmission.
It improves the data transmission efficiency and stability of multi-core systems, reduces system load, ensures that the system can still operate normally when the projection chip fails, and improves system robustness and user experience.
Smart Images

Figure CN122152253A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of this application relate to the field of computer technology, and more specifically, to a screen projection method for a multi-core system, a multi-core system, an electronic device, and a storage medium. Background Technology
[0002] As terminal functions become increasingly sophisticated, their computing power demands are also growing. However, the computing power of a single chip is limited, which may prevent it from meeting the computing power requirements of terminal functions. To address this, some terminals have adopted a multi-core system architecture, which incorporates two or more core chips. These core chips work together to provide powerful computing capabilities and meet the terminal's computing needs.
[0003] However, in multi-core system architectures, core chips typically need to interact with each other to perform data processing functions. Therefore, how these core chips interact with each other becomes a key concern. Summary of the Invention
[0004] The embodiments of this application provide a screen projection method, a multi-core system, an electronic device, and a storage medium for a multi-core system that can at least partially solve the above-mentioned problems or other problems existing in the prior art.
[0005] One embodiment of this application provides a screen mirroring method for a multi-core system. The multi-core system includes a first core chip, a second core chip, a screen mirroring chip, and a network chip. The first core chip is deployed with a chip-based screen mirroring client program and a network-based screen mirroring client program. The chip-based screen mirroring client program is used to acquire screen mirroring data transmitted from the second core chip by the screen mirroring chip, and the network-based screen mirroring client program is used to acquire screen mirroring data transmitted from the second core chip by the network chip. This screen mirroring method is applied to the first core chip and includes: in response to the chip-based screen mirroring client program failing to acquire screen mirroring data, sending a prompt message to the second core chip and calling the network-based screen mirroring client program to acquire screen mirroring data; in response to the network-based screen mirroring client program successfully acquiring screen mirroring data, outputting display data based on the screen mirroring data acquired by the network-based screen mirroring client program.
[0006] Another embodiment of this application provides a screen mirroring method for a multi-core system. The multi-core system includes a first core chip, a second core chip, a screen mirroring chip, and a network chip. The second core chip is equipped with a screen mirroring service program. The screen mirroring method is applied to the second core chip and includes: sending screen mirroring data to the first core chip through a screen mirroring path constructed by the screen mirroring chip; in response to receiving a prompt message from the first core chip, invoking the screen mirroring service program to obtain the screen mirroring data, and sending the screen mirroring data to the first core chip through a network path constructed by the network chip.
[0007] Another embodiment of this application provides a multi-core system, including: a projection chip, a network chip, a first core chip, and a second core chip. The projection chip is used to construct a projection path. The network chip is used to construct a network path. The first core chip is deployed with a chip projection client program and a network projection client program. The chip projection client program is used to acquire projection data transmitted by the projection chip, and the network projection client program is used to acquire projection data transmitted by the network chip. The second core chip is deployed with a projection service program and configured to send projection data to the first core chip through the projection path; in response to receiving a prompt message from the first core chip, it calls the projection service program to acquire the projection data and sends the projection data to the first core chip through the network path. The first core chip is further configured to: in response to the chip projection client program failing to acquire projection data, send a prompt message to the second core chip and call the network projection client program to acquire projection data; in response to the network projection client program successfully acquiring projection data, output display data based on the projection data acquired by the network projection client program.
[0008] Another embodiment of this application provides an electronic device, including at least one processor and a memory. The memory is communicatively connected to the at least one processor and stores instructions executable by the at least one processor. These instructions are executed by the at least one processor to enable the at least one processor to perform the screen projection method for a multi-core system as described in the above embodiments.
[0009] Another embodiment of this application provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the screen projection method for a multi-core system as described in the above embodiments.
[0010] According to one embodiment of this application, a screen mirroring method, multi-core system, electronic device, and storage medium for a multi-core system allow data interaction between a first core chip and a second core chip via a screen mirroring path and a network path. When the screen mirroring path is available, it is prioritized for data interaction, reducing the burden on the chip during encoding and decoding and lowering the load on the multi-core system. If the screen mirroring path is affected, causing data interaction failure, the network path can be used to transmit the screen mirroring data. By using the network path as a backup for the screen mirroring path, the multi-core system can still be used even if the screen mirroring chip is unusable, improving the stability of the multi-core system.
[0011] In some embodiments of this application, the screen projection method applied to the first core chip further includes: in response to receiving a screen projection data acquisition instruction from the application layer, sending a data acquisition request to the second core chip, wherein the data acquisition request instructs the second core chip to transmit screen projection data through the screen projection chip.
[0012] In some embodiments of this application, the screen projection method applied to the first core chip further includes: in response to the successful acquisition of screen projection data by the chip screen projection client program, verifying the screen projection data acquired by the chip screen projection client program; in response to the failure of verification of the screen projection data acquired by the chip screen projection client program, sending a prompt message to the second core chip and calling the network screen projection client program to acquire screen projection data.
[0013] In some embodiments of this application, outputting display data based on screen projection data obtained by the network screen projection client program includes: verifying the screen projection data obtained by the network screen projection client program; in response to successful verification of the screen projection data obtained by the network screen projection client program, outputting display data based on the screen projection data obtained by the network screen projection client program; in response to failure in both verification of the screen projection data obtained by the network screen projection client program and verification of the screen projection data obtained by the chip screen projection client program, determining that the data source of the screen projection data is abnormal, and sending a data source abnormality message to the second core chip; in response to receiving new screen projection data re-obtained from the data source by the second core chip and successful verification of the new screen projection data, outputting display data based on the new screen projection data.
[0014] In some embodiments of this application, outputting display data based on screen projection data obtained by a network screen projection client program includes: hiding a first layer used to draw the screen projection data obtained by the chip screen projection client program; drawing a second layer based on the screen projection data obtained by the network screen projection client program; and outputting display data based on the second layer.
[0015] In some embodiments of this application, after outputting display data based on the second layer, the screen projection method applied to the first core chip further includes: in response to the chip screen projection client program successfully acquiring screen projection data, drawing the first layer based on the screen projection data acquired by the chip screen projection client program; closing the network screen projection client program; and outputting display data based on the first layer.
[0016] In some embodiments of this application, a first core chip is deployed with a first program, and a second core chip is deployed with a second program. The instrument data generated by the first program is displayed in a first window of the display screen, and the projection data generated by the second program is displayed in a second window of the display screen. The projection method applied to the first core chip further includes: in response to the chip projection client program failing to acquire projection data, outputting a masking image corresponding to the second program to the second window; and in response to the network projection client program successfully acquiring projection data, stopping the output of the masking image.
[0017] In some embodiments of this application, the screen projection method applied to the first core chip further includes: setting a mask image for the second program in response to the second program's historical startup duration being greater than the first duration.
[0018] In some embodiments of this application, the masking image corresponding to the second program includes a masking image of at least one operating mode; outputting the masking image corresponding to the second program to the second window includes: determining the masking image of the second program in the current operating mode; and outputting the determined masking image to the second window. Attached Figure Description
[0019] Other features, objects, and advantages of this application will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings. Wherein:
[0020] Figure 1 This is a schematic block diagram of a system for screen mirroring of a multi-core system applicable to the embodiments of this application;
[0021] Figure 2 This is a flowchart illustrating the screen projection method according to the first embodiment of this application;
[0022] Figure 3 This is a flowchart illustrating the screen projection method according to the second embodiment of this application;
[0023] Figure 4 This is a schematic diagram of a screen layer according to some embodiments of this application;
[0024] Figure 5 This is a flowchart illustrating the screen projection method according to the third embodiment of this application;
[0025] Figure 6 This is a schematic block diagram of a multi-core system according to some embodiments of this application;
[0026] Figure 7 These are schematic block diagrams of electronic devices according to some embodiments of this application. Detailed Implementation
[0027] To better understand this application, various aspects of this application will be described in more detail with reference to the accompanying drawings. It should be understood that these detailed descriptions are merely illustrative of exemplary embodiments of this application and are not intended to limit the scope of this application in any way. The expression "and / or" includes any and all combinations of one or more of the associated listed items.
[0028] Unless otherwise specified, all terms used herein (including engineering and technical terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains. It should also be understood that, unless expressly stated herein, terms defined in common dictionaries shall be interpreted as having the meaning consistent with their meaning in the context of the relevant art, and not as having an idealized or overly formalized meaning.
[0029] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. Furthermore, unless explicitly limited or contradicted by the context, the specific steps included in the methods described in this application are not limited to the order in which they are described, but can be performed in any order or in parallel. This application will now be described in detail with reference to the accompanying drawings and embodiments.
[0030] Figure 1 This is a schematic block diagram of a screen mirroring method for multi-core systems applicable to embodiments of this application. For example... Figure 1 As shown, system 100 may include a multi-core system 110 and a display screen 120. The multi-core system 110 may include a first core chip 111 and a second core chip 112. The first core chip 111 and the second core chip 112 are connected and can interact with each other.
[0031] In some implementations, the first core chip 111 can be connected to the display screen 120, and the first core chip 111 can transmit display data to the display screen 120, thereby controlling the display screen 120 to output the desired interface.
[0032] In some implementations, the multi-core system 110 may further include a projection chip 113 and a network chip 114. The projection chip 113 is used to establish a projection path. The network chip 114 is used to establish a network path. The first core chip 111 and the second core chip 112 can interact with each other based on the projection path and the network path.
[0033] In some implementations, the projection chip 113 refers to a chip that has at least three functions: receiving DSI (Display Serial Interface) data, converting DSI to CSI (Camera Serial Interface) data, and transmitting CSI data. Specifically, during the data interaction between the first core chip 111 and the second core chip 112 through the projection chip 113, the projection chip 113 directly transmits YUV (a color encoding method) or RGB (Red-Green-Blue) data using a DSI-to-CSI conversion method. No encoding or decoding is required between transmission and reception, resulting in low transmission latency and a relatively low load on the chips transmitting and receiving data.
[0034] In some implementations, network chip 114 refers to a chip that transmits data based on TCP / IP (Transmission Control Protocol / Internet Protocol). During data interaction between the first core chip 111 and the second core chip 112 via network chip 114, the sending chip first encodes the data, and then sends the encoded data to the receiving chip through network chip 114. The receiving chip decodes the received data before using it.
[0035] In some implementations, the first core chip 111 is equipped with a chip projection client program 1111 and a network projection client program 1112. The chip projection client program 1111 is used to obtain projection data transmitted by the projection chip 113, and the network projection client program 1112 is used to obtain projection data transmitted by the network chip 114.
[0036] The second core chip 112 is equipped with a screen mirroring service program 1121. This program can be used to capture screen mirroring data from the data to be displayed by the second core chip 112 through methods such as screenshotting. The second core chip 112 sends screen mirroring data to the first core chip 111 via the screen mirroring channel; in response to receiving a prompt message from the first core chip 111, it calls the screen mirroring service program to obtain the screen mirroring data and sends it back to the first core chip 111 via the network channel.
[0037] Based on the above configuration, the first core chip 111, in response to the failure of the chip projection client program 1111 to obtain projection data, sends a prompt message to the second core chip 112 and calls the network projection client program 1112 to obtain projection data; in response to the successful acquisition of projection data by the network projection client program 1112, it outputs display data based on the projection data obtained by the network projection client program 1112.
[0038] In some implementations, the first core chip 111 responds to the chip projection client program 1111 successfully acquiring projection data, and outputs display data based on the projection data acquired by the chip projection client program 1111.
[0039] It should be understood that, without departing from the teachings of this application, the projection chip and the network chip may be deployed on a circuit board on which the first core chip is arranged, or on a circuit board on which the second core chip is arranged, or on other circuit boards that are different from the circuit board on which the first core chip and the second core chip are arranged. This application does not limit the deployment method of the projection chip and the network chip.
[0040] According to some embodiments of this application, the first core chip and the second core chip can interact with each other via a projection path and a network path. When the projection path is available, it is prioritized for data interaction, reducing the burden on the chip during encoding and decoding, and lowering the load on the multi-core system. If the projection path is affected and data interaction fails, the network path can be used to transmit the projection data. By using the network path as a backup for the projection path, the multi-core system can still be used even if the projection chip is unavailable, improving the stability of the multi-core system.
[0041] For ease of understanding, the following is an exemplary description of the screen projection method between chips in the multi-core system 110.
[0042] Figure 2 This is a schematic flowchart of a screen projection method according to a first embodiment of this application. This screen projection method 200 can be executed by a first core chip. For example... Figure 2 As shown, the screen projection method 200 applied to the first core chip may include the following steps:
[0043] Step 201: In response to the failure of the chip-based screen mirroring client program to obtain screen mirroring data, a prompt message is sent to the second core chip, and the network screen mirroring client program is invoked to obtain screen mirroring data.
[0044] In this embodiment, during the data interaction between the first core chip and the second core chip, the first core chip preferentially obtains the projection data from the projection path through the chip projection client program. Since no encoding or decoding operations are required during the projection data interaction on the projection path, the burden on the first and second core chips can be reduced.
[0045] In this embodiment, if the first core chip determines that the chip-based screen mirroring client program has successfully acquired screen mirroring data, it can determine and output display data based on the screen mirroring data acquired from the screen mirroring channel by the chip-based screen mirroring client program, thereby displaying the data. If the first core chip determines that the chip-based screen mirroring client program has failed to acquire screen mirroring data, it can send a prompt message to the second core chip and call the network screen mirroring client program to acquire screen mirroring data. The prompt message can be used to notify the second core chip to switch to the network channel for screen mirroring data transmission.
[0046] As an alternative, after confirming that the chip-based screen mirroring client program has successfully acquired the screen mirroring data, the first core chip can verify the acquired data. If the verification fails, it sends a notification message to the second core chip, which then calls the network screen mirroring client program to acquire the screen mirroring data. If the verification is successful, the chip-based screen mirroring client program can determine and output the display data based on the data acquired from the screen mirroring channel. In this example, the first core chip verifies the screen mirroring data upon acquisition and only displays the data after successful verification, reducing the probability of screen flickering or other issues. If the verification fails, the first core chip calls the network screen mirroring client program to acquire the screen mirroring data, switching to the network channel, which improves system stability.
[0047] In some embodiments of this application, the chip-based screen mirroring client program can be a program used to acquire data from the CSI interface. For example, during data interaction via the screen mirroring chip, the screen mirroring chip acts as a display for the second core chip. The second core chip transmits DSI data to the screen mirroring chip. For the first core chip, the screen mirroring chip acts as a data acquisition device such as a camera. The screen mirroring chip converts the data transmitted by the second core chip into CSI data and transmits it to the CSI interface of the first core chip. The process of the first core chip running the chip-based screen mirroring client program to acquire screen mirroring data is equivalent to the first core chip acquiring screen mirroring data from the CSI interface.
[0048] In some embodiments of this application, the network projection client program can be a program used to obtain data from a TCP / IP interface. For example, during data interaction via the network chip, the second core chip compresses the projection data and transmits the compressed data to the first core chip through the network path constructed by the network chip. The process of the first core chip running the network projection client program to obtain projection data is equivalent to the process of the first core chip obtaining the compressed projection data from the TCP / IP interface and decompressing it to obtain the projection data.
[0049] It should be understood that, without departing from the teachings of this application, the first core chip may launch the chip projection client program after the multi-core system boots up, or it may launch the chip projection client program after determining that there is a data interaction requirement with the second core chip. This application does not restrict the timing of launching the chip projection client program.
[0050] It should be understood that, without departing from the teachings of this application, the network projection client program may be launched after determining that the chip projection client program has failed to obtain projection data, or it may be launched simultaneously with the chip projection client program. This application does not restrict the timing of the launch of the network projection client program.
[0051] In some embodiments of this application, after receiving a screen projection data acquisition instruction from the application layer, the first core chip can send a data acquisition request to the second core chip. The data acquisition request instructs the second core chip to transmit screen projection data through the screen projection chip. For example, if it is necessary to display or reprocess the data from the second core chip before displaying it, and the display on the screen is controlled by the first core chip, the application layer can transmit a screen projection data acquisition instruction. After receiving the screen projection data acquisition instruction from the application layer, the first core chip sends a data acquisition request to the second core chip. Upon receiving the data acquisition request, the second core chip transmits the screen projection data through the screen projection chip.
[0052] It should be understood that, without departing from the teachings of this application, the transmission of screen projection data between the first core chip and the second core chip can also be triggered in other ways. For example, the second core chip can receive instructions from the application layer and then transmit screen projection data to the first core chip. This application does not limit the way in which the transmission of screen projection data between the first core chip and the second core chip is triggered.
[0053] Step 202: In response to the network screen mirroring client program successfully obtaining screen mirroring data, output display data based on the screen mirroring data obtained by the network screen mirroring client program.
[0054] In this embodiment, after the first core chip calls the network casting client program to obtain casting data, if it determines that the network casting client program has successfully obtained the casting data, it can output display data based on the casting data obtained by the network casting client program. In this example, using the network path as a backup casting path can improve the system stability of the multi-core system.
[0055] Alternatively, after obtaining the projection data through the network projection client, the first core chip can also verify the projection data to ensure effective display. For example, the first core chip verifies the projection data obtained by the network projection client program; if the verification is successful, it outputs display data based on the projection data obtained by the network projection client program; if both the network projection client program and the chip's projection client program fail to verify the projection data, it determines that the data source of the projection data is abnormal and sends a data source abnormality message to the second core chip. In other words, if the projection data transmitted through both the network and projection paths fails verification, it indicates that the reason for the projection data verification failure may not be in the data transmission path, but rather in the data source itself. In this case, the first core chip can send a data source abnormality message to the second core chip to notify it that the data source may be abnormal. After receiving the data source abnormality message, the second core chip can either re-obtain the projection data from the data source or verify the sent projection data to further determine the cause of the abnormality. It can be understood that the measures taken by the second core chip after receiving an abnormal message from the data source can be configured as needed, and are not listed here. Optionally, the second core chip can retrieve new projection data from the data source and transmit the new projection data to the first core chip. If the first core chip receives the new projection data retrieved from the data source by the second core chip and the new projection data is successfully verified, it can output display data based on the new projection data. In this example, if there is a problem with the data output from the data source, the second core chip can be controlled to retrieve projection data from the data source again to attempt to resolve the problem of projection data verification failure, thereby improving the robustness of the system.
[0056] It should be understood that, without departing from the teachings of this application, the verification method used by the first core chip to verify the projection data can be set according to the data type of the projection data, the required verification precision, etc. This application does not restrict the verification method.
[0057] It should be understood that, without departing from the teachings of this application, the data source mentioned in this embodiment can be a program of the second core chip itself, or it can be an external device relative to the second core chip. For example, in a multi-core system applied to the vehicle field, the data source may be other data acquisition or data processing devices such as radar that transmit data with the second core chip. This application does not limit the type of data source.
[0058] In some embodiments of this application, after the chip-based screen mirroring client program fails to obtain screen mirroring data, the first core chip can detect and repair the screen mirroring path. If the repair is successful, the chip-based screen mirroring client program can be used again to obtain screen mirroring data from the screen mirroring path after the next screen mirroring service startup. If the repair fails, the network screen mirroring client program can continue to be used to obtain screen mirroring data. The detection process of the screen mirroring path may include, for example, notifying the second core chip to send data packets through the screen mirroring path at regular intervals, and detecting whether the screen mirroring path has been successfully repaired by checking whether the data packets are successfully received. The data packets can be pre-configured specified data packets or a portion of the screen mirroring data currently being transmitted by the second core chip; no limitation is made here. The repair process of the screen mirroring path may include, for example, sending control commands to the screen mirroring chip to control the screen mirroring chip to restart. In this example, the first core chip detects and repairs the screen mirroring path after the chip-based screen mirroring client program fails to obtain screen mirroring data, and can quickly switch back to transmitting screen mirroring data through the screen mirroring path after the screen mirroring path is repaired, reducing the burden on both the second and first core chips.
[0059] It should be understood that, without departing from the teachings of this application, the detection and repair processes of the chip projection client can be set according to project requirements, etc., and this application does not impose any restrictions on them.
[0060] In some embodiments of this application, a first core chip is deployed with a first program, and a second core chip is deployed with a second program. The instrument data generated by the first program is displayed in a first window of the display screen, and the screen projection data generated by the second program is displayed in a second window of the display screen. In this example, displaying different data through different windows can reduce layer complexity.
[0061] It should be understood that, without departing from the teachings of this application, the number of windows in the display screen and the data displayed in each window can be designed according to project needs. For example, the display screen may also include a third window and a fourth window, wherein the third window may be used to display image data related to functions such as voice, and the fourth window may be used to display data related to entertainment information. This application does not impose any limitations on this.
[0062] In some embodiments of this application, the first core chip can output a masking image corresponding to the second program to the second window after the chip-based screen mirroring client program fails to acquire the screen mirroring data. The first core chip stops outputting the masking image after determining that the network screen mirroring client program has successfully acquired the screen mirroring data. In this embodiment, in the event of a screen mirroring data reception failure, the first core chip outputs a masking image corresponding to the second program to the second window to reduce the impact of a black screen on the user experience. By covering the undisplayed area of the instrument display screen with the masking image, the user's visual experience can be improved, and the abruptness of the transition from no display to display on the instrument display screen can be reduced.
[0063] It should be understood that, without departing from the teachings of this application, the masking image corresponding to the second procedure may be a default configured image or a custom image, and the image may be a static image or a dynamic image, which is not limited by this application.
[0064] In some embodiments of this application, the first core chip can send data to be processed to the second core chip. This data is then processed by a second program to obtain the projection data. In other words, during the design of a multi-core system, a portion of the functional programs can be deployed on the second core chip. When this portion of the functional program needs to be used, the relevant data required by that portion of the functional program (i.e., the data to be processed) is transmitted to the second core chip. After obtaining the relevant data, the second core chip calls the relevant functional program to process the data and returns the processing result as projection data to the first core chip. In this embodiment, deploying a portion of the functional programs on the second core chip can reduce the data processing pressure on the first core chip, thereby improving the response speed of the entire multi-core system.
[0065] As an example, the functional programs deployed on the second core chip are computationally intensive. For instance, the data to be processed may include map data and vehicle sensor data, the second program includes an intelligent driving assistance program, and the projected data includes intelligent driving image data. The second core chip can synthesize the map data and vehicle sensor data transmitted from the first core chip through the intelligent driving assistance program to obtain intelligent driving image data. After this intelligent driving image data is transmitted to the first core chip, it is displayed on the second window of the instrument panel to assist the driver in driving. The processing logic of the second core chip in synthesizing the map data and vehicle sensor data can be determined according to the requirements of the vehicle's intelligent driving project, interface design requirements, etc., and is not limited here.
[0066] It should be understood that, without departing from the teachings of this application, the data to be processed may be other types of data, and the second program may be other applications or underlying software. The data type of the data to be processed and the function of the second program may be determined according to the display content of the second window designed in the instrument display screen, and this application does not limit them.
[0067] In some embodiments of this application, the first core chip sets a mask image for a portion of the second program deployed on the second core chip in a targeted manner, so as to reduce the poor user visual experience caused by the rapid startup of the second program and the short-term image switching of the instrument display screen.
[0068] For example, in a system startup scenario, the first core chip can set a masking image for a second program with a long startup time. Specifically, the first core chip can determine the historical startup time of the second program, and set a masking image for the second program after determining that the historical startup time of the second program is greater than a preset first time. Specifically, since a second program with a long historical startup time is more likely to have a long startup time in each startup process, the first core chip can obtain the historical startup time of each second program on the second core chip, and set a masking image for the second program if the historical startup time of that second program is greater than a preset first time, in order to reduce the possibility of a black screen appearing in the instrument program due to the second program not starting in time.
[0069] It should be understood that, without departing from the teachings of this application, the first core chip may also set a mask image for all second programs deployed on the second core chip, and this application does not limit the second programs that need to set a mask image.
[0070] It should be understood that, without departing from the teachings of this application, if the display screen is an instrument display screen, the first duration can be determined based on data such as the startup duration of the instrument display screen and the duration from startup to output of instrument data in the first core chip. For example, the first duration is equal to the duration from startup to output of instrument data in the first core chip plus a smaller duration, which can be in the range of seconds or milliseconds. This application does not limit the value of the first duration.
[0071] Alternatively, the first core chip can determine the historical startup duration of the second program based on the single startup duration corresponding to the most recent N startup processes of the second program, where N is a positive integer. For example, the first core chip can obtain the single startup duration corresponding to the most recent N startup processes of the second program. Here, N is a positive integer, and its value can be any value between 2 and 10; a value greater than 10 can also be selected when needed. Based on the single startup duration corresponding to the most recent N startup processes of the second program, the first core chip can calculate the historical startup duration of the second program.
[0072] To facilitate understanding, the following example illustrates how to calculate the historical startup time of the second program based on the single startup time corresponding to the most recent N startup processes of the second program.
[0073] As an example, the first core chip can calculate the average of the single startup durations corresponding to the most recent N startup processes of the second program as the historical startup duration of the second program.
[0074] As another example, the first core chip can calculate the average of the single startup durations corresponding to the most recent N startup processes of the second program as the historical startup duration of the second program. For example, the first core chip can assign different weights to the single startup durations corresponding to the most recent N startup processes of the second program based on exponential smoothing, where the single startup duration most recent than the current time has a higher weight, and its weight gradually decreases over time. The first core chip calculates a weighted average based on each single startup duration and its weight to obtain the historical startup duration.
[0075] It should be understood that, without departing from the teachings of this application, the first core chip may also use other methods to calculate the historical startup time of the second program, and this application does not restrict the method of calculating the historical startup time of the second program.
[0076] It should be understood that, without departing from the teachings of this application, the single startup duration of the second program on the second core chip can be determined by the time when the first core chip detects the heartbeat packet of the second program and the startup time of the multi-core system, or it can be statistically analyzed by the second core chip itself and the statistical results sent to the first core chip. This application does not restrict the method for determining the single startup duration of the second program.
[0077] It should be understood that, without departing from the teachings of this application, the historical startup duration of the second program on the second core chip can be determined by the first core chip, or it can be determined by the second core chip and then sent to the first core chip. This application does not restrict the device for determining the historical startup duration of the second program.
[0078] Alternatively, the masking image corresponding to the second program may include a masking image for at least one operating mode. The process of the first core chip outputting the masking image corresponding to the second program to the second window may include: determining the masking image of the second program in the current operating mode; and outputting the determined masking image to the second window. For example, a multi-core system may be configured with two or more operating modes. The masking image corresponding to the second program may be the same or different in each operating mode. If the masking images corresponding to the second program differ in different operating modes, the first core chip, before determining whether it has acquired the projection data for the second program, determines the masking image of the second program in the current operating mode based on the current operating mode. After determining the masking image in the current operating mode, the first core chip outputs the masking image to the second window, making the visual effect of the second window more consistent with the current operating mode, reducing visual differences between different windows, and improving the user's visual experience.
[0079] As an example, a multi-core system can be configured with two operating modes: day mode and night mode. The theme color (or the theme color of the first window) of the multi-core system differs between day mode and night mode; for example, the theme color is white in day mode and black in night mode. After startup, before receiving screen projection data from the second program, or in the event of a screen projection data interruption, the first core chip can infer whether the current operating mode is day mode or night mode based on its network connection time or other data, combined with the set switching rules for day mode and night mode. The first core chip then determines the masking image corresponding to the second program in the current operating mode based on the inferred day mode or night mode. The difference between the masking image corresponding to the second program in day mode and the masking image corresponding to the second program in night mode can be the background color; for example, the background color of the masking image corresponding to the second program in day mode can be white, and the background color of the masking image corresponding to the second program in night mode can be black. The difference can also be in other aspects, such as different image content; this application does not limit this.
[0080] It should be understood that, without departing from the teachings of this application, the switching rules for daytime and nighttime modes can be set according to project needs. For example, the switching rules can indicate that if the current network connection time falls within a predetermined time period of the day, the current operating mode switches to daytime mode; otherwise, the current operating mode switches to nighttime mode. The predetermined time period can be from 7:00 AM to 6:00 PM, or other time periods, without limitation. As another example, the switching rules can indicate that if the current ambient brightness falls within a first brightness range, the current operating mode switches to daytime mode; otherwise, the current operating mode switches to nighttime mode. The first brightness range can be a range of brightness values greater than a predetermined brightness threshold. The predetermined brightness threshold can be set based on experience, etc., without limitation. This application does not restrict the switching rules for daytime and nighttime modes.
[0081] It should be understood that, without departing from the teachings of this application, the number and distinction of operating modes of a multi-core system can be set according to project needs. For example, operating modes can be divided into fast driving mode and slow driving mode, with different display styles in the two modes. For instance, in the display style corresponding to fast driving mode, images and text are enlarged, while in the display style corresponding to slow driving mode, images and text are displayed according to default settings. This application does not impose any limitations on this.
[0082] In some embodiments of this application, the multi-core system can be applied to the vehicle field; that is, the multi-core system can be a vehicle multi-core system. Since the vehicle field has very high requirements for system stability and requires fault-tolerance mechanisms to ensure that the system can still be used when the dedicated projection chip fails to function properly, the projection method of the multi-core system mentioned in the embodiments of this application can use a network path as a backup for the projection path. This ensures that the multi-core system can still be used even when the projection chip fails, improving the stability of the multi-core system and guaranteeing vehicle safety.
[0083] According to some embodiments of this application, the first core chip and the second core chip can interact with each other via a projection path and a network path. When the projection path is available, it is prioritized for data interaction, reducing the burden on the chip during encoding and decoding, and lowering the load on the multi-core system. If the projection path is affected and data interaction fails, the network path can be used to transmit the projection data. By using the network path as a backup for the projection path, the multi-core system can still be used even if the projection chip is unavailable, improving the stability of the multi-core system.
[0084] Figure 3 This is a flowchart illustrating a screen projection method according to a second embodiment of this application. This embodiment is largely the same as the first embodiment, with the main difference being that the process of outputting and displaying data is explained exemplarily. For example... Figure 3 As shown, the screen mirroring method 300 may include the following steps:
[0085] Step 301: In response to the failure of the chip-based screen mirroring client program to obtain screen mirroring data, a prompt message is sent to the second core chip, and the network screen mirroring client program is called to obtain screen mirroring data.
[0086] In this embodiment, step 301 and Figure 2 The steps shown in step 201 are roughly the same, and will not be repeated here.
[0087] Step 302: In response to the network screen mirroring client program successfully obtaining screen mirroring data, hide the first layer used to draw the screen mirroring data obtained by the chip screen mirroring client program.
[0088] In this embodiment, the screen layer corresponding to the display screen may include a first layer and a second layer. For example, Figure 4 This is a schematic diagram of a screen layer according to some embodiments of this application. For example... Figure 4 As shown, screen layer 400 may include a first layer 410 and a second layer 420. The first layer 410 can be used to draw the projection data obtained by the chip projection client program. The second layer 420 can be used to draw the projection data obtained by the network projection client program. The first layer 410 is the upper layer of the second layer 420. When an image is drawn on the first layer 410, screen layer 400 displays the content of the first layer 410; when the first layer 410 is hidden, screen layer 400 displays the content of the second layer 420.
[0089] In this embodiment, after the network screen projection client program successfully obtains the screen projection data, the first core chip can hide the first layer 410 so that the content on the second layer 420 located below can be displayed.
[0090] It should be understood that, without departing from the teachings of this application, the method of hiding the first layer can be set as needed, for example, the first layer can be set to transparent, and this application does not limit this.
[0091] Step 303: Draw the second layer based on the screen casting data obtained from the network screen casting client program.
[0092] In this embodiment, if the chip-based screen mirroring client program fails to obtain screen mirroring data, but the network screen mirroring client program successfully obtains screen mirroring data, the first core chip can draw a second layer based on the screen mirroring data obtained by the network screen mirroring client program, thereby realizing the display of screen mirroring data.
[0093] It should be understood that, without departing from the teachings of this application, the process by which the first core chip draws the second layer based on the screen projection data obtained by the network screen projection client program can be either drawing the screen projection data on the second layer or combining the screen projection data with other data and drawing them together on the second layer. This application does not limit the process of drawing the second layer based on the screen projection data.
[0094] Step 304: Output display data based on the second layer.
[0095] In this embodiment, the first core chip can output the data of the second layer as display data for display on the screen.
[0096] It should be understood that, without departing from the teachings of this application, the output display data may be displayed on a screen or transmitted to other devices, without any limitation herein.
[0097] In some embodiments of this application, the first core chip can attempt to obtain screen projection data again through the chip screen projection client program at a preset frequency after the client program fails to do so. If the first core chip successfully obtains screen projection data through the client program, it can draw the first layer based on the obtained data and output display data based on the first layer. In other words, if the screen projection path returns to normal, the first core chip can switch back to transmitting screen projection data through the projection path. The screen projection data received from the projection path can be drawn on the first layer, and the first core chip can output display data based on the data in the first layer, thus realizing the display of the screen projection data. Optionally, after switching back to transmitting screen projection data through the projection path, the first core chip can close the network screen projection client program to reduce system consumption.
[0098] To facilitate understanding, the following example illustrates the process of transmitting and displaying screen-projected data by switching data transmission paths in different ways.
[0099] Scene 1
[0100] In some embodiments of this application, after the multi-core system starts, the second core chip can initiate a screen mirroring service program and listen for messages sent by the first core chip, such as the notification message mentioned above. The first core chip can initiate a chip-based screen mirroring client program, which obtains the screen mirroring data transmitted through the screen mirroring path from the first core chip's CSI interface. If the first core chip obtains the screen mirroring data within a predetermined time, it can output display data based on the screen mirroring data to display the screen mirroring data.
[0101] If the first core chip fails to acquire the projection data within the predetermined time, it indicates a potential anomaly in the projection path and can automatically exit the chip's projection client program. Simultaneously, the first core chip can launch a network projection client program to acquire projection data. After launching, the network projection client program can send a service request to the projection service program of the second core chip; this request could be, for example, the aforementioned notification message. Upon receiving the notification message, the projection service program of the second core chip can intercept the DSI data of the second core chip, compress the intercepted projection data, and transmit the compressed projection data to the first core chip via its own TCP / IP interface. The network projection client program of the first core chip retrieves the compressed projection data from the first core chip's TCP / IP interface, decompresses it, and obtains the projection data. The first core chip then outputs display data based on this projection data, thus displaying the projection data.
[0102] In this scenario, the screen layer corresponding to the display can be adopted. Figure 4 The screen layer architecture shown includes a first layer and a second layer, each used to draw projection data acquired through different channels. Alternatively, the screen layer can have a single layer, which can be used to draw projection data acquired through either the projection channel or the network channel. With this architecture, the layer drawing logic of the first core chip can be adjusted accordingly.
[0103] Scene 2
[0104] In some embodiments of this application, after the multi-core system starts, the second core chip can initiate a screen mirroring service program and listen for messages sent by the first core chip, such as the notification message mentioned above. The first core chip can initiate a chip-based screen mirroring client program and a network screen mirroring client program. The screen layer adopts... Figure 4 The layer structure is shown, displaying both the first and second layers simultaneously. Since the first layer corresponding to the chip-based screen mirroring client program is above the second layer corresponding to the network-based screen mirroring client program, if the chip-based screen mirroring client program starts successfully and correctly obtains the mirroring data, the user can see the mirroring data obtained from the mirroring path by the chip-based client program; otherwise, the user can see the mirroring data obtained from the network path by the network-based client program. If the chip-based screen mirroring client program correctly obtains the mirroring data, it can send a signal to the network-based client program to exit, reducing system consumption. If the chip-based screen mirroring client program cannot obtain the mirroring data, it can set its corresponding first layer to transparent and then automatically exit the program.
[0105] In the above scenario, using layers to automatically switch between two screen-casting client programs can reduce the probability of screen flickering and other issues. Furthermore, this method ensures that after a multi-core system starts up, it can output display data based on the screen-casting data as quickly as possible.
[0106] According to some embodiments of this application, the first core chip and the second core chip can interact with each other via a projection path and a network path. When the projection path is available, it is prioritized for data interaction, reducing the burden on the chip during encoding and decoding, and lowering the load on the multi-core system. If the projection path is affected and data interaction fails, the network path can be used to transmit the projection data. Using the network path as a backup for the projection path ensures that the multi-core system can still function even if the projection chip is unavailable, improving the stability of the multi-core system. Furthermore, automatic switching between the two projection client programs is achieved through layers, reducing the probability of screen flickering and other problems. This method also ensures that the multi-core system outputs display data based on the projection data as quickly as possible after startup.
[0107] Figure 5 This is a schematic flowchart of a screen mirroring method according to a third embodiment of this application. This screen mirroring method 500 can be applied to the second core chip of a multi-core system. For example... Figure 5 As shown, the screen mirroring method 500 may include the following steps:
[0108] Step 501: Send screen projection data to the first core chip through the screen projection path constructed by the screen projection chip.
[0109] In this embodiment, the second core chip can send screen projection data to the first core chip through the screen projection channel after receiving a data acquisition request from the first core chip. Alternatively, it can send screen projection data to the first core chip through the screen projection channel after receiving a screen projection data transmission instruction from the application layer. It can also automatically execute the action of sending screen projection data to the first core chip through the screen projection channel after its own startup. This application does not limit the conditions for triggering the second core chip to transmit screen projection data.
[0110] In this embodiment, after determining that there is a need for screen projection data transmission, the second core chip prioritizes the transmission of screen projection data through the screen projection path constructed by the screen projection chip, so as to reduce the burden caused by data compression and other operations.
[0111] Step 502: In response to receiving the prompt message sent by the first core chip, the screen projection service program is invoked to obtain screen projection data, and the screen projection data is sent to the first core chip through the network path constructed by the network chip.
[0112] In this embodiment, after receiving the prompt message from the first core chip, the second core chip can invoke the screen mirroring service program to obtain screen mirroring data and send the screen mirroring data to the first core chip through the network path constructed by the network chip. The screen mirroring service program can extract screen mirroring data from the data that the second core chip needs to display through methods such as screenshotting, compress the screen mirroring data, and then output the compressed screen mirroring data through the network path. The data that the second core chip needs to display can be the data that the second core chip needs to output from the DSI interface.
[0113] Optionally, after the second core chip starts, a screen mirroring service program can be launched to listen for notification messages. Upon receiving a notification message, the screen mirroring service program performs the operations mentioned above: capturing screen mirroring data, compressing screen mirroring data, and outputting the compressed screen mirroring data.
[0114] In some embodiments of this application, the second core chip can also listen for and respond to other messages. For example, after receiving a data source exception message, the second core chip can retrieve new projection data from the projection data source again; and then send the new projection data back to the first core chip through the projection path. The process of retrieving new projection data can involve notifying the projection data source to retransmit the data. Afterward, the second core chip can process the data to be displayed and use it as projection data again, transmitting it to the first core chip through the projection path. In this example, retrieving the projection data and then reusing it for data transmission reduces the burden on the multi-core system caused by the compression and decompression operations required for data transmission through the network path.
[0115] It should be understood that, without departing from the teachings of this application, after acquiring new screen projection data, the screen projection data can also be transmitted to the second core chip via network screen projection, and this application does not restrict this.
[0116] According to some embodiments of this application, the first core chip and the second core chip can interact with each other via a projection path and a network path. When the projection path is available, it is prioritized for data interaction, reducing the burden on the chip during encoding and decoding, and lowering the load on the multi-core system. If the projection path is affected and data interaction fails, the network path can be used to transmit the projection data. By using the network path as a backup for the projection path, the multi-core system can still be used even if the projection chip is unavailable, improving the stability of the multi-core system.
[0117] It should be noted that the acquisition, storage, and application of user personal information involved in the technical solution disclosed herein all comply with relevant laws and regulations and do not violate public order and good morals. It should also be noted that the information in this embodiment was obtained after being authorized by the user (i.e., with the user's consent).
[0118] The steps of the various methods described above are only for clarity. In implementation, they can be combined into one step or some steps can be split into multiple steps. As long as they include the same logical relationship, they are all within the protection scope of this disclosure. Adding insignificant modifications or introducing insignificant designs to the algorithm or process, but without changing the core design of the algorithm and process, are also within the protection scope of this disclosure.
[0119] This application also provides a multi-core system, such as... Figure 6 As shown, the multi-core system 600 may include: a projection chip 610, a network chip 620, a first core chip 630, and a second core chip 640. The projection chip 610 is used to establish a projection path. The network chip 620 is used to establish a network path. The first core chip 630 may be deployed with a chip projection client program and a network projection client program. The chip projection client program is used to obtain projection data transmitted by the projection chip. The network projection client program is used to obtain projection data transmitted by the network chip. The second core chip 640 is deployed with a projection service program, and the second core chip is configured to send projection data to the first core chip 630 through the projection path; in response to receiving a prompt message from the first core chip 630, it calls the projection service program to obtain the projection data and sends the projection data to the first core chip 630 through the network path. The first core chip 630 is also configured to: in response to the failure of the chip-based screen mirroring client program to obtain screen mirroring data, send a prompt message to the second core chip 640 and call the network screen mirroring client program to obtain screen mirroring data; in response to the successful acquisition of screen mirroring data by the network screen mirroring client program, output display data based on the screen mirroring data obtained by the network screen mirroring client program.
[0120] It is not difficult to see that this embodiment is a system implementation method corresponding to the above method embodiments, and this embodiment can be implemented in conjunction with the above method embodiments. The relevant technical details mentioned in the above method embodiments are still valid in this embodiment, and will not be repeated here to reduce repetition. Accordingly, the relevant technical details mentioned in this embodiment can also be applied to the above method embodiments.
[0121] It is worth mentioning that all modules involved in this embodiment are logical modules. In practical applications, a logical unit can be a physical unit, a part of a physical unit, or a combination of multiple physical units. Furthermore, to highlight the innovative aspects of this invention, this embodiment does not introduce units that are not closely related to solving the technical problem proposed by this invention; however, this does not mean that other units are absent from this embodiment.
[0122] Embodiments of this application also provide an electronic device, such as... Figure 7 As shown, the electronic device 700 may include: at least one processor and a memory, the memory being communicatively connected to the at least one processor and storing instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to execute the screen projection method for a first core chip or a second core chip in a multi-core system mentioned in the above embodiments.
[0123] One embodiment of this application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the screen projection method for a first core chip or a second core chip in a multi-core system mentioned in the above embodiments.
[0124] Figure 7 This is a schematic block diagram of an electronic device 700 according to some embodiments of this application. For example... Figure 7 As shown, the electronic device 700 includes a processor 701, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 702 or a computer program loaded from a memory 708 into a random access memory (RAM) 703. The RAM 703 may also store various programs and data required for the operation of the electronic device 700. The processor 701, ROM 702, and RAM 703 are interconnected via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0125] Multiple components in electronic device 700 are connected to I / O interface 705, including: input unit 706, such as buttons or a touchscreen in a vehicle infotainment system; output unit 707, connected to various types of displays, speakers, etc., to output various forms of signals; memory 708, including any medium for storing computer-executable programs; and communication unit 709, such as a network interface card (NIC), modem, or wireless transceiver. Communication unit 709 allows electronic device 700 to exchange information / data with other devices via a local area network (LAN) or other wireless communication networks.
[0126] Processor 701 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 701 include, but are not limited to, central processing unit (CPU), graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processors (DSPs), and any suitable processor, controller, microcontroller, etc. Processor 701 performs the various methods and processes described above, such as the screen projection method for a first core chip or a second core chip in a multi-core system mentioned in the above embodiments. For example, in some embodiments, the screen projection method for a first core chip or a second core chip in a multi-core system mentioned in the above embodiments can be implemented as a computer software program, which is tangibly contained in a computer-readable storage medium, such as memory 708. In some embodiments, part or all of the computer program can be loaded and / or installed on electronic device 700 via ROM 702 and / or communication unit 709. When the computer program is loaded into RAM 703 and executed by processor 701, one or more steps of the screen projection method for a first core chip or a second core chip in a multi-core system mentioned in the above embodiments can be performed. Alternatively, in other embodiments, the processor 701 may be configured by any other suitable means (e.g., by means of firmware) to perform the screen projection method for a first core chip or a second core chip in a multi-core system as described in the above embodiments.
[0127] Various aspects of this application have been described herein with reference to flowchart illustrations and / or timing diagrams of methods, apparatus (systems), and computer program products according to exemplary embodiments of this application. It should be understood that each step of the flowchart illustrations and / or timing diagrams, as well as combinations of steps in the flowchart illustrations and / or timing diagrams, can be implemented by computer-readable program instructions.
[0128] These computer-readable program instructions can be provided to a processor, general-purpose computer, special-purpose computer, or other programmable data processing unit in an electronic device to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing device, they create means for implementing the functions / steps specified in one or more steps of a flowchart and / or timing diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing device, and / or other device to operate in a particular manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / steps specified in one or more steps of a flowchart and / or timing diagram.
[0129] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / steps specified in one or more steps of a flowchart and / or timing diagram.
[0130] The flowcharts and timing diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of devices, methods, and computer program products according to various embodiments of this application. In this regard, each step in a flowchart or timing diagram may represent a module, segment, or part of an instruction that contains one or more executable instructions for implementing a specified logical function. In some alternative embodiments, the functions indicated in the steps may occur in a different order than those indicated in the drawings. For example, two consecutive steps may actually be performed substantially in parallel, and they may sometimes be performed in reverse order, depending on the functions involved. It should also be noted that each step in a timing diagram and / or flowchart, and combinations of steps in timing diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0131] The above description is merely an illustration of the embodiments of this application and the technical principles employed. Those skilled in the art should understand that the scope of protection involved in this application is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the technical concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features with similar functions disclosed in this application.
Claims
1. A screen mirroring method for a multi-core system, the multi-core system comprising a first core chip, a second core chip, a screen mirroring chip, and a network chip, wherein the first core chip is deployed with a chip screen mirroring client program and a network screen mirroring client program, the chip screen mirroring client program being used to acquire screen mirroring data of the second core chip transmitted by the screen mirroring chip, and the network screen mirroring client program being used to acquire screen mirroring data of the second core chip transmitted by the network chip, the method being applied to the first core chip, comprising: In response to the failure of the chip-based screen mirroring client program to obtain the screen mirroring data, a prompt message is sent to the second core chip, and the network screen mirroring client program is invoked to obtain the screen mirroring data; In response to the network screen mirroring client program successfully acquiring the screen mirroring data, display data is output based on the screen mirroring data acquired by the network screen mirroring client program.
2. The method according to claim 1, further comprising: In response to receiving a screen projection data acquisition instruction from the application layer, a data acquisition request is sent to the second core chip, the data acquisition request instructing the second core chip to transmit the screen projection data through the screen projection chip.
3. The method according to claim 1, further comprising: In response to the chip-based screen mirroring client program successfully acquiring the screen mirroring data, the screen mirroring data acquired by the chip-based screen mirroring client program is verified; In response to the failure to verify the screen projection data obtained by the chip screen projection client program, the prompt message is sent to the second core chip, and the network screen projection client program is invoked to obtain the screen projection data.
4. The method according to claim 3, wherein, The screen projection data output and display data obtained based on the network screen projection client program includes: The screen projection data obtained by the network screen projection client program is verified; In response to the successful verification of the screen projection data obtained by the network screen projection client program, the display data is output based on the screen projection data obtained by the network screen projection client program; In response to the failure of the verification of the screen projection data obtained by the network screen projection client program and the failure of the verification of the screen projection data obtained by the chip screen projection client program, it is determined that the data source of the screen projection data is abnormal, and a data source abnormality message is sent to the second core chip; In response to receiving new projection data from the data source again by the second core chip and the new projection data being successfully verified, display data is output based on the new projection data.
5. The method according to claim 1, wherein, The screen projection data output and display data obtained based on the network screen projection client program includes: Hide the first layer used to draw the projection data obtained by the projection client program for the chip; The second layer is drawn based on the screen projection data obtained by the network screen projection client program; The display data is output based on the second layer.
6. The method according to claim 5, wherein, After outputting the display data based on the second layer, the process also includes: In response to the chip projection client program successfully acquiring the projection data, the first layer is drawn based on the projection data acquired by the chip projection client program; Close the network screen mirroring client program; The display data is output based on the first layer.
7. The method according to any one of claims 1 to 6, wherein, The first core chip is equipped with a first program, and the second core chip is equipped with a second program. The instrument data generated by the first program is displayed in a first window of the display screen, and the screen projection data generated by the second program is displayed in a second window of the display screen; the method further includes: In response to the failure of the chip-based screen mirroring client program to obtain the screen mirroring data, the masking image corresponding to the second program is output to the second window. Upon successful acquisition of the screen projection data by the network projection client program, the output of the masking image is stopped.
8. The method according to claim 7, further comprising: In response to the second program's historical startup duration being greater than the first duration, the masking image is set for the second program.
9. The method according to claim 7, wherein, The masking image corresponding to the second program includes a masking image for at least one running mode; The step of outputting the mask image corresponding to the second program to the second window includes: Determine the masking image of the second program in its current operating mode; The determined masking image is output to the second window.
10. A screen mirroring method for a multi-core system, the multi-core system comprising a first core chip, a second core chip, a screen mirroring chip, and a network chip, wherein the second core chip has a screen mirroring service program deployed thereon, and the method is applied to the second core chip, comprising: The projection data is sent to the first core chip through the projection channel constructed by the projection chip; In response to receiving a prompt message from the first core chip, the screen mirroring service program is invoked to obtain the screen mirroring data, and the screen mirroring data is sent to the first core chip through the network path constructed by the network chip.
11. The method according to claim 10, wherein, Sending projection data to the first core chip through the projection path constructed by the projection chip includes: In response to receiving the screen projection data transmission instruction from the application layer, screen projection data is sent to the first core chip through the screen projection path.
12. The method of claim 10, further comprising: In response to receiving a data source error message, new screen projection data is retrieved from the data source of the screen projection data; New projection data is sent to the first core chip again through the projection channel.
13. A multi-core system, comprising: A projection chip is used to build a projection path; Network chips are used to build network pathways; The first core chip is equipped with a chip-based screen mirroring client program and a network-based screen mirroring client program. The chip-based screen mirroring client program is used to obtain screen mirroring data transmitted by the screen mirroring chip, and the network-based screen mirroring client program is used to obtain screen mirroring data transmitted by the network chip. The second core chip has a screen mirroring service program deployed on it and is configured to send screen mirroring data to the first core chip through the screen mirroring channel. In response to receiving a prompt message from the first core chip, the screen mirroring service program is invoked to obtain the screen mirroring data, and the screen mirroring data is sent to the first core chip through the network path; The first core chip is further configured to: in response to the failure of the chip-based screen mirroring client program to obtain the screen mirroring data, send the prompt message to the second core chip and call the network screen mirroring client program to obtain the screen mirroring data; and in response to the successful acquisition of the screen mirroring data by the network screen mirroring client program, output display data based on the screen mirroring data acquired by the network screen mirroring client program.
14. An electronic device, characterized in that, include: At least one processor; as well as, A memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the screen projection method of the multi-core system as described in any one of claims 1 to 12.
15. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the screen projection method for a multi-core system as described in any one of claims 1 to 12.