Liquid lens control systems and methods with reduced phase delay

A liquid lens includes an orientation sensor such as a gyroscope to compensate for the effects of motion. A raw gyroscope signal, including noise components, can be provided to the controller without processing by phase-shifting filters. One or more filters can be applied to the raw gyroscope signal to allow a band of frequencies to pass without introducing phase delay. The controller can use a feed forward system to generate control output signals based at least in part on the raw gyroscope signal, including noise components. The control output signals can be used to drive voltage signals to electrodes to compensate for motion.

TECHNICAL FIELD

Some embodiments of this disclosure relate to liquid lenses and control systems and control methods for liquid lenses. Some examples herein more specifically discuss control systems and control methods for adjusting a liquid lens for stability and/or positioning in response to one or more signals from a position or movement indicator, such as a gyroscope.

DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS

Liquid Lens System

FIG.1is a cross-sectional view of an example embodiment of a liquid lens10. The liquid lens10can have a cavity12that contains at least two fluids (e.g., liquids), such as first fluid14and a second fluid16. The two fluids can be substantially immiscible so that a fluid interface15is formed between the first fluid14and the second fluid16. The two fluids14and16can be sufficiently immiscible such that the fluid interface15, when curved, can refract light with optical power as a lens. The first fluid14can be electrically conductive, and the second fluid16can be electrically insulating. The first fluid14can be a polar fluid, such as an aqueous solution, in some embodiments. The second fluid16can be an oil, in some embodiments. The first fluid14can have a higher dielectric constant than the second fluid16. The first fluid14and the second fluid16can have different indices of refraction, for example so that light can be refracted at it passes through the fluid interface15. The first fluid14and the second fluid16can have substantially similar densities, which can impede either of the fluids14and16from floating relative to the other.

The cavity12can include a portion having a shape of a frustum or truncated cone. The cavity12can have angled side walls. The cavity12can have a narrow portion where the side walls are closer together and a wide portion where the side walls are further apart. The narrow portion can be at the bottom end of the cavity12and the wide portion can be at the top end of the cavity12in the orientation shown, although the liquid lenses10disclosed herein can be positioned at various other orientations. The edge of the fluid interface15can contact the angled side walls of the cavity12. The edge of the fluid interface15can contact the portion of the cavity12having the frustum or truncated cone shape. Various other cavity shapes can be used. For example, the cavity can have curved side walls (e.g., curved in the cross-sectional view ofFIGS.1-2). The side walls can conform to the shape of a portion of a sphere, toroid, or other geometric shape. In some embodiments, the cavity12can have a cylindrical shape. In some embodiments, the cavity can have a flat surface and the fluid interface can contact the flat surface (e.g., as a drop of the second fluid16sitting on the base of the cavity12).

A lower window18, which can include a transparent plate, can be below the cavity12. An upper window20, which can include a transparent plate, can be above the cavity12. The lower window18can be located at or near the narrow portion of the cavity12, and/or the upper window20can be located at or near the wide portion of the cavity12. The lower window18and/or the upper window20can be configured to transmit light therethrough. The lower window18and/or the upper window20can transmit sufficient light to form an image, such as on an imaging sensor of a camera. In some cases, the lower window18and/or the upper window20can absorb and/or reflect a portion of the light that impinges on thereon.

A first one or more electrodes22(e.g., insulated electrodes) can be insulated from the fluids14and16in the cavity12, such as by an insulation material24. A second one or more electrodes26can be in electrical communication with the first fluid14. The second one or more electrodes26can be in contact with the first fluid14. In some embodiments, the second one or more electrodes26can be capacitively coupled to the first fluid14. Voltages can be applied between the electrodes22and26to control the shape of the fluid interface15between the fluids14and16, such as to vary the focal length of the liquid lens10. Direct current (DC) voltage signals can be provided to one or both of the electrodes22and26. Alternating current (AC) voltage signals can be provided to one or both of the electrodes22and26. The liquid lens10can respond to the root mean square (RMS) voltage signal resulting from the AC voltage(s) applied. In some embodiments, AC voltage signals can impede charge from building up in the liquid lens10, which can occur in some instances with DC voltages. In some embodiments, the first fluid14and/or the second one or more electrodes26can be grounded. In some embodiments, the first one or more electrodes22can be grounded. In some embodiments, voltage can be applied to either the first electrode(s)22or the second electrode(s)26, but not both, to produce voltage differentials. In some embodiments, voltage signals can be applied to both the first electrode(s)22and the second electrode(s)26to produce voltage differentials.

FIG.1shows the liquid lens10in a first state where no voltage is applied between the electrodes22and26, andFIG.2shows the liquid lens10in a second state where a voltage is applied between the electrodes22and26. The chamber12can have one or more side walls made of a hydrophobic material. For example the insulating material24can be parylene, which can be insulating and hydrophobic, although various other suitable materials can be used. When no voltage is applied, the hydrophobic material on the side walls can repel the first fluid14(e.g., an aqueous solution) so that the second fluid16(e.g., an oil) can cover a relatively large area of the side walls to produce the fluid interface15shape shown inFIG.1. When a voltage is applied between the first electrode22and the first fluid14(e.g., via the second electrode26), the first fluid14can be attracted to the first electrode22, which can drive the location of the fluid interface15down the side wall so that more of the side walls is in contact with the first fluid14. Changing the applied voltage differential can change the contact angle between the edge of the fluid interface15and the surface of the cavity12(e.g., the angled side wall of the truncated cone portion of the cavity12) based on the principle of electrowetting. The fluid interface15can be driven to various different positions by applying different amounts of voltage between the electrodes22and26, which can produce different focal lengths or different amounts of optical power for the liquid lens10.

FIG.3shows a plan view of an example embodiment of a liquid lens10. In some embodiments, the first one or more electrodes22(e.g., insulated electrodes) can include multiple electrodes22positioned at multiple locations on the liquid lens10. The liquid lens10can have four electrodes22a,22b,22c, and22d, which can be positioned in four quadrants of the liquid lens10. In other embodiments, the first one or more electrodes22can include various numbers of electrodes (e.g., 1 electrode, 2 electrodes, 4 electrodes, 6 electrodes, 8 electrodes, 12 electrodes, 16 electrodes, 32 electrodes, or more, or any values therebetween). Although various examples are provided herein with even numbers of insulated electrodes22, odd numbers of insulated electrodes22can also be used. The electrodes22a-dcan be driven independently (e.g., having the same or different voltages applied thereto), which can be used to position the fluid interface15at different locations on the different portions (e.g., quadrants) of the liquid lens10.FIG.4shows a cross-sectional view taken through opposing electrodes22aand22c. If more voltage is applied to the electrode22cthan to the electrode22a, as shown inFIG.4, the fluid interface15can be pulled further down the sidewall at the quadrant of the electrode22cthan at the quadrant of the electrode22a.

