Image distortion correction system based on dual-system shared communication, vehicle and method
By introducing a shared data access area for dual-system communication in the HUD system and utilizing the GPU resources on the Android side for software-based correction, the problems of complex architecture, high cost, and resource waste in traditional HUD systems are solved, achieving system simplification, cost reduction, and upgrade flexibility.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- GUANGZHOU AUTOMOBILE GROUP CO LTD
- Filing Date
- 2026-01-19
- Publication Date
- 2026-06-02
AI Technical Summary
Traditional HUD systems suffer from complex architecture, high cost, and difficulty in upgrading due to their reliance on dedicated hardware for image distortion correction, as well as the underutilization of general computing resources in the cockpit domain.
By establishing a data sharing access area between the QNX and Android dual systems, efficient asynchronous communication is achieved. The GPU resources on the Android side are used for software-based correction, replacing the traditional dedicated correction chip, simplifying the system architecture and improving resource utilization.
It achieves simplified system architecture, reduced costs, improved resource utilization, and OTA upgrade support, meets the requirements for real-time HUD image display, and improves system maintainability and robustness of cross-platform communication.
Smart Images

Figure CN122137941A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of vehicle technology, and in particular to an image distortion correction system, vehicle, and method based on dual-system shared communication. Background Technology
[0002] HUD (Head-Up Display) projects key driving information into the driver's line of sight through optical projection to improve driving safety. However, due to the non-planar reflection path, the original image will undergo significant geometric distortion during projection. If not corrected, this will lead to information misalignment, reduced readability, or even misjudgment.
[0003] In related technologies, HUD systems generally use software distortion algorithms to correct image distortion, and the software distortion algorithm is migrated from QNX to the Android side to achieve image distortion correction.
[0004] However, the above solutions have the following technical problems: (1) Complex system architecture: Video data needs to be transmitted between the cockpit domain and the HUD software, which reduces the efficiency of cross-system data interaction and increases the complexity of the interface and the cost of the wiring harness; (2) Low resource utilization: The computing resources of the cockpit domain are not fully utilized, resulting in resource waste, which needs to be solved urgently. Summary of the Invention
[0005] This application provides an image distortion correction system, vehicle, and method based on dual-system shared communication to solve the problems of complex system architecture, high cost, difficult upgrades, and underutilization of cockpit domain general computing resources caused by the reliance on dedicated hardware for image distortion correction in traditional HUD systems.
[0006] A first aspect of this application provides an image distortion correction system based on dual-system shared communication, comprising: a first operating component, a second operating component, and a data sharing access area disposed between the first operating component and the second operating component, wherein... The data sharing access area is configured to store the distortion texture data and distortion parameters of the pre-corrected image sent by the first operation component, and to store the corrected image sent by the second operation component. The first operation component is used to store the received distortion texture data and distortion parameters of the pre-corrected image into the data sharing access area, read the corrected image from the data sharing access area, and control the head-up display component to display the corrected image; The second operation component is used to read the distortion texture data and distortion parameters of the pre-corrected image from the data sharing access area, perform distortion correction on the distortion texture data based on the distortion parameters to obtain the corrected image, and store the corrected image in the data sharing access area.
[0007] The above technical solution establishes a data-sharing area accessible to both the QNX and Android systems within the domain controller. A specific data structure is defined, containing distortion texture maps, distortion parameters, and return files. The HUD application on the QNX side writes the necessary correction data into this area. The correction module on the Android side reads the data through a monitoring mechanism, then calls the integrated GPU (Graphics Processing Unit) resources within the domain controller to perform correction calculations. The results are then returned to the QNX side via the data-sharing area and output to the HUD hardware. This replaces the traditional dedicated correction chip with pure software, achieving simplified system architecture, reduced costs, improved resource utilization, and OTA (Over-The-Air) upgrade support.
[0008] Optionally, in one embodiment of this application, the data sharing access area includes: The first storage unit is used to store the distortion texture data of the pre-corrected image; The second storage unit is used to store the distortion parameters of the pre-corrected image; The third storage unit is used to store the corrected image.
[0009] By providing a structured, asynchronous, and state-controllable communication bridge for the QNX and Android dual systems, the above technical solution enables efficient collaboration and decoupling of cross-system image correction tasks, eliminating the complex data interfaces and hardware dependencies in traditional solutions. This significantly reduces system costs, improves resource utilization, and enhances the flexibility of software upgrades and maintenance.
[0010] Optionally, in one embodiment of this application, the first operating component includes: A writing module, which is used to write the distorted texture data and the distortion parameters into the data sharing access area; The first reading module is used to read the corrected image from the data sharing access area; A control module is used to control the head-up display component to display the corrected image.
[0011] By decoupling the functional modules of data writing, result reading, and display control through the above technical solution, the first control component achieves a clear division of labor and efficient collaboration between task initiation, state synchronization, and hardware driving. This significantly improves the maintainability of the system architecture and the robustness of cross-platform communication while ensuring real-time and reliable display of HUD images.
[0012] Optionally, in one embodiment of this application, the first operating component further includes: A status setting unit is used to adjust the status of the flag bit of the data sharing access area from the current status to the target status. The state recognition unit is used to determine the target state as a written state if the first operation component completes the write operation when the current state is a write state.
[0013] Through the above technical solution, by introducing a status setting and identification unit to manage the status of the flag bits of the shared area, the first operation component achieves accurate and reliable task handshaking and synchronization with the second operation component, fundamentally avoiding data inconsistency or processing errors caused by data read and write timing conflicts, and significantly improving the robustness and reliability of dual-system collaborative processing.
[0014] Optionally, in one embodiment of this application, the second operating component includes: The monitoring module is used to monitor whether the current state is the written state; The second reading module is used to read the distortion texture data and distortion parameters of the pre-corrected image from the data sharing access area when the current state is the written state; The correction module is used to perform distortion correction on the distorted texture data based on the distortion parameter mapping table and the distortion parameters to obtain the corrected image.
[0015] Through the above technical solution, by triggering data reading through status monitoring and calling the parameter mapping table for correction calculation, the second operation component realizes precise triggering of task processing, efficient utilization of resources and standardization of the calculation process. While ensuring the accuracy and real-time performance of distortion correction, it significantly improves the overall processing efficiency and algorithm consistency of the system.
[0016] Optionally, in one embodiment of this application, the second operating component further includes: The load monitoring module is used to monitor the load data of the correction module when it performs distortion correction on the distorted texture data in real time. An adjustment unit is used to determine the resource allocation result of the correction module based on the load data.
[0017] Through the above technical solution, by monitoring the correction load in real time and dynamically adjusting computing resources, the second operation component achieves adaptive optimization allocation of GPU computing power, which significantly improves system resource utilization and energy efficiency while ensuring the real-time performance and stability of distortion correction processing.
[0018] Optionally, in one embodiment of this application, the first operating component is the QNX real-time operating system, and the second operating component is the Android operating system.
[0019] By combining the real-time reliability of QNX with the rich computing ecosystem of Android, the advantages of both systems are fully utilized. While ensuring high real-time performance and stability of HUD display control, the powerful GPU resources of Android are efficiently used for software correction, achieving optimal configuration of vehicle domain controller resources and functional decoupling.
[0020] According to the image distortion correction system based on dual-system shared communication according to an embodiment of this application, the data sharing access area is configured to store the distortion texture data and distortion parameters of the pre-corrected image sent by the first operation component, and to store the corrected image sent by the second operation component. The first operation component is used to store the distortion texture data and distortion parameters in the data sharing access area, read the corrected image from the data sharing access area, and control the head-up display component to display it. The second operation component is used to read the distortion texture data and distortion parameters from the data sharing access area, perform distortion correction on the distortion texture data based on the distortion parameters to obtain the corrected image, and store it in the data sharing access area. This solves the problems of architectural redundancy, high cost, inability to be upgraded over-the-air (OTA), and idle computing power of the domain controller caused by the use of dedicated distortion correction hardware in HUD systems.
[0021] A second aspect of this application provides a vehicle, including: an image distortion correction system based on dual-system shared communication as described in any of the above embodiments.
[0022] The vehicle according to the embodiments of this application solves the problems of architectural redundancy, high cost, inability to be upgraded over OTA, and idle computing power of domain controller caused by the use of dedicated distortion correction hardware in the HUD system.
[0023] A third aspect of this application provides an image distortion correction method, which is applied to an image distortion correction system as described in any of the above embodiments, wherein the method includes: The first operation component stores the received distortion texture data and distortion parameters of the pre-corrected image into the data sharing access area. The second operation component reads the distortion texture data and distortion parameters of the pre-corrected image from the data sharing access area, performs distortion correction on the distortion texture data based on the distortion parameters to obtain the corrected image, and stores the corrected image in the data sharing access area. The first operation component reads the corrected image from the data sharing access area and controls the control head-up display component to display the corrected image.
[0024] Optionally, in one embodiment of this application, before reading the distortion texture data and distortion parameters of the pre-corrected image from the data sharing access area via the second operating component, the method further includes: Detect the status of the flag bit in the data sharing access area, and adjust the status of the flag bit in the data sharing access area from the current status to the target status; If the first operation component completes the write operation when the current state is a write state, then the target state is determined to be a written state, and the distortion texture data and distortion parameters of the data sharing access area are read from the data sharing access area.
[0025] According to the image distortion correction method of this application embodiment, a data sharing access area is configured to store the distortion texture data and distortion parameters of the pre-corrected image sent by a first operation component, and to store the corrected image sent by a second operation component. The first operation component is used to store the distortion texture data and distortion parameters in the data sharing access area, read the corrected image from the data sharing access area, and control the head-up display component to display it. The second operation component is used to read the distortion texture data and distortion parameters from the data sharing access area, perform distortion correction on the distortion texture data based on the distortion parameters to obtain the corrected image, and store it in the data sharing access area. This solves the problems of architectural redundancy, high cost, inability to OTA upgrade, and idle domain controller computing power caused by the use of dedicated distortion correction hardware in HUD systems.
[0026] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description
[0027] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, wherein: Figure 1 This is a block diagram of an image distortion correction system based on dual-system shared communication according to an embodiment of this application; Figure 2 This is a schematic diagram of the system architecture of a cockpit domain controller according to an embodiment of this application; Figure 3 This is a flowchart illustrating a graphic correction process according to an embodiment of this application; Figure 4 This is a flowchart of an image distortion correction method according to an embodiment of this application.
[0028] Among them, 10-image distortion correction system based on dual-system shared communication, 300-first operation component, and 400-second operation component. Detailed Implementation
[0029] The embodiments of this application are described in detail below. Examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.
[0030] The following description, with reference to the accompanying drawings, describes an image distortion correction system, vehicle, and method based on dual-system shared communication according to embodiments of this application. Addressing the problems mentioned in the background art, such as complex system architecture, high cost, difficult upgrades, and underutilization of cockpit domain general computing resources due to reliance on dedicated hardware for image distortion correction in traditional HUD systems, this application provides an image distortion correction system based on dual-system shared communication. In this system, a data sharing access area is configured to store distortion texture data and distortion parameters of a pre-corrected image sent by a first operation component, and to store a corrected image sent by a second operation component. The first operation component stores the distortion texture data and distortion parameters in the data sharing access area, reads the corrected image from the data sharing access area, and controls the head-up display component to display it. The second operation component reads the distortion texture data and distortion parameters from the data sharing access area, performs distortion correction on the distortion texture data based on the distortion parameters to obtain a corrected image, and stores it in the data sharing access area. This solves the problems of redundant architecture, high cost, inability to upgrade over-the-air (OTA) and idle computing power of domain controllers caused by the use of dedicated distortion correction hardware in HUD systems.
[0031] Specifically, before introducing the embodiments of this application, let's first introduce the relevant technologies and existing technical problems. In the relevant technologies, HUD systems generally use software distortion algorithms to correct image distortion, and migrate the software distortion algorithm from the QNX domain (the domain where the HUD software is located) to the Android domain (the domain where the GPU is located) to achieve image distortion correction. However, in the above image correction process, the following specific communication problems are usually encountered: (1) High latency: If traditional inter-process communication (such as Socket) is used, the data needs to go through multiple encapsulation / decapsulation, kernel mode and user mode copying, which will result in a transmission latency of up to several milliseconds or even tens of milliseconds, which is difficult to meet the strict timing requirements of real-time rendering of HUD images (usually required <16ms / frame); (2) High CPU (Central Processing) Unit (Central Processing Unit) overhead: Frequent image data transmission and communication protocol processing will continuously occupy CPU resources and compete with other applications in the cockpit for computing power; (3) Synchronization complexity: Complex handshake, confirmation and timeout retransmission mechanisms need to be designed to ensure data synchronization, which increases system complexity and instability risk; (4) Traditional correction algorithms have limited data transmission capacity. After the Android terminal receives the image, it needs to run the complete correction algorithm. The image and algorithm are coupled. Changing the algorithm requires retransmitting the entire set of processing logic; (5) Low resource utilization: The computing resources of the cockpit domain are not fully utilized, resulting in resource waste.
[0032] Therefore, based on the aforementioned technical problems, this application embodiment establishes a data sharing access area that can be accessed by both parties within a domain controller running both QNX and Android systems. A specific data structure containing distortion texture maps, distortion parameters, and return files is defined within this area. This area enables efficient asynchronous communication between the two systems. The HUD application on the QNX side writes data to be processed, triggering the Android side to call the domain controller's existing GPU resources to perform software-based correction calculations, and then returns the results. This replaces traditional dedicated correction hardware with general-purpose computing resources, thereby achieving the technical effects of simplified architecture, reduced costs, full utilization of computing power, and support for remote upgrades.
[0033] Specifically, Figure 1 This is a block diagram illustrating an image distortion correction system based on dual-system shared communication, provided as an embodiment of this application.
[0034] like Figure 1 As shown, the image distortion correction system 10 based on dual-system shared communication includes: a first operation component 300, a second operation component 400, and a data sharing access area set between the first operation component 300 and the second operation component 400, wherein... The data sharing access area is configured to store the distortion texture data and distortion parameters of the pre-corrected image sent by the first operation component 300, and to store the corrected image sent by the second operation component 400; The first operation component 300 is used to store the distortion texture data and distortion parameters of the received pre-corrected image into the data sharing access area, read the corrected image from the data sharing access area, and control the head-up display component to display the corrected image. The second operation component 400 is used to read the distortion texture data and distortion parameters of the pre-corrected image from the data sharing access area, perform distortion correction on the distortion texture data based on the distortion parameters to obtain the corrected image, and store the corrected image in the data sharing access area.
[0035] Therefore, by establishing a data-sharing area accessible to both the QNX and Android systems within the domain controller, and defining a specific data structure containing distortion texture maps, distortion parameters, and return files, the HUD application on the QNX side writes the data required for correction into this area. The correction module on the Android side reads the data through a monitoring mechanism, calls the GPU resources integrated within the domain controller to perform correction calculations, and then returns the results to the QNX side through the data-sharing area and outputs them to the HUD hardware. This replaces the traditional dedicated correction chip with a purely software approach, achieving a simplified system architecture, reduced costs, improved resource utilization, and OTA upgrade support.
[0036] The data sharing access area includes: a first storage unit for storing the distortion texture data of the pre-corrected image; a second storage unit for storing the distortion parameters of the pre-corrected image; and a third storage unit for storing the corrected image.
[0037] Specifically, the image distortion correction system of this application embodiment is deployed in a smart cockpit domain controller. Its core architecture includes a first operation component 300 and a second operation component 400. The first operation component 300 can be a QNX real-time operating system, and the second operation component 400 can be an Android operating system. The first operation component 300 is equipped with HUD software. A data sharing access area Q, which is pre-allocated and mapped by a virtual machine monitor, is used between the first operation component 300 and the second operation component 400 to achieve efficient data interaction between the HUD software and the cockpit domain. This data sharing access area is designed as a structured buffer rather than a file system storage, aiming to support low-latency, deterministic cross-operating system collaboration.
[0038] Specifically, such as Figure 2As shown, the data sharing access area is logically designed to contain three clearly structured and defined storage units: the first storage unit, the second storage unit, and the third storage unit. The first storage unit contains distorted texture data (image format), the second storage unit contains distortion parameters (bin file format), and the third storage unit contains the return file (bin file format). Initially, all three storage units are empty files. Both the first operation component 300 and the second operation component 400 have read and write permissions for the three storage units. These three storage units are used for the software distortion correction cockpit domain controller handshake communication. In principle, by reading these three storage units, it is possible to clearly understand whether the image distortion correction was successful or failed. If the distortion correction fails, the cause of the failure can be preliminarily located.
[0039] The first storage unit stores the distortion texture data of the pre-corrected image captured by the acquisition device (e.g., a camera) and processed by HUDapk (Android Application Package) during the distortion correction process, for use by the software correction calculation module on the Android side. The second storage unit stores the parameters that need to be adjusted in the pre-corrected image during the distortion correction process, i.e., distortion parameters, such as tilt angle and scaling ratio, which are key configuration information used to guide the correction calculation. It can also be used for QNX / Android communication after each power-on of the vehicle, so that HUDapk can apply the distorted HUD graphics layer. The third storage unit stores the HUD graphics layer generated by the software correction calculation module after the software distortion correction is completed, and stores the corrected image. The corrected image is then transmitted to the HUD software on the QNX side by the software correction calculation module on the Android side in the form of a bin file.
[0040] It should be noted that the data sharing access area Q is physically a reserved RAM (Random Access Memory); at the software level, it is mapped to its respective user space or kernel space through memory mapping, and accessed through the defined header control block and subsequent data area.
[0041] Thus, through the above systematic design, the function of image correction, which traditionally relies on dedicated hardware, has been successfully moved to the software layer of the cockpit domain controller. Specifically, the first operation component 300 is responsible for task initiation and data supply, the second operation component 400 is responsible for high-performance computing, and the data sharing access area achieves decoupling and reliable data exchange between the two through its structured storage unit. Together, they achieve the invention's purpose of simplifying hardware architecture, reducing system costs, making full use of the domain controller's computing power, and enhancing system maintainability and upgradeability.
[0042] Optionally, in one embodiment of this application, the first operation component 300 includes: a writing module for writing distorted texture data and distortion parameters into a data sharing access area; a first reading module for reading the corrected image from the data sharing access area; and a control module for controlling the head-up display component to display the corrected image.
[0043] Optionally, in one embodiment of this application, the first operation component 300 further includes: a state setting unit, used to adjust the flag state of the data sharing access area from the current state to the target state; and a state identification unit, used to determine the target state as a written state if the first operation component 300 completes the write operation when the current state is a write state.
[0044] Specifically, the first operation component 300 stores the distortion texture data and related distortion parameters of the pre-corrected image received from the upstream graphics system or an external camera in a data sharing access area shared with the second operation component 400; secondly, it reads the corrected image processed by the second operation component 400 from this area; finally, it controls the head-up display component to project and display the corrected image. The pre-corrected image is received by the cockpit domain host via CAN (Controller Area Network) communication. During the vehicle off-line calibration process, the pre-corrected image is captured by a camera and the distortion parameters are calculated. The calculated distortion parameter mapping table is communicated to the first operation component 300 via CAN.
[0045] Specifically, firstly, the first operation component 300 analyzes the pre-corrected image of the received head-up display component based on a preset optical projection model, generating distortion texture data (i.e., distortion coordinate mapping table) and associated distortion parameters (such as resolution, frame number, timestamp, and other metadata) for geometric correction. Then, the distortion texture data and distortion parameters obtained above are written to the data sharing access area in a structured manner through the writing module, that is, the distortion texture data is written to the first storage unit and the distortion parameters are written to the second storage unit. The distortion texture data and distortion parameters are then transmitted to the second operation component 400 through the data sharing access area to ensure the complete and accurate transmission of task data.
[0046] Secondly, to ensure the reliability and timing consistency of data interaction and avoid data read / write conflicts and state confusion, the first operation component 300 is also specially equipped with a state management mechanism, which mainly includes a state setting unit and a state recognition unit. The state setting unit is used to adjust the flag state of the data sharing access area from the current state to the target state. For example, before the writing module starts writing data, the state setting unit can set the flag from the "idle" or "ready" state to the "write state" to inform the second operation component 400 that the data is being prepared and should not be read yet.
[0047] Furthermore, the state recognition unit and the state setting unit work together to continuously monitor the flag status in the data sharing access area and decide on the next operation. When the state recognition unit detects that the current state of the flag is the target state, such as the current state being the write state, it indicates that the first operation component 300 is writing data. When the write module completes the data writing, the state recognition unit determines that the process can proceed to the next stage and determines that the current state is the written state. Then, the state setting unit updates the flag status from the written state to the pending write state. At this time, the data sharing access area changes, that is, new data is stored in the data sharing access area. Only then is a new round of data writing allowed to start. After the write module completes the writing operation of all distorted texture data and distortion parameters, a data read signal is sent to the second operation component 400.
[0048] Optionally, in one embodiment of this application, the second operation component 400 includes: a monitoring module, which is used to monitor whether the current state is a written state; a second reading module, which is used to read the distortion texture data and distortion parameters of the pre-corrected image from the data sharing access area when the current state is a written state; and a correction module, which is used to perform distortion correction on the distortion texture data according to the distortion parameters based on the distortion parameter mapping table to obtain the corrected image.
[0049] Specifically, in this embodiment of the application, the second operation component 400 reads the distortion texture data and distortion parameters of the pre-corrected image written by the first operation component 300 from the data sharing access area, performs distortion correction on the distortion texture data based on the distortion parameters, generates a corrected image that meets the requirements of optical projection, and then stores the corrected image in the data sharing access area for the first operation component 300 to read and drive the display.
[0050] Specifically, such as Figure 2As shown, the second operation component 400 includes a monitoring module. First, the monitoring module continuously or periodically monitors the status of the flag bit in the data sharing access area. When the flag bit status of the data sharing access area is detected to be in the written state, it indicates that the first operation component 300 has completed the writing of the distorted texture data and distortion parameters, and can safely start the subsequent processing flow. This avoids the risk of reading incomplete or erroneous data due to incomplete file writing, and ensures the robustness of system communication.
[0051] Secondly, the second operation component 400 is activated immediately after the monitoring module confirms that the status is ready, and the second reading module reads the distortion texture data and distortion parameters of the pre-corrected image from the data sharing access area, and converts these data into an internal format that can be directly used by the calculation module.
[0052] Finally, as Figure 2 and Figure 3 As shown, the correction module reads the distorted texture data and distortion parameters. The correction data management module 102 queries or calculates the corresponding geometric transformation matrix, pixel remapping coordinates or other correction control quantities from the distortion coordinate mapping table according to the distortion parameters. Then, the correction module (i.e., the software correction calculation module 101) calls the general-purpose GPU resources integrated in the cockpit domain controller. In the HUD layer composition stage of the SurfaceFlinger graphics compositing service, the system integration interface module 103 calls the pre-compiled shader program to perform pixel-level remapping operation on the pre-corrected image, thereby generating the corrected image after pre-distortion processing. Then, the correction data of the obtained corrected image is sent to the third storage unit in the data sharing access area. After the distortion correction is completed, each time the vehicle is powered on, the HUD software of the first operation component 300 writes the start signal into the second storage unit in the data sharing access area for handshaking with each software correction module at the second operation component 400.
[0053] Furthermore, the first reading module in the first operation component 300 serves as the interface for result input. After the distortion correction of the complete image by the second operation component 400 is completed and sent to the third storage unit in the data sharing access area, the first reading module continuously or periodically monitors the state changes of the third storage unit in the data sharing access area. When valid corrected image data is detected in the third storage unit, a reading operation is performed to provide a data source for subsequent display actions. Then, after receiving the corrected image provided by the first reading module, the control module in the first operation component 300 is responsible for generating corresponding display control commands and sending the image data to the simplified HUD projection hardware through a specified video output interface (such as LVDS (Low-Voltage Differential Signaling)). Finally, a correct virtual image is formed through the projection optics system.
[0054] Thus, through the sequential operation of the three modules of monitoring, reading, and correction, the second operation component 400 constructs a state-driven, data-closed-loop processing pipeline, which not only efficiently completes computationally intensive tasks, but also forms a perfect interlock with the state management mechanism of the first operation component 300, jointly ensuring the consistency and reliability of the asynchronous communication process across the two systems.
[0055] Optionally, in one embodiment of this application, the second operation component 400 further includes: a load monitoring module, used to monitor in real time the load data of the correction module when performing distortion correction on the distorted texture data; and an adjustment unit, used to determine the resource allocation result of the correction module based on the load data.
[0056] Specifically, to further optimize resource utilization efficiency, ensure real-time processing performance, and enhance system robustness, an advanced dynamic resource management mechanism is introduced, mainly including a load monitoring module (i.e., performance monitoring and assurance module 104) and an adjustment unit. The load monitoring module is integrated into the operating environment of the correction module. Its core function is to monitor various load data of the correction module in real time and continuously during the distortion correction calculation of distorted texture data. These data mainly include GPU utilization, computational latency, and memory bandwidth usage. The system actively collects the above data through the underlying interface of the operating system or the GPU performance counter to form a real-time, multi-dimensional system load profile.
[0057] Secondly, the adjustment unit is tightly coupled with the load monitoring module. It receives real-time load data streams from the load monitoring module and dynamically analyzes and determines the resource allocation adjustment scheme required by the correction module based on preset optimization strategies and threshold rules. This mainly includes the following aspects: (1) Dynamic resource allocation: Based on the current load data, the number of GPU computing units, thread group size, or graphics computing priority allocated to the correction task is adjusted in real time. For example, resources are limited to save power when the load is low, and resource quotas are dynamically increased to ensure real-time performance when the load is peak or when processing high-resolution textures. (2) Computing power routing and load balancing: Under the hardware condition that the cockpit domain controller has multi-core GPUs or heterogeneous computing units (such as high-performance cores and energy-efficient cores at the same time), the adjustment unit can intelligently route the correction computing task to the most suitable computing unit for execution according to the load characteristics, so as to achieve energy efficiency and performance. The optimal balance; (3) Preprocessing strategy adjustment: Based on the load data, dynamically adjust the processing accuracy of the correction algorithm (such as choosing a simpler mesh model) or resolution scaling strategy, and on the premise of ensuring basic visual quality, cope with sudden high load scenarios and prevent processing delay from exceeding the limit; (4) Collaborate with the system-level scheduler: Take into account the resource requirements of the correction module and the overall load of the system (such as the GPU usage of other entertainment applications), and participate in or suggest global GPU resource allocation through the operating system-level scheduling interface to avoid resource conflicts and ensure the performance isolation and service quality of high priority tasks in HUD display.
[0058] Thus, the load monitoring module and the adjustment unit together form a closed-loop, adaptive resource optimization system, making the second operation component 400 an active and intelligent resource manager. This ensures that when using general-purpose computing resources, the software-based correction scheme can have predictable performance, high resource utilization, and strong adaptability to complex operating environments, just like dedicated hardware. This reduces hardware costs without sacrificing the system's real-time performance, stability, and user experience.
[0059] In summary, based on the description of the specific embodiments above, this application can achieve the following beneficial effects: (1) Communication efficiency leap: data volume is reduced by more than 99%, latency is reduced from milliseconds to microseconds, and bus occupancy is extremely low; (2) High real-time performance: The Android GPU executes the loaded shader program, and the calculation is performed immediately after the parameters are input, without any additional decoding or preparation overhead; (3) Flexible upgrade and maintenance: Only a tiny parameter file needs to be updated via OTA to complete the HUD image quality optimization or adapt to new models for the entire fleet. It is fast and low-risk.
[0060] The aforementioned effects are mainly reflected in three aspects: economic benefits, technological benefits, and operational benefits, which together constitute the core competitiveness of this application.
[0061] In terms of economic benefits, this application achieves direct cost savings by eliminating dedicated correction chips. The cost of the dedicated ASIC (Application-Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array) chips and their associated circuitry required in traditional solutions is approximately $8-15 per unit, while the software solution of this application only requires the existing GPU computing resources in the cockpit domain controller, with negligible incremental costs. For a medium-sized automotive project with an annual production capacity of 500,000 units, this alone could generate direct cost savings of $4-7.5 million annually. Furthermore, the simplified hardware architecture and reduced use of video interface circuits and dedicated wiring harnesses further lower the system's material and assembly costs. This cost advantage has significant commercial value in the context of large-scale automotive production.
[0062] In terms of technical benefits, this application achieves a fundamental optimization of the system architecture. Traditional distributed processing architectures require transmitting image data from the cockpit domain controller to a dedicated chip in the HUD hardware for processing. This architecture not only increases system complexity but also introduces additional signal latency and potential signal integrity issues. This application achieves localization and integration of processing by integrating the correction function into the graphics pipeline of the cockpit domain controller, reducing system complexity by more than 30%. In terms of performance, the GPU-based parallel computing software solution can achieve a processing latency of less than 2 milliseconds at 1080p resolution, fully meeting the real-time display requirement of 60 frames per second, while supporting various display resolutions from 480p to 4K. More importantly, this invention fully utilizes the previously underutilized GPU computing power in the cockpit domain controller, increasing GPU utilization by 8-12% and achieving optimized allocation of computing resources.
[0063] In terms of operational efficiency, this application offers flexibility and maintainability. Traditional hardware solutions are difficult to modify once the design is finalized, while the software solution of this application supports remote upgrades via OTA to update correction algorithms, optimize correction parameters, or adapt to new display modes, significantly extending the product's technological lifecycle. This flexibility allows automakers to continuously improve the HUD's display quality after product launch, quickly responding to changes in market demand. Simultaneously, the software solution eliminates tolerance accumulation issues in the hardware manufacturing process, ensuring consistent display quality across different vehicles through unified software parameters. From a supply chain perspective, this application reduces reliance on dedicated chip suppliers, lowers supply chain risks, and improves the flexibility of production planning. In terms of development efficiency, the iteration cycle of the software solution can be shortened by more than 60% compared to the hardware solution, significantly accelerating product development.
[0064] Therefore, based on the aforementioned beneficial effects, this application not only solves the inherent problems of traditional HUD systems in terms of cost, architecture, and upgradeability, but also provides new ideas for the evolution of automotive electronic architecture. By transferring specific functions from dedicated hardware to a general computing platform, this application conforms to the technological development trend of software-defined vehicles and provides valuable reference for the design and optimization of future automotive electronic systems. The combination of these beneficial effects makes this application have significant advantages in terms of technological advancement and commercial feasibility, and makes an important contribution to the popularization and improvement of HUD technology.
[0065] According to the image distortion correction system based on dual-system shared communication according to an embodiment of this application, the data sharing access area is configured to store the distortion texture data and distortion parameters of the pre-corrected image sent by the first operation component, and to store the corrected image sent by the second operation component. The first operation component is used to store the distortion texture data and distortion parameters in the data sharing access area, read the corrected image from the data sharing access area, and control the head-up display component to display it. The second operation component is used to read the distortion texture data and distortion parameters from the data sharing access area, perform distortion correction on the distortion texture data based on the distortion parameters to obtain the corrected image, and store it in the data sharing access area. This solves the problems of architectural redundancy, high cost, inability to be upgraded over-the-air (OTA), and idle computing power of the domain controller caused by the use of dedicated distortion correction hardware in HUD systems.
[0066] Next, the image distortion correction method proposed according to the embodiments of this application is described with reference to the accompanying drawings.
[0067] Figure 4 This is a flowchart of an image distortion correction method according to an embodiment of this application.
[0068] like Figure 4 As shown, this image distortion correction method is applied to an image distortion correction system as described in any of the above embodiments, wherein the method includes: In step S401, the received distortion texture data and distortion parameters of the pre-corrected image are stored in the data sharing access area through the first operation component; In step S402, the distortion texture data and distortion parameters of the pre-corrected image are read from the data sharing access area through the second operation component, and the distortion texture data is distorted based on the distortion parameters to obtain the corrected image, and the corrected image is stored in the data sharing access area. In step S403, the corrected image is read from the data sharing access area through the first operation component, and the corrected image is displayed by the control head-up display component.
[0069] Optionally, in one embodiment of this application, before reading the distortion texture data and distortion parameters of the pre-corrected image from the data sharing access area via the second operating component, the method further includes: Detect the status of the flag bit in the data sharing access area, and adjust the status of the flag bit in the data sharing access area from the current status to the target status; If the first operation component completes the write operation when the current state is write state, the target state is determined to be write state, and the distortion texture data and distortion parameters of the data sharing access area are read from the data sharing access area.
[0070] According to the image distortion correction method of this application embodiment, a data sharing access area is configured to store the distortion texture data and distortion parameters of the pre-corrected image sent by a first operation component, and to store the corrected image sent by a second operation component. The first operation component is used to store the distortion texture data and distortion parameters in the data sharing access area, read the corrected image from the data sharing access area, and control the head-up display component to display it. The second operation component is used to read the distortion texture data and distortion parameters from the data sharing access area, perform distortion correction on the distortion texture data based on the distortion parameters to obtain the corrected image, and store it in the data sharing access area. This solves the problems of architectural redundancy, high cost, inability to OTA upgrade, and idle domain controller computing power caused by the use of dedicated distortion correction hardware in HUD systems.
[0071] This embodiment also provides a vehicle, including: an image distortion correction system based on dual-system shared communication according to any of the above embodiments.
[0072] The vehicle according to the embodiments of this application solves the problems of architectural redundancy, high cost, inability to be upgraded over OTA, and idle computing power of domain controller caused by the use of dedicated distortion correction hardware in the HUD system.
[0073] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0074] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "N" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0075] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more N executable instructions for implementing custom logic functions or processes, and the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as should be understood by those skilled in the art to which embodiments of this application pertain.
[0076] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). In addition, computer-readable media can even be paper or other suitable media on which programs can be printed, because programs can be obtained electronically, for example, by optically scanning paper or other media, followed by editing, interpreting or otherwise processing as necessary, and then stored in computer memory.
[0077] It should be understood that the various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, the N steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0078] Those skilled in the art will understand that all or part of the steps of the methods described in the above embodiments can be implemented by a program instructing related hardware, and the program can be stored in a computer-readable storage medium. When executed, the program includes one or a combination of the steps of the method embodiments.
[0079] Furthermore, the functional units in the various embodiments of this application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.
[0080] The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc. Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of this application.
Claims
1. An image distortion correction system based on dual-system shared communication, characterized in that, include: A first operating component, a second operating component, and a data sharing access area set between the first operating component and the second operating component, wherein... The data sharing access area is configured to store the distortion texture data and distortion parameters of the pre-corrected image sent by the first operation component, and to store the corrected image sent by the second operation component. The first operation component is used to store the received distortion texture data and distortion parameters of the pre-corrected image into the data sharing access area, read the corrected image from the data sharing access area, and control the head-up display component to display the corrected image; The second operation component is used to read the distortion texture data and distortion parameters of the pre-corrected image from the data sharing access area, perform distortion correction on the distortion texture data based on the distortion parameters to obtain the corrected image, and store the corrected image in the data sharing access area.
2. The system according to claim 1, characterized in that, The data sharing access area includes: The first storage unit is used to store the distortion texture data of the pre-corrected image; The second storage unit is used to store the distortion parameters of the pre-corrected image; The third storage unit is used to store the corrected image.
3. The system according to claim 1, characterized in that, The first operating component includes: A writing module, which is used to write the distorted texture data and the distortion parameters into the data sharing access area; The first reading module is used to read the corrected image from the data sharing access area; A control module is used to control the head-up display component to display the corrected image.
4. The system according to claim 3, characterized in that, The first operating component further includes: A status setting unit is used to adjust the status of the flag bit of the data sharing access area from the current status to the target status. The state recognition unit is used to determine the target state as a written state if the first operation component completes the write operation when the current state is a write state.
5. The system according to claim 4, characterized in that, The second operating component includes: The monitoring module is used to monitor whether the current state is the written state; The second reading module is used to read the distortion texture data and distortion parameters of the pre-corrected image from the data sharing access area when the current state is the written state; The correction module is used to perform distortion correction on the distorted texture data based on the distortion parameter mapping table and the distortion parameters to obtain the corrected image.
6. The system according to claim 5, characterized in that, The second operating component further includes: The load monitoring module is used to monitor the load data of the correction module when it performs distortion correction on the distorted texture data in real time. An adjustment unit is used to determine the resource allocation result of the correction module based on the load data.
7. The system according to claim 1, characterized in that, The first operating component is the QNX real-time operating system, and the second operating component is the Android operating system.
8. A vehicle, characterized in that, include: The image distortion correction system based on dual-system shared communication as described in any one of claims 1-7 above.
9. An image distortion correction method, characterized in that, The method is applied to the image distortion correction system as described in any one of claims 1-7, wherein the method comprises: The first operation component stores the received distortion texture data and distortion parameters of the pre-corrected image into the data sharing access area. The second operation component reads the distortion texture data and distortion parameters of the pre-corrected image from the data sharing access area, performs distortion correction on the distortion texture data based on the distortion parameters to obtain the corrected image, and stores the corrected image in the data sharing access area. The first operation component reads the corrected image from the data sharing access area and controls the control head-up display component to display the corrected image.
10. The method according to claim 9, characterized in that, Before reading the distortion texture data and distortion parameters of the pre-corrected image from the data sharing access area via the second operation component, the method further includes: Detect the status of the flag bit in the data sharing access area, and adjust the status of the flag bit in the data sharing access area from the current status to the target status; If the first operation component completes the write operation when the current state is a write state, then the target state is determined to be a written state, and the distortion texture data and distortion parameters of the data sharing access area are read from the data sharing access area.