JP4499686B2 - Image processing apparatus and method, recording medium, and program - Google Patents

Image processing apparatus and method, recording medium, and program Download PDF

Info

Publication number
JP4499686B2
JP4499686B2 JP2006117970A JP2006117970A JP4499686B2 JP 4499686 B2 JP4499686 B2 JP 4499686B2 JP 2006117970 A JP2006117970 A JP 2006117970A JP 2006117970 A JP2006117970 A JP 2006117970A JP 4499686 B2 JP4499686 B2 JP 4499686B2
Authority
JP
Japan
Prior art keywords
image
camera shake
vibration
subject image
detection information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006117970A
Other languages
Japanese (ja)
Other versions
JP2006287946A (en
Inventor
靖二郎 稲葉
健二 田中
雅也 木下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006117970A priority Critical patent/JP4499686B2/en
Publication of JP2006287946A publication Critical patent/JP2006287946A/en
Application granted granted Critical
Publication of JP4499686B2 publication Critical patent/JP4499686B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は画像処理装置および方法、記録媒体、並びにプログラムに関し、特に、携帯可能な撮像装置で撮像する際、手ぶれによる影響を軽減させる画像処理装置および方法、記録媒体、並びにプログラムに関する。   The present invention relates to an image processing apparatus and method, a recording medium, and a program, and more particularly, to an image processing apparatus and method, a recording medium, and a program that reduce the effects of camera shake when imaging with a portable imaging apparatus.

携帯可能なビデオカメラは、一般的に使用されるようになってきている。このようなビデオカメラに用いられる個体撮像素子としては、例えば、CCD(Charge Coupled Device)センサに代表される電荷転送型の個体撮像素子や、CMOS(Complementary Metal Oxide Semiconductor)センサに代表されるX−Yアドレス型の個体撮像素子がある。   Portable video cameras are becoming commonly used. As an individual imaging device used in such a video camera, for example, a charge transfer type individual imaging device represented by a CCD (Charge Coupled Device) sensor or an X-type represented by a CMOS (Complementary Metal Oxide Semiconductor) sensor. There is a Y-address type individual imaging device.

CMOSセンサは、CCDセンサに比べて消費電力が小さく、単一の低電圧で駆動され、周辺回路との一体化も容易であることから、ビデオカメラなどの画像処理装置に用いられることが検討されている。   CMOS sensors consume less power than CCD sensors, are driven by a single low voltage, and can be easily integrated with peripheral circuits. Therefore, CMOS sensors are considered for use in video processing devices such as video cameras. ing.

しかしながら、ビデオカメラなどの画像処理装置の撮像素子としてCMOSセンサを用いて高画質な動画像や静止画像を記録することは困難であった。その理由の1つとして、手ぶれにより撮像される画像に歪みが発生してしまうことが挙げられる。画像処理装置の撮像素子として既に用いられているCCDセンサの場合、手ぶれによる影響を低減させるための処理を実行する上で必要とされる手ぶれ補正量は、1フィールドまたは1フレーム内で得られた手ぶれ情報に基づいて算出された単一の値が用いられる。これは、全ての画素の露光期間が等しく、画像の歪みが生じないために、単一の値で手ぶれの補正ができる。   However, it has been difficult to record high-quality moving images and still images using a CMOS sensor as an image sensor of an image processing apparatus such as a video camera. One of the reasons is that distortion occurs in an image captured by camera shake. In the case of a CCD sensor that has already been used as an image sensor of an image processing apparatus, the amount of camera shake correction required to execute processing for reducing the effects of camera shake was obtained within one field or one frame. A single value calculated based on camera shake information is used. This is because the exposure period of all the pixels is equal, and image distortion does not occur, so that camera shake can be corrected with a single value.

CCDセンサに対して、CMOSセンサは、以下のような仕組みにより、被写体の画像を撮像し、処理するため、その画像には、手ぶれによる歪みが生じる。その歪みは、以下のようにして生じると考えられる。   In contrast to a CCD sensor, a CMOS sensor captures and processes an image of a subject by the following mechanism, and thus the image is distorted by camera shake. The distortion is considered to occur as follows.

CCDセンサのような電荷転送型の固体撮像素子は、全画素を同時期に露光して、画素データを読み出すことが可能であるが、CMOSセンサのようなX−Yアドレス型の固体撮像素子は、1画素単位あるいは1ライン単位で順番に読み出される。1画素単位で順次読み出すタイプの固体撮像素子であっても、ライン間の読み出し時間差に比べ、1ライン中の画素間の読み出し時間差は無視できるほど小さい.そこで、以下の議論では、図1に示すように、ライン間の時間差のみを考える。   A charge transfer type solid-state imaging device such as a CCD sensor can read out pixel data by exposing all pixels at the same time, but an XY address type solid-state imaging device such as a CMOS sensor The data is sequentially read in units of one pixel or one line. Even in a solid-state imaging device that sequentially reads out in units of one pixel, the difference in readout time between pixels in one line is negligibly small compared to the difference in readout time between lines. Therefore, in the following discussion, only the time difference between lines is considered as shown in FIG.

例えば、図1に示すように、全画素の読出し周期が1/60秒で、1画像がライン1乃至Nから構成されるようなCMOSセンサの場合を例に挙げて説明する。図2を参照するに、ライン1の露光期間は、開始時刻が時刻t1であり、終了時刻が時刻t2である。ライン2の露光期間の終了時間は、時刻t3であり、ライン3の露光期間の終了時間は、時刻t4である。   For example, as shown in FIG. 1, a description will be given by taking as an example a CMOS sensor in which the readout cycle of all pixels is 1/60 seconds and one image is composed of lines 1 to N. Referring to FIG. 2, in the exposure period of line 1, the start time is time t1, and the end time is time t2. The end time of the exposure period for line 2 is time t3, and the end time of the exposure period for line 3 is time t4.

時刻t2と時刻t3との時間差は、時間差Δtであり、時刻t3と時刻t4の時間差は、時間差Δtである。すなわち、露光期間は、1ライン毎に時間差が時間差Δtだけ生じることになる。従って、画面の一番上のライン1と一番下のラインNとでは、この場合、露光期間に1/60秒に近い時間差が発生することになる。このように、1画像を読み出す際、一番上のライン1と一番下のラインNとで、露光期間にずれが生じる状況下で、手ぶれが生じた場合、このライン毎による露光期間の時間差により、被写体である物体の画像が変形してしまうという問題があった。   The time difference between time t2 and time t3 is time difference Δt, and the time difference between time t3 and time t4 is time difference Δt. That is, in the exposure period, a time difference is generated for each line by the time difference Δt. Accordingly, in this case, a time difference close to 1/60 second occurs in the exposure period between the top line 1 and the bottom line N of the screen. As described above, when one image is read out and camera shake occurs in a situation where the exposure period is shifted between the top line 1 and the bottom line N, the time difference of the exposure period for each line. As a result, there is a problem that the image of the object that is the subject is deformed.

図3と図4を参照して、撮像された被写体の画像が変形するという問題について説明する。図3と図4は、それぞれ、画像の中央に被写体として静止した四角形が撮像される場合を例に挙げて図示している。図3の中央の図は、画像処理装置で被写体が撮像されたとき、手ぶれがなく、その結果、歪みがない正常な画像が撮像された状態を示しており、撮像された被写体は、四角形として撮像されていることを示す図である。   With reference to FIG. 3 and FIG. 4, the problem that the captured image of the subject is deformed will be described. FIG. 3 and FIG. 4 each illustrate an example in which a stationary square is imaged as a subject at the center of the image. The center diagram in FIG. 3 shows a state in which a normal image with no camera shake and no distortion is captured when the subject is imaged by the image processing apparatus. It is a figure which shows being imaged.

図3の右側の図は、被写体が撮像されたとき、画像処理装置に右側方向の手ぶれがあったために、歪みが生じた被写体の画像が撮像されてしまうことを示す図である。同様に、図3の左側の図は、被写体が撮像されたとき、画像処理装置に左側方向の手ぶれがあったために、歪みが生じた被写体の画像が撮像されてしまうことを示す図である。   The right side of FIG. 3 is a diagram illustrating that when an object is imaged, an image of the distorted object is captured because the image processing apparatus has a camera shake in the right direction. Similarly, the diagram on the left side of FIG. 3 is a diagram illustrating that when the subject is imaged, an image of the distorted subject is captured because the image processing apparatus has leftward camera shake.

図4の中央の図は、画像処理装置で被写体が撮像されたとき、手ぶれがなく、その結果、歪みがない正常な画像が撮像された状態を示しており、撮像された被写体は、四角形として撮像されていることを示す図である。図4の上側の図は、被写体が撮像されたとき、画像処理装置に上側方向の手ぶれがあったために、上下方向に伸長された被写体の画像が撮像されてしまうことを示す図である。図4の下側の図は、被写体が撮像されたとき、画像処理装置に下側方向の手ぶれがあったために、上下方向に収縮された被写体の画像が撮像されてしまうことを示す図である。   The center diagram in FIG. 4 shows a state in which a normal image without distortion is captured when a subject is imaged by the image processing apparatus, and as a result, a normal image without distortion is captured. It is a figure which shows being imaged. The upper diagram in FIG. 4 is a diagram illustrating that when the subject is imaged, an image of the subject that is expanded in the vertical direction is captured because the image processing apparatus has an upward camera shake. The lower diagram in FIG. 4 is a diagram illustrating that when the subject is imaged, an image of the subject contracted in the vertical direction is captured because the image processing apparatus has a camera shake in the lower direction. .

このように、CMOSセンサでは、ライン毎に露光期間のずれ(撮像のタイミングのずれ)が生じるため、1フィールドまたは1フレーム内で得られた手ぶれ情報に基づいて算出された単一の値で、手ぶれの補正を行うと、手ぶれの影響を完全に取ることはできず、結果として、ユーザに提供されうる画像が歪んだ画像となってしまうことが考えられる。   In this way, in the CMOS sensor, a shift in exposure period (shift in imaging timing) occurs for each line. Therefore, with a single value calculated based on camera shake information obtained in one field or one frame, When camera shake correction is performed, the effect of camera shake cannot be completely taken, and as a result, an image that can be provided to the user may be a distorted image.

このような手ぶれによる画像の歪みを補正するために、水平方向の手ぶれを補正するために、ライン毎に読出し位置を変更し、垂直方向の手ぶれを補正するために、読み出すラインの位置を垂直方向に変更するという画像処理装置が提案されている。(例えば、特許文献1参照)
特開2001−358999号公報
In order to correct such image distortion due to camera shake, in order to correct horizontal camera shake, the readout position is changed for each line, and in order to correct vertical camera shake, the position of the readout line is set in the vertical direction. There has been proposed an image processing apparatus that changes to the above. (For example, see Patent Document 1)
JP 2001-358999 A

しかしながら、特許文献1で提案されている手法では、手ぶれ情報が、画像を構成するライン毎に全て取得されることを前提としているが、ライン毎に手ぶれ情報を取得することは、手ぶれを検出するセンサのサンプリング周波数などの関係から困難であるといった課題があった   However, in the method proposed in Patent Document 1, it is assumed that camera shake information is acquired for each line constituting the image. However, acquiring camera shake information for each line detects camera shake. There was a problem that it was difficult because of the sampling frequency of the sensor

また、上述した特許文献1では、画素単位でしか手ぶれ補正ができないといった課題があった。このような課題は、従来の画像装置においては、同様にあった。   Further, in Patent Document 1 described above, there is a problem that camera shake correction can be performed only in pixel units. Such a problem similarly occurs in the conventional image device.

従来の画像処理装置では、撮像された画像の画像データを一旦記憶する必要があったため、少なくとも1画面分を記憶できる容量のメモリが必要とされた。そのため、メモリの容量を削減することができないといった課題があった。   In the conventional image processing apparatus, since it is necessary to temporarily store image data of a captured image, a memory having a capacity capable of storing at least one screen is required. Therefore, there is a problem that the memory capacity cannot be reduced.

本発明はこのような状況に鑑みてなされたものであり、1フィールドまたは1フレームの間に得られた手ぶれ情報から、ライン毎の手ぶれ補正量を生成し、精度の高い手ぶれの補正を行えるようにする。また、手ぶれ情報から画素を補間するための係数を決定して補間するための画素データを生成することにより、手ぶれの補正をより精度良く行えるようにする。さらに、手ぶれ検出を短時間で行うことで画像データを記憶するためのメモリの容量を削減できるようにする。   The present invention has been made in view of such a situation, and generates a camera shake correction amount for each line from camera shake information obtained during one field or one frame so that camera shake can be corrected with high accuracy. To. Further, by determining a coefficient for interpolating pixels from camera shake information and generating pixel data for interpolation, camera shake correction can be performed with higher accuracy. Furthermore, it is possible to reduce the capacity of a memory for storing image data by performing camera shake detection in a short time.

本発明の一側面の画像処理装置は、X−Yアドレス型の固体撮像素子により画像を撮像する撮像手段により撮像された被写体画像を処理する画像処理装置において、前記撮像手段により撮像された前記被写体画像を記憶する記憶手段と、前記画像処理装置に加えられた振動に関する振動検出情報を出力する出力手段と、前記被写体画像のライン毎の各露光期間内に前記出力手段により出力される振動検出情報のうち、前記各露光期間の時間的に中央に位置する振動検出情報とその前後の振動検出情報を、前記画像処理装置に加えられた振動の大きさを示す振動量に変換する変換手段と、前記振動量に基づいて、前記振動による前記被写体画像への影響を低減するための補正量を算出する算出手段とを備え、前記振動による前記被写体画像への影響を低減するための補正に必要な被写体画像の画素数分の画像データが前記記憶手段に記憶されるように制御するとともに、複数の異なる前記補正量に基づいて、前記記憶手段に記憶された前記被写体画像を補正し、補正後の被写体画像を出力する制御を行うことを特徴とする。 An image processing apparatus according to an aspect of the present invention is an image processing apparatus that processes a subject image captured by an imaging unit that captures an image using an XY address type solid-state imaging device, and the subject captured by the imaging unit. Storage means for storing an image, output means for outputting vibration detection information relating to vibration applied to the image processing apparatus, and vibration detection information output by the output means within each exposure period for each line of the subject image Conversion means for converting vibration detection information located at the center of each exposure period and vibration detection information before and after the exposure period into vibration amounts indicating the magnitude of vibration applied to the image processing apparatus, Calculating means for calculating a correction amount for reducing the influence of the vibration on the subject image based on the vibration amount; Control is performed so that image data corresponding to the number of pixels of the subject image necessary for correction for reducing reverberation is stored in the storage unit, and stored in the storage unit based on a plurality of different correction amounts. Control of correcting the subject image and outputting the corrected subject image is performed.

本発明の一側面の画像処理方法は、X−Yアドレス型の固体撮像素子により被写体画像を撮像する撮像手段と、前記撮像ステップの処理で撮像された前記被写体画像を記憶する記憶手段とを備える画像処理装置の画像処理方法において、前記画像処理装置に加えられた振動に関する振動検出情報を出力する出力ステップと、前記被写体画像のライン毎の各露光期間内に前記出力ステップの処理で出力される振動検出情報のうち、前記各露光期間の時間的に中央に位置する振動検出情報とその前後の振動検出情報を、前記画像処理装置に加えられた振動の大きさを示す振動量に変換する変換ステップと、前記振動量に基づいて、前記振動による前記被写体画像への影響を低減するための補正量を算出する算出ステップとを含み、前記記憶手段に、前記振動による前記被写体画像への影響を低減するための補正に必要な被写体画像の画素数分の画像データが記憶されるように制御するとともに、複数の異なる前記補正量に基づいて、前記記憶手段に記憶された前記被写体画像を補正し、補正後の被写体画像を出力する制御を行うことを特徴とする。 An image processing method according to an aspect of the present invention includes an imaging unit that captures a subject image with an XY address type solid-state imaging device, and a storage unit that stores the subject image captured in the processing of the imaging step. In the image processing method of the image processing apparatus, an output step of outputting vibration detection information related to vibration applied to the image processing apparatus, and output in the process of the output step within each exposure period for each line of the subject image Of the vibration detection information, a conversion for converting the vibration detection information located at the center of each exposure period and the vibration detection information before and after the exposure information into a vibration amount indicating the magnitude of vibration applied to the image processing apparatus. And a calculation step for calculating a correction amount for reducing the influence of the vibration on the subject image based on the vibration amount, Control is performed so that image data corresponding to the number of pixels of the subject image necessary for correction to reduce the influence of the vibration on the subject image is stored, and the storage unit is based on a plurality of different correction amounts. The subject image stored in is corrected to output a corrected subject image.

本発明の一側面の記録媒体のプログラムは、X−Yアドレス型の固体撮像素子により被写体画像を撮像する撮像手段と、前記撮像ステップの処理で撮像された前記被写体画像を記憶する記憶手段とを備える画像処理装置を制御するコンピュータのプログラムであって、前記画像処理装置に加えられた振動に関する振動検出情報を出力する出力ステップと、前記被写体画像のライン毎の各露光期間内に前記出力ステップの処理で出力される振動検出情報のうち、前記各露光期間の時間的に中央に位置する振動検出情報とその前後の振動検出情報を、前記画像処理装置に加えられた振動の大きさを示す振動量に変換する変換ステップと、前記振動量に基づいて、前記振動による前記被写体画像への影響を低減するための補正量を算出する算出ステップとを含み、前記記憶手段に、前記振動による前記被写体画像への影響を低減するための補正に必要な被写体画像の画素数分の画像データが記憶されるように制御するとともに、複数の異なる前記補正量に基づいて、前記記憶手段に記憶された前記被写体画像を補正し、補正後の被写体画像を出力する制御を行うことを特徴とするプログラムを記録している。 A recording medium program according to an aspect of the present invention includes an imaging unit that captures a subject image with an XY address type solid-state imaging device, and a storage unit that stores the subject image captured in the processing of the imaging step. A computer program for controlling the image processing apparatus, the output step for outputting vibration detection information relating to vibration applied to the image processing apparatus; and the output step within each exposure period for each line of the subject image Among the vibration detection information output in the processing, the vibration detection information centered in time in each exposure period and the vibration detection information before and after the vibration detection information indicate the magnitude of the vibration applied to the image processing apparatus. And a calculation step for calculating a correction amount for reducing the influence of the vibration on the subject image based on the vibration amount. And controlling the storage means to store image data for the number of pixels of the subject image necessary for correction to reduce the influence of the vibration on the subject image, and a plurality of different data On the basis of the correction amount, a program for correcting the subject image stored in the storage unit and outputting the corrected subject image is recorded.

本発明の一側面のプログラムは、X−Yアドレス型の固体撮像素子により被写体画像を撮像する撮像手段と、前記撮像ステップの処理で撮像された前記被写体画像を記憶する記憶手段とを備える画像処理装置を制御するコンピュータのプログラムであって、前記画像処理装置に加えられた振動に関する振動検出情報を出力する出力ステップと、前記被写体画像のライン毎の各露光期間内に前記出力ステップの処理で出力される振動検出情報のうち、前記各露光期間の時間的に中央に位置する振動検出情報とその前後の振動検出情報を、前記画像処理装置に加えられた振動の大きさを示す振動量に変換する変換ステップと、前記振動量に基づいて、前記振動による前記被写体画像への影響を低減するための補正量を算出する算出ステップとを含み、前記記憶手段に、前記振動による前記被写体画像への影響を低減するための補正に必要な被写体画像の画素数分の画像データが記憶されるように制御するとともに、複数の異なる前記補正量に基づいて、前記記憶手段に記憶された前記被写体画像を補正し、補正後の被写体画像を出力する制御を行うことを特徴とするプログラムである。 A program according to one aspect of the present invention includes an image processing unit that captures an image of a subject using an XY address type solid-state imaging device, and a storage unit that stores the subject image captured in the processing of the imaging step. A computer program for controlling the apparatus, wherein an output step for outputting vibration detection information relating to vibration applied to the image processing apparatus, and output in the processing of the output step within each exposure period for each line of the subject image Among the detected vibration detection information, the vibration detection information located at the center in time of each exposure period and the vibration detection information before and after that are converted into a vibration amount indicating the magnitude of vibration applied to the image processing apparatus. And a calculating step for calculating a correction amount for reducing the influence of the vibration on the subject image based on the vibration amount. The storage unit is controlled so that image data corresponding to the number of pixels of the subject image necessary for correction to reduce the influence on the subject image due to the vibration is stored, and a plurality of different correction amounts are set. On the basis of the above, a program for correcting the subject image stored in the storage unit and outputting the corrected subject image is performed.

本発明の一側面の画像処理装置および方法、並びにプログラムにおいては、撮像された被写体画像が記憶され、画像処理装置に加えられた振動に関する振動検出情報が出力され、被写体画像のライン毎の各露光期間内に出力手段により出力される振動検出情報のうち、各露光期間の時間的に中央に位置する振動検出情報とその前後の振動検出情報が、画像処理装置に加えられた振動の大きさを示す振動量に変換され、振動量に基づいて、振動による被写体画像への影響を低減するための補正量が算出され、振動による被写体画像への影響を低減するための補正に必要な被写体画像の画素数分の画像データが記憶され、複数の異なる補正量に基づいて被写体画像が補正される。 In the image processing apparatus and method, and the program according to one aspect of the present invention, a captured subject image is stored, vibration detection information regarding vibration applied to the image processing device is output , and each exposure for each line of the subject image is performed. Among the vibration detection information output by the output means within the period, the vibration detection information located at the center in time of each exposure period and the vibration detection information before and after the vibration detection information indicate the magnitude of vibration applied to the image processing apparatus. Based on the vibration amount, a correction amount for reducing the influence on the subject image due to the vibration is calculated, and the object image necessary for the correction for reducing the influence on the subject image due to the vibration is calculated. Image data for the number of pixels is stored, and the subject image is corrected based on a plurality of different correction amounts.

本発明によれば、撮像時に加えられた手ぶれを補正することができる。   According to the present invention, it is possible to correct camera shake applied during imaging.

本発明によれば、より精度良く手ぶれを補正することができる。   According to the present invention, camera shake can be corrected more accurately.

本発明によれば、1ピクセル以下の手ぶれを補正することができる。   According to the present invention, camera shake of 1 pixel or less can be corrected.

本発明によれば、手ぶれの補正に必要な画像データを記憶するためのメモリの容量を削減することができる。   According to the present invention, the capacity of a memory for storing image data necessary for camera shake correction can be reduced.

本発明によれば、露光時間を短くした場合でも、手ぶれの補正に必要な画像データを記憶するためのメモリの容量を削減することができる。   According to the present invention, even when the exposure time is shortened, the capacity of a memory for storing image data necessary for camera shake correction can be reduced.

以下に、本発明の実施の形態について図面を参照して説明する。図5は、本発明を適用した画像処理装置の一実施の形態の構成を示す図である。画像処理装置10の撮像素子11は、例えば、X−Yアドレス型の固体撮像素子(CMOSなど)により構成される。撮像素子11により撮像された被写体の画像のデータは、AFE(Analog Front End)12に供給される。   Embodiments of the present invention will be described below with reference to the drawings. FIG. 5 is a diagram showing a configuration of an embodiment of an image processing apparatus to which the present invention is applied. The image sensor 11 of the image processing apparatus 10 is configured by, for example, an XY address type solid-state image sensor (CMOS or the like). Data of the subject image captured by the image sensor 11 is supplied to an AFE (Analog Front End) 12.

AFE12は、供給された画像データをデジタル信号の画像データに変換し、信号処理部13に供給する。信号処理部13は、供給された画像データから、輝度信号と色差信号を算出し、その算出したそれぞれの信号を、画像補間部14に供給する。   The AFE 12 converts the supplied image data into image data of a digital signal and supplies it to the signal processing unit 13. The signal processing unit 13 calculates a luminance signal and a color difference signal from the supplied image data, and supplies the calculated signals to the image interpolation unit 14.

画像補間部14に供給される画像データは、撮像素子11により撮像された被写体の画像のデータであるが、撮像素子11により撮像された画像の全てのデータが、画像補間部14に供給されるわけではなく、TG(Timing Generator)15からのタイミングに従って読み出されたデータのみが、画像補間部14に供給される。   The image data supplied to the image interpolation unit 14 is image data of the subject imaged by the image sensor 11, but all data of the image captured by the image sensor 11 is supplied to the image interpolation unit 14. However, only the data read according to the timing from the TG (Timing Generator) 15 is supplied to the image interpolation unit 14.

画像補間部14に供給されたデータは、一旦、メモリコントローラ16の制御の基、メモリ17に供給される。逆にメモリ17に記憶されたデータは、メモリコントローラ16の指示により読み出され、画像補間部14に供給される。画像補間部14は、供給されたデータに対して、手ぶれの補正を行うための補間処理など(詳細は後述する)を施し、図示されていない記録媒体に出力し、記録させたり、図示されていないディスプレイなどに出力し、表示させたりする。   The data supplied to the image interpolation unit 14 is once supplied to the memory 17 under the control of the memory controller 16. Conversely, the data stored in the memory 17 is read out according to an instruction from the memory controller 16 and supplied to the image interpolation unit 14. The image interpolation unit 14 performs an interpolation process for correcting camera shake (details will be described later) on the supplied data, and outputs the data to a recording medium (not shown) for recording or recording. Output to a non-display and so on.

なお、ここでは、画像処理装置10に加えられる振動として、ユーザの手ぶれを例に挙げて説明するが、手ぶれ以外の振動であっても、本発明を適用することはできる。   Here, the user shake is described as an example of vibration applied to the image processing apparatus 10, but the present invention can be applied to vibration other than camera shake.

画像補間部14、TG15、およびメモリコントローラ16は、手ぶれ検出部18により検出された手ぶれ量に応じ、手ぶれ補正量算出部19により算出された手ぶれ補正量に基づいた制御を行う。   The image interpolation unit 14, the TG 15, and the memory controller 16 perform control based on the camera shake correction amount calculated by the camera shake correction amount calculation unit 19 according to the camera shake amount detected by the camera shake detection unit 18.

手ぶれ検出部18は、例えば、角速度センサなどのセンサを用いた方法や、画像処理等によるセンサレスの手ぶれ検出の方法などが用いられ、撮影中に画像処理装置10に加えられた手ぶれを検出する。例えば、手ぶれ検出部18が、角速度センサにより構成されていた場合、その角速度センサは、ピッチング方向、ヨーイング方向、それぞれの方向に加えられた角速度のデータを手ぶれ補正量算出部19に供給する。   The camera shake detection unit 18 uses, for example, a method using a sensor such as an angular velocity sensor or a sensorless camera shake detection method using image processing or the like, and detects camera shake applied to the image processing apparatus 10 during shooting. For example, when the camera shake detection unit 18 is configured by an angular velocity sensor, the angular velocity sensor supplies the image stabilization amount calculation unit 19 with angular velocity data added to the pitching direction and the yawing direction.

その検出された手ぶれ量に基づき、手ぶれ補正量算出部19は、手ぶれに伴う動きを補正するための手ぶれ補正量のデータを算出する。すなわち、手ぶれ補正量算出部19は、供給されたデータを用いて、何ピクセル移動させれば加えられた手ぶれによる影響を低減できるかという補正量を、1ライン毎に算出する。   Based on the detected camera shake amount, the camera shake correction amount calculation unit 19 calculates data of the camera shake correction amount for correcting the motion accompanying the camera shake. That is, the camera shake correction amount calculation unit 19 calculates, for each line, a correction amount that indicates how many pixels are moved by using the supplied data to reduce the influence of the added camera shake.

ここで、1ライン毎にというのは、図1と図2を参照して説明したように、CMOSなどの個体撮像素子においては、1ライン単位で画像データが順次読み出される。そのため、1ライン毎に手ぶれ補正量が算出される。   Here, for each line, as described with reference to FIGS. 1 and 2, in an individual image sensor such as a CMOS, image data is sequentially read out in units of one line. Therefore, a camera shake correction amount is calculated for each line.

1ライン毎に手ぶれ補正量を算出する必要があるが、手ぶれ量のデータが取得されるタイミングは、手ぶれ検出部18のサンプリング周波数に依存し、必ずしも、1ライン毎に手ぶれ補正量を算出するだけの手ぶれ量のデータが供給されるとは限らない。   Although it is necessary to calculate the camera shake correction amount for each line, the timing at which the camera shake amount data is acquired depends on the sampling frequency of the camera shake detection unit 18, and the camera shake correction amount is not necessarily calculated for each line. The amount of camera shake data is not always supplied.

手ぶれ検出部18のサンプリング周波数が、撮像素子11により撮像された画像の1ライン毎のデータの読み出しの周波数と異なる場合、1ライン毎の手ぶれ補正量を求めるには、手ぶれ検出部18のサンプリング間における手ぶれ補正量のデータ、すなわち、手ぶれ検出部18からの手ぶれ量のデータに基づいた算出を行えないときの手ぶれ補正量のデータを、何らかの方法により補間する必要がある。   When the sampling frequency of the camera shake detection unit 18 is different from the frequency of reading out data for each line of the image captured by the image sensor 11, in order to obtain the camera shake correction amount for each line, the sampling interval of the camera shake detection unit 18 is determined. It is necessary to interpolate the camera shake correction amount data when the calculation based on the camera shake correction amount data in Step 1, ie, the camera shake amount data from the camera shake detection unit 18 cannot be performed, by some method.

また、手ぶれ検出部18のサンプリング周波数が、撮像素子11により撮像された画像の1ライン毎のデータの読み出しの周波数と同じだが、位相が異なる場合、1ライン毎の手ぶれ補正量を求めるには、手ぶれ検出部18のサンプリング間における手ぶれ補正量のデータを補間する必要がある。   In addition, when the sampling frequency of the camera shake detection unit 18 is the same as the frequency of reading data for each line of the image captured by the image sensor 11, but the phase is different, in order to obtain the camera shake correction amount for each line, It is necessary to interpolate the data of the camera shake correction amount between the samplings of the camera shake detection unit 18.

手ぶれ補正量のデータの補間について説明するが、ここでは、手ぶれ検出(手ぶれ量のデータが、手ぶれ検出部18から手ぶれ補正量算出部19に供給されるタイミング)が、100本のラインが読み出される間に3点の場合を例に挙げて説明する。図6に示すように、ここでは説明の都合上、ライン1’、ライン50’、およびライン100’のときに、手ぶれ検出部18からの手ぶれ量が取得できるとして説明する。このライン1’は、説明上の基準となるラインであり、撮像された画像を構成するライン内の1本のラインとして説明する。   Interpolation of camera shake correction amount data will be described, but here, camera shake detection (timing at which camera shake amount data is supplied from the camera shake detection unit 18 to the camera shake correction amount calculation unit 19) reads 100 lines. A case of three points in between will be described as an example. As shown in FIG. 6, here, for convenience of explanation, it is assumed that the amount of camera shake from the camera shake detection unit 18 can be acquired for the line 1 ′, the line 50 ′, and the line 100 ′. This line 1 'is a reference line for explanation, and will be described as one line in the lines constituting the captured image.

図6に示した状態は、ライン1’を読み出す際の手ぶれ量は、P1ピクセルであり、ライン50’を読み出す際の手ぶれ量は、P2ピクセルであり、ライン100’を読み出す際の手ぶれ量は、P3ピクセルであることを示している。   In the state shown in FIG. 6, the amount of camera shake when reading line 1 ′ is P1 pixel, the amount of camera shake when reading line 50 ′ is P2 pixel, and the amount of camera shake when reading line 100 ′ is , P3 pixel.

この手ぶれ量とは、手ぶれ検出部18から出力され、手ぶれ補正量算出部19に入力された情報を、手ぶれ補正量算出部19がピクセル単位の値に変換した値である。なお、手ぶれ補正量算出部19が変換した後のピクセル単位の手ぶれ量は、小数点以下を含むピクセル単位とされ、その後の処理において1ピクセル以下の量での補正を可能としている。   The camera shake amount is a value obtained by converting the information output from the camera shake detection unit 18 and input to the camera shake correction amount calculation unit 19 into a pixel unit value. Note that the camera shake amount in pixel units after conversion by the camera shake correction amount calculation unit 19 is in pixel units including the decimal part, and correction in an amount of 1 pixel or less is possible in the subsequent processing.

手ぶれ量P1乃至P3は、所定のタイミングに取得された手ぶれ量を基準としたときの差分である。所定のタイミングとは、画像の撮像が開始された直後である。図6に示した状態では、基準から、ライン1’のときに右側の手ぶれが発生し、その後ライン50’まで右側の手ぶれが発生し、そして、ライン100’までは、左側の手ぶれが発生した状況である。   The camera shake amounts P1 to P3 are differences based on the camera shake amount acquired at a predetermined timing. The predetermined timing is immediately after the start of image capturing. In the state shown in FIG. 6, from the reference, right hand shake occurs at line 1 ′, right hand shake occurs until line 50 ′, and left hand shake occurs until line 100 ′. Is the situation.

例えば、被写体として静止している四角形を撮像したときに、図6に示したような手ぶれ量が取得される手ぶれが、画像処理装置10に加えられると、そのまま、補正をしなければ、図7に示したような画像が撮像されたこと(ユーザに提供されること)になる。このような歪んだ画像を補正し、四角形が四角形の画像として最終的にユーザに提供されるように手ぶれに関する補正が行われる。   For example, when a camera shake amount obtained as shown in FIG. 6 is captured in the image processing apparatus 10 when a stationary square is imaged as a subject, the image processing apparatus 10 does not perform correction as it is. The image as shown in (1) is taken (provided to the user). Such a distorted image is corrected, and camera shake correction is performed so that the quadrilateral is finally provided to the user as a quadrilateral image.

本実施の形態においては、CMOSなどのX−Yアドレス型の個体撮像素子を撮像素子11(図5)として用いる場合を例に挙げて説明しているが、仮に、CCDなどの電荷転送型の個体撮像素子を、撮像素子11として用いた場合、手ぶれによる画像のブレを補正する方式としては、ライン毎の手ぶれを画面内で単一の値で代用することにより本発明のシステムを適用することは可能である(1画像内では、同一の値が用いられることにより行われる)。   In the present embodiment, an example in which an XY address type individual image pickup device such as a CMOS is used as the image pickup device 11 (FIG. 5) is described as an example. When the individual image sensor is used as the image sensor 11, the system of the present invention is applied by substituting a single value for the camera shake for each line in the screen as a method for correcting the image blur due to the camera shake. Is possible (in one image, this is done by using the same value).

ライン毎の手ぶれ量を補正するためには、ライン毎の手ぶれ量を取得する必要がある。しかしながら、図6を再度参照して説明するに、図6に示した例では、ライン1’、ライン50’、および、ライン100’のラインのときの手ぶれ量しか取得されない。このような離散的なデータしか取得できないのは、手ぶれ検出部18が手ぶれを検出するタイミング(サンプリング周波数)に依存しているからである。このような場合には、ライン2’乃至49’と、ライン51’乃至99’に関する手ぶれ量は取得されないため、それらのライン毎の手ぶれ量を補間して処理を実行する必要がある。   In order to correct the camera shake amount for each line, it is necessary to acquire the camera shake amount for each line. However, referring to FIG. 6 again, in the example shown in FIG. 6, only the amount of camera shake at the time of the line 1 ′, the line 50 ′, and the line 100 ′ is acquired. The reason why only such discrete data can be acquired is that it depends on the timing (sampling frequency) at which the camera shake detector 18 detects camera shake. In such a case, since the camera shake amounts relating to the lines 2 ′ to 49 ′ and the lines 51 ′ to 99 ′ are not acquired, it is necessary to perform processing by interpolating the camera shake amount for each line.

手ぶれ補正量算出部19が行う補間の処理(手ぶれ補正量の算出の処理)に関し、図8のフローチャートを参照して説明する。ステップS11において、手ぶれ補正量算出部19は、手ぶれ検出部18から検出された手ぶれ量のデータ(手ぶれ量を算出するための手ぶれ情報)を取得する。   Interpolation processing (camera shake correction amount calculation processing) performed by the camera shake correction amount calculation unit 19 will be described with reference to the flowchart of FIG. In step S <b> 11, the camera shake correction amount calculation unit 19 acquires camera shake amount data (camera shake information for calculating the camera shake amount) detected from the camera shake detection unit 18.

手ぶれ補正量算出部19は、上述したように、ライン1’乃至100’の間に、3つの手ぶれ量を取得する。この3つの手ぶれ量から、ライン2’乃至99’(ライン50’を除く)に関する手ぶれ量を、ステップS12において算出する。その算出の仕方であるが、図9A乃至図9Cを参照して説明する。図9Aに示したように、例えば、ライン1’に関する手ぶれ量を、ライン2’乃至40’にも用い、ライン50’に関する手ぶれ量を、ライン41’乃至60’にも用い、ライン100’に関する手ぶれ量を、ライン61’乃至99’にも用いるというように、1つのラインに関する手ぶれ量を、前後のラインに適用するといった方法で、補間を行うようにしても良い。   As described above, the camera shake correction amount calculation unit 19 acquires three camera shake amounts between the lines 1 'to 100'. From these three camera shake amounts, camera shake amounts relating to the lines 2 'to 99' (excluding the line 50 ') are calculated in step S12. The calculation method will be described with reference to FIGS. 9A to 9C. As shown in FIG. 9A, for example, the camera shake amount relating to the line 1 ′ is also used for the lines 2 ′ to 40 ′, the camera shake amount relating to the line 50 ′ is also used for the lines 41 ′ to 60 ′, and the hand shake amount relating to the line 100 ′. Interpolation may be performed by a method in which the amount of camera shake relating to one line is applied to the preceding and following lines, such as using the amount of camera shake for the lines 61 ′ to 99 ′.

また、図9Bに示すように、1次関数を用いて算出するようにしても良い。図9Bに示した例では、ライン1’とライン50’に関するそれぞれの手ぶれ量を2点とする1次関数から、ライン2’乃至49’に関する手ぶれ量が、それぞれ算出され、ライン50’とライン100’に関するそれぞれの手ぶれ量を2点とする1次関数からライン51’乃至99’に関する手ぶれ量が、それぞれ算出される。   Further, as shown in FIG. 9B, calculation may be performed using a linear function. In the example shown in FIG. 9B, camera shake amounts for lines 2 ′ to 49 ′ are calculated from a linear function having two camera shake amounts for line 1 ′ and line 50 ′, respectively. The camera shake amounts for the lines 51 ′ to 99 ′ are respectively calculated from a linear function having two camera shake amounts for 100 ′.

さらに、図9Cに示すように、1次関数ではない他の関数を用いて算出されるようにしても良い。図9Cに示した例は、基本的に図9Bに示した例と同様であるが、1次関数ではない他の関数を用いる点が異なる。通常、手ぶれは、同一方向に、同一の速度で、同一の大きさで変化するものではないと考えられる。従って、直線的に変化する1次関数を用いて補間するのでは、誤差が発生する可能性があり、より適切に精度良く補間(補正)を行うことを考えると、図9Cに示したような曲線的に変化する関数を用いた方が良い。   Furthermore, as shown in FIG. 9C, it may be calculated using another function that is not a linear function. The example shown in FIG. 9C is basically the same as the example shown in FIG. 9B, except that other functions that are not linear functions are used. Usually, camera shake is not considered to change in the same direction at the same speed and with the same magnitude. Therefore, if interpolation is performed using a linear function that changes linearly, an error may occur. Considering that interpolation (correction) is performed more appropriately and accurately, as shown in FIG. 9C. It is better to use a curve-changing function.

図9A乃至図9Cの内のどの方法を用いて補正量を算出するかは手ぶれ補正量算出部19の処理能力に依存する。手ぶれ補正量算出部19がマイクロコンピュータなどで構成される場合、そのマイクロコンピュータの処理能力に合わせて、図9A乃至図9Cに示した内の1つの方法で、補正量が算出(補間)されるようにすればよい。   Which method in FIGS. 9A to 9C is used to calculate the correction amount depends on the processing capability of the camera shake correction amount calculation unit 19. When the camera shake correction amount calculation unit 19 is configured by a microcomputer or the like, the correction amount is calculated (interpolated) by one of the methods shown in FIGS. 9A to 9C in accordance with the processing capability of the microcomputer. What should I do?

具体的には、手ぶれ補正量算出部19の処理能力が低い場合、演算量が少ない図9Aに示した方法で、補正量の算出(補間)が行なわれるようにし、手ぶれ補正量算出部19の処理能力が比較的高い場合、演算量が比較的多い図9Cに示した方法で、補正量の算出(補間)が行なわれるようにすればよい。   Specifically, when the processing capability of the camera shake correction amount calculation unit 19 is low, the correction amount is calculated (interpolated) by the method shown in FIG. When the processing capability is relatively high, the correction amount may be calculated (interpolated) by the method shown in FIG.

このように、離散的な手ぶれ量から、ライン毎の手ぶれ量が求められると、ステップS13において、手ぶれ補正量の算出が行われる。手ぶれ補正量とは、手ぶれ量を、手ぶれのない状態(手ぶれの影響を低減された状態)にするために、どれだけの補正を行えば良いのかを表すピクセル単位の値である。   As described above, when the camera shake amount for each line is obtained from the discrete camera shake amount, the camera shake correction amount is calculated in step S13. The camera shake correction amount is a pixel unit value indicating how much correction should be performed in order to reduce the amount of camera shake (a state in which the effect of camera shake is reduced).

例えば、図6に示したように、ライン1’に関する手ぶれ量が、P1ピクセルであった場合、その手ぶれ量がP1ピクセルである状態を、手ぶれのない状態にするためには、絶対値が異なり、符号の異なる量、すなわちこの場合、―P1ピクセルが補正量として算出されるようにすれば良い。   For example, as shown in FIG. 6, when the amount of camera shake relating to the line 1 ′ is P1 pixel, the absolute value is different in order to change the state where the camera shake amount is P1 pixel into a state without camera shake. In this case, it is sufficient to calculate the amount of different sign, that is, in this case, −P1 pixel as the correction amount.

図10A乃至図10Cは、手ぶれ補正量算出部19により算出された手ぶれ補正量をグラフとして示した図である。図10Aは、手ぶれ補正量算出部19が、図9Aを参照して説明した方式により手ぶれ量を補間したときに算出される手ぶれ補正量を示している。図10Bは、手ぶれ補正量算出部19が、図9Bを参照して説明した方式により手ぶれ量を補間したときに算出される手ぶれ補正量を示している。図10Cは、手ぶれ補正量算出部19が、図9Cを参照して説明した方式により手ぶれ量を補間したときに算出される手ぶれ補正量を示している。   10A to 10C are graphs showing the camera shake correction amount calculated by the camera shake correction amount calculating unit 19. FIG. 10A shows the camera shake correction amount calculated when the camera shake correction amount calculation unit 19 interpolates the camera shake amount by the method described with reference to FIG. 9A. FIG. 10B shows the camera shake correction amount calculated when the camera shake correction amount calculation unit 19 interpolates the camera shake amount by the method described with reference to FIG. 9B. FIG. 10C shows the camera shake correction amount calculated when the camera shake correction amount calculation unit 19 interpolates the camera shake amount by the method described with reference to FIG. 9C.

このように、手ぶれ補正量が算出されると、ステップS14(図6)において、読み出し位置の決定が行われる。読み出し位置が決定されると、その位置に位置する画素が、2画素である場合、新たな画素を補間する処理がステップS15で行われる。このステップS14の読み出し位置の決定の処理と、ステップS15の画素の補間について説明する。なお、説明の都合上、ステップS14の処理とステップS15の処理をまとめて以下に説明するが、ステップS14までの処理は、手ぶれ補正量算出部19(図5)で行われ、ステップS15の処理は、画像補間部14で行われる。   As described above, when the camera shake correction amount is calculated, the reading position is determined in step S14 (FIG. 6). When the readout position is determined, if there are two pixels at that position, a process of interpolating a new pixel is performed in step S15. The reading position determination process in step S14 and the pixel interpolation in step S15 will be described. For convenience of explanation, the processing in step S14 and the processing in step S15 will be described together below, but the processing up to step S14 is performed by the camera shake correction amount calculation unit 19 (FIG. 5), and the processing in step S15. Is performed by the image interpolation unit 14.

図11の左側の図は、手ぶれ補正量算出部19により算出された水平方向の手ぶれ補正量をグラフ化した図であり、図11の右側の図は、四角形の被写体を撮像したときに加えられた手ぶれを補正しなかった場合に撮像される画像Aの一例を示す図であり、図11の中央の図は、右側の図に示した画像の内の部分aを拡大したときの図である。   The left diagram in FIG. 11 is a graph showing the horizontal camera shake correction amount calculated by the camera shake correction amount calculation unit 19, and the right diagram in FIG. 11 is added when a rectangular object is imaged. FIG. 11 is a diagram illustrating an example of an image A that is captured when camera shake is not corrected, and the center diagram of FIG. 11 is a diagram when a portion a of the image illustrated in the right diagram is enlarged. .

画像A内の部分aは、ライン20’乃至29’の10本のラインを含む。そのうち、読み出すべき画素bは、ライン23’上に位置する。算出された手ぶれ補正量は、1ライン毎に算出されているが、その1ライン毎の補正量、すなわち、何ピクセル分、読み出す位置をずらすかのデータに基づき、それぞれのラインの読み出し開始位置が決定される。   The part a in the image A includes 10 lines 20 'to 29'. Among them, the pixel b to be read is located on the line 23 '. The calculated camera shake correction amount is calculated for each line. Based on the correction amount for each line, that is, based on data indicating how many pixels the reading position is shifted, the reading start position of each line is determined. It is determined.

その読み出し開始位置を線で結ぶと、図11の中央の図に示したような読み出し開始ラインbが作成される。図11の中央の図に示した読み出し開始ラインbは、直線的に図示しているが、直線的になるとは限らず、所定のラインが、他のラインよりも、その読み出し開始位置がずれているようなこともある。また、この読み出し開始ラインbは、説明のために図示した線であり、手ぶれ補正量算出部19による処理の結果として生成されるライン、又は、処理を実行する上で必要となるラインではない。   When the read start positions are connected by a line, a read start line b as shown in the center diagram of FIG. 11 is created. The read start line b shown in the center diagram of FIG. 11 is linearly illustrated, but is not necessarily linear, and a predetermined line has a read start position shifted from other lines. Sometimes it is. The read start line b is a line shown for explanation, and is not a line generated as a result of processing by the camera shake correction amount calculation unit 19 or a line necessary for executing the processing.

図12に示すように、読み出し開始ラインbから読み出しを開始すると、図12の下側に示した図のように、四角形の1辺の一部分を構成する部分aの画像が、歪みがない画像に補正されたことがわかる。   As shown in FIG. 12, when reading is started from the reading start line b, as shown in the lower side of FIG. 12, the image of the part a that constitutes a part of one side of the square becomes an image without distortion. You can see that it has been corrected.

本実施の形態においては、1ピクセル以下の補正も可能とするため、水平方向又は垂直方向の、どちらか一方に着目した場合、読み出すべき画素bが、1つの画素上に位置するときと、2つの画素上に位置するときとが考えられる。まず、水平方向に着目した場合について説明する。図13Aに示した例は、画素bが1つの画素上に位置する場合を示している。図13Aに示したような場合には、画素bの画素データとして、画素G3の画素データが読み出される。   In this embodiment, in order to enable correction of one pixel or less, when attention is paid to either the horizontal direction or the vertical direction, when the pixel b to be read is positioned on one pixel, 2 It may be when it is located on one pixel. First, a case where attention is paid to the horizontal direction will be described. The example illustrated in FIG. 13A illustrates a case where the pixel b is located on one pixel. In the case as shown in FIG. 13A, the pixel data of the pixel G3 is read out as the pixel data of the pixel b.

図13Bに示した例は、画素bが2つの画素上に位置する場合を示している。図13Bに示した例では、画素bは、画素G2と画素G3上にまたがって位置している。このような場合には、隣接する複数の画素から画素bのデータが作成され、その作成されたデータが、画素bの画素データとして読み出される。   The example illustrated in FIG. 13B illustrates a case where the pixel b is located on two pixels. In the example illustrated in FIG. 13B, the pixel b is located across the pixel G2 and the pixel G3. In such a case, data of the pixel b is created from a plurality of adjacent pixels, and the created data is read as pixel data of the pixel b.

図13Bに示した例を参照し、隣接する複数の画素から画素bのデータを生成する場合を説明する。まず、画素bが画素G2と画素G3とにまたがっている場合、画素G2と画素G3の画素データのみを用いて画素bの画素データを生成する。このようにした場合、画素bが画素G2と画素G3にまたがっているそれぞれの割合を乗算することにより画素bの画素データを生成する。   A case where the data of the pixel b is generated from a plurality of adjacent pixels will be described with reference to the example illustrated in FIG. 13B. First, when the pixel b spans the pixel G2 and the pixel G3, the pixel data of the pixel b is generated using only the pixel data of the pixel G2 and the pixel G3. In such a case, pixel data of the pixel b is generated by multiplying the ratio of the pixel b straddling the pixel G2 and the pixel G3.

例えば、画素G2の画素データをデータD2とし、画素G3の画素データをデータD3とし、画素bが画素G2にかかる割合をKb(0<Kb<1)とすると、以下の式に基づき算出される。
画素bの画素データ=D2×Kb+D3×(1−Kb)
For example, assuming that the pixel data of the pixel G2 is data D2, the pixel data of the pixel G3 is data D3, and the ratio of the pixel b to the pixel G2 is Kb (0 <Kb <1), it is calculated based on the following equation: .
Pixel data of pixel b = D2 × Kb + D3 × (1−Kb)

このような単に、画素bがかかっている画素のデータと、そのかかっている割合を乗算することにより、読み出す画素bの画素データを生成するようにしても良いし、画素bがかかっていない画素のデータも含めて画素bの画素データを生成するようにしても良い。   The pixel data of the pixel b to be read may be generated by simply multiplying the data of the pixel on which the pixel b is applied and the ratio of the pixel b, or the pixel on which the pixel b is not applied. The pixel data of the pixel b may be generated including this data.

例えば、図13Bに示した例においては、画素G1乃至画素G4を用いて画素bの画素データを生成するようにする。このようにした場合、画素G2にかかっている画素bの割合から一意に導き出される係数(K1乃至K4とする)を、画素G1乃至G4のそれぞれの画素データ(D1乃至D4とする)に乗算し、その乗算された値を加算する。すなわち、以下の式に基づき算出される。
画素bのデータ=D1×K1+D2×K2+D3×K3+D4×K4
For example, in the example illustrated in FIG. 13B, pixel data of the pixel b is generated using the pixels G1 to G4. In this case, the pixel data (referred to as D1 to D4) of the pixels G1 to G4 are multiplied by coefficients (referred to as K1 to K4) that are uniquely derived from the ratio of the pixel b applied to the pixel G2. , Add the multiplied values. That is, it is calculated based on the following formula.
Pixel b data = D1 × K1 + D2 × K2 + D3 × K3 + D4 × K4

これらの係数K1乃至K4は、画素G2にかかっている画素bの割合(すなわち、手ぶれ補正量が小数点以下のピクセルを含む場合、その小数点以下の数値(例えば、手ぶれ補正量が1.5ピクセルと算出されたときには、0.5))と関連付けられたテーブルとして、画像補間部14または手ぶれ補正量算出部19に記憶され、その記憶されているテーブルから係数が読み出されるようにしても良い。   These coefficients K1 to K4 are the ratio of the pixel b applied to the pixel G2 (that is, when the camera shake correction amount includes a pixel below the decimal point, the numerical value after the decimal point (for example, the camera shake correction amount is 1.5 pixels). When it is calculated, it may be stored in the image interpolation unit 14 or the camera shake correction amount calculation unit 19 as a table associated with 0.5)), and the coefficient may be read from the stored table.

このように複数の画素から、画素bの画素データを生成する方が、より精度良く手ぶれの補正を行うことが可能となる。なお、画素bが、1つの画素上に位置しているような場合でも、隣接する複数の画素データから画素データが、上述したようにして生成されるようにしても良い。   Thus, it is possible to correct camera shake more accurately by generating pixel data of the pixel b from a plurality of pixels. Even when the pixel b is positioned on one pixel, the pixel data may be generated as described above from a plurality of adjacent pixel data.

このようにして、水平方向の読み出し位置と、その読み出される画素データを必要に応じて補間(生成)するといった処理が行われる。次に、垂直方向の読み出し位置と、その読み出される画素を必要に応じて補間(生成)するといった処理について説明する。垂直方向に関しても、上述した水平方向の処理と基本的に同様な処理である。   In this way, a process of interpolating (generating) the readout position in the horizontal direction and the readout pixel data as necessary is performed. Next, a process of interpolating (generating) the readout position in the vertical direction and the readout pixel as necessary will be described. The process in the vertical direction is basically the same as the process in the horizontal direction described above.

図14の左側の図は、手ぶれ補正量算出部19により算出された垂直方向の手ぶれ補正量をグラフ化した図である。図14の右側の図は、四角形の被写体を撮像したときに、上方向に加えられた手ぶれによる影響を補正しなかった場合に撮像される画像Aの一例を示す図であり、四角形が伸長されてしまっている状態を示している。図14の中央の図は、右側の図に示した画像の内の部分aを拡大したときの図である。   The diagram on the left side of FIG. 14 is a graph of the camera shake correction amount in the vertical direction calculated by the camera shake correction amount calculation unit 19. The right side of FIG. 14 is a diagram illustrating an example of an image A that is captured when the influence of camera shake applied in the upward direction is not corrected when a rectangular subject is imaged. It shows the state that has been. The middle diagram in FIG. 14 is a diagram when the portion a in the image shown in the right diagram is enlarged.

画像A内の部分aは、ライン20’乃至26’の7本のラインを含む。そのうち、読み出すべき画素bは、ライン23’上に位置する。図14の中央に示した図では、手ぶれがない状態で撮像されたときに位置すべきライン(以下、適宜、本来のラインと記述する)に符号を割り振り、説明の都合上、各ライン間に隙間を設けて図示してある。図14に示した例では、本来のラインと、撮像された画像のラインとが一致していないために、ラインの隙間に画像が存在してしまっている状態を示している。   The part a in the image A includes seven lines 20 'to 26'. Among them, the pixel b to be read is located on the line 23 '. In the diagram shown in the center of FIG. 14, a code is assigned to a line (hereinafter referred to as an original line as appropriate) that should be positioned when an image is taken without camera shake. A gap is provided for illustration. In the example illustrated in FIG. 14, the original line and the captured image line do not match, and thus an image exists in the gap between the lines.

上述した水平方向の手ぶれの補正では、1ライン内での読み出しの開始位置を変化させることにより補正が行なわれるようにしたが、垂直方向の手ぶれの補正では、ライン自身を選択することにより補正が行われるようにする。換言すれば、垂直方向の手ぶれの補正は、何ピクセルだけ、上または下に撮像されたラインを移動させれば、本来の手ぶれのない状態で撮像された画像になるかを補正量として算出し、その補正量に基づいて読み出しを行うことにより行われる。   In the above-described horizontal camera shake correction, correction is performed by changing the reading start position in one line. However, in the vertical camera shake correction, correction is performed by selecting the line itself. To be done. In other words, camera shake correction in the vertical direction is calculated as a correction amount based on how many pixels the imaged line is moved up or down to obtain an image imaged without the original camera shake. The reading is performed based on the correction amount.

水平方向の補正の場合と同様に、垂直方向の補正においても、読み出すべき画素bが、図15Aに示すように1つの画素(ライン)上に位置するときと、図15Bに示すように複数の画素(ライン)上に位置するときとが考えられる。複数の画素上に画素bが位置するときの画素bの画素データの生成の仕方は、図13Bを参照して説明した水平方向の補正の場合と同様に、係数を用いて算出するなどの仕方により行うことが可能であるので、ここでは、その説明を省略する。   As in the case of horizontal correction, in vertical correction, a pixel b to be read is positioned on one pixel (line) as shown in FIG. 15A, and a plurality of pixels b as shown in FIG. 15B. It can be considered that it is located on a pixel (line). A method of generating pixel data of the pixel b when the pixel b is positioned on a plurality of pixels is calculated using a coefficient, as in the case of the horizontal correction described with reference to FIG. 13B. Therefore, the description thereof is omitted here.

このような補間(補正)が行われると、図16の左側の図のように、本来のライン上に、撮像された画像のラインがのる。その結果、図16の右側の図のように、この場合、四角形の一辺を構成する部分が、本来のライン上に位置するように撮像された画像になる。このように、垂直方向に関しても、撮像時に手ぶれが加えられたような画像であっても、手ぶれの影響を低減させた画像を、ユーザに提供することが可能となる。   When such interpolation (correction) is performed, a line of the captured image is placed on the original line as shown in the left diagram of FIG. As a result, as shown in the diagram on the right side of FIG. 16, in this case, an image is captured so that the portion constituting one side of the quadrangle is located on the original line. In this way, even in the vertical direction, even if the image is shaken during imaging, it is possible to provide the user with an image in which the influence of shake is reduced.

このように、本実施の形態においては、水平方向と垂直方向の補正(図8のステップS14とステップS15の処理)が、それぞれ行われる。   As described above, in the present embodiment, the correction in the horizontal direction and the vertical direction (steps S14 and S15 in FIG. 8) is performed.

ところで、上述した実施の形態においては、ステップS12において手ぶれ量の補間を行い、ステップS13において手ぶれ補正量を算出するようにした。すなわち、手ぶれ検出部18から取得される離散的なデータを、補間してライン毎の手ぶれ量を生成した後に、ライン毎の補正量を算出するようにした。   By the way, in the above-described embodiment, the camera shake amount is interpolated in step S12, and the camera shake correction amount is calculated in step S13. That is, after the discrete data acquired from the camera shake detection unit 18 is interpolated to generate the camera shake amount for each line, the correction amount for each line is calculated.

しかしながら、図17に示すフローチャートに従って、手ぶれによる影響の補正が行われるようにしても良い。ステップS21において、手ぶれ検出部18から手ぶれ量が取得されると、ステップS22において、その取得された手ぶれ量に対しての手ぶれ補正量が、手ぶれ補正量算出部19により算出される。そして、ステップS23において、その算出された手ぶれ補正量を用いて、ライン毎に手ぶれ補正量が用意されるように、手ぶれ補正量の補間(生成)の処理が行われる。   However, the influence of camera shake may be corrected according to the flowchart shown in FIG. When the camera shake amount is acquired from the camera shake detection unit 18 in step S21, the camera shake correction amount calculation unit 19 calculates the camera shake correction amount with respect to the acquired camera shake amount in step S22. In step S23, camera shake correction amount interpolation (generation) processing is performed so that the camera shake correction amount is prepared for each line using the calculated camera shake correction amount.

すなわちこの場合、手ぶれ検出部18から取得される離散的なデータから、離散的な手ぶれ補正量を算出し、その手ぶれ補正量を補間してライン毎の手ぶれ補正量が用意されるようにした。このように、手ぶれ補正量を算出した後に、その手ぶれ補正量を補間するようにしても、上述したような、手ぶれ量を補間した後に、その補間された手ぶれ量を用いて手ぶれ補正量の算出を行う場合と同等の効果をえることが可能である。   That is, in this case, a discrete camera shake correction amount is calculated from the discrete data acquired from the camera shake detection unit 18, and the camera shake correction amount is interpolated to prepare a camera shake correction amount for each line. As described above, even if the camera shake correction amount is interpolated after calculating the camera shake correction amount, the camera shake correction amount is calculated using the interpolated camera shake amount after interpolating the camera shake amount as described above. It is possible to obtain the same effect as when performing

ステップS24以下の処理は、上述したステップS14以下の処理と同様の処理なので、その説明は省略する。また、ステップS22やステップS23における処理も、基本的な処理、例えば、手ぶれ補正量を算出する際、1次関数を用いて算出する、曲線的な関数を用いて算出するなどは、図8のフローチャートの説明をするうえで説明したことと同様に行うことが可能であるので、その説明は省略する。   Since the process after step S24 is the same as the process after step S14 described above, the description thereof will be omitted. In addition, the processing in step S22 and step S23 is also a basic processing, for example, when calculating the camera shake correction amount, calculating using a linear function, calculating using a curvilinear function, etc. Since it can be performed in the same manner as described in describing the flowchart, the description thereof is omitted.

上述したように、手ぶれ補正量算出部19においては、手ぶれ補正量が算出されるわけだが、その手ぶれ補正量は、図5に示したように、画像補間部14、TG15、およびメモリコントローラ16に供給される。この各部で行う手ぶれ補正量に基づく画素の読み出しについて説明する。図18Aに示すように、ここでは、画素G1の所定の位置が、読み出し開始位置R0として設定された場合を例に挙げて説明する。   As described above, the camera shake correction amount calculation unit 19 calculates the camera shake correction amount. As shown in FIG. 5, the camera shake correction amount is transmitted to the image interpolation unit 14, the TG 15, and the memory controller 16. Supplied. The pixel readout based on the camera shake correction amount performed by each unit will be described. As shown in FIG. 18A, here, a case where the predetermined position of the pixel G1 is set as the reading start position R0 will be described as an example.

このような場合、まず、TG15により、撮像素子11からAFE12に供給される画素データの読み出しが制御される。TG15による画素データの読み出しの制御は、整数倍でのピクセル単位で行われる。そのため、その読み出しは、図18Bに示すように読み出し開始位置R1から開始される。この読み出し開始位置R1は、この場合、画素G1の先頭の位置になっているため、AFE12以降の各部には、図18Cに示すように、画素G1以降の画素データのみが供給される。   In such a case, first, reading of pixel data supplied from the image sensor 11 to the AFE 12 is controlled by the TG 15. The control of reading out pixel data by the TG 15 is performed in units of pixels in integer multiples. Therefore, the reading is started from the reading start position R1 as shown in FIG. 18B. In this case, since the read start position R1 is the head position of the pixel G1, only the pixel data after the pixel G1 is supplied to each part after the AFE 12, as shown in FIG. 18C.

すなわち、TG15の制御により、おおまかな手ぶれの補正が行われことになる。   That is, rough camera shake correction is performed under the control of TG15.

次に画像補間部14とメモリコントローラ16により、1ピクセルに満たない小数点以下の補正が行われる。まず、画像補間部14を介し、メモリコントローラ16による制御により、メモリ17には、図18Cに示した画素データが順次記憶される。メモリコントローラ16は、そのメモリ17に記憶された画素データを必要に応じ読み出し、画像補間部14に供給する。   Next, the image interpolation unit 14 and the memory controller 16 perform correction below the decimal point that is less than one pixel. First, the pixel data shown in FIG. 18C is sequentially stored in the memory 17 under the control of the memory controller 16 via the image interpolation unit 14. The memory controller 16 reads out the pixel data stored in the memory 17 as necessary, and supplies it to the image interpolation unit 14.

このメモリコントローラ16による読み出しと、画像補間部14における処理について説明するに、この場合、図18Dの上段に示した図のように、画素G1の途中の位置にある読み出し開始位置R2から画素データの読み出しが行われるわけだが、画素の途中から読み出すことはできないため、読み出しではなく、図18Dの下段に示したように画素G1’、画素G2’、…、といった画素データが生成(補間)され、出力されるといった処理が行われる。   The reading by the memory controller 16 and the processing in the image interpolation unit 14 will be described. In this case, as shown in the upper part of FIG. 18D, the pixel data is read from the reading start position R2 in the middle of the pixel G1. Although reading is performed, it is not possible to read from the middle of the pixel, so pixel data such as pixel G1 ′, pixel G2 ′,... Is generated (interpolated) as shown in the lower part of FIG. Processing such as output is performed.

この補間の処理は、図13や図15を参照して既に説明したが、係数などを画素データに乗算するといった処理により行われる。水平方向および垂直方向に関し、それぞれ画素の生成(画素の補間)といた処理が行われる。このような処理により、こまかな手ぶれの補正が行われる。このような処理が行われるためには、画素データを記憶するためのメモリ17が必要であり、また、そのメモリ17への書き込みと読み出しを制御するためのメモリコントローラ16が必要であるため、図5に示すような構成とされている。   This interpolation process has already been described with reference to FIGS. 13 and 15, but is performed by a process of multiplying the pixel data by a coefficient or the like. With respect to the horizontal direction and the vertical direction, processes such as pixel generation (pixel interpolation) are performed. Through such a process, a fine correction of camera shake is performed. In order to perform such processing, a memory 17 for storing pixel data is necessary, and a memory controller 16 for controlling writing to and reading from the memory 17 is necessary. The configuration is as shown in FIG.

なお、図5に示した構成例では、信号処理部13から出力される画素データ(画像データ)は、画像補間部14を介して、メモリコントローラ16の制御のもと、メモリ17に記憶されるようになっている。このような構成とすることにより、上述した画像補間部14による画素の補間といった処理が行われる前(信号処理部13からのデータをメモリコントローラ16に供給する際)に、画像の解像度の変換を行い、その解像度の変換が行われた画像に対して、手ぶれの補正といった処理が行われるようにすることが可能となる。   In the configuration example shown in FIG. 5, pixel data (image data) output from the signal processing unit 13 is stored in the memory 17 under the control of the memory controller 16 via the image interpolation unit 14. It is like that. With this configuration, the resolution of the image is converted before the processing such as pixel interpolation by the image interpolation unit 14 described above is performed (when the data from the signal processing unit 13 is supplied to the memory controller 16). Thus, it is possible to perform processing such as camera shake correction on the image whose resolution has been converted.

すなわち、画像補間部14においては、入力されたデータに対して解像度の変換といった処理を行うことも可能であるし、出力されるデータに対して画素の補間といった処理を行うことも可能である。このように、メモリ17に記憶される画素データ(画像データ)と、記憶された、それらのデータを、画像補間部14を介するようにすることにより、処理にバリエーションを持たせることができる。   That is, the image interpolation unit 14 can perform processing such as resolution conversion on input data, and can perform processing such as pixel interpolation on output data. As described above, the pixel data (image data) stored in the memory 17 and the stored data are made to pass through the image interpolation unit 14, so that the processing can be varied.

上述した実施の形態においては、画像処理装置10がTG15を備えている場合を例に挙げて説明したが、TG15は、手ぶれ補正のための処理に関しては、必ずしも必要な部分ではなく、画像処理装置10がTG15を備えない構成であっても、本発明を適用することはできる。   In the above-described embodiment, the case where the image processing apparatus 10 includes the TG 15 has been described as an example. However, the TG 15 is not necessarily a necessary part for processing for camera shake correction. The present invention can be applied even when 10 does not include the TG 15.

画像処理装置10がTG15を備えていない場合、画像補間部14とメモリコントローラ16で上述した画素の補間(読み出しと生成)が行われるようにすればよい。手ぶれ補正量算出部19が算出した手ぶれ補正量による読み出し開始位置が、図18Aに示すような読み出し開始位置R0であった場合、TG15により行われた大まかな補正を行うことなく、図18Dに示すような画素データの生成が画素G1から開始されるようにすれば良い。換言すれば、画像補間部14とメモリコントローラ16により、大まかな補正と細かな補正を、一括して行うようにすればよい。   When the image processing apparatus 10 does not include the TG 15, the pixel interpolation (reading and generation) described above may be performed by the image interpolation unit 14 and the memory controller 16. When the read start position based on the camera shake correction amount calculated by the camera shake correction amount calculation unit 19 is the read start position R0 as shown in FIG. 18A, the rough correction performed by the TG 15 is not performed and the process shown in FIG. 18D is performed. Generation of such pixel data may be started from the pixel G1. In other words, rough correction and fine correction may be collectively performed by the image interpolation unit 14 and the memory controller 16.

上述した実施の形態において、メモリ17の容量に関する説明はしていないが、メモリ17の容量は、例えば、1画像分のデータが記憶できる容量であればよい。しかしながら、以下に説明するように、手ぶれ補正量などを処理することにより、1画像分のデータを記憶できる容量以下であっても、処理を行うことが可能である。すなわち、メモリ17の容量が小さくても、上述した精度の良い手ぶれの補正を行うことが可能である。   In the above-described embodiment, the capacity of the memory 17 is not described, but the capacity of the memory 17 may be a capacity that can store data for one image, for example. However, as will be described below, by processing the camera shake correction amount and the like, it is possible to perform processing even if the capacity is less than the capacity for storing data for one image. That is, even if the capacity of the memory 17 is small, it is possible to perform the above-described accurate camera shake correction.

まず、水平方向の手ぶれ補正を行う場合について説明する。図19に示すように、1フィールドまたは1フレーム内に、手ぶれ検出部18(図5)が、8回の手ぶれ情報を検出する画像処理装置10であるとして説明をする。露光期間を図19に示したように設定すると、ライン1の手ぶれ情報は、情報a1乃至情報a6までのデータから算出することができ、ここでは、そのように設定されているとする。   First, the case of performing horizontal camera shake correction will be described. As shown in FIG. 19, description will be given assuming that the camera shake detection unit 18 (FIG. 5) is an image processing apparatus 10 that detects camera shake information of 8 times in one field or one frame. If the exposure period is set as shown in FIG. 19, the camera shake information of line 1 can be calculated from the data from information a1 to information a6. Here, it is assumed that the setting is made as such.

上述したように、本実施の形態においては、加えられた手ぶれを補正するための手ぶれ補正量は、所定のラインに関するデータを用いて補間(算出)することにより、ライン毎の手ぶれ補正量を用意するようにした。この手ぶれ量、または、手ぶれ補正量の補間の際には、図9Bを再度参照するに、例えば、ライン1’とライン50’の2つのラインの手ぶれ情報がなければ、その間のライン2’乃至49’の手ぶれ量、および、手ぶれ補正量を取得することはできない。   As described above, in the present embodiment, the camera shake correction amount for correcting the added camera shake is prepared by interpolating (calculating) using data related to a predetermined line. I tried to do it. When interpolating the camera shake amount or the camera shake correction amount, referring to FIG. 9B again, for example, if there is no camera shake information of two lines, line 1 ′ and line 50 ′, lines 2 ′ to The camera shake amount 49 and the camera shake correction amount cannot be acquired.

しかしながら、図18に示したように、ライン1(例えば、ライン1’)の手ぶれ情報として、情報a1乃至a6を用いるようにした場合、換言すれば、そのラインの露光期間内で取得することが可能な手ぶれ情報(この場合6個)を用いるようにした場合、次の情報a7が取得されるまで、次の手ぶれ量を算出することができない。この場合、情報a7が取得されるのは、ラインi(例えば、ライン50’)のときである。   However, as shown in FIG. 18, when information a1 to a6 is used as camera shake information of line 1 (for example, line 1 ′), in other words, it can be acquired within the exposure period of the line. When possible camera shake information (six in this case) is used, the next camera shake amount cannot be calculated until the next information a7 is acquired. In this case, the information a7 is acquired for the line i (for example, the line 50 ').

従って、6個の手ぶれ情報を用いて手ぶれ量を算出するようにした場合、ライン1乃至iの間にあるライン2乃至(i−1)(例えば、ライン2’乃至49’)は、ラインiにおける情報a7が取得されるまで、補間処理が行えないことになる。すなわち、このような手ぶれ検出では、所定の位置のラインを読み出すときに、そのラインでの手ぶれ情報が取得されておらず、手ぶれ補正により画素データを読み出す位置を決めることができないことになる。このために、一旦、画像データをメモリ17に蓄えて、手ぶれ補正量を算出した後に、読み出し(および補間などの処理)を実行する必要がある。   Therefore, when the camera shake amount is calculated using the six pieces of camera shake information, the lines 2 to (i−1) (for example, the lines 2 ′ to 49 ′) between the lines 1 to i are represented by the line i. Interpolation processing cannot be performed until the information a7 is acquired. That is, in such camera shake detection, when a line at a predetermined position is read out, camera shake information at that line is not acquired, and the position where pixel data is read out cannot be determined by camera shake correction. For this reason, it is necessary to store the image data in the memory 17 once, calculate the camera shake correction amount, and then perform reading (and processing such as interpolation).

しかしながら、ここで、ライン1の手ぶれ量を、情報a2乃至a5から算出するようにする。すなわち、露光期間に取得できる手ぶれ情報のうち、両端の情報を除き、中央に位置する4個の情報から手ぶれ量を算出するようにする。   However, here, the camera shake amount of the line 1 is calculated from the information a2 to a5. That is, out of camera shake information that can be acquired during the exposure period, information on both ends is excluded, and the amount of camera shake is calculated from four pieces of information located in the center.

このように、中央部分の情報(時間的に中央に位置する情報とその前後の情報)を用いて手ぶれ量を算出するようにすると、ライン1の露光期間が終了した時点で、ラインiに関する手ぶれ量を算出するときに必要とされる情報a3乃至a6までの情報が、既に検出(取得)されていることになる。従って、ライン1の時点で、ラインiに関する手ぶれ量を算出することができるので、ライン1の手ぶれ量とラインiの手ぶれ量とからライン2乃至ライン(i−1)に関する手ぶれ量を、ライン毎に、ライン1の時点で取得(算出)することができる。   As described above, when the camera shake amount is calculated using the information on the central portion (information centered in time and information before and after the information), the camera shake related to the line i at the end of the exposure period of the line 1. Information a3 to a6 required when calculating the amount has already been detected (acquired). Therefore, since the amount of camera shake related to line i can be calculated at the time of line 1, the amount of camera shake related to line 2 to line (i-1) is calculated for each line from the amount of camera shake of line 1 and the amount of camera shake of line i. In addition, it can be obtained (calculated) at the time of line 1.

よって、画像データを一旦メモリ17に、手ぶれ量を算出するために蓄えるようなことをしなくても、手ぶれ量および手ぶれ補正量を算出することができ、もって、メモリ17に画像データを記憶しなくても、水平方向に関しては、手ぶれ補正を行うことが可能となる。   Therefore, it is possible to calculate the camera shake amount and the camera shake correction amount without temporarily storing the image data in the memory 17 in order to calculate the camera shake amount, and thus storing the image data in the memory 17. Even without this, camera shake correction can be performed in the horizontal direction.

仮に、ライン1の手ぶれ量を、中央部分の情報a3と情報a4を用いて算出するようにした場合、すなわち、中央部分の2つの情報だけでライン1の手ぶれ量を算出するようにした場合、ライン1の手ぶれ量を算出する時点で(1ライン目の露光期間が終了した時点で)、ラインiと、さらにその先のラインjの手ぶれ量まで算出することが可能となる。   If the camera shake amount of the line 1 is calculated using the information a3 and the information a4 of the central portion, that is, if the camera shake amount of the line 1 is calculated using only two pieces of information of the central portion, When the camera shake amount of line 1 is calculated (when the exposure period of the first line is completed), it is possible to calculate the camera shake amount of line i and further line j.

このようにした場合、1ラインに関する手ぶれ量は、少ない情報から生成されることになるが、他のライン(例えば、ライン1に対しては、ラインiやラインj)の手ぶれ量をも用いて、すなわち、複数のラインの手ぶれ量を用いて、1ラインの手ぶれ量を補正するような処理を行うことにより、精度が高い手ぶれ量を算出するようにすることも可能であるし、その結果、より精度が高い手ぶれ補正量を算出するようにすることも可能である。   In this case, the camera shake amount for one line is generated from a small amount of information, but the camera shake amount of other lines (for example, line i and line j for line 1) is also used. That is, it is possible to calculate a camera shake amount with high accuracy by performing processing such as correcting the camera shake amount of one line using the camera shake amounts of a plurality of lines. It is also possible to calculate a camera shake correction amount with higher accuracy.

次に、垂直方向の手ぶれ補正を行う場合について説明する。垂直方向の手ぶれの補正に関しても、上述した水平方向の手ぶれの補正の場合と、基本的に同様であるので、差異のある部分について説明する。図19を再度参照して説明する。垂直方向に関しても、上述した水平方向の場合と同様に、1ライン目(ライン1)の手ぶれ量を算出するのに、例えば、情報a2乃至a5の情報から算出するようにすれば、1ライン目の露光期間が終了した時点で、ラインiの手ぶれ量を算出するのに必要な情報a3乃至a6が既に検出(取得)されていることになる。   Next, a case where camera shake correction in the vertical direction is performed will be described. The correction of camera shake in the vertical direction is basically the same as that in the case of the camera shake correction in the horizontal direction described above, and therefore, differences will be described. A description will be given with reference to FIG. 19 again. Also in the vertical direction, as in the case of the horizontal direction described above, if the camera shake amount of the first line (line 1) is calculated, for example, by calculating from the information of information a2 to a5, the first line At the end of the exposure period, information a3 to a6 necessary for calculating the amount of camera shake of line i has already been detected (acquired).

このため、上述した水平方向の場合と同じく、1画面分の画像データを記憶する容量を備えるメモリ17を、画像処理装置10が備える必要はなく、メモリ17の容量は小さくても、本発明を適用した精度良い手ぶれの補正を行うことができる。   For this reason, as in the case of the horizontal direction described above, the image processing apparatus 10 does not need to include the memory 17 having a capacity for storing image data for one screen. The applied camera shake can be corrected with high accuracy.

しかしながら、水平方向の手ぶれ補正と異なり、垂直方向の手ぶれ補正においては、図14や図15を参照して説明したように、複数のラインをまたがって処理を行う必要があるため、手ぶれ量と、画素を補間する際に必要となる画素数分(例えば、10ライン分)の画素(画像)データを記憶するだけの容量をもつメモリ17を、画像処理装置10は備える必要がある。   However, unlike the horizontal camera shake correction, in the vertical camera shake correction, as described with reference to FIGS. 14 and 15, it is necessary to perform processing across a plurality of lines. The image processing apparatus 10 needs to include a memory 17 having a capacity sufficient to store pixel (image) data corresponding to the number of pixels (for example, 10 lines) necessary for pixel interpolation.

このように、画像処理装置10は、メモリ17を備える必要はあるが、その容量は、1画像を記憶できる容量以下で良く、メモリ17の容量の削減を行うことができる。従って、メモリ17の手ぶれ補正のための画像データの記憶のために必要な容量以外の容量を、他の処理のために使うことや、容量を削減することによりメモリ17にかかるコスト自体を低減させることが可能となる。   As described above, the image processing apparatus 10 needs to include the memory 17, but the capacity thereof may be equal to or less than the capacity capable of storing one image, and the capacity of the memory 17 can be reduced. Therefore, the cost of the memory 17 itself can be reduced by using a capacity other than the capacity required for storing image data for camera shake correction in the memory 17 for other processing or by reducing the capacity. It becomes possible.

以上のように、手ぶれ検出部18(図5)において、短い期間に取得される情報で、手ぶれ量(手ぶれ補正量)の算出を行うと、メモリ17の容量の削減を行うことができる。上述した実施の形態においては、説明の簡略化のために、1フィールドまたは1フレーム内に8回の手ぶれ情報を検出するとしたが、本発明を適用するうえで、手ぶれの検出回数に制限はなく、如何なる回数であっても、本発明を適用することができる。   As described above, when the camera shake detection unit 18 (FIG. 5) calculates the camera shake amount (camera shake correction amount) with information acquired in a short period of time, the capacity of the memory 17 can be reduced. In the above-described embodiment, for the sake of simplicity, it is assumed that camera shake information is detected eight times within one field or one frame. However, in applying the present invention, the number of times of camera shake detection is not limited. The present invention can be applied any number of times.

ところで、X−Yアドレス型の固体撮像素子を用いた撮像装置の撮像過程においては、各画素の画像情報は、露光期間が終了した直後に読み出される。上述したようにメモリ17の容量が削減できる方法を適用した場合、問題が生じることが考えられる。その問題とは、露光期間が短くなる(シャッタースピードが速くなる、換言すれば、手ぶれ検出間隔>露光時間の半分の関係が満たされる)と、画素情報を読み出すタイミングの時に、まだ、次の時刻の手ぶれ量が検出されていない状態になる場合があることである。   By the way, in the imaging process of the imaging apparatus using the XY address type solid-state imaging device, the image information of each pixel is read out immediately after the exposure period ends. As described above, when the method capable of reducing the capacity of the memory 17 is applied, a problem may occur. The problem is that when the exposure period becomes shorter (the shutter speed becomes faster, in other words, the camera shake detection interval> half of the exposure time is satisfied), the pixel information is read out at the next time. There is a case where the amount of camera shake is not detected.

その問題について、図20を参照して説明する。領域1において、各ラインの露光中心は、手ぶれ検出に関する情報a4と情報a5の間に存在する。このとき、手ぶれ量は、情報a4と情報a5の情報から補間される必要があるが、領域1内の各ラインが読み出される時刻には、情報a5の手ぶれ検出はまだ行われていない状態である。そのために、領域1において、手ぶれ量を補間により求めることができない。   The problem will be described with reference to FIG. In region 1, the exposure center of each line exists between information a4 and information a5 related to camera shake detection. At this time, the amount of camera shake needs to be interpolated from the information a4 and information a5, but at the time when each line in the region 1 is read, the camera shake detection of the information a5 is not yet performed. . Therefore, in region 1, the amount of camera shake cannot be obtained by interpolation.

領域2において、各ラインの読み出し時刻が情報a5の検出時刻を超える。各ラインの露光中心が、手ぶれ検出に関する情報a4と情報a5の間に存在し、かつ、情報a4と情報a5の手ぶれが検出されているため、各ラインの手ぶれ量は、情報a4と情報a5の手ぶれ情報から補間で求めることが可能となる。   In region 2, the read time of each line exceeds the detection time of information a5. Since the exposure center of each line exists between information a4 and information a5 related to camera shake detection, and the camera shake of information a4 and information a5 is detected, the amount of camera shake of each line is the amount of information a4 and information a5. It can be obtained by interpolation from camera shake information.

領域3において、各ラインの露光中心が情報a5の検出時刻を超え、手ぶれ検出情報a5と情報a6の間に存在する。このとき手ぶれ量は、情報a5と情報a6の情報から補間する必要があるが、領域3内の各ラインの読み出す時刻に、まだ情報a6の手ぶれ検出が行われていない。そのため、領域3では手ぶれ量を補間により求めることができない。   In the area 3, the exposure center of each line exceeds the detection time of the information a5 and exists between the camera shake detection information a5 and the information a6. At this time, the camera shake amount needs to be interpolated from the information a5 and the information a6, but the camera shake detection of the information a6 has not been performed yet at the time of reading each line in the area 3. Therefore, in region 3, the amount of camera shake cannot be obtained by interpolation.

このように、(手ぶれ検出間隔)>(露光時間の半分)という条件が満たされるとき、手ぶれ量が補間できない領域が存在してしまうことが考えられる。   As described above, when the condition of (camera shake detection interval)> (half of the exposure time) is satisfied, there may be a region where the amount of camera shake cannot be interpolated.

手ぶれ検出のサンプリング周波数を増加させることで、手ぶれ検出間隔を短くして前述した問題を避けることは可能だが、計算量や通信量の増加によりシステム負担が増大する。   Although it is possible to shorten the camera shake detection interval and avoid the above-mentioned problems by increasing the sampling frequency of camera shake detection, the burden on the system increases due to an increase in calculation amount and communication amount.

そこで、システム負担を抑え、かつ、前述した問題を解決する方法として、手ぶれ量の予測を行うようにする。過去の手ぶれ情報から、次の時刻の手ぶれ量を予測するものである。例えば、図21に示すように、予測した手ぶれ量F1を算出するに、過去の手ぶれ量P1とP2を用い、その手ぶれ量P1とP2から線形的に直線1を取得し、その直線1の延長上の1点である手ぶれ量F1を算出する。   Therefore, the amount of camera shake is predicted as a method of reducing the system burden and solving the above-described problems. The camera shake amount at the next time is predicted from past camera shake information. For example, as shown in FIG. 21, in order to calculate the predicted camera shake amount F1, the past camera shake amounts P1 and P2 are used, the straight line 1 is obtained linearly from the camera shake amounts P1 and P2, and the straight line 1 is extended. The amount of camera shake F1, which is the upper point, is calculated.

この方法は、一例に過ぎず、予測に用いる過去の手ぶれデータ数や、予測アルゴリズム等に制限はない。   This method is merely an example, and there is no limit to the number of past camera shake data used for prediction, the prediction algorithm, and the like.

上述した実施の形態においては、画面の上端または下端の近傍における手ぶれ量(手ぶれ補正量)の補間処理を実行する場合、時間的に前後のフィールドまたはフレームにおける手ぶれデータを利用して、補間のための演算を行うようにしても良い。そのようにした場合、より、精度高く手ぶれを補正するための補正量などを算出することができ、もって、より精度高く手ぶれを補正することが可能となる。 In the above-described embodiment, when the camera shake amount (camera shake correction amount) interpolation process in the vicinity of the upper end or the lower end of the screen is executed, the camera shake data in the preceding and succeeding fields or frames is used for the interpolation. You may make it perform the calculation of. In such a case, it is possible to calculate a correction amount or the like for correcting camera shake with higher accuracy, and thus it is possible to correct camera shake with higher accuracy.

なお、上述した実施の形態においては、撮像される画像についての説明は特にしていないが、撮像される画像は、静止画像、動画像のどちらでも良い。すなわち、本発明は、静止画像を撮像するカメラなどにも適用できるし、動画像を撮像するカメラなどにも適用できる。   In the embodiment described above, the description of the captured image is not particularly given, but the captured image may be either a still image or a moving image. That is, the present invention can be applied to a camera that captures a still image, and can also be applied to a camera that captures a moving image.

以上のように、本発明によると、検出される少ない手ぶれに関するデータから、補間により、画像を構成する1ライン毎の手ぶれを補正するためのデータを求めることが可能となる。また、1ピクセル以下の手ぶれ量を補正するために、画素データの補間を行うようにすることで、CMOSなどのX−Yアドレス型の固体撮像素子を用いたビデオカメラなどの画像処理装置における手ぶれによる画像の歪みを、ライン毎に、1ピクセル単位以下の精度で補正することができる。   As described above, according to the present invention, it is possible to obtain data for correcting camera shake for each line constituting an image from data relating to a small amount of detected camera shake by interpolation. In addition, in order to correct a camera shake amount of 1 pixel or less, pixel data is interpolated, thereby causing a camera shake in an image processing apparatus such as a video camera using an XY address type solid-state image pickup device such as a CMOS. Can be corrected with accuracy of 1 pixel unit or less for each line.

さらに、本発明によると、撮像された画像の画像データを記憶するためのメモリ17の容量を、削減することが可能となる。勿論、本発明は、CMOSなどのX−Yアドレス型の固体撮像素子ではなく、CCDなどの電荷転送型の個体撮像素子を用いたビデオカメラなどに適用することも可能である。   Furthermore, according to the present invention, it is possible to reduce the capacity of the memory 17 for storing the image data of the captured image. Of course, the present invention can be applied not only to an XY address type solid-state image pickup device such as a CMOS but also to a video camera using a charge transfer type individual image pickup device such as a CCD.

上述した手ぶれを補正するための処理は、それぞれの機能を有するハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。   The above-described processing for correcting camera shake can be executed by hardware having each function, but can also be executed by software. When a series of processing is executed by software, various functions can be executed by installing a computer in which the programs that make up the software are installed in dedicated hardware, or by installing various programs. For example, it is installed from a recording medium in a general-purpose personal computer or the like.

記録媒体について説明するために、簡単に、記録媒体を扱うパーソナルコンピュータについて説明する。図22は、汎用のパーソナルコンピュータの内部構成例を示す図である。パーソナルコンピュータのCPU(Central Processing Unit)201は、ROM(Read Only Memory)202に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)203には、CPU201が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース205は、キーボードやマウスから構成される入力部206が接続され、入力部206に入力された信号をCPU201に出力する。また、入出力インタフェース205には、ディスプレイやスピーカなどから構成される出力部207も接続されている。   In order to describe the recording medium, a personal computer that handles the recording medium will be briefly described. FIG. 22 is a diagram illustrating an internal configuration example of a general-purpose personal computer. A CPU (Central Processing Unit) 201 of the personal computer executes various processes in accordance with programs stored in a ROM (Read Only Memory) 202. A RAM (Random Access Memory) 203 appropriately stores data and programs necessary for the CPU 201 to execute various processes. The input / output interface 205 is connected to an input unit 206 including a keyboard and a mouse, and outputs a signal input to the input unit 206 to the CPU 201. The input / output interface 205 is also connected to an output unit 207 including a display and a speaker.

さらに、入出力インタフェース205には、ハードディスクなどから構成される記憶部208、および、インターネットなどのネットワークを介して他の装置とデータの授受を行う通信部209も接続されている。ドライブ210は、磁気ディスク231、光ディスク232、光磁気ディスク233、半導体メモリ234などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。   The input / output interface 205 is also connected to a storage unit 208 composed of a hard disk or the like, and a communication unit 209 that exchanges data with other devices via a network such as the Internet. The drive 210 is used when data is read from or written to a recording medium such as the magnetic disk 231, the optical disk 232, the magneto-optical disk 233, and the semiconductor memory 234.

記録媒体は、図22に示すように、パーソナルコンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク231(フレキシブルディスクを含む)、光ディスク232(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク233(MD(Mini-Disc)(登録商標)を含む)、若しくは半導体メモリ234などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているROM202や記憶部208が含まれるハードディスクなどで構成される。   As shown in FIG. 22, the recording medium is distributed to provide a program to the user separately from the personal computer, and a magnetic disk 231 (including a flexible disk) on which the program is recorded, an optical disk 232 (CD- Consists of package media including ROM (Compact Disc-Read Only Memory), DVD (including Digital Versatile Disc), magneto-optical disk 233 (including MD (Mini-Disc) (registered trademark)), or semiconductor memory 234 In addition, it is configured by a hard disk including a ROM 202 storing a program and a storage unit 208 provided to a user in a state of being pre-installed in a computer.

なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。   In this specification, the steps for describing the program provided by the medium are performed in parallel or individually in accordance with the described order, as well as the processing performed in time series, not necessarily in time series. The process to be executed is also included.

X−Yアドレス型の撮像素子からの画像データの読み出しについて説明するための図である。It is a figure for demonstrating reading of the image data from an XY address type image pick-up element. ライン毎の読み出しのずれについて説明するための図である。It is a figure for demonstrating the shift | offset | difference of the read for every line. 手ぶれにより、被写体の画像が歪むことについて説明するための図である。It is a figure for demonstrating that the image of a to-be-photographed object is distorted by camera shake. 手ぶれにより、被写体の画像が歪むことについて説明するための図である。It is a figure for demonstrating that the image of a to-be-photographed object is distorted by camera shake. 本発明を適用した画像処理装置の一実施の形態の構成を示す図である。It is a figure which shows the structure of one Embodiment of the image processing apparatus to which this invention is applied. 手ぶれ量について説明するための図である。It is a figure for demonstrating the amount of camera shake. 手ぶれにより、被写体の画像が歪むことについて説明するための図である。It is a figure for demonstrating that the image of a to-be-photographed object is distorted by camera shake. 画像処理装置の動作について説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of an image processing apparatus. 手ぶれ量の補間について説明するための図である。It is a figure for demonstrating the interpolation of the amount of camera shake. 手ぶれ補正量について説明するための図である。It is a figure for demonstrating the camera-shake correction amount. 読み出し位置について説明するための図である。It is a figure for demonstrating a reading position. 読み出しについて説明するための図である。It is a figure for demonstrating reading. 画素の補間について説明するための図である。It is a figure for demonstrating the interpolation of a pixel. 読み出しについて説明するための図である。It is a figure for demonstrating reading. 画素の補間について説明するための図である。It is a figure for demonstrating the interpolation of a pixel. 補間された画素による画像について説明するための図である。It is a figure for demonstrating the image by the interpolated pixel. 画像処理装置の他の動作について説明するためのフローチャートである。It is a flowchart for demonstrating other operation | movement of an image processing apparatus. 画素の読み出しについて説明するための図である。It is a figure for demonstrating reading of a pixel. 手ぶれ量の算出に必要な情報について説明するための図である。It is a figure for demonstrating the information required for calculation of the amount of camera shake. 手ぶれ量の算出に必要な情報について説明するための図である。It is a figure for demonstrating the information required for calculation of the amount of camera shake. 手ぶれ量の予測について説明するための図である。It is a figure for demonstrating prediction of the amount of camera shake. 媒体を説明する図である。It is a figure explaining a medium.

符号の説明Explanation of symbols

10 画像処理装置, 11 撮像素子, 12 AFE, 13 信号処理部, 14 画像補間部, 15 TG, 16 メモリコントローラ, 17 メモリ, 18 手ぶれ検出部, 19 手ぶれ補正量算出部   DESCRIPTION OF SYMBOLS 10 Image processing apparatus, 11 Image pick-up element, 12 AFE, 13 Signal processing part, 14 Image interpolation part, 15 TG, 16 Memory controller, 17 Memory, 18 Shake detection part, 19 Shake correction amount calculation part

Claims (4)

X−Yアドレス型の固体撮像素子により画像を撮像する撮像手段により撮像された被写体画像を処理する画像処理装置において、
前記撮像手段により撮像された前記被写体画像を記憶する記憶手段と、
前記画像処理装置に加えられた振動に関する振動検出情報を出力する出力手段と、
前記被写体画像のライン毎の各露光期間内に前記出力手段により出力される振動検出情報のうち、前記各露光期間の時間的に中央に位置する振動検出情報とその前後の振動検出情報を、前記画像処理装置に加えられた振動の大きさを示す振動量に変換する変換手段と、
前記振動量に基づいて、前記振動による前記被写体画像への影響を低減するための補正量を算出する算出手段と
を備え、
前記振動による前記被写体画像への影響を低減するための補正に必要な被写体画像の画素数分の画像データが前記記憶手段に記憶されるように制御するとともに、複数の異なる前記補正量に基づいて、前記記憶手段に記憶された前記被写体画像を補正し、補正後の被写体画像を出力する制御を行う
ことを特徴とする画像処理装置。
In an image processing apparatus for processing a subject image picked up by an image pickup means for picking up an image by an XY address type solid-state image pickup device,
Storage means for storing the subject image captured by the imaging means;
Output means for outputting vibration detection information relating to vibration applied to the image processing device;
Of the vibration detection information output by the output means within each exposure period for each line of the subject image, the vibration detection information positioned at the center in time of each exposure period and the vibration detection information before and after the vibration detection information, Conversion means for converting into a vibration amount indicating a magnitude of vibration applied to the image processing apparatus;
Calculating means for calculating a correction amount for reducing the influence of the vibration on the subject image based on the vibration amount;
Control is performed so that image data corresponding to the number of pixels of the subject image necessary for correction to reduce the influence of the vibration on the subject image is stored in the storage unit, and based on a plurality of different correction amounts. An image processing apparatus that performs control to correct the subject image stored in the storage unit and output the corrected subject image.
X−Yアドレス型の固体撮像素子により被写体画像を撮像する撮像手段と、
前記撮像ステップの処理で撮像された前記被写体画像を記憶する記憶手段と
を備える画像処理装置の画像処理方法において、
前記画像処理装置に加えられた振動に関する振動検出情報を出力する出力ステップと、
前記被写体画像のライン毎の各露光期間内に前記出力ステップの処理で出力される振動検出情報のうち、前記各露光期間の時間的に中央に位置する振動検出情報とその前後の振動検出情報を、前記画像処理装置に加えられた振動の大きさを示す振動量に変換する変換ステップと、
前記振動量に基づいて、前記振動による前記被写体画像への影響を低減するための補正量を算出する算出ステップと
を含み、
前記記憶手段に、前記振動による前記被写体画像への影響を低減するための補正に必要な被写体画像の画素数分の画像データが記憶されるように制御するとともに、複数の異なる前記補正量に基づいて、前記記憶手段に記憶された前記被写体画像を補正し、補正後の被写体画像を出力する制御を行う
ことを特徴とする画像処理方法。
An imaging means for imaging a subject image by an XY address type solid-state imaging device;
In an image processing method of an image processing apparatus, comprising: storage means for storing the subject image captured in the processing of the imaging step;
An output step of outputting vibration detection information relating to vibration applied to the image processing device;
Of the vibration detection information output in the processing of the output step within each exposure period for each line of the subject image, vibration detection information located at the center in time of each exposure period and vibration detection information before and after the vibration detection information. A conversion step for converting into a vibration amount indicating a magnitude of vibration applied to the image processing device;
Calculating a correction amount for reducing the influence of the vibration on the subject image based on the vibration amount; and
The storage unit is controlled so as to store image data for the number of pixels of the subject image necessary for correction to reduce the influence of the vibration on the subject image, and based on a plurality of different correction amounts. An image processing method comprising: correcting the subject image stored in the storage unit and outputting the corrected subject image.
X−Yアドレス型の固体撮像素子により被写体画像を撮像する撮像手段と、
前記撮像ステップの処理で撮像された前記被写体画像を記憶する記憶手段と
を備える画像処理装置を制御するコンピュータのプログラムであって、
前記画像処理装置に加えられた振動に関する振動検出情報を出力する出力ステップと、
前記被写体画像のライン毎の各露光期間内に前記出力ステップの処理で出力される振動検出情報のうち、前記各露光期間の時間的に中央に位置する振動検出情報とその前後の振動検出情報を、前記画像処理装置に加えられた振動の大きさを示す振動量に変換する変換ステップと、
前記振動量に基づいて、前記振動による前記被写体画像への影響を低減するための補正量を算出する算出ステップと
を含み、
前記記憶手段に、前記振動による前記被写体画像への影響を低減するための補正に必要な被写体画像の画素数分の画像データが記憶されるように制御するとともに、複数の異なる前記補正量に基づいて、前記記憶手段に記憶された前記被写体画像を補正し、補正後の被写体画像を出力する制御を行う
ことを特徴とするプログラムを記録している記録媒体。
An imaging means for imaging a subject image by an XY address type solid-state imaging device;
A computer program for controlling an image processing apparatus comprising: storage means for storing the subject image captured in the processing of the imaging step;
An output step of outputting vibration detection information relating to vibration applied to the image processing device;
Of the vibration detection information output in the processing of the output step within each exposure period for each line of the subject image, vibration detection information located at the center in time of each exposure period and vibration detection information before and after the vibration detection information. A conversion step for converting into a vibration amount indicating a magnitude of vibration applied to the image processing device;
Calculating a correction amount for reducing the influence of the vibration on the subject image based on the vibration amount; and
The storage unit is controlled so as to store image data for the number of pixels of the subject image necessary for correction to reduce the influence of the vibration on the subject image, and based on a plurality of different correction amounts. And a control unit that corrects the subject image stored in the storage unit and outputs the corrected subject image.
X−Yアドレス型の固体撮像素子により被写体画像を撮像する撮像手段と、
前記撮像手段で撮像された前記被写体画像を記憶する記憶手段と
を備える画像処理装置を制御するコンピュータのプログラムであって、
前記画像処理装置に加えられた振動に関する振動検出情報を出力する出力ステップと、
前記被写体画像のライン毎の各露光期間内に前記出力ステップの処理で出力される振動検出情報のうち、前記各露光期間の時間的に中央に位置する振動検出情報とその前後の振動検出情報を、前記画像処理装置に加えられた振動の大きさを示す振動量に変換する変換ステップと、
前記振動量に基づいて、前記振動による前記被写体画像への影響を低減するための補正量を算出する算出ステップと
を含み、
前記記憶手段に、前記振動による前記被写体画像への影響を低減するための補正に必要な被写体画像の画素数分の画像データが記憶されるように制御するとともに、複数の異なる前記補正量に基づいて、前記記憶手段に記憶された前記被写体画像を補正し、補正後の被写体画像を出力する制御を行う
ことを特徴とするプログラム。
An imaging means for imaging a subject image by an XY address type solid-state imaging device;
A computer program for controlling an image processing apparatus comprising: storage means for storing the subject image captured by the imaging means;
An output step of outputting vibration detection information relating to vibration applied to the image processing device;
Of the vibration detection information output in the processing of the output step within each exposure period for each line of the subject image, vibration detection information located at the center in time of each exposure period and vibration detection information before and after the vibration detection information. A conversion step for converting into a vibration amount indicating a magnitude of vibration applied to the image processing device;
Calculating a correction amount for reducing the influence of the vibration on the subject image based on the vibration amount; and
The storage unit is controlled so as to store image data for the number of pixels of the subject image necessary for correction to reduce the influence of the vibration on the subject image, and based on a plurality of different correction amounts. A program for correcting the subject image stored in the storage means and outputting the corrected subject image.
JP2006117970A 2006-04-21 2006-04-21 Image processing apparatus and method, recording medium, and program Expired - Fee Related JP4499686B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006117970A JP4499686B2 (en) 2006-04-21 2006-04-21 Image processing apparatus and method, recording medium, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006117970A JP4499686B2 (en) 2006-04-21 2006-04-21 Image processing apparatus and method, recording medium, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003013685A Division JP3925415B2 (en) 2003-01-22 2003-01-22 Image processing apparatus and method, recording medium, and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010044112A Division JP4894937B2 (en) 2010-03-01 2010-03-01 Image processing apparatus and method

Publications (2)

Publication Number Publication Date
JP2006287946A JP2006287946A (en) 2006-10-19
JP4499686B2 true JP4499686B2 (en) 2010-07-07

Family

ID=37409288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006117970A Expired - Fee Related JP4499686B2 (en) 2006-04-21 2006-04-21 Image processing apparatus and method, recording medium, and program

Country Status (1)

Country Link
JP (1) JP4499686B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5102552B2 (en) * 2007-07-25 2012-12-19 イーストマン コダック カンパニー Image processing system, imaging device, and output device
JP6151930B2 (en) * 2013-02-19 2017-06-21 キヤノン株式会社 Imaging apparatus and control method thereof
JP6198567B2 (en) 2013-10-21 2017-09-20 ソニーセミコンダクタソリューションズ株式会社 Image sensor, operation method thereof, and electronic apparatus

Also Published As

Publication number Publication date
JP2006287946A (en) 2006-10-19

Similar Documents

Publication Publication Date Title
JP3925415B2 (en) Image processing apparatus and method, recording medium, and program
JP4446193B2 (en) Image processing apparatus and method, and program
JP4518197B2 (en) Imaging apparatus, image blur correction method, and program
JP4873523B2 (en) Image processing apparatus and method, and program
KR101109532B1 (en) Image capturing device, image capturing method, and a storage medium recording thereon a image capturing program
JP2012070241A (en) Image capturing apparatus, method and program
JP5729237B2 (en) Image processing apparatus, image processing method, and program
JP2007272459A (en) Image processor and processing method, and imaging device
JP5105844B2 (en) Imaging apparatus and method
JP4499686B2 (en) Image processing apparatus and method, recording medium, and program
JP3925560B2 (en) Image processing apparatus and method, recording medium, and program
JP3925559B2 (en) Image processing apparatus and method, recording medium, and program
JP2011114486A (en) Imaging device
JP7453267B2 (en) Imaging device, imaging device, operating method of the imaging device, and program
JP4894937B2 (en) Image processing apparatus and method
JP2013258468A (en) Imaging device, method for controlling the same, and program
JP4449777B2 (en) Imaging apparatus, image processing apparatus and method, recording medium, and program
JP4853746B2 (en) Imaging apparatus, image processing apparatus and method, recording medium, and program
JP2010187183A (en) Camera, lens aberration correction program, and computer readable recording medium with lens aberration correction program recorded thereon
JP6642991B2 (en) Image processing apparatus, imaging apparatus, and imaging control program
JPH11168622A (en) Image processor, image processing method and storage medium
JP5057665B2 (en) Image processing device
JP5300606B2 (en) Imaging apparatus and control method thereof

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070409

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070725

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070820

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100301

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100415

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees