Data output sequence generation method, electronic equipment, system and medium

By using historical mapping relationships to assign fixed output positions to data entries in advanced driver assistance systems, the problem of unstable output data positions is solved, thereby improving the predictability of data flow and processing efficiency.

CN122018840APending Publication Date: 2026-05-12BOSCH AUTOMOTIVE PRODUCTS (SUZHOU) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BOSCH AUTOMOTIVE PRODUCTS (SUZHOU) CO LTD
Filing Date
2026-02-06
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

In advanced driver assistance systems, the instability of the output data location of the same target object makes it difficult for downstream analysis and display tools to track and observe it consistently, increasing the complexity and cost of data interpretation and system evaluation.

Method used

By receiving the current data set, using historical mapping relationships to assign fixed output positions to data entries, a stable current output sequence is formed, and historical mapping relationships are updated for use in the next cycle, ensuring that entries with the same identifier have fixed positions in consecutive output cycles.

Benefits of technology

It simplifies the downstream system's continuous tracking and data processing logic for specific targets, and improves the predictability of data flow and overall processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122018840A_ABST
    Figure CN122018840A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of data processing, in particular to a data output sequence generation method, electronic equipment for implementing the method, a data processing system and a computer readable storage medium. The method comprises the steps that a current data set is received, the current data set comprises at least one data entry, and each data entry has a unique identifier; obtaining a historical mapping relationship, wherein the historical mapping relationship indicates a corresponding relationship between the data item identifier and the allocated output position in the last output period; based on the historical mapping relation, output positions are distributed to the data items in the current data set to form a current output sequence, and the data items with the identifiers existing in the historical mapping relation are distributed to the output positions indicated by the historical mapping relation; and according to the current output sequence, updating the historical mapping relationship for use in the next output period.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology, and more specifically to a method for generating a data output sequence, an electronic device, a data processing system, and a computer-readable storage medium implementing the method. Background Technology

[0002] In the development and testing phases of Advanced Driver Assistance Systems (ADAS), it is typically necessary to output the environmental target information perceived by the system to visualization tools for performance analysis and debugging. Currently, in the data stream output by the system, the position of the output data corresponding to the same target object may change at different times. This instability in the output order makes it difficult for downstream analysis and display tools to consistently track and observe specific targets, thereby increasing the complexity and cost of data interpretation and system evaluation.

[0003] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this application, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention

[0004] To address or at least mitigate one or more of the above problems, embodiments of this application provide a method for generating a data output sequence, an electronic device, a data processing system, and a computer-readable storage medium implementing the method.

[0005] According to a first aspect of this application, a method for generating a data output sequence is provided, comprising: receiving a current data set, the current data set containing at least one data entry, wherein each data entry has a unique identifier; obtaining a historical mapping relationship, the historical mapping relationship indicating the correspondence between data entry identifiers and their assigned output positions in a previous output cycle; assigning output positions to data entries in the current data set based on the historical mapping relationship to form a current output sequence, wherein for data entries whose identifiers exist in the historical mapping relationship, they are assigned to the output positions indicated by the historical mapping relationship; and updating the historical mapping relationship according to the current output sequence for use in the next output cycle.

[0006] As an alternative or supplement to the above solutions, in a method according to an embodiment of this application, the current data set originates from an object container, which provides a set of data entries updated based on the detection results of the environment when invoked, and the data entries contained in the object container correspond to the detected objects.

[0007] As an alternative or supplement to the above solutions, in a method according to an embodiment of this application, the historical mapping relationship is implemented through a historical identifier list, each entry in the historical identifier list corresponds to an output position, and stores the data entry identifier that occupied the output position in the previous output cycle.

[0008] As an alternative or supplement to the above solutions, in a method according to an embodiment of this application, allocating an output position for a data entry in the current data set includes: for data entries whose identifiers do not exist in the historical mapping relationship, allocating them to an idle output position.

[0009] As an alternative or supplement to the above solutions, in a method according to an embodiment of this application, for a data entry whose identifier does not exist in the historical mapping relationship, allocating it to a free output position includes: searching for an unoccupied output position in the current output sequence according to the index order of the output positions, and allocating the data entry to the first free output position found.

[0010] As an alternative or supplement to the above solution, a method according to an embodiment of this application further includes: after allocating positions to all data entries in the current data set, filling the unoccupied output positions in the current output sequence with a preset default value.

