Layer synthesis method, device, vehicle and storage medium

By obtaining the pixel structure of the layer to be synthesized and deleting the preset architecture layer, the layer synthesis pressure is reduced, and layer synthesis is performed through the hardware hybrid renderer, the problems of low synthesis efficiency and poor fluency caused by the high pressure of layer processing in the on-board system are solved, achieving more efficient layer synthesis and a smoother user experience.

CN119179543BActive Publication Date: 2025-04-04CHENGDU CELIS TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

When the layer processing pressure of the on-board system is high, the recommended synthesis methods of HWC feedback are mostly GPU synthesis, resulting in reduced layer synthesis efficiency and reduced frame rate, which affects the fluency and user experience of the on-board system.

Method used

By obtaining the pixel architecture of the layer to be synthesized, sending a delete notification to the development side for layers with a preset architecture to the pixel architecture, reducing the pressure of layer synthesis, and layer synthesis is performed through a hardware hybrid renderer to improve synthesis efficiency.

Benefits of technology

It increases the efficiency of layer synthesis, improves the frame rate and fluency of the on-board system, and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119179543B_ABST
    Figure CN119179543B_ABST
Patent Text Reader

Abstract

The present application relates to a layer synthesis method, device, vehicle and storage medium. The method is applied to the client system of a vehicle terminal, including: obtaining the pixel architecture of each layer to be synthesized; for the layer to be synthesized whose pixel architecture is a preset architecture, sending a notification for deleting the layer to be synthesized whose pixel architecture is the preset architecture to the development end of the layer to be synthesized; wherein the development end deletes the layer to be synthesized whose pixel architecture is the preset architecture based on the notification; when it is detected that the pixel architecture of the layer to be synthesized is not the preset architecture, synthesizing the layer to be synthesized by the hardware hybrid renderer of the vehicle terminal. In this way, the efficiency of layer synthesis can be increased, the frame rate of the vehicle system can be increased, thereby improving the fluency of the vehicle system and enhancing the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of vehicle technology, and in particular to a layer synthesis method, device, vehicle and storage medium. Background Art

[0002] Qualcomm 8155 in-vehicle system is a virtualized dual-system architecture solution. Qnx OS (microkernel system) and Android OS (Android system) share hardware resources (CPU, memory, etc.) through the HyperVision (virtualization) architecture. For in-vehicle systems, the smoothness of the in-vehicle system is the most intuitive factor for users to evaluate the quality of a system, and the frame rate, that is, the number of interface updates per second, is a parameter that can better reflect the smoothness of the in-vehicle system.

[0003] At present, the efficiency of layer synthesis in the Qualcomm 8155 vehicle-mounted system is an important factor affecting the frame rate. When synthesizing layers, the Qualcomm 8155 vehicle-mounted system generally uses two methods: Graphics Processing Unit (GPU) synthesis and hardware hybrid renderer (HWcomposer, HWC) synthesis. Among them, GPU is a general-purpose image processing device. In addition to layer synthesis, GPU is also used to complete other graphics processing tasks, while HWC is a dedicated image processing device. Compared with GPU synthesis, HWC synthesis has the advantages of high performance and fast synthesis speed.

[0004] Among them, Qualcomm 8155 car systems generally directly use the recommended synthesis method fed back by HWC to synthesize layers. The recommended synthesis method fed back by HWC is affected by layer processing parameters such as the rendering pipeline (Pipeline) and the number of layers. This easily leads to the recommended synthesis method fed back by HWC being mostly GPU synthesis when the layer processing pressure of the car system is high, thereby reducing the layer synthesis efficiency and affecting the frame rate of the car system, thereby reducing the smoothness of the car system and affecting the user experience. Summary of the invention

[0005] The present application provides a layer synthesis method, device, vehicle and storage medium to solve the technical problem in the prior art that when the layer processing pressure of the vehicle-mounted system is high, the recommended synthesis method fed back by HWC is mostly GPU synthesis, which reduces the layer synthesis efficiency, affects the frame rate of the vehicle-mounted system, thereby reducing the fluency of the vehicle-mounted system and affecting the user experience.

[0006] In a first aspect, the present application provides a layer synthesis method, which is applied to a client system of a vehicle terminal, and the method includes:

[0007] Get the pixel structure of each layer to be composited;

[0008] For the layer to be synthesized whose pixel architecture is a preset architecture, sending a notification for deleting the layer to be synthesized whose pixel architecture is the preset architecture to a development end of the layer to be synthesized; wherein the development end deletes the layer to be synthesized whose pixel architecture is the preset architecture based on the notification;

[0009] When it is detected that the pixel architectures of the layers to be synthesized are not the preset architectures, the layers to be synthesized are synthesized by the hardware hybrid renderer of the vehicle terminal.

[0010] As a possible implementation method, it also includes:

[0011] At least two rendering pipelines are allocated to the client system by executing a preset configuration file, and the hardware hybrid renderer uses the at least two rendering pipelines to synthesize the to-be-synthesized layer.

[0012] As a possible implementation manner, the sending of a notification for deleting the layer to be synthesized whose pixel architecture is the preset architecture to the development end of the layer to be synthesized includes:

[0013] Obtaining program information of the application program of the layer to be synthesized;

[0014] Determining a development end corresponding to the application program according to the program information;

[0015] A notification for deleting a to-be-synthesized layer whose pixel architecture is the preset architecture is sent to the development end.

[0016] As a possible implementation, the step of obtaining the pixel structure of each layer to be synthesized includes:

[0017] Determine the number of layers to be composited;

[0018] When the number of layers is greater than a preset number threshold, a pixel structure of each to-be-synthesized layer is obtained.

[0019] As a possible implementation, the step of obtaining the pixel structure of each layer to be synthesized includes:

