A driving method and device for a vehicle-mounted camera system

By loading multiple serializers and camera drivers in the deserializer driver of the vehicle camera system, matching the target driver based on the camera module identifier entered by the user, the problem of not being able to support multiple cameras at the same time in the prior art is solved. , achieving higher compatibility and flexibility.

CN115734070BActive Publication Date: 2024-12-31JINGWEI HIRAIN (TIANJIN) RES&DEV CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202211501758.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-28
Publication Date
2024-12-31
Estimated Expiration
2042-11-28

AI Technical Summary

Technical Problem

The existing on-board camera system cannot support multiple camera modules at the same time, resulting in weak compatibility, large software system overhead, high maintenance costs, and replacing the camera requires recompiling the system image and updating the entire system software.

Method used

By loading multiple adders and camera drivers in the deserializer driver, matching the target driver with the camera module identifier entered by the user, and loading the driver module file into the kernel of the vehicle operating system, the deserializer is realized Driver support for multiple camera modules.

Benefits of technology

Enhanced compatibility of the on-board camera system, improves driver loading flexibility, and reduces system interruptions and maintenance costs when replacing the camera.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115734070B_ABST
    Figure CN115734070B_ABST
Patent Text Reader

Abstract

The present application discloses a driving method and device for a vehicle-mounted camera system. The method includes: receiving a first operation of a user inputting an identifier of a first camera module, the first camera module and the first deserializer are connected to each other through a first channel; in response to the first operation, determining a first target serializer driver and a first target camera driver matching the identifier in a driver module file corresponding to the first deserializer, the driver module file including a driver for the first deserializer and drivers for multiple serializers and multiple cameras connected to the first deserializer in communication, loading the driver module file into the kernel of the vehicle operating system when receiving the first operation, the kernel not including a solidified driver for the vehicle-mounted camera system; loading the driver for the first deserializer, the first target serializer driver and the first target camera driver to drive the first deserializer and the first camera module to transmit images.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of camera technology, and in particular, relates to a driving method and device for a vehicle-mounted camera system. Background Art

[0002] The vehicle-mounted camera can provide monitoring of the environment inside and outside the vehicle, providing safety protection for vehicle driving. The hardware components of the vehicle-mounted camera system include a central processing unit, a deserializer and a camera module, among which the camera module includes a serializer and a camera. The software of the vehicle-mounted camera system contains three parts: a deserializer driver, a serializer driver and a camera driver, which drive each hardware module to work respectively. The serializer and the camera will be registered in the deserializer driver as slave devices, and the serializer and the camera will be driven respectively by the deserializer. The deserializer driver can load the corresponding serializer driver and camera driver by reading the set device tree information. Each version of the driver corresponds to the same model and hardware parameters for the four cameras. If you want to change the camera, you need to recompile the system image to replace the new camera driver that is adapted, and interrupt the system operation to update the entire system software.

[0003] The current deserializer driver can only support one camera driver at a time, but a deserializer can match multiple serializers, and the serializer can match multiple cameras. Therefore, the deserializer can support multiple camera modules. In this way, if you want to change the camera, you need to change the deserializer driver and device tree configuration, which is inflexible. It is impossible to support multiple cameras on the same system. If you want to adapt to different cameras, you need to compile multiple system images and run them on different devices. The compatibility is weak, the software system overhead is large, and the maintenance cost is high. Summary of the invention

[0004] The embodiments of the present application provide a driving method and device for a vehicle-mounted camera system. The deserializer driver of the vehicle-mounted camera system can support the operation of multiple cameras at the same time, thereby enhancing the compatibility of the vehicle-mounted camera system.

[0005] In a first aspect, an embodiment of the present application provides a driving method for a vehicle-mounted camera system, wherein the vehicle-mounted camera system comprises: at least one deserializer and at least one camera module connected to the deserializer through channel communication, wherein the camera module comprises a serializer and a camera; the method comprises:

[0006] Receiving a first operation of a user inputting an identifier of a first camera module, wherein the first camera module is communicatively connected to a first deserializer through a first channel; the first deserializer is any one of the at least one deserializer;

[0007] In response to the first operation, determining a first target serializer driver and a first target camera driver that match the identifier in a driver module file corresponding to the first deserializer, the driver module file including a driver for the first deserializer and drivers for multiple serializers and multiple cameras that are communicatively connected to the first deserializer, and loading the driver module file into a kernel of a vehicle operating system when receiving the first operation, wherein the kernel does not include a solidified driver for the vehicle camera system;

[0008] The driver of the first deserializer, the driver of the first target serializer and the driver of the first target camera are loaded to drive the first deserializer and the first camera module to transmit images.

[0009] In a second aspect, an embodiment of the present application provides a driving device for a vehicle-mounted camera system, the vehicle-mounted camera system comprising: at least one deserializer and at least one camera module connected to the deserializer through channel communication, the camera module comprising a serializer and a camera; the device comprising:

[0010] A receiving module, configured to receive a first operation of a user inputting an identifier of a first camera module, wherein the first camera module is communicatively connected to a first deserializer via a first channel; the first deserializer is any one of the at least one deserializer;

[0011] a determination module, configured to determine, in response to the first operation, a first target serializer driver and a first target camera driver that match the identifier in a driver module file corresponding to the first deserializer, the driver module file including a driver for the first deserializer and drivers for multiple serializers and multiple cameras that are communicatively connected to the first deserializer, and load the driver module file into a kernel of a vehicle operating system when receiving the first operation, the kernel not including a solidified driver for the vehicle camera system;

[0012] A driver module is used to load the driver program of the first deserializer, the driver program of the first target serializer and the driver program of the first target camera to drive the first deserializer and the first camera module to transmit images.

[0013] In a third aspect, an embodiment of the present application provides an electronic device, comprising: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, the driving method of the vehicle camera system as described in any one of the above items is implemented.

[0014] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which computer program instructions are stored; when the computer program instructions are executed by a processor, a driving method for a vehicle-mounted camera system as described in any one of the above items is implemented.

[0015] In a fifth aspect, an embodiment of the present application provides a computer program product. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the driving method of the vehicle camera system as described in any one of the above.

[0016] In a sixth aspect, an embodiment of the present application provides a vehicle, the vehicle comprising: an electronic device, the electronic device being used to implement a driving method of a vehicle-mounted camera system as described in any one of the above.

[0017] The driving method and device of the vehicle camera system of the embodiment of the present application, in response to the first operation of the user inputting the identifier of the first camera module, determines the first target serializer driver and the first target camera driver that match the identifier in the driver module file corresponding to the first deserializer, and loads the driver of the first deserializer, the first target serializer driver and the first target camera driver to drive the first deserializer and the first camera module to transmit images. Since the driver module file includes the driver of the first deserializer and the drivers of multiple serializers and multiple cameras that are communicatively connected to the first deserializer, and the driver module file can be loaded into the kernel of the vehicle operating system when the first operation is received, the kernel does not include the solidified driver of the vehicle camera system at this time. In this way, in the embodiment of the present application, the deserializer driver of the vehicle camera system can support the operation of multiple camera modules at the same time, thereby enhancing the compatibility of the vehicle camera system. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0019] Figure 1 It is a hardware design block diagram of the existing vehicle-mounted camera system provided in an embodiment of the present application;

[0020] Figure 2 is a software relationship diagram of an existing vehicle-mounted camera system provided in an embodiment of the present application;

[0021] Figure 3 is a flowchart of a driving method of a vehicle-mounted camera system provided in an embodiment of the present application;

[0022] Figure 4 is a structural framework diagram of an embodiment of a driving method for a vehicle-mounted camera system provided in an embodiment of the present application;

[0023] Figure 5 is a structural schematic diagram of a driving device of a vehicle-mounted camera system provided in an embodiment of the present application;

[0024] Figure 6 It is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0025] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.

[0026] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0027] The on-board camera can monitor the environment inside and outside the vehicle, providing safety protection for vehicle driving. Figure 1 As shown in the figure, the hardware components of the vehicle camera system include a central processing unit, a deserializer and a camera module, wherein the camera module includes a serializer and a camera. The deserializer chip communicates with the central processing unit (CPU) and the camera module, transmits the CPU's instructions to the camera module, unpacks the image data transmitted by the camera module and sends it to the CPU. The deserializer is very important for the CPU and the camera module, and its driver is the core of the vehicle camera system software.

[0028] The software of the vehicle camera system includes three parts: deserializer driver, serializer driver and camera driver, which drive each hardware module to work respectively. Their software relationship diagram is shown in the figure below. Figure 2 As shown. The serializer and camera will be registered in the deserializer driver as slave devices. The deserializer drives the serializer and camera respectively. The deserializer driver can load the corresponding serializer driver and camera driver by reading the set device tree information. The four cameras corresponding to each version of the driver have the same model and hardware parameters. If you want to change the camera, you need to recompile the system image to replace the adapted new camera driver, interrupt the system operation and update the entire system software.

[0029] The current deserializer driver can only support one camera driver at a time, but a deserializer can match multiple serializers, and the serializer can match multiple cameras, that is, it can support multiple cameras. In this way, if you want to change the camera, you need to change the deserializer driver and device tree configuration, which is inflexible. It is impossible to support multiple cameras on the same system. If you want to adapt to different cameras, you need to compile multiple system images and run them on different devices. The compatibility is weak, the software system overhead is large, and the maintenance cost is high.

[0030] At the same time, the camera module in the existing vehicle camera system is pluggable. The vehicle operating system will identify the inserted camera module during the system startup phase and match the corresponding driver loading. If there is no camera module inserted at startup, the driver loading cannot be completed. If it is inserted later, the camera module will not work properly, resulting in the unintelligent and inflexible driver loading of the vehicle camera system.

