Method for processing data using a data processing network including a plurality of data processing modules, data processing module, and data processing network

The method addresses latency and reproducibility issues in data processing for autonomous driving by combining data-driven and time-driven execution with pipeline stages, achieving lower latency and improved predictability in data processing networks.

JP7771382B2Active Publication Date: 2025-11-17ROBERT BOSCH GMBH
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024523213
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-10-18
Filing Date
2022-09-28
Publication Date
2025-11-17
Estimated Expiration
2042-09-28

AI Technical Summary

Technical Problem

Existing data processing methods in driver assistance and automated driving systems face challenges in achieving high performance with reproducible data processing, particularly in multi-core systems, leading to unpredictable runtime fluctuations and latency issues.

Method used

A data processing method that combines data-driven and time-driven execution approaches by aggregating data processing elements into modules, using pipeline stages to manage input and output data flow, and employing stimuli to control execution, ensuring reproducibility and reduced latency.

Benefits of technology

The method enables lower latency and improved reproducibility, allowing for precise recalculation and safer operation in autonomous driving systems by controlling data flow at a higher structural level, reducing the number of system states and enhancing predictability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007771382000001
    Figure 0007771382000001
  • Figure 0007771382000002
    Figure 0007771382000002
  • Figure 0007771382000003
    Figure 0007771382000003
Patent Text Reader

Abstract

A method for processing data, in particular for processing sensor data (3) in a vehicle (1), using a data processing network (4) comprising a plurality of data processing modules (5) each comprising at least one data processing element (6), wherein each data processing element (6) is adapted to a defined data processing task for processing data (2), and each data processing module (5) takes data (2) from at least one data source (13) and / or output data (8) of another data processing module (5) as input data (7) and generates output data (8), which are network output data (14) of the data processing network (4) and / or input data (7) of another data processing module (5).
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] A system for driver assistance or automated driving typically consists of many individual software units that can be represented graphically in terms of data flow. These software units (often called runnables, nodes, or data processing elements) are characterized by the amount of input data that is processed and from which a certain amount of output data is produced. [Background technology]

[0002] Such a graph of a system of data processing elements visualizes a static view into the data flow through the system. Various software units perform actions based on the sensor data by systematically building complex data processing networks that are used to process the sensor data, such as control tasks within the context of autonomous driving operations of a vehicle. Data processing in a data processing network typically involves multiple interdependent data processing steps or tasks that are executed using data processing elements.

[0003] In such data processing networks, the execution or initiation of a data processing task is typically governed by a corresponding condition, which may include a stimuli such as a time step or the arrival of data. The control flow that governs the execution of the data processing elements is typically derived from the data flow.

[0004] There is a data-driven approach in which the execution of data processing tasks or data processing elements corresponds to a data flow. Furthermore, there are techniques that use time-driven execution of data processing tasks or elements, which have recently been enhanced by the concept of worst-case execution time (longest possible execution time).

[0005] In a strictly data-driven approach, the execution of a data processing task or data processing element is triggered by the arrival of a data packet. The delivery of a data packet in the execution of a data processing element can lead to the immediate execution of dependent data processing elements in the case of the corresponding graph. Even multiple parallel executions of data processing elements are possible if a new data packet arrives while one data processing element is still executing. Such systems have low latency but a large number of possible states. Summary of the Invention [Problem to be solved by the invention]

[0006] Against this background, we describe a data processing method that aims to achieve high performance while still allowing for reproducible data processing, in particular allowing multiple parallel executions of data processing elements, while still allowing a controllable or observable number of possible states. [Means for solving the problem]

[0007] We now describe a method for processing data using a data processing network comprising a plurality of data processing modules each comprising at least one data processing element, in particular a method for processing sensor data in a vehicle, wherein each data processing element is adapted to a defined data processing task for processing data, and each data processing module takes as input data data from at least one data source and / or output data of another data processing module and generates output data which are further network output data of the data processing network and / or input data of another data processing module, wherein the method comprises, for at least one data processing module: a) receiving at least one set of input data for performing a data processing task in at least one data processing element of each data processing module; b) receiving a stimulus to activate at least one data processing element of the data processing module and assigning a pipeline stage to the at least one data processing element; c) upon receiving the set of input data in step a) and the stimulus in step b), activating a pipeline stage of at least one data processing element of the data processing module to perform a data processing task for which the data processing element is adapted using each input data to generate output data; d) providing the output data for further data processing and / or as network output data.

