Cabin driving algorithm application method, system and device and storage medium

By introducing a multi-layer structure into the cabin algorithm system, efficient management and call of the cabin algorithm is achieved, and the problems of low algorithm capability reusability and poor flexibility in the existing system are solved, and the development efficiency of the smart cabin algorithm and the flexibility of the system are improved.

CN119829027APending Publication Date: 2025-04-15CHONGQING CHANGAN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510036078.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-09
Publication Date
2025-04-15

AI Technical Summary

Technical Problem

The existing cabin algorithm system has the problems of low algorithm capability reusability and poor flexibility, which leads to poor development efficiency of smart cabin algorithms.

Method used

An application method for cabin algorithm is designed. By introducing algorithm application layer, business algorithm management layer, business algorithm layer, algorithm atomic capability layer and basic software framework layer into the cabin algorithm system, efficient management and call of cabin algorithm is achieved.

Benefits of technology

It realizes the high flexibility, high reusability and software platformization capabilities of algorithm software under the cockpit multi-hardware platform, multi-operation system and multi-vehicle project, reducing the product development cycle and development costs of car companies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119829027A_ABST
    Figure CN119829027A_ABST
Patent Text Reader

Abstract

The invention relates to a cabin driving algorithm application method, system and device and a storage medium, and is applied to a cabin driving algorithm system, the cabin driving algorithm system comprises an algorithm application layer and a business algorithm management layer, and the method comprises the following steps: the algorithm application layer receives a first instruction of a user for a first application; determining a first function included in the first application, and sending a second instruction for realizing the first function to a service algorithm management layer; the number of the first functions is one or more; and the business algorithm management layer runs a first integrated script corresponding to the first function under the condition of receiving the second instruction, calls at least one cabin driving algorithm integrated in the first integrated script in the process of running the first integrated script, and sends a running result to the algorithm application layer to realize the first function after obtaining the running result.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of natural language processing, and in particular to an application method, system, device and storage medium of a cabin driving algorithm. Background Art

[0002] With the development of intelligent vehicles, smart cockpits have become an important development direction of the automotive industry. Smart cockpits need to adapt and integrate a large number of cockpit driving algorithms, so an efficient cockpit driving algorithm system is needed to support them. However, the current cockpit driving algorithm system has the problem of low algorithm capability reusability or poor flexibility, resulting in poor development efficiency of smart cockpit algorithms. Summary of the invention

[0003] One of the purposes of the present invention is to provide an application method, system, device and storage medium of a cabin driving algorithm.

[0004] In a first aspect, the present invention provides an application method of a cabin pilot algorithm, characterized in that the method is applied to a cabin pilot algorithm system, the cabin pilot algorithm system includes an algorithm application layer and a business algorithm management layer, and the method includes:

[0005] When receiving a first instruction from a user for a first application, the algorithm application layer determines a first function included in the first application, and sends a second instruction for implementing the first function to the business algorithm management layer; the number of the first functions is one or more;

[0006] When receiving the second instruction, the business algorithm management layer runs the first integration script corresponding to the first function, and in the process of running the first integration script, calls at least one cabin driving algorithm integrated in the first integration script, and after obtaining the running result, sends it to the algorithm application layer to implement the first function.

[0007] In the above-mentioned application method of the cabin driving algorithm, the cabin driving algorithm system also includes a business algorithm layer, and the business algorithm layer includes multiple cabin driving algorithms; calling at least one cabin driving algorithm integrated in the first integrated script includes:

[0008] The business algorithm management layer determines at least one cabin driving algorithm integrated in the first integration script, and sends a third instruction for calling the at least one cabin driving algorithm to the business algorithm layer;

[0009] When receiving the third instruction, the business algorithm layer returns at least one cabin driving algorithm to the business algorithm management layer, so that the business algorithm management layer runs the first integration script based on the at least one cabin driving algorithm.

[0010] In the above-mentioned application method of the cabin driving algorithm, the cabin driving algorithm system also includes an algorithm atomic capability layer, and the algorithm atomic capability layer includes multiple algorithm atomic capabilities; returning at least one cabin driving algorithm to the business algorithm management layer includes:

[0011] The business algorithm layer determines a set of algorithm atomic capabilities that each algorithm in at least one cabin driving algorithm depends on, and obtains at least one set of algorithm atomic capabilities corresponding to the at least one cabin driving algorithm;

[0012] The business algorithm layer sends a fourth instruction for calling at least one set of algorithm atomic capabilities to the algorithm atomic capability layer;

[0013] When receiving at least one set of algorithm atomic capabilities, the algorithm atomic capability layer returns the at least one set of algorithm atomic capabilities to the business algorithm layer, so that the business algorithm layer can generate at least one cabin driving algorithm based on the at least one set of algorithm atomic capabilities.

[0014] In the above-mentioned application method of the cabin driving algorithm, the cabin driving algorithm system also includes a basic software framework layer, and the basic software framework layer includes a general basic component and a platform capability component; the method also includes:

[0015] When receiving the running results, the algorithm application layer implements the first function based on the general basic components and platform capability components.

[0016] In the application method of the above-mentioned cabin driving algorithm, the general basic components include at least one or more of the following: log component, multi-thread component, message flow component, message processing component, timer component, dynamic library loading component, and debugging component.

[0017] In the application method of the above-mentioned cabin driving algorithm, the platform capability component includes at least one or more of a rendering component, a codec component and an image processing component.

[0018] In the above-mentioned application method of the cabin driving algorithm, the software format of the business algorithm management layer is a static library, and the software format of the business algorithm layer is a dynamic library.

[0019] In the above-mentioned application method of the cabin driving algorithm, the business algorithm management layer supports linking at least one cabin driving algorithm by compiling and linking or running and linking.

[0020] In a second aspect, the present invention provides a cabin driving algorithm system, the cabin driving algorithm system comprising:

[0021] The algorithm application layer is used to determine the first function included in the first application when receiving the first instruction of the user for the first application, and send a second instruction for implementing the first function to the business algorithm management layer; the number of the first functions is one or more;

[0022] The business algorithm management layer is used to run the first integration script corresponding to the first function when receiving the second instruction, and in the process of running the first integration script, call at least one cabin driving algorithm integrated in the first integration script, and send the running result to the algorithm application layer to implement the first function after obtaining it.

[0023] In a third aspect, the present invention provides a vehicle-mounted hardware platform, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the method of the above-mentioned second aspect or any corresponding embodiment thereof by executing the computer instructions.

[0024] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to cause a computer to execute the method of the second aspect or any corresponding embodiment thereof.

[0025] In a fifth aspect, the present invention provides a computer program product, comprising a computer program or instructions, characterized in that when the computer program or instructions are executed by a processor, the method of the above-mentioned second aspect or any corresponding embodiment thereof is implemented. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0027] Figure 1 A schematic diagram of a flow chart of an application method of a cabin driving algorithm provided by an embodiment of the present invention;

[0028] Figure 2 Composition architecture of an exemplary cabin driving algorithm system provided by an embodiment of the present invention Figure 1 ;

[0029] Figure 3 An exemplary basic software framework layer composition architecture diagram provided for an embodiment of the present invention;

[0030] Figure 4 A schematic diagram of the relationship between an exemplary algorithm atomic capability layer and a business algorithm layer provided in an embodiment of the present invention;

[0031] Figure 5 A schematic diagram of a link between an exemplary business algorithm management layer and a cabin driving algorithm provided in an embodiment of the present invention;

[0032] Figure 6 A schematic diagram of the software format of an exemplary cabin driving algorithm system provided by an embodiment of the present invention;

[0033] Figure 7 An exemplary structure diagram of a platform compilation framework provided by an embodiment of the present invention;

[0034] Figure 8 A compilation flow chart of an exemplary platform compilation framework provided in an embodiment of the present invention;

[0035] Fig. 9 Composition architecture of an exemplary cabin driving algorithm system provided by an embodiment of the present invention Figure 2 ;

[0036] Fig.10 A schematic diagram of the structure of a computer device provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0037] The following will describe the embodiments of the present invention with reference to the accompanying drawings and preferred embodiments. Those skilled in the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present invention. It should be understood that the preferred embodiments are only for illustrating the present invention, not for limiting the scope of protection of the present invention.

[0038] With the development of intelligent vehicles, smart cockpits have become an important development direction of the automotive industry. Smart cockpits need to adapt and integrate a large number of cockpit driving algorithms, so an efficient cockpit driving algorithm system is needed to support them. However, the current cockpit driving algorithm system has the following problems:

[0039] 1. The algorithm interface specifications of each cabin driving algorithm are not unified, and the software platform is poor;

[0040] 2. The reusability of the driving algorithms in each cabin is low;

[0041] 3. The flexibility of each cabin driving algorithm software is poor, and it is difficult to support the changes in cabin driving algorithm application requirements;

[0042] 4. There are multiple vendor versions of each cabin driving algorithm, and different implementation versions have poor compatibility;

[0043] 5. Each cabin driving algorithm does not support hot update during runtime;

[0044] 6. The integration solution of the cabin-driving algorithm cannot flexibly support multiple hardware platforms, multiple operating systems, and multiple vehicle models, and cannot achieve software platformization.

[0045] In view of the above technical problems, the present invention provides an application method of a cabin driving algorithm, which is implemented by a cabin driving algorithm system. The cabin driving algorithm system includes an algorithm application layer and a business algorithm management layer. Figure 1 A flowchart of an application method of a cabin driving algorithm provided by an embodiment of the present invention is shown in FIG. Figure 1 As shown, the steps S101 to S102 are included:

[0046] Step S101: upon receiving a first instruction from a user for a first application, the algorithm application layer determines a first function included in the first application, and sends a second instruction for implementing the first function to the business algorithm management layer; the number of the first functions is one or more.

[0047] In an embodiment of the present invention, when the algorithm application layer in the cabin pilot algorithm system receives a first instruction from a user for a first application, it determines a first function included in the first application and sends a second instruction for implementing the first function to the business algorithm management layer; the number of the first functions is one or more.