[0031] In order to solve the problems of the prior art, the embodiments of the present application provide a driving method and device for a vehicle-mounted camera system, which are applied to the vehicle-mounted camera system, wherein the vehicle-mounted camera system includes: at least one deserializer and at least one camera module connected to the deserializer through channel communication, and the camera module includes a serializer and a camera. The driving method for the vehicle-mounted camera system provided by the embodiments of the present application is first introduced below.

[0032] Figure 3 FIG. 1 is a flow chart showing a method for driving a vehicle-mounted camera system according to an embodiment of the present application. Figure 3 As shown, a driving method for a vehicle-mounted camera system provided in an embodiment of the present application may include steps S301 to S303.

[0033] S301, receiving a first operation of a user inputting an identifier of a first camera module, and the first camera module is communicatively connected to a first deserializer through a first channel.

[0034] S302: In response to the first operation, determine, in the driver module file corresponding to the first deserializer, a first target serializer driver and a first target camera driver that match the identifier.

[0035] S303, loading a driver of the first deserializer, a driver of the first target serializer, and a driver of the first target camera to drive the first deserializer and the first camera module to transmit images.

[0036] In the driving method of the vehicle camera system of the embodiment of the present application, in response to the first operation of the user inputting the identifier of the first camera module, the first target serializer driver and the first target camera driver matching the identifier are determined in the driver module file corresponding to the first deserializer, and the driver of the first deserializer, the first target serializer driver and the first target camera driver are loaded to drive the first deserializer and the first camera module to transmit images. Since the driver module file includes the driver of the first deserializer and the drivers of multiple serializers and multiple cameras that are communicatively connected to the first deserializer, and the driver module file can be loaded into the kernel of the vehicle operating system when the first operation is received, the kernel does not include the solidified driver of the vehicle camera system at this time. In this way, in the embodiment of the present application, the deserializer driver of the vehicle camera system can support the operation of multiple camera modules at the same time, thereby enhancing the compatibility of the vehicle camera system.

[0037] In S301, the first deserializer is any one of at least one deserializer of the vehicle-mounted camera system.

[0038] The first operation of receiving the user input of the identifier of the first camera module can be a first operation of receiving the user input of the identifier of the first camera module connected to the first deserializer through the first channel communication through the interface. For example, the user inputs the first operation of camera0=a, where camera0 is the camera module on the first channel, and the suffix of the channel is not limited to 0, but can also be 1 / 2 / 3, etc., depending on the number of channels on the first deserializer; a represents the identifier of the first camera module, which can be used to match the corresponding deserializer and camera.

[0039] In some embodiments, the first camera module is a camera module that has been loaded into a vehicle-mounted camera system or is to be loaded into a vehicle-mounted camera system.

[0040] In this embodiment, the corresponding first target serializer driver and the first target camera driver are matched according to the identifier of the first camera module input by the user, thereby eliminating the dependency of the driver of the vehicle camera system on the device tree. The first camera module can be either a camera module that has been loaded into the vehicle camera system or a camera module to be loaded into the vehicle camera system, thereby improving the flexibility of driver loading of the vehicle camera system.

[0041] As an implementation of the present application, in order to realize the integration of the driver of each deserializer with the driver of multiple serializers corresponding to each deserializer and the driver of multiple cameras, before S302, the above method may further include the following steps:

[0042] Obtain the driver of each deserializer and the drivers of multiple serializers and multiple cameras corresponding to each deserializer;

[0043] According to the driver of each deserializer and the drivers of multiple serializers and multiple cameras corresponding to each deserializer, an intermediate code file of each deserializer is established, wherein the intermediate code file includes an identifier representing the deserializer and each camera module and an association relationship between the driver of the serializer and the driver of the camera corresponding to the identifier of each camera module;

[0044] Modularly compile each intermediate code file to obtain the driver module file of each deserializer.

[0045] In this embodiment, the association relationship between the identifier of each deserializer and each camera module and the driver program of the serializer corresponding to the identifier of each camera module and the driver program of the camera are constructed, an intermediate code file of each deserializer containing the association relationship is established, and modular compilation is performed to achieve the integration and modular loading of the driver program of each deserializer and the drivers program of multiple serializers and multiple cameras corresponding to each deserializer, thereby eliminating the dependence of the vehicle camera system driver on the device tree.

[0046] In some embodiments, the intermediate code file of each deserializer is established according to the driver of each deserializer and the drivers of multiple serializers and multiple cameras corresponding to each deserializer. The intermediate code file includes the identification of the deserializer and each camera module and the association relationship between the driver of the serializer and the driver of the camera corresponding to the identification of each camera module, which may specifically include:

[0047] According to the number of deserializers, an instantiation file of each deserializer is established, and the instantiation file is used to call the core header file of the corresponding deserializer to implement the function of the driver of each deserializer. The core header file includes the main function code corresponding to the driver of the deserializer;