[0008] This method solves the problem that predictability and reproducibility are extremely difficult to achieve with conventional methods. This makes it difficult to implement safety measures such as software lockstep, where the same software runs simultaneously on two microprocessors. It is also difficult to recalculate the recorded driving situation as faithfully as possible, since other runtime behaviors and therefore potentially other outcomes must be taken into account.

[0009] The method described here is based on the fact that a number of data processing elements of a data processing network are respectively aggregated into so-called data processing modules, thereby forming an additional, higher-level structure of the data processing network, at which structural level the input and output data of each of the individual data processing elements in the module are aggregated and the data flow is regulated or controlled at this level by the data processing network.

[0010] In the automotive sector, where control technology accounts for a large proportion, time-sliced ​​execution has always prevailed (e.g., tasks of 10 ms, 20 ms, 100 ms). Further problems arise, especially when multi-core systems are used as hardware for executing data processing using such data processing networks. This leads to runtime fluctuations, particularly in multi-core systems, among the data processing elements of the data processing network. These runtime fluctuations make it difficult or even impossible to assign the output data of one data processing element as input data for another. This predictability can sometimes be improved again, for example, by using the concept of the longest possible execution / processing time. However, this concept reduces the possibility of fully utilizing the hardware capabilities (of a multi-core system). The hardware must be rather large in size.

[0011] In particular, the use of highly complex driver assistance systems or automated driving significantly increases the amount of sensor data that must be processed. However, the reaction times required for such systems are comparable to or even shorter than those for traditional driver assistance applications. This means that more and more computationally intensive calculations must be performed in a comparable amount of time in a longer processing chain. As a result, the transitions between individual time slices in the entire chain add additional latency, resulting in latency that is unacceptable for existing time-driven approaches.

[0012] The presented method allows combining a data-driven execution approach with the results of time-driven execution of data processing elements. This allows the operation of a data processing network with lower latency (better performance) than in a purely time-driven system and with better reproducibility than in a strictly data-driven system. This results in a system that meets the high latency requirements of systems for autonomous driving while simultaneously enabling precise reproducibility of execution and recalculation in software lockstep. For step b), appropriate stimuli can be defined that govern the execution of data processing in step c). In this case, the input data received in step a) can be utilized. Step d) then provides output data for subsequent processing steps. If the current data processing module is the last data processing module in the data processing network, the data can also be referred to as network output data or system output data. In this case, this data is, for example, simultaneously input data for a control unit, which processes or considers this data for a specific application.

[0013] The described method allows both time-driven and data-driven execution of data processing tasks. The original start of data processing occurs when a stimulus is received in step b). Data is more or less visible to the data processing elements upon the arrival of the stimulus. Thus, time-coincident data structures are moved together between data processing modules. The provision of data for data processing elements is done using data processing modules provided in a higher-level structure. The structure of the higher-level data processing modules, and the fact that data is provided at this structure level, significantly reduces the number of system states in the overall data processing network.

[0014] It is possible that when a stimulus for activating the data processing element is received in step b), there is input data or new input data (which has not been present since the current data processing task was last processed). In that case, the method can be adapted to wait until the next stimulus is received, so that the data processing task is not newly executed. In this embodiment of the method, an error output can also be provided, for example at a central location.

[0015] In step b), before the execution of a data processing task, a pipeline stage is assigned to each data processing element, in which the data processing task is executed using the input data intended for that task. A pipeline stage is like a kind of execution body for the data processing task, and comprises, for example, a memory area reserved on the microprocessor and possibly also a computing power reserved on the microprocessor. Preferably, there is a certain number of pipeline stages for each data processing element, in which the data processing tasks can be executed in parallel (with overlapping in time, but possibly with staggered start and end times). The number of pipeline stages indicates the degree of parallelism possible.

[0016] Preferably, the allocation of a pipeline stage is only performed when there is also a free pipeline stage where no data processing task is currently being performed. If stimuli are received repeatedly in rapid succession such that no free (already completed) pipeline stages are available, then preferably a wait or postponement of the start of the data processing task is performed.

[0017] The use of pipeline stages is particularly useful for obtaining up-to-date output data as early as possible during computationally intensive data processing tasks, since a new execution of a data processing task can already begin in one pipeline stage while the execution of a previously started data processing task in another pipeline stage has not yet finished.