The tilted fluid interface15can turn light that is transmitted through the liquid lens10. The liquid lens10can have an axis28. The axis28can be an axis of symmetry for at least a portion of the liquid lens10. For example, the cavity12can be substantially rotationally symmetrical about the axis28. The truncated cone portion of the cavity12can be substantially rotationally symmetrical about the axis28. The axis28can be an optical axis of the liquid lens10. For example, the curved and untilted fluid interface15can converge light towards, or diverge light away from, the axis28. The axis28can be a longitudinal axis of the liquid lens10, in some embodiments. Tilting the fluid interface15can turn the light30passing through the tilted fluid interface relative to the axis28by an optical tilt angle32. The light30that passed through the tilted fluid interface15can converge towards, or diverge away from, a direction that is angled by the optical tilt angle32relative to the direction along which the light entered the liquid lens10. The fluid interface15can be tilted by physical tilt angle34that produces the optical tilt angle32. The relationship between the optical tilt angle32and the physical tilt angle34depends at least in part on the indices of refraction of the fluids14and16.

The optical tilt angle32produced by tilting the fluid interface15can be used by a camera system to provide optical image stabilization, off-axis focusing, etc. In some cases different voltages can be applied to the electrodes22a-dto compensate for forces applied to the liquid lens10so that the liquid lens10maintains on-axis focusing. Voltages can be applied to control the curvature of the fluid interface15, to produce a desired optical power or focal length, and the tilt of the fluid interface15, to produce a desired optical tilt (e.g., an optical tilt direction and an amount of optical tilt). Accordingly, the liquid lens10can be used in a camera system to produce a variable focal length while simultaneously producing optical image stabilization.

Camera System

FIG.5is a block diagram of an example embodiment of a camera system200that includes a liquid lens10, which can include features of any of the liquid lens embodiments disclosed herein. The camera system200can include an imaging sensor202, which can be used to produce an image from light that impinges on the imaging sensor202. The imaging sensor202can be a charge-coupled device (CCD) sensor, a complementary metal-oxide semiconductor (CMOS) sensor, or any other suitable electronic imaging sensor. In some embodiments, photographic film can be used to produce an image, or any other suitable type of imaging sensor. The liquid lens10can direct light toward the imaging sensor202. In some embodiments, the camera system200can include one or more additional optical elements204that operate on the light propagating toward the imaging sensor202. The optical elements204can include one or more fixed lenses (e.g., a fixed lens stack), one or more movable lenses, one or more optical filters, or any other suitable optical elements for producing desired optical effects. The liquid lens10can operate on the light propagating towards the imaging sensor202before the one or more optical elements204, after the one or more optical elements204, or the liquid lens10can be positioned optically between optical elements204. When light is described herein as propagating towards a component (e.g., towards the imaging sensor202), the light can be propagating along a path that directly or indirectly leads to the component. For example, light can pass through the liquid lens10in a first direction while propagating along an optical path towards the imaging sensor202, and the light can be redirected (e.g., reflected by a mirror and/or turned by refraction) to continue in a second direction (which can be different than, and even opposite to, the first direction) along the optical path towards the imaging sensor202.

The camera system200can include a controller206for operating the liquid lens10, for example to implement the liquid lens features and functionality disclosed herein. The controller206can operate other aspects of the camera system200as well. For example, a single controller206can operate the liquid lens10, can operate the imaging sensor202, can store images produced by the imaging sensor202, can operate other components of the camera, such as a display, a shutter, a user interface, etc. In some embodiments, any suitable number of controllers can be used to operate the various aspects of the camera system200. The controller206can output voltage signals to the liquid lens10. For example, the controller206can output voltage signals to the insulated electrode(s)22and/or the electrode(s) in electrical communication with the conductive fluid14, and the voltage signals can control the curvature of the fluid interface15(e.g., to produce a desired optical power) and/or to control the tilt of the fluid interface15(e.g., to produce a desired optical tilt). The controller206can output DC voltage signals, AC voltage signals, pulsed DC voltage signals, or any other suitable signals for driving the liquid lens10.

The controller206can include at least one processor208. The processor208can be a hardware processor. The processor208can be a computer processor. The processor208can be in communication with a computer-readable memory210. The memory210can be non-transitory computer-readable memory. The memory210can include one or more memory elements, which can be of the same or different types. The memory210can include a hard disk, flash memory, RAM memory, ROM memory, or any other suitable type of computer-readable memory. The processor206can execute computer-readable instructions212stored in the memory210to implement the functionality disclosed herein. In some embodiments, the processor208can be a general purpose processor. In some embodiments, the processor208can be a specialized processor that is specially configured to implement the functionality disclosed herein. The processor208can be an application specific integrated circuit (ASIC) and/or can include other circuitry configured to perform the functionality disclosed herein, such as to operate the liquid lens10as discussed herein.

The memory210can include one or more lookup tables214, which can be used in determining the voltage signals to be applied to the liquid lens10. The processor208can be configured to implement, and/or the computer-readable instructions212can include, one or more algorithms, equations, or formulas to be used in determining the voltage signals to be applied to the liquid lens10. The processor208can determine the voltages to be applied to the liquid lens10(e.g., using one or more lookup tables214and/or one or more algorithms, equations, or formulas). Other information can be stored in the memory210, such as images produced by the camera system200, instructions for operating other components of the camera system200, etc.

The controller206can include a signal generator216, which can generate the voltage signals to be provided to the liquid lens10. The signal generator216can generate the voltage signals in response to the voltage values determined by the processor208. The signal generator216can include one or more amplifiers, switches, H-bridges, half-bridges, rectifiers, and/or any other suitable circuitry for producing the voltage signals. A power supply218can be used to produce the voltage signals to be provided to the liquid lens10. The power supply218can be a battery, a DC power source, an AC power source, or any suitable source of electrical power. The signal generator216can receive power from the power supply218and can modulate or otherwise modify the electrical signals (e.g., based on determinations made by the processor208) to provide driving signals to the liquid lens10. In some embodiments, the processor208and the signal generator216can be implemented together is a single integrated circuit (IC) or in combined circuitry.

In some embodiments, the controller206can receive input from an orientation sensor220, such as a gyroscope, accelerometer, and/or other suitable sensor for providing information regarding the orientation of the camera system200and/or the liquid lens10. In some embodiments, the orientation sensor220can be a MEMS (micro-electro-mechanical system) device. The orientation sensor220can provide a measurement of angular velocity, acceleration, or any suitable measurement that can be used to determine a desired optical tilt for the liquid lens10. In some cases, when the camera system200shakes (e.g., in response to being held by a human, or vibrations from a driving car, etc.) the orientation sensor220(e.g., gyroscope) can provide input to the controller206regarding the shaking, and the liquid lens10can be driven to at least partially counter the shaking of the camera system200by controlling the tilt of the fluid interface15(e.g., tilt direction and amount of tilt).