[0048] According to the identification of each camera module, the type identification of each serializer and the type identification of each camera, a structure is set in the main function code corresponding to each deserializer, and the structure is used to characterize the corresponding relationship between the identification of each camera module, the type identification of each serializer and the type identification of each camera;

[0049] According to each serializer type identifier, the driver entry function corresponding to each serializer type identifier, each camera type identifier and the driver entry function corresponding to each camera type identifier, a structure array is established in the core header file, and the structure array is used to represent the corresponding relationship between each serializer type identifier and each serializer driver program and the corresponding relationship between each camera type identifier and each camera driver program;

[0050] The structure includes a serializer substructure and a camera substructure, the serializer substructure is used to associate a serializer driver corresponding to the serializer type identifier according to the structure array, and the camera substructure is used to associate a camera driver corresponding to the camera type identifier according to the structure array;

[0051] According to the instantiation files of each deserializer, as well as the drivers of multiple serializers and multiple cameras corresponding to each deserializer, an intermediate code file of each deserializer is established. The intermediate code file includes identifiers representing the deserializer and each camera module and the association relationship between the driver of the serializer corresponding to the identifier of each camera module and the driver of the camera.

[0052] For example, Figure 4 As shown, put the main function code of each deserializer driver into a corresponding core header file, and create one or more deserializer instantiation files, depending on the number of deserializers on the hardware. The deserializer instantiation file is the entry of the deserializer driver, contains the core header file, and calls the method in the core header file. For example, deserializer 1 and deserializer 2 are type A deserializers, corresponding to the A deserializer core header file, and deserializer 3 is type B deserializer, corresponding to the B deserializer core header file.

[0053] In the main function code, a structure struct camera_info is set to save the camera module identification. The structure contains const char*ser_type and const char*ims_type, which are used to save the serializer type identification and camera type identification respectively. The structure also contains the serializer substructure const struct ser_ops and the camera substructure const struct ims_ops, which are used to associate the serializer driver and the camera driver respectively. In the core header file, a structure array is established, which stores the camera type identification and the serializer type identification and the corresponding driver entry function, so as to realize the relationship between the structure array recording the serializer type identification and the camera type identification and the corresponding driver. At the same time, the makefile should be modified to compile and associate, and the intermediate code file objs of the camera should be established. Similarly, the number of objs depends on the number of deserializers on the hardware, that is, as many objs as there are deserializers, and each objs contains the instantiation file of the corresponding deserializer and the drivers of multiple serializers and multiple cameras.

[0054] In some embodiments, in order for the kernel of the vehicle operating system not to compile the fixed driver, before the above-mentioned modular compilation of each intermediate code file to obtain the driver module file of each deserializer, the above-mentioned method may further include:

[0055] The solidified driver of the vehicle camera system in the kernel of the vehicle operating system is stripped.

[0056] The above-mentioned fixed drivers are all deserializer drivers, serializer drivers and camera drivers that are factory-fixed in the kernel of the vehicle operating system.

[0057] Exemplarily, the configuration macro of the fixed driver is commented out in the defconfig file of the kernel, so that the kernel does not compile the original related driver.

[0058] In this embodiment, the solidified driver program of the vehicle camera system in the kernel of the vehicle operating system is stripped so that the kernel of the vehicle operating system does not compile the solidified driver program, so that the subsequent driver module file of the deserializer can be modularly loaded and unloaded.

[0059] In some embodiments, the modular compilation of each intermediate code file to obtain the driver module file of each deserializer may specifically include:

[0060] The driver macro is used to control the modular compilation of each intermediate code file to obtain the driver module file ko of each deserializer.

[0061] For example, a new driver macro is created, and all newly created objs compilations are controlled by this macro, and this macro is set to m in defconfig. In this way, through the compilation system of the vehicle operating system, the kernel file defined as m will be compiled into module, so that the intermediate code file objs can be modularly compiled into the driver module file ko, separated from the kernel image and placed in the vehicle operating system.

[0062] In S302, the driver module file includes a driver program of the first deserializer, drivers of multiple serializers and drivers of multiple cameras that are communicatively connected to the first deserializer.

[0063] The above-mentioned loading of the driver module file into the kernel of the vehicle operating system when receiving the first operation may be by receiving the instruction insmod for loading the driver module file through an interface, the modular driver module file is named camera.ko, and the driver module file will be loaded into the kernel when the instruction insmod camera.ko is executed.

[0064] The above kernel does not include the fixed driver for the vehicle camera system.

[0065] In some embodiments, the above step S302 may specifically include:

[0066] In response to the first operation, determining, in a structure of a driver module file corresponding to the first deserializer, a target serializer type identifier and a target camera type identifier that match the identifier;

[0067] In the structure array of the driver module file corresponding to the first deserializer, a first target serializer driver program matching the target serializer type identifier and a first target camera driver program matching the target camera type identifier are determined.

