Driving chip control method and device, equipment and storage medium

By acquiring camera module motion data, calculating target voltage level and calibration data, and controlling the drive chip to drive the camera module to the target position, the problem of shake compensation deviation caused by power supply voltage adjustment in optical image stabilization technology is solved, and control accuracy and stability are improved.

CN120856982APending Publication Date: 2025-10-28BEIJING TSINGTENG MICROSYSTEM CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511106610.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-08
Publication Date
2025-10-28

AI Technical Summary

Technical Problem

Existing optical image stabilization technology dynamically adjusts the power supply voltage of the driver chip under different shooting scenarios, which can cause deviations in shake compensation and affect control accuracy and stability.

Method used

By acquiring motion data of the camera module collected by the motion sensor, determining the posture data and jitter data, calculating the target voltage level and production calibration data, and controlling the drive chip to drive the camera module to the target position, a balance between driving capability and power consumption is achieved.

Benefits of technology

It improves the control precision and stability of the optical image stabilization system, and achieves accurate shake compensation and power consumption management in different shooting scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120856982A_ABST
    Figure CN120856982A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to a driving chip control method and device, equipment and a storage medium, and the method comprises the steps: obtaining the motion data, collected by a motion sensor, of a camera module; determining attitude data and jitter data of the camera module according to the motion data; determining a target voltage grade of the driving chip according to the attitude data and the jitter data, and obtaining target production calibration data corresponding to the target voltage grade; determining a target position of the camera module according to the motion data and the target production calibration data; and controlling the driving chip to drive the camera module to a target position. Therefore, according to the embodiment of the invention, the balance between the driving capability and the power consumption can be realized through dynamic voltage regulation, and meanwhile, the accuracy of jitter compensation can be improved, so that the effect of improving the control accuracy and the stability of the optical anti-jitter system is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of optical image stabilization technology, and in particular to a control method, apparatus, device, and storage medium for a driver chip. Background Technology

[0002] Currently, with the development of electronic devices (such as mobile phones and tablets), people have increasingly higher requirements for camera stability, and optical image stabilization technology is one of the key technologies. When people hold electronic devices, shaking is inevitable, and the image will be blurry. Optical image stabilization technology compensates for this shaking by moving the camera module, so that the original image captured by the camera is clear.

[0003] Currently, in practical applications of camera modules, to adapt to different shooting scenarios (such as shooting scenarios with varying shake intensities), a balance between driving capability and power consumption can be achieved by dynamically adjusting the power supply voltage of the driver chip. However, this method can lead to deviations in shake compensation in certain shooting scenarios, thereby affecting the control accuracy and stability of the optical image stabilization system. Summary of the Invention

[0004] To solve the above-mentioned technical problems, or at least partially solve them, embodiments of this disclosure provide a control method, apparatus, device, and storage medium for a driver chip.

[0005] A first aspect of this disclosure provides a control method for a driver chip, the method comprising:

[0006] Acquire motion data from the camera module collected by the motion sensor;

[0007] The posture data and jitter data of the camera module are determined based on the motion data;

[0008] The target voltage level of the driver chip is determined based on the attitude data and the jitter data, and the target production calibration data corresponding to the target voltage level is obtained.

[0009] The target position of the camera module is determined based on the motion data and the target production calibration data.

[0010] The driver chip is controlled to drive the camera module to the target position.

[0011] A second aspect of this disclosure provides a control device for a driver chip, the device comprising:

[0012] The first acquisition module is used to acquire motion data from the camera module collected by the motion sensor;

[0013] The first determining module is used to determine the posture data and jitter data of the camera module based on the motion data;

[0014] The second determining module is used to determine the target voltage level of the driver chip based on the attitude data and the jitter data, and to obtain the target production calibration data corresponding to the target voltage level;

[0015] The third determining module is used to determine the target position of the camera module based on the motion data and the target production calibration data;

[0016] The first control module is used to control the driver chip to drive the camera module to the target position.

[0017] A third aspect of this disclosure provides an electronic device comprising: a processor and a memory, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor performs the method described in the first aspect.

[0018] A fourth aspect of this disclosure provides a computer-readable storage medium storing a computer program that, when executed by a processor, can implement the method of the first aspect described above.

[0019] The technical solution provided in this disclosure has the following advantages compared with the prior art:

[0020] This embodiment of the disclosure can acquire motion data of a camera module collected by a motion sensor; determine the camera module's attitude data and jitter data based on the motion data; determine the target voltage level of the driver chip based on the attitude data and jitter data, and acquire the target production calibration data corresponding to the target voltage level; determine the target position of the camera module based on the motion data and the target production calibration data; and control the driver chip to drive the camera module to the target position. It is evident that by adopting the above technical solution, the power supply voltage of the driver chip can be controlled to the corresponding target voltage level based on the camera module's attitude data and jitter data, thereby achieving a balance between driving capability and power consumption. Simultaneously, it can calculate the target position based on the target production calibration data matching the target voltage level, improving the accuracy of jitter compensation, and thus achieving the effect of improving the control accuracy and stability of the optical image stabilization system. Attached Figure Description

[0021] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.

[0022] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0023] Figure 1 This is a schematic diagram of the structure of an optical image stabilization system provided in an embodiment of this disclosure;

[0024] Figure 2 This is a schematic diagram of another optical image stabilization system provided in this embodiment;

[0025] Figure 3 This is a logical schematic diagram of a jitter compensation provided in an embodiment of this disclosure;

[0026] Figure 4 This is a flowchart of a control method for a driver chip provided in an embodiment of this disclosure;

[0027] Figure 5 This is a schematic diagram of the coordinate axes of a motion sensor provided in an embodiment of this disclosure;

[0028] Figure 6 This is a control flowchart of a driver chip during its operation phase, provided in an embodiment of this disclosure.

[0029] Figure 7 This is a control flowchart of a driver chip during the production stage provided in an embodiment of this disclosure;

[0030] Figure 8 This is a schematic diagram of the structure of a control device for a driver chip provided in an embodiment of this disclosure;

[0031] Figure 9 This is a schematic diagram of the structure of an electronic device according to an embodiment of this disclosure. Detailed Implementation

[0032] To better understand the above-mentioned objectives, features, and advantages of this disclosure, the solutions disclosed herein will be further described below. It should be noted that, unless otherwise specified, the embodiments and features described herein can be combined with each other.

[0033] Numerous specific details are set forth in the following description in order to provide a full understanding of this disclosure, but this disclosure may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only some, and not all, of the embodiments of this disclosure.