[0011] As an alternative or supplement to the above solutions, in a method according to an embodiment of this application, updating the historical mapping relationship according to the current output sequence includes: forming a current identifier list based on the data entry identifiers allocated at each output position in the current output sequence; and replacing the historical identifier list with the current identifier list as the historical mapping relationship for the next output cycle.

[0012] As an alternative or supplement to the above solutions, in a method according to an embodiment of this application, the current output sequence is used to generate a vehicle communication bus signal, the vehicle communication bus signal including at least one of a controller area network bus signal, an in-vehicle Ethernet signal, a LIN bus signal, and a FlexRay bus signal; each output position in the current output sequence is sequentially mapped to a predefined signal field in the vehicle communication bus signal.

[0013] As an alternative or supplement to the above solutions, in a method according to an embodiment of this application, the method is executed by a sensor gateway unit within a millimeter-wave radar, the data entries in the current data set correspond to target reflection points detected by the millimeter-wave radar, and the unique identifier is the identifier of the target reflection point.

[0014] According to a second aspect of this application, an electronic device is provided, comprising: a memory; a processor; and a computer program stored in the memory and executable on the processor, wherein execution of the computer program causes any one of the methods according to the first aspect of this application to be performed.

[0015] According to a third aspect of this application, a data processing system is provided, comprising: a sensing unit for acquiring environmental information and generating sensing data; an electronic device as described in the second aspect of this application, the electronic device being communicatively connected to the sensing unit for receiving a current data set formed based on the sensing data and generating the current output sequence; and a communication interface connected to the electronic device for outputting the current output sequence.

[0016] According to a fourth aspect of this application, a computer-readable storage medium is provided, the computer-readable storage medium including instructions that, when executed, perform any one of the methods according to the first aspect of this application.

[0017] The data output sequence generation method according to one or more embodiments of this application utilizes historical mapping relationships to record the correspondence between data entry identifiers and output positions in the previous cycle. For entries in the current data set whose identifiers already exist in the historical mapping relationships, their historical positions are forcibly assigned, forming the current output sequence. This mechanism ensures that entries with the same identifier maintain a fixed position in consecutive output cycles until they disappear from the data set. This mechanism significantly simplifies the continuous tracking and data processing logic of downstream systems or tools (e.g., data visualization, monitoring, and analysis tools) for specific targets, eliminating the need for complex association and matching calculations for the uncertain order of input data, thereby improving the predictability of the data flow and overall processing efficiency. Attached Figure Description

[0018] The above and / or other aspects and advantages of this application will become clearer and more readily understood from the following description taken in conjunction with the accompanying drawings, in which the same or similar elements are denoted by the same reference numerals. In the drawings: Figure 1 A schematic flowchart of a method 10 for generating a data output sequence according to one or more embodiments of this application is shown; Figure 2 A schematic flowchart of a method 20 for generating a data output sequence according to one or more embodiments of this application is shown; Figure 3 A schematic block diagram of an electronic device 30 according to one or more embodiments of this application is shown; Figure 4 A schematic block diagram of a data processing system 40 according to one or more embodiments of this application is shown. Detailed Implementation

[0019] The following detailed description is merely exemplary in nature and is not intended to limit the disclosed technology or its application and use. Furthermore, it is not intended to be bound by any express or implied theory presented in the foregoing technical fields, background art, or the following detailed description.

[0020] In the following detailed description of the embodiments, numerous specific details are set forth in order to provide a more thorough understanding of the disclosed technology. However, it will be apparent to those skilled in the art that the disclosed technology can be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description.

[0021] Terms such as "comprising" and "including" indicate that, in addition to the units and steps that are directly and explicitly described in the specification, the technical solution of this application does not exclude the presence of other units and steps that are not directly or explicitly described. Terms such as "first" and "second" do not indicate the order of the units in terms of time, space, size, etc., but are merely used to distinguish the units.

[0022] In the following, exemplary embodiments according to this application will be described in detail with reference to the accompanying drawings.

[0023] Figure 1 A schematic flowchart of a method 10 for generating a data output sequence according to one or more embodiments of this application is shown.

