説明

画像処理装置および画像処理方法、並びにプログラム

【課題】より安定的な手振れ補正処理を行う。
【解決手段】動きベクトル検出部は、撮影部により連続的に撮影される画像ごとに複数の動きベクトルを検出し、ヒストグラム算出部は、各画像の複数の動きベクトルについてのヒストグラムを算出し、加速度ベクトル算出部は、ヒストグラムの変化に応じた加速度ベクトルを算出する。そして、手振れ補正量算出部は、加速度ベクトル、および、1フレーム前の画像に対する処理で用いられた補正用の動きベクトルに基づいて、現在のフレームの画像に対する処理で用いる補正用の動きベクトルを推測し、推測した補正用の動きベクトルに応じた手振れ補正量を算出する。本技術は、例えば、デジタルビデオカメラに適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理装置および画像処理方法、並びにプログラムに関し、特に、より安定的な手振れ補正処理を行うことができるようにした画像処理装置および画像処理方法、並びにプログラムに関する。
【背景技術】
【0002】
近年、デジタルビデオカメラなどの撮影装置には手振れ補正機能が備えられており、ユーザが撮影装置を手に持って撮影を行っても、手振れが補正されたブレのない画像(動画像)を記録することができる。
【0003】
従来の手振れ補正処理では、撮影された画像から被写体が写されていない部分を背景部として推測し、推測された背景部から検出される動きベクトルに基づいて手振れを補正する画像処理が行われている。
【0004】
例えば、本願出願人は、撮影画像から顔領域を検出して、顔領域のブレ量に係る重み付け係数の値を、顔領域以外の背景領域のブレ量に係る重み付け係数の値よりも大きくして手振れ補正を行う画像処理方法を提案している(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−141437号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の手振れ補正処理においては、背景部を誤って推測してしまい、例えば、動いている被写体が写されている部分から検出された動きベクトルに基づいて手振れ補正を行った場合、その被写体による悪影響を受けることがあった。例えば、従来の手振れ補正処理では、被写体の動きに応じて画像に大きなブレが発生してしまい、安定的な手振れ補正処理を行うことは困難であった。
【0007】
本開示は、このような状況に鑑みてなされたものであり、より安定的な手振れ補正処理を行うことができるようにするものである。
【0008】
本開示の一側面の画像処理装置は、連続的に撮影される画像ごとに検出された各画像の複数の動きベクトルについてのヒストグラムを算出するヒストグラム算出部と、前記ヒストグラムの変化に応じた加速度ベクトルを算出する加速度ベクトル算出部と、前記加速度ベクトル、および、処理の対象となっている画像の前の画像に対する処理で用いられた第1の補正用の動きベクトルに基づいて、前記処理の対象となっている画像に対する処理で用いる第2の補正用の動きベクトルを推測し、前記第2の補正用の動きベクトルに応じた手振れ補正量を算出する手振れ補正量算出部とを備える。
【0009】
本開示の一側面の画像処理方法またはプログラムは、連続的に撮影される画像ごとに検出された各画像の複数の動きベクトルについてのヒストグラムを算出し、前記ヒストグラムの変化に応じた加速度ベクトルを算出し、前記加速度ベクトル、および、処理の対象となっている画像の前の画像に対する処理で用いられた第1の補正用の動きベクトルに基づいて、前記処理の対象となっている画像に対する処理で用いる第2の補正用の動きベクトルを推測し、前記第2の補正用の動きベクトルに応じた手振れ補正量を算出するステップを含む。
【0010】
本開示の一側面においては、連続的に撮影される画像ごとに検出された各画像の複数の動きベクトルについてのヒストグラムが算出され、ヒストグラムの変化に応じた加速度ベクトルが算出される。そして、加速度ベクトル、および、処理の対象となっている画像の前の画像に対する処理で用いられた第1の補正用の動きベクトルに基づいて、処理の対象となっている画像に対する処理で用いる第2の補正用の動きベクトルが推測され、第2の補正用の動きベクトルに応じた手振れ補正量が算出される。
【発明の効果】
【0011】
本開示の一側面によれば、より安定的な手振れ補正処理を行うことができる。
【図面の簡単な説明】
【0012】
【図1】従来の手振れ補正処理と、本技術を適用した手振れ補正処理との概念について説明する図である。
【図2】本技術を適用した撮影装置の一実施の形態の構成例を示すブロック図である。
【図3】補正量算出部の動作モードの遷移を示すモード遷移図である。
【図4】補正用の動きベクトルを算出する例について説明する図である。
【図5】手振れ補正処理を説明するフローチャートである。
【図6】コンピュータのハードウエアの構成例を示すブロック図である。
【発明を実施するための形態】
【0013】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0014】
まず、図1を参照して、従来の手振れ補正処理と、本技術を適用した手振れ補正処理との概念について説明する。図1Aには、従来の手振れ補正処理についての概念図が示されており、図1Bには、本技術を適用した手振れ補正処理についての概念図が示されている。
【0015】
例えば、ユーザが撮影装置を手に持って撮影を行うと、その撮影により得られた画像には、全体的に同一の動き(ブレ)が発生する。そのため、画像から動きベクトルを検出すると、図1Aおよび図1Bに示すように、手振れによる動きベクトル(以下、適宜、グローバルベクトルV1と称する)が画像の全体から検出される。
【0016】
そして、自動車のように移動する被写体(以下、適宜、動被写体と称する)が画像に写されている場合には、その動被写体の動きに応じた動きベクトル(以下、適宜、動被写体ベクトルV2と称する)が検出される。従って、動被写体が写されている領域からは、グローバルベクトルV1および動被写体ベクトルV2が加算されたベクトルが検出される。
【0017】
従来、このような動被写体が写された画像に対する手振れ補正処理では、まず、画像から検出された動きベクトルから、手振れを補正するための手振れ補正量を算出するのに使用する補正用の動きベクトルを選択する。例えば、画像を解析することによって、被写体が写されている領域以外の領域である背景領域を推測し、背景領域から検出される動きベクトルを、補正用の動きベクトルとして選択する。その後、補正用の動きベクトルに応じた手振れ補正量を算出して手振れを補正する画像処理が行われる。
【0018】
従って、従来の手振れ補正処理では、背景領域を正しく推測することができれば、グローバルベクトルV1が補正用の動きベクトルとして選択され、手振れ補正量が算出されるので、手振れ補正を正確に行うことができる。
【0019】
一方、背景領域を正しく推測することができない場合には、グローバルベクトルV1と動被写体ベクトルV2とを加算した動きベクトルが、補正用の動きベクトルとして選択されて、手振れ補正処理が行われることになる。この場合、動被写体の動きに引っ張られたように、画像に大きなブレが発生してしまう。さらに、背景領域を正しく推測することができる場合と、正しく推測できない場合とが切り替わるタイミングで、グローバルベクトルV1だけを用いた手振れ補正処理と、グローバルベクトルV1および動被写体ベクトルV2を加算したベクトルを用いた手振れ補正処理とが切り替わることになる。このため、手振れ補正量が急激に変わり不自然な画像となる。
【0020】
これに対し、本技術を適用した手振れ補正処理では、後述するように、背景領域の推測を行うことなく補正用の動きベクトルを算出するため、動被写体の動きに引っ張られたような大きなブレが発生することを回避することができる。このため、本技術を適用した手振れ補正処理により、被写体の動きによる悪影響を抑制することができ、より安定的な手振れ補正処理を実現することができる。
【0021】
図2は、本技術を適用した撮影装置の一実施の形態の構成例を示すブロック図である。
【0022】
撮影装置11は、デジタルビデオカメラなどのように動画像を撮影可能な装置であり、撮影部12、動きベクトル検出部13、手振れ補正処理部14、出力部15、および補正量算出部16を備えて構成される。
【0023】
撮影部12は、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)センサなどの固体撮像素子、および、高速に動作可能なメモリを備えて構成される。撮影部12により連続的に撮影される画像は、即ち、固体撮像素子により連続的に撮像されてメモリに順次記憶される画像は、動きベクトル検出部13および手振れ補正処理部14に供給される。
【0024】
動きベクトル検出部13は、撮影部12により連続的に撮影された画像を順次解析することにより、画像ごとに複数の動きベクトルを検出し、それらの複数の動きベクトルを補正量算出部16に供給する。
【0025】
例えば、動きベクトル検出部13は、撮影部12のメモリから2フレーム分の画像を読み出して、現在のフレームを複数のブロックに分割したブロックごとに、1つ前のフレームとマッチングを行う。そして、動きベクトル検出部13は、各ブロックの画像が1つ前のフレームにおいて写されていた領域を特定し、その特定した領域と、マッチングを行ったブロックとの距離および方向に従って、そのブロックについての動きベクトルを求める。動きベクトル検出部13は、この処理を、現在のフレームを分割した複数のブロックの全てに対して行うことにより、現在のフレームから複数の動きベクトルを検出することができる。
【0026】
手振れ補正処理部14には、補正量算出部16において算出される手振れ補正量が供給され、その手振れ補正量に従って、撮影部12により撮影された画像をシフトする画像処理を行う。これにより、撮影部12により撮影された画像の手振れが補正され、手振れ補正処理部14は、手振れ補正処理後の画像を出力部15に供給する。
【0027】
出力部15は、例えば、図示しないディスプレイや記録媒体などに接続されており、手振れ補正処理部14から供給される画像を出力して、ディスプレイに表示させたり、記録媒体に記録させたりする。
【0028】
補正量算出部16は、動きベクトル検出部13から供給される各画像の複数の動きベクトルから、手振れ補正処理部14が手振れ補正処理を行うのに用いる手振れ補正量を算出して、手振れ補正処理部14に供給する。補正量算出部16は、ヒストグラム算出部21、モード決定部22、加速度ベクトル算出部23、および手振れ補正量算出部24を備えて構成される。
【0029】
ヒストグラム算出部21には、撮影部12により撮影された画像を分割した複数のブロックごとに求められた動きベクトルが動きベクトル検出部13から供給され、ヒストグラム算出部21は、それらの動きベクトルの度数を表すヒストグラムを算出する。従って、ヒストグラム算出部21が算出するヒストグラムは、画像に動被写体が写されているか否かで形状が変化する。
【0030】
例えば、画像に動被写体が写されていない場合、ヒストグラム算出部21が算出するヒストグラムは、グローバルベクトルV1に応じた1つのピークを有する形状となる。また、画像に動被写体が写されている場合には、ヒストグラム算出部21が算出するヒストグラムは、グローバルベクトルV1と、動被写体の動きに従って求められた動被写体ベクトルV2とに応じて、複数のピークを有する形状となる。
【0031】
モード決定部22は、ヒストグラム算出部21が算出するヒストグラム、および、手振れ補正量算出部24が算出する手振れ補正量に基づいて、補正量算出部16において手振れ補正量を算出する動作モードを決定する。補正量算出部16の動作モードとしては、動被写体が写されていない状態における正常モード、動被写体が写されている状態における動被写体モード、および、動被写体モードから正常モードに復帰する状態における復帰モードがある。
【0032】
モード決定部22は、補正量算出部16の動作モードを決定して、正常モード、動被写体モード、または復帰モードのいずれであるかを手振れ補正量算出部24に通知する。また、モード決定部22は、補正量算出部16の動作モードが動被写体モードまたは復帰モードである場合には、ヒストグラム算出部21からのヒストグラムを加速度ベクトル算出部23に供給する。
【0033】
加速度ベクトル算出部23は、モード決定部22からヒストグラムが供給された場合、即ち、補正量算出部16の動作モードが動被写体モードまたは復帰モードである場合、供給されたヒストグラムの変化に応じた加速度ベクトルを算出する。例えば、加速度ベクトル算出部23は、現在のフレームにおける動きベクトルのヒストグラムと、1フレーム前のフレームにおける動きベクトルのヒストグラムとのブロックマッチングを行う。これにより、加速度ベクトル算出部23は、フレーム間での動きベクトルの変化を示す加速度ベクトルを算出する。
【0034】
手振れ補正量算出部24には、モード決定部22において決定された補正量算出部16の動作モードが通知され、手振れ補正量算出部24は、そのときの動作モードに応じた手振れ補正量を算出して、手振れ補正処理部14に供給する。
【0035】
例えば、補正量算出部16の動作モードが正常モードである場合、ヒストグラム算出部21から手振れ補正量算出部24に供給されるヒストグラムの形状は、1つのピークを有している。つまり、この場合、手振れによって画面の全体的に発生するグローバルベクトルV1においてピークとなる形状のヒストグラムが求められている。従って、この場合、手振れ補正量算出部24は、ヒストグラムの度数が最大となっているグローバルベクトルV1を補正用の動きベクトルとして選択し、その補正用の動きベクトルに応じた向きおよび大きさの手振れ補正量を算出する。
【0036】
また、補正量算出部16の動作モードが動被写体モードである場合、手振れ補正量算出部24には、加速度ベクトル算出部23において算出された加速度ベクトルが供給される。また、この場合、ヒストグラム算出部21から手振れ補正量算出部24に供給されるヒストグラムの形状は複数のピークを有している。
【0037】
そこで、この場合、手振れ補正量算出部24は、1フレーム前の処理において手振れ補正量の算出に用いられた補正用の動きベクトルと、加速度ベクトル算出部23からの加速度ベクトルとに基づいて、現在のフレームに対する処理で用いる補正用の動きベクトルを算出(推測)する。例えば、手振れ補正量算出部24は、1フレーム前の処理における補正用の動きベクトルに加速度ベクトルを加算することにより、現在のフレームにおける補正用の動きベクトルを算出する。即ち、補正量算出部16では、画像の背景領域を推測して、その背景領域から検出された動きベクトルを補正用の動きベクトルとするのではなく、動きベクトルの変化に応じて求められる加速度ベクトルを利用して、補正用の動きベクトルが推測される。
【0038】
また、補正量算出部16の動作モードが復帰モードである場合、手振れ補正量算出部24には、加速度ベクトル算出部23において算出された加速度ベクトルが供給される。そして、手振れ補正量算出部24は、1フレーム前の処理において手振れ補正量の算出に用いられた補正用の動きベクトル、加速度ベクトル算出部23からの加速度ベクトル、ヒストグラムの度数が最大となっているグローバルベクトルV1、および、所定の復帰係数に基づいて、現在のフレームにおける補正用の動きベクトルを算出する。
【0039】
また、復帰モードの場合には、手振れ補正量算出部24が手振れ補正量の算出に用いた補正用の動きベクトルと、ヒストグラムの度数が最大となっているグローバルベクトルV1とがモード決定部22にも供給され、モード決定部22において復帰モードから正常モードに遷移するか否かの判定に利用される。
【0040】
このように、撮影装置11では、画像から検出された動きベクトルのヒストグラムに従って、補正量算出部16の動作モードが決定され、それぞれの動作モードに応じて算出された手振れ補正量で、手振れ補正処理が行われる。
【0041】
次に、図3を参照して、補正量算出部16の動作モードの遷移について説明する。
【0042】
まず、撮影装置11の起動時には、補正量算出部16の動作モードが正常モードとなるように初期設定されている。そして、モード決定部22は、補正量算出部16の動作モードが正常モードであるときに、ヒストグラム算出部21が算出するヒストグラムが1つのピークを有する形状である場合には、正常モードを維持する。その後、補正量算出部16の動作モードが正常モードであるときに、ヒストグラム算出部21が算出するヒストグラムが複数のピークを有する形状に変化した場合、モード決定部22は、補正量算出部16の動作モードを動被写体モードに遷移する。
【0043】
また、モード決定部22は、補正量算出部16の動作モードが動被写体モードであるときに、ヒストグラム算出部21が算出するヒストグラムが複数のピークを有する形状である場合には、動被写体モードを維持し続ける。一方、モード決定部22は、補正量算出部16の動作モードが動被写体モードであるときに、ヒストグラム算出部21が算出するヒストグラムが1つのピークを有する形状に変化すると、補正量算出部16の動作モードを復帰モードに遷移する。
【0044】
そして、モード決定部22は、補正量算出部16の動作モードが復帰モードであるときに、ヒストグラム算出部21が算出するヒストグラムが1つのピークを有する形状である場合には、復帰モードを維持し続ける。また、モード決定部22は、補正量算出部16の動作モードが復帰モードであるときに、ヒストグラム算出部21が算出するヒストグラムが複数のピークを有する形状に変化した場合、補正量算出部16の動作モードを動被写体モードに遷移する。一方、モード決定部22は、補正量算出部16の動作モードが復帰モードであるときに、1フレーム前の補正用の動きベクトルに加速度ベクトル算出部23からの加速度ベクトルを加算したベクトルと、現在のフレームから算出されるグローバルベクトルV1との差分が閾値以下となった場合、補正量算出部16の動作モードを正常モードに遷移する。
【0045】
このように、撮影装置11では、補正量算出部16の動作モードが遷移し、手振れ補正量算出部24は、補正量算出部16の動作モードに応じた手振れ補正量を算出する。
【0046】
例えば、図4を参照して、補正用の動きベクトルを算出する例について説明する。
【0047】
例えば、第n番目のフレームF(n)において、動被写体が画像に写されていない場合には、第n番目のフレームF(n)から検出された動きベクトルのヒストグラムは、1つのピークを有する形状となる。このとき、ヒストグラムのピークとなっている動きベクトルが、手振れにより画面の全体的に発生したグローバルベクトルV1(n)として求められる。この場合、モード決定部22は、補正量算出部16の動作モードは正常モードであると決定する。これに従って、手振れ補正量算出部24は、グローバルベクトルV1(n)を補正用の動きベクトルEV(n)とし(即ち、EV(n)=V1(n))、補正用の動きベクトルEV(n)から手振れ補正量を算出する。
【0048】
次に、第n+1番目のフレームF(n+1)において、1つの動被写体が写されている場合、第n+1番目のフレームF(n+1)から検出された動きベクトルのヒストグラムは2つのピークを有する形状となる。即ち、手振れにより画面の全体的に発生したグローバルベクトルV1(n+1)と、グローバルベクトルV1(n+1)に動被写体の動きに応じて発生した動被写体ベクトルV2(n+1)が加算されたベクトルV1(n+1)+V2(n+1)との2つのピークを有する形状のヒストグラムが算出される。
【0049】
この場合、モード決定部22は、補正量算出部16の動作モードは動被写体モードであると決定する。これに従って、加速度ベクトル算出部23は、第n番目のフレームF(n)のヒストグラムと、第n+1番目のフレームF(n+1)のヒストグラムとのマッチングを行って、グローバルベクトルV1(n+1)の変化を表す加速度ベクトルAV(n+1)を算出する。また、手振れ補正量算出部24は、第n番目のフレームF(n)の処理で用いた補正用の動きベクトルEV(n)と、加速度ベクトルAV(n+1)とを加算して、第n+1番目のフレームF(n+1)に対する処理で用いる補正用の動きベクトルEV(n+1)を算出する(即ち、EV(n+1)=EV(n)+AV(n+1))。そして、手振れ補正量算出部24は、補正用の動きベクトルEV(n+1)から手振れ補正量を算出する。
【0050】
同様に、第n+2番目のフレームF(n+2)においても、動被写体モードと決定され、1フレーム前の補正用の動きベクトルEV(n+1)と加速度ベクトルAV(n+2)とを加算して、補正用の動きベクトルEV(n+2)が算出される。
【0051】
そして、例えば、動被写体が写されている領域の画像全体に対する割合などによって、第n+3番目のフレームF(n+3)のヒストグラムに示すように、動被写体が写されている領域のベクトルV1(n+3)+V2(n+3)の度数が、グローバルベクトルV1(n+3)の度数よりも高くなる場合がある。このような場合であっても、手振れ補正量算出部24は、1フレーム前の補正用の動きベクトルEV(n+2)と加速度ベクトルAV(n+3)とを加算して補正用の動きベクトルEV(n+3)を求める。つまり、補正量算出部16では、度数の高いベクトル、つまり、動被写体が写されている領域のベクトルV1(n+3)+ベクトルV2(n+3)が、補正用の動きベクトルEV(n+3)として用いられることはない。
【0052】
同様に、第n+4番目のフレームF(n+4)においても、動被写体モードと決定され、1フレーム前の補正用の動きベクトルEV(n+3)と加速度ベクトルAV(n+4)とを加算して、補正用の動きベクトルEV(n+4)が算出される。
【0053】
そして、第n+5番目のフレームF(n+5)において、動被写体が画像に写されなくなった場合、第n+5番目のフレームF(n+5)から検出された動きベクトルのヒストグラムは、1つのピークを有する形状となる。この場合、モード決定部22は、補正量算出部16の動作モードは復帰モードであると決定する。
【0054】
これに従って、手振れ補正量算出部24は、第n+4番目のフレームF(n+4)の処理で用いた補正用の動きベクトルEV(n+4)および加速度ベクトルAV(n+5)を加算したベクトルと、第n+5番目のフレームF(n+5)のグローバルベクトルV1(n+5)とを、復帰係数に応じてαブレンドする。これにより、第n+5番目のフレームF(n+5)に対する処理で用いる補正用の動きベクトルEV(n+5)が算出される(即ち、EV(n+5)=(EV(n+4)+AV(n+5))×復帰係数+V1(n+5)×(1−復帰係数))。そして、手振れ補正量算出部24は、補正用の動きベクトルEV(n+5)から手振れ補正量を算出する。
【0055】
また、復帰モードにおいては、手振れ補正量算出部24が算出した補正用の動きベクトルEV(n+5)とグローバルベクトルV1(n+5)は、モード決定部22が復帰モードから正常モードに遷移するか否かを判定する際に利用される。例えば、モード決定部22は、補正用の動きベクトルEV(n+5)と、第n+5番目のフレームF(n+5)から検出されたグローバルベクトルV1(n+5)との差分が、所定の閾値以下(EV(n+5)−V1(n+5)<閾値)となった場合、復帰モードから正常モードに遷移すると判定する。
【0056】
つまり、復帰モードの場合には、動被写体モードにおける補正用の動きベクトルEVとグローバルベクトルV1を復帰係数に応じてαブレンドすることにより、動被写体モードにおける補正用の動きベクトルEVから徐々に、グローバルベクトルV1に近い動きベクトルとなる。従って、その差分が、所定の閾値以下となったときに、復帰モードから正常モードに遷移することで、動被写体モードから直接的に正常モードに遷移するような場合よりも、手振れ補正量が急激に変わることにより生じる不自然な画像を抑制することができる。また、復帰モードの場合には、αブレンドで用いる復帰係数を調整することで、動被写体モードから正常モードに復帰する際に、補正用の動きベクトルEVが変化する具合を適宜調整することができる。
【0057】
図5は、撮影装置11において行われる手振れ補正処理を説明するフローチャートである。
【0058】
撮影部12が撮影を開始して、動きベクトル検出部13および手振れ補正処理部14に画像が供給されると処理が開始され、ステップS11において、動きベクトル検出部13は、撮影部12からの画像を解析して、複数の動きベクトルを検出する。動きベクトル検出部13は、それらの複数の動きベクトルを補正量算出部16のヒストグラム算出部21に供給する。
【0059】
ステップS12において、ヒストグラム算出部21は、動きベクトル検出部13により検出された複数の動きベクトルについてのヒストグラムを算出し、モード決定部22および手振れ補正量算出部24に供給する。
【0060】
ステップS13において、モード決定部22は、図3に示したモード遷移図に従って、補正量算出部16の動作モードを、正常モード、動被写体モード、または復帰モードのいずれであるかを決定する。
【0061】
ステップS13において、モード決定部22が、補正量算出部16の動作モードが正常モードであると決定した場合、処理はステップS14に進む。ステップS14において、手振れ補正量算出部24は、正常モードにおける手振れ補正量を算出し、手振れ補正処理部14に供給する。
【0062】
一方、ステップS13において、モード決定部22が、補正量算出部16の動作モードが動被写体モードであると決定した場合、処理はステップS15に進む。ステップS15において、加速度ベクトル算出部23は、フレーム間の動きベクトルの変化に応じた加速度ベクトルを算出する。ステップS16において、手振れ補正量算出部24は、動被写体モードにおける手振れ補正量を算出し、手振れ補正処理部14に供給する。
【0063】
一方、ステップS13において、モード決定部22が、補正量算出部16の動作モードが復帰モードであると決定した場合、処理はステップS17に進む。ステップS17において、加速度ベクトル算出部23は、フレーム間の動きベクトルの変化に応じた加速度ベクトルを算出する。ステップS18において、手振れ補正量算出部24は、復帰モードにおける手振れ補正量を算出し、手振れ補正処理部14に供給する。
【0064】
ステップS14,S16、またはS18の処理後、処理はステップS19に進み、手振れ補正処理部14は、手振れ補正量算出部24により算出された手振れ補正量に基づいて、撮影部12から供給される画像に対する手振れ補正処理を行う。ステップS19の処理後、処理はステップS11に戻り、次の画像(フレーム)を処理の対象として、以下、同様の処理が繰り返される。
【0065】
以上のように、撮影装置11では、画像から検出された動きベクトルのヒストグラムの形状に応じて、補正量算出部16の動作モードを遷移させるので、画像に応じて、即ち、動被写体が写されているか否かに応じて、適切な手振れ補正量を算出することができる。即ち、撮影装置11では、補正量算出部16の動作モードが動被写体モードである場合には、ヒストグラムの変化に応じた加速度ベクトルと、1フレーム前の補正用の動きベクトルに基づいて、処理の対象となっているフレームに対する処理で用いる補正用の動きベクトルを算出(推測)するので、安定的に手振れ補正を行うことができる。
【0066】
つまり、撮影装置11では、動被写体が画像に写されている場合、従来のような背景部を推測する手法を採用せずに、背景部および動被写体部を含む画像全体から検出される動きベクトルを使用して補正用の動きベクトルが算出される。従って、図1を参照して説明したように、従来の手振れ補正処理では、背景部の推測を誤った場合には、動被写体の動きに引っ張られるような大きなブレが発生していたのに対し、撮影装置11では、従来の技術では背景部の推測を誤るような場合であっても、背景部の推測を行わないため、このような大きなブレが発生することが回避される。これにより、撮影装置11は、動被写体の動きによる悪影響を低減することが可能な、より安定的な手振れ補正処理を行うことができる。
【0067】
また、撮影装置11では、補正量算出部16の動作モードが復帰モードである場合には、動被写体モードにおける補正用の動きベクトルとグローバルベクトルを復帰係数に応じてαブレンドすることで補正用の動きベクトルを徐々にグローバルベクトルに近づけていくので、動被写体モードから正常モードにゆるやかに戻ることができる。これによって、手振れ補正量が急激に変わることにより生じる不自然な画像を回避した手振れ補正処理を実現することができる。
【0068】
なお、本技術は、例えば、デジタルビデオカメラの他、動画撮影が可能なデジタルスチルカメラや携帯電話装置などの装置に適用することができる。
【0069】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0070】
図6は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0071】
コンピュータにおいて、CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103は、バス104により相互に接続されている。
【0072】
バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、ボタン、レバー、マイクロホンなどよりなる入力部106、ディスプレイ、スピーカなどよりなる出力部107、ハードディスクや不揮発性のメモリなどよりなる記憶部108、ネットワークインタフェースなどよりなる通信部109、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111を駆動するドライブ110が接続されている。
【0073】
以上のように構成されるコンピュータでは、CPU101が、例えば、記憶部108に記憶されているプログラムを、入出力インタフェース105及びバス104を介して、RAM103にロードして実行することにより、上述した一連の処理が行われる。
【0074】
コンピュータ(CPU101)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア111に記録して、あるいは、ローカルエリアネットワーク、インタネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【0075】
そして、プログラムは、リムーバブルメディア111をドライブ110に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。
【0076】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであってもよい。また、プログラムは、1のCPUにより処理されるものであってもよいし、複数のCPUによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
【0077】
なお、本技術は以下のような構成も取ることができる。
(1)
連続的に撮影される画像ごとに検出された各画像の複数の動きベクトルについてのヒストグラムを算出するヒストグラム算出部と、
前記ヒストグラムの変化に応じた加速度ベクトルを算出する加速度ベクトル算出部と、
前記加速度ベクトル、および、処理の対象となっている画像の前の画像に対する処理で用いられた第1の補正用の動きベクトルに基づいて、前記処理の対象となっている画像に対する処理で用いる第2の補正用の動きベクトルを推測し、前記第2の補正用の動きベクトルに応じた手振れ補正量を算出する手振れ補正量算出部と
を備える画像処理装置。
(2)
前記ヒストグラムの形状に応じて、前記手振れ補正量算出部における処理を決定する決定部と、
前記決定部により決定された処理に従って前記手振れ補正量算出部が算出した前記手振れ補正量で、前記画像に対する手振れ補正処理を行う手振れ補正処理部と
をさらに備える上記(1)に記載の画像処理装置。
(3)
前記決定部は、前記ヒストグラムが複数のピークを有する形状である場合、前記加速度ベクトルおよび前記第1の補正用の動きベクトルに基づいて、前記第2の補正用の動きベクトルを推測するように、前記手振れ補正量算出部の処理を決定する
上記(2)に記載の画像処理装置。
(4)
前記決定部は、前記ヒストグラムが1つのピークを有する形状を維持している場合、前記ヒストグラムのピークに応じた前記動きベクトルを前記第2の補正用の動きベクトルとするように、前記手振れ補正量算出部の処理を決定する
上記(2)または(3)に記載の画像処理装置。
(5)
前記決定部は、前記ヒストグラムが複数のピークを有する形状から1つのピークを有する形状に変化した場合、前記加速度ベクトル、前記第1の補正用の動きベクトル、前記ヒストグラムのピークに応じた前記動きベクトル、および所定の復帰係数に基づいて、前記第2の補正用の動きベクトルを推測するように、前記手振れ補正量算出部の処理を決定する
上記(2)から(4)までのいずれかに記載の画像処理装置。
(6)
前記決定部は、前記手振れ補正量算出部の処理が、前記加速度ベクトル、前記第1の補正用の動きベクトル、前記ヒストグラムのピークに応じた前記動きベクトル、および所定の復帰係数に基づいて、前記第2の補正用の動きベクトルを推測している場合に、前記手振れ補正量算出部により推測される前記第2の補正用の動きベクトルと、処理の対象となっている画像から前記ヒストグラム算出部により算出された前記ヒストグラムのピークに応じた前記動きベクトルとの差分が、所定の閾値以下になると、前記ヒストグラムのピークに応じた前記動きベクトルを前記第2の補正用の動きベクトルとするように、前記手振れ補正量算出部の処理を変更する
上記(2)から(5)までのいずれかに記載の画像処理装置。
【0078】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0079】
11 撮影装置, 12 撮影部, 13 動きベクトル検出部, 14 手振れ補正処理部, 15 出力部, 16 補正量算出部, 21 ヒストグラム算出部, 22 モード決定部, 23 加速度ベクトル算出部, 24 手振れ補正量算出部

