Data display method and system, vehicle machine and storage medium
By cached the data to be displayed in the smart car and accessed directly using a handle, the problem of time-consuming and inefficient reading of data from multiple discrete sub-storage areas is solved, and more efficient data display and computing resources are achieved.
Patent Information
- Application Number
- CN202411840860.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-12
- Publication Date
- 2025-04-11
AI Technical Summary
In the prior art, the main operating system takes time, is inefficient to read data from multiple discrete sub-storage areas in memory one by one, and wastes computing resources.
The data to be displayed is transferred to the target storage area corresponding to the on-board physical screen in memory through the host operating system, and the main operating system converts the starting physical address and address length of the discrete sub-storage area into a handle, and directly accesses and reads the data.
It improves the efficiency of data display, reduces the waste of computing resources, and avoids the time-consuming replication of data one by one.
Smart Images

Figure CN119807093A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of intelligent vehicle technology, and in particular to a data display method, system, vehicle-mounted system, and storage medium. Background Technology
[0002] With the development of technology, automobiles are exhibiting a trend towards diversification in functionality. For example, in-vehicle physical screens can be installed in the driver's seat, passenger seat, and rear seats. The screen installed in the driver's seat can display navigation information from navigation apps, instrument panel information from instrument cluster apps, control information from smart control apps (such as window and sunroof adjustment buttons), music information from music apps, and web page information from browser apps. Screens installed in the passenger seat or rear seats can display web page information from browser apps, music information from music apps, and control information from smart control apps. Typically, due to the numerous applications installed in in-vehicle systems, a significant amount of computing resources are required. To prevent the in-vehicle system from crashing during operation, a host operating system (HostVM) and a guest operating system (GuestVM) can run on a virtual machine within the system. The host operating system is used to install applications related to driving functions (such as navigation, instrument cluster, and smart control apps), while the guest operating system is used to install applications related to entertainment functions (such as music apps and browser apps).
[0003] Currently, when display data needs to be shown from applications within the host operating system, the display data may be written to multiple discrete sub-storage areas. The host operating system then sends a data read notification to the main operating system, which carries the starting storage address and data length of each sub-storage area. The main operating system then copies the data from each of the discrete sub-storage areas in memory, concatenates them into complete display data, and caches it in a corresponding storage area. The main operating system can then retrieve the display data from this storage area and display it. However, copying data from multiple discrete sub-storage areas in memory one by one is time-consuming, inefficient, and wastes computing resources. Summary of the Invention
[0004] This application provides a technology in the field of intelligent vehicle technology, and particularly relates to a data display method, system, vehicle-mounted system and storage medium, which is used to solve the problems of long time consumption, low efficiency and waste of computing resources in the prior art when the main operating system reads data from multiple discrete sub-storage areas of memory one by one.
[0005] Firstly, this application also provides a data display method applied to a data display system, which includes a main operating system and a host operating system. The method provided in this application includes:
[0006] When the host operating system determines that there is first data to be displayed for a first application that needs to be displayed on the first vehicle physical screen, it transmits the first data to be displayed to the target storage area cache in memory corresponding to the first vehicle physical screen. The target storage area includes the starting physical address of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area.
[0007] The host operating system notifies the main operating system to obtain the starting physical addresses of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area;
[0008] The main operating system converts the starting physical addresses of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area into handles;
[0009] The main operating system accesses the first data to be displayed in multiple discrete sub-storage areas based on the handle;
[0010] The main operating system transmits the first data to be displayed to the first in-vehicle physical screen for display.
[0011] In one possible implementation, the main operating system is configured with a virtual graphics processor backend and a DMABUF translation module. The main operating system translates the starting physical addresses of multiple discrete sub-memory regions and the address length corresponding to each sub-memory region into handles, including:
[0012] The virtual graphics processor backend transmits the starting physical addresses of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area to the dmabuf conversion module;
[0013] The dmabuf conversion module converts the starting physical addresses of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area into handles, and feeds the handles back to the virtual graphics processor backend.
[0014] In one possible implementation, the main operating system accesses the first data to be displayed in a plurality of discrete sub-storage areas based on a handle, including:
[0015] The virtual graphics processor backend generates virtual addresses for accessing physical addresses of multiple sub-memory areas based on handle and memory mapping technology;
[0016] The virtual graphics processor backend accesses the first data to be displayed in multiple sub-storage areas based on the virtual address.
[0017] In one possible implementation, the main operating system is also configured with a graphics synthesizer, which accesses first data to be displayed in a plurality of discrete sub-storage areas based on handles, including:
[0018] The virtual graphics processor backend transfers the handle to the graphics compositor;
[0019] The graphics synthesizer obtains the starting physical address and address length of multiple discrete sub-memory regions corresponding to the handle from the dmabuf conversion module;
[0020] The graphics synthesizer accesses the first data to be displayed based on the starting physical address and address length of multiple discrete sub-memory areas;
[0021] The main operating system transmits the first data to be displayed to the first in-vehicle physical screen for display, including:
[0022] The graphics synthesizer combines the acquired second data to be displayed, which is required to be displayed on the first vehicle physical screen from the second application running on the main operating system, with the first data to be displayed to obtain the fused data to be displayed.
[0023] The graphics synthesizer transmits the merged data to be displayed to the first in-vehicle physical screen.
[0024] In one possible implementation, the main operating system is also configured with a graphics synthesizer, which accesses first data to be displayed in a plurality of discrete sub-storage areas based on handles, including:
[0025] The virtual graphics processor backend transfers the handle to the graphics compositor;
[0026] The graphics synthesizer generates virtual addresses for accessing the physical addresses of multiple sub-storage areas based on handle and memory mapping techniques;
[0027] The graphics synthesizer accesses the first data to be displayed in multiple sub-storage areas based on the virtual address;
[0028] The main operating system transmits the first data to be displayed to the first in-vehicle physical screen for display, including:
[0029] The graphics synthesizer combines the acquired second data to be displayed, which is required to be displayed on the first vehicle physical screen from the second application running on the main operating system, with the first data to be displayed to obtain the fused data to be displayed.
[0030] The graphics synthesizer transmits the merged data to be displayed to the first in-vehicle physical screen.
[0031] In one possible implementation, both the first and second data to be displayed are associated with at least a display position, display size, display color, and a layering relationship with other data to be displayed. The graphics compositor combines the acquired second data to be displayed (which is required to be displayed on the first vehicle-mounted physical screen from a second application running on the main operating system) with the first data to be displayed to obtain fused data to be displayed, including:
[0032] The graphics compositer associates the acquired second data to be displayed and the first data to be displayed on the first vehicle physical screen with the associated display position, display size, display color, and layering relationship with other data to be displayed, respectively, of the second application running on the main operating system. It then combines the second data to be displayed with the first data to be displayed to obtain the fused data to be displayed.
[0033] In one possible implementation, the main operating system is also configured with a direct rendering manager driver, which accesses first data to be displayed in multiple discrete sub-storage areas based on handles, including:
[0034] The virtual graphics processor backend transfers the handle to the direct rendering manager driver;
[0035] The direct rendering manager driver obtains the starting physical address and address length of multiple discrete sub-storage areas corresponding to the handle from the dmabuf conversion module;
[0036] The direct rendering manager driver accesses the first data to be displayed based on the starting physical address and address length of multiple discrete sub-storage areas.
[0037] Secondly, this application also provides a data display system, including a main operating system and a host operating system, wherein,
[0038] The host operating system, upon determining that there is first data to be displayed for a first application that needs to be displayed on the first vehicle-mounted physical screen, transmits the first data to be displayed to a target storage area cache in memory corresponding to the first vehicle-mounted physical screen. The target storage area includes the starting physical addresses of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area. The host operating system then notifies the main operating system to obtain the starting physical addresses of the multiple discrete sub-storage areas and the address length corresponding to each sub-storage area.
[0039] The main operating system is used to convert the starting physical addresses of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area into handles; access the first data to be displayed in the multiple discrete sub-storage areas according to the handles; and transmit the first data to be displayed to the first vehicle-mounted physical screen for display.
[0040] Thirdly, this application also provides a vehicle infotainment system, including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to execute instructions to implement the data display method as provided in the first aspect of this application.
[0041] Fourthly, this application also provides a storage medium that, when the instructions in the storage medium are executed by the processor of the vehicle system, enables the vehicle system to execute the data display method provided in the first aspect of this application.
[0042] This application provides a data display method, system, vehicle-mounted system, and storage medium. The main operating system converts the starting physical addresses of multiple discrete sub-storage areas and the address length of each sub-storage area into handles. Among the physical addresses of these discrete sub-storage areas, there exists first data to be displayed for a first application of the host operating system that needs to be displayed on the first in-vehicle physical screen. The main operating system accesses the first data to be displayed in the discrete sub-storage areas using the handles; the main operating system then transfers the first data to be displayed to the first in-vehicle physical screen for display. This eliminates the need for the main operating system to copy the first data to be displayed from each of the discrete sub-storage areas in memory, improving the display efficiency of the first data to be displayed and saving computational resources. Attached Figure Description
[0043] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0044] Figure 1 A software architecture block diagram of the cockpit control chip provided in an embodiment of this application;
[0045] Figure 2 A flowchart illustrating the data display method provided in the embodiments of this application;
[0046] Figure 3 A functional block diagram of the data display device provided in the embodiments of this application. Detailed Implementation
[0047] Embodiments of the present disclosure will now be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the disclosure. Furthermore, descriptions of well-known structures and technologies are omitted in the following description to avoid unnecessarily obscuring the concepts of the present disclosure.
[0048] The accompanying drawings illustrate various structural schematics according to embodiments of the present disclosure. These drawings are not to scale, and some details have been enlarged for clarity, and some details may have been omitted. The shapes of the various regions and layers shown in the drawings, as well as their relative sizes and positional relationships, are merely exemplary and may deviate from reality due to manufacturing tolerances or technical limitations. Furthermore, those skilled in the art can design regions / layers with different shapes, sizes, and relative positions as needed.
[0049] In the context of this disclosure, when a layer / element is referred to as being "above" another layer / element, the layer / element may be directly above the other layer / element, or there may be an intermediate layer / element between them. Additionally, if a layer / element is "above" another layer / element in one orientation, then when the orientation is reversed, the layer / element may be "below" the other layer / element.
[0050] First, let me explain the terms used in this application:
[0051] The host virtual machine (HVM) runs on a virtual machine, and most of the vehicle's hardware resources are allocated to the host virtual machine. The host virtual machine is used to install applications related to driving functions (such as navigation applications, instrument applications, and intelligent control applications).
[0052] The host operating system (Guest Virtual Machine, GVM) runs on a virtual machine, and a small portion of the vehicle's hardware resources are allocated to the host operating system. The host operating system is used to install applications related to entertainment functions (such as music applications, browser applications, etc.).
[0053] dmabuf translation module: A cache sharing technology in the kernel used to solve the problem of cache sharing between the CPU and various peripheral drivers.
[0054] The technical solutions of this application and how they solve the aforementioned technical problems will be described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0055] This application provides a data display method applied to a data display system. The data display system includes a main operating system and a host operating system, which are loaded onto a cockpit control chip in an in-vehicle infotainment system. The cockpit control chip is communicatively connected to a first in-vehicle physical screen and memory. The cockpit control chip can be a System-on-a-Chip (SoC) chip, the main operating system can be, but is not limited to, a Linux operating system, and the host operating system can be, but is not limited to, an Android operating system. The main operating system and the host operating system are divided into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the main operating system can be divided into four layers: an application layer, an application framework layer, a hardware abstraction layer (HAL), and a kernel layer.
[0056] Among them, such as Figure 1 As shown, the application layer of the main operating system installs multiple applications related to driving functions (such as navigation applications, instrument applications, and intelligent control applications). For example, the navigation application can display traffic information, vehicle driving route information, etc.; the instrument application can display vehicle speed information, fuel level information, vehicle acceleration information, etc.; and the intelligent control application can display window control buttons, door control buttons, seat control buttons, etc. The framework layer of the main operating system includes a graphics compositor and a virtual graphics processor backend, Virtio-gpu. The graphics compositor is used to combine the display data from different applications. For example, when the host operating system is Android, the graphics compositor is Weston. The hardware abstraction layer of the main operating system includes a Direct Rendering Manager (DRM). The kernel layer of the main operating system includes the DRM driver and the DMABUF conversion module.
[0057] Still Figure 1 As shown, the host operating system's application layer is used to install applications associated with entertainment functions (such as music applications, browser applications, etc.). The host operating system's framework layer includes a graphics compositor, which is used to synthesize the display data from various applications in the application layer. For example, when the host operating system is Android, the graphics compositor is SurfaceFlinger. The host operating system's kernel layer includes the virtual graphics processor driver Virtio-gpudriver, which is used to transfer the first display data from the host operating system to memory.
[0058] like Figure 2 As shown, the method provided in this application embodiment includes:
[0059] S201: When the host operating system determines that there is first data to be displayed for a first application that needs to be displayed on the first vehicle-mounted physical screen, it transmits the first data to be displayed to the target storage area cache in memory corresponding to the first vehicle-mounted physical screen.
[0060] The target storage region includes the starting physical addresses of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area.
[0061] For example, when the first in-vehicle physical screen is the one in the passenger seat, after the host operating system responds to the passenger's user's operation to open the browser (i.e. the first application) on the in-vehicle physical screen with the browser icon located in the passenger seat, it determines that there is first data to be displayed for the first application (i.e., the browser's interface data) that needs to be displayed on the first in-vehicle physical screen.
[0062] Specifically, the cockpit control chip can be connected to multiple in-vehicle physical screens, each of which is associated with a storage area. The first in-vehicle physical screen is one of these multiple screens, and may be associated with a target storage area within the multiple storage areas. Further, the first data to be displayed from the first application can be sequentially transmitted through the graphics synthesizer SurfaceFlinger, the hardware abstraction layer, and the virtual graphics processor driver Virtio-gpu driver before being cached in the target storage area corresponding to the first in-vehicle physical screen. It should be noted that since the target storage area is allocated based on the host operating system's call to the vmalloc memory allocation function, it comprises multiple discrete sub-storage areas.
[0063] S202: The host operating system notifies the main operating system to obtain the starting physical addresses of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area.
[0064] S203: The main operating system converts the starting physical addresses of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area into handles.
[0065] Specifically, the main operating system is configured with a virtual graphics processor backend and a DMABUF conversion module. S203 can be implemented as follows: the virtual graphics processor backend transmits the address lengths corresponding to multiple discrete memory segments and each sub-memory area to the DMABUF conversion module; the DMABUF conversion module converts the address lengths corresponding to the multiple discrete memory segments and each sub-memory area into handles, and feeds the handles back to the virtual graphics processor backend.
[0066] S204: The main operating system accesses the first data to be displayed in multiple discrete sub-storage areas based on the handle.
[0067] Understandably, the main operating system accesses the first data to be displayed in multiple discrete sub-storage areas based on the handle; the main operating system then transfers the first data to be displayed to the first in-vehicle physical screen for display. In this way, the main operating system does not need to copy the first data to be displayed from multiple discrete sub-storage areas in memory one by one, improving the display efficiency of the first data to be displayed and saving computing resources.
[0068] S205: The main operating system transmits the first data to be displayed to the first vehicle-mounted physical screen for display.
[0069] Specifically, S204 includes, but is not limited to, the following four implementation methods:
[0070] The first method involves the virtual graphics processor backend generating virtual addresses for accessing multiple sub-memory areas using handle and memory mapping techniques. The virtual graphics processor backend then accesses the first data to be displayed in each of these sub-memory areas based on these virtual addresses. This allows the virtual graphics processor backend to directly access the first data to be displayed in each of the multiple sub-memory areas.
[0071] The second method involves the main operating system also equipped with a graphics compositor. The virtual graphics processor backend transmits handles to the graphics compositor, which then obtains the starting physical addresses of multiple discrete sub-memory regions corresponding to the handles, as well as the address length of each sub-memory region, from the dmabuf translation module. The graphics compositor then accesses the first data to be displayed based on these discrete sub-memory regions. This allows the graphics compositor to directly access the first data to be displayed in multiple sub-memory regions.
[0072] At this point, S205 can be specifically implemented as follows: the graphics synthesizer combines the second data to be displayed, which is required to be displayed on the first vehicle-mounted physical screen and the first data to be displayed, which is obtained from the second application running on the main operating system, to obtain the fused data to be displayed; the graphics synthesizer transmits the fused data to be displayed to the first vehicle-mounted physical screen for display.
[0073] The third method involves the main operating system also having a graphics compositor. The virtual graphics processor backend transmits handles to the graphics compositor. Based on the handles and memory mapping technology, the graphics compositor generates virtual addresses for accessing multiple sub-memory areas. The graphics compositor then accesses the first data to be displayed in each of the multiple sub-memory areas based on these virtual addresses. This method also allows the graphics compositor to directly access the first data to be displayed in each of the multiple sub-memory areas.
[0074] At this point, S205 can be specifically implemented as follows: The graphics compositor combines the acquired second data to be displayed, which is required to be displayed on the first vehicle-mounted physical screen and is from the second application running on the main operating system, with the first data to be displayed to obtain the fused data to be displayed. The graphics compositor then transmits the fused data to be displayed to the first vehicle-mounted physical screen for display.
[0075] The fourth method involves the main operating system also configuring a direct rendering manager driver. The virtual graphics processor backend transmits handles to the direct rendering manager driver. The direct rendering manager driver obtains the starting physical addresses and address lengths of multiple discrete sub-memory areas corresponding to the handles from the dmabuf conversion module. The direct rendering manager driver then accesses the first data to be displayed based on the starting physical addresses and address lengths of the multiple discrete sub-memory areas. In this way, the direct rendering manager can also directly access the first data to be displayed in the multiple discrete sub-memory areas.
[0076] Furthermore, the graphics synthesizer combines the second data to be displayed and the first data to be displayed, which are associated with the second application running on the main operating system and need to be displayed on the first vehicle physical screen, with their associated display positions, display sizes, display colors, and layering relationships with other data to be displayed. The resulting composite data is then obtained.
[0077] For example, suppose the second data to be displayed carries display position 1, display size 1, and display color 1; the first data to be displayed includes display position 2, display size 2, and display color 2; the stacking relationship between the first and second data to be displayed is that the first data to be displayed floats above the second data to be displayed. Thus, the final displayed fused data includes: the first data to be displayed, which has display position 2, display size 2, and display color 2 at the bottom layer; and navigation data with display size 1 and display color 1 floating above the first data to be displayed at display position 1.
[0078] In addition, embodiments of this application also provide a data display system, including a main operating system and a host operating system, wherein,
[0079] The host operating system, upon detecting the existence of first data to be displayed for a first application that needs to be displayed on the first vehicle-mounted physical screen, transmits the first data to be displayed to a target storage area cache in memory corresponding to the first vehicle-mounted physical screen. The target storage area includes the starting physical addresses of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area. The host operating system then notifies the main operating system to obtain the starting physical addresses of the multiple discrete sub-storage areas and the address length corresponding to each sub-storage area.
[0080] The main operating system is used to convert the starting physical addresses of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area into handles; access the first data to be displayed in the multiple discrete sub-storage areas according to the handles; and transmit the first data to be displayed to the first vehicle-mounted physical screen for display.
[0081] like Figure 3As shown, this application embodiment also provides a data display device 300, applied to a data display system. The data display system includes a main operating system and a host operating system, which are loaded onto the cockpit control chip of the vehicle's infotainment system. The cockpit control chip is communicatively connected to a first in-vehicle physical screen and memory, respectively. It should be noted that the basic principle and technical effects of the data display device 300 provided in this application embodiment are the same as those in the above embodiments. For the sake of brevity, any parts not mentioned in this application embodiment can be referred to the corresponding content in the above embodiments. The device 300 provided in this application embodiment includes a data caching unit 301, a data acquisition unit 302, a data conversion unit 303, a data access unit 304, and a data display unit 305, wherein...
[0082] The data caching unit 301 is used to transfer the first data to be displayed to the target storage area cache in memory corresponding to the first vehicle physical screen when it is determined that there is a first data to be displayed in the first application that needs to be displayed on the first vehicle physical screen in the host operating system. The target storage area includes the starting physical address of a plurality of discrete sub-storage areas and the address length corresponding to each sub-storage area.
[0083] The data acquisition unit 302 is used to notify the main operating system based on the host operating system to obtain the starting physical address of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area.
[0084] The data conversion unit 303 is used to convert the starting physical address of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area into handles based on the main operating system.
[0085] In one possible implementation, the data conversion unit 303 is specifically used to transmit the starting physical addresses of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area to the dmabuf conversion module based on the virtual graphics processor backend; and to convert the starting physical addresses of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area into handles based on the dmabuf conversion module, and to feed the handles back to the virtual graphics processor backend.
[0086] The data access unit 304 is used to access the first data to be displayed in multiple discrete sub-storage areas based on the handle of the main operating system.
[0087] The data display unit 305 is used to transmit the first data to be displayed to the first vehicle-mounted physical screen for display based on the main operating system.
[0088] Furthermore, the specific implementation methods of the data access unit 304 include, but are not limited to, the following:
[0089] The first type: Data access unit 304, specifically used to generate virtual addresses for accessing multiple sub-storage areas based on handle and memory mapping technology in the backend of the virtual graphics processor; and to access the first data to be displayed in the multiple sub-storage areas based on the virtual addresses in the backend of the virtual graphics processor.
[0090] The second method: The main operating system is also equipped with a graphics compositor and a data access unit 304, which is specifically used to transmit the handle to the graphics compositor based on the virtual graphics processor backend; obtain the starting physical address and address length of multiple discrete sub-storage areas corresponding to the handle from the dmabuf conversion module based on the graphics compositor; and access the first data to be displayed based on the starting physical address and address length of the multiple discrete sub-storage areas based on the graphics compositor.
[0091] At this time, the data display unit 305 is specifically used to combine the second data to be displayed, which is obtained from the second application running on the main operating system and needs to be displayed on the first vehicle physical screen, with the first data to be displayed based on the graphics synthesizer, to obtain the fused data to be displayed; and to transmit the fused data to be displayed to the first vehicle physical screen for display based on the graphics synthesizer.
[0092] The third type: The main operating system is also equipped with a graphics compositor and a data access unit 304, which is specifically used to transfer handles to the graphics compositor based on the backend of the virtual graphics processor; the graphics compositor generates virtual addresses for accessing multiple sub-storage areas based on handles and memory mapping technology; and the graphics compositor accesses the first data to be displayed in multiple sub-storage areas based on the virtual addresses.
[0093] The data display unit 305 is specifically used to combine the acquired second data to be displayed, which is required to be displayed on the first vehicle-mounted physical screen and the first data to be displayed, with the second application running on the main operating system, based on the graphics synthesizer, to obtain the fused data to be displayed; and to transmit the fused data to be displayed to the first vehicle-mounted physical screen for display based on the graphics synthesizer.
[0094] In one possible implementation, both the first and second data to be displayed are associated with at least a display position, display size, display color, and overlay relationship with other data to be displayed. Based on the graphics compositer, the associated display positions, display sizes, display colors, and overlay relationships with other data to be displayed, as well as the associated information of the second and first data to be displayed (associated with the second application running on the main operating system and required to be displayed on the first vehicle-mounted physical screen), are combined to obtain the fused data to be displayed.
[0095] In addition, this application also provides a vehicle infotainment system, including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to execute instructions to implement the data display method provided in the above embodiments of this application.
[0096] In addition, this application also provides a storage medium, which, when the instructions in the storage medium are executed by the processor of the vehicle system, enables the vehicle system to execute the data display method as described in the above embodiments of this application.
[0097] In summary, the embodiments of this application provide a data display method, system, vehicle-mounted system, and storage medium. Based on the main operating system, the starting physical addresses of multiple discrete sub-storage areas and the address length corresponding to each sub-storage area can be converted into handles. Among the physical addresses of the multiple discrete sub-storage areas, there exists first data to be displayed for a first application of the host operating system that needs to be displayed on the first in-vehicle physical screen. The main operating system accesses the first data to be displayed in the multiple discrete sub-storage areas based on the handles; the first data to be displayed is then transferred to the first in-vehicle physical screen for display based on the main operating system. Thus, the main operating system does not need to copy the first data to be displayed from each of the multiple discrete sub-storage areas in memory, improving the display efficiency of the first data to be displayed and saving computing resources.
[0098] The above description does not provide detailed technical specifications regarding the structure of each layer. However, those skilled in the art should understand that layers and regions of desired shapes can be formed using various technical means. Furthermore, to form the same structure, those skilled in the art can also design methods that are not entirely identical to those described above. Additionally, although various embodiments have been described above, this does not mean that the measures in the various embodiments cannot be advantageously combined.
[0099] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.
[0100] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A data display method, characterized in that: Applied to a data display system, the data display system includes a main operating system and a host operating system, the method includes: When the host operating system determines that there is first to-be-displayed data of the first application program that needs to be displayed on the first vehicle-mounted physical screen, the host operating system transfers the first to-be-displayed data to a target storage area cache corresponding to the first vehicle-mounted physical screen in the memory, wherein the target storage area includes the starting physical addresses of a plurality of discrete sub-storage areas and the address length corresponding to each of the sub-storage areas; The host operating system notifies the main operating system to obtain the starting physical addresses of the plurality of discrete sub-storage slices and the address length corresponding to each of the sub-storage slices; The main operating system converts the starting physical addresses of the plurality of discrete sub-storage areas and the address length corresponding to each of the sub-storage areas into a handle; The main operating system accesses the first to-be-displayed data in a plurality of discrete sub-storage areas according to the handle; The main operating system transmits the first data to be displayed to the first vehicle-mounted physical screen for display.
2. The method according to claim 1, characterized in that The main operating system is configured with a virtual graphics processor backend and a dmabuf conversion module, and the main operating system converts the starting physical addresses of the plurality of discrete sub-storage areas and the address length corresponding to each of the sub-storage areas into a handle, including: The virtual graphics processor backend transmits the starting physical addresses of the plurality of discrete sub-storage areas and the address length corresponding to each of the sub-storage areas to the dmabuf conversion module; The dmabuf conversion module converts the starting physical addresses of the plurality of discrete sub-storage areas and the address length corresponding to each of the sub-storage areas into a handle, and feeds the handle back to the virtual graphics processor back end.
3. The method according to claim 2, characterized in that The main operating system accesses the first to-be-displayed data in a plurality of discrete sub-storage areas according to the handle, including: The virtual graphics processor backend generates a virtual address for accessing the physical addresses of the plurality of sub-memory slices according to the handle and the memory mapping technology; The virtual graphics processor back end accesses the first to-be-displayed data in the plurality of sub-memory slices according to the virtual address.
4. The method according to claim 2, characterized in that: The main operating system is further configured with a graphics synthesizer, and the main operating system accesses the first to-be-displayed data in a plurality of discrete sub-storage areas according to the handle, including: The virtual graphics processor backend transmits the handle to the graphics synthesizer; The graphics synthesizer obtains the starting physical addresses and address lengths of the plurality of discrete sub-storage areas corresponding to the handle from the dmabuf conversion module; The graphic synthesizer accesses the first to-be-displayed data according to the starting physical addresses and address lengths of the plurality of discrete sub-storage areas; The main operating system transmits the first to-be-displayed data to the first vehicle-mounted physical screen for display, including: The graphic synthesizer synthesizes the acquired second data to be displayed of the second application program running on the main operating system and needing to be displayed on the first vehicle-mounted physical screen with the first data to be displayed to obtain fused data to be displayed; The graphic synthesizer transmits the fused data to be displayed to the first vehicle-mounted physical screen for display.
5. The method according to claim 2, characterized in that: The main operating system is further configured with a graphics synthesizer, and the main operating system accesses the first to-be-displayed data in a plurality of discrete sub-storage areas according to the handle, including: The virtual graphics processor backend transmits the handle to the graphics synthesizer; The graphics synthesizer generates virtual addresses for accessing physical addresses of the plurality of sub-memory slices according to the handle and memory mapping technology; The graphics synthesizer accesses the first to-be-displayed data in the plurality of sub-storage areas according to the virtual address; The main operating system transmits the first to-be-displayed data to the first vehicle-mounted physical screen for display, including: The graphic synthesizer synthesizes the acquired second data to be displayed of the second application program running on the main operating system and needing to be displayed on the first vehicle-mounted physical screen with the first data to be displayed to obtain fused data to be displayed; The graphic synthesizer transmits the fused data to be displayed to the first vehicle-mounted physical screen for display.
6. The method according to claim 4 or 5, characterized in that: The first data to be displayed and the second data to be displayed are both associated with at least a display position, a display size, a display color, and a stacking relationship with other data to be displayed. The graphic synthesizer synthesizes the acquired second data to be displayed of the second application program running on the main operating system and needs to be displayed on the first vehicle-mounted physical screen with the first data to be displayed to obtain fused data to be displayed, including: The graphic synthesizer associates the acquired second data to be displayed of the second application running on the main operating system and needs to be displayed on the first vehicle-mounted physical screen with the first data to be displayed, and respectively associates the associated display position, display size, display color and stacking relationship with other data to be displayed, and synthesizes the second data to be displayed with the first data to obtain fused data to be displayed.
7. The method according to claim 2, characterized in that The main operating system is further configured with a direct rendering manager driver, and the main operating system accesses the first to-be-displayed data in a plurality of discrete sub-storage areas according to the handle, including: The virtual graphics processor backend transmits the handle to the direct rendering manager driver; The direct rendering manager driver obtains the starting physical addresses and address lengths of the plurality of discrete sub-storage areas corresponding to the handle from the dmabuf conversion module; The direct rendering manager driver accesses the first to-be-displayed data according to the starting physical addresses and address lengths of the plurality of discrete sub-memory slices.
8. A data display system, characterized in that: It includes a main operating system and a host operating system, wherein: The host operating system is used to, when determining that there is first to-be-displayed data of a first application program that needs to be displayed on a first vehicle-mounted physical screen, transfer the first to-be-displayed data to a target storage area cache in a memory corresponding to the first vehicle-mounted physical screen, wherein the target storage area includes a starting physical address of a plurality of discrete sub-storage areas and an address length corresponding to each of the sub-storage areas; and notify the main operating system to obtain the starting physical address of the plurality of discrete sub-storage areas and the address length corresponding to each of the sub-storage areas; The main operating system is used to convert the starting physical addresses of the multiple discrete sub-storage areas and the address length corresponding to each of the sub-storage areas into a handle; access the first data to be displayed in the multiple discrete sub-storage areas according to the handle; and transmit the first data to be displayed to the first vehicle-mounted physical screen for display.
9. A vehicle computer, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is configured to execute the instructions to implement the data display method according to any one of claims 1 to 7. 10 . A storage medium, when instructions in the storage medium are executed by a processor of a vehicle computer, the vehicle computer can execute the data display method according to any one of claims 1 to 7.