The controller206(e.g., using the processor208) can determine an optical tilt amount (e.g., angle32) and/or an optical tilt direction (e.g., an angle) based at least in part on the input received from the orientation sensor220, although in some embodiments these parameters can be received by the liquid lens controller206(e.g., determined by the orientation sensor220or some other component of the camera system200). The signals for driving the liquid lens10(e.g., voltage signals) can be determined at least in part based on the optical tilt amount and/or optical tilt direction. In some cases, the controller206(e.g., using the processor208) can determine a physical tilt amount (e.g., angle34) and/or a physical tilt direction (e.g., an azimuthal angle) for the fluid interface15. These can be determined from the optical tilt amount and/or optical tilt direction, or can be determined directly from the input received from the orientation sensor220. The controller206(e.g., using the processor208) can determine driver signals (e.g., voltages) for the electrodes (e.g., the insulated electrodes22a-din the embodiment ofFIG.3) to implement the physical tilt of the fluid interface15. In some embodiments, the driver signals can be determined from the input received from the orientation sensor220directly, such as without determining the desired optical tilt, without determining the desired physical tilt of the fluid interface15, and/or without determining any other intermediate values or parameters.

Many variations are possible. In some embodiments, the orientation sensor220can be omitted. For example, the camera system200can perform optical image stabilization (OIS) in response to image analysis or any other suitable approach. The controller206can receive OIS input information (e.g., derived by any suitable approach), and can control tilt of the fluid interface15in response to that OIS input information. In some cases, the lens tilt can be used for purposes other than OIS, such as for off-axis imaging. By way of example, the camera system200can zoom into a portion of the image that is not located at the center of the image. Controlling the tilt of the fluid interface15of the liquid lens10can, at least in part, be used to control the direction and amount of offset from center for the optical zoom. Although, not shown inFIG.5, various embodiments disclosed herein can include two liquid lenses, such as for implementing an optical zoom function. The controller206can receive focal direction input information (e.g., for OIS or off-axis imaging), and can control tilt of the fluid interface15in response to that focal direction input information.

The controller206can receive optical power information. The input optical power information can include a target optical power (e.g., diopters) a target focal length, or other information that can be used to determine the curvature for the fluid interface15. The optical power information can be determined by an autofocus system222of the camera system200, can be set by input from a user (e.g., provide to a user interface of the camera system200), or provided from any other source. In some embodiments, the controller206can determine the optical power information. For example, the controller206can be used to implement the autofocus system that determines a desired optical power or focal length. In some cases, the controller206can receive the optical power information and can determine a corresponding optical power for the liquid lens10, for example since the other optical elements204can also affect the optical power (e.g., statically or dynamically). The controller206(e.g., using the processor208) can then determine driver signal(s) (e.g., voltages) for the electrode(s) to control the curvature of the fluid interface15. In some cases, the controller206can determine the driver signal(s) directly from autofocus data or directly from optical power information, such as without determining a value for the optical power of the liquid lens and/or without determining any other intermediate values.

The controller206(e.g., using the processor208) can use the focal direction information (e.g., OIS information, orientation information, shake information, etc.) and the focal length information (e.g., optical power information, autofocus information, etc.) together to determine the driver signal(s) for the liquid lens10. For example, the driver signals to produce 1 degree of optical tilt and 3 diopters of optical power can be different than the driver signals to produce 1 degree of optical tile and 5 diopters of optical power. Various lookup tables214, formulas, equations, and/or algorithms can be used to determine the driver signals based on both the focal length information and the focal direction information.

In some embodiments, the controller206can receive feedback and can drive the liquid lens10based at least in part on the feedback. The controller206can use a closed loop control scheme for driving the liquid lens10. In some embodiments, the one or more sensors224can provide information to the controller, such as information regarding the fluid interface15position in the liquid lens10. The sensors224can provide information regarding the fluid interface position for each of the insulated electrodes22a-d. For example, the sensor224can provide a feedback signal that is indicative of the capacitance between the corresponding insulated electrode22a-dand the first fluid14. In some embodiments, the controller206can use a PID control scheme, an open loop control scheme, feed forward control scheme, or any other suitable approach for controlling the liquid lens10.

In some embodiments, the liquid lens10can be used in systems other than a camera system200, such as an optical disc reader, an optical fiber input device, a device for reading output from an optical fiber, an optical system for biological measurement (e.g., inducing fluorescence in a biological sample), endoscopes, an optical coherence tomography (OCT) device, a telescope, a microscope, other types of scopes or magnifying devices, etc. Many of the principles and features discussed herein can relate to liquid lenses10used in various contexts. A liquid lens system can include a liquid lens10and a controller206for controlling the liquid lens. In some embodiments, various camera elements, such as the imaging sensor202, autofocus system222, orientation sensor220, and/or other optical elements204can be omitted.

Optical Image Stabilization Details

A camera system can use signals from a gyroscope (or other orientation sensor) to determine driver signals to be applied to a liquid lens for positioning the fluid interface, such as to tilt the fluid interface to compensate for shaking or other motion of the camera system. Signals from the gyroscope can include noise, and in some implementations filters (e.g., hardware filters) can be used to reduce or otherwise mitigate noise in the gyroscope signals. This filtering can produce delay in the gyroscope signals (e.g., phase delay). The delay can impede the camera system from using the liquid lens to compensate for the motion. For example, if the camera system determines driver signals to tilt the fluid interface of the liquid lens using processed gyroscope signals that have substantial phase delay, the camera system can cause the fluid interface to oscillate out of phase with the vibration motion. In some embodiments, the system can use unfiltered gyroscope signals to determine driver signals, such as for optical image stabilization. In some cases, some filtering can be performed, such as a low pass filter, a high pass filter, and/or a bandpass filter, which can be configured to not produce substantial phase delay. In some cases, no hardware filtering is performed on the gyroscope signals. In some cases, software filtering can be performed (e.g., to implement the high pass, low pass, and/or band pass filter). In some cases, no filtering is performed on analog signals from the gyroscope, while some filtering can be performed after the analog signals are converted to digital signals. Even when a high pass, low pass, and/or bandpass filter is used, the gyroscope signals that are passed through can be unfiltered. Gyroscope signals with unfiltered noise can be used to determine drive signals for the liquid lens. The liquid lens can have a response time that is slower than the rate at which the gyroscope signals are provided, which can cause the liquid lens itself to operate as a filter on the gyroscope signals. Because the fluid interface does not move instantly to the location prescribed by each value of the gyroscope signals, the liquid lens can effectively smooth out the gyroscope signals. The surprising result is that, in some cases, less filtering or no filtering of the gyroscope signals can enable the liquid lens to better perform optical image stabilization, such as to better compensate for vibration or other motion of the camera system. Another surprising result is that, in some cases, driving the liquid lens based at least in part on input signals (e.g., from a gyroscope) that are significantly faster than the response time of the liquid lens can enable the liquid lens to perform effective optical image stabilization.