[0048] It should be noted that the first application can be any vehicle-mounted application on the vehicle, such as a panoramic application, a driving recorder application, a calibration application, a desensitization application, a scene reconstruction application, or a reversing image application; the specific first application can be determined based on actual conditions, and the embodiments of the present invention do not make specific limitations here.

[0049] In some embodiments, the user clicks on the first application. At this time, the algorithm application layer in the cabin pilot algorithm system receives the first instruction, determines one or more first functions included in the first application, and then sends a second instruction to the business algorithm management layer for implementing one or more first functions. It should be noted that the second instruction here can be sent once for each first function, or the second instruction can be sent once to implement multiple first functions at once.

[0050] Step S102: When the business algorithm management layer receives the second instruction, it runs the first integration script corresponding to the first function, and in the process of running the first integration script, it calls at least one cabin driving algorithm integrated in the first integration script, and after obtaining the running result, sends it to the algorithm application layer to implement the first function.

[0051] In an embodiment of the present invention, after receiving the second instruction sent by the algorithm application layer, the business algorithm management layer runs the first integration script corresponding to the first function, and in the process of running the first integration script, calls at least one cabin driving algorithm integrated in the first integration script, and after obtaining the running result, sends it to the algorithm application layer to implement the first function.

[0052] In some embodiments, each first function is pre-integrated with a corresponding first integration script, and the first integration script includes all the cabin driving algorithms required to implement the function. Therefore, when running the first integration script, it is necessary to call at least one cabin driving algorithm integrated in the first integration script so that the operation can be successful and the operation result can be obtained. After obtaining the operation result, the business algorithm management layer returns the operation result to the algorithm application layer, thereby realizing the first function in the first application.

[0053] In some embodiments, reference Figure 2 , gives an exemplary cabin driving algorithm system composition architecture diagram, in Figure 2 In the figure, the cabin driving algorithm system includes: basic software framework layer 200, algorithm atomic capability layer 201, business algorithm layer 202, business algorithm management layer 203, business algorithm C++ application layer 204, business algorithm JNI encapsulation layer 205, algorithm Android application layer 206, business algorithm C interface standard 207, business algorithm C++ interface standard 208 and business algorithm Java interface standard 209; among them, the business algorithm management layer 203 includes the business algorithm management abstract layer 2030.

[0054] It should be noted that based on Figure 2 The algorithm application layer in the above embodiment may be the algorithm Android application layer 206. After receiving the first instruction, the algorithm Android application layer 206 sends an instruction to the business algorithm C++ application layer 204, instructing the business algorithm C++ application layer 204 to send a second instruction for implementing the first function to the business algorithm management layer.

[0055] Further, refer to Figure 2 The basic software framework layer 200 mainly provides common public software modules to the algorithm atomic capability layer 201, the business algorithm layer 202, and the business algorithm management layer 203, and realizes abstract adaptation of platform capabilities; the algorithm atomic capability layer 201 can atomize the cabin pilot algorithm capabilities, and mainly provide algorithm atomic capabilities to each cabin pilot algorithm of the business algorithm layer 202; the business algorithm layer 202 is mainly used to provide cabin pilot algorithms, and encapsulates the algorithm capabilities of the algorithm atomic capability layer 201 into cabin pilot algorithms that meet the cabin pilot business needs.

[0056] Further, refer to Figure 2, the business algorithm C interface standard 207 is used to define unified standard data types and calling interfaces for the cabin driving algorithm. For example, there are some special data types in the Android operating system that cannot be recognized in the Linux operating system. Then the algorithm library needs to avoid such special data types when defining the data types of the business algorithm, so that the defined data types are data types that can be recognized by different operating systems. The interface and data type definition are based on the C standard, rather than referencing the special data types or interfaces of specific operating systems and hardware platforms. The calling interface is a program interface used for external direct access and operation of the cabin driving algorithm. It usually exists in the form of a software development kit (SDK) or an application programming interface (API). In order to shield the differences between different operating systems, the calling interface is also set with the same standard. Because the cabin driving algorithm may have different supplier version implementations and self-developed version implementations for different hardware platforms and different vehicle project plans, different implementation versions must be implemented in accordance with the business algorithm C interface standard 207 to ensure the compatibility of different versions.

[0057] Further, refer to Figure 2 The cabin driving algorithms of the business algorithm layer 202 need to provide program interfaces according to the C interface standards 207 of each business algorithm, and export the program interfaces to facilitate the dynamic management of the cabin driving algorithms by the business algorithm management layer 203.

[0058] Further, refer to Figure 2 The business algorithm management layer 203 mainly implements the dynamic management and interface adaptation of the cabin driving algorithm, and provides the software framework of each cabin driving algorithm through the business algorithm management abstract layer 2030. The software framework abstractly defines and implements common capabilities such as dynamic management and hot update of the algorithm library.