[0034] Currently, with the development of electronic devices (such as mobile phones and tablets), people have increasingly higher requirements for camera stability, and optical image stabilization (OIS) is one of the key technologies. When a person holds an electronic device, shaking is inevitable, resulting in blurred images. OIS compensates for this shaking by moving the camera module, ensuring that the original image captured by the camera is clear. OIS systems typically use a gyroscope to collect motion data from the lens module, then a processor calculates the shake compensation, and finally controls the driver chip to move the camera module to the target position corresponding to the shake compensation, thus achieving the stabilization effect. For example... Figure 1 This is a schematic diagram of the structure of an optical image stabilization system provided in an embodiment of this disclosure. Figure 2 This is a schematic diagram of another optical image stabilization system provided in an embodiment of this disclosure. Figure 3 This is a logical schematic diagram of a jitter compensation provided in an embodiment of this disclosure. For example... Figure 1 As shown, the gyroscope is connected to the processor via SPI. The processor processes the motion data collected by the gyroscope, calculates the target position corresponding to the jitter compensation, and sends it to two driver chips via I2C. The two driver chips then drive the x-axis and y-axis of the camera module to the target position, respectively, thus completing the image stabilization compensation. Figure 2 As shown, the gyroscope is connected to the driver chip via SPI. The driver chip processes the motion data collected by the gyroscope, calculates the target position corresponding to the jitter compensation, and drives the x-axis and y-axis of the camera module to the target position through two driving channels, thus completing the image stabilization compensation. Figure 3 As shown, the working logic of the two types of jitter compensation can be described as calculating the target position corresponding to jitter compensation based on the motion data collected by the gyroscope, and using PID control to make the drive chip drive the camera module to move to the target position through current to complete the jitter compensation.

[0035] However, in practical applications of camera modules, to adapt to different shooting scenarios (such as shooting scenarios with different shake intensity and / or lens module mass), a balance between driving capability and power consumption can be achieved by dynamically adjusting the power supply voltage of the driver chip. For example, if there is significant shake or the camera module mass is large, a larger current is needed to drive the camera module to move, so as to complete shake compensation faster. In this case, the power supply voltage of the driver chip is larger. If shooting is static (such as shooting on a tripod, where the camera module shake is small) or the camera module mass is small, a smaller current is needed to drive the camera module to move, which can save power consumption and reduce overheating. In this case, the power supply voltage of the driver chip is smaller. However, since the calibration data obtained in the production stage is usually based on fixed voltage conditions, when the voltage changes, the original calibration parameters will no longer be applicable, resulting in deviations in the image shake compensation value calculated based on the gyroscope signal. This will reduce the image stabilization effect and affect the control accuracy and stability of the optical image stabilization system.

[0036] Figure 4 This is a flowchart illustrating a control method for a driver chip according to an embodiment of this disclosure. This method can be executed by an electronic device. The electronic device can be exemplarily understood as a device such as a mobile phone or tablet computer. Figure 4 As shown, the method provided in this embodiment includes the following steps:

[0037] S410: Acquire motion data from the camera module collected by the motion sensor.

[0038] Specifically, electronic devices include optical image stabilization systems, which include at least a motion sensor, a driver chip, and a camera module.

[0039] In this context, a motion sensor refers to a sensor integrated into an optical image stabilization system for collecting motion data from the camera module. Examples of motion sensors include gyroscopes, but are not limited to these.

[0040] Motion data refers to data related to the motion state of the camera module.

[0041] Optionally, motion data includes angular velocity and acceleration. For example, Figure 5 This is a schematic diagram of the coordinate axes of a motion sensor provided in an embodiment of this disclosure. Figure 5 As shown, the motion data includes angular velocity in the X-axis direction, angular velocity in the Y-axis direction, angular velocity in the Z-axis direction, acceleration in the X-axis direction, acceleration in the Y-axis direction, and acceleration in the Z-axis direction.

[0042] The driver chip is used to drive the camera module to move in order to perform image stabilization compensation.

[0043] The camera module is used to capture images.

[0044] S420: Determine the camera module's posture and jitter data based on motion data.

[0045] Specifically, attitude data refers to data that describes the orientation state of the camera module in three-dimensional space.

[0046] Specifically, jitter data refers to data describing the unexpected, minute movements that occur in the camera module within a short period of time.

[0047] Optionally, the jitter data includes jitter angle and / or jitter amplitude. For example, the jitter data includes jitter angle and / or jitter amplitude on the X-axis and jitter angle and / or jitter amplitude on the Y-axis.

[0048] It should be noted that those skilled in the art can use any known algorithm to calculate attitude data and jitter data, and this disclosure does not limit this.

[0049] S430: Determine the target voltage level of the driver chip based on the attitude data and jitter data, and obtain the target production calibration data corresponding to the target voltage level.

[0050] Specifically, this disclosure divides the power supply voltage of the driver chip into multiple voltage levels based on the power supply voltage range of the driver chip, with different voltage levels corresponding to different power supply voltages.

[0051] In some examples, multiple supply voltages are obtained by uniform sampling within the supply voltage range. Each supply voltage corresponds to a voltage level, and the higher the voltage level, the larger the corresponding supply voltage.

[0052] Of course, in other examples, the supply voltage range can be evenly divided into multiple voltage ranges, each voltage range corresponding to a voltage level, with higher voltage levels corresponding to larger endpoint values ​​of the voltage range.

[0053] Specifically, the target voltage level refers to the voltage level corresponding to the power supply voltage that needs to be provided to the driver chip for anti-shake compensation.

[0054] It should be noted that there are multiple ways to determine the target voltage level. The following are typical examples, but they do not constitute a limitation of this disclosure.

[0055] In some embodiments, determining the target voltage level of the driver chip based on attitude data and jitter data includes: determining the target voltage level of the driver chip based on pre-acquired system characteristic data, attitude data, and jitter data of the camera module.

[0056] Specifically, system characteristic data refers to the data that affects the drive voltage of the driver chip in image stabilization compensation. Optionally, system characteristic data includes quality, but is not limited to this.

[0057] In some embodiments, determining the target voltage level of the driver chip based on pre-acquired system characteristic data, attitude data, and jitter data of the camera module includes: inputting the system characteristic data, attitude data, and jitter data into a pre-trained first network model, and obtaining the target voltage level output by the first network model.

[0058] In other embodiments, the target voltage level of the driver chip is determined based on pre-acquired system characteristic data, attitude data, and jitter data of the camera module, including:

[0059] S4311. Determine the system characteristic score of the camera module based on the system characteristic data, wherein the system characteristic data includes quality, and the system characteristic score is positively correlated with quality.

[0060] Specifically, the specific forms of system characteristic rating can include scores, grades, star ratings, etc., but are not limited to these.