[0018] In this connection, it is also particularly advantageous to perform steps a) to d) multiple times in a repeated manner, such that the data processing tasks in step c) are performed in parallel and staggered with respect to one another in multiple pipeline stages.

[0019] Particularly preferably, after step d), e) A step of providing a validation data set consisting of a set of input data, stimuli, and / or output data is performed to validate the performance of at least one data processing task using at least one data processing element.

[0020] Preferably, the validation data set additionally comprises at least one time information, which allows time information regarding the time of the stimulation and / or the processing of at least one data processing task.

[0021] Such time information can be obtained, for example, by recording the start and end of execution of data processing tasks, so that the processed input data and the generated output data can be represented on a common logical timeline, enabling calculations for validation of the described method.

[0022] A data processing module that processes the output data of another data processing module as input data can start processing when a stimulus occurs as a trigger, thus avoiding additional waiting time for the start of the time slice of the receiving data processing module due to the worst-case execution time compared to a time-driven approach.

[0023] The method described here ensures reproducibility of the performance of individual data processing tasks, since the information about the input data processed at each time is reproducible. In the presented method, the data processing module always has a fixed view of the world or the input data to be processed during its execution (during the implementation of step c). The input data does not change during the execution of the method. This is achieved by collecting the incoming input data in step a). The data can be automatically forwarded in controlled logical time. In order to process the output data of a data processing module by other data processing modules consistently with respect to its execution, the output data is preferably collected as well.

[0024] Preferably, at least one timer is used to generate the stimuli used in step b), the timer defining a time pattern for regularly repeating the performance of the data processing task using the data processing element.

[0025] This timer may, for example, be a corresponding component on the hardware on which the data processing network is operated, which outputs, at regular intervals for each data processing module, a timer signal that constitutes a stimulus and triggers the execution of the method.

[0026] Alternatively, preferably, at least one availability signal indicating availability of data is used to generate the stimuli used in step b), which may for example have been caused by a previous execution of the described method in another data processing module.

[0027] Particularly preferably, the stimulus is constituted by a combination of a timer and an availability signal, whereby the data processing module is made ready to react to the timer whenever new data is indicated via the availability signal, and data processing in the data processing element of the data processing module takes place only if both the timer and the (at least one) availability signal indicate that data processing should start (step c)).

[0028] Particularly preferably, step a) is implemented using an input data reception module of the data processing module, which has an input storage device for intermediate storage of not yet complete input data and which performs a completeness check of the set of input data.

[0029] In this connection, it is particularly preferred that the input storage device of the input data receiving module has a plurality of input stages for storing the input data, and that a change of input stage is made between reception of a plurality of different input data so that the sequence of the most recently received input data is available in the input data receiving module, and that the at least one set of input data is defined by accessing the input data stored in the input storage device as a result of receiving the stimulus in step b).

[0030] The access can occur when a stimulus is received in step b). With the arrival of the stimulus, a view of the input data is formed, defining the set of input data to be processed in the respective pipeline stage. This set of input data can also be stored in parallel, so that the execution of data processing tasks using the data processing elements can be tracked.

[0031] Various modes of operation are possible with the input stage of the input storage device. When a stimulus arrives, only the most recent input data in the sequence of last received input data that has not yet been provided to the data processing task can always be processed. It is also possible for (individual) input data in the sequence to be processed multiple times, so that at any one time the data processing task is performed on a sliding window of input data (e.g., N sets of input data going back).

[0032] Also preferably, the at least one data processing element is adapted to generate the output data by processing the most recently received string of input data together as a set of input data.

[0033] Preferably, the input stage is addressable via an input stage index, which is activated and changed by the receipt of a stimulus in step b).

[0034] The input stage index is incremented, for example, each time a stimulus is received. Alternatively, step d) is preferably carried out by means of an output data providing module, which has an output storage device in which intermediate storage of the not yet complete output data takes place.

[0035] In this connection, it is particularly advantageous if the output storage device of the output data providing module has a plurality of output stages for storing the sets of output data. Therefore, preferably, the data processing module has special gates (input data receiving module = input gate, output data providing module = output gate) to perform the data processing task.

[0036] The controller can control the flow of data between the data processing modules through these gates. If the controller synchronizes the start and end of execution of the data processing modules with the forwarding of data through the gates, it can control which data processing modules are executed at what time and with what data. The aforementioned stimuli are used to determine the start of the data processing modules.