[0020] Determining, by the hardware hybrid renderer, whether to synthesize the layer to be synthesized by a graphics processor;

[0021] When it is determined that the layers to be synthesized are to be synthesized by the graphics processor, a pixel architecture of each layer to be synthesized is obtained.

[0022] As a possible implementation manner, before synthesizing the to-be-synthesized layer by the hardware hybrid renderer of the vehicle terminal, the process includes:

[0023] Determine whether a virtual display screen exists on the display screen corresponding to the client system;

[0024] When it is determined that the virtual display screen exists, the virtual display screen is closed.

[0025] As a possible implementation manner, synthesizing the to-be-synthesized layer by a hardware hybrid renderer of the vehicle terminal includes:

[0026] Determining, by the hardware hybrid renderer, whether some layers to be synthesized are synthesized by the graphics processor of the vehicle terminal;

[0027] When some of the layers to be synthesized are synthesized by the graphics processor, obtaining a first synthesized layer synthesized by the graphics processor;

[0028] The first composite layer is input into the hardware composite renderer, so that the hardware composite renderer composites the composite second composite layer with the first composite layer again to obtain a target composite layer.

[0029] In a second aspect, the present application provides a layer synthesis device, which is applied to a client system of a vehicle terminal, and the device includes:

[0030] An acquisition module, used for acquiring the pixel structure of each layer to be synthesized;

[0031] A sending module, for sending, with respect to the layer to be synthesized whose pixel architecture is a preset architecture, a notification for deleting the layer to be synthesized whose pixel architecture is the preset architecture to a development end of the layer to be synthesized; wherein the development end deletes the layer to be synthesized whose pixel architecture is the preset architecture based on the notification;

[0032] A synthesis module is used to synthesize the layers to be synthesized through the hardware hybrid renderer of the vehicle terminal when it is detected that the pixel architectures of the layers to be synthesized are not the preset architectures.

[0033] As a possible implementation manner, the device further includes:

[0034] The allocation module is used to allocate at least two rendering pipelines to the client system by executing a preset configuration file, and the hardware hybrid renderer uses the at least two rendering pipelines to synthesize the layer to be synthesized.

[0035] As a possible implementation, the sending module includes:

[0036] A first acquisition submodule is used to acquire program information of the application program of the layer to be synthesized;

[0037] A first determination submodule, used to determine the development end corresponding to the application program according to the program information;

[0038] The sending submodule is used to send a notification to the development end for deleting the to-be-synthesized layer whose pixel architecture is the preset architecture.

[0039] As a possible implementation, the acquisition module includes:

[0040] The second determination submodule is used to determine the number of layers to be synthesized;

[0041] The second acquisition submodule is used to acquire the pixel structure of each to-be-synthesized layer when the number of the layers is greater than a preset number threshold.

[0042] As a possible implementation, the acquisition module includes:

[0043] A third determining submodule, configured to determine, through the hardware hybrid renderer, whether to synthesize the layer to be synthesized through the graphics processor;

[0044] The third acquisition submodule is used to acquire the pixel structure of each layer to be synthesized when it is determined that the layer to be synthesized is to be synthesized by the graphics processor.

[0045] As a possible implementation manner, the device further includes:

[0046] A determination module, used for determining whether a virtual display screen exists on the display screen corresponding to the client system before synthesizing the to-be-synthesized layer through the hardware hybrid renderer of the vehicle terminal;

[0047] The closing module is used to close the virtual display screen when it is determined that the virtual display screen exists.

[0048] As a possible implementation, the synthesis module includes:

[0049] A fourth determination submodule, configured to determine, through the hardware hybrid renderer, whether some layers to be synthesized are synthesized by the graphics processor of the vehicle terminal;

[0050] A fourth acquisition submodule, configured to acquire a first synthesized layer synthesized by the graphics processor when some of the layers to be synthesized are synthesized by the graphics processor;

[0051] The input submodule is used to input the first composite layer into the hardware hybrid renderer, so that the hardware hybrid renderer re-combines the synthesized second composite layer with the first composite layer to obtain a target composite layer.

[0052] In a third aspect, the present application provides a vehicle, wherein a vehicle terminal of the vehicle includes a client system;

[0053] The client system includes a processor and a memory, and the processor is used to execute a layer synthesis program stored in the memory to implement the layer synthesis method described in any one of the first aspects.

[0054] In a fourth aspect, the present application provides a storage medium storing one or more programs, which can be executed by one or more processors to implement the layer synthesis method described in any one of the first aspects.

[0055] The technical solution provided by the embodiment of the present application obtains the pixel architecture of each layer to be synthesized, and for the layer to be synthesized whose pixel architecture is a preset architecture, sends a notification for deleting the layer to be synthesized whose pixel architecture is a preset architecture to the development end of the layer to be synthesized, wherein the development end deletes the layer to be synthesized whose pixel architecture is the preset architecture based on the notification, and synthesizes the layer to be synthesized by the hardware hybrid renderer of the vehicle terminal when it is detected that the pixel architecture of the layer to be synthesized is not the preset architecture. This technical solution obtains the pixel architecture of the layer to be synthesized when the client system synthesizes the layer, and when the pixel architecture is a preset architecture, the pressure of layer processing can be increased. Therefore, for the layer to be synthesized whose pixel architecture is a preset architecture, a notification for deleting the pixel architecture is sent to the development end, so that the development end deletes the layer to be synthesized whose pixel architecture is a preset architecture, reduces the pressure of layer synthesis processing, and makes it possible to maximize the synthesis mode fed back by the hardware hybrid renderer as the hardware hybrid renderer synthesis, so that the layer synthesis is performed by the hardware hybrid renderer, the efficiency of layer synthesis is increased, the frame rate of the vehicle system is improved, thereby improving the fluency of the vehicle system and the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.