[0061] Specifically, the higher the quality of the camera module, the greater the drive current required from the driver chip for a faster response. Therefore, the system characteristic score can be set to be positively correlated with the quality.

[0062] For example, the system characteristic score is recorded as [0,1] based on the range of camera module mass from small to large. That is, the heavier the mass, the larger the system characteristic score, and the closer it is to 1. The lighter the mass, the smaller the system characteristic score, and the closer it is to 0.

[0063] S4312. Determine the posture score of the camera module based on the posture data, wherein the posture score is positively correlated with the degree to which the posture of the camera module deviates from the horizontal state.

[0064] Specifically, the "pose data" mentioned here refers to the pose of the camera module within a preset time period. Combined with... Figure 5 As shown, when the Z-axis is pointing upwards or downwards, i.e., the camera module is in a horizontal position (e.g., a phone placed flat on a table), the main issue the camera module needs to overcome is slight lateral jitter (i.e., jitter within the horizontal plane). Because there is no additional load from gravity along the X or Y axis, the driver chip only needs to provide a small drive current to achieve jitter compensation. However, if the camera module is placed vertically (e.g., holding the phone in portrait or landscape mode for shooting), the direction of gravity of the camera module is at an angle to the X or Y axis (or even completely parallel), which introduces a gravitational load to the camera module. To keep the camera module stable in a certain position, the driver chip must output a continuous bias current to counteract gravity and prevent the camera module from slipping due to gravity. Therefore, the driver chip needs to provide a larger drive current. Thus, the attitude score can be set to be positively correlated with the degree to which the camera module's attitude deviates from a horizontal state.

[0065] For example, the attitude rating includes an X-axis attitude rating and a Y-axis attitude rating. In calculating the X-axis attitude rating, if the camera module is placed horizontally, the driving current fluctuates relatively little and changes near 0, resulting in a minimum attitude rating of 0. If the camera module is held vertically for shooting, the current fluctuates more significantly off-center, resulting in a maximum attitude rating of 1. For other attitudes, the attitude rating is between [0, 1], with higher ratings for larger angles away from the X-axis. Similarly, in calculating the Y-axis attitude rating, if the camera module is held horizontally for shooting, the driving current fluctuates relatively little and changes near 0, resulting in a minimum attitude rating of 0. If the camera module is held vertically, the current fluctuates more significantly off-center, resulting in a maximum attitude rating of 1. For other attitudes, the attitude rating is between [0, 1], with higher ratings for larger angles away from the Y-axis.

[0066] Specifically, since the observation focuses on the camera module's attitude over a preset time period, multiple attitudes of the camera module can be acquired within this timeframe, with each attitude corresponding to an attitude score. Based on this, the maximum value of the multiple attitude scores corresponding to multiple attitudes can be used as the attitude score of the attitude data. This allows the supply voltage corresponding to the final determined target voltage level to be as large as possible, thereby maximizing the drive current that the driver chip can output to counteract gravity when most deviating from a horizontal state.

[0067] S4313. Determine the camera module's shake score based on the shake data, where the shake data includes the shake amplitude, and the shake score is positively correlated with the shake amplitude.

[0068] Specifically, the "shake data" mentioned here includes the shaking amplitude of the camera module within a preset time period.

[0069] Specifically, the greater the camera module's shaking amplitude, the greater the drive current required from the driver chip for the camera module to quickly keep up with the shaking. Therefore, a shaking score can be set to be positively correlated with the shaking amplitude.

[0070] For example, the shake score includes an X-axis shake score and a Y-axis shake score. In calculating the X-axis shake score, if the camera module experiences significant shake along the X-axis, it requires a larger current to quickly catch up, resulting in a shake score closer to 1. Conversely, if the shake along the Y-axis is smaller (e.g., when shooting with a tripod), the camera module requires less current, resulting in a shake score closer to 0. The same principle applies to calculating the Y-axis shake score, and will not be elaborated further here.

[0071] Specifically, since the observation focuses on the jitter amplitude of the camera module within a preset time period, multiple jitter amplitude values ​​can be acquired within this period, with each jitter amplitude value corresponding to a jitter amplitude score. Based on this, the maximum value of the multiple jitter amplitude scores corresponding to multiple jitter amplitude values ​​can be used as the jitter amplitude score of the jitter amplitude data. This ensures that the supply voltage corresponding to the final determined target voltage level can be as large as possible, thereby maximizing the drive current that the driver chip can output, enabling the camera module to quickly keep up with the jitter.

[0072] S4314. Determine the target comprehensive score of the camera module based on the system characteristic score, attitude score, and jitter score.

[0073] Specifically, the system characteristic score, attitude score, and jitter score can be weighted and summed (the weighting coefficients can be adjusted according to the actual system debugging effect), the average value can be obtained, or the maximum and minimum values ​​can be determined to obtain the target comprehensive score.

[0074] For example, the target comprehensive score includes a target X-axis comprehensive score and a target Y-axis comprehensive score. The target X-axis comprehensive score can be obtained by weighted summation, averaging, or determining the maximum or minimum value of the system characteristic score, X-axis attitude score, and X-axis jitter score. The same applies to the target Y-axis comprehensive score, which will not be elaborated further here.

[0075] S4315. Based on the mapping relationship between voltage level and comprehensive score, query the target voltage level corresponding to the target comprehensive score.

[0076] Specifically, voltage level is positively correlated with overall score. Of course, those skilled in the art will understand that if system characteristic score is negatively correlated with quality, attitude score is negatively correlated with the degree to which the camera module's attitude deviates from a horizontal state, and jitter score is negatively correlated with jitter amplitude, then voltage level is negatively correlated with overall score.

[0077] Specifically, the mapping relationship between voltage levels and comprehensive scores includes multiple voltage levels and multiple comprehensive scores, with a one-to-one correspondence between voltage levels and comprehensive scores. By querying this mapping relationship, the comprehensive score that is closest to the target comprehensive score is determined, and the voltage level corresponding to this "comprehensive score that is closest to the target comprehensive score" is taken as the target voltage level.

[0078] For example, the mapping relationship between voltage level and comprehensive score includes "the mapping relationship between voltage level and X-axis comprehensive score" and "the mapping relationship between voltage level and Y-axis comprehensive score". Based on the target X-axis comprehensive score, querying the "mapping relationship between voltage level and X-axis comprehensive score" yields the target voltage level (i.e., the target X-axis voltage level) when driving the camera module to move along the X-axis; based on the target Y-axis comprehensive score, querying the "mapping relationship between voltage level and Y-axis comprehensive score" yields the target voltage level (i.e., the target Y-axis voltage level) when driving the camera module to move along the Y-axis.