【特許請求の範囲】
【請求項1】
連続的に撮影される画像ごとに検出された各画像の複数の動きベクトルについてのヒストグラムを算出するヒストグラム算出部と、
前記ヒストグラムの変化に応じた加速度ベクトルを算出する加速度ベクトル算出部と、
前記加速度ベクトル、および、処理の対象となっている画像の前の画像に対する処理で用いられた第1の補正用の動きベクトルに基づいて、前記処理の対象となっている画像に対する処理で用いる第2の補正用の動きベクトルを推測し、前記第2の補正用の動きベクトルに応じた手振れ補正量を算出する手振れ補正量算出部と
を備える画像処理装置。
【請求項2】
前記ヒストグラムの形状に応じて、前記手振れ補正量算出部における処理を決定する決定部と、
前記決定部により決定された処理に従って前記手振れ補正量算出部が算出した前記手振れ補正量で、前記画像に対する手振れ補正処理を行う手振れ補正処理部と
をさらに備える請求項1に記載の画像処理装置。
【請求項3】
前記決定部は、前記ヒストグラムが複数のピークを有する形状である場合、前記加速度ベクトルおよび前記第1の補正用の動きベクトルに基づいて、前記第2の補正用の動きベクトルを推測するように、前記手振れ補正量算出部の処理を決定する
請求項2に記載の画像処理装置。
【請求項4】
前記決定部は、前記ヒストグラムが1つのピークを有する形状を維持している場合、前記ヒストグラムのピークに応じた前記動きベクトルを前記第2の補正用の動きベクトルとするように、前記手振れ補正量算出部の処理を決定する
請求項2に記載の画像処理装置。
【請求項5】
前記決定部は、前記ヒストグラムが複数のピークを有する形状から1つのピークを有する形状に変化した場合、前記加速度ベクトル、前記第1の補正用の動きベクトル、前記ヒストグラムのピークに応じた前記動きベクトル、および所定の復帰係数に基づいて、前記第2の補正用の動きベクトルを推測するように、前記手振れ補正量算出部の処理を決定する
請求項2に記載の画像処理装置。
【請求項6】
前記決定部は、前記手振れ補正量算出部の処理が、前記加速度ベクトル、前記第1の補正用の動きベクトル、前記ヒストグラムのピークに応じた前記動きベクトル、および所定の復帰係数に基づいて、前記第2の補正用の動きベクトルを推測している場合に、前記手振れ補正量算出部により推測される前記第2の補正用の動きベクトルと、処理の対象となっている画像から前記ヒストグラム算出部により算出された前記ヒストグラムのピークに応じた前記動きベクトルとの差分が、所定の閾値以下になると、前記ヒストグラムのピークに応じた前記動きベクトルを前記第2の補正用の動きベクトルとするように、前記手振れ補正量算出部の処理を変更する
請求項5に記載の画像処理装置。
【請求項7】
連続的に撮影される画像ごとに検出された各画像の複数の動きベクトルについてのヒストグラムを算出し、
前記ヒストグラムの変化に応じた加速度ベクトルを算出し、
前記加速度ベクトル、および、処理の対象となっている画像の前の画像に対する処理で用いられた第1の補正用の動きベクトルに基づいて、前記処理の対象となっている画像に対する処理で用いる第2の補正用の動きベクトルを推測し、前記第2の補正用の動きベクトルに応じた手振れ補正量を算出する
ステップを含む画像処理方法。
【請求項8】
連続的に撮影される画像ごとに検出された各画像の複数の動きベクトルについてのヒストグラムを算出し、
前記ヒストグラムの変化に応じた加速度ベクトルを算出し、
前記加速度ベクトル、および、処理の対象となっている画像の前の画像に対する処理で用いられた第1の補正用の動きベクトルに基づいて、前記処理の対象となっている画像に対する処理で用いる第2の補正用の動きベクトルを推測し、前記第2の補正用の動きベクトルに応じた手振れ補正量を算出する
ステップを含む画像処理をコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−257080(P2012−257080A)
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願番号】特願2011−129057(P2011−129057)
【出願日】平成23年6月9日(2011.6.9)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】