[0057] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the prior art texts are briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0058] One or more embodiments are exemplarily described by pictures in the corresponding drawings, and these exemplified descriptions do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings represent similar elements, and unless otherwise stated, the figures in the drawings do not constitute proportional limitations.

[0059] Figure 1 A schematic diagram of the structure of a vehicle terminal in the prior art provided in an embodiment of the present application;

[0060] Figure 2 A flowchart of an embodiment of a layer synthesis method provided in an embodiment of the present application;

[0061] Figure 3 A schematic diagram of the structure of a vehicle terminal provided in an embodiment of the present application;

[0062] Figure 4 A schematic diagram of the structure of another vehicle terminal provided in an embodiment of the present application;

[0063] Figure 5 A flowchart of another layer synthesis method provided in an embodiment of the present application;

[0064] Figure 6 A schematic diagram of the structure of another vehicle terminal provided in an embodiment of the present application;

[0065] Figure 7 A block diagram of an embodiment of a layer synthesis device provided in an embodiment of the present application;

[0066] Figure 8 A schematic diagram of the structure of a vehicle provided in an embodiment of the present application. DETAILED DESCRIPTION

[0067] In order to make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be clearly and completely described in conjunction with the drawings in the embodiments of the present application. Obviously, the embodiments described in the text are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0068] The disclosure below provides many different embodiments or examples to implement different structures of the present invention. In order to simplify the disclosure of the present invention, the parts and settings of specific examples are described below. Of course, they are only examples, and the purpose is not to limit the present invention. In addition, the present invention can repeat reference numbers and / or letters in different examples. This repetition is for the purpose of simplification and clarity, and does not itself indicate the relationship between the various embodiments and / or settings discussed.

[0069] In order to solve the technical problem in the prior art that when the layer processing pressure of the vehicle system is large, the recommended synthesis method fed back by the HWC is mostly GPU synthesis, thereby reducing the layer synthesis efficiency, affecting the frame rate of the vehicle system, thereby reducing the fluency of the vehicle system and affecting the user experience, the present application provides a layer synthesis method, device, vehicle and storage medium, which can obtain the pixel architecture of the layer to be synthesized when the client system performs layer synthesis, and the layer processing pressure can be increased when the pixel architecture is a preset architecture. Therefore, for the layer to be synthesized whose pixel architecture is the preset architecture, a notification for deleting the pixel architecture is sent to the development end, so that the development end deletes the layer to be synthesized whose pixel architecture is the preset architecture, thereby reducing the pressure of layer synthesis processing, so that the synthesis method fed back by the hardware hybrid renderer can be hardware hybrid renderer synthesis to the greatest extent possible, so that layer synthesis can be performed by the hardware hybrid renderer, the layer synthesis efficiency is increased, the frame rate of the vehicle system is improved, thereby improving the fluency of the vehicle system and enhancing the user experience.

[0070] To facilitate understanding of the layer synthesis method provided by this application, the vehicle terminal is first explained below.

[0071] See also Figure 1 , is a schematic diagram of the structure of a vehicle terminal in the prior art provided in an embodiment of the present application. Figure 1 The structure shown is illustrated by taking the client system as Android OS (Android system). Figure 1 As shown, the vehicle terminal may include Qnx OS (operating system) and Android OS.

[0072] Among them, the above-mentioned Qnx OS and Android OS share the hardware resources in the vehicle terminal through the HyperVision (virtualization) architecture. The hardware resources may include CPU (Central Processing Unit), memory, GPU (Graphics Processing Unit), and HWC (Hardware Composer), etc.

[0073] In the prior art, the Qns system can be used as a host system (host) and the Android system can be used as a client system (guest). Therefore, the host system can configure a rendering pipeline to the client system through OpenWFD (used to implement wireless display and graphics processing) so that the client system can use the rendering pipeline to perform layer processing when performing layer synthesis.