[0079] Understandably, by determining the target voltage level of the driver chip based on multi-dimensional data such as system characteristic data, attitude data, and shake data of the camera module, the power supply voltage provided to the driver chip can better achieve a balance between driving capability and power consumption. This is beneficial for achieving accurate image stabilization compensation and effectively optimizing power consumption management in different application scenarios.

[0080] In other embodiments, the target voltage level of the driver chip is determined based on attitude data and jitter data, including: S4321, determining the attitude score of the camera module based on the attitude data, wherein the attitude score is positively correlated with the degree to which the attitude of the camera module deviates from the horizontal state; S4321 and S4312 are similar and will not be described in detail here.

[0081] S4322. Determine the camera module's shake score based on the shake data, where the shake data includes the shake amplitude, and the shake score is positively correlated with the shake amplitude; S4322 and S4313 are similar, and will not be repeated here.

[0082] S4323. Determine the target comprehensive score of the camera module based on the system characteristic score, attitude score, and jitter score; S4323 is similar to S4314, and will not be described again here.

[0083] S4324. Based on the mapping relationship between voltage level and comprehensive score, query the target voltage level corresponding to the target comprehensive score. S4324 is similar to S4315, and will not be described again here.

[0084] It should be noted that there are various methods for determining the target production calibration data. Typical examples are described below, but this does not constitute a limitation of this disclosure.

[0085] In some embodiments, obtaining target production calibration data corresponding to a target voltage level includes: querying target production calibration data corresponding to a target voltage level from pre-acquired production calibration data corresponding to multiple voltage levels respectively.

[0086] For a detailed explanation of "multiple voltage levels," please refer to the previous text; it will not be repeated here.

[0087] Specifically, this disclosure pre-calibrates production data for each voltage level to obtain corresponding production calibration data. Furthermore, the production calibration data corresponding to multiple voltage levels are stored in the memory of the optical image stabilization system, thus allowing the target production calibration data corresponding to the target voltage level to be read from the memory.

[0088] Optionally, production calibration tests may include stroke calibration tests, linearization calibration tests, and / or orthogonalization calibration tests.

[0089] Among them, the stroke calibration test refers to recording the positional movement of the camera module from one extreme position to another under different voltage levels (i.e., different power supply voltages) to form stroke calibration values.

[0090] The optical image stabilization system also includes a position sensor to acquire the position of the camera module on the X-axis and the Y-axis. Linearization calibration testing refers to determining the correspondence between the "position of the camera module acquired by the position sensor" and the "actual position of the camera module acquired by an external acquisition device (such as an external laser measurement device)".

[0091] Among them, the orthogonalization calibration test refers to testing the independent motion of the X-axis and Y-axis separately to determine the minute movement of the camera module on the Y-axis when only the camera module is driven to move on the X-axis; and vice versa.

[0092] Accordingly, the process of acquiring production calibration data includes: S4331, determining multiple voltage levels based on the power supply voltage range of the driver chip.

[0093] S4332. For each voltage level, determine the travel calibration value of the camera module at the voltage level, perform linearization calibration based on the travel calibration value to obtain the linearization calibration data corresponding to the voltage level, and perform orthogonalization calibration based on the travel calibration value to obtain the orthogonalization calibration data corresponding to the voltage level.

[0094] Specifically, the travel calibration value corresponding to each voltage level includes an X-axis travel calibration value and a Y-axis travel calibration value. Each voltage level corresponds to a supply voltage (either a sampled value or the median value of the corresponding voltage range). For each voltage level, the supply voltage corresponding to that voltage level is provided to the driver chip, and the driver chip is controlled to drive the camera module to move along the X-axis. The position of the camera module on the X-axis is recorded from one extreme position (the position of the camera module on the X-axis when the drive current output by the driver chip for moving the camera module along the X-axis is minimum under that supply voltage) to another extreme position (the position of the camera module on the X-axis when the drive current output by the driver chip for moving the camera module along the X-axis is maximum under that supply voltage), forming the X-axis travel calibration value. For each voltage level, the corresponding supply voltage is provided to the driver chip, and the driver chip is controlled to drive the camera module to move along the Y-axis. The position of the camera module on the Y-axis is recorded from one extreme position (the position of the camera module on the Y-axis when the drive current output by the driver chip for the camera module to move along the Y-axis is the minimum under the supply voltage) to another extreme position (the position of the camera module on the Y-axis when the drive current output by the driver chip for the camera module to move along the Y-axis is the maximum under the supply voltage), forming the Y-axis travel calibration value.

[0095] For example, there are N voltage levels, and the supply voltages corresponding to the N voltage levels are denoted as [V1, V2, ..., VN]. For the nth voltage level, a supply voltage Vn is provided to the driver chip, and the driver chip is controlled to drive the camera module to move along the X-axis, recording the camera module moving along the X-axis from an extreme position P. min _Vnx to another extreme position P max The position of _Vnx is shifted to form the X-axis travel calibration value corresponding to the nth voltage level [P]. min _Vnx,P max _Vnx], where 1≤n≤N. For the nth voltage level, a supply voltage Vn is provided to the driver chip, and the driver chip is controlled to drive the camera module to move along the Y-axis, recording the camera module moving along the Y-axis from an extreme position P. min _Vn y To another extreme position P max _Vn y The positional movement forms the Y-axis travel calibration value corresponding to the nth voltage level [P]. min _Vn y ,P max _Vn y ], where 1≤n≤N.

[0096] Optionally, linearizing calibration based on the stroke calibration value to obtain linearized calibration data corresponding to the voltage level, and orthogonalizing calibration based on the stroke calibration value to obtain orthogonal calibration data corresponding to the voltage level, includes: determining multiple first positions based on the stroke calibration value corresponding to the voltage level;

[0097] For each first position, when the camera module is located at the first position, the second and third positions of the camera module are acquired by the external position acquisition device to obtain the linearized calibration data and orthogonalized calibration data corresponding to the voltage level. The first and second positions are the positions of the camera module on the first coordinate axis, and the third position is the position of the camera module on the second coordinate axis.

