(57)【要約】【課題】長時間露光時に加えられた振動による影響を低減させる。【解決手段】撮影時に振動が加えられた場合、その振動による影響を低減するための補正量が算出される。その撮影時の露光時間が、第１の閾値以下である場合、短時間露光で撮影されたと判断され、短時間露光時の処理が実行される。その撮影時の露光時間が、第１の閾値以上である場合、長時間露光で撮影されたと判断され、長時間露光時の処理が実行される。長時間露光時においては、算出された補正量に、露光時間に対応する係数が乗算され、その係数が乗算された補正量を用いた補正の処理が実行される。本発明は、ビデオカメラに適用できる。【選択図】図５
2010045848.tif 000002
【特許請求の範囲】
【請求項１】
Ｘ−Ｙアドレス型の固体撮像素子により画像を撮像する撮像手段と、
加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出する手段であって、前記撮像手段の露光時間が、前記露光時間を短時間露光と長時間露光を分けるために設けられた所定の閾値未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記所定の閾値以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出手段と、
前記算出手段で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正手段と
を備える撮像装置。
【請求項２】
前記算出手段は、少なくとも１つのラインの前記第１の補正量を代表量とした時に、前記少なくとも１つのラインに対しては、前記第１の補正量と同じ値となる前記第２の補正量を算出し、
前記少なくとも１つのライン以外のラインに対しては、各ラインにおける前記第１の補正量に１未満の所定の係数を乗算した値に相当する前記第２の補正量を算出する
請求項１に記載の撮像装置。
【請求項３】
加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出する手段であって、露光時間が、前記露光時間を短時間露光と長時間露光を分けるために設けられた所定の閾値未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記所定の閾値以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出手段と、
前記算出手段で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正手段と
を備える画像処理装置。
【請求項４】
加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出するステップであって、露光時間が、前記露光時間を短時間露光と長時間露光を分けるために設けられた所定の閾値未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記所定の閾値以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出ステップと、
前記算出ステップの処理で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正ステップと
を備える画像処理方法。
【請求項５】
加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出するステップであって、露光時間が、前記露光時間を短時間露光と長時間露光を分けるために設けられた所定の閾値未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記所定の閾値以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出ステップと、
前記算出ステップの処理で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正ステップと
を含むコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項６】
加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出するステップであって、露光時間が、前記露光時間を短時間露光と長時間露光を分けるために設けられた所定の閾値未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記所定の閾値以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出ステップと、
前記算出ステップの処理で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正ステップと
を含むコンピュータが読み取り可能なプログラム。
【請求項７】
Ｘ−Ｙアドレス型の固体撮像素子により画像を撮像する撮像手段と、
加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出する手段であって、前記撮像手段の露光時間が１フィールド期間未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記露光時間が１フィールド期間以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出手段と、
前記算出手段で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正手段と
を備える撮像装置。
【請求項８】
前記算出手段は、少なくとも１つのラインの前記第１の補正量を代表量とした時に、前記少なくとも１つのラインに対しては、前記第１の補正量と同じ値となる前記第２の補正量を算出し、
前記少なくとも１つのライン以外のラインに対しては、各ラインにおける前記第１の補正量に１未満の所定の係数を乗算した値に相当する前記第２の補正量を算出する
請求項７に記載の撮像装置。
【請求項９】
加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出する手段であって、露光時間が１フィールド期間未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記露光時間が１フィールド期間以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出手段と、
前記算出手段で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正手段と
を備える画像処理装置。
【請求項１０】
加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出するステップであって、露光時間が１フィールド期間未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記露光時間が１フィールド期間以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出ステップと、
前記算出ステップの処理で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正ステップと
を備える画像処理方法。
【請求項１１】
加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出するステップであって、露光時間が１フィールド期間未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記露光時間が１フィールド期間以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出ステップと、
前記算出ステップの処理で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正ステップと
を含むコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１２】
加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出するステップであって、露光時間が１フィールド期間未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記露光時間が１フィールド期間以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出ステップと、
前記算出ステップの処理で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正ステップと
を含むコンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は撮像装置、画像処理装置および方法、記録媒体、並びにプログラムに関し、特に、携帯可能な撮像装置で撮像する際、振動による影響を軽減させる撮像装置、画像処理装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
携帯可能なビデオカメラは、一般的に使用されるようになってきている。このようなビデオカメラに用いられる個体撮像素子としては、例えば、ＣＣＤ（Charge Coupled Device）センサに代表される電荷転送型の個体撮像素子や、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサに代表されるＸ−Ｙアドレス型の個体撮像素子がある。
【０００３】
ＣＭＯＳセンサは、ＣＣＤセンサに比べて消費電力が小さく、単一の低電圧で駆動され、周辺回路との一体化も容易であることから、ビデオカメラなどの画像処理装置に用いられることがある。
【０００４】
しかしながら、ビデオカメラなどの画像処理装置の撮像素子としてＣＭＯＳセンサを用いて高画質な動画像や静止画像を記録することは困難であった。その理由の１つとして、手振れにより撮像される画像に歪みが発生してしまうことが挙げられる。画像処理装置の撮像素子として既に用いられているＣＣＤセンサの場合、手振れによる影響を低減させるための処理を実行する上で必要とされる補正量は、１フィールドまたは１フレーム内で得られた手振れ情報に基づいて算出された単一の値が用いられる。これは、全ての画素の露光期間が等しく、画像の歪みが生じないために、単一の値で手振れの補正ができる。
【０００５】
ＣＣＤセンサに対して、ＣＭＯＳセンサは、以下のような仕組みにより、被写体の画像を撮像し、処理するため、その画像には、手振れによる歪みが生じる。その歪みは、以下のようにして生じると考えられる。
【０００６】
ＣＣＤセンサのような電荷転送型の固体撮像素子は、全画素を同時期に露光して、画素データを読み出すことが可能であるが、ＣＭＯＳセンサのようなＸ−Ｙアドレス型の固体撮像素子は、１画素単位あるいは１ライン単位で順番に読み出される。１ライン単位で順次画素データが読み出される場合、例えば、１画像が１乃至Ｎラインから構成され、１ラインの読み出しにｔ秒かかるとき、１画像のデータを読み出すのには、Ｎ×ｔ秒の時間が必要となる。
【０００７】
このことを換言するならば、１ライン目が読み出されてから、約Ｎ×ｔ秒経過後に、Ｎライン目が読み出されることになる。この時間差のために、画像が撮像されているとき（ライン毎のデータの読み出しが行われているとき）に、手振れなどの振動が加えられた場合、１ライン目とＮライン目とで、画像が存在する位置がずれてしまい、その撮像されている画像に歪みが生じてしまうことがあった。
【０００８】
このような画像の歪みを低減するために、手振れなどの振動が加えられたときに、その振動を打ち消すような補正を行うこと提案されている。（例えば、特許文献１参照）
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−２６６３２２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１に開示されている方法によれば、手振れなどの振動による画像への影響を低減することができる。しかしながら、長時間露光のときに、以下のようなことが発生する可能性があった。
【００１１】
図１は、Ｘ−Ｙアドレス型の固体素子で撮影したときに、その撮影時に加えられた振動と、その振動を打ち消すための補正量について説明するための図である。まず、図１を参照し、異なる露光時間による画像への影響について説明する。図１内の曲線は、Ｓｉｎｅ波であり、Ｓｉｎｅ波の特徴を示す振動が加えられたことを意味する。
【００１２】
図１における説明では、Ｓｉｎｅ波の特徴を示す振動は、画像を撮像する装置に対して上下方向に加えられた振動であるとする。換言すると、上下方向に所定の大きさの振動が連続的に加えられ、その振動の変位を時間経過と共に表すと、図１に示すようなＳｉｎｅ波になったときを例に挙げて説明を続ける。
【００１３】
図１の上図（Ｓｉｎｅ波が図示してある図）において、縦軸の数値は、１画像を構成するラインの番号を示し、横軸は時間を示す。ここでは、１画面を構成するライン数は、９であるとし、時間的に初めに読み出されるラインをライン８とし、最後に読み出されるラインをライン０とする。他のラインも、ライン１などと記述する。Ｘ−Ｙアドレス型の固体素子においては、ライン毎（または画素単位）で読み出しが行われるため、各ラインの読み出し開始のタイミングが異なる。よって、図１に示すように、１画面の読み出しをライン毎に、時間経過と共に図示すると、１画面分のデータが読み出される部分は、平行四辺形となる。
【００１４】
図１の下図は、ライン８またはライン０が読み出されるときに加えられていた振動と、補正の処理に用いられる値とを、図１の上図から抽出した図である。図１の左側の図は、１フィールド露光時の図であり、右側の図は、４フィールド露光時の図である。図１においては、１フィールド露光時は短時間露光と適宜記述し、４フィールド露光時は、長時間露光と適宜記述する。
【００１５】
図１を参照するに、１フィールド露光時に、ライン８は、時刻ｔ１から時刻ｔ２にかけて読み出され、ライン０は、時刻ｔ３から時刻ｔ４にかけて読み出される。ライン８が読み出される時刻ｔ１から時刻ｔ２までの間には、上向きの振動が加えられている。同様に、ライン０が読み出される時刻ｔ３から時刻ｔ４までの間には、上向きの振動が加えられている。
【００１６】
振動の影響を軽減するために行われる補正は、加えられた振動の方向と力を考慮し、ライン上のデータの読み出し開始位置を変えることにより行われる。その読み出し開始位置は、露光時間の中心時間（以下、適宜、補正量決定点と記述する）に取得された振動の方向とその大きさが用いられ、どれだけ補正すれば、振動が加えられていない画像と同等の画像が得られるかという補正量が算出されることにより決定される。
【００１７】
例えば、ライン８は、時刻ｔ１から時刻ｔ２までの期間で読み出される（時刻ｔ１から時刻ｔ２まで露光されている）わけだが、その期間内の（時刻ｔ１＋時刻ｔ２）／２の時刻（補正量決定点のとき）に加えられた振動の方向（この場合、上向き）と大きさ（加速度センサなどにより得られる値）が元に、補正量が算出され、読み出し開始位置が決定される。
【００１８】
同様に、ライン０の読み出し開始位置も、（時刻ｔ３＋時刻ｔ４）／２の時刻に加えられた振動の方向と大きさを元に決定される。このような処理がライン８乃至ライン０毎に行われることにより、振動によりずれてしまった画像が補正され、振動が加えられなかったときと同様の画像が生成される。
【００１９】
１フィールドの露光（短時間露光）の場合、補正量決定点が、露光期間内のぶれ幅に対して、ほぼ中央に位置し、露光期間内での誤差（ノイズや演算誤差）も少ないと考えられる。その結果、良好な補正が行えると考えられる。
【００２０】
４フィールドの露光のときにも１フィールド露光のときと同様な補正が行われる。しかしながら、４フィールド露光のような長時間露光の場合、補正量決定点が、露光期間内のぶれ幅に対して、中央から外れた位置に位置してしまうばかりでなく、露光期間内での誤差も大きいと考えられる。
【００２１】
図１の右側の図を参照するに、４フィールド露光時に、ライン８は、時刻ｔ５から時刻ｔ７までの期間で露光されるわけだが、その期間内に加えられた振動は、初めは上方向であるが、途中から下方向に変化している。また、ライン０も、時刻ｔ６から時刻ｔ８までの期間で読み出されるが、その期間内に加えられた振動は、初めは上方向であるが、途中から下方向に変化している。
【００２２】
ライン８が読み出されるときの補正量決定点は、上方向に振動が加えられているときであるため、上方向の振動が加えられたときに行われる補正が行われることになる。しかしながら、実際には、ライン８が読み出される期間内には、下方向の振動も加えられており、この下方向の振動に対しては本来、下方向の振動が加えられたときの補正が行われる必要がある。
【００２３】
同様に、ライン０が読み出される期間内の補正量決定点は、下方向の振動が加えられているときであるが、ライン０が読み出される期間内には、上方向の振動も加えられている。
【００２４】
このように、１ラインが読み出される期間内に加えられている振動の方向が変化すると、変化する前か後のどちらか一方の方向にしか対応できない補正しか行えず、結果として適切な補正が行えないと考えられる。
【００２５】
さらに、図２を参照し、加えられた振動と、その振動を打ち消すための補正において、露光時間による画像への影響について説明する。図２も図１と同様に、上図が、加えられた振動のＳｉｎｅ波と、補正に用いられる値の取得時刻との関係を示し、下図が、上図からライン８とライン０に関する部分を抽出した図である。
【００２６】
図２の左側の図と右側の図は、ともに、４フィールド露光のときを示している。図２の左側の図は、図１の右側の図と同じである。
【００２７】
図２の右側の図を参照するに、ライン８は、時刻ｔ９から時刻ｔ１１の期間で読み出され、ライン０は、時刻ｔ１０から時刻ｔ１２の期間で読み出される。ライン８が読み出される期間内では、上方向の振動が加えられている。ライン０が読み出される期間内も、後半部分で、下方向の振動も加えられているが、全体の割合から判断すれば、上方向の振動のみが加えられているという状態である。
【００２８】
ライン８とライン０の補正量決定点は、共に、上方向の振動が加えられているときに存在しているので、上方向の振動が加えられたときに行われる補正が行われる。
【００２９】
このように、長時間露光のときであっても、所定の１ラインが読み出されるときに加えられている振動が、同一方向であるときもある。このようなときには、上記した場合（図１の右側を参照して説明した場合）と異なり、読み出しの期間内で加えられている振動の方向と、補正量決定点が存在している部分の振動の方向とが同一であるので、上記した場合のように、期間内に本来補正すべき方向と異なる方向に補正を行ってしまうような区間が存在することがなく、補正の方向だけを考えれば、適切な補正が行えると考えられる。
【００３０】
動画像を撮影しているときには、図２の左側に示した状態と右側に示した状態が、交互に発生する可能性がある。そのような状態のとき撮影された映像について、図３を参照して説明する。図３において、画像Ａは撮影する被写体であり、この場合、三角形である。また、画像Ａを撮影するときに、横方向の振動が加えられているとして説明を続ける。なお、図３中、横方向の矢印や、画像２の所に図示した点線などは、説明のために付したものであり、撮影される画像の一部などではない。
【００３１】
画像１は、時刻Ｔ１において撮影された映像（映像中の１枚の画像）であり、図２の右側に示したような状態（すなわち、読み出し期間内に本来補正すべき方向と異なる方向に補正を行ってしまうような区間が存在するようなことがない状態、以下、状態１とする）のときに撮影された画像である。
【００３２】
画像２は、時刻Ｔ２において撮影された画像であり、図２の左側に示したような状態（すなわち、読み出し期間内に本来補正すべき方向と異なる方向に補正を行ってしまうような区間が存在するような状態、以下、状態２とする）のときに撮影された画像である。
【００３３】
画像３は、時刻Ｔ３において撮影された画像であり、状態１のときに撮影された画像である。画像４は、時刻Ｔ４において撮影された画像であり、状態２のときに撮影された画像である。
【００３４】
画像１や画像３は、状態１のときに撮影された画像であり、撮影対象となっている画像Ａの三角形が、横方向の振動のために、ぶれてしまい、右下の頂点が複数存在してしまっている。すなわち、三角形が幾つか重なったような状態で撮影されたような画像となってしまい、画像が滲んでしまっている。三角形を構成する直角は直角を保った状態で撮影されている。
【００３５】
画像２や画像４は、状態２のときに撮影された画像であり、撮影対象となっている画像Ａの三角形が、横方向の振動のために、ぶれてしまい、画像１や画像３と同じく画像が滲んでしまっている。さらに、画像２や画像４では、三角形を構成する直角が直角として保たれず、鈍角になってしまった状態で撮影されている。
【００３６】
このようなことをまとめると、状態１のときに撮影された画像は、長時間露光ために蓄積された振動が大きく、そのために滲み（ぶれ）が存在している。状態２のときに撮影された画像は、滲みの他に、さらに、歪みも存在している。すなわち、図３に示したように、画像２や画像４においては、本来画像Ａには存在していない、点線で示したような傾きが発生している。
【００３７】
画像１、画像２、画像３、画像４といったような画像が、連続的に撮影される場合、“滲み”、“滲み＋歪み”、“滲み”、“滲み＋歪み”といったような、振動により悪影響を受けた画像が繰り返される映像となってしまう。このように、歪みが存在する画像と存在しない画像が存在すると、極端な表現ではあるが、この場合の被写体である三角形が大きくなったり小さくなったりするような映像が、ユーザに提供されることになる。このような映像は、ユーザにとって好ましい映像ではない。
【００３８】
画像２や画像４において、滲みだけでなく、歪みも発生するのは、ラインからデータが読み出される期間内に、本来補正すべき方向と異なる方向に補正を行ってしまうような区間が存在する状態（状態２）のときに撮影されたのが原因であると考えられる。すなわち、歪みの原因の１つには、振動の影響を補正するための処理に原因があると考えられる。
【００３９】
このようなことは、長時間露光のときに発生する問題として存在し、いかにして取り除くか、ユーザに対して歪みによる目障りな映像を提供しないようにするかが、課題としてあった。
【００４０】
本発明はこのような状況に鑑みてなされたものであり、長時間露光のときでも、手振れなどの振動により、撮影される映像に与えられる悪影響を低減させることを目的とする。また、長時間露光のときの、振動に対する補正をより適切に行えるようにすることを目的とする。
【課題を解決するための手段】
【００４１】
本発明の一側面の第１の撮像装置は、Ｘ−Ｙアドレス型の固体撮像素子により画像を撮像する撮像手段と、加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出する手段であって、前記撮像手段の露光時間が、前記露光時間を短時間露光と長時間露光を分けるために設けられた所定の閾値未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記所定の閾値以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出手段と、前記算出手段で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正手段とを備える。
【００４２】
前記算出手段は、少なくとも１つのラインの前記第１の補正量を代表量とした時に、前記少なくとも１つのラインに対しては、前記第１の補正量と同じ値となる前記第２の補正量を算出し、前記少なくとも１つのライン以外のラインに対しては、各ラインにおける前記第１の補正量に１未満の所定の係数を乗算した値に相当する前記第２の補正量を算出するようにすることができる。
【００４３】
本発明の一側面の第１の画像処理装置は、加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出する手段であって、露光時間が、前記露光時間を短時間露光と長時間露光を分けるために設けられた所定の閾値未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記所定の閾値以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出手段と、前記算出手段で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正手段とを備える。
【００４４】
本発明の一側面の第１の画像処理方法は、加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出するステップであって、露光時間が、前記露光時間を短時間露光と長時間露光を分けるために設けられた所定の閾値未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記所定の閾値以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出ステップと、前記算出ステップの処理で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正ステップとを備える。
【００４５】
本発明の一側面の第１の記録媒体は、加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出するステップであって、露光時間が、前記露光時間を短時間露光と長時間露光を分けるために設けられた所定の閾値未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記所定の閾値以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出ステップと、前記算出ステップの処理で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正ステップとを含むコンピュータが読み取り可能なプログラムが記録されている。
【００４６】
本発明の一側面の第１のプログラムは、加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出するステップであって、露光時間が、前記露光時間を短時間露光と長時間露光を分けるために設けられた所定の閾値未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記所定の閾値以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出ステップと、前記算出ステップの処理で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正ステップとを含むコンピュータが読み取り可能なプログラム。
【００４７】
本発明の一側面の第１の撮像装置、画像処理装置および方法、記録媒体、並びにプログラムにおいては、加えられた振動の振動量に基づいて、加えられた振動に対するライン単位の補正量が算出され、その算出は、露光時間が、露光時間を短時間露光と長時間露光を分けるために設けられた所定の閾値未満の時に、振動量に基づいてライン単位の補正量である第１の補正量が算出され、所定の閾値以上の時に、少なくとも一部のラインに対して、第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量が算出され、その算出されたライン単位の補正量に基づいて、画像に対して加えられた振動に対する補正がライン単位に行われる。
【００４８】
本発明の一側面の第２の撮像装置は、Ｘ−Ｙアドレス型の固体撮像素子により画像を撮像する撮像手段と、加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出する手段であって、前記撮像手段の露光時間が１フィールド期間未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記露光時間が１フィールド期間以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出手段と、前記算出手段で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正手段とを備える。
【００４９】
前記算出手段は、少なくとも１つのラインの前記第１の補正量を代表量とした時に、前記少なくとも１つのラインに対しては、前記第１の補正量と同じ値となる前記第２の補正量を算出し、前記少なくとも１つのライン以外のラインに対しては、各ラインにおける前記第１の補正量に１未満の所定の係数を乗算した値に相当する前記第２の補正量を算出するようにすることができる。
【００５０】
本発明の一側面の第２の画像処理装置は、加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出する手段であって、露光時間が１フィールド期間未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記露光時間が１フィールド期間以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出手段と、前記算出手段で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正手段とを備える。
【００５１】
本発明の一側面の第２の画像処理方法は、加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出するステップであって、露光時間が１フィールド期間未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記露光時間が１フィールド期間以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出ステップと、前記算出ステップの処理で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正ステップとを備える。
【００５２】
本発明の一側面の第２の記録媒体は、加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出するステップであって、露光時間が１フィールド期間未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記露光時間が１フィールド期間以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出ステップと、前記算出ステップの処理で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正ステップとを含むコンピュータが読み取り可能なプログラムが記録されている。
【００５３】
本発明の一側面の第２のプログラムは、加えられた振動を検出する検出手段からの振動量に基づいて、前記加えられた振動に対するライン単位の補正量を算出するステップであって、露光時間が１フィールド期間未満の時に、前記振動量に基づいてライン単位の補正量である第１の補正量を算出し、前記露光時間が１フィールド期間以上の時に、少なくとも一部のラインに対して、前記第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の前記第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量を算出する算出ステップと、前記算出ステップの処理で算出された前記ライン単位の補正量に基づいて、前記画像に対して加えられた振動に対する補正をライン単位に行なう補正ステップとを含むコンピュータが読み取り可能なプログラム。
【００５４】
本発明の一側面の第２の撮像装置、画像処理装置および方法、記録媒体、並びにプログラムにおいては、加えられた振動に対するライン単位の補正量が算出され、その算出は、露光時間が、１フィールド未満の時に、振動量に基づいてライン単位の補正量である第１の補正量が算出され、１フィールド以上の時に、少なくとも一部のラインに対して、第１の補正量より値が小さく、且つ、ライン毎の補正量の差が、ライン毎の第１の補正量の差よりも小さい値である、ライン単位の補正量である第２の補正量が算出され、その算出されたライン単位の補正量に基づいて、画像に対して加えられた振動に対する補正がライン単位に行われる。
【発明の効果】
【００５５】
本発明によれば、撮影時に加えられた振動により、撮影された映像に与えられる悪影響を低減させることができる。
【００５６】
本発明によれば、長時間露光時に撮影された映像においても、撮影時に加えられた振動による悪影響で、目障りな映像となってしまうことを防ぐことが可能となる。
【図面の簡単な説明】
【００５７】
【図１】露光時間と振動量との関係を説明する図である。
【図２】露光時間と振動量との関係を説明する図である。
【図３】歪みについて説明するための図である。
【図４】本発明を適用した画像処理装置の一実施の形態の構成を示す図である。
【図５】画像処理装置の動作について説明するためのフローチャートである。
【図６】短時間露光時の処理について説明するためのフローチャートである。
【図７】長時間露光時の処理について説明するためのフローチャートである。
【図８】振動量について説明するための図である。
【図９】閾値について説明するための図である。
【図１０】補正量と係数について説明するための図である。
【図１１】補正量と係数について説明するための図である。
【図１２】補正量と係数について説明するための図である。
【図１３】補正量と係数について説明するための図である。
【図１４】補正前の画像と補正後の画像について説明するための図である。
【図１５】補正前の画像と補正後の画像について説明するための図である。
【図１６】補正量と係数について説明するための図である。
【図１７】補正量と係数について説明するための図である。
【図１８】補正前の画像と補正後の画像について説明するための図である。
【図１９】補正前の画像と補正後の画像について説明するための図である。
【図２０】歪みについて説明するための図である。
【図２１】媒体を説明する図である。
【発明を実施するための形態】
【００５８】
以下に、本発明の実施の形態について図面を参照して説明する。
【００５９】
［画像処理装置の構成例］
図４は、本発明を適用した画像処理装置の一実施の形態の構成を示す図である。画像処理装置１０の撮像素子１１は、例えば、Ｘ−Ｙアドレス型の固体撮像素子（ＣＭＯＳなど）により構成される。撮像素子１１により撮像された被写体の画像のデータは、ＡＦＥ（Analog Front End）１２に供給される。
【００６０】
ＡＦＥ１２は、供給された画像データをデジタル信号の画像データに変換し、信号処理部１３に供給する。信号処理部１３は、供給された画像データから、輝度信号と色差信号を算出し、その算出したそれぞれの信号を、画像補間部１４に供給する。
【００６１】
画像補間部１４に供給される画像データは、撮像素子１１により撮像された被写体の画像のデータであるが、撮像素子１１により撮像された画像の全てのデータが、画像補間部１４に供給されるわけではなく、ＴＧ（Timing Generator）１５からのタイミングに従って読み出されたデータのみが、画像補間部１４に供給される。
【００６２】
画像補間部１４に供給されたデータは、一旦、メモリコントローラ１６の制御の基、メモリ１７に供給される。逆にメモリ１７に記憶されたデータは、メモリコントローラ１６の指示により読み出され、画像補間部１４に供給される。画像補間部１４は、供給されたデータに対して、振動による悪影響を低減するための補間処理など（詳細は後述する）を施し、図示されていない記録媒体に出力し、記録させたり、図示されていないディスプレイなどに出力し、表示させたりする。なお、画像処理装置１０に加えられる振動としては、ユーザの手ぶれなどがある。
【００６３】
画像補間部１４、ＴＧ１５、およびメモリコントローラ１６は、振動検出部１８により検出された振動量に応じ、補正量算出部１９により算出された補正量に基づいた制御を行う。
【００６４】
振動検出部１８は、例えば、角速度センサなどのセンサを用いた方法や、画像処理等によるセンサレスの振動検出の方法などが用いられ、撮影中に画像処理装置１０に加えられた振動を検出する。例えば、振動検出部１８が、角速度センサにより構成されていた場合、その角速度センサは、ピッチング方向、ヨーイング方向、それぞれの方向に加えられた角速度のデータを補正量算出部１９に供給する。
【００６５】
その検出された振動量に基づき、補正量算出部１９は、振動に伴う動きを補正するための補正量のデータを算出する。補正量算出部１９は、補正量を算出する際、露光時間取得部２０により取得される露光時間に関する情報を参照して行う。露光時間取得部２０は、図示されていないシャッターを制御する部分から、露光時間に関する情報を取得する。
【００６６】
補正量算出部１９は、供給されたデータを用いて、何ピクセル移動させれば加えられた振動による影響を低減できるかという補正量を、１ライン毎に算出する。ここで、１ライン毎にというのは、ＣＭＯＳなどの個体撮像素子においては、１ライン単位で画像データが順次読み出される。そのため、１ライン毎に補正量が算出される。
【００６７】
［画像処理装置の動作について］
図５乃至図７のフローチャートを参照し、画像処理装置１０の動作について説明する。画像処理装置１０は、上記したように、加えられた振動による影響を軽減するための処理を実行する。
【００６８】
ステップＳ１１において、補正量算出部１９は、振動検出部１８から検出された振動量のデータを取得する。例えば、図８に示すような情報が、振動検出部１８により検出され、補正量算出部１９に供給される。
【００６９】
図８に示した例では、振動検出部１８により、１画面が８つのラインで構成され、その１画面において、それぞれのライン毎に８つの振動量(手振れ量)が取得される場合を示している。すなわち、ライン８のときに振動量Ｐ８が、ライン７のときに振動量Ｐ７が、ライン６のときに振動量Ｐ６が、ライン５のときに振動量Ｐ５が、ライン４のときに振動量Ｐ４が、ライン３のときに振動量Ｐ３が、ライン２のときに振動量Ｐ２が、ライン１のときに振動量Ｐ１が、ライン０のときに振動量Ｐ０が、それぞれ取得される。
【００７０】
なお、ここでは、説明の都合上、１画面が９ラインで構成されるとしているが、実際には９ライン以上のライン数で構成されている。また、ここでは９ライン毎に振動量が取得されるとするが、実際には、振動量を取得するサンプリング周波数と、ラインの読み出しのタイミングにはずれがあるため（露光時間などに読み出し時間は依存し、変化するために、サンプリング周波数などの一定の周期を有するタイミングとは一致しないときがあるため）、ライン毎に露光時間の中央で振動量が取得できるとは限らない。
【００７１】
そこで、所定のラインで取得された振動量は、そのラインを含む数ラインで共通して用いられる。または、取得された離散的な振動量を用いて補間を行い、ライン毎の振動量が生成される。
【００７２】
このように、ライン毎に振動量が取得されると、ステップＳ１２において、補正量の算出が行われる。補正量とは、振動量を、振動のない状態（振動による影響が低減された状態）にするために、どれだけの補正を行えば良いのかを表すピクセル単位の値である。
【００７３】
例えば、図８に示したように、ライン８に関する振動量が、Ｐ８ピクセルであった場合、その振動量がＰ８ピクセルである状態を、振動のない状態にするためには、符号の異なる絶対値、すなわちこの場合、―Ｐ８ピクセルが補正量として算出されるようにすれば良い。ライン８以外のライン７乃至０に関しても同様に、それぞれのラインに関する振動量から補正量が算出される。
【００７４】
このように、補正量が算出されると、ステップＳ１３（図５）において、露光時間が取得される。露光時間に関する情報は、露光時間取得部２０により取得され、補正量算出部１９に供給される。補正量算出部１９は、ステップＳ１４において、供給された露光時間が、第１の閾値以上であるか否か（露光時間＞第１の閾値という条件が満たされるか否か）を判断する。
【００７５】
本実施の形態においては、露光時間を、短時間露光と長時間露光とに分ける。そして、短時間露光のときと長時間露光のときとでは、振動に対する影響を低減するための処理（補正）を異なる処理とする。そこで、ステップＳ１４において、その時点（ステップＳ１４の処理が実行される時点）では、短時間露光であるか長時間露光であるかを判断するための処理が実行される。
【００７６】
ステップＳ１４の処理で用いられる第１の閾値とは、ここでは、短時間露光と長時間露光とを分けるために設けられた値である。ステップＳ１４において、露光時間は、第１の閾値より小さいと判断された場合、換言すれば、短時間露光であると判断された場合、ステップＳ１５に処理が進められ、短時間露光時の処理が実行される。一方、ステップＳ１４において、露光時間は、第１の閾値より大きいと判断された場合、換言すれば、長時間露光であると判断された場合、ステップＳ１６に処理が進められ、長時間露光時の処理が実行される。
【００７７】
ステップＳ１５において実行される短時間露光時の処理と、ステップＳ１６において実行される長時間露光時の処理について、それぞれ説明する。まず、図６のフローチャートを参照し、ステップＳ１５において実行される短時間露光時の処理について説明する。
【００７８】
ステップＳ３１において、読み出し開始位置の決定が行われる。読み出し開始位置の決定は、ステップＳ１２において算出された補正量に基づいて決定される。補正量は、１ライン毎に算出されているが、その１ライン毎の補正量に基づき、すなわち、何ピクセル分、読み出す位置をずらすかのデータに基づき、それぞれのラインの読み出し開始位置が決定される。
【００７９】
読み出し開始位置が決定されると、ステップＳ３２において、その決定された読み出し開始位置からデータの読み出しが行われる。このようにライン毎に、補正量を算出し、その算出された補正量を基に、データの読み出しを開始するライン上の位置を決定することにより、ライン毎に、振動による影響を補正することができる。よって、ユーザ側に提供される画像は、振動による悪影響が低減された画像とすることが可能となる。
【００８０】
なお、上記した補正に関する処理には、本出願人が先に出願した特開２００４−２６６３２２号公報に記載されている発明を適用することが可能である。
【００８１】
次に、図７のフローチャートを参照し、ステップＳ１６（図５）において実行される長時間露光時の処理について説明する。ステップＳ５１において、代表量の選択が行われる。図８を参照するに、９ライン毎に振動量が取得され、９ライン毎に補正量が算出されるわけだが、そのうちの、少なくとも１ライン分の補正量が、代表量として選択される。
【００８２】
なお、以下に説明するように、長時間露光のときには、ライン毎に算出される補正量を、ライン毎に用いるのではなく、少なくとも１つのラインの補正量が代表量として用いられるようにする。すなわち、図８に示したような場合、９個の補正量が算出されるわけだが、その９個のうちの少なくとも１つの補正量が用いられ、後述する補正の処理が実行される。
【００８３】
代表量としては、例えば、１画面内において、一番初めに補正量が算出されるラインの補正量（図８においては、ライン８における振動量Ｐ８から算出される補正量（以下、単に、補正量Ｐ８と記載する。他の補正量も同様に記載する）を代表量とする（この場合、１つのラインの補正量が用いられることになる）。
【００８４】
または、１画面内において、一番初めに補正量が算出されるラインの補正量（図８においては、補正量Ｐ８）と、一番後に補正量が算出されるラインの補正量（図８においては、補正量Ｐ０）の平均値を算出し、その平均値を代表量としても良い（この場合、２つのラインの補正量が用いられることになる）。
【００８５】
または、画像の中央に位置するラインにおいて取得される補正量（全フレームの露光の中央に相当する位置で取得される補正量。例えば、図８においては、ライン４における振動量Ｐ４から算出される補正量Ｐ４）が、代表量と設定されるようにしても良い。
【００８６】
代表量の選択の仕方に関しては、上記したような方法が考えられ、どの方法を用いても良いし、上記した以外の方法を用いるようにしても良い。
【００８７】
ここでは、一番初めに算出される補正量を代表量とする場合を例に挙げて説明を続ける。一番初めに算出される補正量を代表量とすることにより、以下のような利点がある。仮に、代表量として、一番後の補正量を用いる（一番後の補正量も用いる）ようにした場合、代表量を決定するためには、最後のラインのデータが取得されなくてはならない。よって、代表量を決定するために、最初のラインのデータから最後のラインのデータまでを記憶できる容量を有するメモリ、すなわち、１画面分のデータを記憶できる容量を有するメモリが必要となる。
【００８８】
しかしながら、一番初めに算出される補正量を代表量として用いることにより、少なくとも、代表量を決定する処理においては、１画面分のデータを記憶できる容量を有するメモリは必要なく、１画面内の１ライン分のデータを記憶できる容量を有するメモリがあれば良い。すなわち、メモリの容量を削減することができる。
【００８９】
ステップＳ５１において、代表量が決定されると、ステップＳ５２において、係数の算出が行われる。ここで、この係数について説明を加える。代表量以外の補正量に関しては、各ラインから算出された補正量に、所定の係数を乗算した値を、新たな補正量とし、そのラインにおける補正量として用いるようにする。
【００９０】
換言すれば、短時間露光時の処理においては、ライン毎に取得される振動量から、ライン毎に補正量を算出し、その補正量が用いられて補正が行われたが、長時間露光時の処理においては、ライン毎に取得される振動量から、ライン毎に補正量を算出し、代表量以外の補正量に関しては、さらに、係数が乗算され、その係数が乗算された補正量が用いられて補正が行われる。
【００９１】
係数は、露光時間に依存して決定される。図９を参照して説明する。図９は、露光時間と、係数との関係を示す図である。第１の閾値は、上記したように、ステップＳ１４（図５）において、短時間露光と長時間露光とを識別するために設けられた閾値である。露光時間が第１の閾値以上になると、長時間露光として処理され、補正量に乗算される係数が設定される。
【００９２】
露光時間が、第１の閾値以下の時間であるときには、すなわち、短時間露光のときには、係数として１が設定されている。係数が１なので、計算上は乗算しても値は変わらないため、短時間露光のときには、図６を参照して説明したように、係数を算出し、補正量に乗算するといったような処理は行われない。
【００９３】
露光時間が、第１の閾値から第２の閾値の間の時間であるときには、図９に示した例では、一次関数的に露光時間に比例して係数が決定（算出）される。
【００９４】
露光時間が第２の閾値以上になると、係数は０と設定される。係数が０ということは、結果的には、補正量は０ということで処理されることを意味する。このことは、代表量以外の補正量に関しての補正は行われないことを意味している。
【００９５】
図９に示した露光時間と係数との関係は一例であり、本発明が、このような係数の決定に限定されることを意味するのではない。係数の他の算出の仕方として、露光時間が、第１の閾値を超えた時点で、係数を０にしても良い。すなわち、このような場合、第１の閾値を境に、係数が１か０になるため、補正を行うか、行わないかになる。または、露光時間が、第１の閾値以上のときには、偶数のラインは係数を１（または１以下）とし、奇数のラインは係数を０とするなど、ライン毎に異なる係数を設定するようにしても良い。
【００９６】
また、露光時間が第２の閾値より大きくなった場合、係数は０とする例を挙げたが、０以外の値、例えば、０．５などに設定されるようにしても良い。換言すれば、露光時間が第２の閾値以上のときには、全く補正を行わないのではなく、通常（短時間露光時）のときよりも弱い補正が実行されるように設定しても良い。
【００９７】
このように、係数の算出の仕方は、どのような方法でも良いが、長時間露光のときには、ライン毎に算出される補正量を、そのまま用いて補正が行われるのではなく、係数が乗算されることにより行われる。ここでは、図９に示したように、係数が、露光時間に応じて設定（算出）されるとして説明を続ける。
【００９８】
ステップＳ５２において、係数が算出されると、ステップＳ５３において、補正量の算出が行われる。補正量は、ステップＳ１２（図５）において既に算出されているが、このステップＳ５２における処理で、既に算出されている補正量に、設定された係数を乗算することにより、新たな補正量が算出される。
【００９９】
図８に示したように、１画像において９個の補正量が算出される場合を例に挙げて、ステップＳ５３の処理を説明する。ライン８から算出された補正量Ｐ８が代表量とされ、それ以外の、ライン７乃至ライン０から算出された補正量Ｐ７乃至補正量Ｐ０に対して、ステップＳ５２において算出された係数が乗算される。その係数が乗算された補正量が、新たな補正量として設定される。
【０１００】
本実施の形態においては、代表量として設定された補正量は、そのまま補正に用いられ、代表量以外の補正量は、係数が乗算されて補正に用いられる。
【０１０１】
係数を乗算する際、既に算出されている補正量自体に乗算するようにしても良いし、補正量を何らかの方式で加工した後に乗算するようにしても良い。例えば、各ラインの補正量と代表量との差分を算出し、その差分に対して係数を乗算するようにしても良い。このようにした場合、代表量はその値のままであるが、他のラインの補正量は、代表量との差に係数が乗算された値とされる。
【０１０２】
また、代表量自体も、他の補正量と同様に係数が乗算されるようにしても良い。
【０１０３】
ステップＳ５４において、設定された補正量に基づいて読み出し開始位置の決定が行われる。そして、その決定された読み出し開始位置からのデータの読み出しが、ステップＳ５５において実行される。
【０１０４】
上記したように、係数としては、０乃至１の範囲の値が割り当てられる。よって、係数が乗算された補正量（ステップＳ５３の処理で算出される補正量）は、係数が乗算される前の補正量（ステップＳ１２で算出される補正量）と比べて小さい値となる。
【０１０５】
すなわち、ステップＳ１２で算出される補正量は、短時間露光のときには、そのまま補正に用いられるが、長時間露光のときには、係数が乗算されることにより、小さい補正量に変換されて補正に用いられる。よって、仮に同じ大きさの振動が加えられたとしても、短時間露光のときと比べ、長時間露光のときは、補正量が小さいものとされる。
【０１０６】
しかしながら、一般的には、短時間露光のときと比べ、長時間露光のときの方が、振動量が蓄積されやすく、そのために、補正量が大きくなる傾向にある。また、１ラインの読み出しが行われている期間内において、短時間露光のときより、長時間露光のときの方が、振動の方向が変化してしまう可能性も高い。補正は、上記したように、加えられた振動に対して、振動のない状態にするためには、加えられた振動とは逆方向に、加えられた振動と同程度の大きさを補正量として用いることにより行われる。このように、補正は、加えられた振動が一方向であるときに、その方向に応じて行われる。
【０１０７】
よって、補正の対象となる区間（１ライン）において異なる方向に振動が加えられると、そのうちの１方向が補正の対象となる方向とされ、他の方向は、補正の対象とすることができない。例えば、上方向と下方向の振動が１ラインの読み出し期間内に加えられた場合、上方向の振動が補正の対象とされると（上方向の振動のときに、振動量が取得されると）、そのラインにおいては下方向の振動に対する補正も合わせて行うといったようなことはできない。
【０１０８】
このような状態のために、長時間露光時には、加えられた振動の一方向に対して、大きな補正量で補正が実行されてしまう可能性が高い。このような補正は、補正がされない方向に対しては振動による影響を助長させてしまう補正となってしまう可能性がある。例えば、図３を参照して説明したように、画像２などにおいて、歪みが発生してしまう可能性がある。
【０１０９】
本実施の形態においては、長時間露光のときには補正量が短時間露光時よりも小さくなるように、補正量に係数が乗算され、その係数が乗算された補正量（小さい値とされた補正量）が用いられて補正が実行されるため、歪みを低減させることが可能となる。
【０１１０】
長時間露光のときには補正量が短時間露光時よりも小さくなるように、補正量に係数が乗算されるということについて、さらに図を参照して説明を加える。図１０は、図８に示したような手ぶれ量が取得されたときに算出される補正量を示している。
【０１１１】
なお、補正量は、手ぶれ量の影響を打ち消す方向に加えられる量であるため、図１０が、図８に対応しているとすると、手ぶれ量の方向と補正量の方向は、それぞれ逆方向になるため、図１０の補正量は、逆向きに図示すべきである。また、ライン毎の補正量の方向も、手ぶれ量の方向に依存しているため、ライン毎に異なる方向になる可能性もある。しかしながら、ここでは、説明の都合上、同じ方向に図示してある。他の図面においても、同様であるとする。
【０１１２】
図１０において、ライン８の補正量は補正量Ｃ８である。この補正量Ｃ８を代表量とする。図１０のような補正量が算出されたときの露光時間は、第１の閾値より小さいときである。すなわち短時間露光のときに算出された補正量を示している。この場合、代表量以外の補正量Ｃ７乃至Ｃ０に対しては、係数として“１”が乗算される（または、係数が乗算されるといった処理が省略され、算出された補正量がそのまま用いられる）。
【０１１３】
図１１Ａと図１１Ｂは、図１０と同様な補正量が算出されたときであるが、露光時間が第１の閾値より大きいとき、すなわち、長時間露光のときに算出されたときの補正量を示している。長時間露光のため、一旦算出された補正量（第１の補正量とする）に、さらに係数が乗算されることにより、実際に補正に用いられる補正量（第２の補正量とする）が算出される。図１１Ａと図１１Ｂにおいて、白丸（円内が塗りつぶされていない円）は第１の補正量を表し、黒丸（円内が塗りつぶされている円）は第２の補正量を表す。
【０１１４】
図１１Ａに示した第２の補正量は、係数として０．５が乗算されたときを示し、図１１Ｂに示した第２の補正量は、係数として０が乗算されたときを示す。図中、第１の補正量を表す白丸と、第２の補正量を表す黒丸とを比較することにより、長時間露光のときには、短時間露光時よりも補正量が小さくなっていることがわかる。すなわち、長時間露光のときの補正に用いられる第２の補正量（黒丸）は、短時間露光のときの補正に用いられる第１の補正量（白丸）と比較し、小さい値となっていることが、図１１Ａや図１１Ｂを参照することによりわかる。
【０１１５】
なお、図１１Ｂのように、係数として“０”を乗算する場合、第１の補正量に０を乗算し、第２の補正量を算出することになるが、０を乗算することにより、その算出される値は、０となる。よって、係数として０が乗算される露光時間であると判断された時点で、第１の補正量や第２の補正量を算出するといった処理を省略するようにしても良い。
【０１１６】
例えば、図５において、ステップＳ１２、ステップＳ１３、ステップＳ１４の処理を入れ換え、先に、露光時間情報の取得し、係数として０が乗算される露光時間であると判断された場合（すなわち、露光時間が第２の露光時間以上であると判断された場合）、その後の処理（第１の補正量や第２の補正量を算出する処理）を省略するようにしても良い。ただし、この場合、代表量を算出する必要はあるため、代表量のみは算出する必要はある。
【０１１７】
このようなことは、係数として“０”を乗算するときには適用することができるため、適宜、図５に示したフローチャートの処理の順番を入れ換え、効率良く補正を行えるようにすることは本発明の適用範囲内での変更である。
【０１１８】
図１２は、他の係数の乗算の仕方について説明するための図である。図１２も、図１０などと同様に、ライン毎の補正量Ｃ８乃至Ｃ０を示している。図１２における係数の乗算の仕方は、代表量との差分に対して係数を乗算する仕方である。すなわち、例えば、ライン７の補正量Ｃ７は、代表量Ｃ８（補正量Ｃ８）（ライン８に関する第１の補正量）と補正量Ｃ７（ライン７に関する第１の補正量）との差分に対して係数が乗算され、その係数が乗算された補正量（第２の補正量）が、ライン７における実際の補正に用いられる補正量とされる。
【０１１９】
図１２に示したのは、短時間露光時の補正量のため、係数として“１”が乗算される。すなわち、算出されている補正量（第１の補正量）がそのまま用いられる。
【０１２０】
これに対し、図１３Ａは、係数として“０．５”が乗算されたときの補正量を示し、図１３Ｂは、係数として“０”が乗算されたときの補正量を示している。図１３Ａと図１３Ｂにおいても、図１１Ａや図１１Ｂと同様に、白丸が第１の補正量を表し、黒丸が第２の補正量を表している。
【０１２１】
図１３Ｂは、係数として０が乗算されたときの第２の補正量を表しているが、この０が乗算されるのは、代表量との差分に対してであり、その代表量との差分がいくら大きくても、結果として０が乗算されれば、その値は０となる。よって、係数として“０”が乗算されるときには、全てのラインにおける補正量（第２の補正量）は、代表量と同じ値（代表量との差分は０）となり、その補正量が用いられて補正が行われることになる。
【０１２２】
よって、このようなとき（係数として０が乗算されるとき）には、代表量が算出された時点で、補正量の算出に係わる処理を省略するようにしても良い。
【０１２３】
図１４は、図１２に示した補正量で補正したときの、補正前の画像と補正後の画像とをイメージ的に表した図である。点線で図示した部分が、補正前の画像を表し、実線で図示した部分が、補正後の画像を表している。なお、図１４において、補正前の画像と補正後の画像は、縦方向にも、ずらして図示しているが、説明のためにずらしただけであり、図１２の補正量で、縦方向まで補正されることを意味しているのではない。
【０１２４】
図１４を参照するに、それぞれのラインにおける補正量で、ライン毎に読み出し開始位置がずらされている。このような補正が行われることにより、実際の画像は、歪みや滲みが軽減されたものとされる。
【０１２５】
同様に図１５Ａは、図１３Ａに、図１５Ｂは、図１５Ｂに、それぞれ対応した図である。図１５Ａに示した図は、係数として０．５が乗算されたときの補正前と補正後の画像を示している。図１４に示した補正後の画像（係数が“１”のときの画像）と、図１５Ａに示した補正後の画像（係数が“０．５”のときの画像）とを比較するに、図１５Ａに示した補正後の画像の方が、読み出し開始位置のずれが小さいことがわかる。
【０１２６】
また、図１５Ｂを参照するに、係数が０のときには、実質的に、補正前の画像を、代表量の分だけずらした画像が、補正後の画像とされていることがわかる。
【０１２７】
このようにすることで、長時間露光のときには、加えられた手ぶれ量（振動）による影響を、少なくとも、おおざっぱであるが補正できることがわかる。すなわち、上記したように、滲みは補正しきれなくても、少なくとも歪みは補正しきれることがわかる。よって、長時間露光のときでも、振動による悪影響を低減できることになる。
【０１２８】
図１６は、他の係数の乗算の仕方について説明するための図である。図１６も、図１０などと同様に、ライン毎の補正量Ｃ８乃至Ｃ０を示している。図１６における係数の乗算の仕方は、代表量に対しても係数を乗算する仕方である。すなわち、算出された第１の補正量全てに対して、係数を乗算し、第２の補正量を算出する方法である。
【０１２９】
図１６に示した補正量は、第１の補正量に係数として“１”を乗算しているため、値は変わらず、第１の補正量＝第２の補正量となっている。よって、このような場合（短時間露光の場合）には、上記したように、係数の設定や乗算といった処理を省略するようにしても良い。
【０１３０】
図１７Ａと図１７Ｂは、それぞれ、係数として“０．５”と“０”を乗算したときの補正量を示している。図１７Ａを参照するに、代表量に対しても“０．５”が乗算されている。また、図１７Ｂを参照するに、代表例に対しても“０”が乗算されている。
【０１３１】
図１８は、図１６に示した補正量で補正したときの、補正前の画像と補正後の画像とを示している。また、図１９Ａは、図１７Ａに示した補正量で補正したときの、図１９Ｂは、図１７Ｂに示した補正量で補正したときの、補正前の画像と補正後の画像とを示している。代表量を含めて係数を乗算した場合でも、上記した場合と同様に、長時間露光のときでも、振動による悪影響を低減できることになる。
【０１３２】
本実施の形態のように処理が実行されることにより、図２０に示すように、画像Ａを長時間露光時に、横方向の振動が加えられているような状況下で撮影したようなときでも、時刻Ｔ１’、時刻Ｔ２’、時刻Ｔ３’、時刻Ｔ４’においてそれぞれ撮影される画像１’、画像２’、画像３’、画像４’に、歪みが発生してしまうようなことを防ぐことが可能となる。
【０１３３】
なお、上記した実施の形態においては、長時間露光のときには、複数の補正量のうちから、代表量を選択し、その代表量以外の補正量に対して、係数を乗算するようにした。代表量を選択しないで、全ての補正量に対して係数を乗算するようにしても良い（図１６などを参照して説明したように）。また、複数の補正量のうち、選択して、例えば、奇数のラインの補正量に対してのみ係数を乗算するなどしても良い。
【０１３４】
また、上記した実施の形態においては、長時間露光のときには、係数を乗算した補正量で補正を行うとしたが、その補正量に乗算する係数の代わりに、露光期間内の振動量（補正量）の平均値を算出し、その平均値から補正量が求められ、その補正量が用いられて、補正が行われるようにしても良い。すなわち、長時間露光のときには、１ラインが読み出される間に加えられた振動量の平均値を算出し、その平均値から補正量を算出し、その補正量で補正を行うようにしても良い。
【０１３５】
あるいは、さらに長い期間の、例えば、露光全期間（１フィールド）分の振動量の平均を用いるようにしても良い。露光全期間分の振動量の平均を用いるようした場合、それだけのデータを記憶できる容量を有するメモリを備えるようにすれば実現できる。
【０１３６】
平均値を算出するようにした場合、その平均値を求めるために、画像処理装置１０（図４）は、フィルターを備える構成としても良い。フィルターとしては、ＬＰＦ（Low Pass Filter）、補間、フィッティング（fitting：近似）などの処理を実行するものを適用することができる。
【０１３７】
［記録媒体について］
上述した一連の処理、例えば、補正に係わる処理は、それぞれの機能を有するハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１３８】
図２１は、汎用のパーソナルコンピュータの内部構成例を示す図である。パーソナルコンピュータのＣＰＵ（Central Processing Unit）４１は、ＲＯＭ（Read Only Memory）４２に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ（Random Access Memory）４３には、ＣＰＵ４１が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース４５は、キーボードやマウスから構成される入力部４６が接続され、入力部４６に入力された信号をＣＰＵ４１に出力する。また、入出力インタフェース４５には、ディスプレイやスピーカなどから構成される出力部４７も接続されている。
【０１３９】
さらに、入出力インタフェース４５には、ハードディスクなどから構成される記憶部４８、および、インターネットなどのネットワークを介して他の装置とデータの授受を行う通信部４９も接続されている。ドライブ５０は、磁気ディスク６１、光ディスク６２、光磁気ディスク６３、半導体メモリ６４などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
【０１４０】
記録媒体は、図２１に示すように、パーソナルコンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク６１（フレキシブルディスクを含む）、光ディスク６２（CD-ROM（Compact Disc-Read Only Memory），DVD（Digital Versatile Disc）を含む）、光磁気ディスク６３（MD（Mini-Disc）（登録商標）を含む）、若しくは半導体メモリ６４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているＲＯＭ４２や記憶部４８が含まれるハードディスクなどで構成される。
【０１４１】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１４２】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【符号の説明】
【０１４３】
１０  画像処理装置，  １１  撮像素子，  １２  ＡＦＥ，  １３  信号処理部，  １４  画像補間部，  １５  ＴＧ，  １６  メモリコントローラ，  １７  メモリ，  １８  振動検出部，  １９  補正量算出部，  ２０  露光時間取得部
【図１】
2010045848.tif 000003
【図２】
2010045848.tif 000004
【図３】
2010045848.tif 000005
【図４】
2010045848.tif 000006
【図５】
2010045848.tif 000007
【図６】
2010045848.tif 000008
【図７】
2010045848.tif 000009
【図８】
2010045848.tif 000010
【図９】
2010045848.tif 000011
【図１０】
2010045848.tif 000012
【図１１】
2010045848.tif 000013
【図１２】
2010045848.tif 000014
【図１３】
2010045848.tif 000015
【図１４】
2010045848.tif 000016
【図１５】
2010045848.tif 000017
【図１６】
2010045848.tif 000018
【図１７】
2010045848.tif 000019
【図１８】
2010045848.tif 000020
【図１９】
2010045848.tif 000021
【図２０】
2010045848.tif 000022
【図２１】
2010045848.tif 000023