METHOD AND SYSTEM FOR EFFICIENT REPEATING ACCUMULATED PRECIPITATION FOR WEATHER EFFECTS
Patent Information
- Application Number
- DE102019204279
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2018-03-28
- Filing Date
- 2019-03-27
- Publication Date
- 2025-02-06
- Estimated Expiration
- 2039-03-27
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
REGIONThis disclosure relates generally to the field of driver information and driver assistance systems (also known as in-vehicle information systems) and, more particularly, to systems and methods that provide graphical displays for imaging and navigation applications to a vehicle operator.BACKGROUNDUnless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.Modern motor vehicles often include one or more driver information and driver assistance systems (referred to herein as in-vehicle information systems) that provide a variety of information and entertainment capabilities to occupants of the vehicle. Common services provided by the in-vehicle information systems include, but are not limited to, vehicle state and diagnostic information, mapping and navigation applications, hands-free telephony, radio and music playback, and traffic state warnings. In-vehicle information systems often include multiple input and output devices. For example, conventional buttons and operation buttons used for operating radio devices and audio systems are frequently used in vehicle information systems. More recent forms of vehicle input include touch screen input devices that combine input and display on a single screen, as well as voice activated features in which the in-vehicle information system responds to voice commands. Examples of output systems include mechanical instrument displays, output display panels such as liquid crystal display (LCD) panels), and audio output devices that generate synthesized speech.Three-dimensional (3D) graphics methods are widely used in various driver assistance and driver information applications. 3D map-based navigation systems are a typical example. Compared to conventional two-dimensional (2D) maps, 3D maps are considered to be more helpful for easy driver orientation and fast location recognition. For example, 3D photorealistic mapping and navigation services are provided by multiple online and offline services, including the services offered by Apple, Google, and Nokia. Modern 3D graphics can produce a broad spectrum of very realistic graphics effects. In the context of 3D mapping and navigation applications, a graphics display system can generate landmarks such as geographic features, roads, buildings, and other landmarks in great detail. Moreover, some 3D mapping systems may apply graphical effects representing the weather and light conditions in the virtual 3D environment corresponding to the actual weather conditions in the real geographic region reproduced in the mapping application. For example, 3D graphics systems may generate graphical precipitation representations based on current weather conditions in a geographic region.While modern 3D graphics hardware and software can reproduce a wide range of graphics, the generation of graphics effects, such as precipitation, typically requires substantial hardware execution resources to generate the graphics effects at an appropriate playback speed for use in a 3D mapping application. Although there are modern processing devices, including graphics processing units (GPUs), that can perform complex graphical rendering of realistic precipitations, many hardware platforms, including the automotive integrated graphics systems and those of low cost mobile electronic devices, may not have the hardware required to generate realistic graphical precipitations. Moreover, even some mobile electronic devices that include increasingly powerful graphics hardware may consume an undesirably large amount of electrical energy to generate the graphics, which often results in a depleted battery and thus may be inflexible for use of a mapping and navigation application on travel. Consequently, improvements to methods and systems for generating graphical precipitation representations in a 3D virtual environment would be computationally efficient. Generic methods and systems for generating graphical representations of weather data with precipitation intensities in a map are disclosed, for example, in patent documents US 2017 / 371 074 A1, US 2014 / 277 939 A1 and U.S. Pat. No. 5,583,972 A.SUMMARYAccording to a first aspect of the present invention, there is disclosed a method of generating graphics of a three-dimensional (3D) virtual environment according to claim 1.According to a second aspect of the present invention, there is disclosed a system for generating graphics of a three-dimensional (3D) virtual environment according to claim 4. Further aspects of the invention are the subject matter of the dependent claims, the drawings and the following description of exemplary embodiments.BRIEF DESCRIPTION OF THE DRAWINGSThe above aspects and other features of the method and apparatus will be explained in the following description in conjunction with the accompanying drawings. FIG. 1 is a schematic diagram of an in-vehicle information system configured to generate a graphical display of a 3D virtual environment, including a precipitation plot reflecting current weather conditions at a real geographic location. FIG. 2 illustrates a method for rendering accumulated precipitation in a 3D virtual environment in a computationally efficient manner. FIG. 3 shows a data representation that includes an example sequence of precipitation intensity associated with the respective time stamps. FIG. 4 shows an example method for calculating the precipitation accumulation value based on the sequence of precipitation intensity values. FIG. 5 shows an example determination of a precipitation accumulation value for accumulated snow at 15:10.DETAILED DESCRIPTIONFor a better understanding of the principles of the disclosure, reference will now be made to the embodiments illustrated in the drawings and described in the following written specification. It should be understood that no limitation of the scope of the disclosure is intended thereby. It is further understood that the present disclosure includes any changes and modifications to the illustrated embodiments and includes other applications of the principles of the disclosure as would normally occur to one skilled in the art to which this disclosure pertains.In-vehicle Information SystemFIG. 1 illustrates a system 100 that includes an in-vehicle information system 104 (which may also be referred to herein as a "graphical display system") that generates a graphical display of a 3D virtual environment including a precipitation plot that reflects current weather conditions at a real geographic location in a computationally efficient manner. The in-vehicle information system 104 includes a processor 108, a memory 120, a display 144, an optional positioning system 148, and an optional network device 152. Hardware embodiments of the in-vehicle information system 104 include, but are not limited to, personal computer (PC) hardware, embedded system hardware including embedded computing hardware for use in an automobile, and mobile electronic devices including smart phone and tablet computing devices. In the system 100, a wireless data network 108 connects the in-vehicle information system 104 to one or more online weather information sources 190.In the in-vehicle information system 104, the processor 108 includes one or more integrated circuits that implement the functionality of a central processing unit (CPU) 112 and a graphics processing unit (GPU) 116. In some embodiments, the processor is a system on a chip (SoC) that integrates the functionality of the CPU 112 and the GPU 116, and optionally other components including the memory 120, the network device 152, and the positioning system 148, into a single integrated device, while in other embodiments, the CPU 112 and the GPU 116 are interconnected via a peripheral interconnect device, such as a PCI Express or other suitable peripheral data connection. In one embodiment, CPU 112 is a commercially available central processing device that implements an instruction set, such as one of the x86, ARM, power, or MIPS instruction set families. The GPU includes hardware and software for displaying 2D as well as 3D graphics. In one embodiment, processor 108 executes software drivers and includes hardware functionality in GPU 116 to generate 3D graphics using, for example, the OpenGL, OpenGL ES, Vulcan, or Direct3D graphics application programming interfaces (APIs). For example, the GPU 116 includes one or more hardware execution units that implement fragment shaders, vertex shaders, and optionally geometry shaders, tessellation shaders, and compute shaders for processing and displaying 2D and 3D graphics. During operation, the CPU 112 and the GPU 116 execute stored programmed instructions 140 that are fetched from the memory 120. In one embodiment, the stored programmed instructions 140 include operating system software and one or more software application programs that generate 3D graphics, including mapping and navigation applications. The stored programmed instructions 140 include software that controls the operation of the CPU 112 and the GPU 116 to generate graphical precipitation representations based on the embodiments described herein.The processor 108 executes the mapping and navigation program and generates a 3D graphical output with graphical transformations that intuitively represent map features and weather conditions including precipitation in a geographic region outside the vehicle. The processor 108 is configured with software and hardware functionality by storing programmed instructions in one or more memories operatively connected to the processor 108, and by operatively connecting the hardware functionality to the processor and / or other electronic, electromechanical, or mechanical components to provide data from sensors or data sources, thereby enabling the processor to implement the processes and system embodiments discussed below.The memory 120 includes both a nonvolatile memory and a volatile memory. The non-volatile memory includes solid state memory such as NAND flash memory, magnetic and optical storage media, or any other suitable data storage device that maintains data stored when the in-vehicle information system 104 is deactivated or de-energized. The volatile memory includes static and dynamic random access memory (RAM) that stores software and data including graphics data and map feature data during operation of the in-vehicle information system 104. In some embodiments, GPU 116 and CPU 112 each have access to separate RAM devices (e.g., a variant of DDR SDRAM for CPU 112 and a variant of GDDR, HBM, or other RAM for GPU 116), while in other embodiments, CPU 112 and GPU 116 access a shared memory device. In addition to the programmed instructions 140, the memory 120 stores three-dimensional virtual environment graphics data 124. The graphics data 124 includes geometric models, textures, and other data that the processor 108 uses to generate three-dimensional graphics of a 3D virtual environment.The in-vehicle information system 104 includes an optional network device 152 configured to transmit and receive weather data from external computing systems, such as online weather information sources 190, via a data network 180. Examples of the network device 152 include wired network adapters such as Ethernet and Universal Serial Bus (USB) adapters and wireless network adapters such as wireless wide area network (WWAN) adapters, 802.11 or Bluetooth wireless local area network (WLAN) adapters.As shown in FIG. 1, the online weather information sources 190 include any online service that provides data to be accessed by the in-vehicle information system 104 via the data network 180. For example, online information sources 190 include live weather services that provide information about the weather in a geographic region around the vehicle, including cloud coverage, wind, temperature, precipitation, and road risk. Another online information source 190 is an online traffic service that generates reports of traffic volume, accidents, and other traffic information.The in-vehicle information system 104 includes an optional positioning system device 148 operatively connected to the processor 108. Examples of positioning systems include global positioning system (GPS) receivers that utilize one or more satellite navigation systems, radio triangulation receivers that identify a location of the in-vehicle information system 104 with respect to fixed wireless transmitters, and inertial navigation systems. During operation, the processor 108 executes mapping and navigation software applications that retrieve location information from the positioning system 148 to identify a geographic location of the in-vehicle information system 104 and adjust the display of the virtual environment to the location of the in-vehicle information system 104. In navigation applications, the processor 108 identifies the location and movement of the in-vehicle information system 104 for generating routes to selected destinations and displaying the routes in the 3D virtual environment.During operation, the processor 108 receives data corresponding to the environment around the vehicle from multiple sources. In the embodiment of FIG. 1, the sources include the vehicle sensors 170, online weather information sources 190, and the positioning system 148. Processor 108 indirectly uses some environmental data. For example, the positioning system 148 provides data about the location of the vehicle, and the processor 108 uses the position data as part of a query to an online information source 190 to identify weather conditions and traffic in the geographic region around the vehicle or in another geographic region along the route of the vehicle on which the vehicle will travel in the future.In the in-vehicle information system 104, the display 144 is either an integrated display device, such as an LCD or other display device, integrated into a housing of the in-vehicle information system 104, or the display 144 is an external display device operatively connected to the in-vehicle information system 104 via a wired or wireless interface to receive output signals from the processor 108 to generate a virtual 3D environment display. In an embodiment where the in-vehicle information system 104 is a computing device embedded in a vehicle, the display 144 is an LCD or other flat panel display located in the console of a vehicle, or the display 144 is a head-up display (HUD) or other projection display that displays the virtual 3D environment on a windshield or other display surface in the vehicle. Other embodiments of display devices include, for example, stereoscopic displays that form two different 2D images of a 3D virtual environment to simulate a true three-dimensional display of the virtual environment.In the in-vehicle information system 104, the vehicle sensors 170 include any device in the vehicle that generates digital data corresponding to the state of the vehicle or the environment around the vehicle that the processor 108 uses to adjust a visual representation of the static map features. Examples of sensors used in various vehicle configurations include, but are not limited to, cameras, light sensors, thermometers, hygrometers, motion detectors, speedometers, range finding sensors, and the like. In some embodiments, an in-vehicle clock is another sensor that senses the time of day around the vehicle. In some embodiments, the positioning system 148 or the network device 152 receives time data to adjust the clock and identify the position of the sun or the moon on the sky at different times when the vehicle is at different geographic locations. In the example of FIG. 1, the positioning system 148 also functions as a sensor to indicate the location and optionally the heading and speed of the vehicle. In some vehicles, additional sensor data may be provided indirectly from subsystems that perform other functions in the vehicle.Method for Efficiently Reproducing Accumulated PrecipitateVarious methods and processes for rendering accumulated precipitation or other similar weather effects are described below. In the description of the methods, statements that the method performs a certain task or function refer to a controller or general purpose processor executing programmed instructions stored on non-transitory computer readable storage media operatively connected to the controller or processor to manipulate data or operate one or more components in the in-vehicle information system 104 to perform the task or function. In particular, the processor 108, the CPU 112, and / or the GPU 116 above may be such a controller or processor, and the executed program instructions may be the programmed instructions 140 stored in the memory 120. Moreover, the steps of the methods may be performed in any possible chronological order, regardless of the order shown in the figures or the order in which the steps are described.FIG. 2 shows a method 200 for rendering accumulated precipitation or similar weather effects in a 3D virtual environment in a computationally efficient manner. In particular, as applied to the mapping and navigation application discussed above, the method 200 generates a graphical display of a virtual 3D environment including a representation of accumulated precipitation reflecting past and current weather conditions at a real geographic location around the vehicle and / or around the in-vehicle information system 104. The method 200 improves the operation of the in-vehicle information system 104 by allowing the processor 108 to execute a set of specific rules to efficiently reflect accumulated precipitation or other similar weather effects in a 3D virtual environment. Moreover, the method 200 is efficient enough to be used on embedded devices and mobile devices with relatively limited processing capabilities.As used herein, the term "rainfall" refers to rain, sneeze rain, freezing rain, snow, gray scale, hagel, and the like, as well as any mixture of the above-mentioned weather conditions. As used herein, the term "accumulated precipitation" or "precipitation coverage" refers to a time-elapsed accumulation of snowflakes, snow grains, gray scales, rain, frozen raindrops, hagle grains, or other forms of precipitation on the ground or on the surfaces of buildings, signs, or other objects in an environment.The method 200 begins with a step of receiving weather data corresponding to a geographic area, the weather data including a sequence of precipitation intensity values, each precipitation intensity value associated with a respective time stamp of a chronological sequence of time stamps (block 210). More particularly, with respect to the embodiments described in detail herein, the processor 108 is configured to operate the network device 152 to receive and / or retrieve weather data from the one or more online weather information sources 190 via the data network 180 corresponding to the geographic region around the vehicle and / or around the in-vehicle information system 104. The weather data includes precipitation information indicating, for example, whether precipitation is falling, and if so, a type of precipitation (e.g., rain, snow, gray scale, etc.) and the intensity of precipitation. In particular, the processor 108 is configured to at least receive and / or retrieve a sequence of discrete precipitation intensity values P associated with a corresponding chronological sequence of discrete time stamps T. As used herein, the term "rainfall intensity value" refers to any value indicative of the intensity, strength, or force of a rainfall weather condition (e.g., rain, snow, grey scale, etc.). In one example, the precipitation intensity values may include strings, such as "light", "medium", or "strong", that may be converted to numerical values (e.g., "light"=1, "medium"=2, and "strong"=3). In another example, the precipitation intensity values may include a number or percentage that may or may not be limited by a predetermined scale or range.FIG. 3 shows a data representation 300 including an example sequence of precipitation intensity values P 0 through P 9 associated with respective time stamps T 0 through T 9. The horizontal axis of data representation 300, labeled "time", indicates the value of time stamps T 0 through T 9. The vertical axis of data plot 300, labeled "Precipitation Strength," indicates the magnitude of precipitation intensity values P 0 through P 9. Exemplary values for the precipitation intensity values P 0 to P 9 may include P 0= 0, P 1= 0,2, P 2= 0,35, P 3= 0,6, P 4= 0,8, P 5= 0,67, P 6= 0,4, P 7= 0,22, P8=0 and P9=0. Example values for time stamps T 0 through T 9 may include T 0= 11:00 AM, T 1= 12:00 PM, T 2= 13:00 PM, T 3= 14:00 PM, T 4= 15:00 PM, T 5= 16:00 PM, T 6= 17:00 PM, T 7= 18:00 PM, T8=19:00 PM, and T9=20:00 PM.In at least one embodiment, precipitation intensity values P 0 through P 9 are each weighted precipitation intensity values that deviate from real precipitation intensity values received from online weather information source 190. In particular, the processor may have received the real precipitation intensity values P 0= 0,6, P 1= 0,8, P 2= 0,7, P 3= 0,8, P 4= 0,8, P 5= 0,9, P 6= 0,8, P 7= 0,9, P 8= 0,7 and P 9= 0,8. Next, the processor 108 multiplied the real precipitation intensity values with the weight values W 0= 0, W 1= 0,25, W 2= 0,5, W 3= 0,75, W 4= 0,1, W 5= 0,75, W 6= 0,5, W 7= 0,25, W 8= 0 and W 9= 0, thereby calculating the weighted precipitation intensity values P0=0, P1=0.2, P2=0.35, P3=0.6, P 4= 0,8, P 5= 0,67, P 6= 0,4, P 7= 0,22, P 8= 0 and P 9= 0 can be obtained. In at least one embodiment, weight values depend on the particular time t of interest, discussed in more detail below. In particular, in this example, the particular time of interest t is 15:10 PM. The real precipitation intensity values closest to the particular time of interest t (e.g., P 4) are weighted most heavily, and the real precipitation intensity values furthest from the particular time of interest t are weighted least heavily. In some embodiments, the weight values also depend on the accumulation buffer length, discussed in more detail below, or other factors, such as a precipitation type indicated by the weather data.Returning to FIG. 2, the method 200 continues with a step of calculating a first precipitation accumulation value based on the sequence of precipitation intensity values, the first precipitation accumulation value corresponding to a first time point (block 220). In particular, the processor 108 is configured to calculate a precipitation accumulation value Paccumulatorfor a particular time t of interest based on the sequence of precipitation intensity values P. The time point t of interest may be, for example, a current time or any time point in the past. As used herein, the term "precipitate accumulation value" refers to any value that indicates an amount or extent of accumulated precipitate. A precipitate accumulation value may be given in units such as inches or feet, but may be a scalar without unit.FIG. 4 shows an example method for implementing step 220 in which the precipitation accumulation value Paccumulationberingis calculated on the sequence of precipitation intensity values. It should be appreciated that the weather data provided by the online weather information source 190, including the sequence of precipitation intensity values, is generally discrete and cannot be used directly to reflect fully animated weather effects. Although interpolation may be used for some types of animations to generate data for the animation, no accumulation value for visual snow or wet accumulation effects may be calculated using simple interpolation. This example method of implementing step 220 enhances the operation of the in-vehicle information system 104 by allowing the processor 108 to execute a set of specific rules to efficiently calculate any accumulated precipitation at any time t, thereby allowing an accurate representation of accumulated precipitation to be rendered in a 3D virtual environment.The example method of implementing step 220 begins with a step of defining an accumulation buffer length (block 222). In particular, the processor 108 is configured to define an accumulation buffer length. In at least one embodiment, accumulation buffer length is an integer set of samples L from sequence of precipitate intensity values P used to approximate an accumulated precipitate. In another embodiment, the accumulation buffer length is a time window W that extends rearward from the particular time t of interest and includes samples used to approximate an accumulated precipitate.In one embodiment, the processor 108 is configured to define the accumulation buffer length depending on a type of precipitation indicated by the weather data. For example, if the weather data indicates that it is cutting, an accumulation buffer length may be defined as 4 samples or a window of 4 hours. Similarly, if the weather data indicates that it is raining, an accumulation buffer length may be defined as 2 samples or a window of 2 hours. Generally, the accumulation buffer length, as well as the weight values W 0 through W 9 discussed above, are defined depending on an expected evaporation and / or absorption rate of the accumulated precipitate, and may also be defined depending on other factors (e.g., humidity, temperature, type of terrain) that affect the evaporation and / or absorption rate.With continuing reference to FIG. 4, the method of implementing step 220 continues with a step of identifying a subset of precipitation intensity values from the sequence of precipitation intensity values, wherein a number of precipitation intensity values in the subset of precipitation intensity values is equal to the accumulation buffer length, wherein the precipitation intensity values in the subset of precipitation intensity values are those associated with the latest respective time stamps compared to the first time (block 224). In particular, the processor 108 is configured to identify a subset of precipitation intensity values from the sequence of precipitation intensity values P based on the defined accumulation buffer length and based on the time t of interest. In particular, in the case where the accumulation buffer length is defined as an integer set of samples L, the processor 108 is configured to identify the L latest precipitate intensity values from the time t of interest as the subset. Similarly, in the case where the accumulation buffer length is defined as a time window W, the processor 108 is configured to identify precipitation intensity values falling within the time window W extending rearward from the particular time t of interest as the subset.FIG. 5 shows a data diagram 500 illustrating an example determination of a precipitation accumulation value Paccumulationfor accumulated snow at 15:10. In the example, the buffer accumulation buffer length was defined as L=4 (e.g., four samples). Therefore, the rainfall intensity values P 1, P 2, P 3 and P 4, which are latest with respect to the time t=15:10 PM, are identified as the subset of rainfall intensity values to be used for calculating the rainfall accumulation value Paccumulation.Returning to FIG. 4, the method of implementing step 220 continues with a step of calculating a respective buffer value for each precipitate intensity value in the subset of precipitate intensity values (block 226). In particular, the processor 108 is configured to calculate a respective buffer value for each precipitation intensity value P i in the subset of precipitation intensity values P.In at least one embodiment, processor 108 is configured to calculate all but one of buffer values as an area of a triangle, as shown in FIG. 5. Specifically, in the example of FIG. 5, a buffer value B 1 for the precipitation intensity value P 1 is calculated as the area of a triangle A formed by the points (T 1, P 1), ( T 0, 0) and (T 2, 0). Similarly, a buffer value B 2 for the precipitation intensity value P 2 is calculated as the area of a triangle B formed by the points (T 2, P 2), ( T 1, 0) and (T 3, 0). Finally, a buffer value B 3 for the precipitation intensity value P 3 is calculated as the area of a triangle C formed by the points (T 3, P 3), ( T 2, 0) and (T 4, 0). Using the known formula for the area of a triangle, the computation of each respective buffer value B i can be generalized in the form of the following equation: where i is the index for the respective precipitation intensity value for which the buffer value is computed, P i is the respective precipitation intensity value, T i+1 is the time stamp associated with the next precipitation intensity value P i+1 and T i-1 is the time stamp associated with the previous precipitation intensity value P i-1.However, the processor 108 is configured to calculate the buffer value for the latest precipitation intensity value using a modified formulation. Specifically, in the example of FIG. 5, a buffer value B 4 for the precipitation intensity value P 4 is calculated as the area of a quadrangle D formed by the points (T 4, P 4), ( T 3, 0), ( t, 0) and (t, P t). The area of a quadrangle D may be calculated as a difference between the area of a triangle formed by the points (T 4, P 4), ( T 3, 0) and (T 5, 0) and the area of a triangle formed by the points (t, Pt), (t, 0) and (T 5, 0). Using the known formula for the faces of a triangle, the calculation of the latest buffer value B i can be generalized in the form of the following equation: where i is the index for the respective precipitation intensity value for which the buffer value is calculated, P i is the respective precipitation intensity value, T i+1 is the time stamp associated with the next precipitation intensity value P i+1 T i-1 is the time stamp associated with the previous precipitation intensity value P i-1 and t is the particular time of interest.Since the value P t is unknown, the processor 108 is configured to calculate the value P t as a value on a line connecting the points (T 4, P 4) and (T 5, 0) at time t. In particular, the calculation of the value P t may be generalized in terms of the following equation: where i is the index for the respective precipitate intensity value for which the buffer value is calculated, P i is the respective precipitate intensity value, T i is the time stamp associated with the respective precipitate intensity value, T i+1 is the time stamp associated with the next precipitate intensity value P i+1 and t is the particular time of interest.By combining equations (2) and (3), the buffer value B 4 for the precipitation intensity value P 4( i.e., the area of a quadrangle D), can be calculated from the generalized equation: where i is the index for the respective precipitation intensity value for which the buffer value is calculated, P i is the respective precipitation intensity value, T i is the time stamp associated with the respective precipitation intensity value, T i+1 is the time stamp associated with the next precipitation intensity value P i+1 and T i-1 is the time stamp, which is associated with the previous precipitation intensity value P i-1 and t is the particular time of interest.Moreover, in the case where the time point of interest t is the current time, the actual value for the time stamp T i+1 may be unknown. In one embodiment, the processor 108 is configured to receive and use predicted values for (T i+1, P i+1) from the online weather information sources 190. However, if necessary, the processor 108 may be configured to extrapolate a value for the timestamp T i+1 by assuming a consistent sampling time for the sequence of precipitation intensity values, such that the timestamp T i+1 may be determined from the following equation: where i is the index for the respective precipitation intensity value for which the buffer value is calculated, T i is the timestamp associated with the respective precipitation intensity value, and T i-1 is the timestamp associated with the previous precipitation intensity value P i-1.Returning to FIG. 4, the method of performing step 220 continues with a step of calculating the first precipitate accumulation value as a sum of the respective buffer values for all precipitate intensity values in the subset of precipitate intensity values (block 228). In particular, the processor 108 is configured to calculate the precipitation accumulation value Paccumulatoryas a sum of the respective buffer values B i for all precipitation intensity values in the identified subset of precipitation intensity values P. Referring to the example of FIG. 5, the precipitate accumulation value Paccumulatoryis calculated as a sum of the buffer values B 1, B 2, B 3 and B 4 corresponding to the areas of A, B, C and D.Finally, returning to FIG. 2, the method 200 continues with a step of rendering a representation of accumulated precipitation in the 3D virtual environment, wherein the representation of accumulated precipitation depends on the first precipitation accumulation value (block 230). In particular, the processor 108, or more particularly the GPU 116, is configured to render a representation of accumulated precipitation in a 3D virtual environment. The processor 108 is configured to differentially render the accumulated precipitation representation depending on the precipitation accumulation value Paccumulation. For example, if the weather data indicates that it has been cutting for a period of time and the precipitation accumulation value Paccumulationis relatively high, the processor 108 may render the virtual 3D environment representing significant snow accumulation on the ground and other objects in the virtual 3D environment. Similarly, if the weather data indicates that it is recently raining and the precipitation accumulation value Paccumulation relative is low, the processor 108 may render the virtual 3D environment representing a small amount of moisture on the ground and other objects in the virtual 3D environment. In at least one embodiment, processor 108 is further configured to render additional features of 3D virtual environment, such as roads, buildings, landmarks, etc.Although the disclosure has been illustrated and described in detail in the drawings and in the foregoing description, the same should be considered as illustrative and not restrictive in nature. It is to be understood that only the preferred embodiments have been presented and that all changes, modifications, and other applications that are within the spirit of the disclosure are intended to be protected.
Claims
A method for generating graphics of a virtual three-dimensional (3D) environment, comprising: receiving, with a processor (108), weather data corresponding to a geographic area, the weather data including a sequence of precipitation intensity values, each precipitation intensity value associated with a respective time stamp of a chronological sequence of time stamps; calculating, with the processor (108), a first precipitation accumulation value based on the sequence of precipitation intensity values, the first precipitation accumulation value corresponding to a first time; and reproducing, with the processor (108), a representation of accumulated precipitation in the virtual 3D environment, the representation of accumulated precipitation depending on the first precipitation accumulation value, wherein calculating the first precipitation accumulation value further comprises: defining an accumulation buffer length; identifying a subset of precipitation intensity values from the sequence of precipitation intensity values, wherein a number of precipitation intensity values in the subset of precipitation intensity values is equal to the accumulation buffer length, wherein the precipitation intensity values in the subset of precipitation intensity values are those associated with the latest respective time stamps of the chronological sequence of time stamps compared to the first time; calculating the first precipitation accumulation value based on the subset of precipitation intensity values; calculating a respective buffer value for each precipitation intensity value in the subset of precipitation intensity values; calculating the first precipitation accumulation value as a sum of the respective buffer values for all precipitation intensity values in the subset of precipitation intensity values, wherein calculating the respective buffer value for each precipitation intensity value in the subset of precipitation intensity values further comprises: calculating at least some of the respective buffer values as an area of a respective triangle having a height corresponding to the respective precipitation intensity value and a base corresponding to a difference of the time stamp associated with the next precipitation intensity value in the sequence of precipitation intensity values and the time stamp associated with the previous precipitation intensity value in the sequence of precipitation intensity values; or calculating, for a latest precipitation intensity value in the subset of precipitation intensity values, the most recent respective time stamp of the chronological sequence of time stamps relative to the first time is assigned to the respective buffer value as: B i=1 2×P i×(T i+1-T i-1)-1 2×P i×T i+1-t T i+1-T i×(T i+1-t), wherein B i is the respective buffer value, P i is the respective precipitation intensity value, T i is the time stamp assigned to the respective precipitation intensity value, T i+1 is the time stamp associated with the next precipitation intensity value in the sequence of precipitation intensity values, and T i-1 is the time stamp associated with the previous precipitation intensity value in the sequence of precipitation intensity values; For each precipitation intensity value in the subset of precipitation intensity values, except for the latest precipitation intensity value, calculate the respective buffer value as: B i=1 2×P i×(T i+1-T i-1), wherein B i is the respective buffer value, P i is the respective precipitation intensity value, T i+1 is the timestamp associated with the next precipitation intensity value in the sequence of precipitation intensity values, and T i-1 is the timestamp associated with the previous precipitation intensity value in the sequence of precipitation intensity values.The method of claim 1, wherein defining the accumulation buffer length further comprises: defining the accumulation buffer length depending on a type of precipitation indicated by the weather data.The method of claim 1, further comprising: weighting, prior to calculating the first precipitation accumulation value, each precipitation intensity value in the sequence of precipitation intensity values depending on at least one of (i) the first time and (ii) a type of precipitation indicated by the weather data.A system (104) for generating graphics of a virtual three-dimensional (3D) environment, comprising: a display device (144) configured to display the graphics of the virtual 3D environment; a network device (152); a memory (120) configured to store programmed instructions (140); and a processor (108) operatively connected to the display device (144), the wireless network device (152), and the memory (120), the processor (108) configured to execute the programmed instructions (140) to: receive weather data corresponding to a geographic area via the network device (152), the weather data including a sequence of precipitation intensity values, each precipitation intensity value associated with a respective timestamp of a chronological sequence of timestamps; calculating a first precipitation accumulation value based on the sequence of precipitation intensity values, the first precipitation accumulation value corresponding to a first time; rendering a representation of accumulated precipitation in the virtual 3D environment, the representation of accumulated precipitation depending on the first precipitation accumulation value; defining an accumulation buffer length; identifying a subset of precipitation intensity values from the sequence of precipitation intensity values, wherein a number of precipitation intensity values in the subset of precipitation intensity values is equal to the accumulation buffer length, wherein the precipitation intensity values in the subset of precipitation intensity values are those associated with the latest respective time stamps of the chronological sequence of time stamps compared to the first time; calculating the first precipitation accumulation value based on the subset of precipitation intensity values; calculating a respective buffer value for each precipitation intensity value in the subset of precipitation intensity values; calculating the first precipitation accumulation value as a sum of the respective buffer values for all precipitation intensity values in the subset of precipitation intensity values; and calculating at least some of the respective buffer values as an area of a respective triangle having a height corresponding to the respective precipitation intensity value and a base corresponding to a difference of the time stamp associated with the next precipitation intensity value in the sequence of precipitation intensity values and the time stamp associated with the previous precipitation intensity value in the sequence of precipitation intensity values; or calculating, for a latest precipitation intensity value in the subset of precipitation intensity values associated with the latest respective time stamp of the chronological sequence of time stamps relative to the first time, of the respective buffer value as: B i=1 2×P i×(T i+1-T i-1)-1 2×P i×T i+1-t T i+1-T i×(T i+1-t), wherein B i is the respective buffer value, P i is the respective precipitation intensity value, T i is the time stamp associated with the respective precipitation intensity value, T i+1 is the time stamp associated with the next precipitation intensity value in the sequence of precipitation intensity values, and T i-1 is the time stamp associated with the previous precipitation intensity value in the sequence of precipitation intensity values; For each precipitation intensity value in the subset of precipitation intensity values, except for the latest precipitation intensity value, calculate the respective buffer value as: B i=1 2×P i×(T i+1-T i-1), wherein B i is the respective buffer value, P i is the respective precipitation intensity value, T i+1 is the timestamp associated with the next precipitation intensity value in the sequence of precipitation intensity values, and T i-1 is the timestamp associated with the previous precipitation intensity value in the sequence of precipitation intensity values.The system (104) of claim 4, wherein the processor (108) is further configured to execute the programmed instructions (140) to: define the accumulation buffer length depending on a precipitation type indicated by the weather data.The system (104) of claim 4, wherein the processor (108) is further configured to execute the programmed instructions (140) to: weight, prior to calculating the first precipitation accumulation value, each precipitation intensity value in the sequence of precipitation intensity values depending on at least one of (i) the first time and (ii) a type of precipitation indicated by the weather data.
Citation Information
Patent Citations
Time and Environment Aware Graphical Displays for Driver Information and Driver Assistance Systems
US20140277939A1
Real-Time Precipitation Forecasting System
US20170371074A1
3-D weather display and weathercast system
US5583972A