[0098] Specifically, the linearization calibration data corresponding to each voltage level includes X-axis linearization calibration data and Y-axis linearization calibration data, and the orthogonalization calibration data corresponding to each voltage level includes X-axis orthogonalization calibration data and Y-axis orthogonalization calibration data. For each voltage level, the X-axis linearization calibration data and Y-axis orthogonalization calibration data corresponding to that voltage level are obtained through the following steps: The X-axis travel calibration value corresponding to that voltage level is uniformly sampled to obtain multiple first positions (denoted as X-axis first positions). The control drive chip drives the camera module to move sequentially along the X-axis to these multiple X-axis first positions. For each X-axis first position, when the camera module is located at the X-axis first position, the second position (denoted as X-axis second position) and the third position (denoted as Y-axis third position) of the camera module on the X-axis are acquired by the external position acquisition device, thus obtaining the X-axis linearization calibration data and Y-axis orthogonalization calibration data corresponding to that voltage level. For each voltage level, the Y-axis linearization calibration data and X-axis orthogonalization calibration data corresponding to that voltage level are obtained through the following steps: Multiple first positions (denoted as Y-axis first positions) are obtained by uniformly sampling the Y-axis travel calibration value corresponding to that voltage level. The control drive chip drives the camera module to move sequentially along the Y-axis to these multiple Y-axis first positions. For each Y-axis first position, when the camera module is located at the Y-axis first position, the second position (denoted as Y-axis second position) and the third position (denoted as X-axis third position) of the camera module on the Y-axis are acquired by the external position acquisition device, thus obtaining the Y-axis linearization calibration data and X-axis orthogonalization calibration data corresponding to that voltage level.