[0059] Further, refer to Figure 2 The business algorithm C++ interface standard 208 is the standard program interface specification provided by the business algorithm management layer 203 to the algorithm C++ application layer 204 and the business algorithm JNI encapsulation layer 205. The business algorithm management layer 203 provides interface adaptation for the cabin algorithm, converts the C interface standard into the C++ interface standard, and encapsulates the algorithm capabilities into class modules through the C++ object-oriented idea, so as to facilitate the use of the algorithm C++ application layer 204 and the business algorithm JNI encapsulation layer 205.

[0060] Further, refer to Figure 2 The algorithm C++ application layer 204 mainly realizes the dynamic management and capability calling of the cabin driving algorithm by integrating the business algorithm management library of the business algorithm management layer 203.

[0061] Further, refer to Figure 2 The business algorithm JNI encapsulation layer 205 mainly adapts and packages the business algorithm of the C / C++ interface specification into the Java business algorithm of the Java interface specification to facilitate the application integration of the algorithm Android application layer 206. The business algorithm JNI encapsulation layer 205 realizes the dynamic management and capability adaptation encapsulation of the cabin driving algorithm by integrating the business algorithm management library of the business algorithm management layer 203.

[0062] Further, refer to Figure 2 The business algorithm Java interface standard 209 is the Java program interface specification provided by the business algorithm JNI encapsulation layer 205 to the algorithm Android application layer 206, mainly providing the cabin algorithm Java data type and program interface definition.

[0063] Further, refer to Figure 2 The algorithm Android application layer 206 mainly calls the algorithm capabilities to implement business functions in the algorithm Android application layer 206, and realizes the dynamic management and capability calling of the cabin driving algorithm by integrating the cabin driving algorithm Java library of the business algorithm JNI encapsulation layer 205.

[0064] In an optional embodiment of the present invention, the cabin pilot algorithm system also includes a basic software framework layer, and the basic software framework layer includes a general basic component and a platform capability component; the method also includes: when the algorithm application layer receives the running result, it implements the first function based on the general basic component and the platform capability component.

[0065] In an optional implementation of the present invention, the common basic component includes at least one or more of a log component, a multi-thread component, a message flow component, a message processing component, a timer component, a dynamic library loading component, and a debugging component.

[0066] In an optional implementation of the present invention, the platform capability component includes at least one or more of a rendering component, a coding and decoding component, and an image processing component.

[0067] In some embodiments, reference Figure 3 , gives an exemplary basic software framework layer composition architecture diagram, in Figure 3 In the figure, the basic software framework layer 200 includes a general basic component 300 and a platform capability component 301, wherein the general basic component 300 includes at least a log component 3000, a multi-thread component 3001, a message flow component 3002, a message processing component 3003, a timer component 3004, a dynamic library loading component 3005, and a debugging component 3006; the platform capability abstraction layer 302 in the platform capability component 301 includes at least a rendering component 3010, a codec component 3011, and an image processing component 3012.

[0068] Exemplary, reference Figure 3 The rendering component 3010 is mainly used to provide the cabin-pilot algorithm with OpenGraphics Library (OpenGL) embedded systems (ES) basic rendering, image buffer, display window and other sub-modules; the codec component 3011 mainly provides the cabin-pilot algorithm with audio, video, and image encoding and decoding capabilities; the image processing component 3012 mainly provides the cabin-pilot algorithm with image format conversion, hardware fast handling, scaling, cropping, rotation and other capabilities.

[0069] In an optional embodiment of the present invention, the cabin pilot algorithm system also includes a business algorithm layer, the business algorithm layer includes multiple cabin pilot algorithms; calling at least one cabin pilot algorithm integrated in the first integrated script includes: the business algorithm management layer determines at least one cabin pilot algorithm integrated in the first integrated script, and sends a third instruction for calling at least one cabin pilot algorithm to the business algorithm layer; upon receiving the third instruction, the business algorithm layer returns the at least one cabin pilot algorithm to the business algorithm management layer, so that the business algorithm management layer runs the first integrated script based on the at least one cabin pilot algorithm.

[0070] In some embodiments, since the first integration script pre-integrates the cabin driving algorithms required to implement each function, the first integration script needs to call at least one integrated cabin driving algorithm from the business algorithm layer when it is running.

[0071] In an optional embodiment of the present invention, the cabin pilot algorithm system also includes an algorithm atomic capability layer, the algorithm atomic capability layer includes multiple algorithm atomic capabilities; returning at least one cabin pilot algorithm to the business algorithm management layer, including: the business algorithm layer determines a set of algorithm atomic capabilities on which each algorithm in at least one cabin pilot algorithm depends, and obtains at least one set of algorithm atomic capabilities corresponding to at least one cabin pilot algorithm; the business algorithm layer sends a fourth instruction for calling at least one set of algorithm atomic capabilities to the algorithm atomic capability layer; upon receiving the at least one set of algorithm atomic capabilities, the algorithm atomic capability layer returns the at least one set of algorithm atomic capabilities to the business algorithm layer, so that the business algorithm layer can generate at least one cabin pilot algorithm based on the at least one set of algorithm atomic capabilities.

