A data processing system and method of V4L2 architecture
By building a general video module in the V4L2 architecture, the general information of the image processing channels can be managed uniformly and the non-general information can be configured independently, which solves the problem of high management cost in the existing technology and achieves more efficient configuration.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- FULSCIENCE AUTOMOTIVE ELECTRONICS CO LTD
- Filing Date
- 2026-03-04
- Publication Date
- 2026-06-05
AI Technical Summary
In the V4L2 architecture under Linux, existing technologies require configuration of information for each image processing channel, resulting in excessively high management costs.
By constructing a general video module, we can uniformly manage the common information of multiple image processing channels and independently configure non-common information, thereby reducing management costs.
It reduces the management cost of the V4L2 architecture and improves configuration efficiency.
Smart Images

Figure CN122160564A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of video data processing technology, and in particular to a data processing system and method based on the V4L2 architecture. Background Technology
[0002] Currently, video processing architectures under Linux (the operating system kernel) are used in vehicle vision systems. The V4L2 (Video for Linux Two) architecture is generally chosen as the standard driver architecture for supporting video devices (such as cameras, video capture cards, TV tuners, radios, etc.) within Linux systems. It provides a unified interface for user-space applications, allowing developers to implement video acquisition, output, encoding, decoding, and control without needing to worry about underlying hardware differences.
[0003] In automotive camera systems, the V4L2 architecture is used to construct multiple image processing pipelines. This pipeline encompasses multiple layers, including hardware, kernel drivers, middleware, and user-space applications, and directs the complete processing flow from raw image data acquired by the camera hardware to usable video frames in the final application, ensuring efficient and reliable transmission and processing of image data. The video device structure (video_device) is a video device node (e.g., / dev / video0) in the V4L2 architecture that can be directly accessed by user-space applications. It acts as a bridge between user space and the underlying video hardware driver, providing standardized device interfaces and managing the device's lifecycle. videobuf2 (vb2) is a framework in the V4L2 architecture specifically for video buffer management. Due to the complexity of vb2 management, its high level of abstraction, numerous callback functions, and complex state machine, technical personnel need a thorough understanding of each callback function and its functional relationships to configure vb2, leading to excessively high management costs. Summary of the Invention
[0004] In view of this, the purpose of this application is to provide at least one data processing system and method for V4L2 architecture. By constructing a video general module, the general information of the device nodes corresponding to multiple image processing channels is managed in a unified manner, and the non-general information is registered independently. This solves the technical problem in the prior art that the management cost is high because each piece of information to be configured in the V4L2 architecture needs to be configured. This achieves the technical effect of reducing the management cost of V4L2 architecture and improving configuration efficiency.
[0005] This application mainly includes the following aspects: In a first aspect, embodiments of this application provide a data processing system based on a V4L2 architecture. The system includes multiple image processing channels and a general video module configured in the V4L2 architecture. Each image processing channel is connected to the general video module, and each image processing channel corresponds to a device node. The image processing channel is used to process the acquired raw image data according to a corresponding data processing method. The general video module is used to provide general information and non-general configuration information for the device nodes corresponding to the multiple image processing channels.
[0006] Optionally, for each image processing channel, the image processing channel includes a first channel node corresponding to the image acquisition device, a second channel node corresponding to the mobile industry processor, and a third channel node corresponding to the cache. The second channel node is located between the first channel node and the third channel node, and the third channel node is connected to the video general module. Alternatively, the image processing channel includes a first channel node corresponding to the image acquisition device, a second channel node corresponding to the mobile industry processor, a third channel node corresponding to the cache, and a fourth channel node corresponding to the network service provider module. The second channel node is located between the first channel node and the third channel node, and the fourth channel node is located between the third channel node and the video general module.
[0007] Optionally, the general information includes a general callback function, the non-general information includes a feature callback function, and the video general module includes an application programming interface callback submodule and an input / output control submodule: wherein the application programming interface callback submodule is used to register the feature callback function for each device node with the input / output control submodule.
[0008] Optionally, the general information includes an abnormal data processing flow, the non-general information includes the functional information of each node, and the video general module includes: a video device submodule, used to configure the abnormal data processing flow and configure the functional information corresponding to each device node.
[0009] Optionally, the video general module includes an input / output control callback interaction submodule, used to configure external development callback functions.
[0010] Optionally, the video general module includes a cache queue submodule, used to configure the data processing flow within the data processing cycle of each image processing channel.
[0011] Optionally, the video general module includes an operation execution submodule, which provides multiple operation interfaces to each node and executes a preset operation corresponding to each operation interface.
[0012] Secondly, embodiments of this application also provide a data processing method for a V4L2 architecture. The method is applied to a V4L2 architecture data processing system, which includes multiple image processing channels and a general video module configured in the V4L2 architecture. Each image processing channel is connected to the general video module, and each image processing channel corresponds to a device node. The method includes: the image processing channel performing image processing on the acquired raw image data according to a corresponding data processing method; and the general video module providing general information and non-general configuration information for the device nodes corresponding to the multiple image processing channels, configuring the general information once, and configuring the non-general information of each node sequentially.
[0013] Thirdly, embodiments of this application also provide a vehicle that includes the system described in the first aspect or any possible implementation of the first aspect.
[0014] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the steps of the method described in the second aspect above.
[0015] This application provides a data processing system and method based on a V4L2 architecture. The system includes multiple image processing channels and a general video module configured in the V4L2 architecture. Each image processing channel is connected to the general video module, and each image processing channel corresponds to a device node. The image processing channels are used to process the acquired raw image data according to corresponding data processing methods. The general video module provides general information and non-general configuration information for the device nodes corresponding to the multiple image processing channels. By constructing a general video module to uniformly manage the general information of each node in the multiple image processing channels and independently configure the non-general information, this solves the technical problem in the prior art where configuring each piece of information to be configured in the V4L2 architecture leads to high management costs. This achieves the technical effect of reducing the management cost of the V4L2 architecture and improving configuration efficiency.
[0016] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0017] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This paper illustrates a functional block diagram of a V4L2 architecture data processing system provided in an embodiment of this application.
[0019] Figure 2 A functional block diagram of the general video module provided in the embodiments of this application is shown. Detailed Implementation
[0020] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the drawings in this application are for illustrative and descriptive purposes only and are not intended to limit the scope of protection of this application. Furthermore, it should be understood that the schematic drawings are not drawn to scale. The flowcharts used in this application illustrate operations implemented according to some embodiments of this application. It should be understood that the operations in the flowcharts may not be implemented in sequence, and steps without logical contextual relationships may be reversed or implemented simultaneously. In addition, those skilled in the art, guided by the content of this application, may add one or more other operations to the flowcharts, or remove one or more operations from the flowcharts.
[0021] Furthermore, the described embodiments are merely some, not all, of the embodiments of this application. The components of the embodiments of this application described and illustrated herein can typically be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0022] In existing technologies, after the video device structure (video_device) is registered in the V4L2 architecture, it automatically creates a corresponding video device node, such as / dev / videoX. The video device node is the node corresponding to the hardware device in the Linux system that transmits data in characters or bytes. It provides a file operation interface to define the basic system calls supported by the video device; it handles input / output control (ioctl) commands in the V4L2 architecture to handle control requests from user space; it identifies the device type and clarifies the device's function and data flow; it is responsible for displaying device information and providing device metadata; it is responsible for resource release and callbacks and performs cleanup work when the device is deregistered; it is also used to manage vb2, manage buffers or memory allocated from user space, coordinate data exchange between kernel drivers and user space applications; and it associates with the device context to establish communication with other components of the V4L2 framework and to support the media device framework. The video device structure is added to the media device topology as a media entity (media_entity).
[0023] Furthermore, VB2 configuration may encounter several issues. For example, the queue setup phase requires configuring the number and size of buffers; the buffer preparation phase requires requesting buffers (VIDIOC_REQBUFS), which necessitates verification; failure to verify will result in the buffer request failing. Adding buffers to the driver queue (buf_queue) requires configuring each image processing pipeline's corresponding buffer to be added to the driver queue individually. Consequently, to avoid these problems, technical personnel need a thorough understanding of VB2 configuration, leading to excessively high management costs.
[0024] Based on this, this application provides a data processing system and method for a V4L2 architecture. By constructing a general video module, it uniformly configures the common information of each node in multiple image processing channels and then independently configures the non-common information. This solves the technical problem in the prior art where each piece of information to be configured in the V4L2 architecture needs to be configured, resulting in high management costs. This achieves the technical effect of reducing the management cost of the V4L2 architecture and improving configuration efficiency. Specifically, as follows: Please see Figure 1 , Figure 1 This is a functional block diagram of a V4L2 architecture data processing system provided in an embodiment of this application. Figure 1 As shown, the V4L2 architecture data processing system provided in this application embodiment includes multiple image processing channels and a video common module set in the V4L2 architecture. Each image processing channel is connected to the video common module, and each image processing channel corresponds to a device node.
[0025] The image processing channel is used to process the acquired raw image data according to the corresponding data processing method; the video general module is used to provide general information and configuration non-general information of the device nodes corresponding to the multiple image processing channels.
[0026] In other words, each image processing channel performs different data processing methods on the raw image data captured by the camera to obtain the image data required by the application. The general video module needs to configure the non-general information of the device nodes corresponding to each image processing channel and provide the general information of the device nodes corresponding to each image processing channel. The general information includes information that all device nodes need to configure and that has the same configuration content, and / or information that all device nodes use and that is contained within the general video module itself. The non-general information is information with different configuration content for each device node.
[0027] In other words, existing technologies group both the non-general and general information required by each device node in an image processing channel into a set of information to be configured, and each image processing channel's cache is configured with this set of information. However, the video general module of this application only needs to configure the non-general information corresponding to each device node once within the video general module, eliminating the need to configure the non-general information of all device nodes in the caches corresponding to each image processing channel in existing technologies, thus improving processing efficiency. Therefore, by distinguishing between general and non-general information and uniformly configuring the general information that requires unified configuration, while configuring non-general information only once, the workload for technical personnel is reduced, thereby lowering management costs.
[0028] In this context, a device node refers to the node corresponding to the upper-layer application from the user's perspective, with one device node corresponding to one image processing channel. Furthermore, both non-general information and general information are specific to each image processing channel. Information that is the same across different image processing channels is considered general information, while information that differs between different image processing channels is considered non-general information.
[0029] Specifically, for each image processing channel, the image processing channel includes a first channel node corresponding to the image acquisition device, a second channel node corresponding to the mobile industrial processor, and a third channel node corresponding to the cache. The second channel node is located between the first channel node and the third channel node, and the third channel node is connected to the video general module.
[0030] Alternatively, for each image processing channel, the image processing channel includes a first channel node corresponding to the image acquisition device, a second channel node corresponding to the mobile industry processor, a third channel node corresponding to the cache, and a fourth channel node corresponding to the network service provider module. The second channel node is located between the first channel node and the third channel node, and the fourth channel node is located between the third node and the video general module.
[0031] The image acquisition device can be a vehicle-mounted camera. Different image processing channels can use raw image data acquired by different image acquisition devices, or at least two image processing channels can use raw image data acquired by the same image acquisition device.
[0032] like Figure 1 As shown, each image processing channel is a video processing path from the camera to the cache memory. The first image processing channel includes the first channel node corresponding to camera 1, the second channel node corresponding to MIPI (Mobile Industry Processor Interface) 1, the third channel node corresponding to the ISP (Internet Service Provider), and the fourth channel node corresponding to cache 0 (memory0). The second image processing channel includes the first channel node corresponding to camera 1, the second channel node corresponding to MIPI (Mobile Industry Processor Interface) 1, and the third channel node corresponding to cache 1 (memory1). The third image processing channel includes the first channel node corresponding to camera 2, the second channel node corresponding to MIPI (Mobile Industry Processor Interface) 2, and the third channel node corresponding to cache 2 (memory1). Cameras 1 and 2 are cameras installed at different locations on a vehicle and are used to collect raw image data.
[0033] In other words, each image processing channel processes the raw image data captured by a camera according to a corresponding data processing flow. The raw image data captured by a single camera can undergo different data processing flows. For example, the raw image data captured by camera 1 can be sequentially processed through MIPI1 and ISP to convert the image format. The raw image data captured by camera 1 can also be directly processed through MIPI2 for real-time display. Thus, different image processing channels can be used to process the raw image data captured by a single camera in different ways.
[0034] Please see Figure 2 , Figure 2 This is a functional block diagram of the general video module provided in the embodiments of this application. For example... Figure 2 As shown, the Video common module includes the Application Programming Interface Callback (API Callback) submodule, the Video Device (video_device) submodule, the Input / Output Control (ioctl) submodule, the Input / Output Control Callback Interaction (v4l2_ioctl_ops) submodule, the Buffer Queue (vb2_queue) submodule, and the Operation Execution (v4l2_file_ops) submodule.
[0035] Specifically, the general information includes a general callback function, the non-general information includes a feature callback function, and the video general module includes an application programming interface callback submodule and an input / output control submodule: wherein the application programming interface callback submodule is used to register the feature callback function for each device node with the input / output control submodule.
[0036] In other words, generic callback functions refer to callback functions common to all image processing channels, while feature callback functions refer to callback functions common only to some image processing channels. The non-generic information registered by the application programming interface (API) callback submodule to the input / output control (v4l2_ioctl_ops) submodule refers to callback functions that only some image processing channels' device nodes need to use. Generic callback functions required by each device node can be understood as default callback functions that do not require personalized configuration; these generic callback functions are already set within the video generic module and do not need to be registered again. Feature callback functions, however, are only applied to device nodes of some image processing channels. The feature callback functions of each image processing channel's device node can be registered individually in the API callback submodule. Therefore, feature callback functions only need to be configured once within the API callback submodule, eliminating the need to repeatedly register feature callback functions for all device nodes within each channel, thus reducing operational steps.
[0037] Among them, the feature callback function can be used to associate with the device context and associate with adjacent device nodes. It is mainly used to register the function of each device node. The function includes getting the format (get fmt) or setting the format (set fmt). The format can be the image format processed by each node as RGB (red, green and blue three color channels) or YUV (luminance and chrominance), and the image size can be set to high-definition resolution as 720p, etc.
[0038] For example, common callback functions include: .vidioc_reqbufs (requesting or allocating a buffer), .vidioc_querybuf (querying the buffer status), .vidioc_qbuf (adding a buffer to the processing queue, i.e., enqueuing the buffer), .vidioc_dqbuf (removing a buffer from the processed queue, i.e., dequeuing the buffer), .vidioc_streamon (starting video streaming), and .vidioc_streamoff (stopping video streaming). Specifically, `.vidioc_reqbufs = vb2_ioctl_reqbufs` indicates that kernel buffers are allocated or released for the video stream using generic functions provided by the VB2 framework; `.vidioc_querybuf = vb2_ioctl_querybuf` indicates that buffer status, such as memory address, length, and mapping status, is queried using generic functions provided by the VB2 framework; `.vidioc_qbuf = vb2_ioctl_qbuf` indicates that buffers are added to the driver processing queue using generic functions provided by the VB2 framework to await hardware data filling; `.vidioc_dqbuf = vb2_ioctl_dqbuf` indicates that buffers are retrieved from the completed queue using generic functions provided by the VB2 framework so that the application can read data; `.vidioc_streamon = vb2_ioctl_streamon` indicates that video stream transmission is started using generic functions provided by the VB2 framework; `.vidioc_streamoff =` vb2_ioctl_streamoff means stopping the video stream using a generic function provided by the VB2 framework.
[0039] For example, the application programming interface callback submodule registers feature callback functions for each device node with the input / output control submodule, including: .vidioc_querycap (a callback function for reporting the hardware capabilities of the video device), .vidioc_enum_fmt_vid_cap (a callback function for reporting the pixel formats supported by the video device), and .vidioc_s_fmt_vid_cap (a callback function for setting the video capture format). Specifically, `.vidioc_querycap=my_querycap` is a custom function written by the developer. When the application calls the `vidioc_querycap` command, the V4L2 framework executes the `my_querycap` function, which reports the current hardware capabilities, such as device name, bus information, and whether certain functions are supported. `.vidioc_enum_fmt_vid_cap = my_enum_fmt` is another custom function used to enumerate all pixel formats supported by the device. `.vidioc_s_fmt_vid_cap=my_s_fmt` is yet another custom function used to set the video capture format, such as image width, height, and pixel format, and to check if the hardware supports that format. The functionality of these feature callback functions is not universal; they need to be configured according to different use cases.
[0040] In other words, the input / output control submodule configures non-general information for each image processing channel. This non-general information refers to the characteristic callback functions of the image processing functions performed by each device node. These callback functions reveal the unique functions performed by each device node; for example, an ISP might need to add a DMX (Demosaic) configuration. Alternatively, it instructs the ISP to process images without affecting their size, but rather to adjust their quality.
[0041] Specifically, the general information includes the abnormal data processing flow, the non-general information includes the functional information of each node, and the video general module includes: a video device submodule, used to configure the abnormal data processing flow and the functional information corresponding to each device node.
[0042] The video device submodule is used to create and manage the device nodes for each image processing channel, and to establish the connection relationships and data transmission directions for each channel node within each image processing channel. For example, the video device submodule can also configure the size of the output image, such as limiting the output image to 1920×1080RGB, i.e., limiting the output image resolution to 1920×1080, and the color encoding format for each pixel is a combination encoding of the R (red), G (green), and B (blue) channels.
[0043] For example, the general information configured in the video general module is the abnormal data processing flow. That is, when each device node generates a defect that causes data processing failure during data processing, a fixed abnormal data processing flow is triggered. For example, when problems such as unreadable data or missing data occur, each device node executes the same abnormal data processing flow. There is no need to configure different abnormal data processing flows for each device node to reduce the complexity of data processing. The abnormal data processing flow can be achieved by issuing alarm information through the vehicle display screen, etc. This application does not limit the specific implementation form.
[0044] For example, since each device node has a different function, its function is configured using non-generic information, such as scaling video data. This difference in function is related to how the image processing channel processes the raw video data. Therefore, because each image processing channel processes the raw video data differently, the processing methods of each device node will also differ, requiring individual configuration of the function for each device node.
[0045] Specifically, the video general module includes an input / output control callback interaction submodule, which is used to configure external development callback functions.
[0046] In other words, the input / output control callback interaction submodule registers callback functions that are needed for external development, not for the user side.
[0047] For example, the input / output control callback interaction submodule can also manage the interaction between the standard input / output control submodule and the application programming interface callback submodule, so as to call the callback function used by the internal interaction of the image processing channel during data processing to make calls between channel nodes. The format of the channel nodes of the image processing channel can be restricted by the format configured in the application programming interface callback submodule, thereby achieving a unified format of each channel node.
[0048] Specifically, the video general module includes a cache queue submodule, which is used to configure the data processing flow within the data processing cycle of each image processing channel.
[0049] The image processing channel's data processing cycle refers to the period from when the raw image data is captured by the camera to when the processed video frame data is stored in the buffer. The data processing flow at least describes how each channel node calls, transforms, and releases the video data. Furthermore, the buffer queue submodule describes the callback method for releasing the videobuf2 resource.
[0050] Specifically, the video general module includes an operation execution submodule, which provides multiple operation interfaces to each channel node and executes the preset operation corresponding to each operation interface.
[0051] In other words, the operation execution submodule is used to manage the operation interface between the video device and the user space application. Multiple operation interfaces include open, read, write, and close interfaces, which are used to perform open, read, write, and close operations on data.
[0052] Based on the same application concept, this application also provides a V4L2 architecture data processing method corresponding to the V4L2 architecture data processing system provided in the above embodiments. Since the problem-solving principle of the V4L2 architecture data processing method in this application is similar to that of the V4L2 architecture data processing system in the above embodiments of this application, the implementation of the V4L2 architecture data processing method can refer to the implementation of the system, and the repeated parts will not be described again.
[0053] This application provides a data processing method for a V4L2 architecture. The method is applied to a V4L2 architecture data processing system, which includes multiple image processing channels and a general video module configured in the V4L2 architecture. Each image processing channel is connected to the general video module, and each image processing channel corresponds to a device. The method includes: the image processing channel performing image processing on the acquired raw image data according to a corresponding data processing method; and the general video module providing general information and non-general configuration information for the device nodes corresponding to the multiple image processing channels.
[0054] Based on the same application concept, this application also provides a vehicle corresponding to the V4L2 architecture data processing system provided in the above embodiments. Since the principle of the vehicle in this application for solving problems is similar to that of the V4L2 architecture data processing system in the above embodiments of this application, the implementation of the vehicle can refer to the implementation of the system, and the repeated parts will not be described again.
[0055] This application also provides a vehicle that includes a V4L2 architecture data processing system as described in the above embodiments. Furthermore, the vehicle can use the V4L2 architecture data processing system to acquire video data and play it on an in-vehicle screen, thereby enabling the vehicle to have a reversing camera function.
[0056] Based on the same concept, this application also provides a computer-readable storage medium storing a computer program, which, when run by a processor, executes the steps of the data processing method of the V4L2 architecture provided in the above embodiments.
[0057] Specifically, the storage medium can be a general-purpose storage medium, such as a portable disk or hard disk. When the computer program on the storage medium is run, it can execute the data processing method of the V4L2 architecture described above. By constructing a general video module, the common information of each node in multiple image processing channels is uniformly configured, and the non-common information is configured independently. This solves the technical problem in the prior art that the management cost is high because each piece of information to be configured in the V4L2 architecture needs to be configured. It achieves the technical effect of reducing the management cost of the V4L2 architecture and improving the configuration efficiency.
[0058] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems and devices described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division; in actual implementation, there may be other division methods. Furthermore, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the displayed or discussed mutual coupling or direct coupling or communication connection may be through some communication interfaces; the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms.
[0059] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0060] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0061] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a processor-executable, non-volatile, computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0062] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A data processing system with a V4L2 architecture, characterized in that, The system includes multiple image processing channels and a general video module configured in the V4L2 architecture. Each image processing channel is connected to the general video module, and each image processing channel corresponds to a device node. The image processing channel is used to process the acquired raw image data according to the corresponding data processing method. The video general module is used to provide general information and configuration non-general information for the device nodes corresponding to multiple image processing channels.
2. The system according to claim 1, characterized in that, For each image processing channel, the image processing channel includes a first channel node corresponding to the image acquisition device, a second channel node corresponding to the mobile industrial processor, and a third channel node corresponding to the cache. The second channel node is located between the first channel node and the third channel node, and the third channel node is connected to the video general module. Alternatively, the image processing channel may include a first channel node corresponding to the image acquisition device, a second channel node corresponding to the mobile industry processor, a third channel node corresponding to the cache, and a fourth channel node corresponding to the network service provider module. The second channel node is located between the first channel node and the third channel node, and the fourth channel node is located between the third channel node and the video general module.
3. The system according to claim 1, characterized in that, The general information includes general callback functions, the non-general information includes feature callback functions, and the general video module includes an application programming interface callback submodule and an input / output control submodule. The application programming interface callback submodule is used to register the feature callback functions for each device node with the input / output control submodule.
4. The system according to claim 1, characterized in that, The general information includes the abnormal data processing procedure, the non-general information includes the functional information of each device node, and the general video module includes: The video device submodule is used to configure the abnormal data processing flow and the corresponding functional information of each device node.
5. The system according to claim 1, characterized in that, The general video module includes: The input / output control callback interaction submodule is used to configure external development callback functions.
6. The system according to claim 1, characterized in that, The general video module includes: The cache queue submodule is used to configure the data processing flow within the data processing cycle of each image processing channel.
7. The system according to claim 1, characterized in that, The general video module includes: The operation execution submodule is used to provide multiple operation interfaces to each channel node and execute the preset operation corresponding to each operation interface.
8. A data processing method based on a V4L2 architecture, characterized in that, The method is applied to a data processing system based on a V4L2 architecture. The system includes multiple image processing channels and a general-purpose video module configured within the V4L2 architecture. Each image processing channel is connected to the general-purpose video module, and each image processing channel corresponds to a device node. The method includes: The image processing channel processes the acquired raw image data according to the corresponding data processing method. The video general module provides general information and configuration non-general information for the device nodes corresponding to multiple image processing channels.
9. A vehicle, characterized in that, The vehicle includes the system as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the steps of the method as described in claim 8.