[0099] For example, for n voltage levels, the calibration value of the X-axis travel corresponding to the nth voltage level is [P]. min _Vnx,P max _Vnx], uniformly sampled to obtain M first X-axis positions [P1_V x P2_V x ,…,P M _V x When the camera module moves to Pm _V x At this location, obtain the position P' of the camera module on the X-axis acquired by the external position acquisition device. m _V x (i.e., the second position on the X-axis) and the position P of the camera module on the Y-axis m _V xy (i.e., the third position on the Y-axis), P m _V x and P' m _V x Record the correspondence between them (belonging to X-axis linearization calibration data), and P m _V x 、P' m _V x and P m _V xy The correspondence between them is recorded (belonging to Y-axis orthogonalization calibration data), where 1≤m≤M, thus obtaining the X-axis linearization calibration data and Y-axis orthogonalization calibration data corresponding to the nth voltage level. For n voltage levels, based on the Y-axis travel calibration value [P] corresponding to the nth voltage level... min _Vn y ,P max _Vn y M Y-axis first positions [P1_V] were obtained by uniform sampling. y P2_V y ,…,P M _V y When the camera module moves to P m _V y At this location, obtain the position P' of the camera module on the Y-axis, acquired by the external position acquisition device. m _V y (i.e., the second position on the Y-axis) and the position P of the camera module on the X-axis m _V yx (i.e., the third position on the X-axis), P m _V y and P' m _V y Record the correspondence between them (belonging to Y-axis linearization calibration data), and set P m _V y 、P' m _V y and P m _V yx The correspondence between them is recorded (belonging to the X-axis orthogonalization calibration data), where 1≤m≤M, thus obtaining the Y-axis linearization calibration data and X-axis orthogonalization calibration data corresponding to the nth voltage level.

[0100] Understandably, by setting the generated calibration data to include travel calibration values, linearization calibration data, and orthogonalization calibration data, it is beneficial to calibrate shake compensation in multiple dimensions in the future, thereby enabling better shake compensation when driving the camera module according to the target position.

[0101] S440: Determine the target position of the camera module based on motion data and target production calibration data.

[0102] Specifically, the target production calibration data includes production calibration data corresponding to the target X-axis voltage level and the target Y-axis voltage level. Correspondingly, the target position includes the target X-axis position and the target Y-axis position. The target X-axis position of the camera module is determined based on the angular velocity along the X-axis and the production calibration data corresponding to the target X-axis voltage level; the target Y-axis position of the camera module is determined based on the angular velocity along the Y-axis and the production calibration data corresponding to the target Y-axis voltage level.

[0103] In some embodiments, S440 includes: S441, determining the initial position based on the angular velocity.

[0104] Specifically, the initial position includes the initial X-axis position and the initial Y-axis position. The initial X-axis position of the camera module is determined based on the angular velocity along the X-axis; the initial Y-axis position of the camera module is determined based on the angular velocity along the Y-axis.

[0105] For example, the angular velocity is w, according to θ=∫wd t The X-axis offset angle θ is calculated by integration. x and Y-axis offset angle θ y Of course, in actual calculations, a cumulative sum method can also be used: θ≈∑Δθ≈∑wΔt, where Δt is the sampling interval time. According to geometric optics, the relationship between image point offset (displacement) and focal length and tilt angle is S=EFL×tanθ, where EFL is the effective focal length of the camera module. When θ is small, it can be approximated as S=EFL×θ. In this way, the initial X-axis position Qx and the initial Y-axis position Qy of the camera module can be calculated.

[0106] S442. The initial position is calibrated based on the orthogonalized calibration data in the target production calibration data to obtain the orthogonally calibrated position.

[0107] Specifically, the positions after orthogonalization calibration include the X-axis position and the Y-axis position after orthogonalization calibration.

[0108] As mentioned earlier, the X-axis orthogonalization calibration data corresponding to the target X-axis voltage level includes multiple Y-axis first positions, multiple Y-axis second positions, and multiple X-axis third positions. That is, there is a one-to-one correspondence between the "Y-axis first position, Y-axis second position, and X-axis third position". Accordingly, the steps for determining the orthogonalized X-axis position are as follows: If the initial Y-axis position is less than the minimum value among the "multiple Y-axis first positions corresponding to Y-axis second positions", then the X-axis third position corresponding to the minimum value is determined as the X-axis orthogonal value; if the initial Y-axis position is equal to one of the "multiple Y-axis first positions corresponding to Y-axis second positions", then the X-axis third position corresponding to that Y-axis second position is determined as the X-axis orthogonal value; if the initial Y-axis position is located between "two adjacent Y-axis second positions" among the "multiple Y-axis first positions corresponding to Y-axis second positions", then the "two adjacent X-axis third positions" corresponding to those "two adjacent Y-axis second positions" are determined, and the X-axis orthogonal value is obtained through linear interpolation, where "the position ratio of the X-axis orthogonal value on the line segment formed by the two adjacent X-axis third positions" is equal to "the position ratio of the initial Y-axis position on the line segment formed by the two adjacent Y-axis second positions"; let the initial X-axis position Qx be subtracted from the X-axis orthogonal value to obtain the orthogonalized X-axis position.

[0109] For example, the X-axis orthogonalization calibration data corresponding to the target X-axis voltage level is shown in Table 1: If the initial Y-axis position is less than Qy1, the X-axis orthogonal value is determined to be Rx1; if the initial Y-axis position is equal to Qy2, the X-axis orthogonal value is determined to be Rx2; if the initial Y-axis position is between Qy1 and Qy2, the X-axis orthogonal value is obtained by linear interpolation, where "the position ratio of the X-axis orthogonal value on the line segment formed by Rx1 and Rx2" is equal to "the position ratio of the initial Y-axis position on the line segment formed by Qy1 and Qy2"; subtract the X-axis orthogonal value from the initial X-axis position Qx to obtain the orthogonally calibrated X-axis position.

[0110] Table 1

[0111]

[0112] Similarly, as mentioned above, the orthogonal calibration data corresponding to the target Y-axis voltage level includes multiple first X-axis positions, multiple second X-axis positions, and multiple third Y-axis positions. That is, there is a one-to-one correspondence between the "first X-axis position, second X-axis position, and third Y-axis position". Accordingly, the steps for determining the orthogonalized Y-axis position are as follows: If the initial X-axis position is less than the minimum value among the "multiple X-axis first positions corresponding to X-axis second positions", then the Y-axis third position corresponding to the minimum value is determined as the Y-axis orthogonal value; if the initial X-axis position is equal to one of the "multiple X-axis first positions corresponding to X-axis second positions", then the Y-axis third position corresponding to that X-axis second position is determined as the Y-axis orthogonal value; if the initial X-axis position is located between two adjacent X-axis second positions among the "multiple X-axis first positions corresponding to X-axis second positions", then the two adjacent Y-axis third positions corresponding to those two adjacent X-axis second positions are determined, and the Y-axis orthogonal value is obtained through linear interpolation, where "the proportion of the Y-axis orthogonal value on the line segment formed by the two adjacent Y-axis third positions" is equal to "the proportion of the initial X-axis position on the line segment formed by the two adjacent X-axis second positions"; subtract the Y-axis orthogonal value from the initial Y-axis position Qy to obtain the orthogonalized Y-axis position.

[0113] S443. Based on the linearized calibration data in the target production calibration data, calibrate the orthogonalized calibration position to obtain the target position.

[0114] As mentioned earlier, the X-axis linearization calibration data corresponding to the target X-axis voltage level includes multiple X-axis first positions and their corresponding X-axis second positions. Accordingly, the steps for determining the target X-axis position are as follows: If the orthogonally calibrated X-axis position is less than the minimum value among the "multiple X-axis first positions corresponding to the second X-axis positions," then linearly interpolate forward based on the slope of the line segment formed by the minimum and second smallest values ​​among the "multiple X-axis first positions corresponding to the second X-axis positions" to obtain the target X-axis value, where the slope of the line segment formed by the target X-axis value and the minimum value is equal to the slope of the line segment formed by the minimum and second smallest values ​​among the "multiple X-axis first positions corresponding to the second X-axis positions"; if the orthogonally calibrated X-axis position is equal to one of the "multiple X-axis first positions corresponding to the second X-axis positions," then the X-axis first position corresponding to that second X-axis position is determined as the target X-axis position; if the orthogonally calibrated X-axis position is located within the "adjacent two" of the "multiple X-axis first positions corresponding to the second X-axis positions," then... Between two "adjacent X-axis second positions", the "adjacent X-axis first positions" corresponding to the "adjacent X-axis second positions" are determined, and the target X-axis value is obtained through linear interpolation. The "position ratio of the target X-axis value on the line segment formed by the two adjacent X-axis first positions" is equal to the "position ratio of the orthogonally calibrated X-axis position on the line segment formed by the two adjacent X-axis second positions". If the orthogonally calibrated X-axis position is greater than the maximum value among the "multiple X-axis first positions corresponding to the X-axis second positions", then the target X-axis value is obtained by linear interpolation backward based on the slope of the line segment formed by the maximum and second largest values ​​among the "multiple X-axis first positions corresponding to the X-axis second positions". The "slope of the line segment formed by the target X-axis value and the maximum value" is equal to the "slope of the line segment formed by the maximum and second largest values ​​among the multiple X-axis first positions corresponding to the X-axis second positions".

[0115] For example, the X-axis linearization calibration data corresponding to the target X-axis voltage level is shown in Table 2: If the X-axis position after orthogonal calibration is less than Qx1, the target X-axis value is obtained by forward linear interpolation based on the slope of the line segment formed by Qx1 and Qx2, where "the slope of the line segment formed by Qx1 and the target X-axis value" is equal to "the slope of the line segment formed by Qx1 and Qx2"; if the X-axis position after orthogonal calibration is equal to Qx2, then the target X-axis position is determined to be Px2; if the X-axis position after orthogonal calibration is between Qx1 and Qx2... Between these points, the target X-axis value is obtained through linear interpolation, where "the proportion of the target X-axis value on the line segment formed by Px1 and Px2" is equal to "the proportion of the X-axis position after orthogonal calibration on the line segment formed by Qx1 and Qx2". If the X-axis position after orthogonal calibration is greater than QxM, the target X-axis value is obtained by linear interpolation backward based on the slope of the line segment formed by QxM-1 and QxM, where "the slope of the line segment formed by QxM and the target X-axis value" is equal to "the slope of the line segment formed by QxM and QxM-1".

[0116] Table 2

[0117]

[0118] Similarly, as mentioned above, the Y-axis linearization calibration data corresponding to the target Y-axis voltage level includes multiple first Y-axis positions and their corresponding second Y-axis positions. Accordingly, the steps to determine the target Y-axis position are as follows: If the orthogonally calibrated Y-axis position is less than the minimum value among the "multiple second Y-axis positions corresponding to the first Y-axis positions," then linearly interpolate forward based on the slope of the line segment formed by the minimum and second smallest values ​​among the "multiple second Y-axis positions corresponding to the first Y-axis positions" to obtain the target Y-axis value, where the slope of the line segment formed by the "target Y-axis value and the minimum value" is equal to the slope of the line segment formed by the minimum and second smallest values ​​among the "multiple second Y-axis positions corresponding to the first Y-axis positions." If the orthogonally calibrated Y-axis position is equal to one of the second Y-axis positions among the "multiple second Y-axis positions corresponding to the first Y-axis positions," then determine the first Y-axis position corresponding to that second Y-axis position as the target Y-axis position. If the orthogonally calibrated Y-axis position is located within the "adjacent two" of the "multiple second Y-axis positions corresponding to the first Y-axis positions," then... Between the "two adjacent Y-axis second positions", the "two adjacent Y-axis first positions" corresponding to the "two adjacent Y-axis second positions" are determined, and the target Y-axis value is obtained through linear interpolation. The "position ratio of the target Y-axis value on the line segment formed by the two adjacent Y-axis first positions" is equal to the "position ratio of the orthogonally calibrated Y-axis position on the line segment formed by the two adjacent Y-axis second positions". If the orthogonally calibrated Y-axis position is greater than the maximum value among the "multiple Y-axis first positions corresponding to the second Y-axis positions", then the target Y-axis value is obtained by linear interpolation backward based on the slope of the line segment formed by the maximum and second largest values ​​among the "multiple Y-axis first positions corresponding to the second Y-axis positions". The "slope of the line segment formed by the target Y-axis value and the maximum value" is equal to the "slope of the line segment formed by the maximum and second largest values ​​among the multiple Y-axis first positions corresponding to the second Y-axis positions".

[0119] In some embodiments, S440 includes: inputting motion data and target production calibration data into a pre-trained second neural network model, and obtaining the target position of the camera module output by the second neural network model.

[0120] The S450 control driver chip drives the camera module to the target position.

[0121] Specifically, the power supply voltage of the driver chip is set to the power supply voltage corresponding to the target voltage level, and the driver chip is controlled to drive the camera module to the target position for jitter compensation.

[0122] This embodiment of the invention can control the power supply voltage of the driver chip to the corresponding target voltage level based on the attitude data and jitter data of the camera module, thereby achieving a balance between driving capability and power consumption. At the same time, it can also calculate the target position based on the target production calibration data that matches the target voltage level, thereby improving the accuracy of jitter compensation and thus improving the control accuracy and stability of the optical image stabilization system.

[0123] The control method for the driver chip provided in this disclosure will be described in detail below with a specific example. This control method for the driver chip includes a production stage and an operational stage. Figure 6 This is a control flowchart of a driver chip during its operation phase, provided in an embodiment of this disclosure. Figure 6 As shown, the production stage mainly includes the following steps: dividing the power supply voltage range of the driver chip into N voltage levels, performing production calibration for each voltage level to obtain corresponding production calibration data, and storing it in non-volatile memory. Figure 7 This is a control flowchart of a driver chip during the manufacturing stage, provided in an embodiment of this disclosure. Figure 7 As shown, the main operational phase includes the following steps: First, acquire motion data of the camera module collected by the gyroscope. This motion data includes acceleration (acceleration along the X-axis, Y-axis, and Z-axis) and angular velocity data (angular velocity along the X-axis, Y-axis, and Z-axis). Then, obtain the camera module's attitude data and jitter data (jitter amplitude along the X-axis, jitter amplitude along the Y-axis, jitter angle along the X-axis, and jitter angle along the Y-axis) based on the motion data. Next, calculate the system performance score based on the camera module's quality. Calculate the X-axis attitude score and Y-axis attitude score based on the attitude data, calculate the X-axis jitter score based on the X-axis jitter amplitude, and calculate the Y-axis jitter score based on the Y-axis jitter amplitude. Then, for the X-axis, a weighted summation of the system performance score, X-axis attitude score, and X-axis jitter score is used to calculate the comprehensive X-axis target score, and the target X-axis voltage level is determined based on this comprehensive score. Similarly, for the Y-axis, a weighted summation of the system performance score, Y-axis attitude score, and Y-axis jitter score is used to calculate the comprehensive Y-axis target score, and the target Y-axis voltage level is determined based on this comprehensive score. Next, the target X-position is calculated based on the X-axis angular velocity and the production calibration data corresponding to the target X-axis voltage level; the target Y-position is calculated based on the Y-axis angular velocity and the production calibration data corresponding to the target Y-axis voltage level. Finally, the control driver chip drives the camera module to the target position.

[0124] In this embodiment, during the production stage, the power supply voltage range is divided into several voltage levels, and production calibration is performed for different voltage levels. This production calibration includes stroke calibration, linearization calibration, and orthogonalization calibration. During operation, the power supply voltage of the driver chip is adjusted according to a multi-dimensional scoring system based on system characteristics, attitude data, jitter data, etc., and the target position is calculated based on the angular velocity and the target production calibration data corresponding to the target voltage level. Thus, by employing dynamic voltage regulation technology, power consumption is allocated more rationally to meet different application scenarios. By using voltage levels to store the production calibration data in the chip, a faster response to dynamic voltage switching is achieved, while the target position calculation is more accurate, resulting in better jitter stabilization.

[0125] Figure 8 This is a schematic diagram of the structure of a control device for a driver chip provided in an embodiment of this disclosure. The control device for the driver chip can be understood as the aforementioned electronic device or a functional module within the aforementioned electronic device. For example... Figure 8 As shown, the control device 80 of the driver chip includes:

[0126] The first acquisition module 810 is used to acquire motion data of the camera module collected by the motion sensor;

[0127] The first determining module 820 is used to determine the posture data and jitter data of the camera module based on the motion data;

[0128] The second determining module is used to determine the target voltage level of the driver chip based on the attitude data and the jitter data, and to obtain the target production calibration data corresponding to the target voltage level;

[0129] The third determining module 830 is used to determine the target position of the camera module based on the motion data and the target production calibration data;

[0130] The first control module 840 is used to control the driver chip to drive the camera module to the target position.

[0131] Optionally, the second determining module includes: a first determining submodule, used to determine the target voltage level of the driving chip based on the pre-acquired system characteristic data of the camera module, the attitude data, and the jitter data.

[0132] Optionally, the first determining submodule is specifically used to determine the system characteristic score of the camera module based on the system characteristic data, wherein the system characteristic data includes quality, and the system characteristic score is positively correlated with the quality;

[0133] The posture score of the camera module is determined based on the posture data, wherein the posture score is positively correlated with the degree to which the posture of the camera module deviates from the horizontal state;

[0134] The camera module's shake score is determined based on the shake data, wherein the shake data includes shake amplitude, and the shake score is positively correlated with the shake amplitude;

[0135] The target comprehensive score of the camera module is determined based on the system characteristic score, the posture score, and the jitter score.

[0136] Based on the mapping relationship between voltage level and comprehensive score, query the target voltage level corresponding to the target comprehensive score.

[0137] Optionally, the second determining module includes: a first obtaining submodule, used to query the target production calibration data corresponding to the target voltage level from pre-acquired production calibration data corresponding to multiple voltage levels respectively.

[0138] Optionally, the device further includes a fourth determining module for determining the plurality of voltage levels based on the power supply voltage range of the driver chip;

[0139] The fifth determining module is used to determine the travel calibration value of the camera module at each voltage level, perform linearization calibration based on the travel calibration value to obtain linearized calibration data corresponding to the voltage level, and perform orthogonalization calibration based on the travel calibration value to obtain orthogonalization calibration data corresponding to the voltage level.

[0140] Optionally, the fifth determining module includes: a second determining submodule, used to determine a plurality of first positions based on the travel calibration value corresponding to the voltage level;

[0141] The third determining submodule is used to, for each first position, when the camera module is located at the first position, acquire the second and third positions of the camera module acquired by the external position acquisition device, and obtain the linearized calibration data and the orthogonalized calibration data corresponding to the voltage level, wherein the first position and the second position are the positions of the camera module on the first coordinate axis, and the third position is the position of the camera module on the second coordinate axis.

[0142] Optionally, the third determining module 830 is specifically used to determine the initial position based on the angular velocity;

[0143] The initial position is calibrated based on the orthogonalized calibration data in the target production calibration data to obtain the orthogonally calibrated position;

[0144] The orthogonalized calibration position is calibrated based on the linearized calibration data in the target production calibration data to obtain the target position.

[0145] The apparatus provided in this embodiment can execute the methods of any of the above embodiments, and its execution method and beneficial effects are similar, so they will not be described again here.

[0146] This disclosure also provides an electronic device, which includes: a memory storing a computer program; and a processor for executing the computer program, wherein when the computer program is executed by the processor, it can implement the methods of any of the above embodiments.

[0147] Example, Figure 9 This is a schematic diagram of the structure of an electronic device according to an embodiment of this disclosure. See below for details. Figure 9 The diagram illustrates a structural schematic suitable for implementing the electronic device 900 in the embodiments of this disclosure. The electronic device 900 in the embodiments of this disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 9 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.

[0148] like Figure 9 As shown, electronic device 900 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 901, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 902 or a program loaded from storage device 908 into random access memory (RAM) 903. RAM 903 also stores various programs and data required for the operation of electronic device 900. Processing device 901, ROM 902, and RAM 903 are interconnected via bus 904. Input / output (I / O) interface 905 is also connected to bus 904.

[0149] Typically, the following devices can be connected to I / O interface 905: input devices 906 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 907 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 908 including, for example, magnetic tapes, hard disks, etc.; and communication devices 909. Communication device 909 allows electronic device 900 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 9An electronic device 900 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.

[0150] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 909, or installed from a storage device 908, or installed from a ROM 902. When the computer program is executed by a processing device 901, it performs the functions defined in the methods of embodiments of this disclosure.

[0151] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.

[0152] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.

[0153] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.

[0154] The aforementioned computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the method described in any of the above embodiments.

[0155] Computer program code for performing the operations of this disclosure can be written in one or more programming languages ​​or a combination thereof, including but not limited to object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0156] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0157] The units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the units are not, in some cases, intended to limit the specific unit.

