METHOD FOR PROCESSING DATA SETS CONTAINING AT LEAST A TIME SERIES, DEVICE FOR EXECUTION, VEHICLE AND COMPUTER PROGRAM
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- VOLKSWAGEN AG
- Filing Date
- 2021-02-12
- Publication Date
- 2026-06-25
AI Technical Summary
Existing data compression methods for vehicles require significant computational resources and decompression efforts, which are not feasible in vehicles with limited processing power, and result in inefficient data analysis, especially for safety-critical applications and large datasets.
A data compression method involving rounding and decimation of time series data, allowing analysis without decompression, using a Binary Shift Compression (BISCO) algorithm that reduces data elements by comparing successive values and omitting identical ones, with adjustable compression levels.
Enables efficient data compression and analysis in vehicles with limited resources, reducing storage and bandwidth needs while maintaining the ability to analyze compressed data without decompression, thus optimizing computational efficiency and resource utilization.
Description
[0001] The invention relates to the technical field of data compression and data analysis. Increasingly, data is being collected in vehicles and transmitted to external data centers where data analysis can be performed. The invention further relates to a suitably designed device for data compression and / or data analysis, a vehicle equipped with such a device, and a suitably designed computer program.
[0002] With the development of newer technologies for individual transport, culminating in autonomous driving, it can be assumed that in the near future, the use of databases, improved vehicle sensors, etc., will necessitate the exchange of ever-increasing amounts of data between vehicles and between vehicles and data centers. This requires a massive expansion of communication networks, as vehicles will need to exchange more and more data with each other via vehicle-to-vehicle (V2V) communication, as well as with backend servers via vehicle-to-infrastructure (V2X) communication.
[0003] Vehicles are increasingly transmitting more data to the cloud. The available bandwidth for V2X communication is limited. Therefore, one approach to resolving this conflict is to compress the data within the vehicle and transmit only the compressed data to a backend server (in the cloud).
[0004] A well-known compression method used for this purpose is the ZIP method, which can be used to compress large datasets of any data without loss.
[0005] A method for lossless payload compression is known from US patent 2018 / 253559 A1. Entropy coding, such as Huffman coding and LZ77 (according to Lempel-Ziv 77), is used for payload compression. In one variant, selected portions of the payload are encrypted within a data block using AES encryption (according to the Advanced Encryption Standard) with Huffman-coded information specifying the beginning and end of encryption boundaries. This allows for the selective application of a higher level of security, as required in certain applications.
[0006] The known solutions have a disadvantage. This was recognized within the scope of the invention. The problem with the known solutions is that while they allow for the compression of raw data, thus requiring less storage space and less bandwidth from the communication system for transmission, analyzing the compressed data is costly. This is because it requires a decompression step before analysis is possible. With large datasets, such as those collected over the entire operating life of vehicles, machines, and systems, this can lead to considerable additional effort. If the data analysis is performed on the backend server, sufficient computing power is often available to handle the decompression alongside the server's other tasks.Nevertheless, this also incurs costs. The situation is different, however, if the analysis itself is to be carried out in the vehicle or machine. For applications in vehicles or machines, it is necessary, for example, to monitor the wear condition of consumable parts during operation. Here, the driver or machine operator should be provided with up-to-the-minute information regarding the need for maintenance. This is absolutely essential for safety-relevant consumable parts. However, vehicles use electronic control units equipped with microcontrollers whose processing power is limited. As mass-produced items, these control units are also subject to increased price pressure.Furthermore, the control units operate under real-time conditions, meaning that certain data analysis methods, whose computational effort depends at least linearly on the number of data points to be analyzed, are either not feasible or only executable with additional computing power. Another limitation could arise from the necessity of transmitting the data via an internal communication network within the vehicle, whose bandwidth is limited. In addition, the reconstructed data is, at best, the same size as the raw data. In the case of 1-bit status signals (e.g., driver's door open / closed) transmitted via a vehicle communication network such as the CAN bus (Controller Area Network), analysis using the "Double, 64-bit" floating-point data type results in a memory increase by a factor of 64 compared to the original size, or an increase in memory by a factor of 8 compared to an "8-bit Unsigned Integer" representation.Implementing and executing a compression algorithm in a vehicle's control unit requires permanent memory for the program code, volatile memory for variables during runtime, and processing time. Some compression methods are unsuitable for use in a control unit due to their resource requirements, or they can only compress a limited number of signals.
[0007] But reducing the effort required for data analysis is also becoming increasingly important for cloud applications. In automotive applications, raw data is compressed in the vehicle and then decompressed on the backend server. Large-scale vehicle manufacturers generate enormous amounts of data that must be stored and processed in the backend. When several million vehicles are produced annually, it's easy to imagine the immense data centers that would be needed to store and process all this data. Here, too, limiting the required effort can be advantageous.
[0008] From US Patent 9,520,894 B1, a signal coding and compression system with dynamic subsampling is known. The system includes an coding module configured to decimate a first digital signal, thereby generating a second digital signal. Each signal is then DPCM-encoded. Using decision logic, a property of the original signal is used to determine which encoded signal should be provided as the output signal.
[0009] Furthermore, methods are known from EP 2 645 318 A1 and EP 3 522 577 A1 in which successive recorded data values are only permanently stored or transmitted to a central computer if a difference to the last stored / transmitted data value is greater than a specified threshold.
[0010] Therefore, there is a need to develop an improved compression algorithm that requires fewer resources and is variably adjustable with regard to the compression ratio and loss rate, while reducing the effort required for decompression and data analysis. This is the object of the invention.
[0011] This problem is solved by a method for processing data sets containing at least one time series according to claim 1, a device for carrying out the method according to claims 9 and 12, a vehicle according to claim 11 and a computer program according to claim 13.
[0012] The dependent claims include advantageous further developments and improvements of the invention in accordance with the following description of these measures.
[0013] In a general embodiment, the invention relates to a method for processing data sets containing at least one time series using a computing unit, wherein the time series contains the data recorded at specific times and the respective time of data acquisition as data elements. The time of data acquisition can be represented, for example, as an absolute time, as a delta time relative to an absolute time, or as an index in the case of temporally equidistant data recording. According to the method, these data sets are compressed in a particular way, in which a rounding of the recorded data is performed followed by a decimation of the data elements of the data set contained in the at least one time series, and the decimated time series of the data set is stored in the computing unit and / or transferred to an external computing device.The data compression method offers the advantages known from other established data compression methods, such as reducing the amount of data to be stored or transmitted. In addition, this method offers the distinct advantage of enabling data analysis of the compressed dataset without the need for a decompression algorithm. This represents a significant benefit, as the data often needs to be analyzed not only for archiving purposes, but also for maintenance, to detect safety-critical developments, to adapt functions to the user's personal behavior and preferences, potentially for warranty purposes, and to determine accident sequences.
[0014] Specifically, one solution according to the invention for the decimation step consists of removing data elements whose rounded date does not differ from the rounded date of the immediate predecessor. This allows high compression rates of >10 to be achieved for many time series where the recorded measurement value hardly changes.
[0015] A common use case is where the time series corresponds to a series of measurements, with the measurements being recorded as integers or floating-point numbers. In this case, it is advantageous for the compression method to perform a conversion step to integers before applying the compression method.
[0016] For this purpose, it is advantageous if, in order to convert to integer numbers, the decimal places of the floating-point numbers of the data elements of the time series are converted into integer decimal numbers by shifting the decimal point, which are then converted into integer numbers in a further step.
[0017] Additionally, it is advantageous to run an algorithm that rounds the integers before decimating the data elements of the time series. The degree of rounding can be specified, which significantly impacts the compression ratio.
[0018] In a particularly advantageous variant, the rounding operation is prepared according to the following procedure: rnd x = AND BSR int x , nbit -1 , 1 where rnd(x) corresponds to rounding information for the integer selected for a subsequent rounding operation, where x corresponds to a data element index, where int(x) corresponds to the integer, where nbit-1 specifies which bit position of the integer is to be selected for calculating the rounding information rnd(x) according to the stated rule, and where AND corresponds to a logical AND operation on the entry at the bit position with the integer value "1" determined by right-shifting (BSR function) by the number nbit-1 bit positions of the integer int(x). The compression level can be set by selecting the parameter nbit.
[0019] The actual rounding operation can advantageously be carried out according to the following procedure: comp x = BSR int x , nbit + rnd x , where comp(x) corresponds to the resolution-reduced portion of the integer int(x) resulting from rounding, and nbit specifies how many bits the integer should be shifted to the right before the addition with the rounding information rnd(x) is performed. By choosing the parameter nbit = 0, the compression algorithm can be set to lossless compression. In this case, the rounding information rnd(x) does not need to be calculated, as it is zero.
[0020] After these preparatory steps, the data elements of the dataset can be reduced. It is advantageous to compare the rounded values comp(x) and comp(x+1) and then omit the data element of a subsequent identical value comp(x+1) from the time series. This allows recurring data elements to be eliminated from the dataset, resulting in high compression.
[0021] The compression algorithm can also be executed directly in a floating-point representation of the data. In this case, the floating-point number is divided by the smallest distinguishable increment in the reduced representation, then rounded, and then multiplied again by the smallest distinguishable increment in the reduced representation. Generally, the execution time is shorter in the integer representation than in the floating-point representation, so the integer implementation is preferred.
[0022] In another implementation variant, the previously described compression algorithm can be executed in time windows. These time windows can, for example, have a fixed length of 1 second or be started or ended by external events such as "opening the vehicle" or "locking the vehicle." Typically, a new window starts immediately after the previous window closes. A constant signal is then, for example, contained in each window with a data element.
[0023] The window length defines both the maximum achievable compression rate and the frequency with which a compressed data set is transmitted. Longer windows result in a higher maximum compression rate.
[0024] The compressed data set can be stored in the computing unit where the compression was performed. If the data analysis is to be carried out at an external location, a further advantageous feature of the method is to transfer the compressed data set from the device where the data set was compressed to an external computing facility.
[0025] This can be advantageously achieved using a public cellular mobile communication system or another mobile communication system. With the introduction of the 5G mobile communication system, an increasing number of vehicles, machines, and systems are being connected to the internet via this system. As an example of another mobile communication system, the WLAN p system, also specified for V2V and V2X communication according to the IEEE 802.11p standard, is mentioned.
[0026] For data analysis, it is particularly advantageous to perform the analysis of the decimated time series of the data set without having to decompress the data set.
[0027] This can be done for a box plot analysis of the compressed data set by sorting the decimated time series according to the ascending size of the resolution-reduced comp(x) information and selecting the key values of the box plot analysis, in particular minimum value, maximum value, median value, lower quartile and upper quartile, taking into account the time difference to the next data element from the compressed data set.
[0028] It is possible for data compression and data analysis to be performed in a common device or in separate devices.
[0029] For a device to carry out the method, it is advantageous that the device has at least one processing unit designed to perform measurement data acquisition from at least one connected sensor at successive time points or to receive the measurement data acquired by the sensor. Additionally, it is advantageous if the processing unit is designed to create a time series with the measurement data and their associated measurement times, and furthermore to perform at least one rounding step followed by a decimalization of the measurement data elements of the data set contained in the at least one time series. Particularly in vehicles, it is possible that a sensor is not directly connected to a device for carrying out the method, but rather transmits the data regularly to a device for carrying out the method via a communication bus, e.g., a CAN bus. This can also be done in other application areas.Another example is automation technology, where sensors can be connected to a fieldbus system. These don't necessarily have to be sensor readings. Time series can also be generated using computational results, which are archived as data in memory cells within the processing units – essentially any digitally available information in the vehicle. The calculated average fuel consumption of the vehicle is mentioned as an example.
[0030] It is further advantageous if the computing unit or another computing unit of the device is designed to perform a box-plot analysis of the compressed data set by sorting the decimated time series according to the ascending size of the resolution-reduced comp(x) information and selecting the key values of the box-plot analysis, in particular the minimum value, maximum value, median value, lower quartile, and upper quartile, from the compressed data set, taking into account the time difference to the next data element. In this variant of the invention, both data compression and data analysis take place in the device. A vehicle can advantageously be equipped with such devices.
[0031] Another embodiment of the invention consists of a vehicle that has a device according to the invention.
[0032] In addition, a further variant of the invention comprises a device for carrying out the method, which includes at least one computing unit and is designed to receive the compressed data set. The computing unit is designed to perform an analysis of the decimated time series of the data set without having to decompress the data set. This device would preferably be used with a backend server to which the compressed data sets are transferred.
[0033] The computing device can be designed to perform a box plot analysis of the compressed data set by sorting the decimated time series according to the ascending size of the resolution-reduced comp(x) information and selecting the key values of the box plot analysis, in particular minimum value, maximum value, median value, lower quartile and upper quartile, taking into account the time difference to the next data element from the compressed data set.
[0034] Finally, another embodiment of the invention consists of a computer program designed to perform, when executed in a computing unit, the steps of the method for processing data sets containing at least one time series according to one of the methods according to the invention.
[0035] An embodiment of the invention is shown in the drawings and is explained in more detail below with reference to the figures.
[0036] They show: Fig. 1 The principle of vehicle-to-vehicle communication via mobile network and connection to the internet; Fig. 2 The structure of a data set with a time series and the individual data elements; Fig. 3 The classic process of compressing a data set with transmission to a backend server connected via the internet, and subsequent analysis of the data set after decompression; Fig. 4 The holistic approach to the process of compressing a data set, which enables subsequent analysis of the data set after transmission to the backend server without the need for prior decompression; Fig. 5 A block diagram of the on-board electronics of a vehicle; Fig. 6 The raw data of a time series of an exemplary data set and its conversion into integers; Fig. 7 A graphical representation of the raw data of the time series of the example of Fig. 6 Fig. 8 shows a table with the results for calculating the rounding information for the example dataset using the holistic approach, as well as the rounding results; Fig. 9 shows the process of decimating the rounded data elements of the time series of the example. Fig. 6 Fig. 10 shows the compressed data set after decimating the rounded data elements of the time series in tabular form; Fig. 11 shows a graphical representation of the data remaining in the data set of the time series example of Fig. 6 after compression; Fig. 12 a graphical representation of the compressed data of the time series of the example of Fig. 6 compared to the raw data; Fig. 13 an example of a data analysis in the form of a box plot analysis applied to the original dataset; Fig. 14 a graphical representation of the box plot analysis applied to the raw data of the time series of the example of Fig. 6 Fig. 15 shows an example of a data analysis in the form of a box plot analysis applied to the compressed dataset; and Fig. 16 shows a graphical representation of the box plot analysis of the time series of the example applied to the compressed data. Fig. 6 .
[0037] The present description illustrates the principles of the inventive disclosure. It is therefore understood that those skilled in the art will be able to design various arrangements which, although not explicitly described here, embody principles of the inventive disclosure and which are also intended to be protected in their scope.
[0038] Fig. 1 Figure 1 shows a system architecture for vehicle communication via mobile communications. The vehicles are designated with the reference number 10. Passenger cars are shown. However, any other type of vehicle could also be considered. Examples of other vehicles include: buses, commercial vehicles, especially trucks, agricultural machinery, construction machinery, recreational vehicles, motorcycles, bicycles, scooters, wheelchairs, rail vehicles, etc. The invention could generally be used in land vehicles, rail vehicles, watercraft, and aircraft. Furthermore, the application of the invention is not limited to vehicles. It could be used in virtually all areas of electrical engineering. Other examples include machines and systems, small electrical appliances, consumer electronics, white goods, medical devices, etc. This list is not exhaustive.Connecting devices to the "cloud" is penetrating ever more areas. A typical keyword for this is the term "Internet of Things" (IoT), which represents a trend in technology where more and more devices in industry, commerce, and households are being connected to the internet through the use of newer communication technologies such as 5G.
[0039] The vehicles 10 are equipped with an on-board communication module 160 with a corresponding antenna unit, so that the vehicle can participate in the various types of vehicle-to-vehicle (V2V) and vehicle-to-infrastructure (V2X) communication. Fig. 1 shows that vehicle 10 can communicate with the mobile phone base station 210 of a mobile phone provider.
[0040] Such a Base Station 210 can be an eNodeB base station of an LTE (Long Term Evolution) or 5G (5th Generation) mobile network operator. The Base Station 210 and its associated equipment are part of a mobile communications network with a multitude of mobile cells, each cell being served by a Base Station 210.
[0041] Base station 210 is typically positioned near a main road on which vehicles 10 travel. Additionally, each vehicle 10 is equipped with an on-board communication module 160. This on-board communication module 160 is an LTE communication module that allows the vehicle 10 to receive mobile data (downlink) and transmit such data upwards (uplink). V2V and V2X communication is also supported by the 5th generation of mobile communication systems. There, the corresponding radio interface is referred to as the PC5 interface. Regarding the LTE mobile communication system, the Evolved UMTS Terrestrial Radio Access Network E-UTRAN of LTE consists of several eNodeBs that provide the E-UTRA user layer (PDCP / RLC / MAC / PHY) and the control layer (RRC). The eNodeBs are interconnected via the so-called X2 interface.The eNodeBs are also connected to the EPC (Evolved Packet Core) 200 via the so-called S1 interface.
[0042] This general architecture shows Fig. 1 The diagram shows that the base station 210 is connected to the EPC 200 via the S1 interface, and the EPC 200 is connected to the Internet 300. A backend server 320, to which the vehicles can send and receive messages, is also connected to the Internet 300. The backend server 320 can be located in a data center belonging to the vehicle manufacturer or another mobility service provider, or in a data center belonging to a government agency, such as a traffic control center. Finally, a road infrastructure station 310 is also shown. This can be represented, for example, by a roadside unit, often referred to in technical jargon as a "Road Side Unit" (RSU) 310. For the sake of simplicity, it is assumed that all components have been assigned an Internet address, typically in the form of an IPv6 address, so that the packets carrying messages between the components can be routed accordingly.The various interfaces mentioned are standardized. Reference is made to the relevant specifications of the mobile communication system, which have been published.
[0043] Fig. 2 This example shows the structure of a dataset containing a time series. A time series can correspond to a series of measurements. For example, measured values of a physical quantity, such as temperature, pressure, humidity, speed, duration, rotational speed, acceleration, length, voltage, resistance, luminous intensity, chemical composition, etc., are recorded sequentially over time. In the simplest case, the time series consists of a number of data elements, each containing a measured value and the corresponding time of recording. Often, the recording times will follow each other at equidistant intervals. However, time series also arise when the measured values are recorded only sporadically or periodically with a variable period. Fig. 2 is a time series with n data elements. These are the
[0044] Data elements of the time series are denoted by DP(0) to DP(n-1). Each individual data element contains the recorded measurement value as an integer int(0) to int(n-1) and the corresponding timestamp t(0) to t(n-1), which indicates the respective measurement time. A characteristic of the time series is that the data elements are sorted according to the measurement time. Typically, it is even required that the measurement times be sorted in a strictly monotonically increasing order. This requirement can be expressed by the relation t(x) < t(x+1). Sensors do not always deliver their recorded measurements as integers. Often, the sensors generate analog signals, which are converted into digital signals, for example, via an analog input of a control unit or microcontroller. An analog-to-digital converter is usually used for this purpose, which can also be part of the microcontroller.Conversion tables are often used to convert the data into physical quantities. However, physical quantities are often signed and expressed in specific units, resulting in rational or real numbers that are typically stored as floating-point numbers in computers. These numbers are usually represented as "single precision" or "double precision," with single-precision floating-point numbers stored in 32 bits and double-precision floating-point numbers in 64 bits. It is always possible to convert floating-point numbers to integers and vice versa. The following conversion formula for converting integers to floating-point numbers is used in this context: fp x = int x * f + o , where fp(x) corresponds to the floating-point number, where f corresponds to a multiplication factor and o to an offset value.
[0045] In Fig. 3 The diagram illustrates the classic process of data acquisition and analysis in the vehicle, as well as data transmission, storage, and analysis in the cloud. The upper section, P10, contains the processing steps within the vehicle (10). The middle section, T200, describes the step of transmitting the compressed data sets via mobile network to the backend server (320). The lower section, P320, contains the processing steps in the cloud. First, the steps within the vehicle (10) are explained. Measurement data acquisition is not shown separately. The first step, S10, involves storing the data in the memory of a control unit. In step S12, the data set is read from the memory and fed to a data compression algorithm. This algorithm is executed in step S14. As mentioned earlier, a well-known ZIP compression algorithm can be used in step S14.In step S16, the compressed data set is forwarded for transmission via mobile network to the corresponding on-board communication module 160 of the vehicle 10.
[0046] There are applications that require an evaluation of the stored data sets in vehicle 10. Moving box plot data analysis is given as an example. A box plot is intended to quickly convey an impression of the range in which the data lies and how it is distributed within that range. Therefore, all values of the so-called five-point summary are determined: the median, the lower quartile (25th percentile), the upper quartile (75th percentile), and the two extreme values, minimum and maximum. These values can be very effectively represented graphically as a number line with the entries for the five values of the five-point summary. The box plot representation can be suitable for quickly assessing the condition of wear parts. The moving box plot analysis takes place in vehicle 10 in step S18.
[0047] Another data analysis method that can be used in vehicles involves brake / drift analysis. This is a type of trend analysis. It allows for the detection of gradual wear. For example, consider the wear of the clutch in vehicle 10. This involves measuring the process from engaging first gear in a manual transmission vehicle until the vehicle starts rolling. The required travel of the clutch pedal to engage the clutch at the moment of starting changes gradually as the clutch wears. The brake / drift analysis takes place in step S20. In step S22, the results of the data analysis are transmitted to the on-board diagnostics unit, which alerts the driver to the wear condition of vehicle 10, for example, by displaying a warning message on a display unit or prompting the driver to visit a workshop immediately.
[0048] It is important to emphasize that the data analysis processes in the vehicle operate according to the classical method using uncompressed data. Therefore, in Fig. 3 It has been shown that the uncompressed raw data is forwarded to data analysis steps S18 and S22 after step S12. Data analysis in the vehicle requires the processing of all raw data.
[0049] After step S16, the compressed datasets are transmitted via mobile network to the data center with backend server 320. There, in step S26, the datasets are archived in compressed form. However, for data analysis, it is necessary to convert the datasets back into a processable format (the original form). A decompression algorithm is used for this purpose in step S28. The reconstructed dataset is made available for subsequent data analysis in step S30. It is also optionally stored in an archive for later use, as indicated by step S32. As already explained in the section on vehicle-side data analysis, the moving box plot analysis in step S34 and the break / drift analysis in step S36 can also be performed in the data center. The results are made available to a cloud diagnostic unit, see step S38.This unit can ensure that corresponding warning messages are sent back via mobile network to vehicle 10 from which the data originates. Further analysis methods that can be performed in the data center are also presented. These include similarity analysis, which takes place in step S40, and pattern recognition in step S42. For further details on the various analysis methods, please refer to the literature. Additional algorithms for data analysis can be applied in step S44.
[0050] In comparison to the classic form of data compression, data archiving and data analysis, the Fig. 4 The process of data acquisition and data analysis in the vehicle and in the cloud according to the improved method of the invention. The same reference numerals denote the same steps and components as in Fig. 3 A key difference lies in the method used to compress the time series datasets. A compression algorithm is employed that allows for data analysis of the compressed data. Details of this new compression algorithm will be explained in more detail later. This algorithm now permits data analysis using the compressed data. Fig. 4 It is therefore shown that the compressed data in step S16 is forwarded to the analysis step S18. This significantly reduces the amount of data that needs to be forwarded and analyzed, as will be explained in more detail below. This is equally advantageous for archiving and analyzing the data in the cloud. Fig. 4 This shows that steps S28 to S32 can be omitted. Data analysis is performed in steps S34 to S42 using the highly compressed data. It may occur that a data analysis step cannot be performed with the highly compressed data. For this, a decompression algorithm is provided, which is performed in step S46. This is possible because the highly compressed compression algorithm is also designed to be reversible, allowing data recovery. The compression algorithm can be configured to compress without loss or with loss. If it is configured with loss, the original data cannot be recovered without a loss of accuracy.
[0051] Fig. 5 Figure 10 schematically shows a block diagram of the vehicle's electronics, which includes the vehicle's infotainment system. In vehicles, especially passenger cars, an infotainment system refers to the integration of the car radio, navigation system, hands-free system, driver assistance systems, and other functions into a central control unit. The term "infotainment" is a portmanteau word, combining the words "information" and "entertainment." The infotainment system is operated by a touch-sensitive display unit 30, a processing unit 40, an input unit 50, and a memory unit 60. The display unit 30 comprises both a display area for showing variable graphical information and a user interface (touch-sensitive layer) located above the display area for entering commands. It can be designed as an LCD touchscreen display.
[0052] The screen 30 can be easily viewed and operated by both the driver and a passenger of the vehicle 10. Below the screen 30, mechanical controls, such as buttons, rotary knobs, or combinations thereof, like push-button rotary controls, can be arranged in an input unit 50. Typically, steering wheel controls for parts of the infotainment system are also possible. This unit is not shown separately but is considered part of the input unit 50.
[0053] The display unit 30 is connected to the computing unit 40 via a data line 70. The data line can be designed according to the LVDS standard, corresponding to Low Voltage Differential Signaling. The display unit 30 receives control data from the computing unit 40 via data line 70 to control the display area of the touchscreen 30. Control data for the commands entered from the touchscreen 30 to the computing unit 40 is also transmitted via data line 70. The input unit 50 is connected to the computing unit 40 via data line 90.
[0054] The storage unit 60 is connected to the computing unit 40 via a data line 80. The storage unit 60 contains a pictogram directory and / or symbol directory with pictograms and / or symbols for the possible display of additional information.
[0055] Additionally, a projection unit 20 is connected to the computing unit 40 via the data line 70, which can be designed in the form of a head-up display and serves to project "augmented reality" information into the driver's field of vision.
[0056] The remaining components of the infotainment system—camera 150, radio 140, navigation system 130, telephone 120, and instrument cluster 110—are connected to the infotainment system control unit via data bus 100. The high-speed variant of the CAN bus according to ISO standard 11898-2 is suitable for data bus 100. Alternatively, a bus system based on Ethernet technology, such as BroadR-Reach, could be used. Bus systems that transmit data via fiber optic cables are also possible. Examples include the MOST bus (Media Oriented System Transport) and the D2B bus (Domestic Digital Bus). A vehicle measurement unit 170 is also connected to data bus 100. This vehicle measurement unit 170 is used to detect the vehicle's movement, particularly its acceleration. It can be configured as a conventional IMU (Inertial Measurement Unit).An IMU unit typically contains accelerometers and yaw rate sensors such as a laser gyroscope or a magnetometer gyroscope. The vehicle measurement unit 170 can be considered part of the vehicle 10's odometry system. This also includes the wheel speed sensors.
[0057] It is also mentioned here that camera 150 can be configured as a conventional video camera. In this case, it records 25 full frames per second, which corresponds to 50 half frames per second in interlaced recording mode. Alternatively, a special camera can be used that records more frames per second to increase the accuracy of object detection for faster-moving objects, or that records light in a spectrum other than the visible spectrum. Several cameras can be used for environmental monitoring. In addition, radar or lidar sensors 152 and 154 are also used supplementarily or alternatively to perform or extend environmental monitoring. For wireless communication both internally and externally, vehicle 10 is equipped with communication module 160, as already mentioned.
[0058] Reference number 181 designates an engine control unit. Reference number 182 corresponds to an ESP control unit, and reference number 183 designates a transmission control unit. Other control units, such as an additional vehicle dynamics control unit (for vehicles with electrically adjustable dampers), an airbag control unit, etc., may be present in the vehicle. The networking of such control units, all of which belong to the powertrain category, is typically achieved using the CAN bus system (Controller Area Network) 104, which is standardized as an ISO standard, most commonly ISO 11898-1. Various sensors 171 to 173 in the vehicle, which are no longer intended to be connected solely to individual control units, are also designed to be connected to the bus system 104, with their sensor data being transmitted via the bus to the individual control units.Examples of sensors in motor vehicles include wheel speed sensors, steering angle sensors, acceleration sensors, yaw rate sensors, tire pressure sensors, distance sensors, knock sensors, air quality sensors, etc. Wheel speed sensors and steering angle sensors, in particular, are part of the vehicle's odometry system. The acceleration and yaw rate sensors can also be directly connected to the vehicle's measuring unit 170.
[0059] Reference number 144 designates an on-board diagnostic (OBD) interface. This interface is used to connect a diagnostic device when the vehicle is in a workshop. Fault data stored in the vehicle can be read via this interface. The on-board diagnostic interface 144 is connected to the gateway 142 via the communication bus 102. The gateway 142 facilitates the exchange of information between the various communication branches. It performs format conversion, for example, converting a message received in the format of bus system 100 into the format of bus system 104. A similar process occurs during transmission between the other bus systems of the vehicle's electronics.
[0060] The reference number 180 designates another control unit responsible for automated driving functions or one or more driver assistance systems. It enables the implementation of various driving modes for automated driving. A sufficiently powerful processing unit must be provided in control unit 180 to implement the desired driving mode.
[0061] The following considers the case where sensor 171, connected to CAN bus 104, acquires measured values and transmits them to gateway 142. The measured values are archived in the memory of gateway 142. An example of such a measurement series is shown in the Fig. 6 The data is shown in tabular form. However, this is a fictitious measurement series used to illustrate the principle of the compression method. The top row contains the index of the respective measured value. The measurements were taken at equidistant intervals of 10 ms. The second row contains the time t(x) when the respective measured value was recorded. The measurement series can be started depending on a specific event. The measured values were recorded between 0 and 80 ms after the event occurred. The fourth row contains the measured values fp(x) in the form of decimal numbers with two decimal places. These numbers are transmitted by sensor 171 as integers via CAN bus 104 to gateway 142. The measured values range from 0.0 to 0.08.
[0062] The Fig. 7 displays the measured values of the table in Fig. 6 The graph shows a graphical representation. The abscissa represents the respective measurement times, ranging from 0 to 80 ms. The ordinate represents the measured values fp(x), ranging from 0 to 0.08. The measurement points are marked with a cross symbol. The dashed line connecting the measurement points represents a step function.
[0063] The novel compression algorithm, which compresses the data, is processed by a computing unit in the Gateway 142. This algorithm is based on rounding the measured values by bit shifting. This operation also gives the algorithm its name, which is called the BISCO algorithm, short for "Binary Shift Compression".
[0064] Beforehand, the measured values are converted into integers if necessary. Signed values can be converted into signed integers. Unsigned values can be converted into unsigned integers. This conversion can also be performed in Gateway 142.
[0065] Many sensors already provide their measurements in integer format, so the conversion step can be omitted for these sensors. The compression algorithm then works with these integers.
[0066] The execution of the BISCO algorithm is given here in C++ programming language syntax and consists of 6 steps. 1. set index x = 0 2. calculate round information "rnd(x)": rnd(x) = int(x)>>(nbit-1) & 0x1 3. calculate compressed value "comp(x)" with lower accuracy - "nbit" right shift: comp x = int x ≫ nbit + rnd x 4. if "comp(x)" is EQUAL "last" AND x > 0: go to 6 5. remember index "x" for transmission. Set "last" to "comp(x)". 6. Increase x = x+1, go to step 2 and continue with next time "t(x+1)" and value "int(x+1)"
[0067] In the first step, the measurement index x is set to the initial value 0. In the second step, the rounding information rnd(x) is calculated, which is to be inserted at bit position nbit-1 of the integer int(x). This rounding information rnd(x) is calculated by shifting the integer int(x) to the right by the number nbit-1 places and performing a logical AND operation with the binary value "1". The parameter nbit determines the degree of rounding. This is equivalent to choosing the compression level for the compression algorithm. If nbit = 0 is selected, lossless compression is to be performed. In the third step, the compressed value is calculated. The integer int(x) is shifted to the right by nbit and added to the calculated rounding information rnd(x). The procedure of the rounding operation and the resulting rounded values comp(x) are shown in the table of Fig. 8 depicted. In the Fig. 8 In the case shown, nbit = 2 was set. In the second step, the integer is shifted one position (nbit-1 = 1) to the right. This position is found in the table of Fig. 8 The values are surrounded by a border and labeled rnd. The AND operation yields the rounding information values rnd(x), as shown in the third column of the table. Fig. 8 The third step involves adding the entry of the integer number, shifted two bit places to the right, with the rounding information rnd(x). The results comp(x) are shown in decimal form in the fourth column of the table. The fourth step involves decimating the elements of the measurement series. Data elements whose rounded date comp(x) does not differ from the rounded date comp(x-1) of their immediate predecessor are removed. The support values are decimal 0, decimal 1, and decimal 2. These are the values in the table where the rounded values comp(x) differ from the preceding values comp(x-1).
[0068] The progress of the compression algorithm in steps 4 to 6 is shown in the following table. Fig. 9 The fifth line, "last," specifies the support values. Only these values are retained in the compressed data set and either stored in vehicle 10 or forwarded to the on-board communication module 160 and from there to the backend server 320. The sixth line, "transmit," indicates with an "x" which data elements of the time series are retained and transmitted. The compressed time series is shown in the table of the Fig. 10 The fully compressed dataset for the compressed time series consists only of the lines t(c) and comp(c). For comparison, the floating-point numbers resulting from the rounded comp(x) values of the data elements are also entered in the line fp(c). The floating-point numbers fp(c) are calculated from comp(c) using the factor fc = 2^nbit*f, which corrects the shift by n bits. The factor fc is derived from the factor f mentioned above and the chosen nbit value. Metadata can optionally be transmitted when transferring the compressed dataset if it is not already evident from other information relevant to the application. The information for the factor f, or fc, and the offset value o, as well as the nbit value for converting the integers to floating-point numbers, could optionally be transmitted, along with, if necessary, the physical unit in which sensor 171 recorded the values.
[0069] The compression is thus achieved through the rounding step in conjunction with the decimation step. Only the support values in the time series remain.
[0070] A graphical representation of the values remaining in the compressed time series shows the Fig. 11 The remaining support values are represented by circle symbols.
[0071] A comparative representation with the original measured values and the support values of the compressed representation is in Fig. 12 shown. The original measurements, in Fig. 12 Called "Raw Signal" (RS), these values are represented by cross symbols. It is clearly recognizable that the remaining support values, in Fig. 12 Called "Compressed Signal" (CS), these do not always correspond to original measured values, but represent rounded values that may lie between original measured values.
[0072] Next, we will explain how it is possible to perform data analysis on these compressed datasets without having to decompress them beforehand. The example of box plot analysis will be used for this purpose.
[0073] First, the result of the box plot analysis is shown using the original measurement values as an example in the Fig. 13 shown. As previously described, the box plot analysis aims to identify the two extreme values of the measurement series, the median value, and the two quartile values Q25 and Q75. All five values are shown in the table of Fig. 13 described in the 3rd column.
[0074] In the Fig. 14 The five results of the box plot analysis [Box Plot Raw Signal (BPRS)] are shown graphically. The characteristic box plot analysis values are in Fig. 14 marked with diamond symbols.
[0075] The Fig. 15 The table shows how box plot analysis works with the compressed dataset. It is important to consider the time difference dt to the next data element, which can be easily calculated from the recorded measurement times in the compressed dataset. In box plot analysis, the time differences are first calculated and entered for each data element. Next, the data elements are sorted according to the ascending size of the compressed integer values comp(c). The minimum value is then found in the first row of this sorted time series. The analysis then determines which value (the lower quartile Q25) is found at 25% of the relative time. The total time covered by the measurements is 80 ms. This is derived from adding the values in the dt column. The Q25 value is therefore found at 20 ms in the first interval between the support values "0" and "1," as shown in the table. Fig. 14 The value "0" is present for a duration of 30 ms. Therefore, the Q25 value is also entered for the value comp(c) = 0. The median value is the value that is positioned exactly "in the middle" of the relative time, i.e., at the relative time 0.5, when the measured values are sorted by size. Therefore, the median corresponds to the value "1", see table in Fig. 15 The Q75 value is calculated in essentially the same way as the Q25 value. Therefore, in this example, it also corresponds to the value "1" because it is positioned at 75% of the total represented time (corresponding to 60 ms), which is still at the value "1" since the maximum value "2" is only reached after 70 ms. This corresponds to a relative time of 87.5% of the total time of 80 ms. The 75% value is therefore still at "1".
[0076] The Fig. 16 The figure shows the results obtained from the box plot analysis using the compressed dataset [Box Plot Compressed Signal (BPCS)]. The sorting and search effort is correspondingly reduced for the box plot analysis with the compressed datasets. For real-world measurement series, thousands of measurements can easily be recorded, so the effort required to analyze the raw datasets increases considerably, and therefore the sorting and search effort is significantly reduced with the compressed datasets.
[0077] It is also possible to perform other analysis methods on the compressed datasets. Examples include similarity analysis, pattern recognition, and trend analysis. This also includes simple algorithms that prepare the information for graphical representation, such as bar charts, pie charts, etc. Another example is histogram visualization, which can be used to examine, for example, the relative durations in different classes.
[0078] If an analysis method using compressed integers is not possible, a conversion to floating-point numbers can first be performed using the formula fp(c) = comp(c) * fc + o, as described above. If an analysis method requires temporally equidistant values and / or values of all necessary signals at every time t, this representation can be generated from the compressed representation (decompression). For this purpose, the last valid value for each signal at the desired time is preferably determined. In principle, these values could also be calculated using other algorithms (e.g., interpolation, for example, with linear regression or non-linear regression, for example, based on cubic spline functions, etc.).
[0079] Data analysis can also be performed by Gateway 142. If a critical deviation from a target value is detected, Gateway 142 can send a message to Computing Unit 40, which then generates a warning message that is displayed to the driver via Display Unit 30 and / or 20. However, data analysis can also be performed on the backend server 320, to which the compressed data sets have been transferred.
[0080] All examples mentioned herein, as well as conditional formulations, are to be understood without limitation to such specifically cited examples. For instance, it is recognized by experts that the block diagram shown here represents a conceptual view of an exemplary circuit arrangement. Similarly, it is understood that a flowchart, state transition diagram, pseudocode, and the like are different ways of representing processes that are essentially stored in computer-readable media and can thus be executed by a computer or processor.
[0081] It should be understood that the proposed method and associated apparatus can be implemented in various forms of hardware, software, firmware, specialized processors, or a combination thereof. Specialized processors can include application-specific integrated circuits (ASICs), reduced instruction set computers (RISCs), and / or field-programmable gate arrays (FPGAs). Preferably, the proposed method and apparatus are implemented as a combination of hardware and software. The software is preferably installed as an application program on a program storage device. Typically, this is a machine based on a computer platform that includes hardware such as one or more central processing units (CPUs), random access memory (RAM), and one or more input / output (I / O) interfaces. An operating system is also typically installed on the computer platform.The various processes and functions described here may be part of the application program or a part that is executed via the operating system.
[0082] The disclosure is not limited to the embodiments described herein. There is scope for various adaptations and modifications that a person skilled in the art would consider based on their expertise and in relation to the disclosure. The invention is defined by the claims. Bezugszeichenliste
[0083] 10 Vehicle 20 Head-Up Display 30 Touch-sensitive display unit 40 Processing unit 50 Input unit 60 Storage unit 70 Data line to display unit 80 Data line to storage unit 90 Data line to input unit 100 Data bus 102 Diagnostic bus 104 CAN bus 106 Ethernet bus 110 Instrument cluster 120 Telephone 130 Navigation system 140 Radio 142 Gateway 144 On-board diagnostic interface 150 Camera 160 Communication module 170 Vehicle measuring unit 171 Sensor 1 172 Sensor 2 173 Sensor 3 180 Control unit for automatic driving function 181 Engine control unit 182 ESP control unit 183 Transmission control unit 200 Evolved Packet Core 300 Internet 310 Road Side Unit 320 Backend server BCDA Data analysis with the BISCO-compressed data sets DP(0) - DP(n-1) data element DS data set int(0) - int(n-1) integer numbers P10 Process steps in the vehicle P320 Process steps at the backend server S10 Saving the raw data set S12 Reading the raw data set S14 Performing the compression algorithm S15 Performing the BISCO algorithmS16 Forward compressed dataset S18 Perform box plot analysis on the raw data S20 Perform break / drift analysis on the raw data S22 Issue warning messages S24 Transfer the compressed dataset to the cloud S26 Archive the compressed dataset S28 Perform the decompression algorithm S30 Forward the reconstructed dataset S32 Archive the reconstructed dataset S34 Perform box plot analysis S36 Perform break / drift analysis S38 Generate and transmit warning messages to the vehicle S40 Perform similarity analysis S42 Perform pattern recognition S44 Perform other analysis methods on reconstructed data S46 Perform the decompression algorithm S48 Forward the reconstructed dataset to other analysis methods t(0) - t(n-1) Time points T200 Transmit datasets via mobile network
Claims
1. Method for processing data sets that contain at least one time series using a computing unit, wherein the time series contains the data (int(0) - int(n-1)) captured at specific time points and the corresponding time point (t(0) - t(n-1)) of the data capture as data elements (DP(0) - DP(n-1)), wherein a step of rounding the captured data (int(0) - int(n-1)) is performed with a subsequent decimation of the data elements (DP(0) - DP(n-1)) of the data set (DS) that are contained in the at least one time series, and the decimated time series of the data set (DS) is stored in the computing unit and / or transmitted to an external computing means, and wherein the decimation step includes examining the change in the rounded data of the data elements (DP(0) - DP(n-1)) of the time series and removing those data elements (DP(x)) where the rounded values are equal to the rounded values of the respective temporally directly adjacent predecessor data element (DP(x-1)).
2. Method according to claim 1, wherein the time series corresponds to a series of measurement values, wherein the measurement values are captured as integers or are captured as floating-point numbers and converted into integers (int(0) - int(n-1)).
3. Method according to claim 2, wherein, for the conversion of the floating-point numbers of the data elements (DP(0) - DP(n-1)) of the time series into integers (int(0) - int(n-1)), an offset "o" is subtracted and the result of the subtraction is divided by a factor "f".
4. Method according to claim 3, wherein, in preparation for decimating the data elements (DP(0) - DP(n-1)) of the time series, an algorithm is performed which is based on rounding the integers (int(0) - int(n-1)).
5. Method according to claim 4, wherein the rounding operation is prepared according to the following rule: rnd x = AND BSR int x , nbit − 1 , 1 where rnd(x) corresponds to rounding information of the integer that is selected for a subsequent rounding operation, where x corresponds to a data element index, where int(x) corresponds to the integer, where nbit-1 specifies which bit position of the integer should be selected for calculating the rounding information rnd(x) according to the stated rule, where AND corresponds to a logical AND operation of the entry at the bit position with the integer value "1" that is determined by a right shift (BSR function) of the integer int(x) by nbit-1 bit positions.
6. Method according to claim 5, wherein the rounding operation is performed according to the following rule: comp x = BSR int x , nbit + rnd x , where comp(x) corresponds to the resolution-reduced part of the integer int(x) resulting from rounding, where nbit corresponds to the specification by how many bit positions the integer should be shifted to the right before the addition with the rounding information rnd(x) is performed.
7. Method according to claim 6, wherein, for the step of decimating the time series data elements (DP(0) - DP(n-1)), the rounded values comp(x) and comp(x-1) are compared with one another and a subsequent identical value comp(x) is omitted from the time series.
8. Method according to claim 6 or 7, wherein a box plot analysis of the compressed data set (DS) is performed by sorting the decimated time series according to ascending size of the resolution-reduced comp(x) information and determining the characteristic values of the box plot analysis, in particular a minimum value, maximum value, median value, lower quartile and upper quartile, taking into account the time difference to the respective next data element (DP(0) - DP(n-1)) from the compressed data set (DS).
9. Device for carrying out the method according to any of the preceding claims, comprising at least one computing unit (142) configured to perform measurement value acquisition from at least one connected sensor at successive time points or to receive the measurement values captured by the sensor (171, 172, 173), wherein the computing unit (142) is configured to form a time series using the measurement values and associated measurement time points, and wherein the computing unit (142) is configured to perform at least the step of rounding with a subsequent decimation of the data elements (DP(0) - DP(n-1)) of the data set (DS) that are contained in the at least one time series and to store the decimated time series of the data set (DS) in the computing unit and / or to transmit it to an external computing means, wherein the decimation step includes examining the change in the rounded data of the data elements (DP(0) - DP(n-1)) of the time series and removing those data elements (DP(x)) where the rounded values are equal to the rounded values of the respective temporally directly adjacent predecessor data element (DP(x-1)).
10. Device according to claim 9, wherein the computing means (142) or a further computing means (40) is configured to perform a box plot analysis of the compressed data set (DS) by sorting the decimated time series according to ascending size of the resolution-reduced comp(x) information and determining the characteristic values of the box plot analysis, in particular the minimum value, maximum value, median value, lower quartile and upper quartile, taking into account the time difference to the respective next data element (DP(0) - DP(n-1)) from the compressed data set (DS).
11. Vehicle characterized in that the vehicle (10) comprises a device according to either claim 9 or claim 10.
12. Device for carrying out the method according to claim 8, comprising at least one computing means (320) configured to receive the compressed data set (DS), characterized in that the computing means (320) is configured to perform a box plot analysis of the compressed data set (DS) by sorting the decimated time series according to ascending size of the resolution-reduced comp(x) information and determining the characteristic values of the box plot analysis, in particular the minimum value, maximum value, median value, lower quartile and upper quartile, taking into account the time difference to the respective next data element (DP(0) - DP(n-1)) from the compressed data set (DS).
13. Computer program characterized in that, when run in a computing unit (142), the computer program is configured to perform the steps of the method for processing data sets (DS) containing at least one time series according to any of claims 1 to 8.