[0037] In a variant implementation, the output data provided in step d) are at least partly used as input data for re-executing steps a) to d) (and possibly also step e)) using the same data processing module.

[0038] This represents a type of feedback that allows a data processing module to process historical data based on previous executions of the data processing module, providing a type of memory capability in the data processing network.

[0039] If there is feedback within the computational process of the data processing module, the data path is configured so that this data path is realized via the current input data receiving module and the current output data receiving module of the data processing module.

[0040] Preferably, the output data provided in step d) comprises partial data quantities, which partial data quantities are generated by a plurality of different data processing elements of the data processing module during the performance of the data processing task, and the providing of the output data in step d) only occurs once all partial data quantities that make up the output data are available.

[0041] Partial data amounts arise, for example, because data processing tasks of different data processing elements within a data processing module take different lengths of time. By collecting partial data amounts until the output data is completely available, and by providing all partial data amounts simultaneously, it becomes much easier to track when and which data was available during data processing using the data processing network.

[0042] Also preferably, in step d) an additionally available signal is generated, based on which it is possible to recognize that the output data is provided for further processing. As already mentioned above, such available signals can be used as stimuli for further implementation of the described method.

[0043] Particularly preferably, during step c), Optionally, a step of interrupting the execution of the data processing task in one execution entity and starting step c) anew with different input data when an interrupt signal is received is performed.

[0044] Such an approach is particularly worthy of consideration when the number of available pipeline stages has been exhausted, or when all pipeline stages are being used to execute a data processing task, but new input data has arrived and processing this new input data is deemed more important than completing the current execution of the data processing task in the pipeline stage.

[0045] Alternatively, preferably during the method, for further processing at a later time, the set of input data received in step a), the stimulus received in step b), the output data provided in step d), A permanent recording of at least one of the information of the available signal provided in step d) is performed.

[0046] Particularly preferably, during recording time information is additionally stored, which allows the temporal allocation of the execution of the method to a timeline. Such records can be made in an additional debug data storage device, for example, to subsequently perform debug tasks that can potentially investigate malfunctions in individual data processing elements. Such records can also be used in a completed system in use, thereby making it possible, in particular, to recognize hardware-induced malfunctions in the execution of data processing tasks through post-mortem verification and to perform corrective tasks accordingly.

[0047] Also described herein is a data processing module for a data processing network for implementing the described method, the data processing module having an input data receiving module to which an input storage device is assigned, and an output data providing module to which an output storage device is assigned, and further having at least one data processing element for performing a data processing task based on input data in the input storage device and for generating output data to be stored in the output storage device.

[0048] Particularly advantageously, at least the input or output storage device has several stages for storing the sets of input or output data. Additionally, a data processing network including a plurality of such data processing modules is described.

[0049] The above description of the method is also transferable and applicable to the data processing module and the data processing network. The method is explained in more detail below with reference to the drawings. [Brief explanation of the drawings]

[0050] [Figure 1] 1 is a diagram of a vehicle in which the described data processing network is used and in which the described method is applied; [Figure 2] FIG. 1 is a diagram of a data processing module for implementing the described method. [Figure 3] 1 is a flowchart of the execution of data processing tasks in different pipeline stages. [Figure 4] FIG. 2 is another diagram of a data processing module for implementing the described method. [Figure 5] 1 is a diagram of the types of data processing using the described method, represented on a timeline. [Figure 6] FIG. 10 is another form of diagram of data processing using the described method, represented on a timeline. [Figure 7] FIG. 10 is yet another form of diagram of data processing using the described method, represented on a timeline. DETAILED DESCRIPTION OF THE INVENTION

[0051] In Figure 1, a vehicle 1 is represented diagrammatically. The vehicle 1 is in particular a road vehicle, for example a passenger car or a goods vehicle. The vehicle 1 comprises sensors 23 for acquiring information, for example ambient data from the surroundings of the vehicle 1, which can be used by various driver assistance systems. Such systems may be, for example, active or passive safety systems, or may also be systems for autonomous (or partially autonomous) driving operations. Such systems are represented in Figure 1 as a control unit 20.

[0052] In order for the control unit 20 to be able to process the data of the sensors 23, this data must be prepared. For this purpose, the vehicle 1 has a data processing network 4. The sensors 23 constitute data sources 13 for the data processing network 4, which provide sensor data 3 to this data processing network 4. The control unit 20 constitutes an output data receiver 21 for the data processing network 4, which receives network output data 14 of this data processing network 4.