[0158] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.

[0159] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0160] This disclosure also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it can implement the methods of any of the above embodiments. The execution method and beneficial effects are similar, and will not be described again here.

[0161] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0162] The above description is merely a specific embodiment of this disclosure, enabling those skilled in the art to understand or implement it. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this disclosure. Therefore, this disclosure is not intended to be limited.

[0163] The embodiments described herein are intended to be adapted to conform to the principles and novelty disclosed herein.

[0164] The widest range with consistent characteristics.

Claims

1. A control method for a driver chip, characterized in that, include: Acquire motion data from the camera module collected by the motion sensor; The posture data and jitter data of the camera module are determined based on the motion data; The target voltage level of the driver chip is determined based on the attitude data and the jitter data, and the target production calibration data corresponding to the target voltage level is obtained. The target position of the camera module is determined based on the motion data and the target production calibration data. The driver chip is controlled to drive the camera module to the target position.

2. The method according to claim 1, characterized in that, Determining the target voltage level of the driver chip based on the attitude data and the jitter data includes: The target voltage level of the driver chip is determined based on the pre-acquired system characteristic data of the camera module, the attitude data, and the jitter data.

3. The method according to claim 1, characterized in that, Determining the target voltage level of the driver chip based on the pre-acquired system characteristic data of the camera module, the attitude data, and the jitter data includes: The system characteristic score of the camera module is determined based on the system characteristic data, wherein the system characteristic data includes quality, and the system characteristic score is positively correlated with the quality; The posture score of the camera module is determined based on the posture data, wherein the posture score is positively correlated with the degree to which the posture of the camera module deviates from the horizontal state; The camera module's shake score is determined based on the shake data, wherein the shake data includes shake amplitude, and the shake score is positively correlated with the shake amplitude; The target comprehensive score of the camera module is determined based on the system characteristic score, the posture score, and the jitter score. Based on the mapping relationship between voltage level and comprehensive score, query the target voltage level corresponding to the target comprehensive score.