[0068] Exemplarily, there is a code logic in the core header file, which can pass in the serializer type identifier and camera type identifier in the ser_type and ims_type structures according to the identifier of the first camera module, and poll the structure array to associate the corresponding driver with ser_ops and ims_ops, so as to determine the first target serializer driver and the first target camera driver that match the first deserializer.

[0069] As another implementation of the present application, in order to enable the vehicle operating system to collect images with required image feature parameters, before S303, the method may further include:

[0070] A second operation of receiving image feature parameters of the first camera module input by a user.

[0071] In some embodiments, S303 may specifically include:

[0072] The driver program of the first deserializer, the driver program of the first target serializer and the driver program of the first target camera are loaded to drive the first deserializer and the first camera module to perform image transmission based on the image feature parameters of the first camera module.

[0073] The second operation of receiving the image characteristic parameters of the first camera module input by the user can be to define the module_param variable in the instantiation file of the first deserializer, set the image characteristic parameters, including the width, height and frame rate fps of the resolution, and the image characteristic parameters can also provide parameters for the matching logic of the driver of the first deserializer, the first target serializer driver and the first target camera driver. For example, the image characteristic parameters of the first camera module are width0=640height0=320fps0=15.

[0074] The above-mentioned driving of the first deserializer and the first camera module to perform image transmission based on the image feature parameters of the first camera module may be to assign a resolution of 640 in width and 320 in height and a frame rate of 15 to the vehicle operating system.

[0075] In this embodiment, by receiving the operation of the image feature parameters input by the user into the camera module, the corresponding deserializer and the camera module are driven to transmit images based on the image feature parameters, so that the vehicle operating system can collect images with the required image feature parameters.

[0076] As another implementation of the present application, in order to achieve the goal of not interrupting or stopping the operation of the system and being able to replace the camera module at any time, after S303, the method may further include:

[0077] Uninstall the driver module file of the first deserializer;

[0078] A third operation of receiving a user input of an identifier of a second camera module, wherein the second camera module is communicatively connected to the first deserializer through the first channel;

[0079] In response to the third operation, determining, in the driver module file corresponding to the first deserializer, a second target serializer driver and a second target camera driver that match the identifier of the second camera module;

[0080] The driver program of the first deserializer, the driver program of the second target serializer and the driver program of the second target camera are loaded to drive the first deserializer and the second camera module to transmit images.

[0081] The above-mentioned uninstallation of the driver module file of the first deserializer may be performed by uninstalling the interface rmmod and executing rmmodcamera.ko to uninstall the driver of the vehicle camera system of the first deserializer from the kernel.

[0082] After uninstalling the driver module file of the first deserializer, load the driver of the first deserializer, the driver of the second target serializer and the driver of the second target camera according to the identifier of the second camera module to drive the first deserializer and the second camera module to transmit images. For example, the identifier of the second camera module is c, execute insmodcamera.ko camera0=c, complete the loading of the driver of the first deserializer, the driver of the second target serializer and the driver of the second target camera, and insert the second camera module c to be driven normally. This ensures that the operation of the system is not interrupted or stopped and different cameras can be replaced at any time.

[0083] In some embodiments, before loading the driver of the first deserializer, the driver of the second target serializer, and the driver of the second target camera to drive the first deserializer and the second camera module to transmit images, the method may further include:

[0084] A fourth operation is to receive image feature parameters of the second camera module input by a user.

[0085] The above-mentioned loading of the driver of the first deserializer, the driver of the second target serializer and the driver of the second target camera to drive the first deserializer and the second camera module to transmit images may specifically include:

[0086] The driver of the first deserializer and the serializer driver and camera driver matching the identifier of the second camera module are loaded to drive the first deserializer and the second camera module to perform image transmission based on the image feature parameters of the second camera module.

[0087] Based on the driving method of the vehicle-mounted camera system provided in the above embodiment, the present application also provides a specific implementation of the driving device of the vehicle-mounted camera system. Please refer to the following embodiment.

[0088] See also Figure 5 The driving device 500 of the vehicle camera system provided in the embodiment of the present application may include: a first receiving module 501, a determining module 502 and a driving module 503.

[0089] The first receiving module 501 is used to receive a first operation of a user inputting an identifier of a first camera module, the first camera module is communicatively connected to a first deserializer via a first channel; the first deserializer is any one of the at least one deserializer;

[0090] A determination module 502 is used to determine, in response to a first operation, a first target serializer driver and a first target camera driver that match the identifier in a driver module file corresponding to the first deserializer, wherein the driver module file includes a driver for the first deserializer and drivers for multiple serializers and multiple cameras that are communicatively connected to the first deserializer, and when receiving the first operation, the driver module file is loaded into a kernel of a vehicle operating system, wherein the kernel does not include a solidified driver for a vehicle camera system;

[0091] The driving module 503 is used to load the driver program of the first deserializer, the driver program of the first target serializer and the driver program of the first target camera module to drive the first deserializer and the first camera module to transmit images.

[0092] In some embodiments, the first camera module is a camera module that has been loaded into a vehicle-mounted camera system or is to be loaded into a vehicle-mounted camera system.

