Data interaction system and method, processor and vehicle
By designing a data interaction system, using preprocessors, buffers, trackers, controllers and back-end processors, the problem of low data interaction efficiency is solved and more efficient data interaction is achieved.
Patent Information
- Application Number
- CN202510082264.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-17
- Publication Date
- 2025-05-13
AI Technical Summary
In the prior art, data interaction efficiency is low, especially in the case of large-scale parameter configuration and multiple off-chip cache operations, resulting in limited data interaction speed.
A data interaction system is designed, including preprocessors, buffers, trackers, controllers and back-end processors. By obtaining configuration parameters from the buffer, preprocessing and tracking of video data frames is performed, and the controller is used to control the back-end processor to read features from the target storage area to determine the position and posture of the object.
By directly reading the characteristics of multiple video frames from the target storage area, the speed of data interaction is improved, the problem of low data interaction efficiency is solved, and more efficient data interaction is achieved.
Smart Images

Figure CN119992126A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data processing, and in particular to a data interaction system and method thereof, a processor and a vehicle. Background Art
[0002] At present, in the process of data exchange, the microcontroller bus (Advanced eXtensibleInterface lite, referred to as AXI lite) is usually used to read and write the registers of the front end (PL). Since AXI lite does not support burst transmission and can only read and write data of one register address at a time, when the back end (PS) needs to perform large-scale parameter configuration on the PL, the speed of data exchange will be affected.
[0003] Moreover, when the PS needs to perform calculations, it usually uses the transmission bus (Advanced eXtensibleInterface 4, referred to as AXI4) to write data to the double-rate synchronous dynamic random access memory (Double Date Rate SDRAM, referred to as DDR) mounted on the PS side, and then notifies the PS to read data from the DDR. Since the above reading method involves two off-chip cache operations, and the PL side needs to interact with the DDR controller through the AX4 bus, the speed of data interaction will also be affected, resulting in a technical problem of low efficiency of data interaction.
[0004] Currently, no effective solution has been proposed to the above-mentioned technical problem of low efficiency of data interaction. Summary of the invention
[0005] The embodiments of the present invention provide a data interaction system and method thereof, a processor and a vehicle, so as to at least solve the technical problem of low efficiency of data interaction.
[0006] According to one aspect of an embodiment of the present invention, a data interaction system is provided, which may include: a preprocessor, a buffer, a tracker, a controller and a back-end processor, wherein the preprocessor is coupled to the buffer, and is used to obtain configuration parameters from the buffer, and use the configuration parameters to perform preprocessing operations on multiple video frames in the video data, wherein the configuration parameters are used to represent parameters configured for the multiple video frames; the tracker is coupled to the preprocessor, and is used to perform tracking operations on the multiple preprocessed video frames to obtain features of the multiple video frames; the controller is coupled to the buffer and the back-end processor, and is used to control the back-end processor to read the features from the target storage area in response to the features being written into the target storage area of the buffer, so as to determine the position and posture of the object recorded in the video data during the movement.
[0007] Optionally, the controller is used to write a first parameter identifier in the interaction identification area of the cache in response to the interactive system having completed power-on, wherein the first parameter identifier is used to indicate that the configuration parameter is in a state in the first storage area that has not been written to the target storage area; the back-end processor is used to write the configuration parameter in the first storage area in response to reading the first parameter identifier in the interaction identification area; and, in response to the configuration parameter having completed writing in the first storage area, write a second parameter identifier in the interaction identification area, wherein the second parameter identifier is used to indicate that the configuration parameter is in a state of being written to the first storage area; the controller is used to read the configuration parameter from the first storage area in response to reading the second parameter identifier in the interaction identification area, and parse the read configuration parameter; the preprocessor is used to obtain the parsed configuration parameter from the controller.
[0008] Optionally, the multiple video frames include at least a first video frame and a second video frame, the second video frame being the next video frame of the first video frame in the video data, and the features include a first feature of the first video frame and a second feature of the second video frame, wherein the controller is used to write a first feature identifier in an interactive identification area of the cache in response to the first feature having been written to a first storage area in a target storage area, wherein the first feature identifier is used to indicate that the feature is in a state of being written to the target storage area; and the back-end processor is used to read the first feature from the first storage area in response to reading the first feature identifier in the interactive identification area.
[0009] Optionally, the back-end processor is used to write a second feature identifier in the interactive identification area in response to reading the first feature, wherein the second feature identifier is used to indicate that the second feature is in a second storage area that has not been written to the target storage area, and the address occupied by the second storage area in the cache is different from the address occupied by the first storage area in the cache; the controller is used to write the second feature in the second storage area in response to reading the second feature identifier in the interactive identification area.
[0010] Optionally, the controller is used to write the first feature identifier in the interactive identification area in response to the second feature having been written in the second storage area; the back-end processor is used to read the second feature from the second storage area in response to reading the first feature identifier in the interactive identification area.
[0011] Optionally, a preprocessor is used to determine the next video frame of the second video frame as the first video frame, and determine the next video frame of the first video frame as the second video frame, and return to execute the steps of writing the first feature identifier in the interactive identification area in response to the first feature having been written into the first storage area, reading the first feature from the first storage area in response to the first feature identifier being read in the interactive identification area; writing the second feature identifier in the interactive identification area in response to the first feature having been read; writing the second feature in the second storage area in response to the second feature identifier being read in the interactive identification area; and writing the first feature identifier in the interactive identification area in response to the second feature having been written into the second storage area; and reading the second feature from the second storage area in response to the first feature identifier being read in the interactive identification area, until the first video frame or the second video frame is the last video frame in the video data.
[0012] Optionally, the tracker is used to perform a detection operation on the multiple preprocessed video frames, and perform a tracking operation on the multiple detected video frames to obtain features.
[0013] According to another aspect of an embodiment of the present invention, a data interaction method is provided, which can be applied to a data interaction system, and the method may include: obtaining configuration parameters from a cache, and using the configuration parameters to perform preprocessing operations on multiple video frames in the video data, wherein the configuration parameters are used to represent parameters configured for the multiple video frames; performing tracking operations on the preprocessed multiple video frames to obtain features of the multiple video frames; in response to the features having been written to a target storage area of the cache, reading the features from the target storage area to determine the position and posture of the object recorded in the video data during the motion process.
[0014] According to another aspect of an embodiment of the present invention, a vehicle is provided, comprising: a memory storing an executable program; and a processor for running the program, wherein the program executes any one of the above methods when running.
[0015] According to another aspect of an embodiment of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium including a stored executable program, wherein when the executable program runs, the device where the storage medium is located is controlled to execute any one of the above methods.
[0016] According to yet another aspect of an embodiment of the present invention, a computer program product is provided. The computer program product includes a computer program. When the computer program is executed by a processor, any one of the above methods is implemented.
[0017] In an embodiment of the present invention, when data interaction is performed using a data interaction system, the preprocessor can be used to obtain configuration parameters from a buffer, and use the obtained configuration parameters to perform preprocessing operations on multiple video frames in the video data, the tracker can be used to perform tracking operations on the preprocessed multiple video frames to obtain features of multiple video frames, and the controller can be used to control the back-end processor to read features from the target storage area in response to the features of multiple video frames being written into the target storage area of the buffer, so as to determine the position and posture of the object recorded in the video data during the movement. Because in the embodiment of the present application, when the features of multiple video frames have been written into the target storage area of the buffer, the back-end controller can be used to directly read the features of multiple video frames from the above-mentioned target storage area in sequence, thereby achieving the purpose of ensuring the speed of data interaction, thereby solving the technical problem of low efficiency of data interaction, and further achieving the technical effect of improving the efficiency of data interaction. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0019] FIG. 1( a ) is a schematic diagram of a data interaction system according to an embodiment of the present invention;
[0020] FIG1( b ) is a schematic diagram of an application scenario of a data interaction method according to an embodiment of the present invention;
[0021] FIG1( c ) is a flow chart of a data interaction method according to an embodiment of the present invention;
[0022] FIG. 2( a ) is a schematic diagram of a VIO front-end and back-end interaction system based on FPGA according to an embodiment of the present invention;
[0023] FIG2( b ) is a schematic diagram of an on-chip public cache unit according to an embodiment of the present invention;
[0024] FIG2( c ) is a flow chart of a method for writing VIO front-end and back-end parameters based on FPGA according to an embodiment of the present invention;
[0025] FIG2( d ) is a flow chart of a VIO front-end and back-end interaction method based on FPGA according to an embodiment of the present invention;
[0026] FIG2( e ) is a schematic diagram of data interaction between a vehicle and a server according to an embodiment of the present invention;
[0027] Figure 3 is a structural block diagram of a vehicle according to an embodiment of the present invention. DETAILED DESCRIPTION
[0028] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0029] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0030] FIG1( a ) is a schematic diagram of a data interaction system according to an embodiment of the present invention. The interaction system 100 may include: a preprocessor 101 , a buffer 102 , a tracker 103 , a controller 104 and a backend processor 105 .
[0031] The preprocessor 101 is coupled to the buffer 102 and is used to obtain configuration parameters from the buffer 102 and perform preprocessing operations on multiple video frames in the video data using the configuration parameters, wherein the configuration parameters are used to represent parameters configured for the multiple video frames.
[0032] In the technical solution provided by the above-mentioned preprocessor 101 of the present invention, the above-mentioned preprocessor 101 can be deployed in an image preprocessing unit.
[0033] In this embodiment, the cache 102 may be deployed in an on-chip public cache unit.
[0034] In this embodiment, the above configuration parameters may be used to represent the parameters configured for multiple video frames. The above configuration parameters may include at least one of the following parameters or a combination thereof: dedistortion parameters, denoising parameters, and explicit parameters, etc. The dedistortion parameters may be used to represent the parameters required for dedistortion processing of multiple video frames, the denoising parameters may be used to represent the parameters required for denoising processing of multiple video frames, and the explicit parameters may be used to represent the parameters required for feature enhancement of multiple video frames.
[0035] In this embodiment, it is determined whether the interactive system of the data has been powered on. If it is determined that the interactive system of the data has been powered on, the preprocessor coupled to the buffer can obtain the above configuration parameters from the interactive identification area of the buffer, and the preprocessor coupled to the buffer can use the obtained configuration parameters to perform preprocessing operations on multiple video frames in the video data to obtain multiple preprocessed video frames. For example, since the multiple video frames include a first video frame and a second video frame, the preprocessor uses the obtained configuration parameters to perform a preprocessing operation on the first video frame to obtain a preprocessed first video frame, and also uses the obtained configuration parameters to perform a preprocessing operation on the second video frame to obtain a preprocessed second video frame, wherein the second video frame can be the next video frame of the first video frame in the video data, and the video frame on which the preprocessing operation is performed is only used as an example and is not specifically limited.
[0036] The tracker 103 is coupled to the preprocessor 101 and is used to perform a tracking operation on the preprocessed multiple video frames to obtain features of the multiple video frames.
[0037] In the technical solution provided by the tracker 103 of the present invention, the tracker 103 can be deployed in an image feature point detection and tracking unit.
[0038] In this embodiment, after the preprocessor performs a preprocessing operation on multiple video frames in the video data, a tracker coupled to the preprocessor receives the preprocessed multiple video frames and performs a tracking operation on the received preprocessed multiple video frames to obtain features of the multiple video frames. For example, since the multiple video frames include a first video frame and a second video frame, the tracker receives the preprocessed first video frame and the preprocessed second video frame. The tracker performs a tracking operation on the received preprocessed first video frame to obtain a first feature of the first video frame, and the tracker performs a tracking operation on the received preprocessed second video frame to obtain a second feature of the second video frame.
[0039] The controller 104 is coupled to the buffer 102 and the back-end processor 105, and is used to control the back-end processor 105 to read the features from the target storage area in response to the features being written into the target storage area of the buffer 102, so as to determine the position and posture of the object recorded in the video data during the movement.
[0040] In the technical solution provided by the controller 104 of the present invention, the controller 104 may be deployed in a cache control unit.
[0041] In this embodiment, the target storage area may include different storage areas, and different storage areas may be used to store features of different video frames. The back-end processor may be deployed on the PS side. The objects recorded in the video data may include at least one of the following objects or a combination thereof: vehicles, aircraft, and drones, etc., which are only given as examples and are not specifically limited.
[0042] In this embodiment, after the tracker performs tracking operations on the preprocessed multiple video frames to obtain features of the multiple video frames, a controller coupled to the buffer and the back-end processor determines whether the features of the multiple video frames have been written into the target storage area of the buffer. If it is determined that the features of the multiple video frames have been written into the target storage area of the buffer, the above-mentioned controller can control the back-end processor to read the features of the multiple video frames from the target storage area to determine the position and posture of the object recorded in the video data during the movement.
[0043] Optionally, since the multiple video frames include a first video frame and a second video frame, the above-mentioned controller determines whether the first feature of the first video frame has been written into the target storage area of the cache. If it is determined that the first feature of the first video frame has been written into the target storage area of the cache, the above-mentioned controller can control the back-end processor to read the first feature of the first video frame from the target storage area. The above-mentioned controller also determines whether the second feature of the second video frame has been written into the target storage area of the cache. If it is determined that the second feature of the second video frame has been written into the target storage area of the cache, the above-mentioned controller can control the back-end processor to read the second feature of the second video frame from the target storage area to determine the position and posture of the object recorded in the video data during the movement. The features of the video frames written into the target storage area are here only for illustration and are not specifically limited.
[0044] It should be noted that the above method of controlling the back-end processor to read the feature from the target storage area in response to the feature being written into the target storage area of the buffer is only an example and is not specifically limited here. As long as it is possible to control the back-end processor to read the feature from the target storage area when it is determined that the features of multiple video frames have been written into the target storage area of the buffer, the process and method are within the protection scope of the embodiments of the present application and will not be described one by one here.
[0045] In the data interaction system of the present application, when the data interaction system is used for data interaction, the preprocessor can be used to obtain configuration parameters from the buffer, and use the obtained configuration parameters to perform preprocessing operations on multiple video frames in the video data, the tracker can be used to perform tracking operations on the preprocessed multiple video frames to obtain the features of the multiple video frames, and the controller can be used to control the back-end processor to read the features from the target storage area in response to the features of the multiple video frames being written into the target storage area of the buffer, so as to determine the position and posture of the object recorded in the video data during the movement. Because in the embodiment of the present application, when the features of multiple video frames have been written into the target storage area of the buffer, the back-end controller can be used to directly read the features of multiple video frames from the above-mentioned target storage area in sequence, thereby achieving the purpose of ensuring the speed of data interaction, thereby solving the technical problem of low efficiency of data interaction, and then achieving the technical effect of improving the efficiency of data interaction.
[0046] The above method of this embodiment is further introduced below.
[0047] As an optional embodiment, the controller 101 is used to write a first parameter identifier in an interaction identification area of a cache in response to the interaction system having completed power-on; the back-end processor 105 is used to write the configuration parameters in a first storage area in response to reading the first parameter identifier in the interaction identification area; and, in response to the configuration parameters having been written in the first storage area, write a second parameter identifier in the interaction identification area; the controller 104 is used to read the configuration parameters from the first storage area in response to reading the second parameter identifier in the interaction identification area, and parse the read configuration parameters; the preprocessor 101 is used to obtain the parsed configuration parameters from the controller 101.
[0048] In this embodiment, the first parameter identifier can be used to indicate that the configuration parameter is in the first storage area that is not written into the target storage area. For example, the first parameter identifier can be represented by 0x7777_7777, which is only used as an example and is not specifically limited.
[0049] In this embodiment, the interaction identification area may be used to indicate an area for recording the write status of configuration parameters. For example, the interaction identification area may be an area at an address of 0 in the buffer.
[0050] In this embodiment, the controller determines whether the data interaction system has been powered on. If it is determined that the data interaction system has been powered on, the controller writes a first parameter identifier in the interaction identification area of the cache, thereby achieving the purpose of recording in the cache that the configuration parameters are in a state of not being written to the first storage area, and realizing the technical effect of ensuring the accuracy of the storage of the configuration parameters.
[0051] In this embodiment, the second parameter identifier may be used to indicate that the configuration parameter is in a state of being written into the first storage area. For example, the second parameter identifier may be represented by 0x8888_8888, which is only used as an example and is not specifically limited.
[0052] In this embodiment, after the controller writes the first parameter identifier in the interactive identification area of the buffer in response to the interactive system having completed power-on, the back-end processor reads the first parameter identifier in the interactive identification area. If the back-end processor reads the first parameter identifier in the interactive identification area, the back-end processor can write the configuration parameters in the first storage area. The back-end processor then determines whether the configuration parameters have been written into the first storage area. If it is determined that the configuration parameters have been written into the first storage area, the second parameter identifier can be written into the interactive identification area, thereby achieving the purpose of recording in the buffer that the configuration parameters are in the state of being written into the first storage area, and realizing the technical effect of improving the reading rate of the configuration parameters.
[0053] In this embodiment, after the back-end processor writes the second parameter identifier in the interactive identification area in response to the completion of writing the configuration parameters in the first storage area, the controller reads the second parameter identifier in the interactive identification area and determines whether the second parameter identifier is read in the interactive identification area. If it is determined that the second parameter identifier is read in the interactive identification area, the controller can read the configuration parameters written in the first storage area from the first storage area and parse the above-mentioned configuration parameters after reading.
[0054] In this embodiment, after the controller reads the configuration parameters from the first storage area in response to reading the second parameter identifier in the interaction identification area and parses the read configuration parameters, the preprocessor can obtain the parsed configuration parameters by transmitting data with the controller.
[0055] The controller and the back-end processor of this embodiment are further described below.
[0056] As an optional implementation method, the multiple video frames include at least a first video frame and a second video frame, the second video frame is the next video frame of the first video frame in the video data, and the features include a first feature of the first video frame and a second feature of the second video frame, wherein the controller 104 is used to write a first feature identifier in the interactive identification area of the cache 102 in response to the first feature having been written to the first storage area in the target storage area, wherein the first feature identifier is used to indicate that the feature is in a state of being written to the target storage area; the back-end processor 105 is used to read the first feature from the first storage area in response to reading the first feature identifier in the interactive identification area.
[0057] In this embodiment, the plurality of video frames may include at least a first video frame and a second video frame, and the second video frame may be the next video frame of the first video frame in the video data.
[0058] In this embodiment, the above-mentioned features may include a first feature of the first video frame and a second feature of the second video frame, wherein the first feature may be used to represent the feature of the first video frame, and the second feature may be used to represent the feature of the second video frame.
[0059] In this embodiment, the first feature identifier can be used to indicate that the feature is in a state of being written into the target storage area. For example, the first feature identifier can be represented by 0x5555_5555, which is only used as an example and is not specifically limited.
[0060] In this embodiment, after the tracker performs tracking operations on multiple preprocessed video frames to obtain features of the multiple video frames, the controller determines whether the first feature has been written into the first storage area in the target storage area. If it is determined that the first feature has been written into the first storage area in the target storage area, the controller can write the first feature identifier into the interactive identification area of the cache, thereby achieving the purpose of recording in the cache that the first feature is in a state of being written into the first storage area, and realizing the technical effect of ensuring the accuracy of the storage of the first feature.
[0061] In this embodiment, after the controller writes the first feature identifier in the interactive identification area of the cache in response to the first feature having been written into the first storage area in the target storage area, the back-end processor reads the first feature identifier in the interactive identification area and determines whether the first feature identifier is read in the interactive identification area. If the back-end processor determines that the first feature identifier is read in the interactive identification area, the back-end processor can read the first feature of the first video frame from the first storage area, thereby achieving the purpose of reading the features of the video frame and realizing the technical effect of improving the efficiency of data interaction.
[0062] The controller and the back-end processor of this embodiment are further described below.
[0063] As an optional implementation method, the back-end processor 105 is used to write a second feature identifier in the interactive identification area in response to reading the first feature, wherein the second feature identifier is used to indicate that the second feature is in a second storage area that has not been written to the target storage area, and the address occupied by the second storage area in the cache 102 is different from the address occupied by the first storage area in the cache 102; the controller 104 is used to write the second feature in the second storage area in response to reading the second feature identifier in the interactive identification area.
[0064] In this embodiment, the second feature identifier can be used to indicate that the feature is in the second storage area that is not written into the target storage area. For example, the second feature identifier can be represented by 0xAAAA_AAAA, which is only used as an example and is not specifically limited.
[0065] In this embodiment, the address occupied by the second storage area in the buffer may be different from the address occupied by the first storage area in the buffer. For example, the address occupied by the first storage area in the buffer may be from address 1 to address 4095, and the address occupied by the second storage area in the buffer may be from address 4096 to address 8191. The address numbers are only used for illustration and are not specifically limited.
[0066] In this embodiment, after the back-end processor reads the first feature from the first storage area in response to reading the first feature identifier in the interactive identification area, the back-end processor determines whether the first feature has been read from the first storage area. If it is determined that the first feature has been read from the first storage area, the back-end processor writes the second feature identifier in the interactive identification area, thereby achieving the purpose of recording in the cache that the second feature is in a state of not being written to the second storage area, and realizing the technical effect of ensuring the accuracy of the storage of the second feature.
[0067] In this embodiment, after the back-end processor writes the second feature identifier in the interactive identification area in response to having read the first feature, the controller determines whether the second feature identifier is read in the interactive identification area. If it is determined that the second feature identifier is read in the interactive identification area, the controller writes the second feature of the second video frame in the second storage area in the target storage area, thereby achieving the purpose of storing the second feature in the cache and realizing the technical effect of ensuring the security of the second feature.
[0068] The controller and the back-end processor of this embodiment are further described below.
[0069] As an optional implementation method, the controller 104 is used to write the first feature identifier in the interactive identification area in response to the second feature having been written in the second storage area; the back-end processor 105 is used to read the second feature from the second storage area in response to reading the first feature identifier in the interactive identification area.
[0070] In this embodiment, after the controller writes the second feature in the second storage area in response to reading the second feature identifier in the interactive identification area, the controller determines whether the second feature has been written in the second storage area. If it is determined that the second feature has been written in the second storage area, the controller may write the first feature identifier in the interactive identification area, thereby achieving the purpose of recording in the cache that the second feature is in a state of being written in the second storage area, and realizing the technical effect of ensuring the accuracy of the storage of the second feature.
[0071] In this embodiment, after the controller writes the first feature identifier in the interactive identification area in response to the second feature having been written into the second storage area, the back-end processor reads the first feature identifier in the interactive identification area and determines whether the first feature identifier is read in the interactive identification area. If it is determined that the first feature identifier is read in the interactive identification area, the back-end processor can read the second feature of the second video frame from the second storage area, thereby achieving the purpose of reading the features of the video frame and realizing the technical effect of improving the efficiency of data interaction.
[0072] The above-mentioned preprocessor of this embodiment is further explained below.
[0073] As an optional implementation method, the preprocessor 101 is used to determine the next video frame of the second video frame as the first video frame, and determine the next video frame of the first video frame as the second video frame, and return to execute the steps of writing the first feature identifier in the interactive identification area in response to the first feature having been written into the first storage area, reading the first feature from the first storage area in response to the first feature identifier being read in the interactive identification area; writing the second feature identifier in the interactive identification area in response to the first feature having been read; writing the second feature in the second storage area in response to the second feature identifier being read in the interactive identification area; and writing the first feature identifier in the interactive identification area in response to the second feature having been written into the second storage area; reading the second feature from the second storage area in response to the first feature identifier being read in the interactive identification area, until the first video frame or the second video frame is the last video frame in the video data.
[0074] In this embodiment, the preprocessor determines the next video frame of the second video frame as the first video frame, and determines the next video frame of the first video frame as the second video frame, and then returns to execute the steps of writing the first feature identifier in the interactive identification area in response to the first feature having been written into the first storage area, reading the first feature from the first storage area in response to the first feature identifier being read in the interactive identification area; writing the second feature identifier in the interactive identification area in response to the first feature having been read; writing the second feature in the second storage area in response to the second feature identifier being read in the interactive identification area; and writing the first feature identifier in the interactive identification area in response to the second feature having been written into the second storage area; and reading the second feature from the second storage area in response to the first feature identifier being read in the interactive identification area, until the first video frame or the second video frame is the last video frame in the video data, thereby achieving the purpose of being able to read the features of the video frames in the video data and realizing the technical effect of improving the efficiency of data interaction.
[0075] The tracker of this embodiment is further described below.
[0076] As an optional implementation manner, the tracker 103 is used to perform a detection operation on the multiple preprocessed video frames, and perform a tracking operation on the multiple detected video frames to obtain features.
[0077] In this embodiment, after the preprocessor performs a preprocessing operation on multiple video frames in the video data, the tracker receives the preprocessed multiple video frames, performs a detection operation on the received preprocessed multiple video frames, and performs a tracking operation on the detected multiple video frames, so that features of the multiple video frames can be obtained, thereby achieving the purpose of extracting corresponding features from multiple video frames and realizing the technical effect of improving the accuracy of the acquired data.
[0078] Optionally, since the multiple video frames include a first video frame and a second video frame, the tracker receives the preprocessed first video frame and the preprocessed second video frame. The tracker performs a detection operation on the received preprocessed first video frame and performs a tracking operation on the detected first video frame to obtain a first feature of the first video frame, and the tracker performs a detection operation on the received preprocessed second video frame and performs a tracking operation on the detected second video frame to obtain a second feature of the second video frame.
[0079] In the embodiment of the present application, when the data interaction system is used to interact with data, the preprocessor can be used to obtain configuration parameters from the buffer, and use the obtained configuration parameters to perform preprocessing operations on multiple video frames in the video data, the tracker can be used to perform tracking operations on the preprocessed multiple video frames to obtain the features of the multiple video frames, and the controller can be used to control the back-end processor to read the features from the target storage area in response to the features of the multiple video frames being written into the target storage area of the buffer, so as to determine the position and posture of the object recorded in the video data during the movement. In the embodiment of the present application, when the features of multiple video frames have been written into the target storage area of the buffer, the back-end controller can be used to directly read the features of multiple video frames from the above-mentioned target storage area in sequence, thereby achieving the purpose of ensuring the speed of data interaction, thereby solving the technical problem of low efficiency of data interaction, and then achieving the technical effect of improving the efficiency of data interaction.
[0080] According to an embodiment of the present invention, an embodiment of a data interaction method is also provided.
[0081] As an optional implementation, the data interaction method described above may be applied to, but not limited to, an application scenario as shown in FIG. 1(b). FIG. 1(b) is a schematic diagram of an application scenario of a data interaction method according to an embodiment of the present invention. As shown in FIG. 1(b), in the application scenario, the mobile terminal 10 may, but not limited to, communicate with the server 13 through the network 11, and the server 13 may, but not limited to, perform operations on the database, such as write data operations or read data operations. The mobile terminal 10 may be a terminal device, and the terminal device may include, but not limited to, a smart phone, a human-computer interaction screen, a processor, and a memory. The human-computer interaction screen may, but not limited to, be used to display a virtual machine on the mobile terminal 10. The vehicle 12 may, but not limited to, be used to respond to the human-computer interaction operation, perform a corresponding operation, or generate a corresponding instruction, and send the generated instruction to the server 13. It should be noted that the steps shown in the flowchart of the accompanying drawings may be executed in a computer system such as a set of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that here.
[0082] For example, the data interaction method in this application can be used to provide data interaction functions for preset application scenarios. The above-mentioned preset application scenarios may include the following scenarios in the vehicle field: commuting automatic driving scenarios, artificial intelligence (AI) driving scenarios for family cars, automatic parking assistance (APA) scenarios (such as memory parking for owned parking spaces in garages, smart parking for designated parking spaces in parking lots, etc.) and smart navigation assistance (Navigation Guided Pilot, NGP for short) scenarios in urban areas or high-speed areas, etc. In addition, the above-mentioned preset application scenarios may also include, but are not limited to: intelligent transportation scenarios of smart driving trucks or unmanned trucks in the field of logistics and transportation, and intelligent farming scenarios of self-driving agricultural vehicles in the field of agricultural machinery, etc.
[0083] When the above-mentioned preset application scenarios are scenarios in fields other than the vehicle field, those skilled in the art should be able to understand that the vehicle in the above-mentioned vehicle numbering method can be replaced with other objects (for example, agricultural machinery, drones, and robots, etc.), and correspondingly, the various devices and systems included in the vehicle can be replaced with devices and systems related to other objects. On this basis, in the embodiments of the present application, the specific implementation method of the above-mentioned vehicle numbering method is exemplified by taking the vehicle field as an example.
[0084] FIG1(c) is a flow chart of a data interaction method according to an embodiment of the present invention, which can be applied to a data interaction system. As shown in FIG1(c), the method may include the following steps:
[0085] Step S122, obtaining configuration parameters from the buffer, and using the configuration parameters to perform preprocessing operations on multiple video frames in the video data, wherein the configuration parameters are used to represent parameters configured for the multiple video frames.
[0086] In the technical solution provided in the above step S122 of the present invention, the above configuration parameters can be used to represent parameters configured for multiple video frames.
[0087] In this embodiment, configuration parameters are obtained from the buffer, and the configuration parameters are used to perform preprocessing operations on multiple video frames in the video data. Optionally, this embodiment determines whether the interactive system of the data has been powered on. If it is determined that the interactive system of the data has been powered on, the above configuration parameters can be obtained from the interactive identification area of the buffer, and the obtained configuration parameters can be used to perform preprocessing operations on multiple video frames in the video data to obtain multiple preprocessed video frames.
[0088] Optionally, since the multiple video frames include a first video frame and a second video frame, the acquired configuration parameters can be used to perform a preprocessing operation on the first video frame to obtain a preprocessed first video frame, and the acquired configuration parameters can be used to perform a preprocessing operation on the second video frame to obtain a preprocessed second video frame, wherein the second video frame can be the next video frame of the first video frame in the video data, and the video frame on which the preprocessing operation is performed here is only for illustration and is not specifically limited.
[0089] Step S124, performing a tracking operation on the preprocessed multiple video frames to obtain features of the multiple video frames.
[0090] In the technical solution provided in the above step S124 of the present invention, after obtaining configuration parameters from the buffer and performing a preprocessing operation on multiple video frames in the video data using the configuration parameters, a tracking operation is performed on the preprocessed multiple video frames to obtain features of the multiple video frames. Optionally, this embodiment performs a tracking operation on the preprocessed multiple video frames on the basis of performing a preprocessing operation on the multiple video frames in the video data to obtain features of the multiple video frames. For example, since the multiple video frames include a first video frame and a second video frame, a tracking operation can be performed on the preprocessed first video frame to obtain a first feature of the first video frame, and a tracking operation can be performed on the preprocessed second video frame to obtain a second feature of the second video frame.
[0091] Step S126, in response to the feature being written into the target storage area of the buffer, reading the feature from the target storage area to determine the position and posture of the object recorded in the video data during the movement.
[0092] In the technical solution provided in the above step S126 of the present invention, after performing a tracking operation on the pre-processed multiple video frames to obtain the features of the multiple video frames, in response to the features being written into the target storage area of the buffer, the features are read from the target storage area to determine the position and posture of the object recorded in the video data during the motion process. Optionally, this embodiment determines whether the features of the multiple video frames have been written into the target storage area of the buffer on the basis of obtaining the features of the multiple video frames. If it is determined that the features of the multiple video frames have been written into the target storage area of the buffer, the features of the multiple video frames can be read from the target storage area to determine the position and posture of the object recorded in the video data during the motion process.
[0093] Optionally, since the multiple video frames include a first video frame and a second video frame, it can be judged whether the first feature of the first video frame has been written into the target storage area of the cache. If it is judged that the first feature of the first video frame has been written into the target storage area of the cache, the first feature of the first video frame can be read from the target storage area. It can also be judged whether the second feature of the second video frame has been written into the target storage area of the cache. If it is judged that the second feature of the second video frame has been written into the target storage area of the cache, the second feature of the second video frame can be read from the target storage area to determine the position and posture of the object recorded in the video data during the movement. The features of the video frames written into the target storage area are here only for illustration and are not specifically limited.
[0094] It should be noted that the data interaction method in this application can also be applied to at least the following scenarios: charging scenarios, autonomous driving scenarios, assisted driving scenarios, and passive driving scenarios (which can be referred to as human driving scenarios). Among them, the charging scenario can be used to indicate the scenario where the vehicle's power supply equipment (e.g., battery or battery pack or battery pack, etc.) needs to be charged, the autonomous driving scenario can be used to indicate the scenario where the vehicle's control system controls the vehicle's driving during the driving process, and the driving subject does not need to maintain control and supervision of the driving, the assisted driving scenario can be used to indicate the scenario where the vehicle's control system provides auxiliary functions during the driving process, but the driving subject still needs to maintain control and supervision of the driving, and the passive driving scenario can be used to indicate the scenario where the driving subject controls the vehicle to complete the driving operation.
[0095] In the artificial intelligence AI driving of autonomous vehicles, commuting mode usually refers to a driving mode designed for commuting or daily commuting. Among them, the AI driving can collect data by learning the user's driving route and driving behavior. When all the learning is completed, the collected data is screened and checked, and then the full segment of data after screening and checking is automatically transmitted back to the cloud server to execute the construction of the cloud map. The next time you drive and choose the same route, the AI driving will be activated, and the vehicle will be driven to the destination of the route according to the constructed cloud map. Among them, matching and complementing the offline map with the constructed cloud map can improve the accuracy of the cloud map.
[0096] In the above steps S122 to S126 of the present application, when the data interaction system is used to interact with data, configuration parameters can be obtained from the buffer, and the obtained configuration parameters are used to perform preprocessing operations on multiple video frames in the video data, and tracking operations are performed on the multiple video frames after preprocessing, so that the features of the multiple video frames can be obtained. In response to the fact that the features of the obtained multiple video frames have been written into the target storage area of the buffer, the above features can be read from the target storage area to determine the position and posture of the object recorded in the video data during the movement. Since in the embodiment of the present application, when the features of multiple video frames have been written into the target storage area of the buffer, the features of multiple video frames can be directly read from the above target storage area in sequence, thereby achieving the purpose of ensuring the speed of data interaction, thereby solving the technical problem of low efficiency of data interaction, and then achieving the technical effect of improving the efficiency of data interaction.
[0097] The technical solution of the embodiment of the present invention is illustrated below in conjunction with preferred implementation modes.
[0098] At present, in the process of data exchange, the AXI lite bus is usually used to read and write the PL registers. Since AXI lite does not support burst transmission, it can only read and write data of one register address at a time. When the PS side needs to perform large-scale parameter configuration on the PL, the speed of data exchange will be affected.
[0099] Moreover, when the PS needs to perform calculations, it usually uses the AXI4 bus to write data to the DDR mounted on the PS side, and then notifies the PS to read data from the DDR. The above reading method involves two off-chip cache operations, and the PL side needs to interact with the DDR controller through the AX4 bus, which will affect the speed of data interaction, resulting in a technical problem of low efficiency of data interaction.
[0100] However, an embodiment of the present invention proposes a data interaction method, wherein a preprocessor performs a preprocessing operation on multiple video frames using configuration parameters read from a buffer, and a tracker performs a tracking operation on the preprocessed multiple video frames, thereby obtaining features of the multiple video frames. A controller controls a back-end processor to read features from the target storage area in response to the features being written into the target storage area of the buffer, so as to determine the position and posture of the object recorded in the video data during the motion process, thereby achieving the purpose of ensuring the speed of data interaction, thereby solving the technical problem of low efficiency of data interaction, and further achieving the technical effect of improving the efficiency of data interaction.
[0101] In this embodiment, using a front-end and back-end interactive system of a visual inertial odometry (VIO) based on a field-programmable gate array (FPGA), when the features of multiple video frames have been written into a target storage area of a buffer, the features of multiple video frames can be read directly from the target storage area in sequence using a back-end controller. For example, FIG2(a) is a schematic diagram of a front-end and back-end interactive system of a VIO based on an FPGA according to an embodiment of the present invention. As shown in FIG2(a), the system may include: a front-end processor 200 and a back-end processor 208, wherein the front-end processor 200 may include: an image data acquisition unit 202, an image preprocessing unit 203, an image feature point detection and tracking unit 204, an on-chip common cache unit 205, an interface conversion unit 206, and a cache control unit 207.
[0102] In this embodiment, the image capture unit 201 may be used to control a capture device to acquire video data, wherein the capture device may include but is not limited to: a drone, a binocular camera, a video camera, and the like.
[0103] In this embodiment, the image data acquisition unit 202 can obtain the video data from the image capture unit 201 through a Mobile Industry Processor Interface (hereinafter referred to as a mobile industry processor interface), and send the obtained video data to the image preprocessing unit 203 .
[0104] In this embodiment, the above-mentioned image preprocessing unit 203 can be used to perform preprocessing operations on multiple video frames in the above-mentioned video data received, wherein the preprocessing operation may include at least one of the following operations or a combination thereof: de-distortion operation, denoising operation and feature enhancement operation, etc.
[0105] In this embodiment, the above-mentioned image feature point detection and tracking unit 204 can be used to perform feature point detection operations on multiple preprocessed video frames, and perform tracking operations on multiple video frames after detection, so as to obtain features of multiple video frames. The above-mentioned image feature point detection and tracking unit 204 can also be used to send the obtained features of the above-mentioned multiple video frames to the on-chip public cache unit 205.
[0106] In this embodiment, the above-mentioned on-chip public cache unit 205 can be used to store features of multiple video frames.
[0107] In this embodiment, the interface conversion unit 206 can be used to convert the data under the AXI4 bus protocol output by the PS into data under the local read-write bus protocol.
[0108] In this embodiment, the cache control unit 207 may be used to control a read operation and / or a write operation performed on the on-chip public cache unit 205 .
[0109] In this embodiment, the back-end processor 208 can perform data transmission with the front-end processor 200 through a high performance (HP) interface. The back-end processor 208 can perform a read operation and / or a write operation on the on-chip public cache unit 205 on the PL side after the interface conversion is performed by the interface conversion unit 206.
[0110] In this embodiment, each area in the above-mentioned on-chip public cache unit can be as shown in Figure 2(b). For example, Figure 2(b) is a schematic diagram of an on-chip public cache unit according to an embodiment of the present invention. In the on-chip public cache unit, the data bit width of each address unit is 32 bits (bit), and the address space size of the on-chip public cache area can be 8192. Among them, the area with address 0 is the interactive identification area 210 of PL and PS, the area from address 1 to address 4095 is the data storage area 211, and the area from address 4096 to address 8191 is the data storage area 212. It should be noted that when the data storage area 211 and the data storage area 212 perform feature transmission, PL and PS can read and write the data storage area 211 and the data storage area 212 in a ping-pong operation.
[0111] In this embodiment, the FPGA-based VIO front-end and back-end parameter writing method is executed to obtain configuration parameters from the PS side. For example, FIG2(c) is a flowchart of a FPGA-based VIO front-end and back-end parameter writing method according to an embodiment of the present invention. As shown in FIG2(c), the method may include the following steps:
[0112] Step S231, determining that the data interaction system is powered on.
[0113] After it is determined that the data interactive system has been powered on, the process proceeds to step S232, where the cache control unit on the PL side writes the parameter identifier A into the interactive identification area.
[0114] In the technical solution provided in the above step S232 of the present invention, the above parameter identifier A can be 0x7777_7777, which is only used as an example here and is not specifically limited.
[0115] In this embodiment, the cache control unit on the PL side writes the parameter identifier A into the interactive identification area of the on-chip public cache unit, indicating that the PL is ready to receive the configuration parameters sent by the PS side.
[0116] After the cache control unit on the PL side writes the parameter identifier A into the interactive identification area, the process proceeds to step S233, where the back-end processor detects whether the parameter identifier A has been written into the interactive identification area.
[0117] If it is detected that parameter identifier A is not written in the interactive identification area, the process returns to step S232. If it is detected that parameter identifier A is written in the interactive identification area, the process proceeds to step S234 and step S235, where the back-end processor writes the configuration parameters to the first storage area, and the back-end processor writes parameter identifier B to the interactive identification area.
[0118] In the technical solution provided in the above step S234 of the present invention, the PS reads the interactive identification area through polling and finds that the content in the interactive identification area is the parameter identifier A, that is, the AXI4 bus is used through the HP interface, and after passing through the interface conversion unit, the configuration parameters are written in batches to the first storage area starting from address 1 in ascending order of address.
[0119] In the technical solution provided in the above step S235 of the present invention, the above parameter identifier B can be 0x8888_8888, which is only used as an example here and is not specifically limited.
[0120] After the back-end processor writes the parameter identifier B into the interaction identification area, the process proceeds to step S236, where the cache control unit detects whether the parameter identifier B has been written into the interaction identification area.
[0121] If it is detected that the parameter identifier B is not written in the interactive identification area, the process returns to step S235. If it is detected that the parameter identifier B is written in the interactive identification area, the process proceeds to step S237, where the cache control unit reads the configuration parameters from the first storage area and parses the read configuration parameters.
[0122] In the technical solution provided in the above step S237 of the present invention, after the PS sends the configuration parameters, it immediately writes the parameter identifier B into the interactive identification area. The cache control unit in the PL reads the interactive identification area by polling, and finds that the content of the interactive identification area is the parameter identifier N, that is, the configuration parameters are batch read out from the first storage area through the local interface, and after parsing, they are sent to the image preprocessing unit for use in the preprocessing operation.
[0123] In this embodiment, the FPGA-based VIO front-end and back-end interaction method is executed, and when the features of multiple video frames have been written into the target storage area of the buffer, the back-end controller can be used to read the features of multiple video frames directly from the above target storage area in sequence. For example, Figure 2(d) is a flow chart of a FPGA-based VIO front-end and back-end interaction method according to an embodiment of the present invention. As shown in Figure 2(d), the method may include the following steps:
[0124] Step S241, determining whether the front-end processor has processed one frame of feature point data.
[0125] If it is determined that the front-end processor has not processed one frame of feature point data, the process returns to step S241. If it is determined that the front-end processor has processed one frame of feature point data, the process proceeds to step S242, where the cache control unit on the PL side writes the feature point identifier C to the interactive identification area.
[0126] In the technical solution provided in the above step S242 of the present invention, the above feature point identifier C can be 0x5555_5555, which is only used as an example here and is not specifically limited.
[0127] In this embodiment, after the image feature point detection and tracking unit of the PL completes the feature point data detection and tracking processing of a frame of image (that is, VIO front-end processing), the obtained feature point data needs to be uploaded to the PS for VIO back-end processing. At this time, the cache control unit of the PL writes the above feature point data into the data storage area 211 of the on-chip public cache unit (batch writing in ascending order of address starting from address 1). After writing a frame of feature point data, the cache control unit writes the feature point identifier C into the interactive identification area (the area with address 0) of the on-chip public cache unit.
[0128] After the cache control unit on the PL side writes the feature point identifier C into the interactive identification area, the process proceeds to step S243, where the back-end processor detects whether the feature point identifier C has been written into the interactive identification area.
[0129] If it is detected that the feature point identifier C is not written in the interactive identification area, the process returns to step S242. If it is detected that the feature point identifier C is written in the interactive identification area, the process proceeds to steps S244 and S245, where the back-end processor reads a frame of feature point data and writes the feature point identifier D into the interactive identification area.
[0130] In the technical solution provided in the above step S244 of the present invention, PS reads the interactive identification area of the on-chip public cache unit through polling and finds that the content of the interactive identification area is the feature point identifier C, that is, through the HP interface using the AXI4 bus through the interface conversion unit, the feature point data is read out in batches from the data storage area 211 of the on-chip public cache unit in the order of increasing address.
[0131] In the technical solution provided in step S245 of the present invention, the feature point identifier D may be 0xAAAA_AAAA, which is only used as an example and is not specifically limited. When the PS completes reading a frame of feature point data, it immediately writes the feature point identifier D into the interactive identification area, thereby indicating that the next frame of feature point data can be received.
[0132] After the back-end processor writes the feature point identifier D into the interactive identification area, the process proceeds to step S246, where the cache control unit detects whether the feature point identifier D has been written into the interactive identification area.
[0133] If it is detected that the feature point identifier D is not written in the interactive identification area, the process returns to step S245. If it is detected that the feature point identifier D is written in the interactive identification area, the process proceeds to step S247, where the buffer control unit prepares to receive the next frame of feature point data.
[0134] In the technical solution provided by the above step S237 of the present invention, during the process of PL and PS interacting with the feature point data of the current frame, PL can concurrently process the detection and tracking of the feature point data of the next frame, achieving the effect of parallelism and pipeline. When the cache control unit in PL recognizes the feature point identifier D, that is, after storing the processed feature point data of the next frame in the data storage area 212 of the on-chip public cache unit, the feature point identifier C can be written to the interactive identification area, and the above process is repeated to operate the data storage area 212 to realize the upload operation of the feature point data of a new frame, that is, a ping-pong operation, when PS reads the data storage area 211, PL writes the data storage area 212; when PS reads the data storage area 212, PL writes the data storage area 211.
[0135] In this embodiment, the vehicle can upload the position and posture of the object recorded in the video data during the movement to the server, so that the server can record the state of the object. Figure 2(e) is a schematic diagram of data interaction between a vehicle and a server according to an embodiment of the present invention. As shown in Figure 2(e), the vehicle 250 can upload the position and posture of the above object during the movement to the server 251, and the server 251 can send the upload result to the vehicle 250, wherein the upload result can be used to indicate whether the above position and the above posture are successfully uploaded to the server.
[0136] In this embodiment, when data interaction is performed using a data interaction system, the preprocessor can be used to obtain configuration parameters from a cache, and use the obtained configuration parameters to perform preprocessing operations on multiple video frames in the video data. The tracker can be used to perform tracking operations on the preprocessed multiple video frames to obtain features of the multiple video frames. The controller can be used to control the back-end processor to read the features from the target storage area in response to the features of the multiple video frames being written into the target storage area of the cache to determine the position and posture of the object recorded in the video data during the movement, thereby achieving the purpose of ensuring the speed of data interaction, thereby solving the technical problem of low efficiency of data interaction, and further realizing the technical effect of improving the efficiency of data interaction.
[0137] According to another aspect of an embodiment of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium including a stored executable program, wherein when the executable program runs, the device where the storage medium is located is controlled to execute any one of the above methods.
[0138] According to another aspect of an embodiment of the present invention, a computer program product is provided. The computer program product includes a computer program. When the computer program is executed by a processor, any one of the above methods is implemented.
[0139] According to another aspect of an embodiment of the present invention, a vehicle is provided, including: a memory storing an executable program; and a processor running the program, wherein the program executes any one of the above methods when running.
[0140] Figure 3 is a structural block diagram of a vehicle according to an embodiment of the present invention. Figure 3 As shown, the components of the vehicle 300 include but are not limited to a memory 310 and a processor 320. The processor 320 is connected to the memory 310 via a bus 330, and the database 350 is used to store data.
[0141] The vehicle 300 may also include an access device 340 that enables the vehicle 300 to communicate via one or more networks 360. Examples of these networks include a Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a Personal Area Network (PAN), or a combination of communication networks such as the Internet. The access device 340 may include one or more of any type of network interface (e.g., a network interface controller (NIC)) of wired or wireless, such as an IEEE 802.11 wireless local area network (WLAN) wireless interface, a Worldwide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, a Near Field Communication (NFC) interface, and the like.
[0142] In one embodiment of the present disclosure, the above components of the vehicle 300 and Figure 3 Other components not shown in the figure may also be connected to each other, for example, via a bus. It should be understood that Figure 3 The vehicle structure block diagram shown is only for the purpose of illustration, and is not intended to limit the scope of the present disclosure. Those skilled in the art may add or replace other components as needed.
[0143] It should be noted that the serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.
[0144] In the above embodiments of the present invention, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0145] In the several embodiments provided by the present invention, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic, for example, the division of units can be a logical function division, and there can be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point, the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0146] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed over multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0147] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0148] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server or a network device, etc.) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, read-only memory (ROM, referred to as Read-Only Memory), random access memory (RAM, referred to as Random Access Memory), mobile hard disk, magnetic disk or optical disk, etc., which can store program code.
[0149] The above are only preferred embodiments of the present invention. It should be pointed out that, for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A data interaction system, characterized in that: The interactive system includes: a preprocessor, a buffer, a tracker, a controller and a backend processor, wherein: The preprocessor is coupled to the buffer and is used to obtain configuration parameters from the buffer and perform preprocessing operations on multiple video frames in the video data using the configuration parameters, wherein the configuration parameters are used to represent parameters configured for the multiple video frames; The tracker is coupled to the preprocessor and is used to perform a tracking operation on the preprocessed plurality of video frames to obtain features of the plurality of video frames; The controller is coupled to the buffer and the back-end processor, and is used to control the back-end processor to read the feature from the target storage area in response to the feature being written into the target storage area of the buffer, so as to determine the position and posture of the object recorded in the video data during the movement.
2. The system according to claim 1, characterized in that The controller is used to write a first parameter identifier in the interaction identification area of the buffer in response to the interactive system having completed power-on, wherein the first parameter identifier is used to indicate that the configuration parameter is in a state in which it is not written in the first storage area in the target storage area; The backend processor is configured to write the configuration parameter in the first storage area in response to reading the first parameter identifier in the interaction identification area; and, in response to the configuration parameter being written into the first storage area, write a second parameter identifier in the interaction identification area, wherein the second parameter identifier is used to indicate that the configuration parameter is in a state of being written into the first storage area; The controller is configured to read the configuration parameters from the first storage area in response to reading the second parameter identifier in the interaction identification area, and parse the read configuration parameters; The preprocessor is used to obtain the parsed configuration parameters from the controller.
3. The system according to claim 1, characterized in that The plurality of video frames include at least a first video frame and a second video frame, the second video frame being the next video frame of the first video frame in the video data, the features including a first feature of the first video frame and a second feature of the second video frame, wherein, The controller is configured to write a first feature identifier in the interactive identification area of the buffer in response to the first feature being written into the first storage area in the target storage area, wherein the first feature identifier is used to indicate that the feature is in a state of being written into the target storage area; The backend processor is configured to read the first feature from the first storage area in response to reading the first feature identifier in the interaction identification area.
4. The system according to claim 3, characterized in that The back-end processor is configured to write a second feature identifier in the interaction identification area in response to having read the first feature, wherein the second feature identifier is used to indicate that the second feature is in a second storage area that is not written into the target storage area, and an address occupied by the second storage area in the buffer is different from an address occupied by the first storage area in the buffer; The controller is configured to write the second feature in the second storage area in response to reading the second feature identifier in the interactive identification area.
5. The system according to claim 4, characterized in that the controller being configured to write the first feature identifier in the interactive identification area in response to the second feature having been written in the second storage area; The backend processor is used to read the second feature from the second storage area in response to reading the first feature identifier in the interaction identification area.
6. The system according to claim 4, characterized in that The preprocessor is configured to determine the next video frame of the second video frame as the first video frame, and determine the next video frame of the first video frame as the second video frame, and return to execute, in response to the first feature being written into the first storage area, writing the first feature identifier into the interaction identification area, and in response to the first feature identifier being read from the interaction identification area, reading the first feature from the first storage area; In response to having read the first feature, writing the second feature identifier in the interactive identification area; In response to reading the second feature identifier in the interactive identification area, writing the second feature in the second storage area; and in response to the second feature being written into the second storage area, writing the first feature identifier into the interaction identification area; In response to reading the first feature identifier in the interaction identification area, the step of reading the second feature from the second storage area is performed until the first video frame or the second video frame is the last video frame in the video data.
7. The system according to any one of claims 1 to 6, characterized in that: The tracker is used to perform a detection operation on the plurality of preprocessed video frames, and to perform a tracking operation on the plurality of detected video frames to obtain the features.
8. A data interaction method, characterized in that: Interactive systems applied to data, including: Obtaining configuration parameters from a buffer, and using the configuration parameters to perform a preprocessing operation on a plurality of video frames in the video data, wherein the configuration parameters are used to represent parameters configured for the plurality of video frames; Performing a tracking operation on the preprocessed plurality of video frames to obtain features of the plurality of video frames; In response to the feature being written into the target storage area of the buffer, the feature is read from the target storage area to determine the position and posture of the object recorded in the video data during the movement.
9. A processor, characterized in that: The processor is used to run a program, wherein the program executes the data interaction method according to claim 8 when being run by the processor.
10. A vehicle, characterized in that: include: A memory storing an executable program; A processor is used to run the program, wherein the data interaction method described in claim 8 is executed when the program is run.