FIG.6shows an example camera system600. The camera system600can include a liquid lens10. The camera system600can also include a gyroscope601and a controller206with one or more filters603on the inside. Although various embodiments are discussed herein as using a gyroscope, any other suitable orientation or motion sensor can be used, such as an accelerometer. The camera system600with the liquid lens10can be implemented, for example, in a camera, in a smartphone, in a vehicle, on an appliance, in a webcam, in a laptop, on a monitor, on a TV, in a video game console, on a drone, or in a variety of other devices. InFIG.6, a person is holding a smartphone that includes the liquid lens10in the person's hand. The person's hand may not be perfectly steady. This can happen, for example, due to involuntary muscle movements and twitches, breathing, pulsing blood, etc. Movement can happen in other applications as well. For example, a vehicle can use the camera system600as a backup camera or for visual input to a self-driving car system or AI driving system. The car may move when driving and may experience motion even when the wheels are stationary due to the vibration of the engine, the movements of passengers, etc.

Motion of the camera system600can degrade the images produced by the camera system600. For example, the motion can cause image shake in a video and/or can cause blurring in still images. The gyroscope601is an example orientation sensor220discussed with respect toFIG.5. The gyroscope (or other orientation sensor) can be used to detect movement of the liquid lens10. The controller206can receive signals from the gyroscope601and adjust the voltage signals that are provided to the electrodes to at least partially compensate for the motion. Accordingly, the liquid lens10can steadily maintain a desired focus, even in the presence of motion.

The gyroscope601can generate one or more raw gyroscope signals indicative of motion. For example, the gyroscope can generate an analog voltage signal that is proportional to or otherwise indicates an angular velocity (e.g., about an axis) (or other type of motion). As another example, the gyroscope can generate a digital signal that encodes or otherwise indicates an angular velocity (e.g., about an axis) (or other type of motion). In some cases an analog to digital converter (e.g., which can be part of the gyroscope or any other suitable part of the camera system600) can covert analog gyroscope signals (e.g., voltage signals) to digital gyroscope signals. Due to various sources of electrical, magnetic, mechanical, and/or other sources of noise, for example, the raw gyroscope signals can include a noise component, e.g., which can make the raw gyroscope signal less accurate in representing the angular velocity (or other type of motion). The noise component can be any component of the raw gyroscope signal that does not represent the angular velocity (or other type of motion) of the gyroscope601. The noise component can include a broad range of frequency components. The noise can be non-Gaussian. The noise can be caused by thermal effects, integration effects, silicon noise effects, etc.

The controller206can be configured to generate a control output signal to control the liquid lens based at least in part on an output signal from the gyroscope601to at least partially compensate for the effects of motion (e.g., such that the liquid lens10achieves and/or maintains a desired focus). The controller206may be configured to respond to a range of frequency components of the signals generated by the gyroscope.

In some applications that use a gyroscope, a filter can be used to filter out noise. In some approaches, a system can attempt to filter out as much noise as possible in an effort to improve performance. Some implementations can follow the approach that a cleaner gyroscope signal with less noise would improve performance. At least one realization that relates to certain embodiments disclosed herein is that actively and/or passively filtering the raw gyroscope signal (e.g., within the range of frequency components that the controller206is configured to respond to) may cause degraded performance. Indeed, a counter-intuitive result can occur: when the controller206receives unfiltered signals that include noise, the performance of the liquid lens can improve. Without being limited by theory, it is believed that the counter-intuitive result occurs, at least in part, because some filters can cause phase delays that can negatively affect operation of the liquid lens, and that performing less filtering or no filtering can result in less or no phase delay, which can enable the liquid lens to better compensate for vibration or other motion, even despite the noise in the gyroscope signals. In some cases, hardware filtering or active filters that include at least one active component, such as a switch or amplifier, can cause relatively long phase delays (e.g., as compared to digital or software-based filtering).

One or more filters603can be used to filter the raw gyroscope signals generated by the gyroscope601. The filters can be implemented in software, such as using one or more microcontrollers, digital signal processors, field programmable gate arrays, or other digital processor. In some embodiments, the filters can be implemented as passive hardware filters using passive components. The one or more filters603can act as a bandpass filter to pass the raw gyroscope signal within a bandpass frequency range. The bandpass filter can block or attenuate the raw gyroscope signals that are outside the bandpass frequency range. Accordingly, the controller206can generate a control output signal based on components of the raw gyroscope signal that are within the bandpass frequency range, including gyroscope noise components within the bandpass frequency range. The controller206can use substantially unfiltered gyroscope signals within the bandpass frequency, where the signals inside the bandpass frequency can remain unfiltered (e.g., except for residual effects of the low pass filter, or high pass filter, or bandpass filter that produced the bandpass frequency). The one or more filters603can produce a delay of less than about 30 degrees, about 25 degrees, about 20 degrees, about 15 degrees, about 10 degrees, about 5 degrees, about 3 degrees, about 2 degrees, about 1 degree, or about 0 degrees, or any values therebetween or any ranges bounded by these values. In some cases, the delay caused by the one or more filters603can be less than about 10 milliseconds, less than about 7 milliseconds, less than about 5 milliseconds, less than about 3 milliseconds, less than about 2 milliseconds, less than 1 millisecond, less than 0.5 milliseconds, or any values therebetween, or any ranges bounded by any of these values. In some embodiments, the gyroscope signals can be used to drive the liquid lens with substantially no filtering phase delay. The filtering (e.g., bandpass filtering) can be performed on the digital signals. In some cases, small delays can be caused by the analog to digital conversion of the signals, and the execution of digital calculations. In some embodiments, the gyroscope signals used by the controller206can have noise (e.g., in the bandpass frequency range) of at least about 2 mdps per square root Hz, about 3 mdps per square root Hz, about 4 mdps per square root Hz, about 5 mdps per square root Hz, about 6 mdps per square root Hz, about 7 mdps per square root Hz, about 8 mdps per square root Hz, about 9 mdps per square root Hz, about 10 mdps per square root Hz, about 11 mdps per square root Hz, about 12 mdps per square root Hz, or any values therebetween, or any ranges bounded by any of these values, although other values are also possible. In these examples “mdps” is millidegrees per second. The noise can be a noise power spectral density.

