(58)【調査した分野】(Int.Cl.,DB名)
前記安定ブレ補正量算出部が、前記最新のフレーム用のブレ補正量および前記最新のフレームとは異なる色チャネルのフレーム用の安定ブレ補正量の各々に重み付けし、重み付けされた前記ブレ補正量と前記安定ブレ補正量とを加算して前記最新のフレーム用の安定ブレ補正量を算出する請求項1に記載の画像処理装置。
複数の色チャネルのフレームを順番に受信し、複数の色チャネルのフレームを合成してカラーの動画フレームを生成する面順次方式の動画用の画像処理プログラムであって、
同一の色チャネルの最新のフレームと過去のフレームとから、前記最新のフレームと前記過去のフレームとの間の被写体像の動き量を算出する動き量算出ステップと、
該動き量算出ステップにおいて算出された動き量に基づいて、前記最新のフレーム用のブレ補正量を算出するブレ補正量算出ステップと、
該ブレ補正量算出ステップにおいて算出されたブレ補正量に基づいて、前記最新のフレーム用の安定ブレ補正量を算出する安定ブレ補正量算出ステップと、
該安定ブレ補正量算出ステップにおいて算出された安定ブレ補正量に基づいて、前記最新のフレームに対しブレ補正処理を行うブレ補正ステップと、
前記安定ブレ補正量算出ステップにおいて算出された前記安定ブレ補正量を記憶する記憶ステップとをコンピュータに実行させ、
前記安定ブレ補正量算出ステップにおいて、前記最新のフレーム用のブレ補正量と、前記記憶ステップに記憶されている前記最新のフレームとは異なる色チャネルのフレーム用の安定ブレ補正量とに基づいて、前記最新のフレーム用の安定ブレ補正量を算出する画像処理プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、面順次方式で撮像されたRフレーム、GフレームよびBフレームの動き量は、互いに異なり得る。したがって、特許文献1のように、同時化後の1フレームのRGB画像から算出した単一の動き量に基づくブレ補正処理では、R、GおよびBフレーム全てのブレを精度良く補正することが難しいという問題がある。
【0005】
特許文献2のように、同時化前のR、GおよびBフレームの各々の動き量を算出する場合、動き量の算出誤差が色チャネル毎に独立に生じ、動き量の算出誤差が色チャネル毎に独立に蓄積されていく。このような動き量をR、GおよびBフレームのブレ補正処理に用いると、R、GおよびBフレーム間のブレ補正量に差異が生じ、その結果、動画フレームに色ズレが生じるという問題がある。動き量の算出誤差以外にも、例えば、ブレ補正量を算出する際の量子化誤差や、被写体の移動とブレとを分離する際の計算誤差のように、色チャネル毎に独立に生じる誤差が存在する。これらの誤差も、色チャネル間のブレ補正量の差異の発生および拡大に寄与し、動画フレームの色ズレの要因となる。
【0006】
本発明は、上述した事情に鑑みてなされたものであって、色チャネル間のブレ補正量の誤差に起因する色ズレを低減することができる面順次方式の動画用の画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明は以下の手段を提供する。
本発明の第1の態様は、複数の色チャネルのフレームを順番に受信し、複数のフレームを合成してカラーの動画フレームを生成する面順次方式の動画用の画像処理装置であって、同一の色チャネルの最新のフレームと過去のフレームとから、前記最新のフレームと前記過去のフレームとの間の被写体像の動き量を算出する動き量算出部と、該動き量算出部によって算出された動き量に基づいて、前記最新のフレーム用のブレ補正量を算出するブレ補正量算出部と、該ブレ補正量算出部によって算出されたブレ補正量に基づいて前記最新のフレーム用の安定ブレ補正量を算出する安定ブレ補正量算出部と、該安定ブレ補正量算出部によって算出された安定ブレ補正量に基づいて前記最新のフレームに対しブレ補正処理を行うブレ補正部と、前記ブレ補正量算出部によって算出された前記ブレ補正量を記憶する記憶部とを備え、前記安定ブレ補正量算出部が、前記最新のフレーム用のブレ補正量と、前記記憶部に記憶されている前記最新のフレームとは異なる色チャネルのフレーム用の安定ブレ補正量とに基づいて、前記最新のフレーム用の安定ブレ補正量を算出する画像処理装置である。
【0008】
本態様によれば、最新のフレームを受信すると、該最新のフレームと同一の色チャネルの過去のフレームとから被写体の動き量が動き量算出部によって算出され、動き量に基づいて最新のフレーム用のブレ補正量がブレ補正量算出部によって算出される。さらに、ブレ補正量に基づいて最新のフレーム用の安定ブレ補正量が安定ブレ補正量算出部によって算出され、安定ブレ補正量が記憶部に記憶されるとともに、安定ブレ補正量に基づいて最新のフレームのブレ補正処理がブレ補正部によって行われる。したがって、ブレ補正処理された複数の色チャネルのフレーム同士を合成することによって、ブレ補正されたカラーの動画フレームを生成することができる。
【0009】
この場合に、安定ブレ補正量は、最新のフレーム用のブレ補正量のみならず、最新フレームとは異なる色チャネルの過去のフレーム用の安定ブレ補正量に基づいて算出される。このように、複数の色チャネルのフレーム用の安定ブレ補正量を相互に依存させることによって、ブレ補正量に生じていた色チャネル間の誤差が、安定ブレ補正量においては低減される。したがって、安定ブレ補正量を各色チャネルのフレームのブレ補正処理に用いることによって、動画フレームにおける色ズレを低減することができる。
【0010】
上記第1の態様においては、前記安定ブレ補正量算出部が、前記最新のフレーム用のブレ補正量および前記最新のフレームとは異なる色チャネルのフレーム用の安定ブレ補正量の各々に重み付けし、重み付けされた前記ブレ補正量と前記安定ブレ補正量とを加算して前記最新のフレーム用の安定ブレ補正量を算出してもよい。
このようにすることで、最新のフレーム用のブレ補正量および最新のフレームとは異なる色チャネルのフレーム用の安定ブレ補正量の、最新のフレーム用の安定ブレ補正量における寄与の度合いを、重みによって容易に調整することができる。
【0011】
上記第1の態様においては、前記動き量算出部が、前記動き量の信頼度をさらに算出し、前記安定ブレ補正量算出部が、最新のフレームから算出された動き量の信頼度に基づいて、前記最新のフレーム用のブレ補正量および前記最新のフレームとは異なる色チャネルのフレーム用の安定ブレ補正量の各々に付す重みを決定してもよい。
このようにすることで、算出精度の低い動き量の影響が抑制された安定ブレ補正量を算出することができる。
【0012】
上記第1の態様においては、前記複数の色チャネルが、赤チャネル、緑チャネルおよび青チャネルであってもよい。
このようにすることで、RGB形式の動画フレームを生成することができる。
【0013】
本発明の第2の態様は、複数の色チャネルのフレームを順番に受信し、複数の色チャネルのフレームを合成してカラーの動画フレームを生成する面順次方式の動画用の画像処理方法であって、同一の色チャネルの最新のフレームと過去のフレームとから、前記最新のフレームと前記過去のフレームとの間の被写体像の動き量を算出する動き量算出ステップと、該動き量算出ステップにおいて算出された動き量に基づいて、前記最新のフレーム用のブレ補正量を算出するブレ補正量算出ステップと、該ブレ補正量算出ステップにおいて算出されたブレ補正量に基づいて、前記最新のフレーム用の安定ブレ補正量を算出する安定ブレ補正量算出ステップと、該安定ブレ補正量算出ステップにおいて算出された安定ブレ補正量に基づいて、前記最新のフレームに対しブレ補正処理を行うブレ補正ステップと、前記安定ブレ補正量算出ステップにおいて算出された前記安定ブレ補正量を記憶する記憶ステップとを含み、前記安定ブレ補正量算出ステップにおいて、前記最新のフレーム用のブレ補正量と、前記記憶ステップに記憶されている前記最新のフレームとは異なる色チャネルのフレーム用の安定ブレ補正量とに基づいて、前記最新のフレーム用の安定ブレ補正量を算出する画像処理方法である。
【0014】
本発明の第3の態様は、複数の色チャネルのフレームを順番に受信し、複数の色チャネルのフレームを合成してカラーの動画フレームを生成する面順次方式の動画用の画像処理プログラムであって、同一の色チャネルの最新のフレームと過去のフレームとから、前記最新のフレームと前記過去のフレームとの間の被写体像の動き量を算出する動き量算出ステップと、該動き量算出ステップにおいて算出された動き量に基づいて、前記最新のフレーム用のブレ補正量を算出するブレ補正量算出ステップと、該ブレ補正量算出ステップにおいて算出されたブレ補正量に基づいて、前記最新のフレーム用の安定ブレ補正量を算出する安定ブレ補正量算出ステップと、該安定ブレ補正量算出ステップにおいて算出された安定ブレ補正量に基づいて、前記最新のフレームに対しブレ補正処理を行うブレ補正ステップと、前記安定ブレ補正量算出ステップにおいて算出された前記安定ブレ補正量を記憶する記憶ステップとをコンピュータに実行させ、前記安定ブレ補正量算出ステップにおいて、前記最新のフレーム用のブレ補正量と、前記記憶ステップに記憶されている前記最新のフレームとは異なる色チャネルのフレーム用の安定ブレ補正量とに基づいて、前記最新のフレーム用の安定ブレ補正量を算出する画像処理プログラムである。
【発明の効果】
【0015】
本発明によれば、チャネル間のブレ補正量の誤差に起因する色ズレを低減することができるという効果を奏する。
【発明を実施するための形態】
【0017】
(第1の実施形態)
以下に、本発明の第1の実施形態に係る画像処理装置1について
図1から
図11を参照して説明する。
本実施形態に係る画像処理装置1は、
図1に示されるように、面順次方式の動画撮影装置と表示装置とに接続して使用される。
動画撮影装置は、例えば、内視鏡装置である。カラー動画を構成する動画フレームの各々は、複数の色チャネルのフレームから構成される。面順次方式の動画撮影装置は、色の異なる複数の光を順番に被写体に照射し、各色の光で照明されている被写体を撮影することによって、複数の色チャネルのフレームを順番に取得する。
【0018】
画像処理装置1は、動画撮影装置から複数の色チャネルのフレームを順番に受信し、時間軸方向に連続する複数の色チャネルのフレームを同時化処理することによって1枚のカラーの動画フレームを生成し、生成された動画フレームを一定のフレームレートで表示装置に送信する。これにより、表示装置にはカラー動画が表示される。
【0019】
本実施形態においては、一例として、RGB形式の動画について説明する。したがって、動画撮影装置は、赤(R)、緑(G)および青(B)の光を順番に被写体に照射し、R、GおよびBチャネルのフレーム(以下、Rフレーム、GフレームおよびBフレームと言う。)を順番に繰り返し取得し、取得されたフレームを順番に画像処理装置1へ送信する。画像処理装置1は、
図2に示されるように、時間軸方向に連続する3枚のR、GおよびBフレームからRGB形式の1つの動画フレームを生成する。
【0020】
次に、画像処理装置1の詳細について説明する。
画像処理装置1は、
図1に示されるように、動画撮影装置からR、GおよびBフレームを受信する入力部2と、R、GおよびBフレームの各々における被写体像Aの動き量を算出する動き量算出部3と、算出された動き量を少なくとも一定期間記憶する動き量記憶部4と、動き量に基づいてR、GおよびBフレームの各々用のブレ補正量を算出するブレ補正量算出部5と、ブレ補正量に基づいてR、GおよびBフレームの各々用の安定ブレ補正量を算出する安定ブレ補正量算出部6と、安定ブレ補正量を少なくとも一定期間記憶する安定ブレ補正量記憶部7と、安定ブレ補正量に基づいてR、GおよびBフレームの各々に対してブレ補正処理を実行するブレ補正部8と、ブレ補正処理されたR、GおよびBフレームを同時化処理してRGB形式の動画フレームを生成する同時化処理部9と、動画フレームを表示装置に出力する出力部10とを備えている。
【0021】
入力部2は、Rフレーム、GフレームおよびBフレームを順番に繰り返し動画撮影装置から受信する。入力部2は、受信した最新のフレームを順次、動き量算出部3およびブレ補正部8に送信する。
【0022】
動き量算出部3は、入力部2から受信したフレームを一定期間保持する。動き量算出部3は、新たにフレームを受信すると、最新のフレーム(以下、「現在フレーム」という。)における被写体像Aの動き量p[0],q[0]を算出する。具体的には、動き量算出部3は、現在フレームと、該現在フレームと同一の色チャネルの直前のフレーム(すなわち、現在フレームよりも3つ前のフレーム。以下、「直前フレーム」と言う。)とを比較し、
図3に示されるように、現在フレームにおける被写体像Aの直前フレームからの動き量p[0],q[0]を算出する。ここで、p[0]およびq[0]はそれぞれ、現在フレームの水平方向(横方向)および垂直方向(縦方向)における動き量である。
【0023】
動き量算出部3は、算出された動き量p[0],q[0]を、動き量記憶部4およびブレ補正量算出部5に送信する。動き量記憶部4は、最新の所定の数の動き量p[t],q[t](t=1,2,…)を記憶する。p[t]およびq[t]は、現在フレームよりもtフレーム前のフレームにおける被写体像Aの動き量である。
【0024】
動き量p[0],q[0]は、現在フレームを所定のサイズを有する複数のブロック領域に分割し、各ブロック領域の直前フレームに対するローカル動きベクトルを算出し、全てのブロック領域のローカル動きベクトルを加重平均することによって、算出される。
【0025】
ローカル動きベクトルの算出には、公知のテンプレートマッチング処理が用いられる。すなわち、直前フレームを現在フレームと同様に複数のブロック領域に分割する。次に、現在フレームの各ブロック領域について、直前フレームの各ブロック領域との相関値を算出し、相関値に基づいて直前フレーム内の対応するブロック領域を特定し、対応するブロック領域との位置の差をローカル動きベクトルとして算出する。テンプレートマッチング処理に使用される相関値としては、例えば、フレームの輝度値のSAD(Sum of Absolute Difference)、SSD(Sum of Square Difference)、またはNCC(Normalized Cross Correlation)に基づく値が使用される。
【0026】
ローカル動きベクトルの算出方法は、上記のテンプレートマッチングに限定されるものではなく、他の公知の方法であってもよい。例えば、フレーム内の輝度の勾配に基づく勾配法またはフレーム内の輝度のエッジを特徴点として用いるマッチング手法を用いてもよい。
動き量算出部3は、入力部2から受信した未処理のフレームに代えて、エッジ強調フィルタやローパスフィルタ等の各種画像フィルタを適用したフレームを、動き量の算出に用いてもよい。
【0027】
ここで、動いている被写体を撮影しているときには、現在フレームと直前フレームとの間の被写体像Aの動き量には、被写体の動きに起因する動き量と動画撮影装置のブレに起因する動き量(ブレ量)とが含まれる。動き量算出部3は、現在フレームと直前フレームとの間の被写体像Aの動き量を、被写体の動きに起因する動き量とブレ量とに分解し、ブレ量を最終的な動き量p[0],q[0]として算出する。
【0028】
被写体の動きに起因する動き量は、ブレ量に比べて緩やかに変化する。したがって、例えば、現在フレームと直前フレームとの間の被写体像Aの動き量の時間平均を、被写体の動きに起因する動き量として算出し、現在フレームと直前フレームとの間の被写体像Aの動き量と、被写体の動きに起因する動き量との差分を、ブレ量として算出する。
【0029】
ブレ補正量算出部5は、動き量算出部3から現在フレームの動き量p[0],q[0]を受信すると、現在フレームよりも1からNフレーム前のフレームの動き量p[t],q[t](t=1,2,…,N)を動き量記憶部4から読み出し、現在フレームと同一の色チャネルの直前のフレーム(直前フレーム)用の安定ブレ補正量U
old,V
oldを安定ブレ補正量記憶部7から読み出す。次に、ブレ補正量算出部5は、動き量p[0],q[0]およびp[t],q[t]ならびに安定ブレ補正量U
old,V
oldに基づき、下式(1.1)および(1.2)から現在フレーム用のブレ補正量u
new,v
newを算出する。ブレ補正量算出部5は、算出されたブレ補正量u
new,v
newを安定ブレ補正量算出部6に送信する。
【0031】
式(1.1)および(1.2)において、u
newおよびv
newはそれぞれ、現在フレーム用の水平方向および垂直方向のブレ補正量であり、U
oldおよびV
oldはそれぞれ、直前フレームの水平方向および垂直方向の安定ブレ補正量である。p
aveおよびq
aveはそれぞれ、現在フレームよりもt(t=1,2,…,N)フレーム前のフレームの動き量p[t],q[t]を積分加算することによって算出される水平方向および垂直方向の積算平均動き量である。Nは、積分加算するフレームの数である。動画フレームのブレ補正処理では、ブレ補正処理の開始時から時間方向に連続的にブレ補正処理が実行される。式(1.1)および(1.2)は、直前フレーム用の安定ブレ補正量U
old,V
oldに対して、現在フレームにおける被写体像Aのブレを補正するための補正量が蓄積されることを表している。
【0032】
安定ブレ補正量算出部6は、ブレ補正量算出部5からブレ補正量u
new,v
newを受信すると、安定ブレ補正量記憶部7から、現在フレームの色チャネル以外の色チャネルの直前のフレーム用の安定ブレ補正量U[t],V[t]を読み出す。次に、安定ブレ補正量算出部6は、ブレ補正量u
new,v
newと安定ブレ補正量U[t],V[t]とを重み付け合成することによって、現在フレーム用の安定ブレ補正量U[0],V[0]を算出する。すなわち、安定ブレ補正量算出部6は、下式(2.1)および(2.2)に示されるように、ブレ補正量u
new,v
newに重み係数w[0]を乗算し、安定ブレ補正量U[t],V[t]に重み係数w[t]を乗算し、得られた積同士を加算する。
【0034】
式(2.1)および(2.2)において、U[t]およびV[t]はそれぞれ、現在フレームよりもt(t=1,2,…,C)フレーム前のフレーム用の水平方向および垂直方向の安定ブレ補正量である。C−1は、重み付け合成に用いる安定ブレ補正量の数である。本例においては、Cは、色チャネルの数(すなわち、3)を想定しているが、他の数であってもよい。w[0]およびw[t]は重み係数であり、重み係数の要素数はCと等しい。
【0035】
式(2.1)および(2.2)の右式の第1項は、現在フレームに対するブレ補正の程度を表わしている。w[0]が大きい程、現在フレームにおける被写体像Aのブレが正確に補正される。一方、式(2.1)および(2.2)の右式の第2項は、色チャネル間のブレ補正量を近付ける作用を有する。w[t]が大きい程、R、GおよびBフレーム間のブレ補正量の差異(トリミング領域の位置の差異)を低減し、動画フレーム内の色ズレの発生を抑制する効果が強くなる。
【0036】
安定ブレ補正量算出部6は、算出された安定ブレ補正量U[0],V[0]を、安定ブレ補正量記憶部7およびブレ補正部8に送信する。
安定ブレ補正量記憶部7は、最新の所定の数のフレーム用の安定ブレ補正量U[t],V[t]を記憶する。
【0037】
ブレ補正部8は、安定ブレ補正量算出部6から安定ブレ補正量U[0],V[0]を受信すると、安定ブレ補正量U[0],V[0]に基づいて現在フレームに対してブレ補正処理を実行する。ブレ補正処理は、トリミング領域の位置調整による電子式手ブレ補正処理である。電子式手ブレ補正処理には、公知の任意の方法が用いられる。例えば、ブレ補正部8は、
図4に示されるように、現在フレームI内にトリミング領域I’を設定し、安定ブレ補正量U[0],V[0]だけトリミング領域I’を基準のトリミング領域の位置(例えば、ブレ補正開始時のトリミング領域の位置)から水平方向および垂直方向に移動させ、移動後のトリミング領域I’を現在フレームIから切り出す。ブレ補正部8は、切り出されたトリミング領域I’をブレ補正フレームとして同時化処理部9に送信する。
【0038】
ブレ補正フレームI’[c](x,y)は、現在フレームI[c](x,y)を用いて下式(3)で表わされる。式(3)において、xは水平方向の座標であり、yは垂直方向の座標であり、c(=R,G,B)は現在フレームの色チャネルである。I[c](x,y)およびI’[c](x,y)は、座標(x,y)における画素の輝度値をそれぞれ表している。
【0040】
上記のブレ補正処理においては、トリミング領域がフレーム毎に移動する。式(3)においては、ブレ補正開始時から現在フレームに至るまで全てのフレームのトリミング領域の移動量を積算した量として、ブレ補正量が表されている。
【0041】
同時化処理部9は、ブレ補正部8から受信したブレ補正フレームを一時的に保持する。同時化処理部9は、時間軸方向に連続するR、GおよびBフレームから生成された3枚のブレ補正フレームを合成してRGB形式の動画フレームを生成し、生成された動画フレームを出力部10に送信する。
出力部10は、一定の時間間隔を空けて動画フレームを表示装置に送信する。これにより、表示装置には、一定のフレームレートのRGB形式の動画が表示される。
【0042】
次に、このように構成された画像処理装置1の作用について説明する。
本実施形態に係る画像処理装置1によれば、
図5に示されるように、動画撮影装置からRフレーム、GフレームおよびBフレームを順番に繰り返し受信する(ステップS1)。現在フレームが受信されると、現在フレーム内の被写体像Aの直前フレームからの動き量p[0],q[0]が算出される(動き量算出ステップS2)。
算出された現在フレームの動き量p[0],q[0]は、動き量記憶部4に記憶され(ステップS3)、この後に画像処理装置1に入力されるフレームのブレ補正量の算出に使用される。
【0043】
次に、ステップS2において算出された動き量p[0],q[0]に基づいて、現在フレーム用のブレ補正量u
new,v
newが算出される(ブレ補正量算出ステップS6)。このときに、直前の数フレームの動き量p[t],q[t]が動き量記憶部4から読み出され(ステップS4)、現在フレームと同一の色チャネルの直前のフレームに対して既に算出されて記憶されている安定ブレ補正量U
old,V
oldが安定ブレ補正量記憶部7から読み出される(ステップS5)。そして、現在フレームの動き量p[0],q[0]に加えて、ステップS4,S5において読み出された動き量p[t],q[t]および安定ブレ補正量U
old,V
oldに基づいて、ブレ補正量u
new,v
newが算出される(ステップS6)。
【0044】
次に、ステップS6において算出されたブレ補正量u
new,v
newに基づいて、現在フレーム用の安定ブレ補正量U[0],V[0]が算出される(安定ブレ補正量算出ステップS8)。このときに、現在フレームとは異なる色チャネルの直前のフレームに対して既に算出されて記憶されている安定ブレ補正量U[t],V[t]が安定ブレ補正量記憶部7から読み出される(ステップS7)。そして、ブレ補正量(u,v)に加えて、ステップS7において読み出された安定ブレ補正量U[t],V[t]に基づいて、安定ブレ補正量U[0],V[0]が算出される(ステップS8)。
【0045】
算出された現在フレーム用の安定ブレ補正量U[0],V[0]は、安定ブレ補正量記憶部7に記憶され(記憶ステップS9)、この後に画像処理装置1に入力されるフレームのブレ補正量および安定ブレ補正量の算出に使用される。
【0046】
次に、ステップS8において算出された安定ブレ補正量U[0],V[0]に基づいて、現在フレームに対してブレ補正処理が実行される(ブレ補正ステップS10)。次に、ステップS10において生成されたブレ補正フレームと直前に生成された2枚のブレ補正フレームとが同時化処理されることによって動画フレームが生成される(ステップS11)。生成された動画フレームは、表示装置に出力される(ステップS12)。
【0047】
なお、必要な数の動き量p[t],q[t]が動き量記憶部4に蓄積されるまでの間は、ブレ補正量算出部5は、過去のフレームの動き量p[t],q[t]に代えて、初期設定された値または現在フレームの動き量p[0],q[0]を用いる。同様に、必要な数の安定ブレ補正量U[t],V[t]が安定ブレ補正量記憶部7に蓄積されるまでの間は、ブレ補正量算出部5および安定ブレ補正量算出部6は、過去のフレーム用の安定ブレ補正量U
old,V
oldまたはU[t],V[t]に代えて、初期設定された値またはブレ補正量を用いる。
【0048】
ここで、動き量p[0],q[0]は、同一の色チャネルの2枚のフレームから算出される。これは、面順次方式の動画撮影装置によって取得されるR、GおよびBフレーム間では、被写体像Aに差異が存在するからである。例えば、赤色の物体の像は、GおよびBフレーム内では明りょうであるが、Rフレーム内では不明りょうとなる。したがって、被写体像Aの正確な動き量を算出するためには、同一の色チャネルのフレームを使用する必要がある。
【0049】
このように、動き量p[0],q[0]は色チャネル毎に独立に算出されるため、各色チャネルの動き量には互いに独立した誤差が生じる。したがって、1つの色チャネルの動き量のみに基づくブレ補正量を用いてブレ補正処理を実行すると、
図6Aに示されるように、Rフレームのトリミング領域Ir’と、Gフレームのトリミング領域Ig’と、Bフレームのトリミング領域Ib’との間に位置の差異が生じる。その結果、
図6Bに示されるように、動画フレームにおいて、Rフレーム内の被写体像Arと、Gフレーム内の被写体像Agと、Bフレーム内の被写体像Abとの間に位置の差異、すなわち色ズレが生じる。
【0050】
本実施形態によれば、現在フレームのブレ補正処理に、現在フレームとは異なる色チャネルのフレーム用の安定ブレ補正量U[t],V[t]に依存する安定ブレ補正量U[0],V[0]が用いられる。このように、Rフレーム、GフレームおよびBフレーム用の安定ブレ補正量を相互に依存させることによって、
図7Aに示されるように、トリミング領域Ir’,Ig’,Ib’間の位置の差異が低減される。その結果、
図7Bに示されるように、動画フレームにおける色ズレを低減することができるという利点がある。
【0051】
図8および
図9はそれぞれ、ブレ補正量および安定ブレ補正量を用いてブレ補正処理を行ったときの、R、GおよびBフレームの各々の理想のトリミング位置に対する実際のトリミング位置のズレ量の時間変化の一例を表している。理想のトリミング位置とは、動き量算出部3によって算出される動き量に誤差が無い場合のトリミング位置である。
図8および
図9において、同一時刻でのR、GおよびBフレーム間のトリミング位置のズレ量の差異は、動画フレームにおける色ズレの発生を意味する。
【0052】
図8に示されるように、ブレ補正量を用いてブレ補正処理を行った場合には、R、GおよびBフレーム間のトリミング位置のズレ量の差異が時間の経過に伴って増大しており、動画フレームにおいて色ズレが漸次増大する。これは、算出される動き量の誤差がチャネル毎に独立して累積し、その結果、ブレ補正量の色チャネル間の差異が次第に増大するからである。これに対し、
図9に示されるように、安定ブレ補正量を用いてブレ補正処理を行った場合には、R、GおよびBフレームのトリミング位置のズレ量は略一致しており、動画フレームにおいて色ズレが解消されることが分かる。
【0053】
式(2.1)および(2.2)における重みw[t]に関して、フレーム毎に算出されるブレ補正量の時系列データを考えたときに、式(2.1)および(2.2)は、IIR(無限インパルス応答)フィルタと見なすことができる。色ズレの抑制効果を得るためには、IIRフィルタが高周波成分を減衰させる特性を有するような重み係数w[0],w[1],w[2]を設定すればよい。
図10は、好ましいIIRフィルタの特性の一例を示している。
図10に示されるように、C=3であるときには、w[0]:w[1]:w[2]を6:1:1または3:3:2に設定することが、色ズレの低減に有効である。
【0054】
図10のデータは、以下のシミュレーション実験から得た。
完全に静止している被写体を、ビデオカメラを用いて手持ちで撮影するシーンを想定し、フレームに、動き量として手ブレが発生するシーンを設定した。具体的には、シーンは、平均がゼロであり、標準偏差が6である正規分布に従って発生する乱数に基づいて振動するシーンに設定した。さらに、動き量には、平均がゼロであり、標準偏差が2である正規分布に従って発生する乱数に基づく誤差が含まれると設定した。このような条件設定の下で、
図11に示される動き量が得られた。
図11において、実線はシーンの振動を示し、破線は動き量を示している。
【0055】
(第2の実施形態)
次に、本発明の第2の実施形態に係る画像処理装置について
図12を参照して説明する。
第1の実施形態においては、安定ブレ補正量算出部6が、安定ブレ補正量の算出に所定の重み係数w[t](t=0,1,2,…,C)を使用することとした。これに対し、本実施形態に係る画像処理装置は、動き量算出部3が、動き量p[0],q[0]に加えて該動き量p[0],q[0]の信頼度w
relをさらに算出し、安定ブレ補正量算出部6が、ブレ補正量u
new,v
newおよび安定ブレ補正量U[t],V[t]に付す重みを信頼度w
relに基づいて決定する点において、第1の実施形態と異なっている。
【0056】
動き量算出部3は、
図12に示されるように、ステップS2において動き量p[0],q[0]を算出した後に、続いて動き量p[0],q[0]の信頼度w
relを算出する(ステップS3)。R、GおよびBフレームにノイズが含まれている場合や、R、GおよびBフレーム中に動き量の算出に有効な輝度のエッジやテクスチャが少ない場合、動き量p[0],q[0]の算出精度が低下し得る。また、面順次方式においては、R、GおよびBフレーム間で輝度値が異なるため、動き量の算出精度が色チャネル毎に異なり得る。
【0057】
信頼度w
relは、動き量p[0],q[0]の算出精度を表す値であり、0以上1以下の値を有する。信頼度w
relは、動き量p[0],q[0]の算出精度が高いほど1に近い値となり、動き量p[0],q[0]の算出精度が低いほどゼロに近い値となる。信頼度w
relの算出には、例えば、各ローカル動きベクトルの信頼度を算出し、信頼度が所定の閾値以上であるローカル動きベクトルの数の割合を信頼度w
relとして算出する方法が用いられる。ローカル動きベクトルの信頼度の算出方法としては、公知の任意の方法(例えば、特開2010−41416号公報に記載の方法)が用いられる。
【0058】
あるいは、各色チャネルのフレームの動き量p[0],q[0]の算出精度について事前に情報が存在する場合には、その情報に基づいて色チャネル毎に信頼度w
relを設定してもよい。例えば、テンプレートマッチング処理において被写体像Aの有用な特徴を検出し易い色チャネルの信頼度w
relを、他の色チャネルの信頼度よりも大きく設定することが有効である。
【0059】
本実施形態のステップS8において、安定ブレ補正量算出部6は、式(2.1)および(2.2)に代えて、下式(4.1)および(4.2)に基づいて安定ブレ補正量U[t],V[t]を算出する。すなわち、安定ブレ補正量算出部6は、動き量p[0],q[0]の信頼度w
relが大きい程、ブレ補正量u
new,v
newに付される重みが大きくなり、安定ブレ補正量U[t],V[t]に付される重みが小さくなるように、ブレ補正量u
new,v
newおよび安定ブレ補正量U[t],V[t]に対する重みを信頼度w
relに基づいて調整する。
【0061】
このように、本実施形態によれば、動き量p[0],q[0]の信頼度w
relに基づいて安定ブレ補正量U[0],V[0]の算出に使用される重み係数が調整される。これにより、算出精度の低い動き量p[0],q[0]が安定ブレ補正量U[0],V[0]に与える影響を抑制してより正確な安定ブレ補正量U[0],V[0]を算出することができ、動画フレーム内の色ズレをさらに低減することができるという利点がある。
【0062】
上記の第1および第2の実施形態においては、説明および理解を容易にするため、動き量算出部3による動き量p[0],q[0]の算出方法として、フレーム間の動きベクトルに基づく方法を説明したが、動き量の算出方法はこれに限定されるものではない。例えば、加速度センサを用いて動き量を算出してもよい。
【0063】
上記の第1および第2の実施形態においては、動き量算出部3によって算出される動き量p[0],q[0]として、水平方向および垂直方向の動きベクトルを算出することとしたが、これに代えて、またはこれに加えて、被写体像Aの倍率、回転および歪みを動き量として算出してもよい。これらの動き量は、行列して表現することができる(例えば、文献「Full-frame video stabilization with motion inpainting、PAMI2006、IEEE Transactions、Volume 28、Issue 7、pp. 1150-1163、Matsushita et al」参照。)。
【0064】
上記の第1および第2の実施形態においては、ブレ補正処理として電子式手ブレ補正処理を用いることとしたが、これに代えて、他のブレ補正処理を用いてもよい。例えば、光学式手ブレ補正処理を用いてもよい。具体的には、手ぶれ補正レンズ、撮像素子および駆動制御部を搭載した動画撮影装置に本実施形態の画像処理装置1を組み合わせ、駆動制御部が、ブレ補正量算出部5によって算出された安定ブレ補正量に基づいて手ブレ補正レンズおよび撮像素子を光軸に交差する方向に相対移動させるように構成してもよい。
【0065】
上述した画像処理装置1は、例えば、専用または汎用のプロセッサから構成される。具体的には、プロセッサは、中央演算処理装置(CPU)と、RAMのような主記憶装置と、補助記憶装置とを備える。補助記憶装置は、HDDまたは各種メモリのようなコンピュータ読み取り可能な非一時的な記憶媒体であり、上述した各部3,5,6,8,9による処理(ステップS2〜S13)をCPUに実行させるための画像処理プログラムを格納している。この画像処理プログラムが、補助記憶装置から主記憶装置に読み出され実行されることによって、上述した画像処理が実現されるようになっている。
あるいは、画像処理装置1の各部3,5,6,8,9は、各部3,5,6,8,9の機能を実行する専用の回路によって実現されてもよい。