[0074] In actual applications, when the client system performs layer synthesis, the layers to be synthesized (for example Figure 1As shown, Layer 1 (Layer 1) corresponding to application 1, Layer 2 corresponding to the status bar, Layer 3 corresponding to the wallpaper, and Layer 4 corresponding to application 2 can be queried by HWC through surfaceflinger. HWC can comprehensively determine the specific synthesis method of each of the above-mentioned layers to be synthesized (synthesized by GPU or HWC) based on the existing hardware resources.

[0075] Among them, if there are a large number of layers to be synthesized, and the client system has only one rendering pipeline, then the synthesis method given by HWC judgment may be all GPU synthesis, or part of it may be GPU synthesis.

[0076] by Figure 1 Taking the example that all the layers to be synthesized are synthesized by GPU, the actual synthesis process includes: surfaceflinger sends all the layers to be synthesized to GPU for synthesis, GPU can use rendering pipeline to synthesize all the received layers to be synthesized into one synthetic layer, and send the synthetic layer to HWC, finally, HWC sends the synthetic layer to screen Display0 (for example, the physical screen of the central control), so as to finally display the synthetic layer on the physical screen of the central control.

[0077] Taking the case where part of the layers to be synthesized by the GPU as an example, the actual synthesis process includes: surfaceflinger sends the layers to be synthesized that need to be synthesized by the GPU to the GPU for synthesis, and sends the layers to be synthesized that need to be synthesized by the HWC to the HWC for synthesis. Afterwards, the GPU uses the rendering pipeline to synthesize the received layers to be synthesized into a synthetic layer (for the sake of distinction, it is called the first synthetic layer here), and the HWC uses the same rendering pipeline to synthesize the received layers to be synthesized into a synthetic layer (for the sake of distinction, it is called the second synthetic layer here). Finally, the GPU sends the first synthetic layer to the HWC, and the HWC can synthesize the received first synthetic layer and the second synthetic layer synthesized by itself into a new complete layer, and send the latest synthesized complete layer to the screen Display0 (for example, the central control physical screen), so that the complete layer can be finally displayed on the central control physical screen.

[0078] From the above description of the layer synthesis method in the prior art, it can be known that when the client system determines the synthesis method of the layer to be synthesized, it is determined by HWC, and HWC is affected by the layer processing parameters such as the rendering pipeline and the number of layers. This easily leads to the situation that when the layer processing pressure of the vehicle-mounted system is large (for example, the number of layers to be synthesized is large), the recommended synthesis method fed back by HWC is mostly GPU synthesis. In practice, HWC is directly synthesized through hardware, and the layer data does not need to be transferred to the memory and can be directly displayed on the terminal interface, avoiding the process of GPU repeatedly copying the memory, thereby reducing the consumption in the dynamic image processing process and improving the synthesis speed. GPU synthesis requires that all the layers to be synthesized marked with GPU synthesis be synthesized into an output buffer first, and then this buffer and other layers are handed over to HWC for final synthesis and display. This process is more time-consuming and energy-consuming than HWC. Therefore, when the recommended synthesis method fed back by HWC is mostly GPU synthesis, the efficiency of layer synthesis will be reduced, the frame rate of the vehicle-mounted system will be affected, thereby reducing the fluency of the vehicle-mounted system and affecting the user experience.

[0079] In this regard, the present application provides a layer synthesis method, which can greatly reduce the processing pressure of layer synthesis, thereby increasing the probability that the synthesis method given by HWC is HWC synthesis, and improving the synthesis efficiency of layer synthesis.

[0080] See also Figure 2 , is a flow chart of an embodiment of a layer synthesis method provided in an embodiment of the present application. As an embodiment, Figure 2 The process shown can be applied to a client system in a vehicle terminal, for example Figure 1 The client system shown in Figure 1. Figure 2 As shown, the process may include the following steps:

[0081] Step 201: Obtain the pixel structure of each layer to be synthesized.

[0082] The above pixel structure refers to the structure of the background pixels of the layer to be composited.

[0083] In one embodiment, the execution subject of the embodiment of the present application may be a client system, which is a system installed in the vehicle terminal, which may be an Android system or other systems, and the embodiment of the present application does not impose any restrictions on this.

[0084] Furthermore, the execution subject of the embodiment of the present application may be a surfaceflinger in the client system for controlling the synthesis of the layers to be synthesized, for example Figure 1 SurfaceFlinger shown.

[0085] In actual applications, some developers, in order to make the program stay in the system longer, add a background mode of preset pixels (usually one pixel to save process space), that is, a layer of one pixel will exist when the application exits, thereby increasing the process priority and achieving the purpose of keeping it alive. However, this method will cause the overall burden of the system when compositing layers, causing the hardware hybrid renderer to determine that the graphics processor will be used for synthesis when determining the synthesis mode of the layer to be synthesized, thereby reducing the synthesis efficiency of the layer to be synthesized.

[0086] In this regard, in an embodiment of the present application, the execution subject of the embodiment of the present application can obtain the pixel structure of each layer to be synthesized during the process of layer synthesis.

[0087] Optionally, if the pixel structure of the layer to be synthesized is a preset structure (for example, 1*1 pixel), it means that the layer to be synthesized is a layer used to ensure that the application is kept alive and can be deleted.

[0088] On the contrary, if the pixel structure of the layer to be synthesized is not the preset structure, it means that the layer to be synthesized is a layer in the interface to be displayed by the application and cannot be deleted.

[0089] In addition, the vehicle terminal in the present application may include a client system, a hardware hybrid renderer, and a graphics processor, wherein the hardware hybrid renderer and the graphics processor are both used for layer synthesis, and the layer synthesis speed of the hardware hybrid renderer is greater than that of the graphics processor. The architecture of the vehicle terminal can be referred to Figure 1 The hardware hybrid renderer can be the HWC in the system architecture, which is used to synthesize the layers to be synthesized, and the synthesis speed is higher than that of the graphics processor. The graphics processor can be the GPU in the system architecture, which can also be used to synthesize the layers to be synthesized, but its synthesis speed is lower than that of the hardware hybrid renderer.

[0090] Based on this, in order to further reduce the system pressure of the client system for layer synthesis, the client system in the present application can be allocated at least two rendering pipelines, and the above-mentioned hardware hybrid renderer can use the above-mentioned at least two rendering pipelines to synthesize the layers to be synthesized. When performing layer synthesis, the at least two rendering pipelines can improve the layer synthesis efficiency, so that when the hardware hybrid renderer determines the synthesis method of the layer to be synthesized, it determines that the synthesis method of the layer to be synthesized is the hardware hybrid renderer.

[0091] As an exemplary implementation, the number of rendering pipelines allocated to the client system may be determined according to the number of layers to be synthesized, and the rendering pipelines of the number may be allocated to the client system.

[0092] As an optional implementation, the vehicle terminal in the present application also includes a host system, such as Figure 1 The QnxOS in the client system can be allocated by the host system. Based on this, the host system can allocate at least two rendering pipelines to the client system in the following manner: the host system can allocate at least two rendering pipelines to the client system by executing a preset configuration file, wherein the configuration file is used to allocate the preset at least two rendering pipelines to the client system, and the hardware hybrid renderer of the vehicle terminal can use the at least two rendering pipelines to synthesize the layers to be synthesized.

[0093] For example, see Figure 3 , is a schematic diagram of the structure of a vehicle terminal provided in an embodiment of the present application. Figure 3 As shown, the structure of the vehicle terminal is different from that in the prior art. Figure 1 For the vehicle terminal shown in the figure, its configuration file adds a rendering pipeline with ID 14.

[0094] Furthermore, in one embodiment, since the hardware hybrid renderer generally supports a preset number (for example, 4) of layers for synthesis by default, when the number of layers to be synthesized does not reach the preset number, they are generally synthesized by the hardware hybrid renderer. Therefore, in order to save computing resources, the execution entity of the embodiment of the present application may first determine the number of layers to be synthesized when obtaining the pixel architecture of each layer to be synthesized.

[0095] Optionally, when it is determined that the number of layers is greater than a preset threshold, in order to further reduce the system pressure on the layer synthesis, the pixel architecture of each layer to be synthesized may be obtained.

[0096] In addition, if it is determined that the number of layers is less than or equal to the number threshold, then the system pressure for layer synthesis is relatively small, and therefore, the pixel structure of each layer to be synthesized may no longer be determined.

[0097] In another embodiment, since the main purpose of obtaining the pixel architecture of each layer to be synthesized is to reduce the system pressure when performing layer synthesis, so that the layer synthesis is performed by the hardware hybrid renderer, the execution subject of the embodiment of the present application can first determine through the hardware hybrid renderer whether the current hardware conditions of the client system can synthesize the layer to be synthesized through the graphics processor when obtaining the pixel architecture of each layer to be synthesized.

[0098] Optionally, when it is determined that the to-be-synthesized layer is synthesized through the graphics processor, it indicates that the system pressure for layer synthesis is relatively high at this time. In order to reduce the system pressure, the pixel architecture of each to-be-synthesized layer may be further obtained.

[0099] In addition, if it is determined that the to-be-synthesized layers are synthesized through the hardware hybrid renderer, it means that the system pressure for layer synthesis at this time is relatively small, and the pixel architecture of each to-be-synthesized layer may not be obtained.

[0100] Step 202: For the layer to be synthesized whose pixel architecture is the preset architecture, a notification for deleting the layer to be synthesized whose pixel architecture is the preset architecture is sent to the development end of the layer to be synthesized, wherein the development end deletes the layer to be synthesized whose pixel architecture is the preset architecture based on the notification.

[0101] Step 203: When it is detected that the pixel architectures of the layers to be synthesized are not the above-mentioned preset architectures, the layers to be synthesized are synthesized by the hardware hybrid renderer of the vehicle terminal.

[0102] The following is a unified description of step 202 and step 203:

[0103] The above-mentioned development end is a terminal used to develop application programs. In the embodiment of the present application, there is no restriction on the type of the development end.

[0104] In the embodiment of the present application, when the execution subject of the embodiment of the present application determines that there is a to-be-synthesized layer whose pixel architecture is the preset architecture among the to-be-synthesized layers, in order to reduce the system pressure during layer synthesis, the execution subject of the embodiment of the present application may send a notification for deleting the to-be-synthesized layer whose pixel architecture is the preset architecture to the development end of the to-be-synthesized layer for the to-be-synthesized layer whose pixel architecture is the preset architecture. The above notification may be sent to the development end in the form of a log or in other ways, which is not limited in the embodiment of the present application.

[0105] As an optional implementation method, program information of the application of the layer to be synthesized can be obtained, and the development end corresponding to the application can be determined based on the program information, so as to send a notification to the development end for deleting the layer to be synthesized whose pixel architecture is a preset architecture.

[0106] As an exemplary implementation, the execution subject of the embodiment of the present application can obtain the program information of the application to be synthesized layer through dumpsysSurfaceFlinger (used to obtain and display the process information of the application).

[0107] Based on this, after receiving the above notification, the developer can delete the to-be-synthesized layer whose pixel architecture is a preset architecture based on the notification, that is, delete the background points of the preset pixels used to keep the application alive.

[0108] Afterwards, when the execution subject of the embodiment of the present application detects that the pixel architecture of the layers to be synthesized is not the preset architecture, the hardware hybrid renderer of the vehicle terminal synthesizes the layers to be synthesized. The hardware synthesis renderer can use at least two rendering pipelines to synthesize the layers to be synthesized.

[0109] As an optional implementation, when the client system includes at least two rendering pipelines and the pixel architectures of the layers to be synthesized are not the preset architectures, the execution subject of the embodiment of the present application may send the current layers to be synthesized to the hardware hybrid renderer, so that the hardware hybrid renderer determines the synthesis method of each layer to be synthesized. Furthermore, since the system pressure of layer synthesis has been greatly reduced at this time, according to the judgment logic of the hardware hybrid renderer on the synthesis method of the layers to be synthesized, it can be determined with a high probability that the synthesis method of each layer to be synthesized is synthesized by the hardware hybrid renderer.

[0110] As an exemplary implementation, since the properties of each layer to be synthesized (such as format, size, etc.) are different, when synthesizing the layers to be synthesized, a suitable rendering pipeline can be selected for each layer to be synthesized for synthesis processing according to the type of the layer to be synthesized.

[0111] Furthermore, it is possible that some of the layers to be synthesized are still synthesized by the graphics processor. Therefore, the execution subject of the embodiment of the present application can determine whether some of the layers to be synthesized are synthesized by the graphics processor through the hardware hybrid renderer.

[0112] Optionally, when some of the layers to be synthesized have been synthesized by the graphics processor, the first synthesized layer synthesized by the graphics processor can be obtained, and the first synthesized layer can be input into the hardware mixing renderer, so that the hardware mixing renderer can synthesize the synthesized second synthesized layer with the first synthesized layer again to obtain the target synthesized layer.

[0113] Afterwards, the target composite layer can be sent to the terminal screen for display.

[0114] For example, see Figure 4 , is a structural schematic diagram of another vehicle terminal provided in an embodiment of the present application. Figure 4 The structure shown in Figure 3 Based on the structure shown in FIG. 1 , a step of detecting that the pixel architecture is a preset architecture is added. Figure 4 As shown, in this structure, compared with Figure 3There are two more layers to be synthesized, one is Layer 5 of application 3, and the other is Layer 6 of application 4. Assuming that the two layers to be synthesized are layers whose pixel architecture is the preset architecture (the pixel architecture is 1*1), the execution subject of the embodiment of the present application can determine that the pixel architecture of the above two layers to be synthesized is the preset architecture through dumpsys SurfaceFlinger, and send a notification to the development end corresponding to the application of the two layers to be synthesized to delete the pixel architecture as the preset architecture.

[0115] Afterwards, when the development end deletes the above two layers to be synthesized, the execution subject of the embodiment of the present application can determine through HWC that the remaining layers to be synthesized are all synthesized by HWC, and after being synthesized by HWC, they are displayed through the central control physical screen.

[0116] In addition, there may be a situation where the development end is unable to delete the to-be-synthesized layer whose pixel architecture is the preset architecture in a timely manner. Therefore, in order to prevent this situation from delaying the progress of layer synthesis, the execution entity of the embodiment of the present application can set a preset duration and start timing after sending the above notification. When the duration reaches the above preset duration, the layer synthesis steps can continue to be executed.

[0117] As an optional implementation, the above-mentioned layer synthesis step includes determining a synthesis method of each layer to be synthesized by a hardware hybrid renderer, and synthesizing the layers to be synthesized according to the synthesis method of each layer to be synthesized.

[0118] The technical solution provided by the embodiment of the present application obtains the pixel architecture of each layer to be synthesized, and for the layer to be synthesized whose pixel architecture is a preset architecture, sends a notification for deleting the layer to be synthesized whose pixel architecture is a preset architecture to the development end of the layer to be synthesized, wherein the development end deletes the layer to be synthesized whose pixel architecture is the preset architecture based on the notification, and synthesizes the layer to be synthesized by the hardware hybrid renderer of the vehicle terminal when it is detected that the pixel architecture of the layer to be synthesized is not the preset architecture. This technical solution obtains the pixel architecture of the layer to be synthesized when the client system synthesizes the layer, and when the pixel architecture is a preset architecture, the pressure of layer processing can be increased. Therefore, for the layer to be synthesized whose pixel architecture is a preset architecture, a notification for deleting the pixel architecture is sent to the development end, so that the development end deletes the layer to be synthesized whose pixel architecture is a preset architecture, reduces the pressure of layer synthesis processing, and makes it possible to maximize the synthesis mode fed back by the hardware hybrid renderer as the hardware hybrid renderer synthesis, so that the layer synthesis is performed by the hardware hybrid renderer, the efficiency of layer synthesis is increased, the frame rate of the vehicle system is improved, thereby improving the fluency of the vehicle system and the user experience.

[0119] See also Figure 5, which is a flow chart of another embodiment of a layer synthesis method provided in an embodiment of the present application. Figure 5 The process shown in Figure 2 Based on the process shown in the figure, this paper describes how to further reduce the system pressure when compositing the layers to be composited using the hardware hybrid renderer. Figure 5 As shown, the process may include the following steps:

[0120] Step 501: Obtain the pixel structure of each layer to be synthesized.

[0121] Step 502: For the layer to be synthesized whose pixel architecture is the preset architecture, a notification for deleting the layer to be synthesized whose pixel architecture is the preset architecture is sent to the development end of the layer to be synthesized, wherein the development end deletes the layer to be synthesized whose pixel architecture is the preset architecture based on the notification.

[0122] For a detailed description of step 501 and step 502, please refer to the description of step 201 and step 202, which will not be described in detail here.

[0123] Step 503: When it is detected that the pixel architecture of the layers to be synthesized is not the above-mentioned preset architecture, determine whether there is a virtual display screen corresponding to the display screen of the client system. If so, execute step 504; if not, execute step 505.

[0124] Step 504: close the virtual display screen.

[0125] Step 505: synthesize the layers to be synthesized by the hardware hybrid renderer of the vehicle terminal.

[0126] The following is a unified description of steps 503 to 505:

[0127] In actual applications, when synthesizing layers to be synthesized, the more virtual screens the terminal has, the more it will affect the time consumption of the entire system image stack. The most prominent feature is the increase in SurfaceFlinger time consumption, which affects the performance of the entire graphics stack and reduces the efficiency of layer synthesis.

[0128] Based on this, when the execution subject of the embodiment of the present application uses the hardware hybrid renderer to synthesize the layer to be synthesized, it can determine whether there is a virtual display screen (which may include screen projection, screen recording, etc.) corresponding to the display screen of the client system.

[0129] Optionally, when it is determined that there is a virtual display screen, the virtual display screen may be turned off, and then the layers to be synthesized may be synthesized using a hardware mixed renderer, thereby improving the efficiency of layer synthesis.

[0130] On the contrary, when it is determined that there is no virtual display screen, the layer to be synthesized can be directly synthesized through the hardware mixed renderer of the vehicle terminal.

[0131] As for how to synthesize the to-be-synthesized layers through the hardware hybrid renderer of the vehicle terminal, please refer to the description in step 203, which will not be repeated here.

[0132] For example, see Figure 6 , is a structural diagram of another vehicle terminal provided in an embodiment of the present application. Figure 6 In the structure shown, based on Figure 3 The structure shown adds Display 2 projection, Display 3 recording, and Display 1 instrument screen. Figure 6 As shown, in this structure, each screen in the Android system corresponds to a Display (display, physical screen or virtual screen). Generally, Display 0 represents the display of the Android layer on the central control screen, and Display 1 represents the display of the Android layer on the instrument screen. If an application turns on screen projection, screen recording and other operations, the Android system's Display will be increased. For example, in the figure above, Display 2 screen projection and Display 3 screen recording are added, which will increase the load of SurfaceFlinger, thereby affecting the performance of the graphics stack, causing system freezes and reducing the frame rate. In order to reduce this impact.

[0133] Based on this, the executor of the embodiment of the present application can search for the display through dumpsys Surfacelinger, optimize the display occupied by non-compliant applications, close abnormal screen projection, screen recording and other services, and optimize the system fluency.

[0134] The technical solution provided by the embodiment of the present application obtains the pixel architecture of each layer to be synthesized, and for the layer to be synthesized whose pixel architecture is a preset architecture, sends a notification for deleting the layer to be synthesized whose pixel architecture is a preset architecture to the development end of the layer to be synthesized, wherein the development end deletes the layer to be synthesized whose pixel architecture is the preset architecture based on the notification, and when it is detected that the pixel architecture of the layer to be synthesized is not the preset architecture, determines whether there is a virtual display screen for the display screen corresponding to the client system, and if so, turns off the virtual display screen; if not, synthesizes the layer to be synthesized using the hardware hybrid renderer of the vehicle terminal. This technical solution, in addition to deleting the layer to be synthesized whose pixel architecture is a preset architecture, further turns off abnormal virtual displays such as virtual projection to further reduce the system pressure of layer synthesis, so that the synthesis mode fed back by the hardware hybrid renderer can be synthesized by the hardware hybrid renderer as much as possible, so as to perform layer synthesis through the hardware hybrid renderer, increase the efficiency of layer synthesis, and improve the frame rate of the vehicle system, thereby improving the fluency of the vehicle system and enhancing the user experience.

[0135] See also Figure 7 , is a block diagram of an embodiment of a layer synthesis device provided in an embodiment of the present application. As an embodiment, Figure 7 The device shown can be applied to a client system in a vehicle terminal. Figure 7 As shown, the device may include:

[0136] An acquisition module 71, used for acquiring a pixel structure of each layer to be synthesized;

[0137] The sending module 72 is used for sending a notification for deleting the layer to be synthesized whose pixel architecture is the preset architecture to the development end of the layer to be synthesized; wherein the development end deletes the layer to be synthesized whose pixel architecture is the preset architecture based on the notification;

[0138] The synthesis module 73 is used to synthesize the layers to be synthesized by using the hardware hybrid renderer of the vehicle terminal when it is detected that the pixel architectures of the layers to be synthesized are not the preset architectures.

[0139] As a possible implementation, the device further includes (not shown in the figure):

[0140] The allocation module is used to allocate at least two rendering pipelines to the client system by executing a preset configuration file, and the hardware hybrid renderer uses the at least two rendering pipelines to synthesize the layer to be synthesized.

[0141] As a possible implementation, the sending module 72 includes:

[0142] A first acquisition submodule is used to acquire program information of the application program of the layer to be synthesized;

[0143] A first determination submodule, used to determine the development end corresponding to the application program according to the program information;

[0144] The sending submodule is used to send a notification to the development end for deleting the to-be-synthesized layer whose pixel architecture is the preset architecture.

[0145] As a possible implementation, the acquisition module 71 includes:

[0146] The second determination submodule is used to determine the number of layers to be synthesized;

[0147] The second acquisition submodule is used to acquire the pixel structure of each to-be-synthesized layer when the number of the layers is greater than a preset number threshold.

[0148] As a possible implementation, the acquisition module 71 includes:

[0149] A third determining submodule, configured to determine, through the hardware hybrid renderer, whether to synthesize the layer to be synthesized through the graphics processor;

[0150] The third acquisition submodule is used to acquire the pixel structure of each layer to be synthesized when it is determined that the layer to be synthesized is to be synthesized by the graphics processor.

[0151] As a possible implementation, the device further includes (not shown in the figure):

[0152] A determination module, used for determining whether a virtual display screen exists on the display screen corresponding to the client system before synthesizing the to-be-synthesized layer through the hardware hybrid renderer of the vehicle terminal;

[0153] The closing module is used to close the virtual display screen when it is determined that the virtual display screen exists.

[0154] As a possible implementation, the synthesis module 73 includes:

[0155] A fourth determination submodule, configured to determine, through the hardware hybrid renderer, whether some layers to be synthesized are synthesized by the graphics processor of the vehicle terminal;

[0156] A fourth acquisition submodule, configured to acquire a first synthesized layer synthesized by the graphics processor when some of the layers to be synthesized are synthesized by the graphics processor;

[0157] The input submodule is used to input the first composite layer into the hardware hybrid renderer, so that the hardware hybrid renderer re-combines the synthesized second composite layer with the first composite layer to obtain a target composite layer.

[0158] like Figure 8 As shown, it is a schematic diagram of the structure of a vehicle provided in an embodiment of the present application, including a processor 81, a communication interface 82, a memory 83 and a communication bus 84, wherein the processor 81, the communication interface 82, and the memory 83 communicate with each other through the communication bus 84.

[0159] A memory 83, for storing computer programs;

[0160] In one embodiment of the present application, the processor 81 is used to implement the layer synthesis method provided by any one of the above method embodiments when executing the program stored in the memory 83. The method can be applied to the client system in the vehicle terminal. The above method includes:

[0161] Get the pixel structure of each layer to be composited;

[0162] For the layer to be synthesized whose pixel architecture is a preset architecture, sending a notification for deleting the layer to be synthesized whose pixel architecture is the preset architecture to a development end of the layer to be synthesized; wherein the development end deletes the layer to be synthesized whose pixel architecture is the preset architecture based on the notification;

[0163] When it is detected that the pixel architectures of the layers to be synthesized are not the preset architectures, the layers to be synthesized are synthesized by the hardware hybrid renderer of the vehicle terminal.

[0164] An embodiment of the present application also provides a storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of the layer synthesis method provided in any of the aforementioned method embodiments are implemented.

[0165] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment.

[0166] Through the text of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a general hardware platform, and of course, by hardware. Based on this understanding, the above technical solution, in essence or in other words, the part that contributes to the relevant technology, can be embodied in the form of a software product, which can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0167] It should be understood that the terms used in the text are only for the purpose of the specific example implementation of the text, and are not intended to be limited. Unless the context clearly indicates otherwise, the singular forms "one", "an" and "said" as used in the text can also be represented to include plural forms. The terms "include", "comprise", "contain", and "have" are inclusive, and therefore specify the existence of the stated features, steps, operations, elements and / or parts, but do not exclude the existence or addition of one or more other features, steps, operations, elements, parts, and / or their combinations. The method steps, processes, and operations of the text in the text are not interpreted as necessarily requiring them to be performed in the specific order of the text or description, unless the execution order is clearly indicated. It should also be understood that additional or alternative steps can be used.