Outside of the bandpass frequency range, the one or more filters603can be used to attenuate low frequency components (e.g., using a high pass filter) and/or to attenuate high frequency components (e.g., using a low pass filter). This can impede the controller206from attempting to compensate for low frequency components and/or high frequency components of the raw gyroscope signal, which can create a “drifting” effect or can otherwise cause the liquid lens to operate inaccurately. The one or more filters603can attenuate low frequency components that are below a cutoff frequency, which can be about 10 Hz, about 7 Hz, about 5 Hz, about 3 Hz, about 2 Hz, about 1.5 Hz, about 1 Hz, about 0.75 Hz, about 0.5 Hz, about 0.25 Hz, or any values therebetween, or any ranges bounded by these values, although other values could also be used. The one or more filters603can attenuate high frequency components (e.g., using a low pass filter) such as that exceed a resonance frequency of liquids in the liquid lens, which can improve system stability. The one or more filters603can attenuate high frequency components that are above a cutoff frequency, which can be about 15 Hz, about 20 Hz, about 25 Hz, about 30 Hz, about 33 Hz, about 35 Hz, 38 Hz, 40 Hz, 45 Hz, about 50 Hz, or any values therebetween, or any ranges bounded by any of these values, although other frequencies can be used depending on the type of liquid(s), the size of the liquid lens, the shape of the chamber in the liquid lens, etc. As another counter-intuitive result, using fewer filters can improve the suppression ratio achieved by the optical image stabilization system (e.g., using the liquid lens). The suppression ratio (SR) can be determined using the following equation: SR=20*log(out/in), where “out” is the number of pixels of image shake produced without OIS, and where “in” is the number of pixels of image shake with OIS. By way of example, the fluid interface can be oscillated at a physical tilt of plus/minus 0.6 degrees at 10 Hz to produce image shake of 70 pixels with no OIS. With OIS the image shake can be reduced to 2 pixels. The suppression ration for this example is −30.88 dB. The suppression ration can be determined for various frequencies. For example the above example can be repeated at multiple frequencies (e.g., across an operating range of the liquid lens or camera system), such as 2 Hz, 4 Hz, 6 Hz, 8 Hz, 10 Hz, 12 Hz, etc. In some embodiments, the camera system600can achieve a suppression ratio of about −20 dB, about −22 dB, about −24 dB, about −26 dB, about −28 dB, about −30 dB, about −32 dB, about −34 dB, about −36 dB, or any values therebetween, or any ranges bounded by any combination of these values, although other suppression ratios can be implemented. The suppression ration values listed herein can be for a specific frequency (e.g., 2 Hz, 4 Hz, 6 Hz, 8 Hz, 10 Hz, 12 Hz). The suppression ratio values listed herein can be an average across multiple frequencies (e.g., across an operating range for the liquid lens and/or the camera system).

Example Control Systems

FIG.7Ashows a block diagram of an example control system700. The block diagram includes a motion source701, a gyroscope703, a noise source705, a driver721, electrodes722, liquids in a liquid lens723, and a controller206(e.g., which can have features similar to the discussion with respect toFIG.5).

The control system700can be used for controlling a liquid lens based at least in part on output signals from a gyroscope703to compensate for motion. In the control system700, a gyroscope signal can be transmitted to the controller206with reduced, little, or no phase delay. The gyroscope signal that is transmitted to the controller can include an unfiltered noise component such that the voltage signals for controlling the liquid lens are determined based at least in part on the unfiltered noise component.

The motion source701can be any source of motion that affects the liquid lens and/or other components of a camera system. Example sources of motion include a person holding a camera that includes a liquid lens, wind, motions of objects that a liquid lens is mounted on, vibrations through materials that a liquid lens is coupled to, etc.

A gyroscope703can be configured to measure motion that is caused by the motion source701and affects the liquid lens723. The gyroscope can be rigidly mounted to or otherwise coupled to the liquid lens723, a housing of the liquid lens723, or other structure that the liquid lens723is mounted on such that motion affecting the liquid lens723(and/or other component(s) of the camera system) can be detected by the gyroscope703.

The gyroscope703can be configured to generate one or more raw gyroscope signals indicating an angular velocity (e.g., about an axis or in a direction) (or other type of motion or orientation). In various embodiments, the raw gyroscope signals can be analog voltage signals or digital signals. In some embodiments the gyroscope can generate and/or update the digital signal at a rate of several kilohertz, such as about 2 kHz, about 5 kHz, about 6 kHz, about 7 kHz, about 8 kHz, about 9 kHz, about 10 kHz, about 12 kHz, about 15 kHz, about 20 kHz, about 25 kHz, or faster, or any values therebetween, or any ranges bounded by these values, although other values could be used. In some cases, higher performance (e.g., and more expensive) components may have faster speeds.

One or more sources of noise705can affect the raw gyroscope signal generated by the gyroscope. The noise component of the raw gyroscope signal can be a component that makes the raw gyroscope signal less accurate in representing the angular velocity (or other type of motion). The noise sources705can include thermal, electrical, magnetic, mechanical, and/or other sources of noise. The noise source703can originate from sources internal to or external to the gyroscope703.

The controller206can include a microprocessor, digital signal processors, field programmable gate arrays, or other digital processor. The controller206can receive the raw gyroscope signals generated by the gyroscope703. The controller206can use the raw gyroscope signals to generate one or more control output signals for a driver to apply one or more voltage signals to be applied to the liquid lens to at least partially compensate for motion experienced by the system. The controller206can operate at a frequency that is about as fast as or at least as fast as the gyroscope. The controller206can be configured to receive inputs (e.g., from the gyroscope and/or other sources) at a rate, and/or can be configured to update or change the control output signals at a rate, and the rate can be about 2 kHz, about 5 kHz, about 6 kHz, about 7 kHz, about 8 kHz, about 9 kHz, about 10 kHz, about 12 kHz, about 15 kHz, about 20 kHz, about 25 kHz, or faster, or any values therebetween, or any ranges bounded by these values, although other values could be used. In some cases, higher performance (e.g., more expensive) components may have faster speeds. In some cases a buffer can be used to store gyroscope signals or data until the controller206is ready to receive the gyroscope signals or data.

A high pass filter707and a low pass filter709can be applied to the raw gyroscope signals. The high pass filter707and/or the low pass filter709can be implemented in software by the controller206. In various embodiments, either the high pass filter707or the low pass filter709can be applied first. In some cases a bandpass filter can be used, which can attenuate signals above a first threshold and below a second threshold, and can pass signals between the first and second thresholds. In some embodiments, only a low pass filter can be applied, or only a high pass filter can be applied, or no filtering can be performed on the gyroscope signals.

The high pass filter707can have a first cutoff frequency (e.g., where −3 dB attenuation is achieved) such that frequency components above the first cutoff frequency are passed and frequency components below the first cutoff frequency are attenuated. The low pass filter709can have a second cutoff frequency (e.g., where −3 dB attenuation is achieved) such that frequency components below the second cutoff frequency are passed and frequency components above the second cutoff frequency are attenuated. The second cutoff frequency can be a higher frequency than the first cutoff frequency. Together, the high pass filter707and the low pass filter709can function as a bandpass filter. The high pass filter707and/or the low pass filter709can be implemented using one or more Bessel filters, Butterworth filters, Chebyshev filters, Gaussian filters, Elliptical filters, boxcar filters, etc. In some embodiments, the high pass filter707and the low pass filter709can implement two different types of filters.

The high pass filter707can receive the raw gyroscope signal, attenuate frequency components below the first cutoff frequency, and generate a high-passed gyroscope signal that includes frequency components above the first cutoff frequency, including components of the noise that are above the first cutoff frequency. In some embodiments, the first cutoff frequency can be at about 1 Hz, although various other values or ranges can be used as discussed herein.