[0072] In some embodiments, there is a dependency relationship between the algorithm atomic capability layer and the business algorithm layer, that is, each cabin-driving algorithm in the business algorithm layer is composed of at least one algorithm atomic capability in the algorithm atomic capability layer. Based on this, when calling each cabin-driving algorithm, it is necessary to call at least one algorithm atomic capability that constitutes the cabin-driving algorithm from the algorithm atomic capability layer, that is, a group of algorithm atomic capabilities.

[0073] Exemplary, reference Figure 4There is a dependency relationship between the algorithm atomic capability layer 201 and the business algorithm layer 202. Figure 4 In the figure, the algorithm atomic capability layer 201 has algorithm atomic capabilities A1, A2, A3, B1, B2 and C1, and the business algorithm layer 202 has cabin driving algorithms A, B and C. In the cabin driving algorithm system of the present invention, cabin driving algorithm A depends on algorithm atomic capabilities A1, A2 and B1, cabin driving algorithm B depends on algorithm atomic capabilities B1 and B2, and cabin driving algorithm C depends on algorithm atomic capability C1. It can be seen that the algorithm atomic capabilities are reused. On this basis, if there is a new cabin driving algorithm requirement, the algorithm capabilities of the algorithm atomic capability layer can also be reused to quickly implement the new cabin driving algorithm.

[0074] In an optional implementation of the present invention, the business algorithm management layer supports linking at least one cabin driving algorithm by means of compile linking or run linking.

[0075] Exemplarily, since the business algorithm management layer 203 is located between the business algorithm C interface standard 207 and the business algorithm C++ interface standard 208, based on this, reference Figure 5 The business algorithm management library 2031 of the business algorithm management layer 203 is located between the business algorithm C interface standard 207 and the business algorithm C++ interface standard 208. The business algorithm management layer 203 supports two optional linking methods to link the cabin driving algorithm: compile linking and run linking. Compile linking refers to letting the business algorithm management library 2031 link the cabin driving algorithm during the program compilation stage. The business algorithm management library 2031 has a direct software dependency on the cabin driving algorithm. Compile linking does not support hot updates and version switching of the algorithm library at runtime. Run linking refers to the cabin driving algorithm management library explicitly loading the dynamic library through dlopen in the code, and then getting the program interface of the cabin driving algorithm for interface calls. Based on the run linking scheme, the business algorithm management library 2031 only has a dependency on the cabin driving algorithm when the program is running. By reloading the cabin driving algorithm, hot updates and version switching of the algorithm library at runtime can be achieved.

[0076] In an optional implementation of the present invention, the software format of the business algorithm management layer is a static library, and the software format of the business algorithm layer is a dynamic library.

[0077] Exemplary, reference Figure 6 The algorithm Android application layer 206 includes the algorithm Android application 2060, the business algorithm JNI encapsulation layer 205 includes the business algorithm JNI library 2050, the algorithm C++ application layer 204 includes the algorithm C++ application 2040, the business algorithm management layer 203 includes the business algorithm management library 2031, and the business algorithm layer 202 includes the business algorithm library 2020.

[0078] Further, in Figure 6In the software format of the business algorithm library 2020 of the business algorithm layer 202 is a dynamic library (Shared Object, SO), which can realize dynamic management of the algorithm. Due to different hardware platforms and different vehicle project planning, the business algorithm library 2020 may have different supplier versions and self-developed versions. Suppliers generally provide precompiled versions of cabin driving algorithms, so the supplier version usually uses precompiled integration 20200.

[0079] Furthermore, since there is source code for the self-developed version of the cabin driving algorithm, the self-developed version is integrated through source code. The business algorithm management library 2031 of the business algorithm management layer 203 adopts source code integration, and the software format is a static library (Static Library, SL), which can reduce the number of dependent libraries of the algorithm C++ application 2040 and improve software efficiency. The algorithm C++ application 2040 of the algorithm C++ application layer 204 also adopts source code integration, and the software format is an executable file (Executable, EXE). The business algorithm JNI library 2050 of the business algorithm JNI encapsulation layer 205 also adopts source code integration, and the software format is a Java archive file (Java Archive, JAR) package or an Android archive file (Android Archive, AAR) package. The algorithm Android application 2060 of the algorithm Android application layer 206 also adopts source code integration, and the software format is an Android application package (Android application package, APK).

[0080] In some embodiments, the first integration script is pre-compiled for the first function, referring to Figure 7 , gives an exemplary platform compilation framework composition structure diagram, in Figure 7 In the example, the platform-based compilation framework 700 includes a compilation configuration module 701 , an integration script module 702 , and a compilation script module 703 .

[0081] Further, in Figure 7 In the figure, the compilation configuration module 701 mainly implements the compilation configuration functions of different hardware platforms, different operating systems, and different vehicle model projects, providing a general and flexible compilation configuration capability. The configuration information includes hardware platform 7010, vehicle model project 7011, and operating system 7012.

[0082] Further, in Figure 7In the example, the integration script module 702 mainly provides the general tool scripts required for compiling and integrating the first integration script, mainly including the resource processing script 7020 of the algorithm, the version number generation script 7021 and the configuration generation script 7022. The resource processing script 7020 mainly processes the packaging and copying integration of the algorithm resource files. The version number generation script 7021 dynamically generates the program version number based on the fixed version number rules during the compilation and integration. The configuration generation script 7022 dynamically generates the configuration of the program in combination with the configuration parameters of the compilation configuration module 701, for example, the C / C++ language can be a macro definition.

