The invention will become more fully understood by referring to the following detailed description with reference to the accompanying drawings, wherein:
Camera systems and methods with vibration compensation are provided.
The angular velocity sensor 110 may be a gyro sensor set in the camera device. The angular velocity sensor 110 detects an angle variation of a movement of the camera device to generate corresponding sensed data. The sensed data of the angular velocity sensor 110 is angular velocity ({right arrow over (ω)}) variation under time (t), as shown in
The image sensor 150 may be a charge coupled device (CCD) or complementary metal oxide semiconductor (CMOS) set on a supporter for image capture, where the supporter can move vertically and horizontally. The position sensor 120 may be a Hall effect sensor. The position sensor 120 detects a position movement of the image sensor 150 to generate corresponding sensed data. The sensed data of the position sensor 120 is position (p) variation under time (t), as shown in
The digital processing unit 130 controls and manages related hardware and operations for image capture and processing in the digital camera. The processing module 140 obtains the sensed data of the angular velocity sensor 110 and the position sensor 120 from the camera processing unit 130. The processing module 140 performs related calculation based on the sensed data of the angular velocity sensor 110 and the position sensor 120 to obtain related control information, and transmits the control information to the camera processing unit 130.
The drive device 160 may be a coil drive unit, piezoelectric actuator, or step motor to move the position of the image sensor 150, thereby stabilizing the camera system and compensating vibration. It is understood that the drive device 160 is not limited thereto. Further, the control information is different according to the design of the drive device 160. For example, the control information may be a control voltage output to the drive device 160, where voltages with different pulse heights and widths cause the drive device 160 to make different adjustments on the image sensor 150.
In step S510, the sensed data (G) from the angular velocity sensor 110 is obtained, and in step S520, the sensed data (H) from the position sensor 120 is obtained. The angular velocity sensor 110 detects an angle variation of a movement of the camera device, and the position sensor 120 detects a position movement of the image sensor 150. In step S530, the first derivative of the sensed data from the position sensor 120 is taken to obtain the differential thereof
from the position sensor 120. The processing module 140 calculates the control information as follows:
where F is the control information, G is the sensed data from the angular velocity sensor 110, H is the sensed data from the position sensor 120, K0 is an adjustment coefficient between the units of sensed data from the angular velocity sensor 110 and the position sensor 120, and K1 is a transformation coefficient between the sensed data from the angular velocity sensor 110 and the control information corresponding to the drive device 160. It is noted that G0 is sensed data from the angular velocity sensor 110 at the 0th time point, and H0 and H1 are sensed data from the position sensor 120 at the 0th and 1st time point.
In step S550, the drive device 160 is enabled to adjust the position of the image sensor 150 based on the control information. Ideally, the difference between sensed data from the angular velocity sensor 110 and position sensor 120 is zero. If the difference does not equal zero, the difference can be used to control and adjust the image sensor 150. It is understood that the drive device 160 of the invention is not limited to any kind of mechanism, and the control information and related coefficients (K0 and K1) are dependent on the designs of the drive device 160. The drive device 160 can move the position of the image sensor 150 according to the control information.
As described, the baselines of sensors in the camera system may drift. The drift problem is addressed in another embodiment of the camera method with vibration compensation, as shown in
In step S610, the sensed data (G) from the angular velocity sensor 110 is obtained, and in step S620, the sensed data (H) from the position sensor 120 is obtained. The angular velocity sensor 110 detects an angle variation of a movement of the camera device, and the position sensor 120 detects a position movement of the image sensor 150. In step S630, the first derivative of the sensed data from the angular velocity sensor 110 is taken to obtain the differential thereof
and in step S640, the second derivative of the sensed data from the position sensor 120 is taken to obtain the second differential thereof
from the angular velocity sensor 110 and the second differential of the sensed data
from the position sensor 120. The processing module 140 calculates the control information as follows:
where F is the control information, G is the sensed data from the angular velocity sensor 110, H is the sensed data from the position sensor 120, K2 is an adjustment coefficient between the units of sensed data from the angular velocity sensor 110 and the position sensor 120, and K3 is a transformation coefficient between the sensed data from the angular velocity sensor 110 and the control information corresponding to the drive device 160. It is noted that G0 and G1 are sensed data from the angular velocity sensor 110 at the 0th and 1st time point, and H0, H1 and H2 are sensed data from the position sensor 120 at the 0th, 1st, and 2nd time point. Since sensed data of respective sensors is processed (taken the first or the second derivative thereof), the offset between different time points is eliminated to solve the problem of baseline drift.
In step S660, the drive device 160 is enabled to adjust the position of the image sensor 150 based on the control information. It is also understood that the drive device 160 of the invention is not limited to any kind of mechanism, and the control information and related coefficients (K2 and K3) are dependent on the drive device 160. The drive device 160 can move the position of the image sensor 150 according to the control information.
The invention does not calculate the integral of sensed data of the angular velocity sensor, but rather takes the first derivative of sensed data of the position sensor, or take the first derivative of sensed data of the angular velocity sensor and the second derivative of sensed data of the position sensor for camera vibration compensation.
Camera systems and methods with vibration compensation, or certain aspects or portions thereof, may take the form of program code (i.e., executable instructions) embodied in tangible media, such as products, floppy diskettes, CD-ROMS, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine thereby becomes an apparatus for practicing the methods. The methods may also be embodied in the form of program code transmitted over some transmission medium, such as electrical wiring or cabling, through fiber optics, or via any other form of transmission, wherein, when the program code is received and loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the disclosed methods. When implemented on a general-purpose processor, the program code combines with the processor to provide a unique apparatus that operates analogously to application specific logic circuits.
While the invention has been described by way of example and in terms of preferred embodiment, it is to be understood that the invention is not limited thereto. Those who are skilled in this technology can still make various alterations and modifications without departing from the scope and spirit of this invention. Therefore, the scope of the invention shall be defined and protected by the following claims and their equivalents.
| Number | Date | Country | Kind |
|---|---|---|---|
| 95125773 | Jul 2006 | TW | national |