The low pass filter709can receive the high-passed gyroscope signal, attenuate frequency components above the second cutoff frequency, and generate one or more low-passed (e.g., equivalently bandpassed) gyroscope signals, which can include frequency components of the raw gyroscope signal that are within a bandpass range (such as from the first cutoff frequency to the second cutoff frequency). In some embodiments, the second cutoff frequency can be a frequency that is slightly below a resonance frequency of the liquid lens723. For example, the cutoff frequency can be at about 25-30 Hz if the resonance frequency is about 30 Hz. As another example, the cutoff frequency can be at about 30-35 Hz, if the resonance frequency is about 35 Hz. The cutoff frequency can be higher or equal to the resonance frequency. The cutoff frequency can be about 75%, about 80%, about 85%, about 90%, about 95%, about 100%, about 105%, about 110%, about 115%, about 120%, or about 125% of the resonance frequency, or any values therebetween, or any ranges bounded by any combination of these values, although other values could also be used in some cases. In some embodiments, the low pass filter709can be operated before the high pass filter707. InFIG.7A, blocks707and709can be switched, or combined into a single operation.

The controller206can determine control signals based at least in part on the gyroscope signals (e.g., the low passed/bandpassed gyroscope signals). In some cases, the controller206can determine the control signals based on raw gyroscope signals that are unfiltered, at least in a frequency range (e.g., in the bandpassed frequency). In some cases, the controller206can determine a tilt amount (e.g., a target optical tilt amount and/or a physical tilt amount) and/or a tilt direction based at least in part on the gyroscope data. The tilt amount and/or direction can be used to determine control signals for driving the liquid lens to implement the tilt, which can at least partially compensate for motion measured by the gyroscope703. The controller206can use other inputs as well to determine the control output signal(s), such as a target optical power, a target focal length, a target focal direction, etc. The controller206can use one or more lookup tables to determine the control signals based on one or more inputs (e.g., including the gyroscope signals). In some embodiments, the controller206can use a formula, algorithm, equation, or other suitable technique to determine control signals based on the one or more inputs (e.g., including the gyroscope signals). In some embodiments, the controller206can use a feed forward control system, such as based on the gyroscope signals. In some embodiments, the controller can implement a feedback system, in addition, or instead of a feedforward system. For example, gyroscope signals can be used in determining a target fluid interface position (e.g., as a feed forward control component) and the system can monitor the fluid interface position and adjust the control signals to move the fluid interface towards the target position (e.g., as a feedback control component). The controller206can generate one or more control output signals to be provided to a driver721to cause the driver721to apply one or more voltage signals to the electrodes722in the liquid lens, which can affect the position of the liquids723in the liquid lens.

In some embodiments, the liquid lens can have a response rate that is slower than the rate at which the controller206outputs (e.g., updates) the control signals. For example, the liquids in the liquid lens723can have a surface wave response that is slower than the frequency of the controller. The surface wave response can indicate an interfacial surface tension stiffness and a response time. For example, the surface wave response rate can be about 250 Hz, about 275 Hz, about 300 Hz, about 325 Hz, about 350 Hz, about 380 Hz, about 400 Hz, about 425 Hz, about 450 Hz, about 475 Hz, about 500 Hz, or any values therebetween, or any ranges bounded by any of these values, although other frequencies can apply, such as depending on the size of the liquid lens, the fluids used, and other parameters of the liquid lens. The surface wave response rate can depend on the surface tension between the fluids. The controller206can update the control output signals (and/or the gyroscope can update the gyroscope signals) at a frequency faster than the surface wave response rate of the liquids723in the liquid lens, or about 2 times faster, about 5 times faster, about 10 times faster, about 15 times faster, about 20 times faster, about 25 times faster, about 30 times faster, about 35 times faster, about 40 times faster, about 45 times faster, about 50 times faster, about 60 times faster, about 70 times faster, about 80 times faster, about 90 times faster, about 100 times faster than the surface wave response rate, or any values therebetween, or any ranges bounded by any of these values, although other embodiments are also possible.

The liquids723in the liquid lens can have a response frequency (e.g., a resonance frequency and/or a natural frequency), such as of about 15 Hz, about 20 Hz, about 25 Hz, about 30 Hz, about 35 Hz, about 40 Hz, about 45 Hz, about 50 Hz, about 55 Hz, about 60 Hz, or any values therebetween, or any ranges bounded by any combination of these values, although other values could be used, such as depending on the liquid lens size, the fluids used, and other liquid lens parameters. The resonance frequency can depend on the surface tension of the interface between the fluids and the geometry of the liquid lens cavity. The controller206can update the control output signals (and/or the gyroscope can update the gyroscope signals) at a frequency faster than the response frequency of the liquid lens, or about 5 times faster, about 10 times faster, about 15 times faster, about 20 times faster, about 25 times faster, about 30 times faster, about 35 times faster, about 40 times faster, about 45 times faster, about 50 times faster, about 60 times faster, about 70 times faster, about 80 times faster, about 90 times faster, about 100 times faster, about 125 times faster, about 150 times faster, about 175 times faster, about 200 times faster, about 250 times faster, about 300 times fasters, about 350 times faster, about 400 times faster, about 450 times faster, about 500 times faster, about 550 times faster, about 600 times faster, about 650 times faster, about 700 times faster, about 750 times faster, about 800 times faster, about 850 times faster, about 900 times faster, about 950 times faster, about 1000 times faster than the response frequency, or any values therebetween, or any ranges bounded by any of these values, although other embodiments are also possible. Because the liquid lens response rate is slower than the gyroscope data rate, and/or slower than the control signal rate or driver signal rate, the liquid lens can operate as a filter, which can effectively smooth out the gyroscope noise. Although various embodiments are disclosed herein as relating to liquid lenses and camera systems that use liquid lenses, various other types of variable focus lenses, or other variable optical elements can be used. For example, a solid lens can be movable using an actuator (e.g., a voice coil motor or other suitable device), or a volume of fluid can be changed in a reservoir, or a refractive index of a material can be changed, based at least in part on gyroscope signals to implement an optical image stabilization (OIS) system. These systems can also effectively filter fast gyroscope signals due to a response rate that is slower than the gyroscope and/or slower than the controller.

FIG.7Bshows a block diagram of another example control system750. The control system750can include features that can be the same as, or similar to, features of the system700, or any other system disclosed herein. The block diagram includes a motion source701, a gyroscope703, a noise source705, a driver721, electrodes722, liquids723in a liquid lens, and a controller206(such as described with respect toFIG.5). Various control approaches can be used, as discussed herein, such as using one or more lookup tables to determine control signals.

