Auto focus control in systems with multiple cameras
A dynamic idle mode for auxiliary cameras adjusts focus to minimize power consumption by using orientation and gravity-based calibration, addressing power efficiency and latency in autofocus control.
Patent Information
- Application Number
- PCT/CN2024/106646
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-22
- Publication Date
- 2026-01-29
AI Technical Summary
There is a need for systems and techniques to reduce power consumption in always-on auxiliary cameras that generate and determine auxiliary assistance information for primary cameras, particularly by implementing an idle mode that minimizes power consumption and maintains focus without requiring frequent activation.
A dynamic idle mode is implemented for the auxiliary camera, adjusting its lens to a focus position that minimizes power consumption by using calibration information to determine the natural focus position based on current orientation and gravity, maintaining focus with minimal holding current.
This approach reduces power consumption and latency in auxiliary cameras by maintaining focus with minimal power usage, enhancing the efficiency of autofocus control systems.
Smart Images

Figure CN2024106646_29012026_PF_FP_ABST
Abstract
Description
AUTO FOCUS CONTROL IN SYSTEMS WITH MULTIPLE CAMERASFIELD
[0001] The present disclosure generally relates to automatic focus solutions. For example, aspects of the present disclosure are related to systems and techniques for autofocus control to minimize a power consumption of an auxiliary camera (e.g., a lower-power auxiliary camera, such as an always-on (AON) auxiliary camera) in a configured idle focus position.BACKGROUND
[0002] Electronic devices are increasingly equipped with camera hardware to capture images and / or videos for consumption. For example, a computing device can include a camera (e.g., a mobile device such as a mobile telephone or smartphone including one or more cameras) that can be used by the computing device to capture a video or image of a scene, a person, an object, etc. The image or video can be captured and processed by the computing device and stored or output for consumption (e.g., displayed on the device and / or another device) . In some cases, the image or video can be further processed for effects (e.g., compression, image enhancement, image restoration, scaling, framerate conversion, etc. ) and / or certain applications such as computer vision, extended reality (e.g., augmented reality, virtual reality, and the like) , image recognition (e.g., face recognition, object recognition, scene recognition, etc. ) , feature extraction, autonomous driving, and object detection, among others.
[0003] In some examples, the electronic device can implement a lower-power or “always-on” (AON) camera that persistently or periodically operates to generate or determine assistance data for a primary camera (e.g., main camera) included in the same electronic device. The lower-power camera can be implemented for a variety of use cases such as, for example, persistent gesture detection, persistent facial recognition for authentication, persistent face or other object (e.g., person, animal, vehicle, device, plane, etc. ) detection, persistent quick response (QR) code scanning, etc. In some examples, the lower-power and / or AON camera can be an auxiliary camera of the electronic device, where the auxiliary camera is associated with and captures images corresponding to a same or similar scene as a main camera also included in the electronic device.SUMMARY
[0004] The following presents a simplified summary relating to one or more aspects disclosed herein. Thus, the following summary should not be considered an extensive overview relating to all contemplated aspects, nor should the following summary be considered to identify key or critical elements relating to all contemplated aspects or to delineate the scope associated with any particular aspect. Accordingly, the following summary has the sole purpose to present certain concepts relating to one or more aspects relating to the mechanisms disclosed herein in a simplified form to precede the detailed description presented below.
[0005] Disclosed are systems, methods, apparatuses, and computer-readable media for reducing a power consumption associated with an auxiliary camera. For example, the auxiliary camera can be an always-on (AON) camera associated with a primary camera, where the auxiliary camera is configured to determine assistance information and / or perform autofocus (AF) sampling to provide autofocus control for the primary camera. According to at least one illustrative example, a method is provided for lower power variable focus control of an auxiliary camera associated with a primary camera. The method can include: determining an occurrence of an event associated with an image capture device configured to obtain image data of a scene, wherein the image capture device includes a first camera associated with a first plurality of focus positions and a second camera associated with a second plurality of focus positions; based on the occurrence of the event, obtaining auxiliary image data of the scene by adjusting a lens of the second camera through one or more auxiliary focus positions of the second plurality of focus positions; determining focus data for the first camera based on the auxiliary image data; and adjusting a lens of the first camera based on the determined focus data.
[0006] In another illustrative example, an apparatus for lower power variable focus control of an auxiliary camera associated with a primary camera is provided. The apparatus includes at least one memory and at least one processor coupled to the at least one memory and configured to: determine an occurrence of an event associated with an image capture device configured to obtain image data of a scene, wherein the image capture device includes a first camera associated with a first plurality of focus positions and a second camera associated with a second plurality of focus positions; obtain, based on the occurrence of the event, auxiliary image data of the scene by adjusting a lens of the second camera through one or more auxiliary focus positions of the second plurality of focus positions; determine focus data for the first camera based on the auxiliary image data; and adjust a lens of the first camera based on the determined focus data.
[0007] In another illustrative example, a non-transitory computer-readable medium is provided for lower power variable focus control of an auxiliary camera associated with a primary camera. The non-transitory computer-readable medium can include instructions stored thereon which, when executed by at least one processor, causes the at least one processor to: determine an occurrence of an event associated with an image capture device configured to obtain image data of a scene, wherein the image capture device includes a first camera associated with a first plurality of focus positions and a second camera associated with a second plurality of focus positions; obtain, based on the occurrence of the event, auxiliary image data of the scene by adjusting a lens of the second camera through one or more auxiliary focus positions of the second plurality of focus positions; determine focus data for the first camera based on the auxiliary image data; and adjust a lens of the first camera based on the determined focus data.
[0008] In another illustrative example, an apparatus is provided for lower power variable focus control of an auxiliary camera associated with a primary camera. The apparatus includes: means for determining an occurrence of an event associated with an image capture device configured to obtain image data of a scene, wherein the image capture device includes a first camera associated with a first plurality of focus positions and a second camera associated with a second plurality of focus positions; means for obtaining, based on the occurrence of the event, auxiliary image data of the scene by adjusting a lens of the second camera through one or more auxiliary focus positions of the second plurality of focus positions; means for determining focus data for the first camera based on the auxiliary image data; and means for adjusting a lens of the first camera based on the determined focus data.
[0009] Aspects generally include a method, apparatus, system, computer program product, non-transitory computer-readable medium, user device, user equipment (UE) , wireless communication device, and / or processing system as substantially described with reference to and as illustrated by the drawings and specification.
[0010] Some aspects include a device having a processor configured to perform one or more operations of any of the methods summarized above. Further aspects include processing devices for use in a device configured with processor-executable instructions to perform operations of any of the methods summarized above. Further aspects include a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a device to perform operations of any of the methods summarized above. Further aspects include a device having means for performing functions of any of the methods summarized above.
[0011] The foregoing has outlined rather broadly the features and technical advantages of examples according to the disclosure in order that the detailed description that follows may be better understood. Additional features and advantages will be described hereinafter. The conception and specific examples disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Such equivalent constructions do not depart from the scope of the appended claims. Characteristics of the concepts disclosed herein, both their organization and method of operation, together with associated advantages will be better understood from the following description when considered in connection with the accompanying figures. Each of the figures is provided for the purposes of illustration and description, and not as a definition of the limits of the claims. The foregoing, together with other features and aspects, will become more apparent upon referring to the following specification, claims, and accompanying drawings.
[0012] This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used in isolation to determine the scope of the claimed subject matter. The subject matter should be understood by reference to appropriate portions of the entire specification of this patent, any or all drawings, and each claim.BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The accompanying drawings are presented to aid in the description of various aspects of the disclosure and are provided solely for illustration of the aspects and not limitation thereof. So that the above-recited features of the present disclosure can be understood in detail, a more particular description, briefly summarized above, may be had by reference to aspects, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only certain typical aspects of this disclosure and are therefore not to be considered limiting of its scope, for the description may admit to other equally effective aspects. The same reference numbers in different drawings may identify the same or similar elements.
[0014] FIG. 1A is a diagram illustrating an example of a user using a mobile device including one or more cameras, in accordance with some examples;
[0015] FIG. 1B is a block diagram illustrating an example architecture of an image capture and processing system, in accordance with some examples;
[0016] FIG. 2A is a diagram illustrating a top-down view of a pixel array configuration of an image sensor with two side-by-side focus pixels covered by a 2 pixel by 1 pixel microlens, in accordance with some examples;
[0017] FIG. 2B is a diagram illustrating a top-down view of a pixel array configuration of an image sensor with four neighboring focus pixels covered by a 2 pixel by 2 pixel microlens, in accordance with some examples;
[0018] FIG. 3A is a diagram illustrating a top-down view of a pixel array configuration of an image sensor in which at least one focus pixel has two photodiodes, in accordance with some examples;
[0019] FIG. 3B is a diagram illustrating a top-down view of a pixel array configuration of an image sensor in which at least one focus pixel has four photodiodes, in accordance with some examples;
[0020] FIG. 4A is a block diagram illustrating an example of an image processing system including a primary camera and an auxiliary camera configured with always-on (AON) capabilities, in accordance with some examples;
[0021] FIG. 4B is a graph illustrating an example of a voice coil motor (VCM) actuator power consumption for different focus distances, and a natural position corresponding to a minimum VCM actuator power consumption and holding current, in accordance with some examples;
[0022] FIG. 5 is a diagram illustrating an example of an autofocus control system for an auxiliary and / or AON camera, in accordance with some examples;
[0023] FIG. 6 is a diagram illustrating an example of an auxiliary camera voice control motor (VCM) actuator calibration process associated with determining a minimum power natural focus position of the VCM actuator for a plurality of different orientations and gravity vectors, in accordance with some examples;
[0024] FIG. 7 is a diagram illustrating an example of a focus monitor engine that can be included in the autofocus control system of FIG. 5, in accordance with some examples;
[0025] FIG. 8 is a flow diagram illustrating an example of a process for lower power variable focus control of an auxiliary camera associated with a primary camera, in accordance with some examples; and
[0026] FIG. 9 is a block diagram illustrating an example of a computing system for implementing certain aspects described herein.DETAILED DESCRIPTION
[0027] Certain aspects and examples of this disclosure are provided below. Some of these aspects and examples may be applied independently and some of them may be applied in combination as would be apparent to those of skill in the art. In the following description, for the purposes of explanation, specific details are set forth in order to provide a thorough understanding of aspects of the application. However, it will be apparent that various aspects and examples may be practiced without these specific details. The figures and description are not intended to be restrictive.
[0028] The ensuing description provides example aspects only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary aspects will provide those skilled in the art with an enabling description for implementing an exemplary aspect. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the application as set forth in the appended claims.
[0029] A number of electronic devices (e.g., smartphones, laptop computers, tablets, wearable devices, cameras, etc. ) are increasingly leveraging camera hardware for use cases where a camera can persistently or periodically operate when the electronic device is in a certain power state. For example, an electronic device can implement a camera that can capture images while the electronic device is in a lower power state, a locked state, and / or other states. In some examples, the camera can capture images while the electronic device has available battery power, the battery power level is above a threshold, the electronic device is awake, etc. In some cases, the electronic device can include a primary camera and an auxiliary camera. The primary camera may also be referred to as a main camera of the electronic device, and can be used to capture image and / or video data in response to receiving a user input indicative of a command to capture an image frame or a video, etc. The auxiliary camera can be associated with the primary camera, and may be positioned to have a same or similar field-of-view (FOV) as the primary camera. For example, the auxiliary camera and the primary camera can be positioned and / or configured to capture respective image data with a same or similar FOV represented in the auxiliary camera image and the primary camera image.
[0030] The auxiliary camera may be configured and / or implemented as an “always-on” (AON) camera, and may continuously or periodically capture auxiliary image data without receiving a capture command or trigger from the user to perform the capture of the auxiliary image data. In some cases, the primary camera can be used to capture images and / or videos in response to receiving respective image or video capture inputs (e.g., capture commands, capture triggers, etc. ) from a user. The auxiliary camera can be used to capture auxiliary image data that may be used to generate and / or determine assistance information for controlling the operation of the primary camera.
[0031] The auxiliary (e.g., AON) camera can also be referred to as a “power-sensitive” and / or “lower power” camera, based on the auxiliary camera consuming relatively less power than the primary camera. In addition to being used to generate assistance information to control one or more operations of the primary camera (e.g., assistance information for determining an Auto White Balance, Auto Exposure Control, and / or Auto Focus control adjustment for the primary camera) , the auxiliary camera can be used to perform various functions associated with the operation of the electronic device. For example, the auxiliary camera may be used to detect objects and / or events periodically, instantaneously, on an ongoing basis, or on demand. In some cases, the auxiliary camera can automatically detect certain objects as needed or desired while maintaining a lower power usage footprint.
[0032] In some examples, an auxiliary camera can implement lower-power hardware and / or energy efficient image processing software to capture auxiliary image data with a lower power consumption than is associated with capturing image data with the primary camera. In some cases, the auxiliary (e.g., AON) camera can be configured to always remain in either an off state (e.g., auxiliary camera is off and is not capturing auxiliary image data) or an active state (e.g., auxiliary camera is on and is actively capturing auxiliary image data) . In some cases, the auxiliary camera can be configured as an AON camera based on the auxiliary camera not entering an ‘off’ state (e.g., an AON camera can be configured to always be in the ‘on’ or active state) . Configuring an auxiliary camera to be always-on can reduce or avoid a wake-time latency that may otherwise be associated with activating an auxiliary camera from the ‘off’ state to the ‘on’ state.
[0033] For example, if an auxiliary camera is implemented as a non-AON camera (e.g., the auxiliary camera enters the ‘off’ state when not in use to capture auxiliary assistance information, and enters the ‘on’ state when in use to capture auxiliary assistance information) , while transitioning between the ‘off’ state and the ‘on’ state (e.g., waking from the ‘off’ state and entering the ‘on’ state) , the auxiliary camera may be unavailable and / or may be unable to begin capturing image data for determining the assistance information until the transition to the ‘on’ state has been completed. Based on a configuration where the auxiliary camera remains always-on, the AON auxiliary camera can be used to capture auxiliary image data for determining assistance information with a reduced latency (e.g., based on the AON auxiliary camera not needing to first wake from the ‘off’ state to the ‘on’ state before being able to capture the auxiliary image data for the requested assistance information) . In some cases, the assistance information can be determined from the auxiliary camera image data and may be used by an autofocus control system of the primary camera. For example, based on the auxiliary camera and the primary camera corresponding to a same or similar FOV of the imaged scene, the auxiliary camera image data can be used to determine autofocus (AF) assistance information for focusing the primary camera, can be used to determine white balance (WB) assistance information for configuring a white balance point or white balance temperature for the primary camera, and / or can be used to determine exposure control assistance information for setting the exposure parameters of the primary camera, etc.
[0034] In some cases, an auxiliary camera (e.g., including an AON auxiliary camera) can be associated with a lower power consumption than that of the primary camera. For example, the lower power auxiliary camera can remain on to continuously, periodically, and / or intermittently capture auxiliary image data of a scene that is also imaged by a primary camera, while using less battery power than other devices such as higher power / resolution cameras (e.g., such as the primary camera associated with the AON auxiliary camera) . In some cases, images captured by the auxiliary camera can be used by one or more processors associated with a 3A (e.g., Auto White Balance, Auto Exposure Control, Auto Focus) system of the main camera, as noted above.
[0035] An auxiliary camera can be associated with a voice coil motor (VCM) actuator that is used to move the lens of the auxiliary camera between different positions. The different positions of the lens can correspond to different focus distances for the auxiliary camera. An autofocus control system for the auxiliary camera can be implemented based on controlling the VCM actuator to move the lens of the auxiliary camera between different focus distances, to achieve the desired focus configuration for autofocusing the auxiliary camera. For example, the auto-focus control system of the auxiliary camera can be configured to use the VCM actuator to dynamically adjust the position of the lens (e.g., the position of the lens relative to the image sensor of the auxiliary camera) . The dynamic adjustment of the lens position of the auxiliary camera can be implemented based on a position feedback signal generated by a Hall element (e.g., Hall effect sensor, magnetic sensor, etc. ) that encodes the current lens position.
[0036] Different focus distances for the auxiliary camera can correspond to different respective lens positions relative to the auxiliary camera image sensor. The relative position between the lens and the image sensor can be the vertical distance between the lens and the image sensor (e.g., the distance along an axis perpendicular to both the image sensor plane and the lens) .
[0037] In some examples, the autofocus control system of the auxiliary camera can configure the VCM actuator to move the lens to a particular position (e.g., particular focus distance) based on providing a corresponding current as the electrical power input to the VCM actuator. For example, different current values can cause the VCM actuator to move the auxiliary camera lens to different relative positions, causing the auxiliary camera to focus at different focus distances.
[0038] The auxiliary camera may require a constant application of the input control current to the VCM actuator in order to hold or maintain the lens element in a static (e.g., fixed) position. For example, the configured input control current may be provided in the corresponding amperage value (e.g., a number of milliamps (mA) , etc. ) to initially move the auxiliary camera lens element to a configured relative position for a desired focus distance. The configured input control current is then continuously provided in order to cause the VCM actuator to maintain the auxiliary camera lens element at the configured relative position for the desired focus distance. Removing the configured input control current (e.g., zeroing the current, increasing or decreasing the current away from the configured input control current value, etc. ) causes the auxiliary camera lens to move out of (e.g., away from) the configured relative position, and the auxiliary camera no longer is focused at the desired focus distance.
[0039] An auxiliary camera that implements always-on (AON) functionality (e.g., an AON auxiliary camera, also referred to herein as an “AON camera” ) may receive a continuously applied input control current to the VCM actuator included in the autofocus control system of the auxiliary camera. To reduce the latency in obtaining auxiliary assistance information from the auxiliary camera (e.g., for use in optimizing, adjusting, or determining control parameters for a 3A system of the main camera associated with the auxiliary camera, etc. ) , the auxiliary camera autofocus control system may be configured to mirror the focusing controls that are separately determined and applied by an autofocus control system of the main camera during times when the auxiliary camera assistance information is not requested or utilized.
[0040] For example, the auxiliary camera autofocus control system can be configured to mirror the main camera autofocus control system during normal operations (e.g., when auxiliary assistance information is not requested, generated, utilized, etc. ) based on providing the auxiliary camera VCM actuator with input control current values that cause the auxiliary camera to focus at the same focus distance currently being applied to the main camera by the main camera autofocus control system.
[0041] There is a need for systems and techniques that can be used to reduce the power consumption associated with an always-on auxiliary camera that is periodically or intermittently used to generate and / or determine auxiliary assistance information for a main camera associated with the AON auxiliary camera. For example, there is a further need for systems and techniques that can be used to implement an idle mode for the auxiliary camera, where the auxiliary camera remains on during the idle mode (e.g., the VCM actuator continues to receive an input control current) and is configured to move the auxiliary camera lens element to a relative position (e.g., focus distance) calibrated as the relative position associated with a minimum power consumption of the VCM actuator.
[0042] Systems, apparatuses, processes (also referred to as methods) , and computer-readable media (collectively referred to as “systems and techniques” ) are described herein that can be used to provide low power autofocus control to minimize a power consumption of an always-on (AON) auxiliary camera associated with a primary camera. In some examples, the low power autofocus control can be referred to as ultra-low power autofocus control for an AON camera. In one illustrative example, the low power autofocus control can be configured to minimize the power consumption of an autofocus control system of an AON auxiliary camera by using a dynamic idle mode configured to move the lens element of the AON auxiliary camera to a configured idle focus position that is associated with a minimum power consumption.
[0043] For example, the dynamic idle mode can be implemented based on determining a current orientation information of the auxiliary camera and / or the camera device that includes the auxiliary camera and the primary camera (e.g., the primary camera associated with and / or receiving assistance information from the AON auxiliary camera) . Different orientations of the auxiliary camera can correspond to different orientations of the auxiliary camera lens actuator (e.g., VCM actuator, etc. ) relative to the direction of gravity and the gravitational force (s) acting upon all components of the device. Based on comparing the current orientation information of the auxiliary camera and / or current gravity sensor information (e.g., measured by an accelerator and / or gravity sensor included in the camera device) with calibration information determined for the auxiliary camera (e.g., VCM actuator of the auxiliary camera) , the systems and techniques can determine the natural focus position of the auxiliary camera that minimizes the VCM actuator holding current given the current orientation and gravity information.
[0044] For example, the natural focus position of the auxiliary camera can be the focus position (e.g., focus distance of the auxiliary camera, relative position between the lens element and image sensor of the auxiliary camera, etc. ) that has a minimum holding current required as input to the VCM actuator in order to hold (e.g., maintain) the focus of the auxiliary camera. In one illustrative example, current orientation information and / or gravity information associated with the auxiliary camera can be compared to natural position information that was determined previously for the auxiliary camera and / or the VCM actuator included in the auxiliary camera.
[0045] For example, the calibration information can be offline calibration information that is indicative of a respective holding current (e.g., in milliamps (mA) , etc. ) and / or a respective holding power (e.g., in milliwatts (mW) , etc. ) associated with holding the VCM actuator at each respective focus position of a plurality of different focus positions available to the autofocus control system of the AON auxiliary camera. In some cases, the calibration information can be offline calibration information that is indicative of the respective holding current, and the respective holding power can be inferred or calculated based on a constant input voltage associated with the VCM actuator (e.g., where the holding power may be calculated as holding power = calibrated holding current value *constant input voltage) .
[0046] In some examples, the offline calibration information can be indicative of multiple sets of the respective holding current for each focus position of a plurality of focus positions associated with the auxiliary camera. Each set of holding current values can be associated with a different combination of orientation and / or gravity information. For example, a first set of holding current values can be indicative of the respective holding current for each focus position when the auxiliary camera is oriented with the VCM actuator force vector parallel to the gravity vector. A second set of holding current values can be indicative of the respective holding current for each focus position when the auxiliary camera is oriented with the VCM actuator force vector perpendicular to the gravity vector, etc. In some cases, the offline calibration information includes a plurality of sets of holding current information, where each set of holding current information corresponds to a different angular offset or relative configuration between the VCM actuator force vector and the gravity force vector associated with and / or acting upon the AON auxiliary camera and camera device that includes the AON auxiliary camera.
[0047] Based on periodically comparing the current orientation, gravity, and / or gyroscopic information determined for the auxiliary camera with the corresponding natural position holding current values indicated in the calibration information (e.g., offline calibration information) , the systems and techniques can implement low power and / or ultra-low power autofocus control for the AON auxiliary camera using a dynamic idle mode that moves the auxiliary camera lens element and VCM actuator to the natural focus position having the minimum holding current and / or holding power for the current camera orientation.
[0048] Various aspects of the present disclosure will be described with respect to the figures.
[0049] FIG. 1A is a diagram illustrating an example of a user 100 using a mobile device 102 including one or more cameras 104. For example, the mobile device 102 can include at least one always-on (AON) camera. In some examples, the mobile device 102 can include at least a primary camera (e.g., a main camera) configured to capture image data using a first frame rate (e.g., 30 frames per second (fps) , 60 fps, etc. ) , and an auxiliary camera that is associated with the main camera and is configured to capture image data using a second frame rate that is lower than the first frame rate (e.g., 5 fps, 6 fps, 10 fps, etc. ) .
[0050] In some examples, the mobile device 102 is a mobile phone (e.g., a smartphone with Internet and voice capabilities) . In other examples, the mobile device 102 can include any other type of electronic device such as, for example and without limitation, a tablet computer, a laptop computer, a camera system, an Internet-of-Things (IoT) device, a smart wearable device (e.g., a head-mounted display, smart glasses, a smart watch, etc. ) , a smart television, or any other electronic device with an image sensor. In some implementations, the mobile device 102 can have a system architecture similar to the computing system 900 described below with respect to FIG. 9.
[0051] In some examples, the mobile device 102 includes a front-facing camera 104 that is configured to and can capture images of a physical scene or environment within a field-of-view (FOV) of the camera 104. In some cases, the front-facing camera 104 can include a low-power camera and / or a camera configured to persistently or periodically operate when the mobile device 102 is in a certain power state. In some examples, the front-facing camera 104 can capture images while the mobile device 102 is in a lower power state, a locked state, and / or other states. In some examples, the front-facing camera 104 can capture images while the mobile device 102 has available battery power, the battery power level is above a threshold, the mobile device 102 is awake, etc. In some cases, the front-facing camera 104 can include a lower-power camera (often referred to as an “always-on” (AON) camera) or “power-sensitive” camera configured to detect objects / events periodically, on an ongoing basis, or on demand. In some cases, the lower-power camera can automatically detect certain objects as needed / desired while maintaining a lower power usage footprint. In some examples, a lower-power camera can implement lower-power hardware and energy efficient image processing software. The lower-power camera can remain on or “wake up” to watch movement in a scene and detect events / objects in the scene while using less battery power than other devices such as higher power / resolution cameras.
[0052] In some examples, the front-facing camera 104 can include a low-power camera that passively captures images without requiring an explicit instruction (e.g., based on user input) requesting the capture of the images. In some cases, the front-facing camera 104 can have a lower frame-rate and can capture less images than the frame-rate of a higher power / resolution camera. In some examples, the images captured by the front-facing camera 104 (as a lower-power camera operating persistently or periodically when the mobile device 104 is in a lower-power or locked state) are not stored except for as needed to perform AON-based assistance and / or enhancements to the operation of the main camera. For instance, the images captured by the front-facing camera 104 (as a lower-power camera operating persistently or periodically when the mobile device 104 is in a lower-power or locked state) can be temporarily cached for use by one or more processors associated with a 3A (e.g., Auto White Balance, Auto Exposure Control, Auto Focus) system of the main camera.
[0053] In some cases, the front-facing camera 104 can be activated to start capturing images when a trigger is detected. When a trigger is detected, the front-facing camera 104 can capture images of the user 100, and one or more processors of the mobile device 102 can perform a 3A camera control process and / or an AON-based focus assist process, as described herein. In some cases, the trigger can include, for example and without limitation, inertial motion above a threshold, an audio change above a threshold, a change in ambient light above a threshold, a change in a phase detection based depth above a threshold, a change above a threshold in a range to one or more objects, a detected presence of one or more objects, a scene change, a change in a stereo based depth above a threshold, a combination thereof, or any other configured trigger.
[0054] In one illustrative example, a scene change can be detected when a change in pixel data above a scene change threshold is detected. The scene change can trigger the activation of the front-facing camera 104 to start capturing one or more images. The scene change threshold can be based on the amount of pixels in a first image that are different than corresponding pixels (at common locations) in a second image or multiple images. For instance, if at least 20%of the pixels in the first image are different than the corresponding pixels (at common locations) in the second image are different, a scene change can be detected. In another illustrative example, the front-facing camera 104 can be activated to start capturing images when motion is detected. In some examples, motion can be detected using an optical motion sensor of the mobile device 102, an accelerometer, a gyroscope, an inertial measurement unit (IMU) , and / or other sensor or component of the mobile device 102.
[0055] The front-facing camera 104 may include one or more motors (not pictured) that move a lens of the front-facing camera 104 between lens positions corresponding to the different states (e.g., a front focus state, a back focus state, an in focus state) and one or more motor actuators (not pictured) that the mobile device 102 activates to actuate the motors. Non-limiting examples of lens motors can include voice-coil motors (VCM) , piezoelectric motors, stepper motors, ultrasonic motors, electroactive polymer motors, electromagnetic focus motors, geared direct current (DC) motors, and direct drive super sonic wave motors, among others. The front-facing camera 104 may in some cases also include various additional non-illustrated components, such as lenses, mirrors, partially reflective (PR) mirrors, prisms, photodiodes, image sensors, processors, and / or other components that can be implemented in cameras or other optical equipment.
[0056] FIG. 1B is a block diagram illustrating an architecture of an image capture and processing system 100b. The image capture and processing system 100b includes various components that are used to capture and process images of scenes (e.g., an image of a scene 101) . The image capture and processing system 100b can capture standalone images (or photographs) and / or can capture videos that include multiple images (or video frames) in a particular sequence. A lens 115 of the system 100b faces a scene 101 and receives light from the scene 101. The lens 115 bends the light toward the image sensor 130. The light received by the lens 115 passes through an aperture controlled by one or more control mechanisms 160 and is received by an image sensor 130.
[0057] The one or more control mechanisms 160 may control exposure, focus, and / or zoom based on information from the image sensor 130 and / or based on information from the image processor 150. The one or more control mechanisms 160 may include multiple mechanisms and components; for instance, the control mechanisms 160 may include one or more exposure control mechanisms 165A, one or more focus control mechanisms 165B, one or more white balance control mechanisms 165C, and / or one or more zoom control mechanisms 165D. The one or more control mechanisms 160 may also include additional control mechanisms besides those that are illustrated, such as control mechanisms controlling analog gain, flash, HDR, depth of field, and / or other image capture properties.
[0058] The focus control mechanism 165B of the control mechanisms 160 can obtain a focus setting. In some examples, focus control mechanism 165B store the focus setting in a memory register. Based on the focus setting, the focus control mechanism 165B can adjust the position of the lens 115 relative to the position of the image sensor 130. For example, based on the focus setting, the focus control mechanism 165B can move the lens 115 closer to the image sensor 130 or farther from the image sensor 130 by actuating a motor or servo, thereby adjusting focus. In some cases, additional lenses may be included in the system 100b, such as one or more microlenses over each photodiode of the image sensor 130, which each bend the light received from the lens 115 toward the corresponding photodiode before the light reaches the photodiode. The focus setting may be determined via contrast detection autofocus (CDAF) , phase detection autofocus (PDAF) , or some combination thereof. The focus setting may be determined using the control mechanism 160, the image sensor 130, and / or the image processor 150. The focus setting may be referred to as an image capture setting and / or an image processing setting.
[0059] The exposure control mechanism 165A of the control mechanisms 160 can obtain an exposure setting. In some cases, the exposure control mechanism 165A stores the exposure setting in a memory register. Based on this exposure setting, the exposure control mechanism 165A can control a size of the aperture (e.g., aperture size or f / stop) , a duration of time for which the aperture is open (e.g., exposure time or shutter speed) , a sensitivity of the image sensor 130 (e.g., ISO speed or film speed) , analog gain applied by the image sensor 130, or any combination thereof. The exposure setting may be referred to as an image capture setting and / or an image processing setting.
[0060] The zoom control mechanism 165Dof the control mechanisms 160 can obtain a zoom setting. In some examples, the zoom control mechanism 165D stores the zoom setting in a memory register. Based on the zoom setting, the zoom control mechanism 165D can control a focal length of an assembly of lens elements (lens assembly) that includes the lens 115 and one or more additional lenses. For example, the zoom control mechanism 165D can control the focal length of the lens assembly by actuating one or more motors or servos to move one or more of the lenses relative to one another. The zoom setting may be referred to as an image capture setting and / or an image processing setting. In some examples, the lens assembly may include a parfocal zoom lens or a varifocal zoom lens. In some examples, the lens assembly may include a focusing lens (which can be lens 115 in some cases) that receives the light from the scene 101 first, with the light then passing through an afocal zoom system between the focusing lens (e.g., lens 115) and the image sensor 130 before the light reaches the image sensor 130. The afocal zoom system may, in some cases, include two positive (e.g., converging, convex) lenses of equal or similar focal length (e.g., within a threshold difference) with a negative (e.g., diverging, concave) lens between them. In some cases, the zoom control mechanism 165D moves one or more of the lenses in the afocal zoom system, such as the negative lens and one or both of the positive lenses.
[0061] The image sensor 130 includes one or more arrays of photodiodes or other photosensitive elements. Each photodiode measures an amount of light that eventually corresponds to a particular pixel in the image produced by the image sensor 130. In some cases, different photodiodes may be covered by different color filters, and may thus measure light matching the color of the filter covering the photodiode. For instance, Bayer color filters include red color filters, blue color filters, and green color filters, with each pixel of the image generated based on red light data from at least one photodiode covered in a red color filter, blue light data from at least one photodiode covered in a blue color filter, and green light data from at least one photodiode covered in a green color filter. Other types of color filters may use yellow, magenta, and / or cyan (also referred to as “emerald” ) color filters instead of or in addition to red, blue, and / or green color filters. Some image sensors may lack color filters altogether, and may instead use different photodiodes throughout the pixel array (in some cases vertically stacked) . The different photodiodes throughout the pixel array can have different spectral sensitivity curves, therefore responding to different wavelengths of light. Monochrome image sensors may also lack color filters and therefore lack color depth.
[0062] In some cases, the image sensor 130 may alternately or additionally include opaque and / or reflective masks that block light from reaching certain photodiodes, or portions of certain photodiodes, at certain times and / or from certain angles, which may be used for phase detection autofocus (PDAF) . The image sensor 130 may also include an analog gain amplifier to amplify the analog signals output by the photodiodes and / or an analog to digital converter (ADC) to convert the analog signals output of the photodiodes (and / or amplified by the analog gain amplifier) into digital signals. In some cases, certain components or functions discussed with respect to one or more of the control mechanisms 160 may be included instead or additionally in the image sensor 130. The image sensor 130 may be a charge-coupled device (CCD) sensor, an electron-multiplying CCD (EMCCD) sensor, an active-pixel sensor (APS) , a complimentary metal-oxide semiconductor (CMOS) , an N-type metal-oxide semiconductor (NMOS) , a hybrid CCD / CMOS sensor (e.g., sCMOS) , or some other combination thereof.
[0063] The image processor 150 may include one or more processors, such as one or more image signal processors (ISPs) (including ISP 154) , one or more host processors (including host processor 152) , and / or one or more of any other type of processor 910 discussed with respect to the computing system 900. The host processor 152 can be a digital signal processor (DSP) and / or other type of processor. In some implementations, the image processor 150 is a single integrated circuit or chip (e.g., referred to as a system-on-chip or SoC) that includes the host processor 152 and the ISP 154. In some cases, the chip can also include one or more input / output ports (e.g., input / output (I / O) ports 156) , central processing units (CPUs) , graphics processing units (GPUs) , broadband modems (e.g., 3G, 4G or LTE, 5G, etc. ) , memory, connectivity components (e.g., BluetoothTM, Global Positioning System (GPS) , etc. ) , any combination thereof, and / or other components. The I / O ports 156 can include any suitable input / output ports or interface according to one or more protocol or specification, such as an Inter-Integrated Circuit 2 (I2C) interface, an Inter-Integrated Circuit 3 (I3C) interface, a Serial Peripheral Interface (SPI) interface, a serial General Purpose Input / Output (GPIO) interface, a Mobile Industry Processor Interface (MIPI) (such as a MIPI CSI-2 physical (PHY) layer port or interface, an Advanced High-performance Bus (AHB) bus, any combination thereof, and / or other input / output port. In one illustrative example, the host processor 152 can communicate with the image sensor 130 using an I2C port, and the ISP 154 can communicate with the image sensor 130 using an MIPI port.
[0064] The image processor 150 may perform a number of tasks, such as demosaicing, color space conversion, image frame downsampling, pixel interpolation, automatic exposure (AE) control, automatic gain control (AGC) , CDAF, PDAF, automatic white balance, merging of image frames to form an HDR image, image recognition, object recognition, feature recognition, receipt of inputs, managing outputs, managing memory, or some combination thereof. The image processor 150 may store image frames and / or processed images in random access memory (RAM) 140, read-only memory (ROM) 145, a cache, a memory unit (e.g., system memory) , another storage device, or some combination thereof.
[0065] Various input / output (I / O) devices 170 may be connected to the image processor 150. The I / O devices 170 can include a display screen, a keyboard, a keypad, a touchscreen, a trackpad, a touch-sensitive surface, a printer, any other output devices 1435, any other input devices 1445, or some combination thereof. In some cases, a caption may be input into the image processing device 105B through a physical keyboard or keypad of the I / O devices 170, or through a virtual keyboard or keypad of a touchscreen of the I / O devices 170. The I / O 156 may include one or more ports, jacks, or other connectors that enable a wired connection between the system 100b and one or more peripheral devices, over which the system 100b may receive data from the one or more peripheral device and / or transmit data to the one or more peripheral devices. The I / O 156 may include one or more wireless transceivers that enable a wireless connection between the system 100b and one or more peripheral devices, over which the system 100b may receive data from the one or more peripheral device and / or transmit data to the one or more peripheral devices. The peripheral devices may include any of the previously-discussed types of I / O devices 170 and may themselves be considered I / O devices 170 once they are coupled to the ports, jacks, wireless transceivers, or other wired and / or wireless connectors.
[0066] In some cases, the image capture and processing system 100b may be a single device. In some cases, the image capture and processing system 100b may be two or more separate devices, including an image capture device 105A (e.g., a camera) and an image processing device 105B (e.g., a computing device coupled to the camera) . In some implementations, the image capture device 105A and the image processing device 105B may be coupled together, for example via one or more wires, cables, or other electrical connectors, and / or wirelessly via one or more wireless transceivers. In some implementations, the image capture device 105A and the image processing device 105B may be disconnected from one another.
[0067] As shown in FIG. 1B, a vertical dashed line divides the image capture and processing system 100b of FIG. 1B into two portions that represent the image capture device 105A and the image processing device 105B, respectively. The image capture device 105A includes the lens 115, control mechanisms 160, and the image sensor 130. The image processing device 105B includes the image processor 150 (including the ISP 154 and the host processor 152) , the RAM 140, the ROM 145, and the I / O 156. In some cases, certain components illustrated in the image capture device 105A, such as the ISP 154 and / or the host processor 152, may be included in the image capture device 105A.
[0068] The image capture and processing system 100b can include an electronic device, such as a mobile or stationary telephone handset (e.g., smartphone, cellular telephone, or the like) , a desktop computer, a laptop or notebook computer, a tablet computer, a set-top box, a television, a camera, a display device, a digital media player, a video gaming console, a video streaming device, an Internet Protocol (IP) camera, or any other suitable electronic device. In some examples, the image capture and processing system 100b can include one or more wireless transceivers for wireless communications, such as cellular network communications, 802.11 Wi-Fi communications, wireless local area network (WLAN) communications, or some combination thereof. In some implementations, the image capture device 105A and the image processing device 105B can be different devices. For instance, the image capture device 105A can include a camera device and the image processing device 105B can include a computing device, such as a mobile handset, a desktop computer, or other computing device.
[0069] While the image capture and processing system 100b is shown to include certain components, one of ordinary skill will appreciate that the image capture and processing system 100b can include more components than those shown in FIG. 1B. The components of the image capture and processing system 100b can include software, hardware, or one or more combinations of software and hardware. For example, in some implementations, the components of the image capture and processing system 100b can include and / or can be implemented using electronic circuits or other electronic hardware, which can include one or more programmable electronic circuits (e.g., microprocessors, GPUs, DSPs, CPUs, and / or other suitable electronic circuits) , and / or can include and / or be implemented using computer software, firmware, or any combination thereof, to perform the various operations described herein. The software and / or firmware can include one or more instructions stored on a computer-readable storage medium and executable by one or more processors of the electronic device implementing the image capture and processing system 100b.
[0070] The host processor 152 can configure the image sensor 130 with new parameter settings (e.g., via an external control interface such as I2C, I3C, SPI, GPIO, and / or other interface) . In one illustrative example, the host processor 152 can update exposure settings used by the image sensor 130 based on internal processing results of an exposure control algorithm from past image frames. The host processor 152 can also dynamically configure the parameter settings of the internal pipelines or modules of the ISP 154 to match the settings of one or more input image frames from the image sensor 130 so that the image data is correctly processed by the ISP 154. Processing (or pipeline) blocks or modules of the ISP 154 can include modules for lens (or sensor) noise correction, demosaicing, color conversion, correction or enhancement / suppression of image attributes, denoising filters, sharpening filters, among others. Each module of the ISP 154 may include a large number of tunable parameter settings. Additionally, modules may be co-dependent as different modules may affect similar aspects of an image. For example, denoising and texture correction or enhancement may both affect high frequency aspects of an image. As a result, a large number of parameters are used by an ISP to generate a final image from a captured raw image.
[0071] FIG. 2A and FIG. 2B illustrate top-down views of example pixel array configurations of an image sensor. An image sensor of a camera system (e.g., front-facing camera 104) may include an array of pixels, such as the pixel array 230 of FIG. 2A or pixel array 240 of FIG. 2B.The pixel array (e.g., pixel array 230, pixel array 240) can include an array of photodiodes and microlenses. The 2 pixel by 1 pixel microlens 232 of FIG. 2A and the 2 pixel by 2 pixel microlens 242 of FIG. 2B both span multiple adjacent focus pixels (e.g., the microlenses cover multiple adjacent focus pixel photodiodes) , and both can limit the amount and / or direction of light that strikes the focus pixel photodiodes of those focus pixels.
[0072] Once the pixel array (e.g., pixel array 230, pixel array 240) captures a frame, thus capturing focus pixel data for each focus pixel, focus pixel data from paired focus pixels may be compared with one another. For example, focus pixel data from a left focus pixel photodiode may be compared with focus pixel data from a right focus pixel photodiode, and focus pixel data from a top focus pixel photodiode may be compared with focus pixel data from a bottom focus pixel photodiode. If the compared focus pixel data values differ, this difference is referred to as the phase disparity, also known as the phase difference, defocus value, or separation error. Focus pixels under a 2-pixel by 2-pixel microlens 242 as in FIG. 2B essentially have two vertically-adjacent horizontally-oriented pairs of focus pixels and / or two horizontally-adjacent vertically-oriented pairs of focus pixels. Thus, the focus pixel data from the UL focus pixel may be compared to focus pixel data from the BL focus pixel (as a top / bottom pair) , focus pixel data from the UR focus pixel may be compared to focus pixel data from the BR focus pixel (as a top / bottom pair) , focus pixel data from the UL focus pixel may be compared to focus pixel data from the UR focus pixel (as a left / right pair) , focus pixel data from the BL focus pixel may be compared to focus pixel data from the BR focus pixel (as a left / right pair) , or some combination thereof.
[0073] FIG. 3A illustrates a top-down view of a pixel array configuration of an image sensor in which at least one focus pixel has two photodiodes. In particular, a four-pixel by four-pixel pixel array 350 with four focus pixels is illustrated in FIG. 3A. The four focus pixels illustrated in the pixel array 350 each include two photodiodes, with the left-side photodiode and the right-side photodiode of each focus pixel’s photodiode pair labeled “L” and “R, ” respectively. Focus pixels with two photodiodes are sometimes referred to as dual photodiode (2PD) focus pixels.
[0074] One of the 2PD focus pixels of FIG. 3A is labeled as 2PD focus pixel 352. The left-side photodiode (L) of the 2PD focus pixel 352 is labeled “left-side photodiode 354L, ” and the right-side photodiode (R) of the 2PD focus pixel 352 is labeled “right-side photodiode 354R. ” For each captured frame, the left photodiode 354L and the right photodiode 354R may capture light received by the 2PD focus pixel 352 from different angles. For a given frame, the data captured by the left photodiode 354L may be referred to as the left image or left image data, while the data captured by the right photodiode 354R may be referred to as the right image or right image data. The left image data and the right image data may be compared to determine phase disparity. The pixel array 350 illustrated in FIG. 3A is a “sparse” 2PD pixel array in which only some of the pixels in the pixel array 350 include two photodiodes (namely, the focus pixels) . The remaining pixels are imaging pixels and only include a single photodiode. In some cases, a “dense” 2PD pixel array may be used instead, in which every pixel in the pixel array (or a higher percentage of pixels in the pixel array) include two photodiodes, and can in some cases act as both focus pixels and imaging pixels simultaneously, or can switch between acting as a focus pixel for one frame and acting as an imaging pixel for another frame.
[0075] FIG. 3B illustrates a top-down view of a pixel array configuration of an image sensor in which at least one focus pixel has four photodiodes. The pixel array 360 includes focus pixels in which each focus pixel includes four diodes, generally referred to as 4PD focus pixels or Quadrature Phase Detection (QPD) focus pixels. For example, a 4PD focus pixel 362 is labeled in FIG. 3B and includes an upper-left photodiode labeled with the letters “UL, ” an upper-right photodiode labeled with the letters “UR, ” a bottom-left photodiode labeled with the letters “BL, ” and a bottom-right photodiode labeled with the letters “BR. ” Data from each photodiode of the 4PD focus pixel 362 may be compared to data from an adjacent photodiode of the 4PD focus pixel 362 to determine phase difference. The pixel array 360 is a “sparse” 4PD pixel array in which only some of the pixels in the pixel array 360 include four photodiodes (namely, the focus pixels) . The remaining pixels are imaging pixels and only include a single photodiode. In some cases, however a “dense” 4PD pixel array may be used instead, in which every pixel in the pixel array (or a higher percentage of pixels in the pixel array) include four photodiodes, and can in some cases act as both focus pixels and imaging pixels simultaneously, or can switch between acting as a focus pixel for one frame and acting as an imaging pixel for another frame.
[0076] FIG. 4A is a block diagram illustrating an example of an image processing system 400 including a main camera 402 and an auxiliary camera 404. In some aspects, the auxiliary camera 404 can be configured with always-on (AON) capabilities, and for example can be used to determine assistance information for adjusting one or more control mechanisms associated with and / or included in the main camera 402. In some examples, the main camera 402 can be a higher performance camera than the auxiliary camera 404. For example, the main camera 402 may be a higher power camera, a higher resolution camera, a higher frame rate camera, etc., than the auxiliary camera 404. In one illustrative example, the main camera 402 may be configured to capture image data using a first frame rate (e.g., 30 frames per second (fps) , 60 fps, etc. ) . The auxiliary camera 404 can be associated with the main camera 402 and may be configured to capture image data using a second frame rate that is lower than the first frame rate (e.g., 5 fps, 6 fps, 10 fps, etc. ) .
[0077] In some examples, the auxiliary camera 404 can be an AON or AON-capable auxiliary camera that may be used to obtain or determine assistance information for controlling one or more control mechanisms associated with the main camera 402. For example, the auxiliary camera 404 can be an AON or AON-capable auxiliary camera that can be used to determine assistance information (e.g., also referred to as auxiliary assistance information, etc. ) for adjusting one or more of the control mechanisms 160 included in the image capture device 105A of FIG. 1B.
[0078] In one illustrative example, the main camera 402 can include or be associated with a 3A (e.g., Auto White Balance, Auto Exposure Control, Auto Focus) system for controlling and / or adjusting the main camera 402 imaging parameters. For example, a 3A system associated with the main camera 402 can be the same as or similar to the control mechanisms 160 associated with the image capture device 105A of FIG. 1B. In some examples, the 3A system can be used to implement automatic exposure adjustment, control, and / or determination for the main camera 402, for instance using an exposure control mechanism that is the same as or similar to the exposure control mechanism 165A of FIG. 1B. In some cases, the 3A system can be used to implement automatic focus adjustment, control, and / or determination for the main camera 402, for instance using an autofocus control mechanism that is the same as or similar to the focus control mechanism 165B of FIG. 1B. In another example the 3A system can be used to implement automatic white balance adjustment and / or determination for the main camera 402, for example using a white balance control mechanism that is the same as or similar to the white balance control mechanism 165C of FIG. 1B.
[0079] In some aspects, the main camera 402 and the auxiliary camera 404 can be aligned, positioned, and / or configured to each capture respective images of substantially the same view of a scene. For example, the main camera 402 and the auxiliary camera 404 can be positioned side-by-side or adjacent to one another on the image capture device 105A, to thereby capture respective images of substantially the same view of the scene 101. Based on the auxiliary camera 404 capturing one or more auxiliary images corresponding to the same scene or field-of-view (FOV) that is captured by the main camera 402, the auxiliary camera 404 and associated auxiliary images can be used to determine auxiliary assistance information for adjusting one or more of the 3A system control parameters or 3A system control mechanisms of the main camera 402. For example, the auxiliary camera 404 and auxiliary images can be used to determine or generate auxiliary assistance information for adjusting or controlling an auto white balance control mechanism of the 3A system of the main camera 402 (e.g., white balance control mechanism 165C of FIG. 1B) , for adjusting or controlling an auto exposure control mechanism of the 3A system of the main camera 402 (e.g., exposure control mechanism 165A of FIG. 1B) , and / or for adjusting or controlling an auto focus mechanism of the 3A system of the main camera 402 (e.g., focus control mechanism 165B of FIG. 1B) , etc.
[0080] In some aspects, the example architecture of the image processing system 400 can include a plurality of sensors. For example, one or more image sensors can be associated with the main camera 402 and one or more image sensors can be associated with the auxiliary camera 404. The image processing system 400 can further include one or more accelerometers 442, one or more gravity sensors 444, one or more gyroscopes 446, one or more luma (e.g., brightness) sensors 448, one or more power meters or power sensors 452, etc.
[0081] The image processing system 400 can include a storage 462, an input device 464, a display 466, compute components 414, an image processing engine 432, a scene analysis engine 434, a focus monitor engine 436, and one or more focus actuator controller 438. In some aspects, a first focus actuator controller 438 can be associated with the main camera 402, and can be used to control an autofocus (e.g., PDAF, etc. ) system of the main camera 402. A second focus actuator controller 438 can be associated with the auxiliary camera 404, and can be used to control an autofocus (e.g., PDAF, etc. ) system of the auxiliary camera 404. In some examples, the autofocus system of the main camera 402 and the autofocus system of the auxiliary camera 404 can be implemented as PDAF systems utilizing one or more voice coil motor (VCM) actuators to adjust the position of the lens module of the camera (e.g., such as lens 115 of the image capture device 105A of FIG. 1B, etc. ) . In some aspects, the first focus actuator controller 438 associated with the main camera 402 can be a first VCM actuator 438, and the second focus actuator controller 438 associated with the auxiliary camera 404 can be a second VCM actuator 438.
[0082] It should be noted that the components 402-466 shown in FIG. 4A are non-limiting examples provided for illustrative and explanation purposes, and other examples of an image processing system may include more, fewer, or different components than those shown in the example architecture of the image processing system 400 of FIG. 4A. While various components of the image processing system 400 may be referenced in the singular form herein, it should be understood that the image processing system 400 may include multiple of any component discussed herein.
[0083] The image processing system 400 may include, or may be in communication with, (wired or wirelessly) an input device 464. Input device 464 may include any suitable input device, such as a touchscreen, a pen or other pointer device, a keyboard, a mouse a button or key, a microphone for receiving voice commands, a gesture input device for receiving gesture commands, a video game controller, a steering wheel, a joystick, a set of buttons, a trackball, a remote control, any other input device discussed herein, or any combination thereof. In some cases, the image processing system 400 may communicate with one or more other electronic devices (wired or wirelessly) , for example using a communications engine and / or communication interface included in the image processing system 400.
[0084] In some examples, the various components of the image processing system 400 can be implemented or provided as part of the same (e.g., single) device. For example, the image processing system 400 can be included in and / or implemented by the mobile device 102 of FIG. 1A; the image processing device 105B of FIG. 1B, the image capture device 105A of FIG. 1B, and / or the image capture and processing system 100b of FIG. 1B; etc.
[0085] Compute components 414 may be, or may include, a central processing unit (CPU) 416, a graphics processing unit (GPU) 418, a digital signal processor (DSP) 420, an image signal processor (ISP) 422, and / or other processor (e.g., a neural processing unit (NPU) implementing one or more trained neural networks) . Compute components 414 may perform various operations such as image enhancement, computer vision, graphics rendering, tracking, localization, pose estimation, mapping, content anchoring, content rendering, predicting, image and / or video processing, sensor processing, recognition (e.g., text recognition, facial recognition, object recognition, feature recognition, tracking or pattern recognition, scene recognition, occlusion detection, etc. ) , trained machine-learning operations, filtering, and / or any of the various operations described herein. In some examples, compute components 414 may implement (e.g., control, operate, etc. ) the image processing engine 432, scene analysis engine 434, focus monitor engine 436, and / or the focus actuator controller 438, etc. In other examples, compute components 414 may also implement one or more other processing engines.
[0086] The one or more sensors of the image processing system 400 may include one or more accelerometers (e.g., accelerometer 442) , one or more gyroscopes (e.g., gyroscope 446) , and / or other sensors. The one or more sensors may provide velocity, orientation, and / or other position-related information to compute components 414 and / or the image processing engine 432, scene analysis engine 434, focus monitor engine 436, and / or the focus actuator controller 438, etc. For example, accelerometer 442 may detect acceleration by the image processing system 400 and may generate acceleration measurements based on the detected acceleration. In some cases, accelerometer 442 may provide one or more translational vectors (e.g., up / down, left / right, forward / back) that may be used for determining a position, pose, and / or orientation of the image processing system 400. Gyroscope 446 may detect and measure the orientation and angular velocity of the image processing system 400. For example, gyroscope 446 may be used to measure the pitch, roll, and yaw of the image processing system 400. As previously noted, in other examples, the image processing system 400 may also include other sensors, such as an inertial measurement unit (IMU) , a magnetometer, a gaze and / or eye tracking sensor, a machine vision sensor, a smart scene sensor, a speech recognition sensor, an impact sensor, a shock sensor, a position sensor, a tilt sensor, etc. As noted above, in some cases, the one or more sensors may include at least one IMU. An IMU is an electronic device that measures the specific force, angular rate, and / or the orientation of the image processing system 400, using a combination of one or more accelerometers, one or more gyroscopes, and / or one or more magnetometers. In some examples, the one or more sensors may output measured information associated with the capture of an image captured by main camera 402 and / or auxiliary camera 404.
[0087] As noted previously, the systems and techniques described herein can be used to provide low power (e.g., low-power and / or ultra-low-power) autofocus control to minimize a power consumption of an always-on (AON) auxiliary camera associated with a primary camera. In some examples, the low power autofocus control can be referred to as ultra-low power autofocus control for an AON camera. In one illustrative example, the low power autofocus control can be configured to minimize the power consumption of an autofocus control system of an AON auxiliary camera by using a dynamic idle mode configured to move the lens element of the AON auxiliary camera to a configured idle focus position that is associated with a minimum power consumption.
[0088] For example, the auxiliary camera can be an AON camera that includes at least one lens element and at least one focus actuator controller coupled to the lens element and configured to move the lens element to and / or between a plurality of different lens focus positions. In some aspects, the auxiliary camera can be an AON camera that is the same as or similar to the image capture and processing system 100b of FIG. 1B. For example, the lens element can be the same as or similar to the lens element 115 of FIG. 1B, and the focus actuator controller can be the same as or similar to the focus actuator controller 438 of FIG. 4A.
[0089] In one illustrative example, the focus actuator controller can be included in and / or associated with a voice coil motor (VCM) actuator that is coupled to the auxiliary camera lens element (e.g., lens element 115 of FIG. 1B) . The VCM actuator can be used to implement the focus actuator controller 438 of the image processing system 400 of FIG. 4A. The VCM actuator can be an electromagnetic-based component that is configured to provide auto-focusing for a camera module of the auxiliary AON camera. For example, the VCM actuator can include a voice coil motor (VCM) and a closed-loop position control system. In some aspects, the closed-loop position control system of the VCM actuator (e.g., VCM focus actuator controller 438, etc. ) can include a Hall element or other magnetic sensor configured to generate a position feedback signal indicative of an encoded position of the lens and / or an encoded position of the lens relative to the image sensor of the auxiliary AON camera. Auto-focusing of the auxiliary camera lens element can be implemented based on using the VCM actuator to dynamically adjust a position of the lens element, relative to the image sensor of the auxiliary AON camera.
[0090] For example, the VCM actuator can be used to dynamically adjust a position of the lens element 115 relative to the image sensor 130 of FIG. 1B, based on moving the lens element 115 closer to or farther from the image sensor 130 (e.g., along a movement or actuation axis that is orthogonal to the plane of the image sensor 130 and orthogonal to a plane of the lens element 115 (e.g., orthogonal to the base of the lens element 115, etc. ) ) . The different positions of the lens 115 can correspond to different focus distances for the auxiliary camera. An autofocus control system for the auxiliary camera can be implemented based on controlling the VCM actuator to move the lens 115 of the auxiliary camera between different focus distances, to achieve the desired focus configuration for autofocusing the auxiliary camera. For example, the auto-focus control system of the auxiliary camera can be configured to use the VCM actuator to dynamically adjust the position of the lens 115 (e.g., the position of the lens 115 relative to the image sensor 130 of the auxiliary camera) . The dynamic adjustment of the lens position of the auxiliary camera can be implemented based on a position feedback signal generated by a Hall element (e.g., Hall effect sensor, magnetic sensor, etc. ) that encodes the current lens position. In one illustrative example, the autofocus control system for the auxiliary camera can be included within and / or associated with the focus monitor engine 436 and / or the focus actuator controller 438 of the image processing system 400 of FIG. 4A.
[0091] Different focus distances for the auxiliary camera can correspond to different respective lens positions relative to the auxiliary camera image sensor. The relative position between the lens and the image sensor can be the vertical distance between the lens and the image sensor (e.g., the distance along an axis perpendicular to both the image sensor plane and the lens) . In some examples, the autofocus control system of the auxiliary camera can configure the VCM actuator to move the lens to a particular position (e.g., particular focus distance) based on providing a corresponding current as the electrical power input to the VCM actuator. For example, different current values can cause the VCM actuator to move the auxiliary camera lens to different relative positions, causing the auxiliary camera to focus at different focus distances.
[0092] In some aspects, the input or control current provided to the VCM actuator can be associated with a digital-to-analog converter (DAC) that is coupled between the autofocus control system and the VCM actuator of the auxiliary camera. For example, the DAC can receive as input a stream of digital data bits indicative of a configured autofocus position for controlling the VCM actuator to move the auxiliary camera lens element into. The DAC can generate as output an analog voltage and / or current (e.g., an input electrical power signal) for controlling the VCM actuator. For example, different autofocus positions (e.g., different focus distances, different relative positions of the lens element relative to the image sensor of the auxiliary AON camera, etc. ) can be mapped to different, corresponding electrical current values, as depicted in the example of Table 1, below:
[0093] Table 1. Example DAC values and corresponding electrical current (in milliamps (mA) ) and electrical power consumption (in milliwatts (mW) ) values of a VCM actuator used for autofocusing of an auxiliary camera lens element to different focus distances.
[0094] In some aspects, the DAC value can be a control value for configuring the VCM actuator of the auxiliary camera to move the lens to different focus distance positions. The different focus distance positions can correspond to different positions of a movable lens post used to couple the VCM actuator to the lens of the auxiliary camera. For example, controlling the VCM actuator to extend the lens post can correspond to moving the lens element farther away from the image sensor of the auxiliary camera. Controlling the VCM actuator to retract the lens post can correspond to moving the lens element closer to the image sensor of the auxiliary camera.
[0095] The autofocusing control system of an auxiliary camera may require a constant application of the input control current to the VCM actuator in order to hold or maintain the lens element in a static (e.g., fixed) position (e.g., focus distance) . For example, the configured input control current may be provided in the corresponding amperage value (e.g., a number of milliamps (mA) , etc. ) to initially move the auxiliary camera lens element to a configured relative position for a desired focus distance. The configured input control current is then continuously provided in order to cause the VCM actuator to maintain the auxiliary camera lens element at the configured relative position for the desired focus distance. Removing the configured input control current (e.g., zeroing the current, increasing or decreasing the current away from the configured input control current value, etc. ) causes the auxiliary camera lens to move out of (e.g., away from) the configured relative position, and the auxiliary camera no longer is focused at the desired focus distance.
[0096] For example, to hold the auxiliary camera lens element at the lens post position (e.g., distance between the lens element 115 and image sensor 130) corresponding to the 30m infinity focus distance, the VCM actuator may require a holding current of 65.6 mA. For an input voltage of approximately 2.8 volts (V) , the power consumption of the VCM actuator to maintain the auxiliary AON camera autofocus at the 30m infinity focus distance is 184 mW. In another example, to hold the auxiliary camera lens element at the lens post position corresponding to the 10cm macro focus distance, the VCM actuator may require a holding current of 49.4 mA. For the same input voltage of approximately 2.8 V, the power consumption of the VCM actuator to maintain the auxiliary AON camera autofocus at the 10cm macro focus distance is 138 mW.
[0097] An auxiliary camera that implements always-on (AON) functionality (e.g., an AON auxiliary camera, also referred to herein as an “AON camera” ) may receive a continuously applied input control current to the VCM actuator included in the autofocus control system of the auxiliary camera. To reduce the latency in obtaining auxiliary assistance information from the auxiliary camera (e.g., for use in optimizing, adjusting, or determining control parameters for a 3A system of the main camera associated with the auxiliary camera, etc. ) , the auxiliary camera autofocus control system may be configured to mirror the focusing controls that are separately determined and applied by an autofocus control system of the main camera during times when the auxiliary camera assistance information is not requested or utilized. For example, the auxiliary camera autofocus control system can be configured to mirror the main camera autofocus control system during normal operations (e.g., when auxiliary assistance information is not requested, generated, utilized, etc. ) based on providing the auxiliary camera VCM actuator with input control current values that cause the auxiliary camera to focus at the same focus distance currently being applied to the main camera by the main camera autofocus control system.
[0098] In some cases, the range of available DAC values may be larger than the range of different focus distances that are configured or available for the auxiliary camera autofocus system that includes the VCM actuator. For example, in the example of Table 1, the DAC values of 64, 128, and 192 are included in a first unused range of the VCM actuator autofocus control system. The DAC values of 896, 960, and 1023 are included in a second unused range of the VCM actuator autofocus control system. The DAC values of 256, 320, …, 768, and 832 are included in the working range of the VCM actuator autofocus control system.
[0099] For example, the DAC value of 256 corresponds to an infinity focus distance (e.g., a maximum focus distance of the auxiliary camera autofocus system including the VCM actuator) , which in some examples can be a 30 meter (m) infinity focus distance. To move the lens post and lens element of the auxiliary AON camera to the 30m infinity focus position, the holding current required for the VCM actuator to maintain the lens in the 30m infinity focus position is shown as 65.6 mA, corresponding to a VCM actuator power consumption of 184 mW.
[0100] The holding current required by the VCM actuator to maintain the auxiliary camera lens module in the configured vertical position for each focus distance may decrease for a first portion of the working range of DAC values, before reaching a minimum holding current at the DAC value of 576 (e.g., holding current of 9.1 mA and power consumption of 38 mW) . The holding current and power consumption of the VCM actuator can then increase for a second (e.g., remaining) portion of the working range of DAC values after the minimum holding current DAC value of 576.
[0101] For example, the first maximum holding current and power consumption of the VCM actuator can be associated with the 30m infinity focus distance mapped to the 256 DAC value (e.g., 65.6 mA holding current and 184 mW power consumption of the VCM actuator) . A second maximum holding current and power consumption of the VCM actuator can be associated with the 10cm (macro) focus distance mapped to the 832 DAC value (e.g., 49.4 mA holding current and 138 mW power consumption of the VCM actuator) .
[0102] FIG. 4B is a graph 480 illustrating an example of a voice coil motor (VCM) actuator power consumption for different focus distances, and a natural position 485 corresponding to a minimum VCM actuator power consumption and holding current, in accordance with some examples. In some aspects, the graph of VCM actuator power consumption 480 of FIG. 4B can correspond to the entries in the rows of Table 1. For example, each DAC value (e.g., corresponding to a respective row within Table 1) 64, 128, …, 960, 1023 of Table 1 is represented as a corresponding point on the graph 480 of VCM actuator power consumption illustrated in FIG. 4B.
[0103] As noted above, the holding current and power consumption of the VCM actuator can decrease for a first portion of the range of DAC values and different focus distances (e.g., the left-side portion of data points in the example of graph 480 of FIG. 4B) , before reaching a minimum power consumption and holding current of the VCM actuator at the natural position 485 corresponding to the DAC value of 576, holding current of 9.1 mA, and power consumption of 38 mW. The holding current and power consumption of the VCM actuator can increase for a second portion of the range of DAC values and different focus distances (e.g., the right-side portion of data points in the example of graph 480 of FIG. 4B) , from the minimum power consumption and holding current of the VCM actuator at the natural position 485 corresponding to the DAC value of 576, holding current of 9.1 mA, and power consumption of 38 mW.
[0104] FIG. 5 is a diagram illustrating an example of an autofocus control system 500 for an auxiliary and / or AON camera, in accordance with some examples. In some aspects, the autofocus control system 500 can include a state check engine 530 that includes a scene analysis engine 540 configured to determine whether a currently imaged scene is stable or is not stable. A determination that the scene is not stable may correspond to a determination of a scene change. The autofocus control system 500 can further include a focus monitor engine 550, which can be configured to analyze phase detection (PD) information (e.g., phase detection autofocus (PDAF) information) associated with a main camera, and PD information (e.g., PDAF information) associated with the auxiliary camera, to determine whether the main camera is currently focused or if the main camera is currently unfocused or unable to achieve focus. Based on the main camera being unfocused or unable to achieve focus, the focus monitor engine 550 can generate a refocus trigger to cause the auxiliary camera actuator controller 570 to perform auxiliary autofocusing 572 using the auxiliary camera to thereby generate assistance information for the main camera. In some examples, the scene analysis engine 540 can cause the auxiliary camera actuator controller 570 to perform auxiliary autofocusing 572 using the auxiliary camera to generate assistance information for the main camera in response to a determination of a scene change (e.g., unstable scene, scene not stable) by the scene analysis engine 540.
[0105] In one illustrative example, the auxiliary actuator controller 570 may be a focus actuator controller of the auxiliary camera. For example, the auxiliary actuator controller 570 can be the same as or similar to the focus actuator controller 438 of FIG. 4A. In some aspects, the auxiliary actuator controller 570 can be a controller of a VCM actuator used for autofocusing of the auxiliary camera (e.g., a VCM actuator used to adjust the focus of the auxiliary camera during the auxiliary autofocus on 572) .
[0106] The auxiliary actuator controller 570 can be configured to implement an idle mode for the auxiliary camera when the auxiliary camera is not actively being used to generate assistance information for the main camera. For example, the auxiliary actuator controller 570 can configure the aux idle mode 578 to cause the VCM actuator to move and hold the lens element of the auxiliary camera in a previously determined natural position for the auxiliary camera lens. The aux idle mode 578 can correspond to a natural position that is associated with a minimum holding current and / or a minimum power consumption for the VCM actuator to maintain (e.g., hold) the auxiliary camera lens element in the focus distance of the natural position. For example, the aux idle mode 578 can correspond to a natural position that is the same as or similar to the natural position 485 of FIG. 4B and Table 1, as noted above.
[0107] In some aspects, the aux idle mode 578 can utilize a natural position that is determined based on calibration information 515 previously determined for providing ultra-low-power dynamic autofocus control of the VCM actuator of the auxiliary camera (e.g., the auxiliary actuator controller 570) . By configuring the auxiliary camera and VCM actuator thereof to maintain the configured natural position associated with the aux idle state 578 when the auxiliary camera is not actively being used to generate assistance information and / or when the auxiliary camera is not actively in the aux autofocus on state 572, the systems and techniques can reduce the power consumption of the auxiliary camera and VCM auxiliary camera autofocus actuator. For example, referring to the example of Table 1, the holding current of the auxiliary camera can be reduced from a maximum of 65 mA (e.g., at the 30m infinity focus distance) to 9 mA when using the natural position 485 corresponding to the DAC value 576 of Table 1. The power consumption of the VCM actuator of the autofocus control system of the auxiliary camera can be reduced from a maximum of 184 mW (e.g., at the 30m infinity focus distance) to 38 mW when using the natural position 485 corresponding to the DAC value 576 of Table 1.
[0108] In one illustrative example, the state check engine 530 and / or scene analysis engine 540 can be used to determine that the image data currently captured by the main camera corresponds to a stable scene (e.g., the “scene stable” output of the scene analysis engine 540) or corresponds to a scene change or unstable scene (e.g., the “scene change (scene not stable) ) ” output of the scene analysis engine 540. In some aspects, the scene analysis engine 540 can determine the scene stability based on analyzing one or more of a luma or brightness information provided as input to the scene analysis engine 540, gyroscopic sensor data and / or gravity sensor data provided as input to the scene analysis engine 540, and / or scene detection information provided as input to the scene analysis engine 540.
[0109] In some cases, the luma or brightness information can be determined from one or more pixels of image data included in the plurality of pixels of image data currently captured by the main camera. In some examples, the luma or brightness information can correspond to ambient or environmental luminance (e.g., luma) or brightness information that is determined or measured by one or more luminance or brightness sensors included in the image capture device that includes the primary camera and the auxiliary camera (e.g., the image capture device that includes the autofocus control system 500 of FIG. 5) . In some examples, the luma or brightness information provided as input to the scene analysis engine 540 can be obtained using the luma / brightness sensors 448 of the image processing system 400 of FIG. 4A.
[0110] In some examples, the gyroscopic sensor data and / or gravity sensor data can be measured using one or more gyroscopes, accelerometers, gravity sensors, etc., included in the image capture device that includes the primary camera and the auxiliary camera (e.g., the image capture device that includes the autofocus control system 500 of FIG. 5) . For example, gyroscopic sensor data can be obtained from the gyroscope (s) 446 included in the image processing system 400 of FIG. 4A. Accelerometer sensor data can be obtained from the accelerometer (s) 442 of the image processing system 400 of FIG. 4A. Gravity sensor data can be obtained from the gravity sensor (s) 444 of the image processing system 400 of FIG. 4A.
[0111] In some aspects, the scene analysis engine 540 can be configured to analyze the luma, gyro / gravity, and / or scene detection inputs to determine whether the scene is stable (e.g., unchanged) or unstable (e.g., changed) . For example, the scene analysis engine 540 can determine a scene change based on one or more of a luminance / brightness change that exceeds a configured threshold for luminance / brightness changes, a gyroscopic (e.g., motion or rotation) change that exceeds a configured threshold, a gravity sensor change that exceeds a configured threshold, etc. In some cases, the same threshold may be utilized for each type of sensor data input to the scene analysis engine 540. For example, the same threshold may represent a percentage change value. In some cases, a different threshold value can be used for detecting a change in each different type of sensor data input to the scene analysis engine 540. For example, a first magnitude value threshold can be configured for luminance or brightness changes to trigger detection of a scene change. A second magnitude value threshold can be configured for motion changes (e.g., gyroscopic, accelerometer, etc. ) to trigger detection of a scene change. A third magnitude value threshold can be configured for gravity changes (e.g., gravity sensor changes) to trigger detection of a scene change, etc.
[0112] In some cases, the scene analysis engine 540 can be configured to detect a scene change based on determining difference information between a first scene state associated with a first time, and a second scene state associated with a second time (e.g., where the second scene state and second time are after the first scene state and the first time, respectively) . For example, the first scene state can be determined by the scene analysis engine 540 using luma / brightness information, gyroscopic information, gravity information, and / or scene detection information provided as input to the scene analysis engine 540 at a first time. The second scene state can be determined by the scene analysis engine 540 using second luma / brightness information, second gyroscopic information, second gravity information, and / or second scene detection information provided as input to the scene analysis engine 540 at a second time that is after the first time.
[0113] In some cases, the scene analysis engine 540 can determine the scene change based on determining one or more events (e.g., determining the occurrence of one or more events) . Such events are also referred to herein as trigger events or configured events. For example, one or multiple trigger events for a scene change detection can be configured for the scene analysis engine 540. In some cases, a trigger event for scene change detection can correspond to one or more of the sensor inputs to the scene analysis engine 540 changing by more than the corresponding configured threshold amount between the first time and the second time (e.g., between the first scene state and the second scene state) . The occurrence of a trigger event for scene change can be determined or detected based on the scene analysis engine 540 comparing the difference information determined between the first and second scene states at the first and second times, with one or more configured thresholds indicative of a scene change, as noted above.
[0114] For example, the scene analysis engine 540 can detect the occurrence of a trigger event corresponding to a scene change based on a zoom event in the main camera, where assistance information is needed from the auxiliary camera to assist in focusing the main camera at the new zoom level. Based on the scene analysis engine 540 detecting the occurrence of the trigger event corresponding to the scene change for the zoom event, the scene analysis engine can transmit an indication of the scene change to the auxiliary actuator controller 570, to cause the aux autofocus on mode 572 to be activated to perform autofocusing using the VCM actuator of the auxiliary camera. The aux autofocus on mode 572 can cause the VCM actuator of the auxiliary camera to perform autofocusing for the auxiliary camera, based on the VCM actuator moving the lens of the auxiliary camera between a second plurality of focus positions (e.g., the plurality of focus positions of the auxiliary camera; a first plurality of focus positions can correspond to the plurality of focus positions available for the lens of the primary camera) .
[0115] In another example, the scene analysis engine 540 can detect the occurrence of a trigger event corresponding to a scene change based on a challenging scene being currently imaged in the image data captured by the main camera and analyzed by the scene analysis engine 540. For example, a challenge scene for which the auxiliary camera can be used to perform auxiliary autofocusing to generate assistance data for the main camera (e.g., using the aux autofocus on mode 572 configured by the aux actuator controller 570 in response to the scene change indication form the scene analysis engine 540) , can be based on the presence of a non-textured scene or spotlight scene being currently imaged by the main camera, which may create autofocus difficulties for the main camera autofocus control system that adjusts the main camera between selected ones of a first plurality of configured focus positions for the main camera.
[0116] In some aspects, based on the scene analysis engine 540 detecting a scene change (e.g., detecting the occurrence of a trigger event corresponding to a scene change) , the auxiliary camera actuator controller 570 can use the indication of the scene change to automatically activate the autofocusing mode 572 of the auxiliary camera to generate assistance information to assist the autofocus control system of the main camera.
[0117] In one illustrative example, the scene analysis engine 540 may determine that the scene has not changed (e.g., determine an indication of a stable scene) . For example, the determination of no scene change, or the determination of a stable scene, can correspond to the scene analysis engine 540 not detecting the occurrence of a configured trigger event corresponding to a scene change. For example, the luma or brightness information may be unchanged, or changed by less than the configured threshold amount, between a first scene state determined by the scene analysis engine 540 at a first time and a second scene state determined by the scene analysis engine 540 at a second time. In another example, one or more of the gyroscopic, accelerometer, and / or gravity sensor information may be unchanged, or changed by less than the configured threshold amount, between a first scene state determined by the scene analysis engine 540 at a first time and a second scene state determined by the scene analysis engine 540 at a second time.
[0118] In some aspects, a determination by the scene analysis engine 540 of a scene change (e.g., scene not stable) can correspond to the scene analysis engine 540 determining the occurrence of one or more configured trigger events associated with a request from or for the main camera to receive auxiliary assistance information based on performing autofocusing 572 using the auxiliary AON camera. A determination by the scene analysis engine 540 of no scene change (e.g., scene stable) can correspond to the scene analysis engine determining that there is not currently a request from the main camera or a need for the main camera to receive auxiliary assistance information from the auxiliary camera autofocus 572.
[0119] For example, based on the scene analysis engine 540 determining that the scene is stable, the scene analysis engine 540 can provide an indication of the stable scene determination as an input to the focus monitor engine 550 that is also included in the state check engine 530. When the scene is stable, the focus monitor engine 550 can be configured to continuously, periodically, or intermittently analyze the focus state or focus condition of the main camera in order to assess the reliability of the focus achieved for the main camera by the phase-detection (PD) system used for autofocusing the main camera. For example, while the scene remains stable (e.g., scene stable indication continues to be received by the focus monitor engine 550 from the scene analysis engine 540) , the focus monitor engine 550 can be configured to assess the reliability of the focus achieved for the main camera by the PDAF system used for autofocusing the main camera. In some aspects, the PDAF system used for autofocus control of the main camera can be based on, the same as, and / or similar to one or more of the PDAF systems of FIGS. 2A-3B.
[0120] In some cases, the focus monitor engine 550 can continuously, periodically, or intermittently receive and analyze an input of main camera PD information (e.g., received from the main camera PDAF autofocus control system) and / or an input of auxiliary camera PD information (e.g., received from the auxiliary camera PDAF autofocus control system, which may include or be the same as the aux actuator controller 570 of FIG. 5) . For example, the main camera PD information can include or be indicative of a confidence value provided by the main camera PDAF system, and corresponding to a confidence that the autofocus position of the main camera is correct or optimal. In some cases, the auxiliary camera PD information can include or be indicative of a confidence value provided by the auxiliary camera PDAF system, and corresponding to a confidence that an autofocus position of the auxiliary camera is correct or optimal. An example of the focus monitor engine 550 and the confidence level analysis process implemented by the focus monitor engine 550 is described below with respect to the example of FIG. 7.
[0121] The focus monitor engine 550 can use the main camera PD information and / or the auxiliary camera PD information (e.g., the respective main camera PDAF confidence level and the auxiliary camera PDAF confidence level) to determine and generate as output an indication that the main camera is properly focused (e.g.., the ‘Focused’ output from the focus monitor engine 550 to the aux idle state 578 of the aux actuator controller 570) , or an indication that the main camera is not properly focused (e.g., the ‘Refocus Trigger’ output from the focus monitor engine 550 to the aux autofocus on state 572 of the aux actuator controller 570) .
[0122] For example, FIG. 7 is a diagram illustrating an example of an autofocus control system 700 that includes a focus monitor engine 750 and an aux actuator controller 770, in accordance with some examples. In some aspects, the autofocus control system 700 of FIG. 7 can be the same as or similar to the autofocus control system 500 of FIG. 5. In some cases, the focus monitor engine 750 of FIG. 7 can be the same as or similar to the focus monitor engine 550 of FIG. 5. In some aspects, the aux actuator controller 770 can be the same as or similar to the aux actuator controller 570 of FIG. 5.
[0123] As noted above, the focus monitor engine 750 can receive as input a main camera PD information (e.g., main camera PDAF confidence) and an auxiliary camera PD information (e.g., auxiliary camera PDAF confidence) . In some examples, the main camera PD information can be obtained from a PDAF system 720 associated with the main camera. In some cases, the auxiliary camera PD information can be obtained from the same PDAF system 720, which may also be associated with the auxiliary camera. In some aspects, the auxiliary camera PD information can be obtained from a different PDAF system (e.g., a PDAF system that is different from PDAF system 720, such as a PDAF system associated with the auxiliary camera and not the main camera) . The PDAF system 720 and / or a PDAF system associated with the main camera (e.g., and configured to provide the main camera PD information to the focus monitor engine 750) and / or a PDAF system associated with the auxiliary camera (e.g., and configured to provide the auxiliary camera PD information to the focus monitor engine 750) can be the same as or similar to one or more of the PDAF systems of FIGS. 2A-3B.
[0124] In one illustrative example, the focus monitor engine 750 can be configured to perform a first comparison 752 between the main camera PDAF confidence (e.g., included in or indicated by the main camera PD information provided as input to the focus monitor engine 750 and the first comparison block 752) and a configured first confidence threshold value. For example, the configured first confidence threshold value can indicate the PDAF confidence level above which the main camera is able to achieve a proper and / or accurate focus (e.g., autofocus) without auxiliary assistance or assistance information from the auxiliary camera. In some aspects, the focus monitor engine 750 can perform the first comparison 752 to determine whether the main camera PD information includes a main camera PDAF confidence that is greater than (e.g., above) the configured confidence threshold for the main camera PDAF autofocusing. If the first comparison 752 determines that the main camera PDAF confidence exceeds the configured first threshold, the focus monitor can exit from the first comparison 752 using the ‘Y’ (e.g., Yes) decision branch, which causes the aux actuator controller 770 to hold the auxiliary camera lens in the aux idle state 778 using the dynamically determined natural position corresponding to the minimum holding current and power consumption for the auxiliary camera VCM actuator, given the current orientation and gravity state of the auxiliary camera and / or imaging device including the auxiliary camera and main camera.
[0125] Based on the first comparison 752 determining that the main camera PDAF confidence is below the configured first threshold, the focus monitor engine 750 can determine that the main camera requires auxiliary assistance information based on the main camera being unable to achieve a reliable focus on its own. The first comparison can exit via the ‘N’ (e.g., No) decision branch, which causes the focus monitor engine 750 to perform a second comparison 756 to analyze the auxiliary camera PDAF information and / or auxiliary camera PDAF confidence level against a configured second threshold. The configured second threshold can be a confidence threshold for the PDAF autofocus result of the auxiliary camera being autofocused by the VCM actuator (e.g., the aux actuator controller 770) . The configured second threshold can be the same as or different from the configured first threshold associated with the PDAF confidence level for the main (e.g., primary) camera.
[0126] In some aspects, if the focus monitor engine 750 determines in the second comparison 756 that the PDAF confidence level of the auxiliary camera is also below the configured confidence threshold, the focus monitor engine 750 may determine that both the primary camera and the auxiliary camera are currently unable to achieve a reliable focus for the scene. When the auxiliary camera is not able to perform reliable focusing (e.g., the ‘N’ decision branch from the second comparison 756) , the focus monitor engine 750 and the aux actuator controller 770 can configure the VCM actuator of the auxiliary camera autofocus control system to implement or adjust the lens position to the current aux idle natural position 778. Based on the auxiliary camera being unable to achieve reliable focus, the systems and techniques can skip performing autofocusing with the auxiliary camera (e.g., can skip the aux autofocus on state 772) and can proceed directly to the aux idle natural position state 778 to keep the auxiliary camera at the minimum VCM actuator power consumption provided by the aux idle natural position state 778 (e.g., as the auxiliary camera autofocus being below the configured threshold for the second comparison 756 can indicate that the auxiliary camera cannot effectively generate assistance information to assist the main camera focusing task) .
[0127] In some aspects, the aux autofocus on state 772 and the aux idle natural position state 778 associated with the aux actuator controller 770 of FIG. 7 can be the same as or similar to the aux autofocus on state 572 and the aux idle natural position state 578 associated with the aux actuator controller 570 (respectively) of FIG. 5. As noted above, the aux actuator controller 570 can be configured to activate the VCM actuator to perform autofocusing of the auxiliary camera (e.g., aux autofocus on state 572) based on the scene analysis engine 540 detecting a scene change or unstable scene, and may additionally be configured to activate the VCM actuator to perform autofocusing of the auxiliary camera (e.g., aux autofocus on state 572) based on the focus monitor engine 550 generating a refocus trigger due to a main camera PDAF confidence level falling below a configured threshold while the scene remains otherwise stable.
[0128] In one illustrative example, the aux actuator controller 570 can be configured to implement the aux idle natural position state 578 to conserve power based on the aux idle natural position state 578 utilizing the focus distance of the auxiliary camera that currently corresponds to the minimum holding current and power consumption of the VCM actuator used to move the lens of the auxiliary camera between the different focus distance positions of a plurality of focus distance positions available for the auxiliary camera (e.g., the plurality of different focus distance positions included in Table 1, the plurality of different focus distance positions represented along the horizontal axis of the graph 480 of FIG. 4B, etc. ) .
[0129] In some aspects, the aux actuator controller 570 can determine the aux idle natural position 578 that corresponds to the current orientation, motion, and / or gravity state of the auxiliary camera (e.g., that corresponds to the image capture device that includes the auxiliary camera and the primary camera) . For example, the aux idle natural position 578 can be determined based on comparing pose information of the image capture device to focus calibration information that is obtained for the auxiliary camera.
[0130] In one illustrative example, the focus calibration information can be indicative of the natural position having the minimum holding current and power consumption for the VCM actuator of the auxiliary camera, given the current camera pose information. In some aspects, the focus calibration information can comprise a natural position look-up table (LUT) 515. For example, the aux actuator controller 570 can use the natural position LUT to obtain the natural position 485 having the minimum holding current and power consumption of the VCM actuator, given the current camera pose.
[0131] In some cases, the focus calibration information can comprise the natural position LUT 515, and may be determined by an offline calibration process to determine or measure the natural position of the auxiliary camera lens while autofocusing during various different device pose and gravity conditions. For example, an auxiliary VCM actuator natural position offline calibration process 510 can be performed to obtain the natural position LUT 515 used by the aux actuator controller 570 to dynamically determine the natural position to move the auxiliary camera lens into for achieving the minimum holding current and VCE actuator power consumption during the aux idle natural position state 578.
[0132] In some aspects, the natural position LUT 515 can comprise offline calibration information for a DAC control current provided as input to cause the VCM actuator of the auxiliary camera to adjust the position of the lens of the auxiliary camera between the different configured focus distances. For example, the natural position LUT 515 can comprise offline calibration information for the DAC control current values of Table 1 and FIG. 4B, as noted above. In some cases, the natural position LUT 515 can be indicative of only the natural position focus distance that achieves the minimum holding current and power consumption in each one of a plurality of different gravity conditions and device pose configurations of the auxiliary camera.
[0133] For example, if the aux VCM actuator natural position offline calibration process 510 is performed to measure the natural position for 10 different configurations of gravity condition and device pose, the natural position LUT 515 may include 10 entries and 10 natural position DAC values, with each entry indicating only the particular natural position (e.g., the corresponding DAC value to cause the VCM actuator to move the auxiliary camera lens to the natural position focus distance) for the corresponding configuration of gravity condition and device pose.
[0134] In another example, the natural position LUT 515 can include holding current and / or power consumption information for each available DAC value or focus distance of the auxiliary camera VCM actuator, and the aux actuator controller 570 can obtain the aux idle natural position 578 for the current gravity condition and device pose by obtaining the minimum holding current DAC value from the set of calibrated (DAC value, holding current, focus distance) entries measured during the offline calibration process 510 for the current gravity condition and device pose.
[0135] For example, the natural position LUT 515 can include a set of calibrated (DAC value, holding current, focus distance) entries determined in the offline calibration process 510 for each respective one of the 10 different configurations of gravity condition and device pose, as used in the example above. In this example, the set of calibrated entries included in the natural position LUT 515 for each one of the different configurations of gravity condition and device pose can be the same as or similar to the entries depicted in the example of Table 1. In some aspects, the set of calibrated entries for a particular gravity condition / device pose may include only the DAC values that are included in the working range of DAC values mapped to an available focus distance for the auxiliary camera (e.g., such as the DAC values 256-832 in the working range of the example of Table 1, above) .
[0136] In some examples, the set of calibrated entries for a particular gravity condition / device pose may include all of the DAC values configured for the VCM actuator of the auxiliary camera, including the DAC values included in the working range (e.g., such as the DAC values 256-832 in the working range of the example of Table 1) and including the DAC values included in an unused range (e.g., such as the DAC values 64-192 included in the first unused range of the example of Table 1, and / or the DAC values 896-1023 included in the second unused range of the example of Table 1, etc. ) . For example, if the working range of the VCM actuator corresponds to 10 different DAC values and focus distances, the natural position LUT 515 can include the 10 measured holding currents determined at each DAC value of the working range during the offline calibration process 510, for each of the 10 different gravity condition and device pose configurations used for the natural position offline calibration process 510. In this example, the natural position LUT 515 can include 10*10=100 different entries and 10*1 = 10 different natural positions (e.g., 10 gravity condition configurations, each of which has 10 holding current values measured for the different working range DAC positions, and with one of the 10 DAC positions being the natural position with the minimum holding current value for that gravity condition configuration) .
[0137] In one illustrative example, the VCM actuator natural position offline calibration process 510 can be performed to determine the natural position of the auxiliary camera that is associated with the minimum VCM actuator holding current and power consumption under different combinations (e.g., configurations) of gravity condition and device pose. For example, the aux VCM natural position offline calibration process 510 can be performed based on gyroscopic sensor data, gravity sensor data, and power information provided as input during the natural position offline calibration measurements performed for each respective gravity condition / device pose of the plurality of different gravity conditions / device poses for which the natural position is determined during the natural position offline calibration process 510.
[0138] For example, FIG. 6 is a diagram illustrating an example of an auxiliary camera voice control motor (VCM) actuator focus calibration process 600 associated with determining a minimum power natural focus position of the VCM actuator for a plurality of different orientations and gravity vectors, in accordance with some examples. In some aspects, the VCM actuator focus calibration process 600 of FIG. 6 can be the same as or similar to the aux VCM actuator natural position offline calibration process 510 of FIG. 5. In some examples, the VCM actuator focus calibration process 600 of FIG. 6 can be used to determine focus calibration information such as a natural position LUT indicative of the natural position for the auxiliary camera lens in each of a plurality of different gravity conditions and device pose configurations. For example, the VCM actuator focus calibration process 600 of FIG. 6 can be used to determine a natural position LUT that is the same as or similar to the natural position LUT 515 of FIG. 5. For example, the natural position LUT 615 of FIG. 6 can be the same as or similar to the natural position LUT 515 of FIG. 5.
[0139] In some aspects, the aux VCM actuator natural position offline calibration 610 of FIG. 6 can be the same as or similar to the aux VCM actuator natural position offline calibration 510 of FIG. 5. The respective inputs of gyroscopic sensor data, gravity sensor data, and power information to the natural position offline calibration 610 of FIG. 6 can be the same as or similar to the respective and corresponding inputs to the natural position offline calibration 5t10 of FIG. 5. In some examples, the gyroscopic sensor data input to the natural position offline calibration 510, 610 can be obtained using one or more gyroscopes, such as the gyroscope (s) 446 of the image processing system 400 of FIG. 4A. In some cases, the gyroscopic sensor data input to the natural position offline calibration 510, 610 can include accelerometer or other motion sensor data, which can be obtained using one or more accelerometers and / or motion sensors, such as the accelerometer (s) 442 of the image processing system 400 of FIG. 4A.
[0140] In some aspects, the gravity sensor data input to the natural position offline calibration 510, 610 can include gravity sensor data indicative of one or more force vectors associated with a gravity force acting upon the auxiliary camera, the VCM actuator or autofocus control system of the auxiliary cam era, and / or the image capture device including the auxiliary camera and the primary camera.
[0141] For example, the gravity sensor data input to the natural position offline calibration 510, 610 can be indicative of a gravitational force component along the x-axis (e.g., x-direction gravity vector) , a gravitational force component along the y-axis (e.g., y-direction gravity vector) , and a gravitational force component along the z-axis (e.g., z-direction gravity vector) . In one illustrative example, the gravity sensor data and / or gravity vectors or gravity condition information can be obtained using the gravity sensor (s) 444 of the image processing system 400 of FIG. 4A.
[0142] In some cases, the power information input to the natural position offline calibration 510, 610 can be indicative of a power consumption of the VCM actuator included in the auxiliary camera autofocus control system (e.g., the VCM actuator used to move the auxiliary camera lens into different focus positions corresponding to the different autofocus distances) . For example, the power information can represent an instantaneous and / or averaged power consumption of the VCM actuator at a particular time, over a configured time window or period, and / or over a particular time window and / or period, etc. In some cases, the power information input to the natural position offline calibration 510, 610 can be obtained using the power meter component or power measurement circuitry 452 of the image processing system 400 of FIG. 4A.
[0143] In some aspects, the natural position offline calibration 610 of FIG. 6 can correspond to measuring the VCM actuator holding current and / or power consumption (e.g., as indicated by the input power information to the natural position offline calibration 610) , for each one of a plurality of different gravity condition and device pose configurations 660. Each respective gravity condition and device pose configuration 660 can correspond to a different gravity condition and device pose configuration or combination, as indicated by the inputs of gyroscopic sensor data and gravity sensor data provided to the natural position offline calibration 610.
[0144] For example, the plurality of gravity condition and device pose configurations 660 can correspond to different configurations, offsets, arrangements, or combinations of a VCM actuator force vector associated with adjusting the auxiliary camera lens between the different DAC values for different focus positions, and a gravitational force vector acting on the VCM actuator of the auxiliary camera.
[0145] For example, a first gravity condition and device pose configuration 660-1 corresponds to a VCM actuator force vector and a gravitational force vector that are parallel to one another. In particular, the first gravity condition and device pose configuration 660-1 corresponds to a configuration, orientation, or position of the image capture device that includes the auxiliary camera and VCM actuator, such that the VCM actuator force for autofocusing the auxiliary camera lens acts in a parallel but opposite direction from the gravitational force on the VCM actuator. Although not shown, an additional example of a gravity condition and device pose configuration 660 could correspond to an arrangement where the VCM actuator force and the gravitational force are parallel to one another and act in the same direction (e.g., vertical down in one additional configuration, vertical up in another additional configuration, horizontal left / right in another additional configuration, etc. ) .
[0146] In another example, a second gravity condition and device pose configuration 660-2 corresponds to an example where the image capture device is held such that the auxiliary camera VCM actuator force is perpendicular to the gravitational force acting on the auxiliary camera VCM actuator. For instance, the auxiliary camera VCM actuator force may act to the left horizontal direction, and the gravitational force can act in the vertical down direction. Although not shown, an additional example of a gravity condition and device pose configuration 660 could correspond to an arrangement where the VCM actuator force acts in the horizontal right direction and the gravitational force acts in the vertical down direction. In another additional configuration 660, the VCM actuator force can act in the horizontal left direction and the gravitational force acts in the vertical up direction. In another additional configuration 660, the VCM actuator force can act in the horizontal right direction and the gravitational force acts in the vertical up direction, etc.
[0147] In some aspects, the impact of different gravitational forces on the VCM actuator movement of the auxiliary camera lens between the different configured DAC values for different focus distances can be substantial and distinct in the different gravity condition and device pose configurations 660. Based on the different angular offset (s) between the VCM force vector and the gravitational force vector (s) , acting in one-dimensional (1D) space, two-dimensional (2D) space, or in three-dimensional (3D) space, the VCM may require different holding current values to achieve and maintain the configured focus distance and auxiliary camera lens position that is mapped to each one of the DAC values within the working range of the auxiliary camera VCM actuator. For example, depending on the relative offset or configuration between the gravitational force acting on (e.g., against or with) the VCM actuator force, the actuation force required for the VCM actuator to hold the auxiliary camera lens in each DAC focus position will vary. To generate different actuation forces, the VCM actuator utilizes a different driving current (e.g., the holding current varies according to the variation in the actuation force needed for a given DAC focus position under different gravitational and VCM actuator force relative angular offsets in 1D, 2D, or 3D space) . In one illustrative example, the aux VCM actuator natural position offline calibration process 610 can be performed to measure the variation in the VCM holding current to generate the desired force to hold the auxiliary camera lens in a configured focus distance for a particular DAC value, considering both gravity and displacement. For example, based on both gravity and displacement, and due to varying gravitation forces acting on the VCM actuator of the auxiliary camera, the natural position with the minimum holding current and VCM actuator power consumption can differ significantly across different gravity condition and device poise / orientation configurations 660.
[0148] In one illustrative example, the offline calibration information determined by the natural position offline calibration process 610 (e.g., the natural position LUT 6t15) can be indicative of multiple sets of the respective holding current for each focus position of a plurality of focus positions associated with the auxiliary camera. Each set of holding current values can be associated with a different combination of orientation and / or gravity information (e.g., a different configuration 660 of the angular offsets in 2D or 3D between the VCM actuator force vector and the gravitational force vector acting on the auxiliary camera and VCM actuator) . For example, a first set of holding current values can be indicative of the respective holding current for each focus position when the auxiliary camera is oriented with the VCM actuator force vector parallel to the gravity vector. A second set of holding current values can be indicative of the respective holding current for each focus position when the auxiliary camera is oriented with the VCM actuator force vector perpendicular to the gravity vector, etc. In some cases, the offline calibration information includes a plurality of sets of holding current information, where each set of holding current information corresponds to a different angular offset or relative configuration between the VCM actuator force vector and the gravity force vector associated with and / or acting upon the AON auxiliary camera and camera device that includes the AON auxiliary camera.
[0149] Using the natural position offline calibration 610, the minimal power DAC (e.g., minimal holding current and power consumption DAC value focus position for the auxiliary camera lens and VCM actuator) can be determined within the entire VCM actuator range (e.g., the entire working range of DAC values mapped to different focus distances) , for a plurality of various different device postures (e.g., device poses) for different gravity (e.g., different gravity condition information and / or different gravitational force vectors, etc. ) . The natural DAC offline calibration 610 can be performed on a per VCM actuator-basis (e.g., performed for each different model or type of VCM actuator that may be used for an auxiliary camera system) , rather than being performed on a per-device basis (e.g., multiple devices that implement the same auxiliary camera VCM actuator can use the same natural DAC offline calibration 610 and resulting natural position LUT 615, based on each distinct device including the same auxiliary camera VCM actuator for which the offline calibration 610 and natural position LUT 615 were performed and determined) .
[0150] In one illustrative example, the aux actuator controller 570 of FIG. 5 and / or 770 of FIG. 7 can use the natural position LUT 515 of FIG. 5, 715 of FIG. 7, etc., as input for dynamically determining, selecting, and / or obtaining the aux idle natural position 578, 778 having the minimum VCM actuator holding current and power consumption given the current gravity condition and device pose of the image capture device that includes the auxiliary camera. For example, based on periodically comparing the current orientation, gravity, and / or gyroscopic information determined for the auxiliary camera with the corresponding natural position holding current values indicated in the calibration information (e.g., offline calibration information) included in the natural position LUT 515, the systems and techniques can implement low power and / or ultra-low power autofocus control for the AON auxiliary camera using a dynamic idle mode corresponding to the dynamically determined aux idle natural position 578. The aux actuator controller 570 can use the same gyro / gravity sensor information provided as input to the state check engine 530 and / or the scene analysis engine 540, to query the natural position LUT 515 for offline calibration information that either matches, or is most similar to, the current gravity condition and device pose (e.g., 2D or 3D angular offset (s) between the VCM actuator force vector and the gravitation force vector) as indicated by the gyro / gravity sensor input information.
[0151] The result of the query to the natural position LUT 515 may either be the natural position with the minimum holding current and power consumption of the VCM actuator in the current gravity condition and device pose, or may be the set of measured holding current and / or power consumption values measured for the entire working range of DAC focus distance values under the current gravity condition and device pose conditions during the offline calibration process 510.
[0152] In examples where the query from the aux actuator controller 570 to the natural position LUT 515 returns the natural position DAC focus distance for the current gravity condition and device pose, the aux actuator controller 770 can use the natural position DAC returned from the query to the natural position LUT 515 for implementing the aux idle natural position 578 directly.
[0153] In examples where the query from the aux actuator controller 570 to the natural position LUT 515 returns the holding current and power consumption measurements for the entire DAC working range as measured for the current gravity condition and device pose, the aux actuator controller 770 can select the natural position DAC from the set of measurements returned from the natural position LUT 515 as the particular DAC value entry and focus distance for which the minimum holding current and power consumption of the VCM actuator were measured during the offline calibration process 510. The selected minimum holding current DAC value can subsequently be configured and implemented as the aux idle natural position 578 by the aux actuator controller 770.
[0154] FIG. 8 is a flowchart diagram illustrating an example of a process 800 for lower power variable focus control of an auxiliary camera associated with a primary camera. In some examples, the process 800 can be performed by a computing device or apparatus or a component or system (e.g., one or more chipsets, one or more processors such as one or more CPUs, DSPs, NPUs, NSPs, microcontrollers, ASICs, FPGAs, programmable logic devices, discrete gates or transistor logic components, discrete hardware components, etc., any combination thereof, and / or other component or system) of the computing device or apparatus. For example, the process 800 can be performed by a mobile camera device, among various others, etc. The operations of the process 800 may be implemented as software components that are executed and run on one or more processors (e.g., processor 910 of FIG. 9 or other processor (s) ) .
[0155] In some examples, the process 800 can be performed by the mobile device 102 of FIG. 1A, the image processing device 105B of FIG. 1B, the image capture device 105A of FIG. 1B, the image capture and processing system 100b of FIG. 1B, the image processing system 400 of FIG. 4A, the autofocus control system 500 of FIG. 5, etc. In some cases, the process 800 can be used to provide lower power variable focus control (e.g., autofocus control, including phase detection autofocus (PDAF) control, etc. ) for an auxiliary camera associated with a primary camera, such as the auxiliary camera 404 of FIG. 4A associated with the primary camera 402 of FIG. 4A, etc.
[0156] At block 802, the computing device (or component thereof) can determine an occurrence of an event associated with an image capture device configured to obtain image data of a scene, wherein the image capture device includes a first camera associated with a first plurality of focus positions and a second camera associated with a second plurality of focus positions.
[0157] In some examples, the image capture device can be the same as or similar to the user device 104 of FIG. 1A, the image capture and processing system 100b of FIG. 1B, the image processing device 105B of FIG. 1B, the image capture device 105A of FIG. 1B, the image processing system 400 of FIG. 4A, etc. In some cases, the first plurality of focus positions can be a first plurality of focus positions each corresponding to a different distance of a lens of the first camera from an image sensor of the first camera. The second plurality of focus positions can be a second plurality of focus positions each corresponding to a different distance of a lens of the second camera from an image sensor of the second camera. In some examples, the lens of the first and / or second camera can be the same as or similar to the lens 115 of FIG. 1B. In some cases, the image sensor of the first and / or second camera can be the same as or similar to the image sensor 130 of FIG. 1B.
[0158] In some examples, the first camera and the fist plurality of focus positions can be associated with one or more control mechanisms of the first camera, which can be the same as or similar to the control mechanisms 160 of FIG. 1B. In some cases, the second camera and the second plurality of focus positions can be associated with one or more control mechanisms of the second camera, which can be the same as or similar to the control mechanisms 160 of FIG. 1B.
[0159] In some examples, the first camera is a primary camera of the image capture device, and the second camera is an auxiliary camera of the image capture device. For example, the second camera can be an auxiliary camera configured to provide assistance information to the primary camera (e.g., first camera) of the image capture device. In some cases, the second camera is a lower-power auxiliary camera of the image capture device. The lower-power auxiliary camera may be associated with an autofocus control system of the first camera. For example, the lower-power auxiliary camera can be an always-on (AON) auxiliary camera. In some cases, each focus position of the second plurality of focus positions corresponds to a respective distance between an image sensor of the second camera and the lens of the second camera.
[0160] In some examples, determining the occurrence of an event can correspond to determining the occurrence of a trigger event associated with the image capture device and / or can correspond to determining the occurrence of a configured event associated with the image capture device. As used herein, the “event” associated with the image capture device may be referred to interchangeably as a “trigger event” and / or a “configured event. ”
[0161] In some cases, the event corresponds to determining that a first confidence value associated with a phase detection autofocus (PDAF) system of the first camera is less than a configured confidence threshold. For example, the PDAF system of the first camera can be the same as or similar to one or more of the PDAF systems of FIGS. 2A-3B. In some cases, determining the occurrence of the event can be performed by the state check engine 530 of FIG. 5. In some examples, determining that the first confidence value associated with the PDAF system of the first camera is less than the configured confidence threshold can be performed by the focus monitor engine 550 of FIG. 5 and / or the focus monitor engine 750 of FIG. 7. In some cases, the first confidence value can be the same as or similar to the main camera PD information obtained from the PDAF system 720 of FIG. 7. In some cases, the comparison of the first confidence value and the configured confidence threshold can be the same as or similar to the first confidence comparison 752 of FIG. 7.
[0162] In some cases, determining the first confidence value is less than the configured confidence threshold is indicative of a request to the second camera to determine the assistance information. For example, determining the first confidence value is less than the configured confidence threshold can correspond to the ‘N’ path between the confidence comparisons 752 and 756 of FIG. 7 (e.g., the no path indicative of a request from the main camera for auxiliary assistance from the auxiliary camera) .
[0163] In some cases, the computing device (or component thereof) can be further configured to obtain a second confidence value associated with a PDAF system of the second camera. For example, the second confidence value can be the same as or similar to the aux camera PD information obtained from the PDAF system 720 of FIG. 7 and provided as input to the auxiliary camera confidence comparison block 756 of FIG. 7. In some cases, the computing device (or component thereof) can be further configured to compare the second confidence value to the configured confidence threshold, wherein obtaining the auxiliary image data of the scene and determining the assistance information is in response to the second confidence value being greater than the configured confidence threshold. For example, the second confidence value can be compared to the configured confidence threshold using the second confidence comparison block 756 implemented by the focus monitor engine 750 of FIG. 7. In some examples, obtaining auxiliary image data of the scene and determining the assistance information is in response to a ‘yes’ determination by the second confidence comparison block 756 of FIG. 7 (e.g., the ‘Y’ path from the second comparison block 756 of the focus monitor engine 750 of FIG. 7, to the aux autofocus on state 772 of the aux actuator controller 770 of FIG. 7) .
[0164] In some examples, the computing device (or component thereof) can be configured to skip obtaining the auxiliary image data and skip determining the assistance information in response to the second confidence value being less than the configured confidence threshold. For example, skipping obtaining the auxiliary image data and skipping determining the assistance information can correspond to the no path (e.g., the ‘N’ path) on the output of the second confidence comparison block 756 of FIG. 7. In some examples, the lens of the second camera is adjusted to the configured natural focus position in response to the second confidence value being less than the configured confidence threshold. For example, the lens of the second camera can be adjusted to a configured natural focus position corresponding to the dynamically determined aux idle natural position 578 of FIG. 5 and / or the dynamically determined aux idle natural position 778 of FIG. 7.
[0165] In some cases, determining the occurrence of the event corresponds to determining a scene change for the scene. For example, determining a scene change for the scene can be performed using the scene analysis engine 540 included in the state check engine 530 of FIG. 5. In some cases, determining the occurrence of an event corresponding to a scene change for the scene comprises determining difference information between a first scene state associated with a first time and a second scene state associated with a second time, and determining the occurrence of the event based on a comparison between the difference information and one or more configured thresholds indicative of a scene change for the scene.
[0166] In some cases, the first scene state and the second scene state include respective measurement values for each of a plurality of configured parameters. For example, the first scene state and the second scene state include respective measurement values for each of a configured luma parameter (e.g., the “luma” input to the scene analysis engine 540 of FIG. 5) , a configured gyroscopic parameter (e.g., the “gyro” input to the scene analysis engine 540 of FIG. 5) , a configured gravity parameter (e.g., the “gravity” input to the scene analysis engine 540 of FIG. 5) , a configured scene detection information (e.g., the “scene detection” input to the scene analysis engine 540 of FIG. 5) , etc.
[0167] In some cases, determining the occurrence of the event is based on a difference between the respective measurement value included in the first scene state and the respective measurement value included in the second scene state for a same parameter of the plurality of configured parameters. In some examples, the respective measurement values comprise one or more of luminance information associated with the image data or brightness information associated with the scene. In some cases, the respective measurement values comprise one or more of motion information associated with the image capture device or orientation information associated with the image capture device. In some cases, the respective measurement values comprise one or more of gyroscopic information obtained from a gyroscopic sensor of the image capture device, or gravity information obtained from a gravity sensor of the image capture device.
[0168] At block 804, the computing device (or component thereof) can obtain, based on the occurrence of the event, auxiliary image data of the scene by adjusting a lens of the second camera through one or more auxiliary focus positions of the second plurality of focus positions. For example, the lens of the second camera can be the same as or similar to the lens 115 of FIG. 1B. In some cases, the lens of the second camera can be adjusted by an autofocus control system and / or control mechanisms associated with the second camera, such as the control mechanisms 160 of FIG. 1B. In some examples, the lens of the second camera can be adjusted by the focus actuator controller 438 of FIG. 4. In some examples, the lens of the second camera can be adjusted using the auxiliary camera actuator controller 570 of FIG. 5 and / or the auxiliary camera actuator controller 770 of FIG. 7.
[0169] At block 806, the computing device (or component thereof) can determine focus data for the first camera based on the auxiliary image data. For example, the focus data can be determined based on the ‘Y’ output path of the second confidence comparison block 756 of the focus monitor engine 750 of FIG. 7, for example using the auxiliary camera actuator controller 770 of FIG. 7. In some cases, the focus data can be determined based on using the auxiliary actuator controller 770 of FIG. 7 to perform autofocusing of the auxiliary camera, using the aux autofocus on state 772 of FIG. 7. In some cases, the focus data can be provided as input to a 3A (e.g., auto-focus control, auto-white balance control, auto-exposure control) system of the first camera (e.g., primary or main camera) . In some examples, the focus data for the first camera can comprise assistance information for controlling the first camera (e.g., controlling an autofocus system associated with or included in the first camera, etc. ) .
[0170] In some examples, to determine the focus data for the first camera based on the auxiliary image data, the computing device (or component thereof) can compare pose information associated with the image capture device to focus calibration information obtained for the second camera, to thereby determine a configured natural focus position of the second plurality of focus positions. The configured natural focus position can also be referred to interchangeably herein as a “second focus position” of the second plurality of focus positions associated with the second camera (e.g., associated with the auxiliary camera) . For example, the pose information associated with the image capture device can be determined based on gyroscopic sensor data obtained from the gyroscope (s) 446 of FIG. 4, accelerometer sensor data obtained from the accelerometer (s) 442 of FIG. 4, gravity sensor data obtained from the gravity sensor (s) 444 of FIG. 4, etc. In some examples, the pose information associated with the image capture device can be indicative of an orientation of the second camera.
[0171] In some examples, the second focus position (e.g., natural focus position) is a particular focus position included in the second plurality of focus positions, the particular focus position associated with a minimum holding power consumption to hold the lens of the second camera in the particular focus position. For example, the configured natural focus position can be associated with a minimum holding power consumption of a voice control motor (VCM) actuator used to adjust the lens of the second camera between the second plurality of focus positions. In some cases, the second focus position (e.g., natural focus position) is the focus position of the second lens and VCM actuator that is associated with a minimum holding current input to the VCM actuator, to cause the VCM actuator to hold the lens of the second camera in the second focus position (e.g., natural focus position) .
[0172] In some examples, the second focus position (e.g., natural focus position) is a particular focus position included in the second plurality of focus positions and associated with a minimum power consumption of an actuator configured to adjust the lens of the second camera between the second plurality of focus positions. In some cases, the actuator is a voice control motor (VCM) actuator included in an autofocus control system and used to adjust a position of the lens of the second camera. In some cases, the focus calibration information comprises offline calibration information for a digital to analog converter (DAC) control current provided as input to cause the VCM to adjust the position of the lens of the second camera. In some examples, the calibration information associated with determining the second focus position for the second camera (e.g., auxiliary camera) is associated with a particular gravity state comprising a gravity force direction and an actuator force direction associated with adjusting the lens of the second camera. In some examples, the focus calibration information is obtained based on a comparison of the particular gravity state with the pose information. In some cases, the focus calibration information comprises a selected set of focus calibration values selected from a plurality of sets of focus calibration values based on the pose information. In some examples, the pose information is indicative of an orientation of the second camera and gravity vector information corresponding to a gravity force experienced by the second camera. In some examples, the focus calibration information is indicative of a value of a holding current for each respective focus position of the second plurality of focus positions. In some cases, the holding current causes an actuator included in an autofocus control system of the second camera to maintain the lens of the second camera in the respective focus position.
[0173] At block 808, the computing device (or component thereof) can adjust a lens of the first camera based on the determined focus data. For example, the lens of the first camera can be adjusted by a focus actuator controller and / or an autofocus system associated with the first camera and / or attached to the lens of the first camera. In some cases, the focus actuator controller associated with the first camera can be the same as or similar to the focus actuator controller 438 of FIG. 4. In some cases, the focus actuator controller associated with the first camera can be included in the control mechanisms 160 of FIG. 1B, and / or may be the same as or similar to the focus control mechanism 165B of FIG. 1B.
[0174] In some cases, the computing device (or component thereof) can adjust the lens of the second camera from an auxiliary focus position included in the one or more auxiliary focus positions to a second focus position of the second plurality of focus positions. In some cases, a power consumption associated with the second focus position is less than a power consumption associated with the auxiliary focus position. In some examples, a power consumption associated with the second focus position is less than a respective power consumption associated with each auxiliary focus position of the one or more auxiliary focus positions.
[0175] In some cases, the second focus position is associated with a reduced holding power consumption, wherein the reduced holding power consumption is less than a holding power consumption associated with the auxiliary focus position. In some cases, the second focus position is a particular focus position included in the second plurality of focus positions and associated with a reduced power consumption of an actuator configured to adjust the lens of the second camera between the second plurality of focus positions. In some examples, the actuator is a voice control motor (VCM) actuator included in an autofocus control system and used to adjust a position of the lens of the second camera.
[0176] In some cases, each auxiliary focus position of the one or more auxiliary focus positions is associated with a respective power consumption of the actuator that is greater than the reduced power consumption associated with the particular focus position. In some examples, the second focus position is not based on the first plurality of focus positions or image data captured by the first camera. In some cases, the second camera is configured to consume less power than the first camera. In some cases, the second focus position can be a configured natural focus position associated with the second camera. In some examples, the computing device (or component thereof) can be configured to adjust the lens of the second camera to the configured natural focus position, based on determining a first confidence value associated with a phase detection autofocus (PDAF) system of the first camera is greater than a configured confidence threshold. In some examples, the configured natural focus position is not based on the first plurality of focus positions or image data captured by the first camera.
[0177] In some examples, the processes described herein (e.g., process 800 and / or any other process described herein) may be performed by a computing device, apparatus, or system. In one example, the process 800 can be performed by a computing device or system having the computing device architecture 900 of FIG. 9. The computing device, apparatus, or system can include any suitable device, such as a mobile device (e.g., a mobile phone) , a desktop computing device, a tablet computing device, a wearable device (e.g., a VR headset, an AR headset, AR glasses, a network-connected watch or smartwatch, or other wearable device) , a server computer, an autonomous vehicle or computing device of an autonomous vehicle, a robotic device, a laptop computer, a smart television, a camera, and / or any other computing device with the resource capabilities to perform the processes described herein, including the process 800 and / or any other process described herein. In some cases, the computing device or apparatus may include various components, such as one or more input devices, one or more output devices, one or more processors, one or more microprocessors, one or more microcomputers, one or more cameras, one or more sensors, and / or other component (s) that are configured to carry out the steps of processes described herein. In some examples, the computing device may include a display, a network interface configured to communicate and / or receive the data, any combination thereof, and / or other component (s) . The network interface may be configured to communicate and / or receive Internet Protocol (IP) based data or other type of data.
[0178] The components of the computing device can be implemented in circuitry. For example, the components can include and / or can be implemented using electronic circuits or other electronic hardware, which can include one or more programmable electronic circuits (e.g., microprocessors, graphics processing units (GPUs) , digital signal processors (DSPs) , central processing units (CPUs) , and / or other suitable electronic circuits) , and / or can include and / or be implemented using computer software, firmware, or any combination thereof, to perform the various operations described herein.
[0179] The process 800 is illustrated as a logical flow diagram, the operation of which represents a sequence of operations that can be implemented in hardware, computer instructions, or a combination thereof. In the context of computer instructions, the operations represent computer-executable instructions stored on one or more computer-readable storage media that, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described operations can be combined in any order and / or in parallel to implement the processes.
[0180] Additionally, the process 800 and / or any other process described herein may be performed under the control of one or more computer systems configured with executable instructions and may be implemented as code (e.g., executable instructions, one or more computer programs, or one or more applications) executing collectively on one or more processors, by hardware, or combinations thereof. As noted above, the code may be stored on a computer-readable or machine-readable storage medium, for example, in the form of a computer program comprising a plurality of instructions executable by one or more processors. The computer-readable or machine-readable storage medium may be non-transitory.
[0181] FIG. 9 illustrates an example computing device architecture 900 of an example computing device which can implement the various techniques described herein. In some examples, the computing device can include a mobile device, a wearable device, an extended reality device (e.g., a virtual reality (VR) device, an augmented reality (AR) device, or a mixed reality (MR) device) , a personal computer, a laptop computer, a video server, a vehicle (or computing device of a vehicle) , or other device. For example, the computing device architecture 900 can implement and / or can be included within one or more of the mobile device 102 of FIG. 1A, the image processing device 105B of FIG. 1B, the image capture device 105A of FIG. 1B, the image capture and processing system 100b of FIG. 1B, the image processing system 400 of FIG. 4A, the autofocus control system 500 of FIG. 5, the focus monitor engine 750 of FIG. 7, etc.
[0182] The components of computing device architecture 900 are shown in electrical communication with each other using connection 905, such as a bus. The example computing device architecture 900 includes a processing unit (CPU or processor) 910 and computing device connection 905 that couples various computing device components including computing device memory 915, such as read only memory (ROM) 920 and random-access memory (RAM) 925, to processor 910.
[0183] Computing device architecture 900 can include a cache of high-speed memory connected directly with, in close proximity to, or integrated as part of processor 910. Computing device architecture 900 can copy data from memory 915 and / or the storage device 930 to cache 912 for quick access by processor 910. In this way, the cache can provide a performance boost that avoids processor 910 delays while waiting for data. These and other engines can control or be configured to control processor 910 to perform various actions. Other computing device memory 915 may be available for use as well. Memory 915 can include multiple different types of memory with different performance characteristics. Processor 910 can include any general-purpose processor and a hardware or software service, such as service 1 932, service 2 934, and service 3 936 stored in storage device 930, configured to control processor 910 as well as a special-purpose processor where software instructions are incorporated into the processor design. Processor 910 may be a self-contained system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric.
[0184] To enable user interaction with the computing device architecture 900, input device 945 can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. Output device 935 can also be one or more of a number of output mechanisms known to those of skill in the art, such as a display, projector, television, speaker device, etc. In some instances, multimodal computing devices can enable a user to provide multiple types of input to communicate with computing device architecture 900. Communication interface 940 can generally govern and manage the user input and computing device output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.
[0185] Storage device 930 is a non-volatile memory and can be a hard disk or other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memories (RAMs) 925, read only memory (ROM) 920, and hybrids thereof. Storage device 930 can include services 932, 934, 936 for controlling processor 910. Other hardware or software modules or engines are contemplated. Storage device 930 can be connected to the computing device connection 905. In one aspect, a hardware module that performs a particular function can include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as processor 910, connection 905, output device 935, and so forth, to carry out the function.
[0186] Aspects of the present disclosure are applicable to any suitable electronic device (such as security systems, smartphones, tablets, laptop computers, vehicles, drones, or other devices) including or coupled to one or more active depth sensing systems. While described below with respect to a device having or coupled to one light projector, aspects of the present disclosure are applicable to devices having any number of light projectors and are therefore not limited to specific devices.
[0187] The term “device” is not limited to one or a specific number of physical objects (such as one smartphone, one controller, one processing system and so on) . As used herein, a device may be any electronic device with one or more parts that may implement at least some portions of this disclosure. While the below description and examples use the term “device” to describe various aspects of this disclosure, the term “device” is not limited to a specific configuration, type, or number of objects. Additionally, the term “system” is not limited to multiple components or specific aspects or examples. For example, a system may be implemented on one or more printed circuit boards or other substrates and may have movable or static components. While the below description and examples use the term “system” to describe various aspects of this disclosure, the term “system” is not limited to a specific configuration, type, or number of objects.
[0188] Specific details are provided in the description above to provide a thorough understanding of the aspects and examples provided herein. However, it will be understood by one of ordinary skill in the art that aspects and examples may be practiced without these specific details. For clarity of explanation, in some instances the present technology may be presented as including individual functional blocks including functional blocks comprising devices, device components, steps or routines in a method embodied in software, or combinations of hardware and software. Additional components may be used other than those shown in the figures and / or described herein. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the aspects and examples in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the aspects and examples.
[0189] Individual aspects and examples may be described above as a process or method which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed, but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
[0190] Processes and methods according to the above-described examples can be implemented using computer-executable instructions that are stored or otherwise available from computer-readable media. Such instructions can include, for example, instructions and data which cause or otherwise configure a general-purpose computer, special purpose computer, or a processing device to perform a certain function or group of functions. Portions of computer resources used can be accessible over a network. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, firmware, source code, etc.
[0191] The term “computer-readable medium” includes, but is not limited to, portable or non-portable storage devices, optical storage devices, and various other mediums capable of storing, containing, or carrying instruction (s) and / or data. A computer-readable medium may include a non-transitory medium in which data can be stored and that does not include carrier waves and / or transitory electronic signals propagating wirelessly or over wired connections. Examples of a non-transitory medium may include, but are not limited to, a magnetic disk or tape, optical storage media such as flash memory, memory or memory devices, magnetic or optical disks, flash memory, USB devices provided with non-volatile memory, networked storage devices, compact disk (CD) or digital versatile disk (DVD) , any suitable combination thereof, among others. A computer-readable medium may have stored thereon code and / or machine-executable instructions that may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, an engine, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and / or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, or the like.
[0192] In some aspects and examples, the computer-readable storage devices, mediums, and memories can include a cable or wireless signal containing a bit stream and the like. However, when mentioned, non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.
[0193] Devices implementing processes and methods according to these disclosures can include hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof, and can take any of a variety of form factors. When implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the necessary tasks (e.g., a computer-program product) may be stored in a computer-readable or machine-readable medium. A processor (s) may perform the necessary tasks. Typical examples of form factors include laptops, smart phones, mobile phones, tablet devices or other small form factor personal computers, personal digital assistants, rackmount devices, standalone devices, and so on. Functionality described herein also can be embodied in peripherals or add-in cards. Such functionality can also be implemented on a circuit board among different chips or different processes executing in a single device, by way of further example.
[0194] The instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are example means for providing the functions described in the disclosure.
[0195] In the foregoing description, aspects of the application are described with reference to specific aspects and examples thereof, but those skilled in the art will recognize that the application is not limited thereto. Thus, while illustrative aspects and examples of the application have been described in detail herein, it is to be understood that the inventive concepts may be otherwise variously embodied and employed, and that the appended claims are intended to be construed to include such variations, except as limited by the prior art. Various features and aspects of the above-described application may be used individually or jointly. Further, aspects and examples can be utilized in any number of environments and applications beyond those described herein without departing from the broader spirit and scope of the specification. The specification and drawings are, accordingly, to be regarded as illustrative rather than restrictive. For the purposes of illustration, methods were described in a particular order. It should be appreciated that in alternate aspects and examples, the methods may be performed in a different order than that described.
[0196] One of ordinary skill will appreciate that the less than ( “<” ) and greater than ( “>” ) symbols or terminology used herein can be replaced with less than or equal to ( “≤” ) and greater than or equal to ( “≥” ) symbols, respectively, without departing from the scope of this description.
[0197] Where components are described as being “configured to” perform certain operations, such configuration can be accomplished, for example, by designing electronic circuits or other hardware to perform the operation, by programming programmable electronic circuits (e.g., microprocessors, or other suitable electronic circuits) to perform the operation, or any combination thereof.
[0198] The phrase “coupled to” refers to any component that is physically connected to another component either directly or indirectly, and / or any component that is in communication with another component (e.g., connected to the other component over a wired or wireless connection, and / or other suitable communication interface) either directly or indirectly.
[0199] The various illustrative logical blocks, modules, engines, circuits, and algorithm steps described in connection with the aspects and examples disclosed herein may be implemented as electronic hardware, computer software, firmware, or combinations thereof. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, engines, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
[0200] The techniques described herein may also be implemented in electronic hardware, computer software, firmware, or any combination thereof. Such techniques may be implemented in any of a variety of devices such as general purposes computers, wireless communication device handsets, or integrated circuit devices having multiple uses including application in wireless communication device handsets and other devices. Any features described as modules or components may be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the techniques may be realized at least in part by a computer-readable data storage medium comprising program code including instructions that, when executed, performs one or more of the methods described above. The computer-readable data storage medium may form part of a computer program product, which may include packaging materials. The computer-readable medium may comprise memory or data storage media, such as random-access memory (RAM) such as synchronous dynamic random-access memory (SDRAM) , read-only memory (ROM) , non-volatile random-access memory (NVRAM) , electrically erasable programmable read-only memory (EEPROM) , FLASH memory, magnetic or optical data storage media, and the like. The techniques additionally, or alternatively, may be realized at least in part by a computer-readable communication medium that carries or communicates program code in the form of instructions or data structures and that can be accessed, read, and / or executed by a computer, such as propagated signals or waves.
[0201] The program code may be executed by a processor, which may include one or more processors, such as one or more digital signal processors (DSPs) , general purpose microprocessors, an application specific integrated circuits (ASICs) , field programmable logic arrays (FPGAs) , or other equivalent integrated or discrete logic circuitry. Such a processor may be configured to perform any of the techniques described in this disclosure. A general-purpose processor may be a microprocessor; but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Accordingly, the term “processor, ” as used herein may refer to any of the foregoing structure, any combination of the foregoing structure, or any other structure or apparatus suitable for implementation of the techniques described herein.
[0202] Claim language or other language reciting “at least one of” a set and / or “one or more” of a set indicates that one member of the set or multiple members of the set (in any combination) satisfy the claim. For example, claim language reciting “at least one of A and B” or “at least one of A or B” means A, B, or A and B. In another example, claim language reciting “at least one of A, B, and C” or “at least one of A, B, or C” means A, B, C, or A and B, or A and C, or B and C, A and B and C, or any duplicate information or data (e.g., A and A, B and B, C and C, A and A and B, and so on) , or any other ordering, duplication, or combination of A, B, and C. The language “at least one of” a set and / or “one or more” of a set does not limit the set to the items listed in the set. For example, claim language reciting “at least one of A and B” or “at least one of A or B” may mean A, B, or A and B, and may additionally include items not listed in the set of A and B. The phrases “at least one” and “one or more” are used interchangeably herein.
[0203] Claim language or other language reciting “at least one processor configured to, ” “at least one processor being configured to, ” “one or more processors configured to, ” “one or more processors being configured to, ” or the like indicates that one processor or multiple processors (in any combination) can perform the associated operation (s) . For example, claim language reciting “at least one processor configured to: X, Y, and Z” means a single processor can be used to perform operations X, Y, and Z; or that multiple processors are each tasked with a certain subset of operations X, Y, and Z such that together the multiple processors perform X, Y, and Z; or that a group of multiple processors work together to perform operations X, Y, and Z. In another example, claim language reciting “at least one processor configured to: X, Y, and Z” can mean that any single processor may only perform at least a subset of operations X, Y, and Z.
[0204] Where reference is made to one or more elements performing functions (e.g., steps of a method) , one element may perform all functions, or more than one element may collectively perform the functions. When more than one element collectively performs the functions, each function need not be performed by each of those elements (e.g., different functions may be performed by different elements) and / or each function need not be performed in whole by only one element (e.g., different elements may perform different sub-functions of a function) . Similarly, where reference is made to one or more elements configured to cause another element (e.g., an apparatus) to perform functions, one element may be configured to cause the other element to perform all functions, or more than one element may collectively be configured to cause the other element to perform the functions.
[0205] Where reference is made to an entity (e.g., any entity or device described herein) performing functions or being configured to perform functions (e.g., steps of a method) , the entity may be configured to cause one or more elements (individually or collectively) to perform the functions. The one or more components of the entity may include at least one memory, at least one processor, at least one communication interface, another component configured to perform one or more (or all) of the functions, and / or any combination thereof. Where reference to the entity performing functions, the entity may be configured to cause one component to perform all functions, or to cause more than one component to collectively perform the functions. When the entity is configured to cause more than one component to collectively perform the functions, each function need not be performed by each of those components (e.g., different functions may be performed by different components) and / or each function need not be performed in whole by only one component (e.g., different components may perform different sub-functions of a function) .
[0206] Illustrative aspects of the disclosure include:
[0207] Aspect 1. A method comprising: determining an occurrence of an event associated with an image capture device configured to obtain image data of a scene, wherein the image capture device includes a first camera associated with a first plurality of focus positions and a second camera associated with a second plurality of focus positions; based on the occurrence of the event, obtaining auxiliary image data of the scene by adjusting a lens of the second camera through one or more auxiliary focus positions of the second plurality of focus positions; determining focus data for the first camera based on the auxiliary image data; and adjusting a lens of the first camera based on the determined focus data.
[0208] Aspect 2. The method of Aspect 1, further comprising: adjusting the lens of the second camera from an auxiliary focus position included in the one or more auxiliary focus positions to a second focus position of the second plurality of focus positions.
[0209] Aspect 3. The method of Aspect 2, wherein a power consumption associated with the second focus position is less than a power consumption associated with the auxiliary focus position.
[0210] Aspect 4. The method of any of Aspects 2 to 3, wherein a power consumption associated with the second focus position is less than a respective power consumption associated with each auxiliary focus position of the one or more auxiliary focus positions.
[0211] Aspect 5. The method of any of Aspects 2 to 4, wherein: the second focus position is associated with a reduced holding power consumption, wherein the reduced holding power consumption is less than a holding power consumption associated with the auxiliary focus position.
[0212] Aspect 6. The method of any of Aspects 2 to 5, wherein: the second focus position is a particular focus position included in the second plurality of focus positions and associated with a reduced power consumption of an actuator configured to adjust the lens of the second camera between the second plurality of focus positions.
[0213] Aspect 7. The method of Aspect 6, wherein: the actuator is a voice control motor (VCM) actuator included in an autofocus control system and used to adjust a position of the lens of the second camera.
[0214] Aspect 8. The method of any of Aspects 6 to 7, wherein each auxiliary focus position of the one or more auxiliary focus positions is associated with a respective power consumption of the actuator that is greater than the reduced power consumption associated with the particular focus position.
[0215] Aspect 9. The method of any of Aspects 6 to 8, wherein: the actuator is a voice control motor (VCM) actuator included in an autofocus control system and used to adjust a position of the lens of the second camera; and the second focus position is determined based on offline calibration information for a digital-to-analog converter (DAC) control current provided as input to cause the VCM to adjust the position of the lens of the second camera.
[0216] Aspect 10. The method of Aspect 9, wherein: the offline calibration information is associated with a particular gravity state comprising a gravity force direction and an actuator force direction associated with adjusting the lens of the second camera; and the offline calibration information is obtained based on a comparison of the particular gravity state with pose information associated with the image capture device.
[0217] Aspect 11. The method of Aspect 10, wherein the offline calibration information comprises a selected set of focus calibration values selected from a plurality of sets of focus calibration values based on the pose information.
[0218] Aspect 12. The method of any of Aspects 10 to 11, wherein the pose information is indicative of an orientation of the second camera and gravity vector information corresponding to a gravity force experienced by the second camera.
[0219] Aspect 13. The method of any of Aspects 2 to 12, wherein the second focus position is not based on the first plurality of focus positions or image data captured by the first camera.
[0220] Aspect 14. The method of any of Aspects 1 to 13, wherein the second camera is configured to consume less power than the first camera.
[0221] Aspect 15. The method of any of Aspects 1 to 14, wherein the occurrence of the event is associated with an autofocus confidence value of the first camera being below a configured confidence threshold.
[0222] Aspect 16. The method of Aspect 15, wherein the autofocus confidence value is associated with a phase detection autofocus (PDAF) system of the first camera.
[0223] Aspect 17. The method of any of Aspects 15 to 16, wherein the autofocus confidence value of the first camera being below the configured confidence threshold is indicative of a request to the second camera to determine the focus data for the first camera.
[0224] Aspect 18. The method of any of Aspects 15 to 17, further comprising: comparing a second autofocus confidence value of the second camera to the configured confidence threshold, wherein determining the focus data for the first camera based on the auxiliary image data is in response to the second autofocus confidence value being above the configured confidence threshold.
[0225] Aspect 19. The method of Aspect 18, wherein the second autofocus confidence value is associated with a phase detection autofocus (PDAF) system of the second camera.
[0226] Aspect 20. The method of any of Aspects 18 to 19, further comprising skipping obtaining the auxiliary image data and skipping determining the focus data for the first camera in response to the second autofocus confidence value being below the configured confidence threshold.
[0227] Aspect 21. The method of Aspect 20, wherein the lens of the second camera is adjusted from an auxiliary focus position included in the one or more auxiliary focus positions to a second focus position of the second plurality of focus positions in response to the second autofocus confidence value being below the configured confidence threshold.
[0228] Aspect 22. The method of any of Aspects 1 to 21, further comprising: adjusting the lens of the second camera from an auxiliary focus position included in the one or more auxiliary focus positions to a second focus position of the second plurality of focus positions, based on determining a first autofocus confidence value associated with an autofocus system of the first camera above a configured confidence threshold.
[0229] Aspect 23. The method of any of Aspects 1 to 22, wherein determining the occurrence of the event corresponds to determining a scene change for the scene.
[0230] Aspect 24. The method of any of Aspects 1 to 23, further comprising: determining difference information between a first scene state associated with a first time and a second scene state associated with a second time; and determining the occurrence of the event based on a comparison between the difference information and one or more configured thresholds indicative of a scene change for the scene.
[0231] Aspect 25. The method of Aspect 24, wherein: the first scene state and the second scene state include respective measurement values for each of a plurality of configured parameters; and the occurrence of the event is based on a difference between the respective measurement value included in the first scene state and the respective measurement value included in the second scene state for a same parameter of the plurality of configured parameters.
[0232] Aspect 26. The method of Aspect 25, wherein the respective measurement values comprise one or more of luminance information associated with the image data or brightness information associated with the scene.
[0233] Aspect 27. The method of any of Aspects 25 to 26, wherein the respective measurement values comprise one or more of motion information associated with the image capture device or orientation information associated with the image capture device.
[0234] Aspect 28. The method of Aspect 27, wherein the respective measurement values comprise one or more of gyroscopic information obtained from a gyroscopic sensor of the image capture device, or gravity information obtained from a gravity sensor of the image capture device.
[0235] Aspect 29. The method of any of Aspects 1 to 28, wherein: the first camera is a primary camera of the image capture device; and the second camera is an auxiliary camera of the image capture device, the auxiliary camera configured to provide assistance information to the primary camera.
[0236] Aspect 30. The method of any of Aspects 1 to 29, wherein the second camera is a lower-power auxiliary camera of the image capture device, the lower-power auxiliary camera associated with an autofocus control system of the first camera.
[0237] Aspect 31. The method of Aspect 30, wherein the second camera is an always-on (AON) auxiliary camera of the image capture device.
[0238] Aspect 32. An apparatus for processing image data, comprising: at least one memory; and at least one processor coupled to the at least one memory, the at least one processor configured to: determine an occurrence of an event associated with an image capture device configured to obtain image data of a scene, wherein the image capture device includes a first camera associated with a first plurality of focus positions and a second camera associated with a second plurality of focus positions; based on the occurrence of the event, obtain auxiliary image data of the scene by adjusting a lens of the second camera through one or more auxiliary focus positions of the second plurality of focus positions; determine focus data for the first camera based on the auxiliary image data; and adjust a lens of the first camera based on the determined focus data.
[0239] Aspect 33. The apparatus of Aspect 32, wherein the at least one processor is further configured to: adjust the lens of the second camera from an auxiliary focus position included in the one or more auxiliary focus positions to a second focus position of the second plurality of focus positions.
[0240] Aspect 34. The apparatus of Aspect 33, wherein a power consumption associated with the second focus position is less than a power consumption associated with the auxiliary focus position.
[0241] Aspect 35. The apparatus of any of Aspects 33 to 34, wherein a power consumption associated with the second focus position is less than a respective power consumption associated with each auxiliary focus position of the one or more auxiliary focus positions.
[0242] Aspect 36. The apparatus of any of Aspects 33 to 35, wherein: the second focus position is associated with a reduced holding power consumption, wherein the reduced holding power consumption is less than a holding power consumption associated with the auxiliary focus position.
[0243] Aspect 37. The apparatus of any of Aspects 33 to 36, wherein: the second focus position is a particular focus position included in the second plurality of focus positions and associated with a reduced power consumption of an actuator configured to adjust the lens of the second camera between the second plurality of focus positions.
[0244] Aspect 38. The apparatus of Aspect 37, wherein: the actuator is a voice control motor (VCM) actuator included in an autofocus control system and used to adjust a position of the lens of the second camera.
[0245] Aspect 39. The apparatus of any of Aspects 37 to 38, wherein each auxiliary focus position of the one or more auxiliary focus positions is associated with a respective power consumption of the actuator that is greater than the reduced power consumption associated with the particular focus position.
[0246] Aspect 40. The apparatus of any of Aspects 37 to 39, wherein: the actuator is a voice control motor (VCM) actuator included in an autofocus control system and used to adjust a position of the lens of the second camera; and the second focus position is determined based on offline calibration information for a digital-to-analog converter (DAC) control current provided as input to cause the VCM to adjust the position of the lens of the second camera.
[0247] Aspect 41. The apparatus of Aspect 40, wherein: the offline calibration information is associated with a particular gravity state comprising a gravity force direction and an actuator force direction associated with adjusting the lens of the second camera; and the offline calibration information is obtained based on a comparison of the particular gravity state with pose information associated with the image capture device.
[0248] Aspect 42. The apparatus of Aspect 41, wherein the offline calibration information comprises a selected set of focus calibration values selected from a plurality of sets of focus calibration values based on the pose information.
[0249] Aspect 43. The apparatus of any of Aspects 41 to 42, wherein the pose information is indicative of an orientation of the second camera and gravity vector information corresponding to a gravity force experienced by the second camera.
[0250] Aspect 44. The apparatus of any of Aspects 33 to 43, wherein the second focus position is not based on the first plurality of focus positions or image data captured by the first camera.
[0251] Aspect 45. The apparatus of any of Aspects 32 to 44, wherein the second camera is configured to consume less power than the first camera.
[0252] Aspect 46. The apparatus of any of Aspects 32 to 45, wherein the occurrence of the event is associated with an autofocus confidence value of the first camera being below a configured confidence threshold.
[0253] Aspect 47. The apparatus of Aspect 46, wherein the autofocus confidence value is associated with a phase detection autofocus (PDAF) system of the first camera.
[0254] Aspect 48. The apparatus of any of Aspects 46 to 47, wherein the autofocus confidence value of the first camera being below the configured confidence threshold is indicative of a request to the second camera to determine the focus data for the first camera.
[0255] Aspect 49. The apparatus of any of Aspects 46 to 48, wherein the at least one processor is further configured to: compare a second autofocus confidence value of the second camera to the configured confidence threshold, wherein determining the focus data for the first camera based on the auxiliary image data is in response to the second autofocus confidence value being above the configured confidence threshold.
[0256] Aspect 50. The apparatus of Aspect 49, wherein the second autofocus confidence value is associated with a phase detection autofocus (PDAF) system of the second camera.
[0257] Aspect 51. The apparatus of any of Aspects 49 to 50, wherein the at least one processor is further configured to skip obtaining the auxiliary image data and skip determining the focus data for the first camera in response to the second autofocus confidence value being below the configured confidence threshold.
[0258] Aspect 52. The apparatus of Aspect 51, wherein the lens of the second camera is adjusted from an auxiliary focus position included in the one or more auxiliary focus positions to a second focus position of the second plurality of focus positions in response to the second autofocus confidence value being below the configured confidence threshold.
[0259] Aspect 53. The apparatus of any of Aspects 32 to 52, wherein the at least one processor is further configured to: adjust the lens of the second camera from an auxiliary focus position included in the one or more auxiliary focus positions to a second focus position of the second plurality of focus positions, based on determining a first autofocus confidence value associated with an autofocus system of the first camera above a configured confidence threshold.
[0260] Aspect 54. The apparatus of any of Aspects 32 to 53, wherein determining the occurrence of the event corresponds to determining a scene change for the scene.
[0261] Aspect 55. The apparatus of any of Aspects 32 to 54, wherein the at least one processor is further configured to: determine difference information between a first scene state associated with a first time and a second scene state associated with a second time; and determine the occurrence of the event based on a comparison between the difference information and one or more configured thresholds indicative of a scene change for the scene.
[0262] Aspect 56. The apparatus of Aspect 55, wherein: the first scene state and the second scene state include respective measurement values for each of a plurality of configured parameters; and the occurrence of the event is based on a difference between the respective measurement value included in the first scene state and the respective measurement value included in the second scene state for a same parameter of the plurality of configured parameters.
[0263] Aspect 57. The apparatus of Aspect 56, wherein the respective measurement values comprise one or more of luminance information associated with the image data or brightness information associated with the scene.
[0264] Aspect 58. The apparatus of any of Aspects 56 to 57, wherein the respective measurement values comprise one or more of motion information associated with the image capture device or orientation information associated with the image capture device.
[0265] Aspect 59. The apparatus of Aspect 58, wherein the respective measurement values comprise one or more of gyroscopic information obtained from a gyroscopic sensor of the image capture device, or gravity information obtained from a gravity sensor of the image capture device.
[0266] Aspect 60. The apparatus of any of Aspects 32 to 59, wherein: the first camera is a primary camera of the image capture device; and the second camera is an auxiliary camera of the image capture device, the auxiliary camera configured to provide assistance information to the primary camera.
[0267] Aspect 61. The apparatus of any of Aspects 32 to 60, wherein the second camera is a lower-power auxiliary camera of the image capture device, the lower-power auxiliary camera associated with an autofocus control system of the first camera.
[0268] Aspect 62. The apparatus of Aspect 61, wherein the second camera is an always-on (AON) auxiliary camera of the image capture device.
[0269] Aspect 63. A method comprising performing operations according to any of Aspects 32 to 62.
[0270] Aspect 64. A non-transitory computer-readable storage medium comprising instructions stored thereon which, when executed by at least one processor, causes the at least one processor to perform operations according to any of Aspects 1 to 31.
[0271] Aspect 65. A non-transitory computer-readable storage medium comprising instructions stored thereon which, when executed by at least one processor, causes the at least one processor to perform operations according to any of Aspects 32 to 62.
[0272] Aspect 66. An apparatus for lower power variable focus control of an auxiliary camera associated with a primary camera, the apparatus comprising one or more means for performing operations according to any of Aspects 1 to 31.
[0273] Aspect 67. An apparatus for lower power variable focus control of an auxiliary camera associated with a primary camera, the apparatus comprising one or more means for performing operations according to any of Aspects 32 to 62.
Claims
1.A method comprising:determining an occurrence of an event associated with an image capture device configured to obtain image data of a scene, wherein the image capture device includes a first camera associated with a first plurality of focus positions and a second camera associated with a second plurality of focus positions;based on the occurrence of the event, obtaining auxiliary image data of the scene by adjusting a lens of the second camera through one or more auxiliary focus positions of the second plurality of focus positions;determining focus data for the first camera based on the auxiliary image data; andadjusting a lens of the first camera based on the determined focus data.2.The method of claim 1, further comprising:adjusting the lens of the second camera from an auxiliary focus position included in the one or more auxiliary focus positions to a second focus position of the second plurality of focus positions.3.The method of claim 2, wherein a power consumption associated with the second focus position is less than a power consumption associated with the auxiliary focus position.4.The method of claim 2, wherein a power consumption associated with the second focus position is less than a respective power consumption associated with each auxiliary focus position of the one or more auxiliary focus positions.5.The method of claim 2, wherein:the second focus position is associated with a reduced holding power consumption, wherein the reduced holding power consumption is less than a holding power consumption associated with the auxiliary focus position.6.The method of claim 2, wherein:the second focus position is a particular focus position included in the second plurality of focus positions and associated with a reduced power consumption of an actuator configured to adjust the lens of the second camera between the second plurality of focus positions.7.The method of claim 6, wherein:the actuator is a voice control motor (VCM) actuator included in an autofocus control system and used to adjust a position of the lens of the second camera.8.The method of claim 6, wherein each auxiliary focus position of the one or more auxiliary focus positions is associated with a respective power consumption of the actuator that is greater than the reduced power consumption associated with the particular focus position.9.The method of claim 2, wherein the second focus position is not based on the first plurality of focus positions or image data captured by the first camera.10.The method of claim 1, wherein the second camera is configured to consume less power than the first camera.11.The method of claim 1, wherein the occurrence of the event is associated with an autofocus confidence value of the first camera being below a configured confidence threshold.12.The method of claim 11, wherein the autofocus confidence value is associated with a phase detection autofocus (PDAF) system of the first camera.13.The method of claim 11, wherein the autofocus confidence value of the first camera being below the configured confidence threshold is indicative of a request to the second camera to determine the focus data for the first camera.14.The method of claim 11, further comprising:comparing a second autofocus confidence value of the second camera to the configured confidence threshold, wherein determining the focus data for the first camera based on the auxiliary image data is in response to the second autofocus confidence value being above the configured confidence threshold.15.The method of claim 14, wherein the second autofocus confidence value is associated with a phase detection autofocus (PDAF) system of the second camera.16.An apparatus for processing image data, comprising:at least one memory; andat least one processor coupled to the at least one memory, the at least one processor configured to:determine an occurrence of an event associated with an image capture device configured to obtain image data of a scene, wherein the image capture device includes a first camera associated with a first plurality of focus positions and a second camera associated with a second plurality of focus positions;based on the occurrence of the event, obtain auxiliary image data of the scene by adjusting a lens of the second camera through one or more auxiliary focus positions of the second plurality of focus positions;determine focus data for the first camera based on the auxiliary image data; andadjust a lens of the first camera based on the determined focus data.17.The apparatus of claim 16, wherein the at least one processor is further configured to:adjust the lens of the second camera from an auxiliary focus position included in the one or more auxiliary focus positions to a second focus position of the second plurality of focus positions.18.The apparatus of claim 17, wherein a power consumption associated with the second focus position is less than a respective power consumption associated with each auxiliary focus position of the one or more auxiliary focus positions.19.The apparatus of claim 17, wherein the second focus position is a particular focus position included in the second plurality of focus positions and associated with a reduced power consumption of an actuator configured to adjust the lens of the second camera between the second plurality of focus positions.20.The apparatus of claim 19, wherein:each auxiliary focus position of the one or more auxiliary focus positions is associated with a respective power consumption of the actuator that is greater than the reduced power consumption associated with the particular focus position; andthe actuator is a voice control motor (VCM) actuator included in an autofocus control system and used to adjust a position of the lens of the second camera.
Citation Information
Patent Citations
Electronic device for performing autofocus
EP3343899B1
Low power object detection
WO2022256204A1