[0168] The foregoing is merely a specific embodiment of the present invention, which enables those skilled in the art to understand or implement the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but rather to the widest scope consistent with the principles and novel features claimed herein.

Claims

1. A layer synthesis method, characterized in that: A client system applied to a vehicle terminal, the method comprising: Get the pixel structure of each layer to be composited; For the layer to be synthesized whose pixel architecture is the preset architecture, a notification for deleting the layer to be synthesized whose pixel architecture is the preset architecture is sent to the development end of the layer to be synthesized; wherein the development end deletes the layer to be synthesized whose pixel architecture is the preset architecture based on the notification; the layer to be synthesized whose pixel architecture is the preset architecture is used to keep the application alive; When it is detected that the pixel architectures of the layers to be synthesized are not the preset architectures, synthesizing the layers to be synthesized by a hardware hybrid renderer of the vehicle terminal; Before synthesizing the to-be-synthesized layer by the hardware hybrid renderer of the vehicle terminal, the method further includes: Determine whether a virtual display screen exists on the display screen corresponding to the client system; if it is determined that the virtual display screen exists, close the virtual display screen; The synthesizing the layers to be synthesized by the hardware hybrid renderer of the vehicle terminal includes: determining by the hardware hybrid renderer whether part of the layers to be synthesized has been synthesized by the graphics processor of the vehicle terminal; if part of the layers to be synthesized has been synthesized by the graphics processor, obtaining a first synthesized layer synthesized by the graphics processor; inputting the first synthesized layer into the hardware hybrid renderer, so that the hardware hybrid renderer synthesizes the synthesized second synthesized layer with the first synthesized layer again to obtain a target synthesized layer.