[0093] As an implementation of the present application, in order to realize the integration of the driver of each deserializer with the driver of multiple serializers corresponding to each deserializer and the driver of multiple cameras, the device also includes:

[0094] An acquisition module, used to acquire a driver program of each deserializer and a driver program of multiple serializers and a driver program of multiple cameras corresponding to each deserializer;

[0095] Establishing a module for establishing an intermediate code file for each deserializer according to the driver of each deserializer and the drivers of multiple serializers and multiple cameras corresponding to each deserializer, wherein the intermediate code file includes an identifier representing the deserializer and each camera module and an association relationship between the driver of the serializer and the driver of the camera corresponding to the identifier of each camera module;

[0096] The compilation module is used to modularly compile various intermediate code files to obtain the driver module files of each deserializer.

[0097] In some embodiments, the above-mentioned establishment module may specifically include:

[0098] A first establishing unit is used to establish an instantiation file of each deserializer according to the number of deserializers, the instantiation file is used to call the core header file of the corresponding deserializer to implement the function of the driver of each deserializer, and the core header file includes the main function code corresponding to the driver of the deserializer;

[0099] A first setting unit is used to set a structure in the main function code corresponding to each deserializer according to the identifier of each camera module, the type identifier of each serializer and the type identifier of each camera, and the structure is used to characterize the corresponding relationship between the identifier of each camera module, the type identifier of each serializer and the type identifier of each camera;

[0100] The second establishment unit is used to establish a structure array in the core header file according to each serializer type identifier, the driver entry function corresponding to each serializer type identifier, each camera type identifier and the driver entry function corresponding to each camera type identifier, the structure array is used to characterize the corresponding relationship between each serializer type identifier and each serializer driver program and the corresponding relationship between each camera type identifier and each camera driver program; the structure includes a serializer substructure and a camera substructure, the serializer substructure is used to associate the serializer driver program corresponding to the serializer type identifier according to the structure array, and the camera substructure is used to associate the camera driver program corresponding to the camera type identifier according to the structure array;

[0101] The third establishing unit is used to establish an intermediate code file for each deserializer according to the instantiation file of each deserializer, and the drivers of multiple serializers and multiple cameras corresponding to each deserializer, wherein the intermediate code file includes identifiers representing the deserializer and each camera module and an association relationship between the driver of the serializer corresponding to the identifier of each camera module and the driver of the camera.

[0102] In some embodiments, in order for the kernel of the vehicle operating system not to compile the fixed driver, the above-mentioned device may further include:

[0103] The stripping module is used to strip the solidified driver of the vehicle camera system in the kernel of the vehicle operating system.

[0104] In some embodiments, the compilation module is specifically used to control the modular compilation of each intermediate code file through a driver macro to obtain a driver module file for each deserializer.

[0105] In some embodiments, the determination module 502 may specifically include:

[0106] A first determining unit, configured to determine, in response to a first operation, a target serializer type identifier and a target camera type identifier that match the identifier in a structure of a driver module file corresponding to the first deserializer;

[0107] The second determining unit is used to determine a first target serializer driver program that matches the target serializer type identifier and a first target camera driver program that matches the target camera type identifier in the structure array of the driver module file corresponding to the first deserializer.

[0108] As another implementation of the present application, in order to enable the vehicle operating system to collect images with required image feature parameters, the above-mentioned device may further include:

[0109] A second receiving module, used for receiving a second operation of a user inputting image feature parameters of the first camera module;

[0110] The driving module 503 is also used to load the driver of the first deserializer, the driver of the first target serializer and the driver of the first target camera to drive the first deserializer and the first camera module to perform image transmission based on the image feature parameters of the first camera module.

[0111] As another implementation of the present application, in order to achieve the operation of the system without interruption or cessation and to be able to replace the camera module at any time, the device further includes:

[0112] An uninstall module, used for uninstalling the driver module file of the first deserializer;

[0113] The first receiving module 501 is further used to receive a third operation of a user inputting an identifier of a second camera module, and the second camera module is communicatively connected to the first deserializer through the first channel;

[0114] The determination module 502 is further configured to determine, in response to the third operation, in the driver module file corresponding to the first deserializer, a second target serializer driver and a second target camera driver that match the identifier of the second camera module;

[0115] The driving module 503 is also used to load the driver program of the first deserializer, the driver program of the second target serializer and the driver program of the second target camera to drive the first deserializer and the second camera module to transmit images.

[0116] In some embodiments, the second receiving module is further used to receive a fourth operation of a user inputting an image feature parameter of the second camera module;

[0117] The driving module 503 is also used to load the driver of the first deserializer and the serializer driver and camera driver matching the identifier of the second camera module to drive the first deserializer and the second camera module to perform image transmission based on the image feature parameters of the second camera module.

[0118] Figure 6 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application is shown.

[0119] The electronic device may include a processor 601 and a memory 602 storing computer program instructions.