[0053] The data processing network 4 comprises a plurality of data processing modules 5, each of which comprises one or more data processing elements 6. It is shown here that the individual data processing elements 6 can each exist in parallel in a plurality of pipeline stages 28, so that data processing tasks using the data processing elements 6 can be executed in parallel / overlapping with one another. The data processing network 4 with the data processing modules 5 and data processing elements 6 is preferably realized on hardware 25, which in particular has a data store 27 in which the data processing network 4 can store data 2, and which can further provide various other hardware functions for the data processing network 4, such as timers 10.

[0054] 2 shows a possible embodiment of a data processing module 5 for the described data processing network 4. The described method is implemented in each case at the level of each individual data processing module 5. Each data processing module 5 comprises an input data receiving module 15 with an input storage device 16 for receiving input data 7, an output data providing module 17 with an output storage device 18 for providing output data 8, and a data processing element structure 26 with data processing elements 6 for processing the input data 7 to the output data 8. The input data receiving module 15 may comprise an interface for receiving a stimulus 9, which may initiate data processing using the data processing elements 6. The output data providing module 17 may have an interface for outputting an available signal 12 when data processing using the data processing elements 6 has finished and the output data 8 is available.

[0055] Steps a) and b) of the described method relate to receiving input data 7 and are primarily performed using an input data receiving module 15. Steps d) and e) of the described method relate to providing output data 8 and are primarily performed by an output data providing module 17. The actual data processing takes place in step c) in the data processing elements 6 that make up the data processing element structure 26 of the current data processing module 5.

[0056] The implementation of the pipeline stages 28 already shown in FIG. 1 will now be described in some more detail. The pipeline stages 28 preferably relate only to the data processing elements 6 of the data processing module 5. All pipeline stages 28 preferably access a common input data receiving module 15 and a common output data providing module 17. The input stores 16 of the input data receiving modules 15 and the output stores 18 of the output data providing modules 17 preferably each comprise a plurality of input stages 29 and output stages 30, which are addressable via an input stage index 32 or an output stage index 33, respectively. During the execution of a data processing task in the data processing elements 6 of a given pipeline stage 28, a sequence 31 of input data 7 is accessed in each case, thereby defining a set of input data 7 for processing the respective data processing task. The sequence 31 of input data 7 constituting the set of input data 7 can be displaced with each arrival of a stimulus. In one embodiment, this sequence 31 has a fixed length. In another embodiment, this sequence always corresponds only to the most recently arrived input data 7 (since the execution of the data processing task in a given pipeline stage was last started).

[0057] FIG. 2 also shows (purely diagrammatically) the possibility of an interrupt signal leading to the interruption of the execution of data processing in the pipeline stage (28). The representation of the method on a timeline 24 in FIG. 3 can be used to explain the advantage of executing the method in a pipeline stage 28, in terms of the earlier availability of output data as a result of using the pipeline stage 28. The top of FIG. 3 shows the regularly repeated arrival of input data 7 from sensors 23 or other data sources 13. Below this, the execution of data processing tasks based on each other in two data processing modules 5.1 and 5.2 or in data processing elements 6.1 and 6.2 contained in these modules, respectively, is shown. By executing both data processing tasks multiple times in parallel, output data 8 can be provided even earlier. This is particularly true if the data processing tasks each process an increasing stream of input data that is continuously / extending over a period of time in the respective input data receiving module.

[0058] 4 shows another diagram of the data processing module 5, comprising an input data receiving module 15, data processing elements 6 and an output data providing module 17. In the input data receiving module 15, the input store 16 for input data is shown in more detail. It can be seen that the input store 16 has an input stage 29 that is addressable via an input stage index 32. Here, the output store 18 of the output data providing module 17 is also shown schematically; although not shown in detail here, the output store 18 can be configured to correspond to the input store 16.

[0059] 5, 6 and 7 illustrate different types of data processing that can be implemented using the described data processing network 4 or the described method. In these representations, different data processing modules 5.1, 5.2 and / or 5.3 are shown, and the duration of the execution of data processing using data processing elements 6 belonging to each data processing module 5 is shown as a bar on a timeline 24. Above each is schematically represented a data source 13 (here respectively a sensor 23), by which data 2 (here sensor data 3) can be introduced into the data processing network 4.

