Coordinate determination method, display method, control device and head-up display
By acquiring the calibration and resolution parameters of the head-up display, the pixel coordinates of the target object in the virtual image are calculated, solving the problem of poor portability of AR-HUD algorithms across different hardware platforms and achieving efficient cross-platform compatibility and accurate virtual-real integration.
Patent Information
- Application Number
- CN202510852712.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-24
- Publication Date
- 2025-11-21
AI Technical Summary
Existing AR-HUD virtual-real combination algorithms rely on OpenGL to create projection matrices, resulting in high portability costs and poor compatibility across different hardware platforms, making them unusable on embedded systems or specific automotive hardware platforms that do not support OpenGL.
By acquiring the calibration parameters of the head-up display and the resolution parameters of the target object, the pixel coordinates of the target object in the virtual image are calculated, avoiding the need to create a projection matrix using OpenGL.
It improves the compatibility and portability of the algorithm, reduces development and debugging costs, ensures that virtual information accurately corresponds to real-world scenarios, and enhances driver safety and user experience.
Smart Images

Figure CN120997284A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of augmented reality display technology, specifically to a coordinate determination method, a display method, a control device, and a head-up display. Background Technology
[0002] Augmented Reality-Head-Up Display (AR-HUD) is one type of Head-Up Display (HUD). AR-HUD not only projects important information displayed on the vehicle's instrument panel (such as speed, navigation information, and traffic signs) onto the windshield, allowing the driver to see the information without looking down, but it also seamlessly integrates virtual information with the real-world scene, providing an immersive driving experience. By calculating the virtual image position corresponding to real objects, virtual information (such as navigation arrows and warning signs) can be precisely spatially correlated with real-world objects such as roads, vehicles, and pedestrians. For example, when a pedestrian appears in front of the vehicle, the virtual warning sign can accurately appear at the corresponding virtual image position, promptly alerting the driver and preventing accidents caused by a shift in focus.
[0003] In existing technologies, the virtual-real combination algorithms used in commercially available AR-HUDs primarily rely on OpenGL to create projection matrices to determine the virtual image position corresponding to the actual object. However, different hardware platforms depend on different OpenGL library versions or implementations, leading to the need for platform-specific adaptation during algorithm porting, resulting in high development and debugging costs and poor portability. Furthermore, the aforementioned projection methods cannot be used on embedded systems that do not support OpenGL or on specific automotive hardware platforms, limiting the compatibility of the projection methods. Summary of the Invention
[0004] This application provides a coordinate determination method, a display method, a control device, and a head-up display, which eliminates the need to create a projection matrix using OpenGL, thus avoiding the drawbacks of using OpenGL to create a projection matrix.
[0005] In a first aspect, embodiments of this application provide a coordinate determination method applied to a head-up display (HUD). The coordinate determination method includes: acquiring calibration parameters of the HUD, the calibration parameters including a lower viewing angle, a left viewing angle, a lateral field of view, a longitudinal field of view, and a first coordinate value of the human eye in a preset three-dimensional coordinate system; acquiring a second coordinate value of a target object in the preset three-dimensional coordinate system and a resolution parameter of the virtual image projected by the HUD; and determining the pixel coordinates of the target object in the virtual image based on the second coordinate value, the calibration parameters, and the resolution parameter.
[0006] In one or more embodiments, the resolution parameter includes horizontal resolution and vertical resolution, the pixel coordinates include horizontal coordinates and vertical coordinates, and obtaining the pixel coordinates of the target object in the virtual image based on the second coordinate value, the calibration parameter, and the resolution parameter includes: obtaining the vertical coordinate based on the vertical resolution, the vertical field of view, the lower viewing angle, the first coordinate value, and the second coordinate value; and obtaining the horizontal coordinate based on the horizontal resolution, the horizontal field of view, the left viewing angle, the first coordinate value, and the second coordinate value.
[0007] In one or more embodiments, the preset three-dimensional coordinate system includes a first coordinate axis, a second coordinate axis, and a third coordinate axis that are perpendicular to each other. The first coordinate value includes a first sub-coordinate on the first coordinate axis, a second sub-coordinate on the second coordinate axis, and a third sub-coordinate on the third coordinate axis. The second coordinate value includes a fourth sub-coordinate on the first coordinate axis, a fifth sub-coordinate on the second coordinate axis, and a sixth sub-coordinate on the third coordinate axis. Obtaining the longitudinal coordinate based on the longitudinal resolution, the longitudinal field of view, the lower viewing angle, the first coordinate value, and the second coordinate value includes obtaining the longitudinal coordinate based on the longitudinal resolution, the longitudinal field of view, the lower viewing angle, the first sub-coordinate, the third sub-coordinate, the fourth sub-coordinate, and the sixth sub-coordinate. Obtaining the lateral coordinate based on the lateral resolution, the lateral field of view, the left viewing angle, the first coordinate value, and the second coordinate value includes obtaining the lateral coordinate based on the lateral resolution, the lateral field of view, the left viewing angle, the first sub-coordinate, the second sub-coordinate, the fourth sub-coordinate, and the fifth sub-coordinate.
[0008] In one or more embodiments, obtaining the longitudinal coordinates based on the longitudinal resolution, the longitudinal field of view, the lower angle of view, the first sub-coordinate, the third sub-coordinate, the fourth sub-coordinate, and the sixth sub-coordinate includes: inputting the longitudinal resolution, the longitudinal field of view, the lower angle of view, the first sub-coordinate, the third sub-coordinate, the fourth sub-coordinate, and the sixth sub-coordinate into a first preset calculation model to obtain the longitudinal coordinates.
[0009] In one or more embodiments, obtaining the lateral coordinates based on the lateral resolution, the lateral field of view, the left viewing angle, the first sub-coordinate, the second sub-coordinate, the fourth sub-coordinate, and the fifth sub-coordinate includes: inputting the lateral resolution, the lateral field of view, the left viewing angle, the first sub-coordinate, the second sub-coordinate, the fourth sub-coordinate, and the fifth sub-coordinate into a second preset calculation model to obtain the lateral coordinates.
[0010] Secondly, embodiments of this application provide a display method applied to a head-up display, the display method comprising: determining the pixel coordinates of a target object in a virtual image using a coordinate determination method as described in any one of the first aspects; and controlling the head-up display to display based on the pixel coordinates.
[0011] Thirdly, embodiments of this application also provide a control device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method as described in either the first or second aspect.
[0012] Fourthly, embodiments of this application also provide a head-up display, including: a display screen and a control device as described in the third aspect; the control device is electrically connected to the display screen.
[0013] Fifthly, embodiments of this application also provide a means of transportation that includes a head-up display as described in the fourth aspect.
[0014] In a sixth aspect, embodiments of this application also provide a computer-readable storage medium storing computer-executable instructions for causing a computer to perform the methods described in the first or second aspect above.
[0015] In a seventh aspect, embodiments of this application also provide a computer program product, the computer program product including a computer program stored on a computer-readable storage medium, the computer program including program instructions, which, when executed by a computer, cause the computer to perform the method described in the first or second aspect above.
[0016] The beneficial effects of this application are as follows: This application provides a coordinate determination method, a display method, a control device, and a head-up display (HUD). The method obtains the calibration parameters of the HUD, including the lower viewing angle, left viewing angle, lateral field of view, longitudinal field of view, and the first coordinate value of the human eye in a preset three-dimensional coordinate system. It also obtains the second coordinate value of the target object in the preset three-dimensional coordinate system and the resolution parameters of the virtual image projected by the HUD. Based on the second coordinate value, the calibration parameters, and the resolution parameters, the pixel coordinates of the target object in the virtual image are determined. This method eliminates the need to create a projection matrix using OpenGL, avoiding the drawbacks of using OpenGL to create a projection matrix. Attached Figure Description
[0017] One or more embodiments are illustrated by way of example with reference numerals in the accompanying drawings. These illustrations do not constitute a limitation on the embodiments. Elements with the same reference numerals in the drawings are denoted as similar elements. Unless otherwise stated, the figures in the drawings are not to be limited by scale.
[0018] Figure 1 A flowchart illustrating a coordinate determination method provided in an embodiment of this application; Figure 2 A geometric relationship diagram provided for an embodiment of this application; Figure 3 A schematic diagram of a calibration image provided in an embodiment of this application; Figure 4 Another geometric relationship diagram provided for an embodiment of this application; Figure 5 A flowchart illustrating a display method provided in an embodiment of this application; Figure 6 This is a structural block diagram of a control device provided in an embodiment of this application. Detailed Implementation
[0019] To facilitate understanding of this application, a more detailed description is provided below with reference to the accompanying drawings and specific embodiments. It should be noted that when an element is described as being "fixed to" another element, it can be directly on the other element, or one or more intermediate elements may exist between them. When an element is described as being "electrically connected" to another element, it can be directly connected to the other element, or one or more intermediate elements may exist between them. The terms "upper," "lower," "inner," "outer," "bottom," etc., used in this specification indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings, and are only for the convenience of describing this application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of this application. Furthermore, the terms "first," "second," "third," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0020] Unless otherwise defined, all technical and scientific terms used in this specification have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the scope of the application. The term "and / or" as used in this specification includes any and all combinations of one or more of the associated listed items. Furthermore, technical features involved in the different embodiments of this application described below may be combined with each other as long as they do not conflict with each other.
[0021] In a first aspect, embodiments of this application provide a coordinate determination method, which is applied to a head-up display. The executing entity can be the control device provided in embodiments of this application. See reference... Figure 1 The method for determining coordinates includes the following steps S10 to S30.
[0022] Step S10: Obtain the calibration parameters of the head-up display. The calibration parameters include the downward viewing angle, the left viewing angle, the horizontal field of view, the vertical field of view, and the first coordinate value of the human eye in the preset three-dimensional coordinate system.
[0023] In this application, the use of a head-up display (HUD) in a vehicle is described as an example, but the application is not limited to this. When the HUD is used in a vehicle, the light projected by the HUD is reflected off the windshield to form a virtual image. The preset three-dimensional coordinate system is the vehicle coordinate system; see [reference needed]. Figure 2 The vehicle coordinate system includes three mutually perpendicular axes: a first axis (x), a second axis (y), and a third axis (z). The positive direction of the first axis (x) points forward and is parallel to the direction from the midpoint of the line connecting the centers of the two rear wheels to the midpoint of the line connecting the centers of the two front wheels. The positive direction of the second axis (y) points to the left side of the vehicle and is parallel to the direction from the midpoint of the line connecting the centers of the two right wheels to the midpoint of the line connecting the centers of the two front wheels. The positive direction of the third axis (z) is upward and perpendicular to the ground plane. Figure 2 In the diagram, E is the preset position where the human eye is located. The edge points of the virtual image are A, M, B, Q, C, N, L, and T, respectively. O is the center point of the virtual image. Draw EE' through point E perpendicular to the virtual image, and point E is inside the virtual image. Draw O'O through point O perpendicular to the virtual image, and let O'O = E'E. On line segment MN, draw DE' through point E' parallel to AB. On line segment QT, draw FE' through point E' parallel to BC.
[0024] The first coordinate value of the human eye E in the preset three-dimensional coordinate system is used to characterize the preset eye box position. When the driver's eyes are at the preset eye box position, the virtual image projected by the head-up display can be observed. It can be understood that the first coordinate value includes the first sub-coordinate Ex on the first coordinate axis, the second sub-coordinate Ey on the second coordinate axis, and the third sub-coordinate Ez on the third coordinate axis, that is, the first coordinate value is (Ex, Ey, Ez).
[0025] The downward angle of view (LDA) refers to the angle between the direction of the line of sight of the center point O of the virtual image viewed by the human eye E in the preset three-dimensional coordinate system and the line segment EE', also known as ∠E'EF. The downward angle of view is used to characterize the degree to which the driver's line of sight deflects downward when observing the virtual image projected by the head-up display.
[0026] The left perspective (LLA) refers to the angle between the direction of the line of sight from the center point O of the virtual image viewed by the human eye E in the preset three-dimensional coordinate system, the direction of the component of the second coordinate axis y, and the line segment EE', also known as ∠E'ED. The left perspective is used to characterize the degree to which the driver's line of sight deflects to the left when observing the virtual image projected by the head-up display.
[0027] The horizontal field of view (FOVX) refers to the angular range covered by the virtual image projected by the head-up display in the horizontal direction, also known as ∠QO'T. The vertical field of view (FOVY) refers to the angular range covered by the virtual image projected by the head-up display in the vertical direction, also known as ∠MO'N.
[0028] In addition, Figure 2 In this context, the following geometric relationships exist: ; .
[0029] Among them, L MO L is the length of line segment MO. E’E Let L be the length of line segment E'E. TO Let TO be the length of line segment TO.
[0030] The aforementioned calibration parameters are pre-calibrated at the factory through a calibration process and stored in the vehicle's memory or a cloud server. The control device can retrieve these calibration parameters from the memory or cloud server. During the calibration process, the head-up display is first controlled to project a calibration image. The calibration image can be an image containing multiple feature points; for example, a nine-point image. Figure 3 As shown, it includes nine identifiable feature points, each arranged in an N1×N2 dot matrix pattern, where N1 and N2 are both integers greater than or equal to 0. The shape and arrangement of the feature points can be set according to actual needs and are not limited here. Then, image acquisition is performed on the virtual image, and the above calibration parameters are obtained through appropriate measurement methods or algorithms. The calibration process can refer to existing technologies and is not limited here.
[0031] Step S20: Obtain the second coordinate value of the target object in the preset three-dimensional coordinate system and the resolution parameters of the virtual image projected by the head-up display.
[0032] The second coordinate value includes the fourth sub-coordinate Jx on the first coordinate axis, the fifth sub-coordinate Jy on the second coordinate axis, and the sixth sub-coordinate Jz on the third coordinate axis, that is, the second coordinate value is (Jx, Jy, Jz).
[0033] Specifically, the control device can obtain the second coordinate value through an Advanced Driver Assistance System (ADAS). ADAS includes sensors such as cameras and radar. ADAS can calculate the second coordinate value by using image information and / or distance information of the target object provided by multiple sensors. The specific method by which ADAS obtains the second coordinate value can refer to existing technologies and is not limited here.
[0034] The resolution parameters of the virtual image include the number of pixels in the horizontal direction and the number of pixels in the vertical direction of the virtual image projected by the head-up display. The number of pixels in the horizontal direction is the horizontal resolution, and the number of pixels in the vertical direction is the vertical resolution.
[0035] Step S30: Determine the pixel coordinates of the target object in the virtual image based on the second coordinate value, calibration parameters, and resolution parameters.
[0036] Pixel coordinates refer to two-dimensional coordinates in the pixel coordinate system of a virtual image, including horizontal coordinates in the horizontal direction and vertical coordinates in the vertical direction. The pixel coordinate system can be located at the top left corner of the virtual image (e.g., the top left corner of the image). Figure 2 A two-dimensional rectangular coordinate system is established with point B as the origin. Specifically, the second coordinate value, calibration parameters, and resolution parameters can be input into the preset calculation model to calculate the pixel coordinates.
[0037] In this embodiment, the pixel coordinates of the target object in the virtual image can be determined using the above method, and augmented reality display can then be performed based on these pixel coordinates. This method does not rely on the OpenGL library to create a projection matrix, avoiding the shortcomings of projection matrix algorithms. It can be quickly ported across platforms, improving compatibility, expanding applicable scenarios, saving labor costs, and shortening project cycles. Moreover, in the actual calculation process, not only the bottom viewpoint but also the left viewpoint is used in the calculation. Compared with the calculation method that only uses the bottom viewpoint, the method provided in this application can improve the accuracy of coordinate determination, making the virtual image more closely match the actual object.
[0038] In some embodiments, step S30 includes steps S31 to S32.
[0039] Step S31: Obtain the longitudinal coordinates based on the longitudinal resolution, longitudinal field of view, lower angle of view, first coordinate value, and second coordinate value.
[0040] Specifically, step S31 includes step S311: obtaining the longitudinal coordinates based on the longitudinal resolution, longitudinal field of view, lower view, first sub-coordinate, third sub-coordinate, fourth sub-coordinate, and sixth sub-coordinate.
[0041] For example, the first difference between the sixth sub-coordinate Jz and the third sub-coordinate Ez can be calculated first, and then the second difference between the fourth sub-coordinate Jx and the first sub-coordinate Ex can be calculated. Then, the longitudinal coordinates can be calculated using the longitudinal resolution, longitudinal field of view, downward viewing angle, first difference and second difference.
[0042] Step S32: Obtain the horizontal coordinates based on the horizontal resolution, horizontal field of view, left viewing angle, first coordinate value, and second coordinate value.
[0043] Specifically, step S32 includes step S321: obtaining the horizontal coordinates based on the horizontal resolution, horizontal field of view, left viewing angle, first sub-coordinate, second sub-coordinate, fourth sub-coordinate, and fifth sub-coordinate.
[0044] For example, the third difference between the fifth sub-coordinate Jy and the second sub-coordinate Ey can be calculated first, and then the second difference between the fourth sub-coordinate Jx and the first sub-coordinate Ex can be calculated. Then, the lateral coordinates can be calculated using the lateral resolution, lateral field of view, left viewing angle, third difference, and second difference.
[0045] In this embodiment, the vertical and horizontal coordinates can be calculated separately using the above method.
[0046] In some embodiments, step S311 includes step S3111: inputting the longitudinal resolution, longitudinal field of view, lower angle of view, first sub-coordinate, third sub-coordinate, fourth sub-coordinate and sixth sub-coordinate into the first preset calculation model to obtain the longitudinal coordinate.
[0047] See Figure 4 Let point J represent the target object. The line connecting point J and point E intersects the virtual image at point H'. A line H'H is drawn through point H' perpendicular to E'H, and a line G'H' is drawn parallel to GH. A line JJ' is drawn through point J perpendicular to EJ'. The coordinates of point J' are (Jx, Ey, Jz). In the J'GE plane, a line EE'' is drawn through point E parallel to GI, and a line J'E'' is drawn through point J' perpendicular to EE''. The coordinates of E'' are (Ex, Ey, Jz), and ∠EJ'E'' = ∠E'EJ'.
[0048] If the vertical resolution is pixH, and point B is taken as the origin of the pixel coordinate system of the virtual image, then the vertical coordinate pixY of the target object J in the virtual image is: ; Among them, L G’H’ Let L be the length of line segment G'H'. G’I’ Let L be the length of line segment G'I'. GH L is the length of line segment GH. GI The length of line segment GI; ; Among them, L GH L is the length of line segment GH. GE’ L is the length of line segment GE'. E’H Let L be the length of line segment E'H. GF Let L be the length of line segment GF. E’F Let E'F be the length of line segment E'F; Combination Figure 2 The geometric relationships in the equation are: ; ; ; Among them, L E’’E Let L be the length of line segment E''E. J’E’’ Let J'E'' be the length of line segment J'E'', therefore, ; And because, ; so, ; Right now, ; Furthermore, the Taylor expansion of the tangent function is: , |a| < π / 2, where a is in radians. When a is very small, tan(a) ≈ a, arctan(a) ≈ a. Since the angle involved in head-up displays is usually small, taking 10 degrees as an example, 10 degrees corresponds to an radian of approximately 0.1745, while the tangent of 10 degrees is approximately 0.1763. The error between the two is approximately (0.1763-0.1745) / 0.1763×100%=0.18%. It can be seen that the error is small, and the error is even smaller when the degree decreases.
[0049] So, ; Therefore, the vertical coordinate can be calculated using the following formula (1) in the first preset calculation model: ; Alternatively, the vertical coordinate can be calculated using the following formula (2): .
[0050] refer to Figure 4The physical meaning of FOVY / 2-LDA+(Jz-Ez) / (Jx-Ex) is ∠GEH, which characterizes the degree of vertical offset of the human eye relative to the upper edge of the virtual image when viewing the target object. The longitudinal coordinate can be determined by using its ratio to the longitudinal field of view angle.
[0051] In this embodiment, the actual position of the target object in the virtual image is determined by geometric relationships and multiple parameters, which improves the calculation accuracy of the longitudinal coordinate and provides a reliable foundation for the accurate display of the target object's relevant information in the virtual image. Moreover, the first preset calculation model can use two calculation methods to calculate the longitudinal coordinate. In practical applications, the appropriate formula can be selected according to different accuracy requirements and computing resource limitations to improve the flexibility of the algorithm. For example, when the accuracy requirement is high and the computing resources are sufficient, formula (1) can be used for accurate calculation. When it is necessary to save system resources or when there is a high requirement for calculation speed, formula (2) can be selected for approximate calculation to avoid complex tangent function calculation and directly use angle values for calculation, thereby reducing the computational complexity. It is suitable for platforms with relatively tight central processing unit resources and can improve the system's response speed and reduce calculation delay while ensuring a certain level of accuracy, providing users with a smoother user experience.
[0052] In some embodiments, step S321 includes step S3211: inputting the lateral resolution, lateral field of view, left viewing angle, first sub-coordinate, second sub-coordinate, fourth sub-coordinate and fifth sub-coordinate into the second preset calculation model to obtain the lateral coordinates.
[0053] Specifically, the second preset calculation model can use the following formula (3) to calculate the horizontal coordinate: ; Where pixX is the horizontal coordinate, pixW is the horizontal resolution, FOVX is the horizontal field of view, and LLA is the left-hand view.
[0054] Alternatively, the second preset calculation model can calculate the horizontal coordinate using the following formula (4): .
[0055] refer to Figure 4 The physical meaning of FOVX / 2-LLA+(Jy-Ey) / (Jx-Ex) is ∠H'EK, which represents the degree of horizontal offset of the human eye relative to the right edge of the virtual image when viewing the target object. The horizontal coordinate can be determined by using its ratio to the horizontal field of view angle.
[0056] In this embodiment, the second preset calculation model can use two calculation methods to calculate the horizontal coordinate. In practical applications, the appropriate formula can be selected according to different accuracy requirements and computing resource limitations to improve the flexibility of the algorithm. For example, when the accuracy requirement is high and the computing resources are sufficient, formula (3) can be used for accurate calculation. When it is necessary to save system resources or when there is a high requirement for calculation speed, formula (4) can be selected for approximate calculation to avoid complex tangent function calculation and directly use angle value for calculation, thereby reducing the calculation complexity. It can also improve the system response speed and reduce calculation delay under the premise of ensuring a certain accuracy, providing users with a smoother user experience.
[0057] Secondly, embodiments of this application provide a display method applied to a head-up display. The execution entity of this display method can be the control device provided in embodiments of this application. (See reference...) Figure 5 The display method includes the following steps S100 to S200.
[0058] Step S100: Determine the pixel coordinates of the target object in the virtual image using the coordinate determination method as described in any embodiment of the first aspect.
[0059] The coordinate determination method in this step has the same process and function as the coordinate determination method described in any embodiment of the first aspect, and will not be repeated here.
[0060] Step S200: Control the head-up display based on pixel coordinates.
[0061] After obtaining the pixel coordinates of the target object in the virtual image, the control device can control the head-up display to show augmented reality information such as navigation icons and text prompts at or near those pixel coordinates.
[0062] In this embodiment, the pixel coordinates of the target object in the virtual image are determined by the coordinate determination method provided in this application embodiment, which can ensure that augmented reality information can be accurately superimposed on the corresponding position of the real scene.
[0063] Thirdly, this application provides a control device. Figure 6 A hardware structure of the control device 100 is shown. Please refer to... Figure 6 The control device 100 includes a processor 10, a memory 20, and a communication interface 30. The processor 10, memory 20, and communication interface 30 are connected via lines. Figure 6 In the illustrated embodiment, the processor 10, memory 20, and communication interface 30 are interconnected via a bus. The memory 20 stores instructions executable by the processor 10, which, when executed, enable the processor 10 to perform the methods described in any embodiment of this application.
[0064] The memory 20 is used to store software programs, computer-executable program instructions, etc. The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store the operating system and application programs required for at least one function; the data storage area may store data created based on the use of the control device 100, etc.
[0065] The memory 20 can be a read-only memory (ROM), or other types of static storage devices that can store static information and instructions, or random access memory (RAM), or other types of dynamic storage devices that can store information and instructions, or electrically erasable programmable read-only memory (EEPROM). The specific type is not limited here.
[0066] For example, the aforementioned memory 20 can be a double-data-rate synchronous dynamic random access memory (DRAM). This memory 20 can exist independently but is connected to the processor 10. Optionally, the memory 20 can also be integrated with the processor 10, for example, integrated within one or more chips.
[0067] In some embodiments, the memory 20 may optionally include memory remotely located relative to the processor 10, and this remote memory may be connected to the control device 100 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0068] The processor 10 connects various parts of the entire control device 100 using various interfaces and lines. By running or executing software programs stored in the memory 20 and calling data stored in the memory 20, it performs various functions of the control device 100 and processes data, such as implementing the methods described in any embodiment of this application.
[0069] The processor 10 can be a field programmable gate array (FPGA), a digital signal processor (DSP), a central processing unit (CPU), or the like.
[0070] Processor 10 can be a single-core processor or a multi-core processor. For example, processor 10 can be composed of multiple FPGAs or multiple DSPs. Furthermore, processor 10 can refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions). Processor 10 can be a standalone semiconductor chip or integrated with other circuits into a single semiconductor chip. For example, it can form a system-on-a-chip (SoC) with other circuits (such as codec circuits, hardware acceleration circuits, or various bus and interface circuits), or it can be integrated as a built-in processor within an application-specific integrated circuit (ASIC). This ASIC with integrated processor can be packaged separately or together with other circuits.
[0071] The communication interface 30 can use a transceiver device, such as a transceiver, to enable communication between the control device 100 and other devices or communication networks.
[0072] The control device 100 described above can execute the method provided in the embodiments of this application, and has the corresponding functional modules and beneficial effects for executing the method. Technical details not described in detail in this embodiment can be found in the method provided in the embodiments of this application.
[0073] As another aspect of the embodiments of this application, this application also provides a head-up display, including a display screen and a control device as described in the third aspect; the control device is electrically connected to the display screen.
[0074] The control unit described in this application has the same structure and function as the control unit described in any of the embodiments of the third aspect, and will not be repeated here.
[0075] The display screen can use devices such as Digital Micromirror Device (DMD), Liquid Crystal Display (LCD), or Liquid Crystal on Silicon (LCoS). Under the control of the control device, it can generate a beam of light with image information. The beam of light is then reflected by the windshield to the human eye, where the human eye can observe a virtual image.
[0076] As another aspect of the embodiments of this application, the embodiments of this application also provide a means of transportation, including: a head-up display as described in the fourth aspect.
[0077] The head-up display described in this application has the same structure and function as the head-up display described in any of the embodiments of the fourth aspect, and will not be repeated here. The means of transportation can be a vehicle, airplane, ship, or other suitable means of transportation.
[0078] As another aspect of the embodiments of this application, the embodiments of this application also provide a computer-readable storage medium storing computer-executable instructions for causing an electronic device to perform the methods provided in the embodiments of this application.
[0079] In some embodiments, the storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.
[0080] In some embodiments, executable instructions may take the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
[0081] As an example, executable instructions may, but do not necessarily, correspond to files in the file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a Hyper Text Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple collaborative files (e.g., a file that stores one or more modules, subroutines, or code sections).
[0082] As an example, executable instructions can be deployed to execute on a single computing device (including devices such as smart terminals and servers), or on multiple computing devices located in one location, or on multiple computing devices distributed across multiple locations and interconnected via a communication network.
[0083] As another aspect of the embodiments of this application, the embodiments of this application also provide a computer program product, the computer program product including a computer program stored on a computer-readable storage medium, the computer program including program instructions, which, when executed by a computer, cause the computer to perform the method as described in the foregoing embodiments.
[0084] It should be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0085] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a general-purpose hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the related technology, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions for at least one computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in various embodiments or some parts of the embodiments.
[0086] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and not to limit them; under the concept of this application, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations of different aspects of this application as described above, which are not provided in detail for the sake of brevity; although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or make equivalent substitutions for some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
Claims
1. A method for determining coordinates, characterized in that, Applied to head-up displays, the coordinate determination method includes: Obtain the calibration parameters of the head-up display, including the downward viewing angle, the left viewing angle, the lateral field of view, the longitudinal field of view, and the first coordinate value of the human eye in a preset three-dimensional coordinate system; Obtain the second coordinate value of the target object in the preset three-dimensional coordinate system and the resolution parameters of the virtual image projected by the head-up display; Based on the second coordinate value, the calibration parameter, and the resolution parameter, the pixel coordinates of the target object in the virtual image are determined.
2. The coordinate determination method according to claim 1, characterized in that, The resolution parameters include horizontal resolution and vertical resolution, and the pixel coordinates include horizontal coordinates and vertical coordinates. Obtaining the pixel coordinates of the target object in the virtual image based on the second coordinate value, the calibration parameters, and the resolution parameters includes: The longitudinal coordinates are obtained based on the longitudinal resolution, the longitudinal field of view, the lower angle of view, the first coordinate value, and the second coordinate value; The horizontal coordinates are obtained based on the horizontal resolution, the horizontal field of view, the left viewing angle, the first coordinate value, and the second coordinate value.
3. The coordinate determination method according to claim 2, characterized in that, The preset three-dimensional coordinate system includes a first coordinate axis, a second coordinate axis, and a third coordinate axis that are perpendicular to each other. The first coordinate value includes a first sub-coordinate on the first coordinate axis, a second sub-coordinate on the second coordinate axis, and a third sub-coordinate on the third coordinate axis. The second coordinate value includes a fourth sub-coordinate on the first coordinate axis, a fifth sub-coordinate on the second coordinate axis, and a sixth sub-coordinate on the third coordinate axis. The process of obtaining the longitudinal coordinates based on the longitudinal resolution, the longitudinal field of view, the downward viewing angle, the first coordinate value, and the second coordinate value includes: The longitudinal coordinates are obtained based on the longitudinal resolution, the longitudinal field of view, the lower angle of view, the first sub-coordinate, the third sub-coordinate, the fourth sub-coordinate, and the sixth sub-coordinate; The process of obtaining the lateral coordinates based on the lateral resolution, the lateral field of view, the left viewing angle, the first coordinate value, and the second coordinate value includes: The horizontal coordinates are obtained based on the horizontal resolution, the horizontal field of view, the left viewing angle, the first sub-coordinate, the second sub-coordinate, the fourth sub-coordinate, and the fifth sub-coordinate.
4. The coordinate determination method according to claim 3, characterized in that, The process of obtaining the longitudinal coordinates based on the longitudinal resolution, the longitudinal field of view, the lower viewing angle, the first sub-coordinate, the third sub-coordinate, the fourth sub-coordinate, and the sixth sub-coordinate includes: The longitudinal resolution, the longitudinal field of view, the lower angle of view, the first sub-coordinate, the third sub-coordinate, the fourth sub-coordinate, and the sixth sub-coordinate are input into the first preset calculation model to obtain the longitudinal coordinate.
5. The coordinate determination method according to claim 3, characterized in that, The process of obtaining the horizontal coordinates based on the horizontal resolution, the horizontal field of view, the left viewing angle, the first sub-coordinate, the second sub-coordinate, the fourth sub-coordinate, and the fifth sub-coordinate includes: The horizontal coordinates are obtained by inputting the horizontal resolution, horizontal field of view, left angle, first sub-coordinate, second sub-coordinate, fourth sub-coordinate and fifth sub-coordinate into the second preset calculation model.
6. A display method, characterized in that, Applied to a head-up display, the display method includes: The pixel coordinates of the target object in the virtual image are determined by the coordinate determination method as described in any one of claims 1-5; The head-up display is controlled based on the pixel coordinates.
7. A control device, characterized in that, include: At least one processor; as well as, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method as described in any one of claims 1 to 6.
8. A head-up display, characterized in that, include: Display screen; control device as described in claim 7; The control device is electrically connected to the display screen.
9. A means of transportation, characterized in that, Including the head-up display as described in claim 8.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions for causing a computer to perform the method as described in any one of claims 1 to 6.