[0024] Method 10 can be executed by various electronic devices or modules capable of accessing and processing perceived data. Specifically, the executing entity of method 10 includes, but is not limited to: a vehicle domain controller, which acts as a central processing unit to receive and process perceived data from sensors; a camera, whose integrated processing chip directly processes the results after target recognition; a sensor gateway unit (SGU) within a millimeter-wave radar, which is responsible for processing and distributing the raw data detected by the millimeter-wave radar; or a dedicated data processing module in an advanced driver assistance system (ADAS) (e.g., a data processing unit located within the communication component of the ADAS, responsible for converting perceived data into network messages).

[0025] like Figure 1 As shown, in step 101, a current data set is received, the current data set containing at least one data entry, wherein each data entry has a unique identifier.

[0026] This step clarifies the input to Method 10, which is a set of data entries with unique identifiers. Here, "current" means that this set is the latest version of the input targeted by this round of method execution; each "data entry" is an independent data unit; and the "unique identifier" is a key field in the entry used for identification, matching, and differentiation in subsequent steps, such as an integer ID value.

[0027] The execution of step 101 marks the start of an output cycle. An "output cycle" refers to the completion of a full process from step 101 to step 107, resulting in the generation of a current output sequence. In one or more embodiments, the start of an output cycle can be triggered by different mechanisms. In one or more embodiments, the trigger is in response to a readiness event of the sensing unit's output data. For example, when the sensing algorithm in the vehicle domain controller completes processing a frame of camera image and updates its identified target list (such as an object container) to shared memory, an interrupt or message event can be generated. Upon hearing this event, the processing module (such as a specific subroutine within the communication component) immediately activates and executes step 101, reading the latest target list from the shared memory as the current data set. Exemplarily, in another implementation, the trigger can also originate from a timing period agreed upon within the communication component, where step 101 is forcibly initiated at preset time points (e.g., every 10 milliseconds), regardless of whether the sensing data has been fully updated, to receive the currently available data set.

[0028] In one or more embodiments, the current data set may originate from a periodically updated object container. The object container can refer to a data structure dynamically maintained at the software level for temporary storage and providing a list of target objects. When invoked, the object container provides a set of data entries updated based on the detection results of the environment, and the data entries contained in the object container correspond to the detected objects. The object container can be updated periodically, and its content reflects the results of environmental detection and identification. For example, in a smart camera, after processing each frame of image, the internal vision processing unit fills the detected objects and their attributes (e.g., ObjID (object ID), ObjLength (object length), ObjRAccelXStd (object's standard deviation of acceleration relative to the X-axis), ObjRAccelYStd (object's standard deviation of acceleration relative to the Y-axis)) into a list structure, which is the object container. As another example, when method 10 is executed by the SGU within a millimeter-wave radar, the data entries in the current data set correspond to the target reflection points (or point cloud targets) detected and processed by the millimeter-wave radar. Each target reflection point is treated as a data entry and may contain its attribute information (such as distance, velocity, radar cross section, etc.). The unique identifier is the identifier of the target reflection point (such as the reflection point ID assigned by the radar signal processing module).

[0029] In one or more embodiments, the current data set can have a wider range of sources. For example, it can come directly from the output buffer of the sensor fusion module, from a data area written by the sensing process in shared memory, or even from a data packet conforming to a specific format from a network interface, or from a frame of data read back from a previously recorded data file. A common feature of these implementations is that they all provide a set of target objects with unique identifiers as input for the sequential stabilization process of this method. Through step 101, method 10 obtains raw target data with clear identification, creating conditions for subsequent orderly organization using historical information.

[0030] In step 103, the historical mapping relationship is obtained, which indicates the correspondence between the data entry identifier and its assigned output position in the previous output cycle.

[0031] This step aims to load the internal state memory necessary to maintain the stability of the output order. Specifically, this historical mapping records the correspondence between each output position in the generated output sequence and the identifier of the data entry occupying that position at the end of the previous output cycle immediately preceding the current output cycle (i.e., the last time the method was executed from step 101 to step 107).

[0032] In one or more embodiments, this historical mapping relationship can be implemented using a list of historical identifiers. This list of historical identifiers is a sequentially stored data structure whose core function is to associate and query an output position and its associated data entry identifier from the previous cycle using a position (or index) in the list. The length of the list defines the maximum number of data entries the system can support for output. For example, the first position (index 0) in the list corresponds to output position 0, the second position corresponds to output position 1, and so on; the value stored at each position is the data entry identifier that occupied that output position at the end of the previous output cycle.