[0060] Each data processing module 5.1, 5.2, and / or 5.3 is shown successively multiple times across the timeline 24, thereby representing that each data processing module 5.1, 5.2, and / or 5.3 is executed multiple times, each time utilizing different input data, with the initiation of execution of one of the data processing modules 5.1, 5.2, and / or 5.3 occurring each time when a stimulus 9 is present.

[0061] 5, 6, and 7 show different types of stimuli 9 that can be used herein. FIG. 5 shows that only the availability signal 12, indicating the availability of data for performing a specific data processing task using the data processing modules 5.1, 5.2, and / or 5.3, is used as the stimulus 9. The method depicted in FIG. 4 proceeds in a fairly uncontrolled manner from a data technical perspective. As soon as new data becomes available, the respective data processing modules 5.1, 5.2, and / or 5.3 begin execution. This allows for a high processing speed. However, the traceability of which data has been processed by each data processing module 5.1, 5.2, and / or 5.3 is very low. This is especially because the duration of data processing using the data processing modules 5.1, 5.2, and / or 5.3 cannot be accurately predicted, and therefore there is little or no reproducibility as to which data processing modules 5.1, 5.2, and / or 5.3 respond to which input data. "Reproducibility" here refers to the reproducibility of data processing using the data processing network 4. In this context, low reproducibility means that it takes a great deal of effort to trace the data processing using the individual data processing modules 5.1, 5.2 and / or 5.3, as is required for, for example, debugging tasks or tasks to ensure the accuracy of data processing in redundant systems.

[0062] FIG. 6 shows that a signal from a timer 10, following a fixed time pattern 11, is used as a stimulus 9 in each case. Such a stimulus 9 for triggering data processing by the data processing modules 5.1, 5.2, and / or 5.3 makes it possible to always know exactly which input data the data processing by the data processing modules 5.1, 5.2, and / or 5.3 will start with. This achieves high reproducibility in the sense described above, but at the same time significantly reduces the performance of the data processing network 4. Here, the performance of the data processing network 4 refers to the data processing network 4's ability to operate with as few hardware resources as possible. This is because it must be ensured in each case that data processing by a data processing module (e.g., data processing module 5.1) is completed before another data processing module (e.g., data processing module 5.2) that processes the output data 8 of the first data processing module as input data is started. Since the duration of data processing by the data processing modules 5.1, 5.2, and / or 5.3 cannot be accurately predicted, a thorough design of the time pattern must be performed based on the longest possible execution time.

[0063] The embodiment according to Figure 7 achieves high reproducibility on the one hand and good performance on the other hand by combining aspects of the embodiments according to Figures 5 and 6. In the data processing network 4, processing is carried out using either the available signal 12 or the timer 10 as stimuli 9 depending on the task.

Claims

1. A method for processing data, in particular for processing sensor data (3) in a vehicle (1), using a data processing network (4) comprising a plurality of data processing modules (5) each comprising at least one data processing element (6), comprising: each said data processing element (6) is adapted to a defined data processing task for processing said data (2); Each of the data processing modules (5) receives data (2) from at least one data source (13) and / or output data (8) of another data processing module (5) as input data (7) and generates output data (8) that are network output data (14) of the data processing network (4) and / or input data (7) of another data processing module (5); In said method, for at least one data processing module (5): a) receiving at least one set of input data (7) for performing said data processing task in said at least one data processing element (6) of each said data processing module (5); b) receiving a stimulus (9) for initiating said at least one data processing element (6) of said data processing module (5) and assigning a pipeline stage (28) to said at least one data processing element (6); c) upon receiving the set of input data (7) in step a) and the stimulus (9) in step b), initiating the pipeline stages (28) of the at least one data processing element (6) of the data processing module (5) to generate output data (8) by performing the data processing task for which the data processing element (6) is adapted using each of the input data (7); d) providing said output data (8) for further data processing and / or as network output data (14); In the method, Step a) is performed using an input data receiving module (15) of the data processing module (5), the input data receiving module (15) having an input storage device (16) for intermediate storage of incomplete input data (7) and performing a completeness check of the set of input data (7); method.

2. The input storage device (16) of the input data receiving module (15) has a plurality of input stages (29) for storing input data (7), a change of the input stage (29) between reception of different input data (7) such that a sequence (31) of the most recently received input data (7) is available to the input data reception module (15); 2. The method of claim 1, wherein the set of at least one input data (7) is defined by accessing input data (7) stored in the input storage device as a result of receiving a stimulus (9) in step b).