[0120] Specifically, the processor 601 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.

[0121] The memory 602 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 602 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, the memory 602 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 602 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 602 is a non-volatile solid-state memory.

[0122] In certain embodiments, the memory 602 may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical or other physical / tangible memory storage device. Thus, in general, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to an aspect of the present disclosure.

[0123] The processor 601 implements any one of the driving methods of the vehicle-mounted camera system in the above embodiments by reading and executing the computer program instructions stored in the memory 602 .

[0124] In one example, the electronic device may further include a communication interface 603 and a bus 610. Figure 6 As shown, the processor 601, the memory 602, and the communication interface 603 are connected via a bus 610 and communicate with each other.

[0125] The communication interface 603 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.

[0126] Bus 610 includes hardware, software or both, and the parts of electronic equipment are coupled to each other. For example, but not limitation, bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front side bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 610 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the application considers any suitable bus or interconnection.

[0127] The electronic device can execute the driving method of the vehicle-mounted camera system in the embodiment of the present application, thereby realizing the combination Figure 3 and Figure 5 A driving method and device for a vehicle-mounted camera system are described.

[0128] In addition, in combination with the driving method of the vehicle-mounted camera system in the above embodiments, the embodiment of the present application can provide a computer-readable storage medium for implementation. The computer-readable storage medium stores computer program instructions; when the computer program instructions are executed by the processor, any of the driving methods of the vehicle-mounted camera system in the above embodiments is implemented.

[0129] In combination with the driving method of the vehicle-mounted camera system in the above-mentioned embodiments, an embodiment of the present application also provides a computer program product. When the instructions in the computer program product are executed by the processor of an electronic device, the electronic device executes any one of the driving methods of the vehicle-mounted camera system in the above-mentioned embodiments.

[0130] In combination with the driving method of the vehicle-mounted camera system in the above embodiments, an embodiment of the present application further provides a vehicle, which includes: an electronic device, which is used to implement the driving method of the vehicle-mounted camera system as in any one of the above embodiments.

[0131] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.

[0132] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.

[0133] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.

[0134] Aspects of the present disclosure are described above with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the embodiment of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field programmable logic circuit. It can also be understood that each box in the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.

[0135] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.

Claims

1. A driving method for a vehicle-mounted camera system, characterized in that: The vehicle-mounted camera system comprises: at least one deserializer and at least one camera module connected to the deserializer through channel communication, wherein the camera module comprises a serializer and a camera; the method comprises: Receiving a first operation of a user inputting an identifier of a first camera module, wherein the first camera module is communicatively connected to a first deserializer through a first channel; the first deserializer is any one of the at least one deserializer; In response to the first operation, determining a first target serializer driver and a first target camera driver that match the identifier in a driver module file corresponding to the first deserializer, the driver module file including a driver for the first deserializer and drivers for multiple serializers and multiple cameras that are communicatively connected to the first deserializer, and loading the driver module file into a kernel of a vehicle operating system when receiving the first operation, wherein the kernel does not include a solidified driver for the vehicle camera system; Loading the driver of the first deserializer, the driver of the first target serializer, and the driver of the first target camera to drive the first deserializer and the first camera module to transmit images; Among them, the driver module file of each deserializer is obtained based on the modular compilation of each intermediate code file, and each intermediate code file is established according to the driver program of each deserializer and the drivers of multiple serializers and multiple cameras corresponding to each deserializer. The intermediate code file includes the identifier representing the deserializer and each camera module and the association relationship between the driver program of the serializer and the driver program of the camera corresponding to the identifier of each camera module.

2. The method according to claim 1, characterized in that: The first camera module is a camera module that has been loaded into the vehicle-mounted camera system or is to be loaded into the vehicle-mounted camera system.

3. The method according to claim 1, characterized in that Before determining, in response to the first operation, in the driver module file corresponding to the first deserializer, a first target serializer driver and a first target camera driver that match the identifier, the method further includes: Obtaining a driver program for each of the deserializers and a driver program for a plurality of the serializers and a driver program for a plurality of the cameras corresponding to each of the deserializers; According to the driver of each deserializer and the drivers of the multiple serializers and the drivers of the multiple cameras corresponding to each deserializer, an intermediate code file of each deserializer is established, wherein the intermediate code file includes an identifier representing the deserializer and each camera module and an association relationship between the driver of the serializer and the driver of the camera corresponding to the identifier of each camera module; Each of the intermediate code files is modularly compiled to obtain a driver module file for each of the deserializers.