[0033] In some embodiments, the list described above can be a fixed-length array. For example, an array (e.g., objID_last) can be defined to store the identifiers of data entries from the previous output cycle. This array is stored contiguously in memory, and any element can be directly accessed via an integer index. For instance, the contents of the array objID_last [0x101, 0x102, 0xFFFF, 0x103] indicate that in the previous cycle, output positions 0, 1, and 3 were occupied by entries with identifiers 0x101, 0x102, and 0x103, respectively, while output position 2 was empty (represented by the default value 0xFFFF).

[0034] In other embodiments, the list described above can also be constructed using other data structures capable of implementing a similar "position-value" mapping, such as linked lists, as long as they can maintain an ordered sequence of entries and be accessed by serial number. Regardless of the specific data structure implemented, its core role in this step remains the same: to provide the exact correspondence between the output position of the previous cycle and the data entry identifier, providing a benchmark for the position allocation decision in step 105.

[0035] In step 105, output positions are assigned to data entries in the current dataset based on historical mapping relationships to form the current output sequence. Specifically, for data entries whose identifiers exist in historical mapping relationships, they are assigned to the output positions indicated by the historical mapping relationships.

[0036] This step is the core processing step in Method 10 to stabilize the output order. It aims to use historical state information to guide the current position allocation, achieving consistency across output cycles. Specifically, for each data entry in the current data set, it is first determined whether its identifier exists in the historical mapping relationship. If it does, it indicates that the data entry appeared and was assigned a position in the previous output cycle, and should be considered an object requiring continued tracking in this cycle. At this point, step 105 assigns the data entry to the output position explicitly indicated by the historical mapping relationship, i.e., the "old seat" it occupied in the previous cycle. This operation ensures that the output position of data entries with the same identifier is "anchored" and "inherited" in consecutive output cycles, a direct means of eliminating order jumps. For example, if the historical mapping relationship indicates that identifier 0x101 was located at output position 0 in the previous cycle, then as long as the data entry with that identifier is still in the current data set in this cycle, it will be reassigned to output position 0.

[0037] In one or more embodiments, step 105 may also process data entries in the current dataset whose identifiers do not exist in the historical mapping. These data entries are considered newly appearing objects in this period and therefore need to be assigned new positions. To this end, step 105 may further include: allocating these new data entries to an idle output position. An "idle output position" refers to an unoccupied output position remaining in the current output sequence after the prioritization allocation of "data entries whose identifiers exist in the historical mapping" has been completed.

[0038] In one or more embodiments, finding and assigning free output positions for new data entries follows a deterministic rule to ensure the predictability of the output sequence generation results. For example, this rule may include searching according to the index order of the output positions (e.g., ascending or descending order). Specifically, starting from the first output position (index 0) of the current output sequence, the occupancy status of each position is checked sequentially, and the new data entry is assigned to the first free output position found. For instance, if output position 0 is already occupied by a "regular" position and position 1 is free, the first new entry will be assigned to position 1.

[0039] When multiple new data entries exist, their allocation order can be related to various factors. In one embodiment, the above-described sequential lookup can be performed for each new entry in the original order in which they appear in the current dataset (e.g., ascending or descending order). In other embodiments, the allocation order can also be determined based on other attributes of the entries (such as confidence level).

[0040] It should be understood that sequential search is only one example of a variety of feasible strategies. In other embodiments, free positions can be allocated in other ways, such as maintaining a separate "free position index list" from which the next available position is retrieved and allocated. Regardless of the specific search and allocation rules used, the goal is to find a home for the new entry in the established set of free positions, so that it can join the already allocated "old friends" to form the current output sequence.

[0041] After allocating positions for all valid data entries from the current dataset, some unoccupied output positions may still exist in the resulting current output sequence. In one or more embodiments, method 10 further includes an integrity processing step: filling all these unoccupied output positions in the current output sequence with a preset default value. This default value can be a predefined special data entry whose identifier can be set to a predetermined value outside the normal data identifier range (e.g., 0xFF or 0xFFFF) to explicitly indicate that there is no valid data at that position. This operation ensures that the current output sequence has a fixed and complete structure, i.e., all output positions (from index 0 to maximum length - 1) are explicitly assigned values, thereby facilitating parsing and processing by downstream systems.