[0083] Further, in Figure 7 In the compilation script module 703, the compilation scripts of different target operating system compilation environments are mainly included, and the cabin driving algorithm software is compiled and integrated into different target operating systems according to the compilation configuration module 701. The compilation script module 703 mainly includes Android.bp7030, Android.mk7031, and CMakelist.txt7032; among them, Android.bp7030 and Android.mk7031 can support the compilation and integration of the Android AOSP source code environment, and CMakelist.txt7032 can support the compilation and integration of environments such as x87 platform Linux, embedded platform Linux, and Android NDK.

[0084] For example, reference Figure 8 , a compilation flow chart of an exemplary platform compilation framework is given, which specifically includes the following steps S800 to S807:

[0085] Step S800: parse the compilation configuration file to obtain the platform, target operating system, and vehicle model project configuration information.

[0086] Specifically, the compilation configuration file to be compiled this time is parsed to obtain the hardware platform corresponding to the compilation this time, the vehicle model project to which it belongs, and the operating system to be run carried in the compilation configuration file.

[0087] Step S801: Determine the cabin driving service algorithm that needs to be integrated.

[0088] Specifically, after determining the hardware platform corresponding to this compilation, the vehicle model project to which it belongs, and the operating system that needs to be run, the cabin driving business algorithm that needs to be integrated this time is determined, which can be understood as at least one cabin driving algorithm required to implement a certain function.

[0089] Step S802: Determine the cabin driving algorithm version that needs to be integrated, the supplier version or the self-developed version.

[0090] Specifically, after determining at least one cabin pilot algorithm that needs to be integrated, it is also necessary to determine the algorithm version of each cabin pilot algorithm, the supplier version or the self-developed version.

[0091] Step S803: Determine the resource files of the cabin driving business algorithm that need to be integrated.

[0092] Specifically, at least one algorithm resource file corresponding to at least one cabin driving algorithm is determined.

[0093] Step S804: call the resource processing script to process, package and copy the cabin driving business algorithm resource files to be integrated.

[0094] Specifically, the resource processing script is called to process, package, and copy and integrate at least one algorithm resource file to be integrated.

[0095] Step S805: call the version number generation script to generate the software version number for the cabin driving business algorithm to be integrated according to the specified rules.

[0096] Specifically, the resource processing script is called to number at least one algorithm resource file to be integrated according to a specified rule to obtain a software version number.

[0097] Step S806: Call the configuration generation script to generate program configuration and compile script configuration according to the compile configuration.

[0098] Step S807: The compilation script of the specific target operating system compilation environment is compiled according to the compilation script configuration to generate the cabin driving algorithm target product and integrate it.

[0099] Specifically, after obtaining the program configuration and the compilation script configuration, due to the need to adapt to the corresponding operating system, based on this, it is necessary to compile the compilation script according to the compilation script configuration according to the specific target operating system compilation environment to generate the cabin pilot business algorithm that needs to be integrated this time, which is the first integration script in the above embodiment.

[0100] Based on the above embodiments, the cabin pilot algorithm system and the application method of the cabin pilot algorithm of the present technical solution are described below with a specific application embodiment of the cabin pilot algorithm.

[0101] refer to Fig. 9 The algorithm Android application layer 206 includes a panoramic application 900, a driving recorder application 901, a calibration application 902, a desensitization application 903, a scene reconstruction application 904 and a reversing image application 905.

[0102] Further, Fig. 9 From bottom to top, the basic software framework layer 200 and Figure 3Similarly, the algorithm atomic capability layer 201 includes image brightness balancing capability 906, image distortion correction capability 907, image stitching and fusion capability 908, 3D car model capability 909, transparent vehicle bottom capability 910, trajectory capability 911, 3D viewing capability 912, ultra-wide-angle viewing capability 913, wheel viewing angle viewing capability 914, camera internal and external calibration capability 915, camera external parameter calibration capability 916, wheel viewing angle calibration capability 917, image encoding and decoding capability 918, video encoding and decoding capability 919, audio encoding and decoding capability 920, image target detection capability 921, radar envelope capability 922, and audio and video packaging capability 923.

[0103] Furthermore, the business algorithm layer 202 includes a panoramic algorithm library 924, a driving recorder algorithm library 925, a calibration algorithm library 926, a desensitizing algorithm library 927, a scene reconstruction algorithm library 928, and a reversing image algorithm library 929, wherein each algorithm library has its own business algorithm C interface standard and encapsulates the program interface according to its own C interface standard.

[0104] Furthermore, in the business algorithm management layer 203, each algorithm library has its own business algorithm management library 2031, and the business algorithm management library 2031 is implemented based on the business algorithm management abstract layer 2030. The above-mentioned cabin driving business algorithm management library 2031 has its own business algorithm C++ interface standard 208, and encapsulates the program interface according to its own C++ interface standard.