The system750can include a bandpass filter751. Components of the example control system750can operate similarly to components previously described with respect to the example control system700ofFIG.7A. For example, the bandpass filter751can operate similarly to the combination of the high pass filter707and the low pass filter709as discussed with respect to the example control system700ofFIG.7A. In some embodiments, the bandpass filter751can be implemented in hardware or in software. The bandpass filter751, high pass filter707, and/or low pass filter709can be implemented as a passive filter or as an active filter. The passive filter can omit active components such as switches and amplifiers, and this can help to reduce or prevent phase delay in the filtered gyroscope signals. The bandpass filter751can be configured to receive the raw gyroscope signals705from the gyroscope703, including any noise components. The bandpass filter751can be configured to attenuate components of the raw gyroscope signal below a first cutoff threshold, attenuate components of the raw gyroscope signal above a second cutoff threshold, and pass components of the raw gyroscope signal (including noise components) that are within a bandpass range. The bandpass filter751can process the gyroscope signal without creating phase delay or with only very small phase delays, as discussed herein. The bandpass filter751can generate one or more bandpassed gyroscope signals as an output. In some embodiments, the high pass filter707and/or the low pass filter709can be implemented using hardware, similar to the discussion of the bandpass filter751. In some cases, the bandpass filter751can be implemented digitally, using software, using the controller206, etc.

The controller206can determine control signals based at least in part on the gyroscope signal(s), similar to other embodiments disclosed herein. For example, the bandpassed gyroscope signals can be used for one or more lookup tables, control logic, algorithms, etc. Other control signals generated by block713can be used. The controller206can generate one or more control output signals.

FIG.7Cshows a block diagram of another example control system775. The control system775can have features that are the same as, or similar to, the features disclosed in connection with systems700and/or750, or the other embodiments disclosed herein. In some embodiments, the controller206can operate at a frequency that is about as fast as or at least as fast as the gyroscope703. In some embodiments, the raw gyroscope signal can be a digital signal that is updated at a rate of about 2 kHz, about 5 kHz, about 7 kHz, about 8 kHz, about 10 kHz, about 15 kHz, about 20 kHz, about 25 kHz, or faster, or any values therebetween, or any ranges bounded by any of these values, although other values could also be used. The controller206can be configured to receive inputs (e.g., from the gyroscope and/or other sources) at a rate, and/or can be configured to update or change the control output signals at a rate, and the rate can be about 2 kHz, about 5 kHz, about 6 kHz, about 7 kHz, about 8 kHz, about 9 kHz, about 10 kHz, about 12 kHz, about 15 kHz, about 20 kHz, about 25 kHz, or faster, or any values therebetween, or any ranges bounded by these values, although other values could be used. In some embodiments, the gyroscope signals or data can be provided to a buffer753. The buffer753can operate as an average accumulation buffer that determines an average of accumulated gyroscope signals or data. The buffer753can then provide the average value of the accumulated gyroscope signals or data to the controller206, e.g., at a lower frequency than the rate of the gyroscope703. When the driver receives the update, the driver can apply a voltage signal to the electrodes of the liquid lens to impose an electric force on the liquids723of the liquid lens to achieve or maintain a desired focus in the presence of motion. In some embodiments, the speed of the driver721can be as fast as or about as fast as the controller206(e.g., in the kHz range or faster). In some cases, the buffer753can store or accumulate raw, unfiltered gyroscope signals or data. In some cases, the filtering (e.g., high pass filtering, low pass filtering, and/or bandpass filtering) can be performed before the buffer753(e.g., using passive filtering, as discussed herein) and the buffer753can store and/or accumulate processed (e.g., filtered) gyroscope signals or data. In some cases, the accumulated gyroscope signals or data can be provided to a high pass filter, low pass filter, and/or bandpass filter (e.g., implemented using a digital controller206). In some cases, the buffer753can be implemented digitally, for example as part of the controller206. In some embodiments, the gyroscope data and resulting controls signals and voltages can be fed to the controller206, driver721, and/or liquid lens10as fast as they can receive them. One or more buffers can be implemented to hold data, signals, voltages, etc. until they are ready to be received. For example, a buffer753can buffer signals sent from the controller206to the driver721, in some cases.

In some embodiments, a liquid lens system for providing gyroscope signals with reduced phase delay comprises a liquid lens comprising a chamber, a first fluid contained in the chamber, a second fluid contained in the chamber, wherein the first fluid and the second fluid are substantially immiscible to form a fluid interface between the first fluid and the second fluid, one or more insulated electrodes that are insulated from the first and second fluids, and one or more electrodes in electrical communication with the first fluid, wherein the liquid lens is configured such that a position of the fluid interface is based at least in part on voltages applied between a plurality of insulated electrodes and the one or more electrodes in electrical communication with the first fluid. In some embodiments, the system comprises a gyroscope configured to generate a raw gyroscope signal to represent a motion of the gyroscope and a digital controller operable to receive the raw gyroscope signal, filter the raw gyroscope signal to generate a filtered gyroscope signal having substantially the same phase as the raw gyroscope signal, and generate a control output signal based at least in part on the filtered gyroscope signal, wherein the voltages are determined based at least in part on the control output signal. In some embodiments, the digital controller is configured to filter the raw gyroscope signal using a bandpass filter that is configured to attenuate signals outside of a bandpass frequency range and to pass frequencies within the bandpass frequency range. Additionally, or alternatively, the raw gyroscope signal includes noise, and the filtered gyroscope signal includes components of the noise that are within the bandpass frequency range. Additionally, or alternatively, the digital controller is configured to filter the raw gyroscope signal using at least a passive low pass filter of a first filter type and a passive high pass filter of a second filter type that is different from the first filter type. Additionally, or alternatively, the digital controller is configured to filter the raw gyroscope signal using at least a passive low pass filter configured to attenuate frequencies above a first cutoff frequency and pass frequencies below the first cutoff frequency, wherein a resonant frequency of the liquid lens is higher than the first cutoff frequency, and a passive high pass filter configured to attenuate frequencies below a second cutoff frequency, wherein the second cutoff frequency is lower than the first cutoff frequency. Additionally, or alternatively, the digital controller is configured to generate the control output signal using a feedforward control system. Additionally, or alternatively, the gyroscope is configured to update the raw gyroscope signal at a first frequency, and the digital controller is configured to receive the raw gyroscope signal and to generate the control output signal at a second frequency that is faster than a surface wave response frequency of the liquid lens. Additionally, or alternatively, the first frequency is at least about 5 kHz, and the second frequency is at least as fast as the first frequency.

In some embodiments, a control system for a liquid lens system comprises a gyroscope configured to generate raw gyroscope signals that include noise. A digital controller can be operable to receive the raw gyroscope signals that include noise, filter the raw gyroscope signals to generate a filtered gyroscope signal that includes at least some of the noise, and generate a control output signal based at least in part on the filtered gyroscope signal that includes at least some of the noise. A driver can be configured to receive the control output signal and to apply a voltage signal to one or more electrodes in a liquid lens. In some embodiments, the liquid lens comprises a chamber, a first fluid contained in the chamber, and a second fluid contained in the chamber, wherein the first fluid and the second fluid are substantially immiscible to form a fluid interface between the first fluid and the second fluid, and wherein the liquid lens is configured such that a position of the fluid interface is based at least in part on voltage signals applied to the liquid lens.