[0042] Thus, method 10 generates a stable and complete current output sequence. In one or more embodiments, this sequence has direct application value. The current output sequence can be used to generate vehicle communication bus signals, such as Controller Area Network (CAN) bus signals, in-vehicle Ethernet (e.g., SOME / IP) signals, LIN (Local Area Network) bus signals, or FlexRay bus signals. Specifically, each output position in the current output sequence is mapped to a specific, predefined signal field (e.g., a byte or several bits) in the target bus data frame (e.g., a CAN frame, an Ethernet message) in a predefined order. All attributes (including their identifiers) of the data entry at a specific output position in the sequence can be encoded and filled into the corresponding signal field according to the conventions of the communication matrix (e.g., a DBC (Database Container) file for CAN). Because the current output sequence has cross-cycle positional stability, the "physical position" of the attribute information of the same target object on the bus in the vehicle communication bus signals generated by it is also stable. This facilitates all nodes that receive and parse the vehicle communication bus signals (including other controllers inside the vehicle or external monitoring tools), enabling them to reliably track targets based on fixed signal locations without having to deal with the complexity and uncertainty caused by random changes in data location.

[0043] In one or more other embodiments, the current output sequence may also be provided directly as a data interface to downstream software systems without undergoing vehicle communication bus encoding. For example, during the algorithm development, testing, and verification phases, this sequence can be directly input into a visual debugging tool. The tool can stably draw the motion trajectory and attribute curves of each target based on a fixed output position, without having to handle the jump problem of target IDs in the list, simplifying the tool logic and improving debugging efficiency. Similarly, this sequence can also be used as input to a performance evaluation and benchmarking system, enabling the evaluation algorithm to quantitatively analyze indicators such as the continuity and stability of perception tracking based on stable and repeatable data positions.

[0044] In step 107, the historical mapping relationship is updated according to the current output sequence for use in the next output cycle.

[0045] This step aims to achieve state iteration: the "identifier-output position" binding relationship just established in this output cycle is saved, making it the historical benchmark obtained in step 103 of the next output cycle. Through this update operation, the sequential characteristics of the output in this cycle are memorized, thereby continuously guiding the processing of future cycles and ensuring that the maintenance of output order consistency is a sustainable and dynamic process.

[0046] In one or more embodiments, the update operation specifically involves rebuilding and replacing the historical identifier list that implements the historical mapping relationship. This includes: first, forming a completely new current identifier list based on the data entry identifiers finally assigned to each output position in the current output sequence. The construction rules of this new list are consistent with the historical list: its length is fixed, the list index corresponds to the output position, and the value stored at each index position is the data entry identifier occupying that output position in the current output sequence. Subsequently, a replacement operation is performed: the newly generated current identifier list overwrites or replaces the original historical identifier list. In software implementation, this can be accomplished by copying the data of the new list to the memory area storing the historical list, or by directly updating the pointer pointing to the list. After the update is completed, this new list assumes the role of "historical mapping relationship" at the beginning of the next output cycle, used to determine whether the entry in the next "current data set" is an "old friend" or a "new friend".

[0047] In other embodiments, the update mechanism may also adopt incremental modification or direct overwriting on the original list, as long as the goal of keeping the historical mapping relationship consistent with the state of the latest output sequence can be achieved.

[0048] Figure 2 A schematic flowchart of a method 20 for generating a data output sequence according to one or more embodiments of this application is shown.

[0049] like Figure 2 As shown, method 20 begins at step 201, in response to receiving the current data set, initializing or obtaining either a historical identifier list (objID_last) storing the state of the previous output cycle and a current identifier list (objID_cur) used to construct the output of the current cycle. The historical identifier list stores the data entry identifiers corresponding to each output position in the previous cycle, with each list position (index) fixedly associated with an output position. The current identifier list can be initialized to values ​​representing the idle state (e.g., filled entirely with 0xFF).

[0050] In step 203, each data entry in the current dataset is traversed. For each data entry that is traversed, in step 205, it is determined whether its identifier (Object ID) exists in the historical identifier list (objID_last).

[0051] If the determination result of step 205 is yes (i.e., the identifier exists), then step 207 is executed: based on the index corresponding to the identifier in the historical list (objID_last) (i.e., its output position in the previous cycle), the identifier is written to the same index position in the current identifier list (objID_cur), and this is determined as the output position for the current cycle. In an exemplary implementation, after determining the output position, the relevant information of the data entry can be synchronously formatted and written to the output buffer reserved for that position (e.g., encoded into the corresponding field of the CAN signal).

