(57)【要約】【課題】より安定的な手振れ補正処理を行う。【解決手段】動きベクトル検出部は、撮影部により連続的に撮影される画像ごとに複数の動きベクトルを検出し、ヒストグラム算出部は、各画像の複数の動きベクトルについてのヒストグラムを算出し、加速度ベクトル算出部は、ヒストグラムの変化に応じた加速度ベクトルを算出する。そして、手振れ補正量算出部は、加速度ベクトル、および、１フレーム前の画像に対する処理で用いられた補正用の動きベクトルに基づいて、現在のフレームの画像に対する処理で用いる補正用の動きベクトルを推測し、推測した補正用の動きベクトルに応じた手振れ補正量を算出する。本技術は、例えば、デジタルビデオカメラに適用できる。【選択図】図２
2012257080.tif 000002
【特許請求の範囲】
【請求項１】
連続的に撮影される画像ごとに検出された各画像の複数の動きベクトルについてのヒストグラムを算出するヒストグラム算出部と、
前記ヒストグラムの変化に応じた加速度ベクトルを算出する加速度ベクトル算出部と、
前記加速度ベクトル、および、処理の対象となっている画像の前の画像に対する処理で用いられた第１の補正用の動きベクトルに基づいて、前記処理の対象となっている画像に対する処理で用いる第２の補正用の動きベクトルを推測し、前記第２の補正用の動きベクトルに応じた手振れ補正量を算出する手振れ補正量算出部と
を備える画像処理装置。
【請求項２】
前記ヒストグラムの形状に応じて、前記手振れ補正量算出部における処理を決定する決定部と、
前記決定部により決定された処理に従って前記手振れ補正量算出部が算出した前記手振れ補正量で、前記画像に対する手振れ補正処理を行う手振れ補正処理部と
をさらに備える請求項１に記載の画像処理装置。
【請求項３】
前記決定部は、前記ヒストグラムが複数のピークを有する形状である場合、前記加速度ベクトルおよび前記第１の補正用の動きベクトルに基づいて、前記第２の補正用の動きベクトルを推測するように、前記手振れ補正量算出部の処理を決定する
請求項２に記載の画像処理装置。
【請求項４】
前記決定部は、前記ヒストグラムが１つのピークを有する形状を維持している場合、前記ヒストグラムのピークに応じた前記動きベクトルを前記第２の補正用の動きベクトルとするように、前記手振れ補正量算出部の処理を決定する
請求項２に記載の画像処理装置。
【請求項５】
前記決定部は、前記ヒストグラムが複数のピークを有する形状から１つのピークを有する形状に変化した場合、前記加速度ベクトル、前記第１の補正用の動きベクトル、前記ヒストグラムのピークに応じた前記動きベクトル、および所定の復帰係数に基づいて、前記第２の補正用の動きベクトルを推測するように、前記手振れ補正量算出部の処理を決定する
請求項２に記載の画像処理装置。
【請求項６】
前記決定部は、前記手振れ補正量算出部の処理が、前記加速度ベクトル、前記第１の補正用の動きベクトル、前記ヒストグラムのピークに応じた前記動きベクトル、および所定の復帰係数に基づいて、前記第２の補正用の動きベクトルを推測している場合に、前記手振れ補正量算出部により推測される前記第２の補正用の動きベクトルと、処理の対象となっている画像から前記ヒストグラム算出部により算出された前記ヒストグラムのピークに応じた前記動きベクトルとの差分が、所定の閾値以下になると、前記ヒストグラムのピークに応じた前記動きベクトルを前記第２の補正用の動きベクトルとするように、前記手振れ補正量算出部の処理を変更する
請求項５に記載の画像処理装置。
【請求項７】
連続的に撮影される画像ごとに検出された各画像の複数の動きベクトルについてのヒストグラムを算出し、
前記ヒストグラムの変化に応じた加速度ベクトルを算出し、
前記加速度ベクトル、および、処理の対象となっている画像の前の画像に対する処理で用いられた第１の補正用の動きベクトルに基づいて、前記処理の対象となっている画像に対する処理で用いる第２の補正用の動きベクトルを推測し、前記第２の補正用の動きベクトルに応じた手振れ補正量を算出する
ステップを含む画像処理方法。
【請求項８】
連続的に撮影される画像ごとに検出された各画像の複数の動きベクトルについてのヒストグラムを算出し、
前記ヒストグラムの変化に応じた加速度ベクトルを算出し、
前記加速度ベクトル、および、処理の対象となっている画像の前の画像に対する処理で用いられた第１の補正用の動きベクトルに基づいて、前記処理の対象となっている画像に対する処理で用いる第２の補正用の動きベクトルを推測し、前記第２の補正用の動きベクトルに応じた手振れ補正量を算出する
ステップを含む画像処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置および画像処理方法、並びにプログラムに関し、特に、より安定的な手振れ補正処理を行うことができるようにした画像処理装置および画像処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、デジタルビデオカメラなどの撮影装置には手振れ補正機能が備えられており、ユーザが撮影装置を手に持って撮影を行っても、手振れが補正されたブレのない画像（動画像）を記録することができる。
【０００３】
従来の手振れ補正処理では、撮影された画像から被写体が写されていない部分を背景部として推測し、推測された背景部から検出される動きベクトルに基づいて手振れを補正する画像処理が行われている。
【０００４】
例えば、本願出願人は、撮影画像から顔領域を検出して、顔領域のブレ量に係る重み付け係数の値を、顔領域以外の背景領域のブレ量に係る重み付け係数の値よりも大きくして手振れ補正を行う画像処理方法を提案している（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１４１４３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の手振れ補正処理においては、背景部を誤って推測してしまい、例えば、動いている被写体が写されている部分から検出された動きベクトルに基づいて手振れ補正を行った場合、その被写体による悪影響を受けることがあった。例えば、従来の手振れ補正処理では、被写体の動きに応じて画像に大きなブレが発生してしまい、安定的な手振れ補正処理を行うことは困難であった。
【０００７】
本開示は、このような状況に鑑みてなされたものであり、より安定的な手振れ補正処理を行うことができるようにするものである。
【０００８】
本開示の一側面の画像処理装置は、連続的に撮影される画像ごとに検出された各画像の複数の動きベクトルについてのヒストグラムを算出するヒストグラム算出部と、前記ヒストグラムの変化に応じた加速度ベクトルを算出する加速度ベクトル算出部と、前記加速度ベクトル、および、処理の対象となっている画像の前の画像に対する処理で用いられた第１の補正用の動きベクトルに基づいて、前記処理の対象となっている画像に対する処理で用いる第２の補正用の動きベクトルを推測し、前記第２の補正用の動きベクトルに応じた手振れ補正量を算出する手振れ補正量算出部とを備える。
【０００９】
本開示の一側面の画像処理方法またはプログラムは、連続的に撮影される画像ごとに検出された各画像の複数の動きベクトルについてのヒストグラムを算出し、前記ヒストグラムの変化に応じた加速度ベクトルを算出し、前記加速度ベクトル、および、処理の対象となっている画像の前の画像に対する処理で用いられた第１の補正用の動きベクトルに基づいて、前記処理の対象となっている画像に対する処理で用いる第２の補正用の動きベクトルを推測し、前記第２の補正用の動きベクトルに応じた手振れ補正量を算出するステップを含む。
【００１０】
本開示の一側面においては、連続的に撮影される画像ごとに検出された各画像の複数の動きベクトルについてのヒストグラムが算出され、ヒストグラムの変化に応じた加速度ベクトルが算出される。そして、加速度ベクトル、および、処理の対象となっている画像の前の画像に対する処理で用いられた第１の補正用の動きベクトルに基づいて、処理の対象となっている画像に対する処理で用いる第２の補正用の動きベクトルが推測され、第２の補正用の動きベクトルに応じた手振れ補正量が算出される。
【発明の効果】
【００１１】
本開示の一側面によれば、より安定的な手振れ補正処理を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】従来の手振れ補正処理と、本技術を適用した手振れ補正処理との概念について説明する図である。
【図２】本技術を適用した撮影装置の一実施の形態の構成例を示すブロック図である。
【図３】補正量算出部の動作モードの遷移を示すモード遷移図である。
【図４】補正用の動きベクトルを算出する例について説明する図である。
【図５】手振れ補正処理を説明するフローチャートである。
【図６】コンピュータのハードウエアの構成例を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１４】
まず、図１を参照して、従来の手振れ補正処理と、本技術を適用した手振れ補正処理との概念について説明する。図１Ａには、従来の手振れ補正処理についての概念図が示されており、図１Ｂには、本技術を適用した手振れ補正処理についての概念図が示されている。
【００１５】
例えば、ユーザが撮影装置を手に持って撮影を行うと、その撮影により得られた画像には、全体的に同一の動き（ブレ）が発生する。そのため、画像から動きベクトルを検出すると、図１Ａおよび図１Ｂに示すように、手振れによる動きベクトル（以下、適宜、グローバルベクトルＶ１と称する）が画像の全体から検出される。
【００１６】
そして、自動車のように移動する被写体（以下、適宜、動被写体と称する）が画像に写されている場合には、その動被写体の動きに応じた動きベクトル（以下、適宜、動被写体ベクトルＶ２と称する）が検出される。従って、動被写体が写されている領域からは、グローバルベクトルＶ１および動被写体ベクトルＶ２が加算されたベクトルが検出される。
【００１７】
従来、このような動被写体が写された画像に対する手振れ補正処理では、まず、画像から検出された動きベクトルから、手振れを補正するための手振れ補正量を算出するのに使用する補正用の動きベクトルを選択する。例えば、画像を解析することによって、被写体が写されている領域以外の領域である背景領域を推測し、背景領域から検出される動きベクトルを、補正用の動きベクトルとして選択する。その後、補正用の動きベクトルに応じた手振れ補正量を算出して手振れを補正する画像処理が行われる。
【００１８】
従って、従来の手振れ補正処理では、背景領域を正しく推測することができれば、グローバルベクトルＶ１が補正用の動きベクトルとして選択され、手振れ補正量が算出されるので、手振れ補正を正確に行うことができる。
【００１９】
一方、背景領域を正しく推測することができない場合には、グローバルベクトルＶ１と動被写体ベクトルＶ２とを加算した動きベクトルが、補正用の動きベクトルとして選択されて、手振れ補正処理が行われることになる。この場合、動被写体の動きに引っ張られたように、画像に大きなブレが発生してしまう。さらに、背景領域を正しく推測することができる場合と、正しく推測できない場合とが切り替わるタイミングで、グローバルベクトルＶ１だけを用いた手振れ補正処理と、グローバルベクトルＶ１および動被写体ベクトルＶ２を加算したベクトルを用いた手振れ補正処理とが切り替わることになる。このため、手振れ補正量が急激に変わり不自然な画像となる。
【００２０】
これに対し、本技術を適用した手振れ補正処理では、後述するように、背景領域の推測を行うことなく補正用の動きベクトルを算出するため、動被写体の動きに引っ張られたような大きなブレが発生することを回避することができる。このため、本技術を適用した手振れ補正処理により、被写体の動きによる悪影響を抑制することができ、より安定的な手振れ補正処理を実現することができる。
【００２１】
図２は、本技術を適用した撮影装置の一実施の形態の構成例を示すブロック図である。
【００２２】
撮影装置１１は、デジタルビデオカメラなどのように動画像を撮影可能な装置であり、撮影部１２、動きベクトル検出部１３、手振れ補正処理部１４、出力部１５、および補正量算出部１６を備えて構成される。
【００２３】
撮影部１２は、例えば、CCD（Charge Coupled Device）やCMOS(Complementary Metal Oxide Semiconductor)センサなどの固体撮像素子、および、高速に動作可能なメモリを備えて構成される。撮影部１２により連続的に撮影される画像は、即ち、固体撮像素子により連続的に撮像されてメモリに順次記憶される画像は、動きベクトル検出部１３および手振れ補正処理部１４に供給される。
【００２４】
動きベクトル検出部１３は、撮影部１２により連続的に撮影された画像を順次解析することにより、画像ごとに複数の動きベクトルを検出し、それらの複数の動きベクトルを補正量算出部１６に供給する。
【００２５】
例えば、動きベクトル検出部１３は、撮影部１２のメモリから２フレーム分の画像を読み出して、現在のフレームを複数のブロックに分割したブロックごとに、１つ前のフレームとマッチングを行う。そして、動きベクトル検出部１３は、各ブロックの画像が１つ前のフレームにおいて写されていた領域を特定し、その特定した領域と、マッチングを行ったブロックとの距離および方向に従って、そのブロックについての動きベクトルを求める。動きベクトル検出部１３は、この処理を、現在のフレームを分割した複数のブロックの全てに対して行うことにより、現在のフレームから複数の動きベクトルを検出することができる。
【００２６】
手振れ補正処理部１４には、補正量算出部１６において算出される手振れ補正量が供給され、その手振れ補正量に従って、撮影部１２により撮影された画像をシフトする画像処理を行う。これにより、撮影部１２により撮影された画像の手振れが補正され、手振れ補正処理部１４は、手振れ補正処理後の画像を出力部１５に供給する。
【００２７】
出力部１５は、例えば、図示しないディスプレイや記録媒体などに接続されており、手振れ補正処理部１４から供給される画像を出力して、ディスプレイに表示させたり、記録媒体に記録させたりする。
【００２８】
補正量算出部１６は、動きベクトル検出部１３から供給される各画像の複数の動きベクトルから、手振れ補正処理部１４が手振れ補正処理を行うのに用いる手振れ補正量を算出して、手振れ補正処理部１４に供給する。補正量算出部１６は、ヒストグラム算出部２１、モード決定部２２、加速度ベクトル算出部２３、および手振れ補正量算出部２４を備えて構成される。
【００２９】
ヒストグラム算出部２１には、撮影部１２により撮影された画像を分割した複数のブロックごとに求められた動きベクトルが動きベクトル検出部１３から供給され、ヒストグラム算出部２１は、それらの動きベクトルの度数を表すヒストグラムを算出する。従って、ヒストグラム算出部２１が算出するヒストグラムは、画像に動被写体が写されているか否かで形状が変化する。
【００３０】
例えば、画像に動被写体が写されていない場合、ヒストグラム算出部２１が算出するヒストグラムは、グローバルベクトルＶ１に応じた１つのピークを有する形状となる。また、画像に動被写体が写されている場合には、ヒストグラム算出部２１が算出するヒストグラムは、グローバルベクトルＶ１と、動被写体の動きに従って求められた動被写体ベクトルＶ２とに応じて、複数のピークを有する形状となる。
【００３１】
モード決定部２２は、ヒストグラム算出部２１が算出するヒストグラム、および、手振れ補正量算出部２４が算出する手振れ補正量に基づいて、補正量算出部１６において手振れ補正量を算出する動作モードを決定する。補正量算出部１６の動作モードとしては、動被写体が写されていない状態における正常モード、動被写体が写されている状態における動被写体モード、および、動被写体モードから正常モードに復帰する状態における復帰モードがある。
【００３２】
モード決定部２２は、補正量算出部１６の動作モードを決定して、正常モード、動被写体モード、または復帰モードのいずれであるかを手振れ補正量算出部２４に通知する。また、モード決定部２２は、補正量算出部１６の動作モードが動被写体モードまたは復帰モードである場合には、ヒストグラム算出部２１からのヒストグラムを加速度ベクトル算出部２３に供給する。
【００３３】
加速度ベクトル算出部２３は、モード決定部２２からヒストグラムが供給された場合、即ち、補正量算出部１６の動作モードが動被写体モードまたは復帰モードである場合、供給されたヒストグラムの変化に応じた加速度ベクトルを算出する。例えば、加速度ベクトル算出部２３は、現在のフレームにおける動きベクトルのヒストグラムと、１フレーム前のフレームにおける動きベクトルのヒストグラムとのブロックマッチングを行う。これにより、加速度ベクトル算出部２３は、フレーム間での動きベクトルの変化を示す加速度ベクトルを算出する。
【００３４】
手振れ補正量算出部２４には、モード決定部２２において決定された補正量算出部１６の動作モードが通知され、手振れ補正量算出部２４は、そのときの動作モードに応じた手振れ補正量を算出して、手振れ補正処理部１４に供給する。
【００３５】
例えば、補正量算出部１６の動作モードが正常モードである場合、ヒストグラム算出部２１から手振れ補正量算出部２４に供給されるヒストグラムの形状は、１つのピークを有している。つまり、この場合、手振れによって画面の全体的に発生するグローバルベクトルＶ１においてピークとなる形状のヒストグラムが求められている。従って、この場合、手振れ補正量算出部２４は、ヒストグラムの度数が最大となっているグローバルベクトルＶ１を補正用の動きベクトルとして選択し、その補正用の動きベクトルに応じた向きおよび大きさの手振れ補正量を算出する。
【００３６】
また、補正量算出部１６の動作モードが動被写体モードである場合、手振れ補正量算出部２４には、加速度ベクトル算出部２３において算出された加速度ベクトルが供給される。また、この場合、ヒストグラム算出部２１から手振れ補正量算出部２４に供給されるヒストグラムの形状は複数のピークを有している。
【００３７】
そこで、この場合、手振れ補正量算出部２４は、１フレーム前の処理において手振れ補正量の算出に用いられた補正用の動きベクトルと、加速度ベクトル算出部２３からの加速度ベクトルとに基づいて、現在のフレームに対する処理で用いる補正用の動きベクトルを算出（推測）する。例えば、手振れ補正量算出部２４は、１フレーム前の処理における補正用の動きベクトルに加速度ベクトルを加算することにより、現在のフレームにおける補正用の動きベクトルを算出する。即ち、補正量算出部１６では、画像の背景領域を推測して、その背景領域から検出された動きベクトルを補正用の動きベクトルとするのではなく、動きベクトルの変化に応じて求められる加速度ベクトルを利用して、補正用の動きベクトルが推測される。
【００３８】
また、補正量算出部１６の動作モードが復帰モードである場合、手振れ補正量算出部２４には、加速度ベクトル算出部２３において算出された加速度ベクトルが供給される。そして、手振れ補正量算出部２４は、１フレーム前の処理において手振れ補正量の算出に用いられた補正用の動きベクトル、加速度ベクトル算出部２３からの加速度ベクトル、ヒストグラムの度数が最大となっているグローバルベクトルＶ１、および、所定の復帰係数に基づいて、現在のフレームにおける補正用の動きベクトルを算出する。
【００３９】
また、復帰モードの場合には、手振れ補正量算出部２４が手振れ補正量の算出に用いた補正用の動きベクトルと、ヒストグラムの度数が最大となっているグローバルベクトルＶ１とがモード決定部２２にも供給され、モード決定部２２において復帰モードから正常モードに遷移するか否かの判定に利用される。
【００４０】
このように、撮影装置１１では、画像から検出された動きベクトルのヒストグラムに従って、補正量算出部１６の動作モードが決定され、それぞれの動作モードに応じて算出された手振れ補正量で、手振れ補正処理が行われる。
【００４１】
次に、図３を参照して、補正量算出部１６の動作モードの遷移について説明する。
【００４２】
まず、撮影装置１１の起動時には、補正量算出部１６の動作モードが正常モードとなるように初期設定されている。そして、モード決定部２２は、補正量算出部１６の動作モードが正常モードであるときに、ヒストグラム算出部２１が算出するヒストグラムが１つのピークを有する形状である場合には、正常モードを維持する。その後、補正量算出部１６の動作モードが正常モードであるときに、ヒストグラム算出部２１が算出するヒストグラムが複数のピークを有する形状に変化した場合、モード決定部２２は、補正量算出部１６の動作モードを動被写体モードに遷移する。
【００４３】
また、モード決定部２２は、補正量算出部１６の動作モードが動被写体モードであるときに、ヒストグラム算出部２１が算出するヒストグラムが複数のピークを有する形状である場合には、動被写体モードを維持し続ける。一方、モード決定部２２は、補正量算出部１６の動作モードが動被写体モードであるときに、ヒストグラム算出部２１が算出するヒストグラムが１つのピークを有する形状に変化すると、補正量算出部１６の動作モードを復帰モードに遷移する。
【００４４】
そして、モード決定部２２は、補正量算出部１６の動作モードが復帰モードであるときに、ヒストグラム算出部２１が算出するヒストグラムが１つのピークを有する形状である場合には、復帰モードを維持し続ける。また、モード決定部２２は、補正量算出部１６の動作モードが復帰モードであるときに、ヒストグラム算出部２１が算出するヒストグラムが複数のピークを有する形状に変化した場合、補正量算出部１６の動作モードを動被写体モードに遷移する。一方、モード決定部２２は、補正量算出部１６の動作モードが復帰モードであるときに、１フレーム前の補正用の動きベクトルに加速度ベクトル算出部２３からの加速度ベクトルを加算したベクトルと、現在のフレームから算出されるグローバルベクトルＶ１との差分が閾値以下となった場合、補正量算出部１６の動作モードを正常モードに遷移する。
【００４５】
このように、撮影装置１１では、補正量算出部１６の動作モードが遷移し、手振れ補正量算出部２４は、補正量算出部１６の動作モードに応じた手振れ補正量を算出する。
【００４６】
例えば、図４を参照して、補正用の動きベクトルを算出する例について説明する。
【００４７】
例えば、第ｎ番目のフレームＦ（ｎ）において、動被写体が画像に写されていない場合には、第ｎ番目のフレームＦ（ｎ）から検出された動きベクトルのヒストグラムは、１つのピークを有する形状となる。このとき、ヒストグラムのピークとなっている動きベクトルが、手振れにより画面の全体的に発生したグローバルベクトルＶ１（ｎ）として求められる。この場合、モード決定部２２は、補正量算出部１６の動作モードは正常モードであると決定する。これに従って、手振れ補正量算出部２４は、グローバルベクトルＶ１（ｎ）を補正用の動きベクトルＥＶ（ｎ）とし（即ち、ＥＶ（ｎ）＝Ｖ１（ｎ））、補正用の動きベクトルＥＶ（ｎ）から手振れ補正量を算出する。
【００４８】
次に、第ｎ＋１番目のフレームＦ（ｎ＋１）において、１つの動被写体が写されている場合、第ｎ＋１番目のフレームＦ（ｎ＋１）から検出された動きベクトルのヒストグラムは２つのピークを有する形状となる。即ち、手振れにより画面の全体的に発生したグローバルベクトルＶ１（ｎ＋１）と、グローバルベクトルＶ１（ｎ＋１）に動被写体の動きに応じて発生した動被写体ベクトルＶ２（ｎ＋１）が加算されたベクトルＶ１（ｎ＋１）＋Ｖ２（ｎ＋１）との２つのピークを有する形状のヒストグラムが算出される。
【００４９】
この場合、モード決定部２２は、補正量算出部１６の動作モードは動被写体モードであると決定する。これに従って、加速度ベクトル算出部２３は、第ｎ番目のフレームＦ（ｎ）のヒストグラムと、第ｎ＋１番目のフレームＦ（ｎ＋１）のヒストグラムとのマッチングを行って、グローバルベクトルＶ１（ｎ＋１）の変化を表す加速度ベクトルＡＶ（ｎ＋１）を算出する。また、手振れ補正量算出部２４は、第ｎ番目のフレームＦ（ｎ）の処理で用いた補正用の動きベクトルＥＶ（ｎ）と、加速度ベクトルＡＶ（ｎ＋１）とを加算して、第ｎ＋１番目のフレームＦ（ｎ＋１）に対する処理で用いる補正用の動きベクトルＥＶ（ｎ＋１）を算出する（即ち、ＥＶ（ｎ＋１）＝ＥＶ（ｎ）＋ＡＶ（ｎ＋１））。そして、手振れ補正量算出部２４は、補正用の動きベクトルＥＶ（ｎ＋１）から手振れ補正量を算出する。
【００５０】
同様に、第ｎ＋２番目のフレームＦ（ｎ＋２）においても、動被写体モードと決定され、１フレーム前の補正用の動きベクトルＥＶ（ｎ＋１）と加速度ベクトルＡＶ（ｎ＋２）とを加算して、補正用の動きベクトルＥＶ（ｎ＋２）が算出される。
【００５１】
そして、例えば、動被写体が写されている領域の画像全体に対する割合などによって、第ｎ＋３番目のフレームＦ（ｎ＋３）のヒストグラムに示すように、動被写体が写されている領域のベクトルＶ１（ｎ＋３）＋Ｖ２（ｎ＋３）の度数が、グローバルベクトルＶ１（ｎ＋３）の度数よりも高くなる場合がある。このような場合であっても、手振れ補正量算出部２４は、１フレーム前の補正用の動きベクトルＥＶ（ｎ＋２）と加速度ベクトルＡＶ（ｎ＋３）とを加算して補正用の動きベクトルＥＶ（ｎ＋３）を求める。つまり、補正量算出部１６では、度数の高いベクトル、つまり、動被写体が写されている領域のベクトルＶ１（ｎ＋３）＋ベクトルＶ２（ｎ＋３）が、補正用の動きベクトルＥＶ（ｎ＋３）として用いられることはない。
【００５２】
同様に、第ｎ＋４番目のフレームＦ（ｎ＋４）においても、動被写体モードと決定され、１フレーム前の補正用の動きベクトルＥＶ（ｎ＋３）と加速度ベクトルＡＶ（ｎ＋４）とを加算して、補正用の動きベクトルＥＶ（ｎ＋４）が算出される。
【００５３】
そして、第ｎ＋５番目のフレームＦ（ｎ＋５）において、動被写体が画像に写されなくなった場合、第ｎ＋５番目のフレームＦ（ｎ＋５）から検出された動きベクトルのヒストグラムは、１つのピークを有する形状となる。この場合、モード決定部２２は、補正量算出部１６の動作モードは復帰モードであると決定する。
【００５４】
これに従って、手振れ補正量算出部２４は、第ｎ＋４番目のフレームＦ（ｎ＋４）の処理で用いた補正用の動きベクトルＥＶ（ｎ＋４）および加速度ベクトルＡＶ（ｎ＋５）を加算したベクトルと、第ｎ＋５番目のフレームＦ（ｎ＋５）のグローバルベクトルＶ１（ｎ＋５）とを、復帰係数に応じてαブレンドする。これにより、第ｎ＋５番目のフレームＦ（ｎ＋５）に対する処理で用いる補正用の動きベクトルＥＶ（ｎ＋５）が算出される（即ち、ＥＶ（ｎ＋５）＝（ＥＶ（ｎ＋４）＋ＡＶ（ｎ＋５））×復帰係数＋Ｖ１（ｎ＋５）×（１−復帰係数））。そして、手振れ補正量算出部２４は、補正用の動きベクトルＥＶ（ｎ＋５）から手振れ補正量を算出する。
【００５５】
また、復帰モードにおいては、手振れ補正量算出部２４が算出した補正用の動きベクトルＥＶ（ｎ＋５）とグローバルベクトルＶ１（ｎ＋５）は、モード決定部２２が復帰モードから正常モードに遷移するか否かを判定する際に利用される。例えば、モード決定部２２は、補正用の動きベクトルＥＶ（ｎ＋５）と、第ｎ＋５番目のフレームＦ（ｎ＋５）から検出されたグローバルベクトルＶ１（ｎ＋５）との差分が、所定の閾値以下（ＥＶ（ｎ＋５）−Ｖ１（ｎ＋５）＜閾値）となった場合、復帰モードから正常モードに遷移すると判定する。
【００５６】
つまり、復帰モードの場合には、動被写体モードにおける補正用の動きベクトルＥＶとグローバルベクトルＶ１を復帰係数に応じてαブレンドすることにより、動被写体モードにおける補正用の動きベクトルＥＶから徐々に、グローバルベクトルＶ１に近い動きベクトルとなる。従って、その差分が、所定の閾値以下となったときに、復帰モードから正常モードに遷移することで、動被写体モードから直接的に正常モードに遷移するような場合よりも、手振れ補正量が急激に変わることにより生じる不自然な画像を抑制することができる。また、復帰モードの場合には、αブレンドで用いる復帰係数を調整することで、動被写体モードから正常モードに復帰する際に、補正用の動きベクトルＥＶが変化する具合を適宜調整することができる。
【００５７】
図５は、撮影装置１１において行われる手振れ補正処理を説明するフローチャートである。
【００５８】
撮影部１２が撮影を開始して、動きベクトル検出部１３および手振れ補正処理部１４に画像が供給されると処理が開始され、ステップＳ１１において、動きベクトル検出部１３は、撮影部１２からの画像を解析して、複数の動きベクトルを検出する。動きベクトル検出部１３は、それらの複数の動きベクトルを補正量算出部１６のヒストグラム算出部２１に供給する。
【００５９】
ステップＳ１２において、ヒストグラム算出部２１は、動きベクトル検出部１３により検出された複数の動きベクトルについてのヒストグラムを算出し、モード決定部２２および手振れ補正量算出部２４に供給する。
【００６０】
ステップＳ１３において、モード決定部２２は、図３に示したモード遷移図に従って、補正量算出部１６の動作モードを、正常モード、動被写体モード、または復帰モードのいずれであるかを決定する。
【００６１】
ステップＳ１３において、モード決定部２２が、補正量算出部１６の動作モードが正常モードであると決定した場合、処理はステップＳ１４に進む。ステップＳ１４において、手振れ補正量算出部２４は、正常モードにおける手振れ補正量を算出し、手振れ補正処理部１４に供給する。
【００６２】
一方、ステップＳ１３において、モード決定部２２が、補正量算出部１６の動作モードが動被写体モードであると決定した場合、処理はステップＳ１５に進む。ステップＳ１５において、加速度ベクトル算出部２３は、フレーム間の動きベクトルの変化に応じた加速度ベクトルを算出する。ステップＳ１６において、手振れ補正量算出部２４は、動被写体モードにおける手振れ補正量を算出し、手振れ補正処理部１４に供給する。
【００６３】
一方、ステップＳ１３において、モード決定部２２が、補正量算出部１６の動作モードが復帰モードであると決定した場合、処理はステップＳ１７に進む。ステップＳ１７において、加速度ベクトル算出部２３は、フレーム間の動きベクトルの変化に応じた加速度ベクトルを算出する。ステップＳ１８において、手振れ補正量算出部２４は、復帰モードにおける手振れ補正量を算出し、手振れ補正処理部１４に供給する。
【００６４】
ステップＳ１４，Ｓ１６、またはＳ１８の処理後、処理はステップＳ１９に進み、手振れ補正処理部１４は、手振れ補正量算出部２４により算出された手振れ補正量に基づいて、撮影部１２から供給される画像に対する手振れ補正処理を行う。ステップＳ１９の処理後、処理はステップＳ１１に戻り、次の画像（フレーム）を処理の対象として、以下、同様の処理が繰り返される。
【００６５】
以上のように、撮影装置１１では、画像から検出された動きベクトルのヒストグラムの形状に応じて、補正量算出部１６の動作モードを遷移させるので、画像に応じて、即ち、動被写体が写されているか否かに応じて、適切な手振れ補正量を算出することができる。即ち、撮影装置１１では、補正量算出部１６の動作モードが動被写体モードである場合には、ヒストグラムの変化に応じた加速度ベクトルと、１フレーム前の補正用の動きベクトルに基づいて、処理の対象となっているフレームに対する処理で用いる補正用の動きベクトルを算出（推測）するので、安定的に手振れ補正を行うことができる。
【００６６】
つまり、撮影装置１１では、動被写体が画像に写されている場合、従来のような背景部を推測する手法を採用せずに、背景部および動被写体部を含む画像全体から検出される動きベクトルを使用して補正用の動きベクトルが算出される。従って、図１を参照して説明したように、従来の手振れ補正処理では、背景部の推測を誤った場合には、動被写体の動きに引っ張られるような大きなブレが発生していたのに対し、撮影装置１１では、従来の技術では背景部の推測を誤るような場合であっても、背景部の推測を行わないため、このような大きなブレが発生することが回避される。これにより、撮影装置１１は、動被写体の動きによる悪影響を低減することが可能な、より安定的な手振れ補正処理を行うことができる。
【００６７】
また、撮影装置１１では、補正量算出部１６の動作モードが復帰モードである場合には、動被写体モードにおける補正用の動きベクトルとグローバルベクトルを復帰係数に応じてαブレンドすることで補正用の動きベクトルを徐々にグローバルベクトルに近づけていくので、動被写体モードから正常モードにゆるやかに戻ることができる。これによって、手振れ補正量が急激に変わることにより生じる不自然な画像を回避した手振れ補正処理を実現することができる。
【００６８】
なお、本技術は、例えば、デジタルビデオカメラの他、動画撮影が可能なデジタルスチルカメラや携帯電話装置などの装置に適用することができる。
【００６９】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【００７０】
図６は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【００７１】
コンピュータにおいて、CPU（Central Processing Unit）１０１，ROM（Read Only Memory）１０２，RAM（Random Access Memory）１０３は、バス１０４により相互に接続されている。
【００７２】
バス１０４には、さらに、入出力インタフェース１０５が接続されている。入出力インタフェース１０５には、ボタン、レバー、マイクロホンなどよりなる入力部１０６、ディスプレイ、スピーカなどよりなる出力部１０７、ハードディスクや不揮発性のメモリなどよりなる記憶部１０８、ネットワークインタフェースなどよりなる通信部１０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア１１１を駆動するドライブ１１０が接続されている。
【００７３】
以上のように構成されるコンピュータでは、CPU１０１が、例えば、記憶部１０８に記憶されているプログラムを、入出力インタフェース１０５及びバス１０４を介して、RAM１０３にロードして実行することにより、上述した一連の処理が行われる。
【００７４】
コンピュータ（CPU１０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア１１１に記録して、あるいは、ローカルエリアネットワーク、インタネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【００７５】
そして、プログラムは、リムーバブルメディア１１１をドライブ１１０に装着することにより、入出力インタフェース１０５を介して、記憶部１０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１０９で受信し、記憶部１０８にインストールすることができる。その他、プログラムは、ROM１０２や記憶部１０８に、あらかじめインストールしておくことができる。
【００７６】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであってもよい。また、プログラムは、１のCPUにより処理されるものであってもよいし、複数のCPUによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
【００７７】
なお、本技術は以下のような構成も取ることができる。
（１）
連続的に撮影される画像ごとに検出された各画像の複数の動きベクトルについてのヒストグラムを算出するヒストグラム算出部と、
前記ヒストグラムの変化に応じた加速度ベクトルを算出する加速度ベクトル算出部と、
前記加速度ベクトル、および、処理の対象となっている画像の前の画像に対する処理で用いられた第１の補正用の動きベクトルに基づいて、前記処理の対象となっている画像に対する処理で用いる第２の補正用の動きベクトルを推測し、前記第２の補正用の動きベクトルに応じた手振れ補正量を算出する手振れ補正量算出部と
を備える画像処理装置。
（２）
前記ヒストグラムの形状に応じて、前記手振れ補正量算出部における処理を決定する決定部と、
前記決定部により決定された処理に従って前記手振れ補正量算出部が算出した前記手振れ補正量で、前記画像に対する手振れ補正処理を行う手振れ補正処理部と
をさらに備える上記（１）に記載の画像処理装置。
（３）
前記決定部は、前記ヒストグラムが複数のピークを有する形状である場合、前記加速度ベクトルおよび前記第１の補正用の動きベクトルに基づいて、前記第２の補正用の動きベクトルを推測するように、前記手振れ補正量算出部の処理を決定する
上記（２）に記載の画像処理装置。
（４）
前記決定部は、前記ヒストグラムが１つのピークを有する形状を維持している場合、前記ヒストグラムのピークに応じた前記動きベクトルを前記第２の補正用の動きベクトルとするように、前記手振れ補正量算出部の処理を決定する
上記（２）または（３）に記載の画像処理装置。
（５）
前記決定部は、前記ヒストグラムが複数のピークを有する形状から１つのピークを有する形状に変化した場合、前記加速度ベクトル、前記第１の補正用の動きベクトル、前記ヒストグラムのピークに応じた前記動きベクトル、および所定の復帰係数に基づいて、前記第２の補正用の動きベクトルを推測するように、前記手振れ補正量算出部の処理を決定する
上記（２）から（４）までのいずれかに記載の画像処理装置。
（６）
前記決定部は、前記手振れ補正量算出部の処理が、前記加速度ベクトル、前記第１の補正用の動きベクトル、前記ヒストグラムのピークに応じた前記動きベクトル、および所定の復帰係数に基づいて、前記第２の補正用の動きベクトルを推測している場合に、前記手振れ補正量算出部により推測される前記第２の補正用の動きベクトルと、処理の対象となっている画像から前記ヒストグラム算出部により算出された前記ヒストグラムのピークに応じた前記動きベクトルとの差分が、所定の閾値以下になると、前記ヒストグラムのピークに応じた前記動きベクトルを前記第２の補正用の動きベクトルとするように、前記手振れ補正量算出部の処理を変更する
上記（２）から（５）までのいずれかに記載の画像処理装置。
【００７８】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【００７９】
１１  撮影装置，  １２  撮影部，  １３  動きベクトル検出部，  １４  手振れ補正処理部，  １５  出力部，  １６  補正量算出部，  ２１  ヒストグラム算出部，  ２２  モード決定部，  ２３  加速度ベクトル算出部，  ２４  手振れ補正量算出部
【図１】
2012257080.tif 000003
【図２】
2012257080.tif 000004
【図３】
2012257080.tif 000005
【図４】
2012257080.tif 000006
【図５】
2012257080.tif 000007
【図６】
2012257080.tif 000008