3. A method for processing data, in particular for processing sensor data (3) in a vehicle (1), using a data processing network (4) comprising a plurality of data processing modules (5) each comprising at least one data processing element (6), comprising: each said data processing element (6) is adapted to a defined data processing task for processing said data (2); Each of the data processing modules (5) receives data (2) from at least one data source (13) and / or output data (8) of another data processing module (5) as input data (7) and generates output data (8) that are network output data (14) of the data processing network (4) and / or input data (7) of another data processing module (5); In said method, for at least one data processing module (5): a) receiving at least one set of input data (7) for performing said data processing task in said at least one data processing element (6) of each said data processing module (5); b) receiving a stimulus (9) for initiating said at least one data processing element (6) of said data processing module (5) and assigning a pipeline stage (28) to said at least one data processing element (6); c) upon receiving the set of input data (7) in step a) and the stimulus (9) in step b), initiating the pipeline stages (28) of the at least one data processing element (6) of the data processing module (5) to generate output data (8) by performing the data processing task for which the data processing element (6) is adapted using each of the input data (7); d) providing said output data (8) for further data processing and / or as network output data (14); In the method, the input stage (29) is addressable via an input stage index (32), said input stage index (32) being activated and changed by the reception of a stimulus (9) in step b); method.

4. A method for processing data, in particular for processing sensor data (3) in a vehicle (1), using a data processing network (4) comprising a plurality of data processing modules (5) each comprising at least one data processing element (6), comprising: each said data processing element (6) is adapted to a defined data processing task for processing said data (2); Each of the data processing modules (5) receives data (2) from at least one data source (13) and / or output data (8) of another data processing module (5) as input data (7) and generates output data (8) that are network output data (14) of the data processing network (4) and / or input data (7) of another data processing module (5); In said method, for at least one data processing module (5): a) receiving at least one set of input data (7) for performing said data processing task in said at least one data processing element (6) of each said data processing module (5); b) receiving a stimulus (9) for initiating said at least one data processing element (6) of said data processing module (5) and assigning a pipeline stage (28) to said at least one data processing element (6); c) upon receiving the set of input data (7) in step a) and the stimulus (9) in step b), initiating the pipeline stages (28) of the at least one data processing element (6) of the data processing module (5) to generate output data (8) by performing the data processing task for which the data processing element (6) is adapted using each of the input data (7); d) providing said output data (8) for further data processing and / or as network output data (14); In the method, Step d) is carried out using an output data providing module (17), which has an output storage device (18) in which the not yet complete output data (8) is intermediately stored. method.

5. The method described in claim 4, wherein the output storage device (18) of the output data providing module (17) has a plurality of output stages (30) for storing sets of output data (8).

6. A method for processing data, in particular for processing sensor data (3) in a vehicle (1), using a data processing network (4) comprising a plurality of data processing modules (5) each comprising at least one data processing element (6), comprising: each said data processing element (6) is adapted to a defined data processing task for processing said data (2); Each of the data processing modules (5) receives data (2) from at least one data source (13) and / or output data (8) of another data processing module (5) as input data (7) and generates output data (8) that are network output data (14) of the data processing network (4) and / or input data (7) of another data processing module (5); In said method, for at least one data processing module (5): a) receiving at least one set of input data (7) for performing said data processing task in said at least one data processing element (6) of each said data processing module (5); b) receiving a stimulus (9) for initiating said at least one data processing element (6) of said data processing module (5) and assigning a pipeline stage (28) to said at least one data processing element (6); c) upon receiving the set of input data (7) in step a) and the stimulus (9) in step b), initiating the pipeline stages (28) of the at least one data processing element (6) of the data processing module (5) to generate output data (8) by performing the data processing task for which the data processing element (6) is adapted using each of the input data (7); d) providing said output data (8) for further data processing and / or as network output data (14); In the method, the output data (8) provided in step d) is at least partly used as input data (7) for carrying out steps a) to d) again using the same data processing module (5); method.