[0052] After completing the first stage of traversal processing, the current identifier list (objID_cur) contains the identifiers of all "old friends," but the current dataset may still contain newly added entries. Therefore, method 20 proceeds to the second processing stage.

[0053] In step 209, the current data set is traversed again.

[0054] For each data entry in this traversal, step 211 determines whether its identifier does not exist in the current identifier list (objID_cur). This determination is used to filter out data entries that were not processed in the first stage, i.e., data entries newly added in this cycle ("new friends").

[0055] If the result of step 211 is yes (i.e., the identifier is not in objID_cur), then step 213 is executed: search for an entry position in the current identifier list (objID_cur) with a value of idle (e.g., 0xFF). In one embodiment, this search is performed in list index order to find the first available idle output position.

[0056] In step 213, the identifier of the current data entry is stored at the free position index found in the current identifier list (objID_cur), and the output position of the data entry is determined as the free position. In an exemplary implementation, this step may also include formatting the relevant information of the data entry and writing it to the output buffer reserved for that position (e.g., encoding it into the corresponding field of a CAN signal).

[0057] After completing the second stage of traversal processing, in step 215, any position in the current identifier list (objID_cur) that still retains an initial free value is filled with a preset default identifier, and the corresponding output position can be filled with a default value.

[0058] In step 217, the contents of the final identifier list (objID_cur) of the current period are copied to the historical identifier list (objID_last), thereby updating the mapping relationship established in the current period to the historical mapping relationship of the next period.

[0059] In step 219, the current identifier list (objID_cur) is reset to its initial idle state (e.g., filled with 0xFF).

[0060] To more intuitively demonstrate the effects of methods 10 and 20, the following specific embodiment will compare the differences in the generated current output sequence before and after applying the method of this application in a continuous output cycle. This embodiment can be specifically applied to the SGU within a millimeter-wave radar. In this embodiment, the current data set originates from the signal processing front-end of the millimeter-wave radar. Each data entry corresponds to a target reflection point detected and clustered by the millimeter-wave radar in the current cycle, and its unique identifier is the reflection point ID. The SGU is responsible for applying this method to the reflection point list for each frame (e.g., with a period of 50 milliseconds) to generate a stable output sequence, and sending it to the domain controller or visualization tool via the vehicle communication bus. In this embodiment, the SGU uses a historical identifier list to record mapping relationships, allocates the first free output position for newly added reflection points according to the output position index order, and fills the unused output positions in the final sequence with default values.

[0061] In the first radar frame processing cycle, the current data set received by the SGU contains five target reflection points detected by the radar, with reflection point IDs A1, A2, A3, A4, and A5. Without the method described in this application, the output sequence might simply follow the instantaneous order of the input set, appearing as A1→A2→A3→A4→A5. With the method described in this application applied, since it is the first run and the historical mapping relationship is empty, the generated current output sequence is also A1→A2→A3→A4→A5, and the historical mapping relationship for the next cycle is constructed based on this.

[0062] In the second radar frame processing cycle, the input data set changes: reflection points A1 and A3 disappear, while the radar newly detects reflection points B1, B2, and B3, meaning the current data set is A2, A4, A5, B1, B2, and B3. Without this method, the output sequence might be completely regenerated based on the new input set, resulting in A2→A4→A5→B1→B2→B3. It's evident that reflection point A2 jumps from the second position in the previous cycle to the first position. However, with the method of this application, the SGU first allocates the remaining reflection points (A2, A4, A5) to the same output positions they previously occupied, based on the historical mapping relationship obtained from the previous cycle. Then, the newly added reflection points (B1, B2, B3) are allocated in the remaining empty output positions according to index order (e.g., starting from the first position). Therefore, the generated current output sequence is B1→A2→B2→A4→A5→B3. The positions of reflection points A2, A4, and A5 remain unchanged.

[0063] In the third radar frame processing cycle, reflection points A5, B1, and B2 disappear from the input current data set, while reflection points C1, C2, and C3 are newly added, meaning the current data set is A2, A4, B3, C1, C2, and C3. Without this method, the output sequence would be A2→A4→B3→C1→C2→C3. With the method of this application, the SGU continues to assign the remaining reflection points (A2, A4, B3) to their historical positions and sequentially assigns vacant positions to the newly added reflection points C1, C2, and C3, ultimately generating the current output sequence C1→A2→C2→A4→C3→B3.

