The image stabilizing area selecting unit 112 selects (determines) an area (image stabilizing area) for image stabilization of the angle of view based on the object information output from the object detecting unit 108, and outputs information about the selected area to the image stabilizing amount calculating unit 113 and focus detecting calculation area selecting unit 109. If the detected object having the highest reliability is repetitively selected as the image stabilization target, the angle of view observed by the user may not be stable and the imaging quality may be significantly lowered. For this reason, the image stabilizing area selecting unit 112 performs control so that the reliability is high and the object index of the previous frame and the object for the image stabilization do not frequently change. In a case where the reliabilities of all detected objects are low, image stabilization (blur correction of the entire angle of view) is performed so as to perform image stabilization without lowering the viewing quality of the user.
The image stabilizing amount calculating unit 113 calculates a motion amount (motion vector) between the previous frame and the current frame of the area selected by the image stabilizing area selecting unit 112 based on correlation calculation represented by Sum of Absolute Difference (SAD), and outputs the calculated motion vector to the image sensor driving control unit 114. The image sensor driving control unit 114 drives the image sensor 102 based on the motion vector output from the image stabilizing amount calculating unit 113 and restricts (controls) a read range so that the area selected by the image stabilizing area selecting unit 112 stops at the center of the angle of view.