4. The method according to claim 1, characterized in that, The step of obtaining the target production calibration data corresponding to the target voltage level includes: From the pre-acquired production calibration data corresponding to multiple voltage levels, query the target production calibration data corresponding to the target voltage level.

5. The method according to claim 4, characterized in that, The process of acquiring the production calibration data includes: The plurality of voltage levels are determined based on the power supply voltage range of the driver chip; For each voltage level, the travel calibration value of the camera module at that voltage level is determined. Linearization calibration is performed based on the travel calibration value to obtain linearized calibration data corresponding to the voltage level. Orthogonalization calibration is performed based on the travel calibration value to obtain orthogonal calibration data corresponding to the voltage level.

6. The method according to claim 1, characterized in that, The step of performing linearization calibration based on the travel calibration value to obtain linearized calibration data corresponding to the voltage level, and performing orthogonalization calibration based on the travel calibration value to obtain orthogonal calibration data corresponding to the voltage level, includes: Multiple first positions are determined based on the travel calibration value corresponding to the voltage level; For each first position, when the camera module is located at the first position, the second and third positions of the camera module acquired by the external position acquisition device are obtained to obtain the linearized calibration data and the orthogonalized calibration data corresponding to the voltage level. The first and second positions are the positions of the camera module on the first coordinate axis, and the third position is the position of the camera module on the second coordinate axis.

7. The method according to claim 6, characterized in that, The motion data includes angular velocity, wherein determining the target position of the camera module based on the jitter data and the target production calibration data includes: Determine the initial position based on the angular velocity; The initial position is calibrated based on the orthogonalized calibration data in the target production calibration data to obtain the orthogonally calibrated position; The orthogonalized calibration position is calibrated based on the linearized calibration data in the target production calibration data to obtain the target position.

8. A control device for a driver chip, characterized in that, include: The first acquisition module is used to acquire motion data from the camera module collected by the motion sensor; The first determining module is used to determine the posture data and jitter data of the camera module based on the motion data; The second determining module is used to determine the target voltage level of the driver chip based on the attitude data and the jitter data, and to obtain the target production calibration data corresponding to the target voltage level; The third determining module is used to determine the target position of the camera module based on the motion data and the target production calibration data; The first control module is used to control the driver chip to drive the camera module to the target position.

9. An electronic device, characterized in that, include: A processor and a memory, wherein the memory stores a computer program that, when executed by the processor, performs the method of any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The storage medium stores a computer program that, when executed by a processor, implements the method as described in any one of claims 1-7.