[0064] In the fourth radar frame processing cycle, reflection point C1 disappears from the input current data set, and new reflection points D1, D2, D3, and D4 are added, meaning the current data set is A2, A4, B3, C2, C3, D1, D2, D3, and D4. Without this method, the output sequence would be A2→A4→B3→C2→C3→D1→D2→D3→D4. With the method of this application, the SGU maintains the historical positions of the existing reflection points and allocates empty positions sequentially for the newly added reflection points, generating the current output sequence D1→A2→C2→A4→C3→B3→D2→D3→D4.

[0065] As demonstrated by the four consecutive cycle examples above, by applying this method, the millimeter-wave radar SGU can ensure that the same reflection point (such as A2 and A4) maintains a stable position in the output sequence throughout its entire lifespan until it disappears. This characteristic enables downstream systems (such as visualization analysis tools or domain controllers) to continuously and reliably track the attribute evolution of a specific reflection point based on a fixed output position, thereby improving the observability, resolution efficiency, and ease of system integration of the radar data stream.

[0066] Figure 3 A schematic block diagram of an electronic device 30 according to one or more embodiments of this application is shown. The electronic device 30 includes a memory 310, a processor 320, and a computer program 330 stored on the memory 310 and executable on the processor 320, the execution of which causes the methods 10 or 20 described above to be performed.

[0067] In one or more embodiments, the electronic device 30 may specifically be a vehicle domain controller, a camera, or a millimeter-wave radar. For example, when the electronic device 30 is a vehicle domain controller, its memory 310 and processor 320 constitute the core computing unit of the controller, and the computer program 330 runs as part of its software stack, responsible for performing sequential stabilization processing on the perceived data from the sensing unit, and can output the results to the vehicle bus. When the electronic device 30 is a smart camera or millimeter-wave radar, its internally integrated processor 320 executes the computer program 330, which can directly sort the results after completing target recognition.

[0068] Figure 4 A schematic block diagram of a data processing system 40 according to one or more embodiments of this application is shown. The data processing system 40 includes a sensing unit 410, an electronic device 420, and a communication interface 430.

[0069] The sensing unit 410 is used to acquire environmental information and generate raw sensing data. In one or more embodiments, the sensing unit 410 may include one or more environmental sensors, such as a camera, millimeter-wave radar, lidar (LiDAR), or a combination thereof. The sensing unit 410 processes the acquired raw signals (potentially including preliminary signal processing and target detection) and outputs a data set containing at least one identified target object and its attributes (including a unique identifier). This data set is either the current data set described in the foregoing method or the source data provided by the object container.

[0070] Electronic device 420 is communicatively connected to sensing unit 410 and is used to receive sensing data from sensing unit 410. For example, electronic device 420 is... Figure 3 The electronic device 30 is shown. The electronic device 420 can be configured to perform a data output sequence generation method as described in any of the foregoing embodiments of this application (e.g., Figure 1 Method 10 or shown Figure 2 Method 20 shown).

[0071] Communication interface 430 is connected to electronic device 420 and is used to receive and output the current output sequence generated by electronic device 420. Communication interface 430 is responsible for converting the ordered data sequence into signals conforming to a specific physical layer protocol and interface specification. In one or more embodiments, communication interface 430 may be a Controller Area Network (CAN) bus controller and transceiver used to encode and package the current output sequence into standard CAN frames for transmission to the vehicle bus network. In other embodiments, communication interface 430 may also be an Ethernet interface, serial interface, or other data output port for debugging, used to provide stable data sequences to external visualization tools, data loggers, or test equipment.

[0072] In one or more embodiments, the data processing system 40 may be an advanced driver assistance system (ADAS).

[0073] Furthermore, as described above, this application can also be implemented as a computer-readable storage medium storing a program for executing the process of method 10 or 20 described above. Here, various types of computer-readable storage media can be used as computer-readable storage media, such as disks (e.g., magnetic disks, optical disks, etc.), cards (e.g., memory cards, optical cards, etc.), semiconductor memory (e.g., ROM, non-volatile memory, etc.), and tapes (e.g., magnetic tape, cassette tape, etc.).

[0074] This application can also be implemented as a computer program product, which includes a computer program that, when executed by a processor, implements the steps in method 10 or 20 described above.