[0105] Furthermore, in the business algorithm JNI encapsulation layer 205, each algorithm library has its own business algorithm JNI library, and each business algorithm JNI library has its own business algorithm Java interface standard 209, and encapsulates the program interface according to its own Java interface standard.

[0106] An embodiment of the present invention provides an application method of a cabin-pilot algorithm, which is applied to a cabin-pilot algorithm system. The cabin-pilot algorithm system includes an algorithm application layer and a business algorithm management layer. The method includes: when the algorithm application layer receives a first instruction from a user for a first application, the algorithm application layer determines a first function included in the first application, and sends a second instruction for implementing the first function to the business algorithm management layer; the number of the first functions is one or more; when the business algorithm management layer receives the second instruction, the business algorithm management layer runs a first integration script corresponding to the first function, and in the process of running the first integration script, calls at least one cabin-pilot algorithm integrated in the first integration script, and after obtaining the running result, sends it to the algorithm application layer to implement the first function; the above implementation scheme can achieve high flexibility, high reusability and software platform capabilities of algorithm software under multiple hardware platforms, multiple operating systems and multiple vehicle models in the cockpit, thereby greatly reducing the product development cycle and development costs of automobile companies.

[0107] Based on the above embodiment, in another embodiment of the present invention, a cabin driving algorithm system is provided, and the cabin driving algorithm system includes:

[0108] The algorithm application layer is used to determine the first function included in the first application when receiving the first instruction of the user for the first application, and send a second instruction for implementing the first function to the business algorithm management layer; the number of the first functions is one or more;

[0109] The business algorithm management layer is used to run the first integration script corresponding to the first function when receiving the second instruction, and in the process of running the first integration script, call at least one cabin driving algorithm integrated in the first integration script, and send the running result to the algorithm application layer to implement the first function after obtaining it.

[0110] An embodiment of the present invention provides a cabin-pilot algorithm system, the system comprising: an algorithm application layer, for determining a first function included in the first application upon receiving a first instruction from a user for a first application, and sending a second instruction for implementing the first function to a business algorithm management layer; the number of the first functions is one or more; a business algorithm management layer, for running a first integration script corresponding to the first function upon receiving the second instruction, and in the process of running the first integration script, calling at least one cabin-pilot algorithm integrated in the first integration script, and sending the running result to the algorithm application layer to implement the first function after obtaining it; the above implementation scheme can achieve high flexibility, high reusability and software platform capabilities of algorithm software under multiple hardware platforms, multiple operating systems and multiple vehicle models in the cockpit, thereby greatly reducing the product development cycle and development costs of automobile companies.

[0111] Fig.10 A schematic diagram of the structure of a computer device provided in an embodiment of the present invention. In practical applications, based on the same disclosed concept of the above embodiments, Fig.10 As shown, the computer device 1000 of this embodiment includes: a processor 1000 , a memory 1001 and a communication bus 1002 .

[0112] The memory 1001 stores a computer program that can be run on the processor. The memory 1001 is configured to store instructions and applications executable by the processor 1001. It can also cache data to be processed or processed by the processor 1000 and various modules in the computer device 1000 (for example, image data, audio data, voice communication data, and video communication data). This can be achieved through flash memory (FLASH) or random access memory (Random Access Memory, RAM).

[0113] When the processor 1001 executes the program, the steps of the method for applying the cabin driving algorithm described above are implemented. The processor 1000 generally controls the overall operation of the computer device 1000.

[0114] An embodiment of the present application provides a computer storage medium, which stores one or more programs. The one or more programs can be executed by one or more processors to implement the steps of the application method of the cabin pilot algorithm of any of the above embodiments.

[0115] An embodiment of the present application provides a computer program product, including a computer program or instructions, which, when executed by a processor, implements some or all of the steps in the application method of the above-mentioned cabin driving algorithm.

[0116] It should be noted here that the description of the above storage medium and device embodiments is similar to the description of the above method embodiments, and has similar beneficial effects as the method embodiments. For technical details not disclosed in the storage medium and device embodiments of this application, please refer to the description of the method embodiments of this application for understanding.

[0117] The processor may be at least one of an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), a Digital Signal Processing Device (DSPD), a Programmable Logic Device (PLD), a Field Programmable Gate Array (FPGA), a Central Processing Unit (CPU), a controller, a microcontroller, and a microprocessor. It is understandable that the electronic device that implements the functions of the processor may also be other, and the embodiments of the present application are not specifically limited.

[0118] The above-mentioned computer storage medium / memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory (Flash Memory), a magnetic surface memory, an optical disk, or a compact disc read-only memory (CD-ROM) and the like; it can also be various terminals including one or any combination of the above-mentioned memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.

[0119] It should be understood that "one embodiment" or "an embodiment" mentioned throughout the specification means that specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in various embodiments of the present application, the size of the serial number of each step / process mentioned above does not mean the order of execution, and the execution order of each step / process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application. The serial numbers of the embodiments of the present application mentioned above are for description only and do not represent the advantages and disadvantages of the embodiments.

[0120] It should be noted that, in this article, the terms "include", "comprises" or any other variations 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, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.