In some embodiments, a control method to compensate for motion in a liquid lens comprises generating a raw gyroscope signal from a gyroscope, the raw gyroscope signal including noise that does not represent motion of the gyroscope, transmitting the raw gyroscope signal from the gyroscope to a digital controller, filtering the raw gyroscope signal to generate a filtered gyroscope signal that includes at least some of the noise, wherein the filtered gyroscope signal has substantially the same phase as the raw gyroscope signal, and generating a control output signal based at least in part on the filtered gyroscope signal, and driving, based at least in part on the control output signal, a voltage signal to one or more electrodes in a liquid lens. In some embodiments, the liquid lens comprises a chamber, a first fluid contained in the chamber, and a second fluid contained in the chamber, wherein the first fluid and the second fluid are substantially immiscible to form a fluid interface between the first fluid and the second fluid. In some embodiments, the control method comprises changing or maintaining a position of the fluid interface that is responsive to the voltage signal applied to the one or more electrodes.

Additional Details

In the disclosure provided above, apparatus, systems, and methods for control of a lens are described in connection with particular example embodiments. It will be understood, however, that the principles and advantages of the embodiments can be used for any other applicable systems, apparatus, or methods. While some of the disclosed embodiments may be described with reference to analog, digital, or mixed circuitry, in different embodiments, the principles and advantages discussed herein can be implemented for different parts as analog, digital, or mixed circuitry. In some figures, four electrodes (e.g., insulated electrodes) are shown. The principles and advantages discussed herein can be applied to embodiments with more than four electrodes or fewer than four electrodes.

The principles and advantages described herein can be implemented in various apparatuses. Examples of such apparatuses can include, but are not limited to, consumer electronic products, parts of the consumer electronic products, electronic test equipment, etc. The principles and advantages described herein relate to lenses. Examples products with lenses can include a mobile phone (for example, a smart phone), healthcare monitoring devices, vehicular electronics systems such as automotive electronics systems, webcams, a television, a computer monitor, a computer, a hand-held computer, a tablet computer, a laptop computer, a personal digital assistant (PDA), a refrigerator, a DVD player, a CD player, a digital video recorder (DVR), a camcorder, a camera, a digital camera, a copier, a facsimile machine, a scanner, a multi-functional peripheral device, a wrist watch, a clock, etc. Further, apparatuses can include unfinished products.

In some embodiments, the methods, techniques, microprocessors, and/or controllers described herein are implemented by one or more special-purpose computing devices. The special-purpose computing devices may be hard-wired to perform the techniques, or may include digital electronic devices such as one or more application-specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs) that are persistently programmed to perform the techniques, or may include one or more general purpose hardware processors programmed to perform the techniques pursuant to program instructions in firmware, memory, other storage, or a combination. The instructions can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of a non-transitory computer-readable storage medium. Such special-purpose computing devices may also combine custom hard-wired logic, ASICs, or FPGAs with custom programming to accomplish the techniques. The special-purpose computing devices may be desktop computer systems, server computer systems, portable computer systems, handheld devices, networking devices or any other device or combination of devices that incorporate hard-wired and/or program logic to implement the techniques.

The processor(s) and/or controller(s) described herein may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which causes microprocessors and/or controllers to be a special-purpose machine. According to one embodiment, parts of the techniques disclosed herein are performed by a processor (e.g., a microprocessor) and/or other controller elementss in response to executing one or more sequences instructions contained in a memory. Such instructions may be read into the memory from another storage medium, such as storage device. Execution of the sequences of instructions contained in the memory causes the processor or controller to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.

Moreover, the various illustrative logical blocks and modules described in connection with the embodiments disclosed herein can be implemented or performed by a machine, such as a processor device, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A processor device can be a microprocessor, but in the alternative, the processor device can be a controller, microcontroller, or state machine, combinations of the same, or the like. A processor device can include electrical circuitry configured to process computer-executable instructions. In another embodiment, a processor device includes an FPGA or other programmable device that performs logic operations without processing computer-executable instructions. A processor device can 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. Although described herein primarily with respect to digital technology, a processor device may also include primarily analog components. For example, some or all of the rendering techniques described herein may be implemented in analog circuitry or mixed analog and digital circuitry.

Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” “include,” “including,” and the like are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to.” The words “coupled” or “connected,” as generally used herein, refer to two or more elements that can be either directly connected, or connected by way of one or more intermediate elements. Additionally, the words “herein,” “above,” “below,” and words of similar import, when used in this application, shall refer to this application as a whole and not to any particular portions of this application. Where the context permits, words in the Detailed Description using the singular or plural number can also include the plural or singular number, respectively. The words “or” in reference to a list of two or more items, is intended to cover all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list. All numerical values provided herein are intended to include similar values (e.g., within a range of measurement error).

Although this disclosure contains certain embodiments and examples, it will be understood by those skilled in the art that the scope extends beyond the specifically disclosed embodiments to other alternative embodiments and/or uses and obvious modifications and equivalents thereof. In addition, while several variations of the embodiments have been shown and described in detail, other modifications will be readily apparent to those of skill in the art based upon this disclosure. It is also contemplated that various combinations or sub-combinations of the specific features and aspects of the embodiments may be made and still fall within the scope of this disclosure. It should be understood that various features and aspects of the disclosed embodiments can be combined with, or substituted for, one another in order to form varying modes of the embodiments. Any methods disclosed herein need not be performed in the order recited. Thus, it is intended that the scope should not be limited by the particular embodiments described above.

Further, while the devices, systems, and methods described herein may be susceptible to various modifications and alternative forms, specific examples thereof have been shown in the drawings and are herein described in detail. It should be understood, however, that the invention is not to be limited to the particular forms or methods disclosed, but, to the contrary, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the various implementations described. Further, the disclosure herein of any particular feature, aspect, method, property, characteristic, quality, attribute, element, or the like in connection with an implementation or embodiment can be used in all other implementations or embodiments set forth herein. Any methods disclosed herein need not be performed in the order recited. The methods disclosed herein may include certain actions taken by a practitioner; however, the methods can also include any third-party instruction of those actions, either expressly or by implication.

The ranges disclosed herein also encompass any and all overlap, sub-ranges, and combinations thereof. Language such as “up to,” “at least,” “greater than,” “less than,” “between,” and the like includes the number recited. Numbers preceded by a term such as “about” or “approximately” include the recited numbers and should be interpreted based on the circumstances (e.g., as accurate as reasonably possible under the circumstances, for example ±1%, ±3%, ±5%, ±10%, ±15%, etc.). For example, “about 3.5 mm” includes “3.5 mm.” Recitation of numbers and/or values herein should be understood to disclose both the values or numbers as well as “about” or “approximately” those values or numbers, even where the terms “about” or “approximately” are not recited. For example, recitation of “3.5 mm” includes “about 3.5 mm.” Phrases preceded by a term such as “substantially” include the recited phrase and should be interpreted based on the circumstances (e.g., as much as reasonably possible under the circumstances). For example, “substantially constant” includes “constant.” Unless stated otherwise, all measurements are at standard conditions including ambient temperature and pressure.