[0075] Where applicable, the various embodiments provided in this application may be implemented using hardware, software, or a combination of hardware and software. Furthermore, where applicable, without departing from the scope of this application, the various hardware and / or software components described herein may be combined into composite components comprising software, hardware, and / or both. Where applicable, without departing from the scope of this application, the various hardware and / or software components described herein may be divided into sub-components comprising software, hardware, or both. Additionally, where applicable, it is contemplated that software components may be implemented as hardware components, and vice versa.

[0076] The software (such as program code and / or data) according to this application may be stored on one or more computer-readable storage media. It is also contemplated that the software identified herein may be implemented using one or more networked and / or otherwise general-purpose or special-purpose computers and / or computer systems. Where applicable, the order of the various steps described herein may be changed, combined into compound steps, and / or divided into sub-steps to provide the features described herein.

[0077] The embodiments and examples presented herein are provided to best illustrate embodiments of this application and its particular applications, thereby enabling those skilled in the art to implement and use this application. However, those skilled in the art will understand that the above description and examples are provided for ease of illustration and example only. The descriptions presented are not intended to cover all aspects of this application or to limit this application to the precise forms disclosed.

Claims

1. A method for generating a data output sequence, characterized in that, include: Receive a current data set, the current data set containing at least one data entry, wherein each data entry has a unique identifier; Obtain historical mapping relationships, which indicate the correspondence between data entry identifiers and their assigned output positions in the previous output cycle; Based on the historical mapping relationship, output positions are assigned to data entries in the current data set to form the current output sequence, wherein for data entries whose identifiers exist in the historical mapping relationship, they are assigned to the output positions indicated by the historical mapping relationship; and The historical mapping relationship is updated based on the current output sequence for use in the next output cycle.

2. The method as described in claim 1, wherein, The current data set originates from an object container that, when invoked, provides a set of data entries updated based on the detection results of the environment, and the data entries contained in the object container correspond to the detected objects.

3. The method as described in claim 1, wherein, The historical mapping relationship is implemented through a historical identifier list. Each entry in the historical identifier list corresponds to an output position and stores the data entry identifier that occupied that output position in the previous output cycle.

4. The method of claim 1, wherein, Assigning output locations to data entries in the current dataset includes: For data entries whose identifiers do not exist in the historical mapping, they are assigned to an empty output location.

5. The method of claim 4, wherein, For data entries whose identifiers do not exist in the historical mapping, assigning them to an empty output location includes: The data entry is assigned to the first available free output position found, based on the index order of the output positions.

6. The method of claim 1, wherein, The method further includes: After assigning positions to all data entries in the current data set, a preset default value is filled into the unoccupied output positions in the current output sequence.

7. The method of claim 3, wherein, Updating the historical mapping relationship based on the current output sequence includes: A current identifier list is formed based on the data entry identifiers assigned to each output position in the current output sequence; The current identifier list replaces the historical identifier list, which serves as the historical mapping relationship for the next output cycle.

8. The method of claim 1, wherein, The current output sequence is used to generate vehicle communication bus signals, which include at least one of controller area network bus signals, vehicle Ethernet signals, LIN bus signals, and FlexRay bus signals; each output position in the current output sequence is sequentially mapped to a predefined signal field in the vehicle communication bus signal.

9. The method of claim 1, wherein, The method is executed by the sensor gateway unit within the millimeter-wave radar, and the data entries in the current data set correspond to the target reflection points detected by the millimeter-wave radar, with the unique identifier being the identifier of the target reflection point.

10. An electronic device, characterized in that, It comprises: a memory; a processor; and a computer program stored on the memory and executable on the processor, the execution of which causes the method according to any one of claims 1-8 to be performed.

11. The electronic device of claim 10, wherein, The electronic device is a vehicle domain controller or a camera.

12. The electronic device of claim 10, wherein, The electronic device is a millimeter-wave radar, and the data entries in the current data set correspond to the target reflection points detected by the millimeter-wave radar. The unique identifier is the identifier of the target reflection point.

13. A data processing system, characterized in that, include: The sensing unit is used to acquire environmental information and generate sensing data. The electronic device of claim 10, wherein the electronic device is communicatively connected to the sensing unit, and is used to receive a current data set formed based on the sensing data, and generate the current output sequence; as well as A communication interface, which is connected to the electronic device, is used to output the current output sequence.

14. The data processing system as described in claim 13, wherein, The sensing unit is a millimeter-wave radar.

15. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes instructions that, when executed, perform the method according to any one of claims 1-9.