2. The method according to claim 1, characterized in that Also includes: At least two rendering pipelines are allocated to the client system by executing a preset configuration file, and the hardware hybrid renderer uses the at least two rendering pipelines to synthesize the to-be-synthesized layer.

3. The method according to claim 1, characterized in that The sending of a notification for deleting the layer to be synthesized whose pixel architecture is the preset architecture to the development end of the layer to be synthesized includes: Obtaining program information of the application program of the layer to be synthesized; Determining a development end corresponding to the application program according to the program information; A notification for deleting a to-be-synthesized layer whose pixel architecture is the preset architecture is sent to the development end.

4. The method according to claim 1 or 2, characterized in that: The step of obtaining the pixel structure of each layer to be synthesized includes: Determine the number of layers to be composited; When the number of layers is greater than a preset number threshold, a pixel structure of each to-be-synthesized layer is obtained.

5. The method according to claim 1 or 2, characterized in that: The step of obtaining the pixel structure of each layer to be synthesized includes: Determining, by the hardware hybrid renderer, whether to synthesize the layer to be synthesized by a graphics processor; When it is determined that the layers to be synthesized are to be synthesized by the graphics processor, a pixel architecture of each layer to be synthesized is obtained.

6. A layer synthesis device, characterized in that: A client system applied to a vehicle terminal, the device comprising: An acquisition module, used for acquiring the pixel structure of each layer to be synthesized; A sending module is used for sending a notification for deleting the layer to be synthesized whose pixel architecture is the preset architecture to the development end of the layer to be synthesized, for the layer to be synthesized whose pixel architecture is the preset architecture; wherein the development end deletes the layer to be synthesized whose pixel architecture is the preset architecture based on the notification; the layer to be synthesized whose pixel architecture is the preset architecture is used to keep the application alive; A synthesis module, used for synthesizing the layers to be synthesized by a hardware hybrid renderer of the vehicle terminal when it is detected that the pixel architectures of the layers to be synthesized are not the preset architectures; Before synthesizing the to-be-synthesized layer by the hardware hybrid renderer of the vehicle terminal, the method further includes: Determine whether a virtual display screen exists on the display screen corresponding to the client system; if it is determined that the virtual display screen exists, close the virtual display screen; The synthesizing the layers to be synthesized by the hardware hybrid renderer of the vehicle terminal includes: determining by the hardware hybrid renderer whether part of the layers to be synthesized has been synthesized by the graphics processor of the vehicle terminal; if part of the layers to be synthesized has been synthesized by the graphics processor, obtaining a first synthesized layer synthesized by the graphics processor; inputting the first synthesized layer into the hardware hybrid renderer, so that the hardware hybrid renderer synthesizes the synthesized second synthesized layer with the first synthesized layer again to obtain a target synthesized layer.

7. A vehicle, characterized in that: The vehicle terminal of the vehicle includes a client system; the client system includes a processor and a memory, and the processor is used to execute a layer synthesis program stored in the memory to implement the layer synthesis method described in any one of claims 1 to 5.

8. A storage medium, characterized in that: The storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the layer synthesis method described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Layer synthesis method and device and computer readable storage medium

    CN113986162A

  • Picture rendering method and device, equipment, storage medium and program product

    CN117205549A