4. The method according to claim 3, characterized in that According to the driver of each deserializer and the drivers of multiple serializers and multiple cameras corresponding to each deserializer, an intermediate code file of each deserializer is established, wherein the intermediate code file includes an identifier representing the deserializer and each camera module and an association relationship between the driver of the serializer and the driver of the camera corresponding to the identifier of each camera module, including: According to the number of the deserializers, an instantiation file of each deserializer is established, wherein the instantiation file is used to call the core header file of the corresponding deserializer to implement the function of the driver of each deserializer, and the core header file includes the main function code corresponding to the driver of the deserializer; According to the identification of each camera module, each serializer type identification and each camera type identification, a structure is set in the main function code corresponding to each deserializer, and the structure is used to characterize the corresponding relationship between the identification of each camera module, the type identification of each serializer and the type identification of each camera; According to each of the serializer type identifiers, the driver entry function corresponding to each of the serializer type identifiers, each of the camera type identifiers and the driver entry function corresponding to each of the camera type identifiers, a structure array is established in the core header file, and the structure array is used to characterize the corresponding relationship between each of the serializer type identifiers and each of the serializer drivers and the corresponding relationship between each of the camera type identifiers and each of the camera drivers; The structure includes a serializer substructure and a camera substructure, wherein the serializer substructure is used to associate a serializer driver corresponding to the serializer type identifier according to the structure array, and the camera substructure is used to associate a camera driver corresponding to the camera type identifier according to the structure array; According to the instantiation file of each deserializer, and the drivers of multiple serializers and multiple cameras corresponding to each deserializer, an intermediate code file of each deserializer is established, and the intermediate code file includes the identifiers representing the deserializer and each camera module and the association relationship between the driver of the serializer and the driver of the camera corresponding to the identifier of each camera module.

5. The method according to claim 3, characterized in that: Before modularly compiling each of the intermediate code files to obtain a driver module file for each of the deserializers, the method further includes: The solidified driver program of the vehicle-mounted camera system in the kernel of the vehicle operating system is stripped.

6. The method according to claim 3, characterized in that: The modular compilation of each of the intermediate code files to obtain a driver module file of each of the deserializers includes: The intermediate code files are modularly compiled by controlling the driver macro to obtain the driver module files of the deserializers.

7. The method according to claim 3, characterized in that In response to the first operation, determining a first target serializer driver and a first target camera driver that match the identifier in a driver module file corresponding to the first deserializer includes: In response to the first operation, determining, in a structure of a driver module file corresponding to the first deserializer, a target serializer type identifier and a target camera type identifier that match the identifier; In the structure array of the driver module file corresponding to the first deserializer, a first target serializer driver matching the target serializer type identifier and a first target camera driver matching the target camera type identifier are determined.

8. The method according to claim 1, characterized in that Before loading the driver of the first deserializer, the driver of the first target serializer, and the driver of the first target camera to drive the first deserializer and the first camera module to transmit images, the method further includes: A second operation of receiving image feature parameters of the first camera module input by the user; The step of loading the driver of the first deserializer, the driver of the first target serializer, and the driver of the first target camera to drive the first deserializer and the first camera module to transmit images includes: The driver of the first deserializer, the driver of the first target serializer and the driver of the first target camera are loaded to drive the first deserializer and the first camera module to perform image transmission based on the image feature parameters of the first camera module.

9. The method according to claim 1, characterized in that: After loading the driver of the first deserializer, the driver of the first target serializer and the driver of the first target camera to drive the first deserializer and the first camera module to transmit images, the method further includes: Uninstalling the driver module file of the first deserializer; receiving a third operation of the user inputting an identifier of a second camera module, wherein the second camera module is communicatively connected to the first deserializer through a first channel; In response to the third operation, determining, in the driver module file corresponding to the first deserializer, a second target serializer driver and a second target camera driver that match the identifier of the second camera module; The driver program of the first deserializer, the driver program of the second target serializer and the driver program of the second target camera are loaded to drive the first deserializer and the second camera module to transmit images.

10. A driving device for a vehicle-mounted camera system, characterized in that: The vehicle-mounted camera system comprises: at least one deserializer and at least one camera module connected to the deserializer through channel communication, wherein the camera module comprises a serializer and a camera; the device comprises: A receiving module, configured to receive a first operation of a user inputting an identifier of a first camera module, wherein the first camera module is communicatively connected to a first deserializer via a first channel; the first deserializer is any one of the at least one deserializer; a determination module, configured to determine, in response to the first operation, a first target serializer driver and a first target camera driver that match the identifier in a driver module file corresponding to the first deserializer, the driver module file including a driver for the first deserializer and drivers for multiple serializers and multiple cameras that are communicatively connected to the first deserializer, and load the driver module file into a kernel of a vehicle operating system when receiving the first operation, the kernel not including a solidified driver for the vehicle camera system; A driver module, used to load the driver of the first deserializer, the driver of the first target serializer and the driver of the first target camera to drive the first deserializer and the first camera module to transmit images; Among them, the driver module file of each deserializer is obtained based on the modular compilation of each intermediate code file, and each intermediate code file is established according to the driver program of each deserializer and the drivers of multiple serializers and multiple cameras corresponding to each deserializer. The intermediate code file includes the identifier representing the deserializer and each camera module and the association relationship between the driver program of the serializer and the driver program of the camera corresponding to the identifier of each camera module.