[0121] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are only schematic. For example, the division of units is only a logical function division. There may be other division methods in actual implementation, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.

[0122] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units; they may be located in one place or distributed on multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0123] In addition, all functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may be a separate unit, or two or more units may be integrated into one unit; the above-mentioned integrated units may be implemented in the form of hardware or in the form of hardware plus software functional units.

[0124] A person skilled in the art can understand that all or part of the steps of implementing the above method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above method embodiment; and the aforementioned storage medium includes: mobile storage devices, read-only memories (ROM), magnetic disks or optical disks, etc., various media that can store program codes.

[0125] Alternatively, if the above-mentioned integrated unit of the present application is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can essentially or in other words, the part that contributes to the relevant technology can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods of each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROMs, magnetic disks, or optical disks.

[0126] The above are only implementation methods of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application.

Claims

1. An application method of a cabin driving algorithm, characterized in that: Applied to a cabin driving algorithm system, the cabin driving algorithm system includes an algorithm application layer and a business algorithm management layer, and the method includes: The algorithm application layer, when receiving a first instruction from a user for a first application, determines a first function included in the first application, and sends a second instruction for implementing the first function to the business algorithm management layer; the number of the first functions is one or more; When receiving the second instruction, the business algorithm management layer runs the first integration script corresponding to the first function, and in the process of running the first integration script, calls at least one cabin driving algorithm integrated in the first integration script, and after obtaining the running result, sends it to the algorithm application layer to implement the first function.

2. The application method of the cabin driving algorithm according to claim 1 is characterized in that: The cabin driving algorithm system further includes a business algorithm layer, and the business algorithm layer includes a plurality of cabin driving algorithms; the calling of the at least one cabin driving algorithm integrated in the first integrated script includes: The business algorithm management layer determines the at least one cabin driving algorithm integrated in the first integration script, and sends a third instruction for calling the at least one cabin driving algorithm to the business algorithm layer; When receiving the third instruction, the business algorithm layer returns the at least one cabin driving algorithm to the business algorithm management layer, so that the business algorithm management layer runs the first integration script based on the at least one cabin driving algorithm.

3. The application method of the cabin driving algorithm according to claim 2 is characterized in that: The cabin driving algorithm system further includes an algorithm atomic capability layer, and the algorithm atomic capability layer includes a plurality of algorithm atomic capabilities; returning the at least one cabin driving algorithm to the business algorithm management layer includes: The business algorithm layer determines a set of algorithm atomic capabilities that each algorithm in the at least one cabin driving algorithm depends on, and obtains at least one set of algorithm atomic capabilities corresponding to the at least one cabin driving algorithm; The business algorithm layer sends a fourth instruction for calling the at least one set of algorithm atomic capabilities to the algorithm atomic capability layer; Upon receiving the at least one set of algorithm atomic capabilities, the algorithm atomic capability layer returns the at least one set of algorithm atomic capabilities to the business algorithm layer so that the business algorithm layer can generate the at least one cabin driving algorithm based on the at least one set of algorithm atomic capabilities.

4. The application method of the cabin driving algorithm according to claim 1 is characterized in that: The cabin driving algorithm system also includes a basic software framework layer, and the basic software framework layer includes a general basic component and a platform capability component; the method also includes: When receiving the running result, the algorithm application layer implements the first function based on the general basic component and the platform capability component.

5. The application method of the cabin driving algorithm according to claim 4 is characterized in that: The general basic components include at least one or more of a log component, a multi-thread component, a message flow component, a message processing component, a timer component, a dynamic library loading component, and a debugging component.

6. The method for applying the cabin driving algorithm according to claim 4, characterized in that: The platform capability component includes at least one or more of a rendering component, a coding and decoding component, and an image processing component.

7. The method for applying the cabin driving algorithm according to claim 2, characterized in that: The software format of the business algorithm management layer is a static library, and the software format of the business algorithm layer is a dynamic library.

8. The method for applying the cabin driving algorithm according to any one of claims 1 to 7, characterized in that: The business algorithm management layer supports linking the at least one cabin driving algorithm by compiling and linking or running and linking.

9. A cabin driving algorithm system, characterized in that: The system comprises: The algorithm application layer is used to, upon receiving a first instruction from a user for a first application, determine a first function included in the first application, and send a second instruction for implementing the first function to the business algorithm management layer; the number of the first functions is one or more; The business algorithm management layer is used to run the first integration script corresponding to the first function when receiving the second instruction, and in the process of running the first integration script, call at least one cabin driving algorithm integrated in the first integration script, and send the running result to the algorithm application layer after obtaining it to implement the first function.

10. A computer device, characterized in that: The device comprises: a processor, a memory and a communication bus; when the processor executes the running program stored in the memory, the method according to any one of claims 1 to 8 is implemented.

11. A computer-readable storage medium, characterized in that: A computer program is stored thereon, and when the computer program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.

12. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the method according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Intelligent cabin control method, device, equipment and medium

    CN115285139A

  • Driving control instruction generation method, heterogeneous computing method, related apparatuses and system

    WO2022217939A1