7. A method for processing data, in particular for processing sensor data (3) in a vehicle (1), using a data processing network (4) comprising a plurality of data processing modules (5) each comprising at least one data processing element (6), comprising: each said data processing element (6) is adapted to a defined data processing task for processing said data (2); Each of the data processing modules (5) receives data (2) from at least one data source (13) and / or output data (8) of another data processing module (5) as input data (7) and generates output data (8) that are network output data (14) of the data processing network (4) and / or input data (7) of another data processing module (5); In said method, for at least one data processing module (5): a) receiving at least one set of input data (7) for performing said data processing task in said at least one data processing element (6) of each said data processing module (5); b) receiving a stimulus (9) for initiating said at least one data processing element (6) of said data processing module (5) and assigning a pipeline stage (28) to said at least one data processing element (6); c) upon receiving the set of input data (7) in step a) and the stimulus (9) in step b), initiating the pipeline stages (28) of the at least one data processing element (6) of the data processing module (5) to generate output data (8) by performing the data processing task for which the data processing element (6) is adapted using each of the input data (7); d) providing said output data (8) for further data processing and / or as network output data (14); In the method, the output data (8) provided in step d) comprises partial data quantities (19), said partial data quantities (19) being generated by a plurality of different data processing elements (6) of said data processing module (5) during the performance of said data processing task, the provision of the output data (8) in step d) is only performed once all the partial data amounts (19) that make up the output data (8) are available; method.

8. A method for processing data, in particular for processing sensor data (3) in a vehicle (1), using a data processing network (4) comprising a plurality of data processing modules (5) each comprising at least one data processing element (6), comprising: each said data processing element (6) is adapted to a defined data processing task for processing said data (2); Each of the data processing modules (5) receives data (2) from at least one data source (13) and / or output data (8) of another data processing module (5) as input data (7) and generates output data (8) that are network output data (14) of the data processing network (4) and / or input data (7) of another data processing module (5); In said method, for at least one data processing module (5): a) receiving at least one set of input data (7) for performing said data processing task in said at least one data processing element (6) of each said data processing module (5); b) receiving a stimulus (9) for initiating said at least one data processing element (6) of said data processing module (5) and assigning a pipeline stage (28) to said at least one data processing element (6); c) upon receiving the set of input data (7) in step a) and the stimulus (9) in step b), initiating the pipeline stages (28) of the at least one data processing element (6) of the data processing module (5) to generate output data (8) by performing the data processing task for which the data processing element (6) is adapted using each of the input data (7); d) providing said output data (8) for further data processing and / or as network output data (14); In the method, In step d), an available signal (12) is additionally generated, based on which it is possible to recognize that the output data (8) is provided for further processing. method.

9. 9. The method of claim 1, wherein steps a) to d) are performed multiple times such that the data processing tasks in step c) are performed in parallel in a staggered manner in multiple pipeline stages (28).

10. 9. The method according to claim 1, wherein at least one timer (10) is used to generate the stimuli (9) used in step b), the timer (10) defining a time pattern (11) for regularly repeating the performance of the data processing task by means of the data processing element (6).

11. 9. The method according to any one of claims 1 to 8, wherein at least one availability signal (12) indicating availability of data (2) is used to generate the stimuli (9) used in step b).

12. 9. The method of claim 1, wherein the at least one data processing element (6) is adapted to generate output data (8) by processing last received sequences (31) of input data (7) together as a set of input data (7).

13. During step c), The method according to any one of claims 1 to 8, optionally including a step of interrupting the execution of said data processing task in a pipeline stage (28) and starting step c) anew with different input data (7) when an interrupt signal (22) is received.

14. A data processing module (5) for a data processing network (4) for implementing the method according to any one of claims 1 to 8, comprising: an input data receiving module (15) to which an input storage device (16) is assigned, and an output data providing module (17) to which an output storage device (18) is assigned, and a data processing module (5) having at least one data processing element (6) for performing data processing tasks based on said input data (7) in said input storage device (16) and for generating output data (8) that is stored in said output storage device (18).

15. 15. The data processing module (5) of claim 14, wherein at least the input storage device (16) or the output storage device (18) has a plurality of stages (29, 30) for storing sets of input data (7) or output data (8).

16. A data processing network (4) comprising a plurality of data processing modules (5) according to claim 14.

Citation Information

Patent Citations

  • Method and Apparatus for Expediting Pipeline Throughput

    JP2008532171A

  • Control device

    JP2019061466A

  • Centralized scheduling system for operating autonomous driving vehicles

    US20190004528A1

  • System and method for fully configurable real time processing

    WO2015177639A1