Distortion processing method, display device, storage medium and vehicle
By realizing the calculation and storage of distortion parameters in the HUD display device processor, the problem of slow calibration of the distortion parameters of the HUD display device is solved, and the production efficiency is improved.
Patent Information
- Application Number
- CN202411190023.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-28
- Publication Date
- 2024-12-13
AI Technical Summary
When HUD display equipment is installed on the vehicle production assembly line, the distortion parameter calibration speed is slow, resulting in low production efficiency.
By configuring the normal mode and calibration mode in the processor of the HUD display device, the distortion parameters are calculated and stored by the processor itself, the data transmission between the host computer is reduced, and the normalized distortion is calculated using the fitting algorithm or the interpolation algorithm. Parameters and support on-demand calculations.
It improves the efficiency of HUD display equipment for acquiring distortion parameters, shortens the time for offline calibration, and meets the production speed requirements of automobile owners.
Smart Images

Figure CN119135855A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of projection display technology, and in particular to a distortion processing method, a display device, a storage medium and a vehicle. Background Art
[0002] HUD (Head Up Display) is a new way to realize in-vehicle display by reflection on the vehicle windshield. Specifically, the display light is emitted by the optical machine of the HUD display device, and is projected onto the windshield through the corresponding optical lens to produce a corresponding virtual image, which forms an enhanced display effect with the real world outside the windshield. However, the optical system based on projection display is complex, and production and installation will encounter inevitable tolerance problems, resulting in distortion of the virtual image formed on the windshield. Therefore, when the HUD display device is installed on the vehicle production line, it is necessary to perform offline calibration to obtain the distortion parameters for distortion correction. At present, due to the large number of pixels in the projection display, it takes a lot of time to write the distortion parameters to the HUD display device during offline calibration, which is inefficient and affects the production process of the vehicle. Summary of the invention
[0003] The purpose of this application is to provide a distortion processing method, a display device, a storage medium and a vehicle, which solves the technical problem in the prior art that the distortion parameter offline calibration speed of the HUD display device is slow, which reduces the progress of the vehicle production line.
[0004] In order to solve the above technical problems, this application adopts the following technical solutions.
[0005] In a first aspect, the present application provides a distortion processing method, comprising: The processor of the HUD display device is configured to control the optical machine to emit display light in a normal mode, wherein the display light includes reference control points to form detection control points on the windshield after being projected by the HUD display device, and drive an external acquisition device to obtain corresponding control point data; In response to a calibration request sent by the acquisition device, the processor is configured to switch from a normal mode to a calibration mode, receive the control point data sent by the acquisition device, calculate and store distortion parameters based on the control point data.
[0006] In an optional implementation of the first aspect, the acquisition device includes a host computer and a scanning camera connected to the host computer.
[0007] According to the above description, in an optional implementation manner, the HUD display device processor can respectively realize the projection display of reference control points in the normal mode and realize the direct calculation of distortion parameters based on the control point data in the calibration mode. Since the distortion parameters are directly calculated and stored on the processor itself, the time for data transmission across devices is saved.
[0008] In an optional implementation of the first aspect, calculating and storing distortion parameters according to the control point data includes: The normalized distortion parameters are determined using a fitting algorithm or an interpolation algorithm configured with the processor.
[0009] According to the above description, in an optional implementation, the distortion parameter calculation algorithm is moved from the host computer to the processor for execution, which reduces the time cost of data transfer and supports on-demand calculation of distortion parameters.
[0010] In an optional implementation of the first aspect, the processor of the HUD display device is configured to control the optical machine to emit display light in a normal mode, including: The processor is configured to support the simultaneous running of a first application process and a second application process, the first application process is configured to implement conventional projection display, and the second application process is configured to monitor a calibration request sent by the acquisition device.
[0011] In an optional implementation of the first aspect, the processor is configured to support simultaneous running of the first application process and the second application process, including: The processor includes a first core and a second core, the first application process runs on the first core, and the second application process runs on the second core.
[0012] In an optional implementation of the first aspect, the first core is a high-efficiency core, the second core is a low-efficiency core, and the high-efficiency core has a faster processing speed than the low-efficiency core.
[0013] According to the above description, an optional implementation supports projecting standard reference control points onto the windshield to observe the distortion effect of the optical system on it, while monitoring in real time whether an externally connected acquisition device obtains the detection control points on the windshield to determine whether to start the calibration process.
[0014] In an optional implementation manner of the first aspect, in response to the calibration request sent by the acquisition device, the processor is configured to switch from the normal mode to the calibration mode, including: The second application process is configured to send a trigger instruction for transmitting control point data to the acquisition device, and cache the received control point data.
[0015] In an optional implementation manner of the first aspect, the second application process is configured to send a trigger instruction for transmitting control point data to the acquisition device, and cache the received control point data, including: The second application process includes a conventional peripheral communication process and a control point data receiving process which are successively started, the conventional peripheral communication process is used to send a trigger instruction for control point data transmission to the acquisition device, and the control point data receiving process is used to cache the received control point data; In response to the control point data receiving process being launched, the first application process is configured to switch to a state of waiting for completion of receiving the control point data.
[0016] In an optional implementation manner of the first aspect, the first application process is configured to switch to a state of waiting for completion of receiving the control point data, including: The first application process is temporarily closed.
[0017] According to the above description, the optional implementation mode supports interaction with an external acquisition device in a normal mode, triggering its own processor to enter a calibration mode, and receiving control point data such as detection control points scanned by the acquisition device to calculate distortion parameters.
[0018] In an optional implementation of the first aspect, calculating and storing distortion parameters according to the control point data includes: In response to completing the reception of the control point data, the second application process is configured to switch to a state of waiting for completion of the distortion parameter calculation, and the first application process is configured to calculate the distortion parameter based on the control point data.
[0019] In an optional implementation manner of the first aspect, the second application process is configured to switch to a state of waiting for completion of calculation of the distortion parameter, and the first application process is configured to calculate the distortion parameter based on the control point data, including: The distortion parameter processing process in the first application process is started by the second application process, and the distortion parameter processing process is used to calculate the distortion parameters based on the control point data.
[0020] According to the above description, an optional implementation method supports launching a first application process after receiving control point data, and enabling the first application process to calculate distortion parameters, thereby storing the calculated distortion parameters in a designated storage memory as calling parameters for subsequent distortion correction.
[0021] In an optional implementation of the first aspect, calculating and storing distortion parameters according to control point data includes: In response to completing the calculation of the distortion parameters, the first application process is configured to implement conventional projection display, and the second application process is configured to implement conventional peripheral communication.
[0022] According to the above description, the optional implementation mode supports automatically switching to the normal mode after completing the calculation and storage of the required distortion parameters in the calibration mode, so as to realize the normal projection display of the HUD display device after leaving the factory.
[0023] In an optional implementation manner of the first aspect, the first application process runs at most one of a projection display process and a distortion parameter processing process; When the first application process is launched, in response to the completion of receiving the control point data, the distortion parameter processing process is run, and in response to the failure to complete receiving the control point data, the projection display process is run.
[0024] In an optional implementation of the first aspect, the reception status of the control point data is managed by a first flag bit.
[0025] According to the above description, the optional implementation mode enables the HUD display device to flexibly switch between the normal mode and the calibration mode, thereby having two functions of projection display and distortion calibration, serving the off-line calibration of the HUD display device.
[0026] In an optional implementation manner of the first aspect, the second application process runs at most one of a startup initialization process, a conventional peripheral communication process, and a control point data receiving process; After the processor is restarted, the startup initialization process is run by default; When the startup initialization process is finished, in response to the calibration request sent by the acquisition device, the control point data receiving process is run, and in response to not meeting the calibration request sent by the acquisition device, the conventional peripheral communication process is run.
[0027] In an optional implementation of the first aspect, the conventional peripheral communication process includes: Restarting the processor in response to a calibration request sent by the acquisition device.
[0028] In an optional implementation of the first aspect, the control point data receiving process includes: In response to completing the reception of the control point data, launching the first application process.
[0029] In an optional implementation of the first aspect, the calibration request status sent by the acquisition device is managed by a second flag bit.
[0030] According to the above description, an optional implementation method can achieve the start or close of a specific process through the cooperation between the first application process and the second application process, thereby achieving a smooth process of control point data storage and calculation after entering the calibration mode.
[0031] In an optional implementation of the first aspect, calculating and storing distortion parameters according to control point data includes: The control point data includes a first control point data group and a second control point data group, firstly calculating a first distortion parameter group according to the first control point data group, and in response to the first distortion parameter group calculation being completed, transferring the first distortion parameter group cached in the running memory to the storage memory; A second distortion parameter group is then calculated based on the second control point data group. In response to the completion of the calculation of the second distortion parameter group, the second distortion parameter group cached in the running memory is transferred to the storage memory.
[0032] In an optional implementation of the first aspect, the running memory is RAM, and the storage memory is Flash.
[0033] According to the above description, the optional implementation method overcomes the problem that the distortion parameters are much larger than the control point data and occupy too much running memory, realizes the group calculation of the distortion parameters, and releases the calculated distortion parameters from the running memory to the storage memory in groups, reducing the hardware requirements for the running memory.
[0034] In an optional implementation of the first aspect, calculating and storing distortion parameters according to control point data includes: Cache the calculated distortion parameters into the running memory; In response to the data amount of the distortion parameter cached in the running memory being consistent with the storage space of the unit sector in the storage memory, the cached distortion parameter is triggered to be transferred to the storage memory.
[0035] In an optional implementation manner of the first aspect, the triggering the transfer of the cached distortion parameters to the storage memory includes: The storage content of the specific sector in the storage memory is erased, and the cached distortion parameters are transferred to the specific sector.
[0036] According to the above description, an optional implementation method can realize storage of distortion parameters by sector, thereby improving the speed of calling distortion parameters during distortion correction.
[0037] In a second aspect, the present application provides a display device, comprising a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor implements the steps of the distortion processing method described in the first aspect when executing the computer program.
[0038] In a third aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the distortion processing method described in the first aspect are implemented.
[0039] In a fourth aspect, the present application provides a vehicle comprising the display device described in the second aspect or the computer-readable storage medium described in the third aspect.
[0040] Compared with the prior art, the HUD display device processor of the present application has a normal mode and a calibration mode. In the normal mode, the processor can perform the normal projection display function of the HUD display device. In the calibration mode, it supports post-positioning the process of calculating the distortion parameters based on the control point data in the host computer to the processor. The host computer only needs to send the control point data to the processor. Since the control point data is much smaller than the data volume of the distortion parameters, the transmission time is saved. The present application improves the efficiency of the HUD display device in obtaining the distortion parameters, does not occupy too much time on the vehicle production line, and meets the off-line calibration speed requirements of the automobile OEM. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] In order to more clearly illustrate the technical solution of the present application, the following is a brief introduction to the drawings required for use in the description of the technical solution. Obviously, the drawings described below are only some examples recorded in the present application, and a person of ordinary skill in the art can obtain other drawings based on these drawings without creative work.
[0042] Figure 1 Schematic diagram of HUD projection display in some examples of this application.
[0043] Figure 2 This is a schematic diagram of projection display in a vehicle in some examples of the present application.
[0044] Figure 3 This is a schematic diagram of the matching between reference control points and detection control points in some examples of this application.
[0045] Figure 4 Schematic diagram of offline calibration scenario of HUD display device in some examples of this application.
[0046] Figure 5 Schematic diagram of the projection display module of the HUD display device in some examples of this application.
[0047] Figure 6 Schematic diagram of the offline calibration module of the HUD display device in some examples of this application.
[0048] Figure 7Schematic diagram of the offline calibration module of the HUD display device in some examples of this application.
[0049] Figure 8 This is a schematic diagram of the power-on operation of the HUD display device processor in some examples of this application.
[0050] Fig. 9 This is a schematic diagram of the power-on operation of the dual-core processor of the HUD display device in some examples of this application.
[0051] Fig.10 This is a timing diagram for offline calibration of HUD display devices in some examples of this application.
[0052] Fig.11 This is a timing diagram of projection display in normal mode of the HUD display device in some examples of this application.
[0053] Fig.12 This is a schematic diagram of the distribution of all pixels related to distortion parameters in some examples of this application.
[0054] Fig.13 Schematic diagram of the distortion parameter calculation process in some examples of this application.
[0055] Fig.14 This is a schematic diagram of the implementation of the distortion parameter processing process in some examples of this application.
[0056] Fig.15 This is a schematic diagram of the composition of the HUD display device in some examples of this application.
[0057] Fig.16 This is a schematic diagram of projection display in a vehicle in some examples of the present application. DETAILED DESCRIPTION
[0058] The present application will be described in detail below in conjunction with the accompanying drawings, but the content of the description is merely some examples recorded in the present application and does not limit the present application. Changes in structure, method, function, etc. made by ordinary technicians in this field based on these examples are included in the protection scope of the present application.
[0059] It should be noted that the same reference numerals or marks may be used in different examples, but these do not represent an absolute connection in structure or function. In addition, the "first", "second", etc. mentioned in each example are only for the convenience of description, and do not represent an absolute distinction in structure or function, nor can they be understood as indicating or implying the relative importance or the number of corresponding objects. Unless otherwise specified, the "at least one" that may be involved in the description refers to one or more, and "more than one" refers to two or more.
[0060] In addition, when expressing a feature, the character " / " can indicate that there is an or relationship between the front and back associated objects. For example, head-up display / head-up display can be expressed as head-up display or head-up display. When expressing an operation, the character " / " can indicate that there is a division relationship between the front and back associated objects. For example, the magnification M=L / P can be expressed as L (virtual image size) divided by P (image source size). Moreover, the "and / or" in different examples is only to describe the association relationship between the front and back associated objects. This association relationship can include three situations. For example, a concave mirror and / or a convex mirror can be expressed as the existence of a concave mirror alone, the existence of a convex mirror alone, and the existence of both a concave mirror and a convex mirror.
[0061] HUD projection display mainly uses the optical reflection principle to reflect the imaging light to be displayed through a transparent surface into the viewer's eyes. The human eye can see the virtual image information in the opposite direction of the light. Correspondingly, the transparent surface can be the windshield of the vehicle, and the windshield can be used as a display screen to display the navigation instructions of the vehicle, the vehicle's driving speed, etc. Figure 1As shown, the HUD display device may include at least an optical machine 1, a first reflector 2, a second reflector 3, etc., wherein the optical machine 1 includes a backlight source and an image source (not shown), the backlight source is used to provide illumination light and adjust the brightness of the illumination light according to control, for example, the backlight source may be an LED (Light Emitting Diode), a laser, etc. Under the illumination light provided by the backlight source, the image source adjusts the corresponding display content according to control and projects the display light from the surface of the image source, for example, the image source may be an LCD (Liquid Crystal Display), a DMD (Digital Micromirror Devices), a MEMS (Micro-Electro-Mechanical System) micromirror, a LCOS (Liquid Crystal on Silicon), etc. The first reflector 2 and the second reflector 3 can project the display light projected by the optical machine 1 onto the windshield 4, so as to customize the optical path in a smaller space and meet different projection display requirements. The first reflector 2 and the second reflector 3 can be set as a concave mirror, a convex mirror, a concave lens, a convex lens, etc. according to the requirements of optical planning, and the surface shape of the lens can adopt a free-form surface. Optionally, at least one of the first reflector 2 and the second reflector 3 can also be adjusted to a certain degree of angle, so as to change the projection position of the display light on the windshield 4 to meet the needs of viewers of different heights. The display light of the optical machine 1 is finally reflected on the windshield 4 of the vehicle to form a virtual image 5. When the human eye 6 observes the virtual image 5 facing the windshield 4, it can feel a certain sense of depth, just like watching a real object at a specific distance outside the windshield. The virtual image 5 can be the navigation instruction content, vehicle speed, etc. as described above. It should be added that, according to the characteristics of different optical machines, the HUD display device can also be provided with a diffuser. In some examples, the HUD display device can also include Fresnel lenses, waveguide optical devices, diffractive optical devices, holographic optical devices, tapered optical fibers, etc.
[0062] In some examples, the HUD display device may include a rear-mounted type and a front-mounted type. The rear-mounted HUD display device is purchased separately after the user purchases the vehicle according to the user's projection display needs, and the corresponding HUD display device is directly placed on the surface of the vehicle's center console for use. The front-mounted HUD display device is directly embedded in the center console and needs to be installed in the reserved space during the vehicle production process. Specifically, the installed HUD display device needs to be calibrated for distortion. Figure 2As shown, the HUD display device integrated in the vehicle can be powered and data provided by the vehicle computer 92, or the HUD display device itself can provide power and generate data. The HUD display device can specifically include a processor 91, an Ethernet interface 901, a CAN (Controller Area Network) interface 902, a power management module 903, a running memory 904, a storage memory 905, a temperature detection 906, a motor 907, a backlight source 908, an image source 909, a positioning module 910, a radar 911, a camera 912, etc. It should be noted that Figure 2 The modules listed in the description are merely exemplary and do not constitute any limitation. In some examples, the HUD display device may further include other modules. In addition, the above modules may be implemented in one or more hardware in different examples, or a single module may be implemented by a combination of multiple hardware.
[0063] The processor 91 serves as the control center of the HUD display device, and includes one or more processing units of any type, including but not limited to a microcontroller, a microcontroller, a DSP (Digital Signal Processor) or any combination thereof. The processor 91 is used to generate operation control signals according to a computer program, realize the control of other modules, and cooperate with corresponding modules to process the acquired or inherent data, instructions, etc.
[0064] The Ethernet interface 901 is a network data connection port for local area network communication, which defines a series of software and hardware standards. Multiple electronic devices can be connected together through the Ethernet interface 901. In this example, the processor 91 can exchange information with the vehicle computer 92 through the Ethernet interface 901, such as sending data to the vehicle computer 92 or receiving data sent by the vehicle computer 92.
[0065] The CAN interface 902 is a network data connection port of the controller area network, which provides a standard bus for the control system and embedded industrial control inside the car, and realizes the communication interaction between the control nodes. In this example, the processor 91 can also exchange information with the vehicle computer 92 through the CAN interface 902. Optionally, the processor 91 can also connect to other external devices through the CAN interface 902. In some examples, the processor 91 can also be provided with a GPIO (General-purpose input / output) interface to improve the compatibility of peripheral connections.
[0066] The power management module 903 is connected to the vehicle computer 92 and can receive the power provided by the vehicle computer 92 to provide a regulated power supply for each module of the HUD display device, thereby ensuring that the processor 91 and each module operate under normal voltage supply and avoid damage due to overvoltage.
[0067] The running memory 904 is used to store computer programs executed by the processor 91, temporarily stored calculation data, data exchanged with the storage memory, etc. The running memory 904 can be a RAM memory such as SDRAM (Synchronous Dynamic Random-access Memory).
[0068] The storage memory 905 is used to store resources such as the display content related to the HUD display device, and long-term storage of running programs and data, etc. The storage memory 905 can be a non-volatile memory such as Flash (flash memory). In some examples, the processor 91 can also provide an interface to access an external memory.
[0069] Temperature detection 906 is used to monitor the temperature inside the HUD display device, and may specifically include several temperature sensors. Since the resistance value of the temperature sensor changes with the change of temperature, the processor 91 can determine the resistance value of the temperature sensor at the corresponding temperature according to the voltage change between each temperature sensor and the voltage divider resistor under a fixed power supply voltage, thereby reversely deducing the temperature at the location of the temperature sensor. In some examples, the processor 91 can control several temperature sensors through the GPIO interface, and several temperature sensors can be set at different locations inside the HUD display device. The processor 91 can use time-sharing detection to obtain the temperature values fed back by several temperature sensors respectively.
[0070] Motor 907 is used to drive the optical lens in the HUD display device to rotate under the control of processor 91, so as to achieve the change of the corresponding optical path. For example, when the backflow of sunlight causes the temperature rise on the surface of the image source, the motor can be used to drive the optical lens to prevent the external sunlight from reaching the surface of the image source. In some examples, the processor 91 can also drive the fan provided on the HUD display device through motor 907 to increase the speed of air exchange between the inside and outside of the HUD display device to achieve heat dissipation. Specifically, the motor 907 is connected to the processor 91 through a motor driver chip, and the motor driver chip provides high-performance power output for the motor 907, and can also communicate and control with the processor 91 through interfaces such as SPI (Serial Peripheral Interface).
[0071] The backlight source 908 is used to provide illumination light and adjust the brightness of the illumination light according to the control of the processor 91, so as to adjust the projection display brightness of the entire HUD display device. The backlight source 908 cooperates with the image source 909 to realize the main function of optical machine projection display. The backlight source 908 can be an LED (Light Emitting Diode), a laser, etc. Specifically, the backlight source 908 is connected to the processor 91 through a backlight driver chip, and the backlight driver chip provides a driving voltage for the backlight source 908 and controls the brightness of the backlight source 908 under the pulse width signal output by the processor 91.
[0072] The image source 909 is used to display an image of corresponding content and project the display light corresponding to the image according to the control of the processor 91. The image source 909 can be an LCD (Liquid Crystal Display), a DMD (Digital Micromirror Devices), a MEMS (Micro-Electro-Mechanical System) micromirror, a LCOS (Liquid Crystal on silicon), etc.
[0073] The positioning module 910 is used to monitor the position of the HUD display device and the corresponding vehicle. The positioning module 910 can be a global navigation satellite system such as GPS (Global Positioning System) and Beidou Satellite Navigation System. By measuring the distance between the satellite and the receiver on the positioning module 910 at different positions, the corresponding position and orientation data are determined. In some examples, the positioning module 910 may also include an inertial navigation system, which is based on Newton's laws of mechanics. By measuring the acceleration of the positioning module 910 in the inertial reference system, integrating it over time, and transforming it into the navigation coordinate system, the speed, yaw angle, and position data in the navigation coordinate system are obtained. Optionally, the inertial navigation system can assist the global navigation satellite system to achieve more accurate positioning and provide the processor 91 with corresponding position information.
[0074] The radar 911 is used to determine the position of a target object through electromagnetic waves, and can usually determine the distance of the target object from the vehicle where the radar 911 is located.
[0075] Camera 912 includes a vehicle body camera and an in-vehicle camera, wherein the vehicle body camera is used to determine the position of the target object through visual recognition, and the vehicle body camera can be a monocular camera or a binocular camera. The biggest difference between a monocular camera and a binocular camera is that a binocular camera can capture images from two different perspectives, thereby obtaining distance information in three-dimensional space. The in-vehicle camera is used to identify the behavior status of the driver and passengers in the vehicle, including fatigue detection, distraction detection, expression recognition, gesture recognition, sight tracking, etc. In this example, the in-vehicle camera can also implement eye tracking.
[0076] In some examples, the positioning module 910, radar 911 and camera 912 can also be directly connected to the vehicle computer 92, and are not directly connected to the processor 91 of the HUD display device. For example, the vehicle computer 92 itself is integrated with a positioning module for position tracking and a radar and camera for automatic driving. The HUD display device can obtain the collected data of the positioning module, radar and camera in real time through communication with the vehicle computer 92.
[0077] For the above HUD display device, due to the error between design and actual production and manufacturing, it is easy to form a distorted virtual image on the windshield. In order to eliminate the influence of distortion on the display result, Figure 2 The storage memory 905 in the example pre-stores distortion parameters for distortion correction. The mechanism of distortion correction is to pre-correct the image projected by the image source according to the degree of distortion that may be caused by the entire optical system, so that the pre-corrected image is offset by the deformation of the optical system and finally forms an ideal virtual image on the windshield. The distortion parameters based on which the pre-correction is based are data indicating that the optical system will cause deformation to the image projected by the image source, and may specifically include projection change parameters corresponding to each pixel. These distortion parameters will change with the optical system of the HUD display device itself and the installation environment on the vehicle. Therefore, it is necessary to calibrate the distortion of the HUD display device when it is installed on each vehicle. Figure 3 As shown, during the distortion calibration, such as during the offline calibration process of the production line, the actual operator can display a set of standard distortion-free test images on the optical machine of the HUD display device (refer to Figure 3 The test chart contains a series of control points, which can also be called reference control points. Generally, the reference control points are neatly arranged horizontally and vertically and correspond to specific pixel positions, so that they can form a sharp contrast with the detection control points after projection, reflecting the changes of specific pixels before and after. After the test chart with reference control points is loaded into the optical machine, the display light including the reference control points is emitted from the image source surface, and passes through the optical system composed of optical lenses and windshields (for details, please refer to Figure 1 ), which will eventually form a corresponding virtual image on the windshield (refer to Figure 3 On the right side of the image), the virtual image formed on the windshield and the control points therein are obtained by scanning at the eye box position through a camera or other acquisition equipment, which can also be called detection control points. The detection control points are no longer arranged in a square like the reference control points. The displacement between the reference control points and the detection control points reflects the distortion rate of the optical system. Therefore, the above control point data can be used to calculate the distortion parameters for distortion correction. It should be noted that the eye box refers to a conical area between the optical system of the HUD display device and the eyeball. It is also the area where the display content meets the optimal optical design indicators. Within the eye box range, the eyes can see the complete FOV (i.e. the entire image) projected by the HUD. When the human eye exceeds this range, it may show serious image distortion, color errors, or even no content display.
[0078] Accordingly, the calculation of distortion parameters requires the analysis of the positional deviation between the reference control point and the detection control point. However, the reference control point and the detection control point each include multiple control points, thus creating a many-to-many relationship. It is necessary to determine the one-to-one correspondence between the reference control point and the detection control point, that is, to determine which specific detection control point after the offset corresponds to the reference control point in the test image. In some examples, in order to determine this one-to-one correspondence, the reference control point and the detection control point can be sorted in two dimensions, respectively, wherein the control points belonging to the same row are sorted according to the horizontal coordinate of each control point, and the control points are temporarily stored in the corresponding list. Then, the control points in each row are sorted according to the vertical coordinate, and the different columns where the control points are located are determined in the corresponding list. The position of the control point can be uniquely determined by the information of the horizontal coordinate and the vertical coordinate. Furthermore, the ID can be assigned in order from the upper left to the lower right, and the assigned point can be matched with the reference control point to complete the relevant matching between the reference control point and the detection control point. In this way, each reference control point can uniquely point to a detection control point, and then the corresponding distortion rate is analyzed according to the positional deviation between the two paired control points. Figure 3Taking the 3*3 reference control points in the figure as an example, the amount of calculation and data required to implement the above process is very limited. However, the distortion parameters used for distortion correction include not only the pixels where the reference control points are located, but also all pixels at other locations. For example, a normal projection display has 800*480 pixels, and the distortion rate of other pixels needs to be inferred based on the position relationship of the existing control points. Generally, a fitting algorithm or an interpolation algorithm is used. The fitting algorithm uses the position distribution of the reference control points and the detection control points to fit a specific model, and then uses the specific model to calculate other pixels. The interpolation algorithm uses the existing adjacent control points to continuously determine the situation of the pixels between adjacent control points, thereby obtaining the distortion rate of all pixels. However, no matter which algorithm is used, the final amount of distortion parameter data is very large. If these data are sent to the HUD display device at one time as the basis for later distortion correction, it generally takes one or two hundred seconds, which is unacceptable for the time occupied by offline calibration.
[0079] like Figure 4 As shown, for the device architecture for implementing distortion calibration, when the HUD display device 41 is installed on the corresponding vehicle 40, the HUD display device 41 projects the reference control points on the windshield of the vehicle 40. At this time, a host computer 42 is set to communicate with the HUD display device 41. The host computer 42 is used to cooperate with the HUD display device 41 to implement distortion calibration. It can be connected to a scanning camera 43. The scanning camera 43 is set within the eye box range of the HUD display device 41 as described above, and it is facing the windshield of the vehicle 40, so as to obtain the projection image on the windshield. The host computer 42 can extract the detection control points at the corresponding positions from the scanned projection image. It should be noted that the host computer 42 and the scanning camera 43 can be separate acquisition devices or integrated acquisition devices, and the scanning camera 43 connected to the host computer 42 can also be directly an existing in-vehicle camera. In some examples, the host computer 42 can calculate the distortion parameters of all pixels based on the acquired reference control points, detection control points and other control point data, and then permanently download the calculated distortion parameters to the HUD display device 41. In some examples, in order to overcome the problem of long data transmission time, the distortion parameter calculation of all pixels is not directly calculated in the host computer 42, but the control point data such as the detection control points are sent to the HUD display device 41, and the calculation is performed by the processor of the HUD display device 41 itself. Since the control point data is only the data corresponding to a few specific pixels, the data volume is very small, and the time for transmission to the HUD display device 41 is almost negligible. The time for calculating the distortion parameters in the processor of the HUD display device 41 is much less than the time for sending the calculated distortion parameters to the HUD display device 41. This can improve the efficiency of the entire offline calibration process, which will be described in detail below. Figure 5As shown, for the HUD display device, all pixel distortion parameters calculated in the above example are stored in the memory. When the HUD display device runs the projection display process to realize the projection display on the vehicle windshield, the corresponding GPU can provide video signals. These video signals can be pre-stored in the HUD display device, or generated in real time by the GPU, or obtained from the outside through communication. As mentioned above, if the video signal of standard content directly generates display light in the optical machine, it may cause distortion of the projection display due to the influence of the optical system. Therefore, when the projection display process receives the video signal of standard content, it will simultaneously call the distortion parameters in the memory to pre-correct the image information in the video signal. Since the distortion parameters record the offset information generated by the optical system for each pixel, the offset information can be used to adjust the position of each pixel in the video signal. The adjusted video signal is then loaded on the optical machine to emit display light, so that the image projected on the windshield will have the same effect as the video signal of standard content.
[0080] like Figure 6 As shown, in this example, the host computer calculates the distortion parameters of all pixels before sending them to the HUD display device. The HUD display device is only responsible for realizing the projection display. The process can pre-correct a specific video stream according to the distortion parameters stored in the memory, and then output the corresponding image to be projected on the windshield. In this way, the projection effect will meet the normal viewing requirements. For details, please refer to Figure 5 . The host computer will extract the detection control points in the projected image on the windshield captured by the scanning camera, and then calculate the distortion parameters of all pixels in the distortion parameter processing process. For example, if the number of pixels is 800*480, the distortion parameter sending process needs to send the distortion parameters of these pixels to the HUD display device one by one and save them in the memory of the HUD display device, such as Flash. As mentioned above, if 800*480 pixels of data need to be sent at one time, it will cause communication congestion and delay the entire calibration time. In some examples, such as Figure 7As shown, the distortion parameter processing process originally possessed by the host computer is post-placed in the HUD display device, and the processor of the HUD display device runs to realize the distortion parameter calculation based on the control point data. Accordingly, it is only necessary to set up a control point data sending process and a control point data receiving process for realizing communication between the host computer and the HUD display device. The host computer extracts the detection control points in the captured projection image through the detection control point extraction process and transmits them to the HUD display device for processing. Therefore, the transmission volume will be very small, and the communication between the two will not take up too much time. In some examples, the detection control point extraction process in the host computer can also be post-placed to the HUD display device for operation, that is, after the host computer acquires the corresponding projection image, it will not extract the detection control points, but directly send them to the HUD display device through the cooperation between the control point data sending process and the control point data receiving process. The processor of the HUD display device extracts the reference control points and calculates the distortion parameters based on the extracted data. In this example, the control point data is directly the acquired projection image data, and the projection image data is sent to the HUD display device through the control point data sending process, and the HUD display device can be configured with a processor of corresponding capabilities according to processing requirements.
[0081] exist Figure 7 In some examples, the HUD display device no longer implements a simple projection display function, that is, it has not only a normal mode but also a calibration mode. In the calibration mode, the processor can be configured to calculate the control point data, obtain the distortion parameters required for projection display, and store them in the memory integrated in the HUD display device for use during projection display. In some examples, the processor of the HUD display device supports any switching between the normal mode and the calibration mode. Specifically, the HUD display device will enter the normal mode by default. At this time, you can refer to Figure 5 Realize the corresponding projection display function. When the HUD display device is offline calibrated, there is no distortion parameter for distortion correction in the memory. Therefore, when the HUD display device is turned on and enters the normal mode by default, the realized projection display has no distortion correction based on the distortion parameters, so the image projected on the windshield will be distorted. Therefore, during calibration, the normal mode can be used to project the standard reference control points on the windshield, so as to calculate the distortion relationship before and after the projection through the distorted detection control points. Figure 7For example, the projection image can be collected by the host computer and the position of the detection control points after distortion is extracted from the collected projection image. When the detection control points required for the calculation of the distortion parameters are obtained, the HUD display device can be triggered to enter the calibration mode. Since the HUD display device no longer needs projection display at this time, the processor can be switched to receive control point data and calculate the distortion parameters. The calculated distortion parameters can be stored. When the HUD display device completes the offline calibration, for example, as the vehicle needs to achieve normal projection display after leaving the factory, the HUD display device will enter the normal mode by default when it is turned on. At this time, a specific video stream can be projected on the windshield. Since the pre-stored distortion parameters are called for pre-correction before the projection display, the projection effect can meet the actual viewing requirements. Optionally, the HUD display device also supports triggering to enter the calibration mode in subsequent maintenance to update the distortion parameters.
[0082] In some examples, such as Figure 8As shown, in order to support the switching between the normal mode and the calibration mode in the above example, the processor will first enter the startup initialization process when it is powered on. The startup initialization process can perform corresponding initialization configuration on the operation of the processor, which can include detecting whether a software upgrade is required. When there is a need for upgrading, the program will be upgraded first and then restarted. After the startup initialization process is completed, the mode to be entered will be judged, including the selection of the normal mode and the calibration mode in this example. In the mode selection step, the normal mode will be entered by default. For example, the mode selection flag bit maintains the normal mode by default. The normal mode is determined according to the content of the mode selection flag bit, thereby starting the normal peripheral communication process and the projection display process. It should be noted that the normal peripheral communication process and the projection display process do not have a clear start-up order. One of them can start the other, or both can be supported to be started at the same time. Accordingly, the projection display process can realize the normal projection display function, and at the same time, the normal peripheral communication process can communicate with external devices, such as receiving external video stream data. In this example, the conventional peripheral communication process can monitor whether the host computer sends a calibration request after the projection display process controls the optical machine to emit display light including the reference control point. Specifically, the host computer, as the control terminal of the external acquisition device, can send a calibration request to the HUD display device after extracting the detection control point to trigger the HUD display device to enter the calibration mode. For the conventional peripheral communication process, when a calibration request is received, the state of the HUD display device can be detected. If it is suitable for switching modes, the calibration request of the host computer can be responded to, such as notifying the host computer to start sending control point data, and the conventional peripheral communication process will also maintain the mode selection flag as the calibration mode and reset and restart. When the processor restarts and powers on, it will enter the mode selection step again by starting the initialization process, and according to the mode selection flag, it will determine to enter the calibration mode and pull up the control point data receiving process. At the same time, because the host computer receives the instruction to start sending control point data, it triggers the pull-up control point data sending process to send control point data to the HUD display device, such as 3*3 pixel control point data. The control point data receiving process will receive the control point data and save the received control point data in the specified storage location for subsequent distortion parameter calculation. When the received control point data is completely saved in the specified storage location, the distortion parameter processing process will be started. Optionally, the distortion parameter processing process can also be started at the same time when entering the calibration mode.In a specific example, a cache flag can be set to determine whether the control point data is fully prepared. The cache flag can be 1 to indicate that the received control point data has been completely saved in the specified storage location. When it is 0, it indicates that there is no control point data saving action or the control point data saving is not completed, the saving fails, etc. In this way, the cache flag can be used to determine whether to achieve normal projection display or trigger the calculation of distortion parameters during the operation of a specific process. It should be noted that the cache flag can also be represented by other flag symbols. In this example, when the control point data receiving process starts the distortion parameter processing process, it will also set the cache flag to 1 to tell the distortion parameter processing process that the distortion parameter calculation can be triggered. The process of distortion parameter calculation will be described in detail below. When the distortion parameter processing process calculates the distortion parameters of all pixels and saves them in a specific storage location, it will also reset the mode selection flag and the cache flag, such as setting the mode selection flag to the default normal mode and setting the cache flag to 0, so that the processor can switch from the calibration mode back to the normal mode. The processor will be reset and restarted further. As mentioned above, the restarted processor will once again go through the startup initialization process and enter the mode selection. Since the mode selection flag is reset after the distortion parameter calculation is completed, the mode selection step can once again enter the normal mode, which can correspond to the normal use of the HUD display device after leaving the factory.
[0083] In some examples, after power-on, the processor supports running at least two application processes simultaneously, namely, a first application process and a second application process. The first application process and the second application process can execute program processes with different functions in parallel. Accordingly, the second application process can be used as a resident process, and the first application process is a concurrent process relative to the second application process. It should be noted that the first application process and the second application process are not necessarily independent process concepts. They can execute different functional programs in sequence. Optionally, in the system-level operation process, they can be system processes or threads. Figure 8, the startup initialization process can be automatically started as part of the second application process when the processor starts, while the first application process will not be started by default when the processor starts, and can be started on demand with the help of the first application process. Optionally, the first application process and the second application process can also be relatively independent of the startup initialization process. The first application process and the second application process can be started on demand after being started by the startup initialization process, and then the second application process can specifically execute the conventional peripheral communication process or the control point data receiving process, and the first application process can specifically execute the projection display process or the distortion parameter processing process. It should be noted that the conventional peripheral communication process and the control point data receiving process are not necessarily two completely independent functional programs, and the same communication functional program can also be reused. The projection display process and the distortion parameter processing process are not necessarily two completely independent functional programs, and the same functional program can also be reused and the corresponding branch function can be executed according to the cache flag.
[0084] In some examples, such as Fig. 9 As shown, the processor includes at least two cores, namely the first core and the second core. The program running on the first core and the program running on the second core can exist at the same time without conflicting with each other. Specifically, the first application process runs on the first core, and the second application process runs on the second core. In this way, the first application process and the second application process can be completely run in parallel. Figure 8 For example, the second application process running on the second kernel can be a resident process, so the program functions processed by the second kernel are relatively complex but do not need to occupy too many resources. The second kernel is used to control the functional programs running on the first kernel, so that the key functions such as projection display and distortion calibration in the HUD display device can be independently run on the first kernel, thereby improving the stability of the entire system operation. Accordingly, the processing capability of the first kernel is stronger than that of the second kernel, so the first kernel is a high-efficiency kernel, and the second kernel is an inefficient kernel. The processing speed of the first kernel is faster than that of the second kernel. The second kernel is turned on when the device is powered on. The first kernel can be turned on by the program in the second kernel. Specifically, after the second kernel is started, the second application process first runs the startup initialization process. After the initialization is completed, the mode selection flag can be used to determine whether to execute the conventional peripheral communication process or the control point data receiving process. When the first kernel is started, it can be after the second kernel completes the initialization or after the control point data receiving process completes the reception of all control point data. The first application process can determine whether to execute the projection display process or the distortion parameter processing process through the cache flag. Specifically, the settings of the cache flag and the mode selection flag can refer to Figure 8For example, when the HUD display device is in normal mode, projection display can be realized, and the external acquisition device can be monitored to see if it has sent a calibration request, and the two can be performed simultaneously without conflict. When switching to calibration mode based on the calibration request, the control point data and distortion parameter calculation can be received. After the first kernel completes the distortion parameter calculation, the second kernel can initiate a power-on restart, and both the first kernel and the second kernel will be shut down and started according to a specific process.
[0085] like Fig.10 As shown, for the offline calibration process of the HUD display device, first the second core is powered on, and the startup initialization process is started to realize the startup initialization. The startup initialization process will select the default configuration of the flag bit according to the mode (see Fig. 9) respectively pull up the conventional peripheral communication process running on the second core and the projection display process running on the first core. Referring to the above example, the projection display process can project the standard reference control points on the windshield, and the acquisition device can then shoot the vehicle's windshield. Optionally, the projection display process can also send a notification of the test image projection to the acquisition device, and the acquisition device triggers the shooting according to the notification. After the acquisition device completes the extraction work through the detection control point extraction process, it will send a calibration request to the HUD display device to prepare to send the relevant control point data to the HUD display device. Correspondingly, when the conventional peripheral communication process receives the calibration request, it will send a response feedback to the acquisition device to start sending control point data on the premise of agreeing to initiate distortion calibration, so that the acquisition device can be triggered to pull up the control point data sending process to prepare to send the corresponding control point data to the HUD display device. At the same time, the conventional peripheral communication process will also initiate a reset and restart, so that the first core and the second core will be shut down, and the second core will automatically pull up the startup initialization process after restarting to implement the initialization work. Since the conventional peripheral communication process will set the mode selection flag to the calibration mode after receiving the calibration request, the conventional peripheral communication process will not be started after the initialization is started, but the control point data receiving process will be started. At the same time, the acquisition device is sending control point data through the control point data sending process. The control point data receiving process will cache the received control point data. At this time, the first core can be in a waiting state. For example, the first core has not started any process after the projection display process is shut down with the reset and restart, waiting for the second application process on the second core to start the corresponding process, such as waiting for the control point data receiving process to start the corresponding process. When the cache is complete, for example, the end flag is included in the end field of the control point data, the cache flag is set to the cache completed. Due to the role of the cache flag, the process that starts the first core will be the distortion parameter processing process instead of the projection display process, and the distortion parameter processing process calculates the distortion parameters of all pixels based on the cached control point data. At the same time, the second core is always waiting for the processing results of the first core. After the distortion parameter processing process completes the calculation of the distortion parameters of all pixels, it will send a notification of the completion of the calculation. At this time, the second core can initiate a reset and restart again. The reset and restart can shut down the first core and the second core again. From then on, a complete offline calibration process is completed, and the corresponding distortion parameters are saved in the memory of the HUD display device. In order to enter the normal mode normally after the reset, the mode selection flag is reset to the normal mode, and the cache flag is reset to the state of not sending control point data. In this example, all program processes running on the first core are collectively referred to as the first application process, and all program processes running on the second core are collectively referred to as the second application process.
[0086] like Fig.11As shown in the figure, for the normal use of the HUD display device, such as the use after offline calibration, Fig.10 After the calculation and storage of distortion parameters are completed, the example starts up or resets normally, and runs the startup initialization process from the second core to implement startup initialization. As mentioned above, since the mode selection flag is set to the normal mode and the cache flag is set to the state of not sending control point data, the normal peripheral communication process running on the second core and the projection display process running on the first core will be directly started, and the projection display process will implement normal projection display (see Figure 5 ), the regular peripheral communication process can achieve normal communication interaction with external devices. Because in the actual projection display, the acquisition device used for calibration will not be connected, so no calibration request will be received during the projection display process, and the mode selection flag and cache flag will always be in the default state. Correspondingly, when the HUD display device is reset or restarted or turned on directly, the projection display process and the regular peripheral communication process will be pulled up after the initialization process is started, so that it is always in normal mode to meet the projection display function of the HUD display device. In some examples, for the distortion parameters required to recalibrate the HUD display device, it is only necessary to directly connect the acquisition device used for distortion calibration to the HUD display device, and send a calibration request to the regular peripheral communication process of the HUD display device according to the acquisition situation. The calibration mode can be switched by updating the mode selection flag. The specific implementation process can be referred to. Fig.10 Example.
[0087] After receiving the control point data sent by the external acquisition device, the control point data receiving process, such as 3*3 pixel acquisition data, will temporarily store it in the cache, such as the running memory of the HUD display device. Since the control point data is the data of the corresponding pixel relative to the reference control point, the data volume is relatively small and does not take up too much storage space. When the distortion parameter processing process in the above example needs to calculate the distortion parameters based on the control point data, it will be extended to all pixels, such as Fig.12It will expand directly from 3*3 to 15*15. The left side corresponds to all the pixels displayed by the test image in the optical machine, and the right side corresponds to the distribution of the test image projected on the windshield. The solid circles are the detection control points obtained by the acquisition device, corresponding to the reference control points in the test image, and the other hollow circles are calculated by fitting algorithms or interpolation algorithms. The possible positions of other projected pixels will serve the actual distortion correction. Furthermore, in actual HUD display devices, it may be necessary to expand to 800*480 pixels, which means that the final amount of distortion parameter data will be even larger. Since the intermediate results of the distortion parameter calculation are temporarily stored in the running memory and then transferred to the storage memory to ensure that the data will not be lost after power failure, such a large amount of data has great requirements on the capacity of the memory, especially since the current HUD display device does not support such a large amount of running memory. In some examples, such as Fig.13 As shown in FIG. 1 , the distortion parameter processing process first takes out the control point data of a specific pixel from the running memory, obtains the distortion parameters through calculation and stores them in the running memory, and after the distortion parameters of all pixels are calculated, all the distortion parameters are transferred from the running memory to the storage memory. In actual applications, the running memory is generally much smaller than the capacity of the storage memory. If the distortion parameters of all pixels are transferred to the running memory after the calculation is completed, the cached distortion parameters will easily exceed the storage capacity of the running memory. Accordingly, the control point data can be grouped and calculated, and the amount of distortion parameter data calculated based on each group of control point data will not exceed the size of the running memory. When the distortion parameters of the corresponding group are calculated, the distortion parameters cached in the running memory will be immediately stored in the storage memory. After the storage is completed, the corresponding distortion parameters in the running memory will be cleared, and then the control point data of other groups will be taken out in turn to continue calculating the distortion parameters and store them in the running memory, which can alleviate the storage pressure of the running memory. That is, the control point data may be divided into at least a first control point data group and a second control point data group, and may further include a third control point data group, etc. For example, the 3*3 control point data may be divided into three groups by row, and each time a row of control point data is taken out for calculation. Accordingly, the first distortion parameter group is first calculated according to the first control point data group, and in response to the completion of the calculation of the first distortion parameter group, the first distortion parameter group cached in the running memory is transferred to the storage memory, and then the second distortion parameter group is calculated according to the second control point data group, and in response to the completion of the calculation of the second distortion parameter group, the second distortion parameter group cached in the running memory is transferred to the storage memory. The distortion parameters finally stored in the storage memory can support the call of the projection display process. Referring to the above example, the projection display process can pre-correct the image to be projected based on the distortion parameters in the storage memory during the projection display process.
[0088] In some examples, such as Fig.14 As shown, when the distortion parameter processing process is pulled up, the control point data cached by the control point data receiving process will be grouped and processed. Specifically, it can be divided into several groups with reference to the above example. In this example, in order to improve the precision of the distortion parameter storage, more groups of control point data can be appropriately set. Further, the distortion parameter processing process will take out the control point data in groups, calculate the required distortion parameters according to the corresponding control point data, and continuously cache them in the corresponding running memory. After each group of control point data is calculated, it will be checked whether it is the last group. If it is not the last group, the amount of distortion parameter data cached in the running memory will be checked. Specifically, compared with the capacity of a single sector in the storage memory, if the amount of data is sufficient to be stored in a complete sector, a sector of storage space will be allocated from the storage memory. Specifically, the specified sector will be erased, and then the distortion parameters corresponding to the sector capacity in the running memory will be transferred to the space of the allocated sector in the storage memory. Correspondingly, the original storage space in the running memory will be cleared to receive the cache of the new distortion parameters. If it is checked that the cached distortion parameters do not meet the size of a single sector in the storage memory, the transfer of the storage content will not be initiated. Instead, the control point data will continue to be taken out in groups to cyclically calculate new distortion parameters, and the newly calculated distortion parameters will continue to be added to the running memory to increase the number of caches. The advantage of this is that the distortion parameters can be set as a whole in the same block range of the storage memory, reducing back and forth searches and saving call time during distortion correction. When the control point data based on the distortion parameter calculation is the last group, that is, the control point data of other groups have been calculated, accordingly, even if the amount of cached distortion parameter data does not reach the size of a single sector of the storage memory, a sector will be allocated from the storage memory, and all the remaining distortion parameters will be transferred from the running memory to the sector allocated by the storage memory to complete the calculation of the entire distortion parameter. Accordingly, refer to Fig.10 For example, the distortion parameter processing process will be reset and restarted after the calculation is completed, and the running processor will reset the corresponding flag so that the processor can enter the normal mode after restarting. The HUD display device can project and display under the drive of the processor, during which the distortion correction process uses the distortion parameters stored in the storage memory.
[0089] like Fig.15As shown, the HUD display device implementing the above-mentioned example distortion processing method may specifically include a processor 931, a memory 932, an input device 933 and an output device 934, wherein the input device 933 may include an operation button integrated on the display device, etc., and the display device may receive input control instructions and data through the input device 933. The output device 934 may include an image source integrated on the display device, etc., and the display device may output corresponding instructions or data to the output device 934. Further, the memory 932 may refer to a running memory, on which a computer program running on the processor 931 is stored, and the processor 931 implements the above-mentioned example distortion processing method when executing the computer program. Accordingly, the HUD display device can not only realize projection display in the conventional mode, but also trigger to enter the calibration mode when the control point data is input externally, and the HUD display device automatically calculates the distortion parameters and saves them in its own storage memory for subsequent calls. In some examples, a computer-readable storage medium stores a computer program, and the computer program implements the above-mentioned example distortion processing method when executed by the processor.
[0090] like Fig.16 As shown, the vehicle can be provided with the above-mentioned HUD display device. Specifically, the HUD display device is integrated inside the center console 10, such as in front of the steering wheel. The corresponding display light is projected onto the opposite vehicle windshield 4 through the projection window 102 of the HUD display device. The effect of the viewer observing the windshield 4 from the cockpit is that the corresponding virtual image can be directly seen. Specifically, the corresponding display area 50 of the windshield 4 includes basic display information (vehicle speed information, gear information, etc.) and extended display information (warning information, navigation information, etc.) and other display elements. These display elements are formed by pre-correction and projection on the windshield. More importantly, the distortion parameters based on the pre-correction can be obtained by the HUD display device after being installed on the center console 10 and then calibrated for distortion. It can be realized by simply connecting with the acquisition device for distortion. Specifically, the calculation and storage can be realized by referring to the above example, which will not be repeated here. In some examples, the vehicle can also distribute the program of the distortion processing method in the above example through the above-mentioned computer-readable storage medium, so that the display device can be updated and upgraded accordingly. It should be noted that the means of transportation are not limited to cars as a means of transportation, but may also include buses, trucks, excavators, motorcycles, trains, high-speed trains, ships, yachts, airplanes, spacecraft, etc. The projected windshield is not limited to the front windshield of a car, but may also be a transparent surface at other locations.
[0091] In combination with the above examples, the technical solutions involved in the present application can be directly embodied as hardware, a software module executed by a control unit, or a combination of the two, that is, one or more steps and / or one or more step combinations, which can correspond to various software modules of a computer program flow, or to various hardware modules, such as ASIC (Application Specific Integrated Circuit), FPGA (Field-Programmable Gate Array) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or any appropriate combination thereof. For the convenience of description, the above description is divided into various modules and described separately according to their functions. Of course, when implementing the present application, the functions of each module can be implemented in the same or more software and / or hardware.
[0092] Through the description of the above examples, those skilled in the art can clearly understand that the present application can be implemented by means of software plus a necessary general hardware platform. Based on this understanding, the technical solution involved in the present application can be essentially or partly contributed to the prior art in the form of a software product. The software is executed by a microcontroller unit and, depending on the required configuration, may include one or more microcontroller units of any type, including but not limited to a microcontroller unit, a microcontroller, a DSP (Digital Signal Processor) or any combination thereof. The software is stored in a memory, such as a volatile memory (such as a random access memory, etc.), a non-volatile memory (such as a read-only memory, a flash memory, etc.) or any combination thereof.
[0093] In summary, the HUD display device processor of the present application has a normal mode and a calibration mode. In the normal mode, the processor can perform the normal projection display function of the HUD display device. In the calibration mode, it supports post-positioning the process of calculating the distortion parameters based on the control point data in the host computer to the processor. The host computer only needs to send the control point data to the processor. Since the control point data is much smaller than the data volume of the distortion parameters, the transmission time is saved. The present application improves the efficiency of the HUD display device in obtaining the distortion parameters, does not occupy too much time on the vehicle production line, and meets the off-line calibration speed requirements of the automobile OEM.
[0094] It should be understood that although this specification includes some examples, none of these examples contains only one independent technical solution, and this description of the specification is only for the purpose of clarity. A person skilled in the art should take the specification as a whole, and the technical solutions in each example can also be appropriately combined to form other implementation methods that can be understood by a person skilled in the art.
[0095] The series of detailed descriptions listed above are only specific descriptions of feasible implementation methods of the present application. They are not intended to limit the scope of protection of the present application. All equivalent implementation methods or modifications that do not deviate from the teachings of the present application should be included in the scope of protection of the present application.
Claims
1. A distortion processing method, characterized in that: include: The processor of the HUD display device is configured to control the optical machine to emit display light in a normal mode, wherein the display light includes reference control points to form detection control points on the windshield after being projected by the HUD display device, and drive an external acquisition device to obtain corresponding control point data; In response to a calibration request sent by the acquisition device, the processor is configured to switch from a normal mode to a calibration mode, receive the control point data sent by the acquisition device, calculate and store distortion parameters based on the control point data.
2. The distortion processing method according to claim 1, characterized in that: Calculating and storing distortion parameters according to the control point data includes: The normalized distortion parameters are determined using a fitting algorithm or an interpolation algorithm configured with the processor.
3. The distortion processing method according to claim 1, characterized in that: The processor of the HUD display device is configured to control the optical machine to emit display light in a normal mode, including: The processor is configured to support the simultaneous running of a first application process and a second application process, the first application process is configured to implement conventional projection display, and the second application process is configured to monitor a calibration request sent by the acquisition device.
4. The distortion processing method according to claim 3, characterized in that: In response to the calibration request sent by the acquisition device, the processor is configured to switch from the normal mode to the calibration mode, including: The second application process is configured to send a trigger instruction for transmitting control point data to the acquisition device, and cache the received control point data.
5. The distortion processing method according to claim 4, characterized in that: Calculating and storing distortion parameters according to the control point data includes: In response to completing the reception of the control point data, the second application process is configured to switch to a state of waiting for completion of the distortion parameter calculation, and the first application process is configured to calculate the distortion parameter based on the control point data.
6. The distortion processing method according to claim 1, characterized in that: Calculating and storing distortion parameters according to the control point data includes: The control point data includes a first control point data group and a second control point data group, firstly calculating a first distortion parameter group according to the first control point data group, and in response to the first distortion parameter group calculation being completed, transferring the first distortion parameter group cached in the running memory to the storage memory; A second distortion parameter group is then calculated based on the second control point data group. In response to the completion of the calculation of the second distortion parameter group, the second distortion parameter group cached in the running memory is transferred to the storage memory.
7. The distortion processing method according to claim 1, characterized in that: Calculating and storing distortion parameters according to the control point data includes: Cache the calculated distortion parameters into the running memory; In response to the data amount of the distortion parameter cached in the running memory being consistent with the storage space of the unit sector in the storage memory, the cached distortion parameter is triggered to be transferred to the storage memory.
8. A display device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory and running on the processor, wherein the processor implements the steps of the distortion processing method according to any one of claims 1 to 7 when executing the computer program.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the distortion processing method according to any one of claims 1 to 7 are implemented.
10. A means of transport, characterized in that: Includes the display device of claim 8 or the computer-readable storage medium of claim 9.
