JP2013157704A - 画像処理装置、画像処理方法、画像処理プログラム、及び、電子機器 - Google Patents
画像処理装置、画像処理方法、画像処理プログラム、及び、電子機器 Download PDFInfo
- Publication number
- JP2013157704A JP2013157704A JP2012015057A JP2012015057A JP2013157704A JP 2013157704 A JP2013157704 A JP 2013157704A JP 2012015057 A JP2012015057 A JP 2012015057A JP 2012015057 A JP2012015057 A JP 2012015057A JP 2013157704 A JP2013157704 A JP 2013157704A
- Authority
- JP
- Japan
- Prior art keywords
- image
- images
- frame
- image processing
- movement
- 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.)
- Pending
Links
Landscapes
- Studio Devices (AREA)
Abstract
【課題】動画像を構成する複数のフレーム画像を合成する際に、簡素な構成で動画ブレ補正を行ってブレの少ない動画像を生成する。
【解決手段】時系列に撮影された複数の画像のうちの一つの画像に対する他の画像の動きを取得し、前記動きの振幅の中の最大振幅よりも小さい基準移動量だけ前記一つの画像から移動した位置を前記複数の画像の合成を行なうフレーム位置として設定する位置設定部(105)と、前記複数の画像を前記複数の画像の合成を行うフレーム位置に移動し、前記複数の画像の対応し合う画素の画素値を合成して、前記合成画像を生成する画像合成部(107)と、を備える画像処理装置。
【選択図】図1
【解決手段】時系列に撮影された複数の画像のうちの一つの画像に対する他の画像の動きを取得し、前記動きの振幅の中の最大振幅よりも小さい基準移動量だけ前記一つの画像から移動した位置を前記複数の画像の合成を行なうフレーム位置として設定する位置設定部(105)と、前記複数の画像を前記複数の画像の合成を行うフレーム位置に移動し、前記複数の画像の対応し合う画素の画素値を合成して、前記合成画像を生成する画像合成部(107)と、を備える画像処理装置。
【選択図】図1
Description
本発明は、画像処理装置、画像処理方法、画像処理プログラム、及び、電子機器に関する。
近年、撮像デバイスおよび動画圧縮技術の急速な進歩により、デジタルビデオカメラのみならずデジタルスチルカメラでも、動画撮影が可能になっている。動画撮影可能なデジタルカメラおよびデジタルビデオカメラにおいて、一般的にフレームレートF(fps)で動画を撮影する場合、各フレームの画像を1/F(秒)以上の露光時間を取ることができない。
従って、周囲環境が暗い状況で撮影する場合に、適正な露光時間に満たない微弱な画像信号に大きなゲインを掛けて出力画像を生成することになるが、この場合副次的にノイズが増幅されS/N比が劣化する問題が生じる。また、フレームレートFを低下させることで露光時間を長くすることも可能であるが、この場合、動きが離散的になり動画像の質が著しく低下する。
特許文献1において、S/N比を向上させるため、フレーム画像をn枚合成することで、見かけ上露光時間n/F(秒)で長露光のフレーム画像が得られる。また、合成枚数nを適宜変更することによりフレームレートとは無関係に露光時間を指定でき動画表現の幅が広がる。
しかし、特許文献1において、フレーム画像の合成の際に、常に最新のフレームを基準としてフレーム画像が切り出されて位置合せが行われる。従って、動画像は、動画撮影中の細かい動き(手ブレなど)にも過敏に追従してブレが生じて、動きが滑らかでなくなり品質が低下する。これを抑制するためには、別途動画ブレ補正が必要になる。
本発明の目的は、S/N比の向上や長露光の動画像の取得などのために動画像を構成する複数のフレーム画像を合成する際に、簡素な構成で動画ブレ補正を行ってブレの少ない動画像を生成することである。
本発明のある態様に係る画像処理装置は、時系列に撮影された複数の画像を合成して合成画像を生成する画像処理装置であって、前記複数の画像のうちの一つの画像に対する他の画像の動きを取得し、前記動きの振幅の中の最大振幅よりも小さい基準移動量だけ前記一つの画像から移動した位置を前記複数の画像の合成を行なうフレーム位置として設定する位置設定部と、前記複数の画像を前記複数の画像の合成を行うフレーム位置に移動し、前記複数の画像の対応し合う画素の画素値を合成して、前記合成画像を生成する画像合成部と、を備える。
本発明の別の態様に係る画像処理方法は、時系列に撮影された複数の画像を合成して合成画像を生成する画像処理方法であって、前記複数の画像のうちの一つの画像に対する他の画像の動きを取得する取得ステップと、前記動きの振幅の中の最大振幅よりも小さい基準移動量だけ前記一つの画像から移動した位置を前記複数の画像の合成を行なうフレーム位置として設定する位置設定ステップと、前記複数の画像を前記複数の画像の合成を行うフレーム位置に移動し、前記複数の画像の対応し合う画素の画素値を合成して、前記合成画像を生成する画像合成ステップと、を含む。
本発明のさらに別の態様に係る画像処理プログラムは、時系列に撮影された複数の画像を合成して合成画像を生成する画像処理プログラムであって、前記複数の画像のうちの一つの画像に対する他の画像の動きを取得する取得手順と、前記動きの振幅の中の最大振幅よりも小さい基準移動量だけ前記一つの画像から移動した位置を前記複数の画像の合成を行なうフレーム位置として設定する位置設定手順と、前記複数の画像を前記複数の画像の合成を行うフレーム位置に移動し、前記複数の画像の対応し合う画素の画素値を合成して、前記合成画像を生成する画像合成手順と、をコンピュータに実行させる。
本発明によると、動画像を構成する複数のフレーム画像を合成する際に、簡素な構成で動画ブレ補正を行ってブレの少ない動画像を生成できる。
[第一実施形態]
図1は、第一実施形態に係る画像処理装置100のブロック構成図を示す。本実施形態では、画像処理装置100は、動画像を撮影し記録できる電子機器に搭載される。電子機器は、例えば、デジタルスチルカメラ、デジタルビデオカメラ、監視カメラ、およびデジタルカメラ付きモバイル端末である。
図1は、第一実施形態に係る画像処理装置100のブロック構成図を示す。本実施形態では、画像処理装置100は、動画像を撮影し記録できる電子機器に搭載される。電子機器は、例えば、デジタルスチルカメラ、デジタルビデオカメラ、監視カメラ、およびデジタルカメラ付きモバイル端末である。
画像処理装置100は、撮像素子101、A/D変換部102(A/D変換回路)、前処理部103、動き検出部104、位置設定部105、カメラ画像処理部106、画像合成部107、後処理部108、液晶モニタ/ファインダ部109、CPU(中央演算処理装置)110、DRAM(ダイナミック・ランダム・アクセス・メモリ)111、フラッシュメモリ112、圧縮記録部113、データバス114を備える。前処理部103、動き検出部104、位置設定部105、カメラ画像処理部106、画像合成部107、後処理部108のそれぞれ(又はこれら全体)は、ASIC、FPGAなどの論理回路から構成されてよい。或いは、これらの各部(又はこれら全体)は、データを格納するメモリ、演算プログラムを格納するメモリ、この演算プログラムを実行するCPU/DSP(中央演算処理装置/デジタルシグナルプロセッサ)等から構成されてもよい。
撮像素子101は、図示しない光学系により受光面上に結像した光学像を光電変換により電気信号に変換するもので、例えば、CCD(Charge Coupled Device)撮像素子や、CMOS (Complement Metal Oxide Semiconductor) 撮像素子である。A/D変換部102は、撮像素子101により取得したアナログ電気信号からなる画像信号をデジタル信号に変換する。
前処理部103は、A/D変換部102から入力される画像信号に対して、例えば、光学歪補正、シェーディング補正、画素欠陥補正、オプティカルブラック補正など、光学系もしくは撮像系の特性を補正する各種の処理を行う。前処理部103で得られた画像データはデータバス114を介してDRAM111に格納される。DRAM111は、主に画像処理装置100のフレームメモリとして使用され、少なくとも画像合成部107で合成される対象の時系列の複数のフレーム画像を記憶できる。
動き検出部(動き検出手段)104は、データバス114を介して入力される二枚の画像を比較し、二枚の画像間のグローバルな動きを検出する。ここでグローバルな動きとは、一方の画像全体を代表する位置と、他方の画像全体を代表する位置との間での相対的な差分を意味する。本実施形態では、動き検出部104は、最新のフレーム画像と、その直前に撮影されたフレーム画像との動きを検出する。検出された動きは、画像全体の動きを示す2次元のグローバル動きベクトルとして、DRAM111に格納される。動き検出部104は、例えばブロックマッチング法を使用して、動きベクトルを検出できる。また、動き検出部104は、角速度センサを使用して画像処理装置100の物理的な動きを直接測定し、画像上の動きベクトルデータに変換してもよい。その場合、動き検出部104へ二枚の画像が入力される必要はない。
位置設定部(位置設定手段)105は、合成画像のフレーミングのために、画像合成の基準となるフレームの位置(図2(a)の破線に対応)を取得可能な被写体像の中に設定する。このフレーム位置は、時系列の複数のフレーム画像のうちの一つを基準となるフレーム画像の位置からの移動量である基準移動量 (ベクトル量:bvx[i],bvy[i])だけ動かした位置であり、図2(a)の破線で示すように合成画像のフレーム位置を規定する。即ち、このフレーム位置にあるフレーム内で、合成の対象となる複数のフレーム画像が切り出されて合成されることになる。位置設定部105は、動き検出部104で検出されたグローバル動きベクトルをDRAM111から取得して、グローバル動きベクトルに基づいて基準移動量を設定する。なお、合成画像の基準移動量(即ちフレーム位置)の設定方法は、後で詳細に説明される。
カメラ画像処理部106は、前処理部103の出力であるRawデータを画像化し、例えば、デモザイク処理、階調補正処理、色変換処理を行える。
画像合成部(画像合成手段)107は、位置設定部105において設定されたフレーム位置に関して、合成の対象となる複数の画像の合成を行う。画像合成部107は、基準となるフレーム画像の位置からの移動量である基準移動量 (bvx[i],bvy[i])だけ移動したフレーム位置において画像の合成を行って、合成画像I'[i]を生成する。n枚(n≧2)のフレーム画像を合成した合成画像I'[i]の画素値I'[i](x,y)は、簡単には以下の数式(1)で表される。なお、ここでは合成対象のフレーム画像I[i-(n-1)]からI[i]のうち、時間的に最も早い時刻に撮影されたフレーム画像I[i-(n-1)]の位置を基準に座標軸を設定し、フレーム画像I[i-(n-1)]の左上頂点の座標を(0,0)とする。
ここで、任意のフレーム番号jに対応するフレーム画像I[j]の画素値は、画像上の座標(x,y)の関数としてI[j](x,y)と表される。(mvx[k],mvy[k])は、画像I[k]とI[k-1]との間の動きベクトルであり、(bvx[i],bvy[i])は、位置設定部105において設定されたフレーム画像I[i-(n-1)]の位置からの基準移動量である。なお、(mvx[i-(n-1)],mvy[i-(n-1)])は、(0,0)に設定される。
数式(1)に従って、画像合成部107は、画像I[j]と画像I[i-(n-1)]の間の動きベクトル(Σmvx[k],Σmvy[k])を用いて画像I[j]を位置合せする。さらに、画像合成部107は、基準となる画像I[i-(n-1)]に対して基準移動量(bvx[i],bvy[i])だけ移動させたフレーム位置において、n枚の画像I[i-(n-1)]、I[i-(n-2)]、・・・、I[i-1]、I[i]の対応し合う画素の画素値を加算して、合成画像I'[i]を生成する。なお、複数n枚の画像のうち、画像I[i-(n-1)] は、最も早い時刻に撮影された始端画像であり、画像I[i]は、最も遅い時刻に撮影された終端画像である。
なお、合成対象となるフレーム画像の動きによって、合成画像のフレーム内で合成枚数が変動する。図2(a)は、破線で示した合成画像の画角内での画像の合成枚数の変動を示している。画像合成部107は、図2(b)に示すように、合成画像の座標系(x,y)において、任意の座標で合成できる画像の数を示すゲインマップG(x,y)を生成してもよい。なお、図2(b)は後述の図4(b)の場合を示す。数式(1)にG(x,y)を掛けることで、数式(2)のように、明度を規格化した合成画像の画素値I'[i](x,y)が得られてもよい。
なお、数式(2)のように合成画像を求めると、合成画像の端部付近のS/N比が劣化することになる。そこで、通常の撮像素子は、出力の画像サイズに対応する画素数に対して一定割合の余剰画素を有しているので、余剰画素の範囲に収まるブレであれば、数式(1)が使用できる。また、画像合成部107は、予め想定する最大ブレ量を決めておき、ブレ補正時において、最大ブレ量に応じて通常時の画像より合成画像のサイズ(フレームのサイズ)を小さくすることによって、数式(1)が使用できる。
後処理部108は、主に、液晶モニタ/ファインダ部109とのインターフェースであり、例えば、液晶モニタ/ファインダ部109に出力するフレーム画像のリサイズや、液晶モニタ/ファインダ部109の表示デバイスの特性に合わせた階調変換処理を行う。
また、圧縮記録部113は、撮影した画像または合成画像をエンコードして圧縮する。フラッシュメモリ112は、圧縮記録部113で圧縮された画像からなる動画像データを記録できる。
図3(a)(b)と図4(a)−(c)を参照して、位置設定部105の実行する合成画像のフレーム位置の設定処理(計算処理)を詳細に説明する。ここでは、時系列のフレーム画像としてI[0]〜I[4]が前処理部103から入力され、画像合成部107が4枚の画像を合成する例を示す。
図3(a)は、5枚の時系列画像I[0]〜I[4]の画角の動き(撮影範囲の動き)を示す図である。図3(b)は、この動きを定量的に示す表である。ここで、iはフレーム画像の番号を示し、ベクトル(mvx[i],mvy[i])は、i番目のフレーム画像I[i]とその直前のフレーム画像I[i-1]との間の画角の動きを示すグローバルベクトルである。ベクトル(mvx[i],mvy[i])は、動き検出部104で検出される。なお、 (mvx[0],mvy[0])は、便宜的に(0,0)とされている。
図4(a)は、図3(a)(b)の場合において、位置設定部105が基準移動量ひいては合成画像のフレーム位置をどのように設定(計算)するかを示す。図4(a)では、画像合成部107は、I[0]〜I[3]の4枚の画像を合成してI'[3]を生成し、I[1]〜I[4]の4枚の画像を合成してI'[4]を生成する。
位置設定部105は、合成画像I'[3]のフレーム位置(基準移動量)を求めるために、I[0]とI[3]との間のグローバルな移動(動き)ベクトル(gmvx[3],gmvy[3])を算出する。時間的に隣接するフレーム間のグローバルベクトル (mvx[i],mvy[i])は図3(b)で示されているので、グローバルな移動ベクトル(gmvx[3],gmvy[3])は、i=0からi=3までの区間で(mvx[i],mvy[i])を累積加算して求められる。すなわち、図4(b)に示すように、グローバルな移動ベクトル(gmvx[3],gmvy[3])は(5,3)となる((gmvx[3],gmvy[3])= (5,3))。例えば、位置設定部105は、合成画像I'[3]のフレーム位置を規定する基準移動量(bvx[3],bvy[3])を、グローバルな移動ベクトル(gmvx[3],gmvy[3])に0.5の値を乗算したベクトル量 (2.5,1.5)に設定する。この基準移動量で定まるフレーム位置の中心は、画像I[0]からI[3]を一度に露光した場合の露光重心の位置とも言える。
同様に、位置設定部105は、合成画像I'[4] のフレーム位置(基準移動量)を求める。図4(c)に示すように、I[1]とI[4]との間のグローバルな移動ベクトル(gmvx[4],gmvy[4])は、(6,-3)となる((gmvx[4],gmvy[4])= (6,-3))。位置設定部105は、合成画像I'[4]のフレーム位置を規定する基準移動量(bvx[4],bvy[4])を、グローバルな移動ベクトル(gmvx[4],gmvy[4])に0.5の値を乗算したベクトル量 (3,-1.5)に設定する。
図4(a)に示されたI'[3]とI'[4]の間の軌跡のように、画像合成を行わない場合のI[0]からI[4]の間の動きと比較して、合成画像間の動き量が大幅に緩和されブレが効果的に抑制されている。I'[5]以降も同様の処理を継続することにより、動画撮影中のブレ(手ブレなど)を効果的に抑制できる。
また、上記の処理では、位置設定部105は、合成画像I'[i]のフレーム位置を規定する基準移動量(bvx[i],bvy[i])をグローバルな移動ベクトル(gmvx,gmvy)の中点、つまり(1/2)×(gmvx,gmvy)に設定する。しかし、位置設定部105は、この係数1/2を任意の係数αに置き換えて、基準移動量(bvx[i],bvy[i])をα×(gmvx,gmvy)に設定してもよい。
例えば、現フレームと、その前の数フレーム間において検出されたグローバル動きベクトルの相関が小さい場合に、位置設定部105は、αを0.5に設定し(α=0.5)、相関が大きい場合に、αを1.0に近い値に設定する(α≒1.0)。手ブレによる動きが支配的な場合にグローバル動きベクトルの相関が小さく、撮影者によるパン/チルト動作などのために画角全体が特定方向に動いている場合に相関は大きい。αが1.0の場合に、合成画像のフレーム位置は現フレームの位置と一致するため、合成画像からなる動画像は、動体追従性の高いファインダ画像になる。このため、αが1.0の場合に、ブレ補正の効果が完全に消失するが、画像処理装置100を使用する撮影者のカメラワーク(撮影動作)に追従する動画像が得られる。
以上の位置設定部105の処理を一般化すると、始端画像I[i-(n-1)]から終端画像I[i] までの複数の画像の合成画像I'[i]に関して、合成画像のフレーム位置を決める基準移動量(bvx[i],bvy[i])は、以下の数式(3a)(3b)で表される。
ここで、nは、合成される画像の枚数、(mvx[j],mvy[j])は、任意のフレーム番号jに対応する画像I[j]と画像I[j-1]との間の動きベクトルである。また、αの範囲は、0.5≦α≦1.0である。なお、画像I[i-(n-1)] に対する動きベクトル(mvx[i-(n-1)],mvy[i-(n-1)])は、(0,0)に設定される。終端画像が最大振幅を与える場合もそうでない場合も、数式(3a)(3b)のように定めた基準移動量(bvx[i],bvy[i])の大きさは、合成対象の複数の画像のうちの基準となる始端画像I[i-(n-1)]に対する他のフレーム画像I[i-(n-2)]、・・・I[i-1]、I[i]の動きの最大振幅よりも小さくなる。ここで、最大振幅とは、基準となるフレーム画像の位置に対する他のフレーム画像の相対的な振幅(変位)のうち最も大きな振幅を表す。
なお、第一実施形態において、任意の二つのフレーム画像の間の動きベクトルは、隣接フレーム間の動きベクトルを累積加算することによって、(Σmvx,Σmvy)として求められる。例えば、位置設定部105は、合成の対象のn枚のフレーム画像の始端I[i-(n-1)]から終端I[i]までの移動ベクトル(gmvx,gmvy)を、隣接フレーム間の動きベクトルを累積加算することによって求める。しかし、動き検出部104が、マッチングにより二つのフレーム画像を比較して、任意の二つのフレーム画像の間の動きベクトルを直接的に求めることもできる。例えば、動き検出部104は、合成対象の複数の画像のうちの始端画像I[i-(n-1)]と終端画像I[i]とを比較して移動ベクトル(gmvx,gmvy)を直接的に求めてよい。この場合に、累積加算による誤差が軽減できる。しかし、合成枚数nが大きいときは、始端から終端までの動きも非常に大きくなり、より大きなマッチングの探索範囲が必要となるため、直接的に移動ベクトル(gmvx,gmvy)を求めることは、処理速度および実装の観点から適切でない。
図5は、第一実施形態による画像処理装置の処理を示すフローチャートである。なお、以下において、符号「S」はステップを意味する。フローチャート全体の手順は、CPU110により制御される。なお、図5は、第一実施形態による画像処理装置の画像処理方法の一例である。また、図5に示す各ステップは、時系列に実行されてもよいし、並列的に処理されてもよい。
S100において、撮影開始前の初期設定として、合成枚数nが設定される。入力フレーム番号iが初期化される。S101において、撮像素子101は、フレーム画像I[i]を撮影する。S102において、撮影したフレーム画像I[i]は、A/D変換部102、前処理部103にて処理された後、DRAM111に格納される。そして、フレーム番号iは、インクリメントされる。
S103において、DRAM111に二枚以上の画像が格納されているか判断され(S103a)、判断が肯定の場合(i≧2の場合)に、動き検出部104は、画像I[i]と画像I[i-1]との間の動きを検出する(S103b)。判断が否定の場合(i<2の場合)に、ルーチンはS101に戻る。
S104において、DRAM111にn枚以上の画像が格納されているか判断され(S104a)、判断が肯定の場合(i≧nの場合)に、位置設定部105は、(n−1)個の動きベクトル (mvx[i],mvy[i])〜(mvx[i-(n-1)],mvy[i-(n-1)]) の情報を読み出す。さらに、位置設定部105は、数式(3a)(3b)にしたがって合成画像I'[i]の基準移動量を計算し、ひいては合成画像I'[i]のフレーム位置を設定する(S104b)。なお、基準移動量の計算において、動きの基準となる画像I[i-(n-1)] の動きベクトル(mvx[i-(n-1)],mvy[i-(n-1)])は(0,0)に設定される。判断が否定の場合(i<nの場合)に、ルーチンはS101に戻る。
S105において、画像合成部107は、DRAM111から合成の対象となるn枚の画像I[i]〜I[i-(n-1)]を読み出し、数式(1)又は数式(2)にしたがって画素値I'[i](x,y)を計算し、合成画像I'[i]を生成する。
S106において、合成画像I'[i]に対して、カメラ画像処理部106は所定の画像処理を行う。S107において、後処理部108は各種処理を行い、液晶モニタ/ファインダ部109は、合成画像を新たなフレーム画像とした動画像を表示する。S108において、ユーザの操作による撮影完了の信号を得るまでS101からの手順が繰り返えされる。
−作用効果−
本実施形態によると、時系列に撮影された複数の画像(I[i-(n-1)]、I[i-(n-2)]、・・・、I[i-1]、I[i])を合成して合成画像を生成する画像処理装置において、位置設定部105は、複数の画像のうちの一つの画像(例えば、始端画像I[i-(n-1)])に対する他の画像の動きを取得し、動きの最大振幅よりも小さい基準移動量(bvx[i],bvy[i])だけこの一つの画像から移動した位置を合成画像のフレーム位置(例えば、図2(a)の破線)として設定する。画像合成部107は、このフレーム位置において、複数の画像の対応し合う画素の画素値を合成して、合成画像を生成する。これにより、長露光効果を得るため又はS/N比を向上させる等のために動画像を構成する複数のフレーム画像を合成する際に、簡素な構成にて動画像のブレ補正も同時に行い、合成画像を新たなフレーム画像とする動きが滑らかな動画像を得ることができる。
本実施形態によると、時系列に撮影された複数の画像(I[i-(n-1)]、I[i-(n-2)]、・・・、I[i-1]、I[i])を合成して合成画像を生成する画像処理装置において、位置設定部105は、複数の画像のうちの一つの画像(例えば、始端画像I[i-(n-1)])に対する他の画像の動きを取得し、動きの最大振幅よりも小さい基準移動量(bvx[i],bvy[i])だけこの一つの画像から移動した位置を合成画像のフレーム位置(例えば、図2(a)の破線)として設定する。画像合成部107は、このフレーム位置において、複数の画像の対応し合う画素の画素値を合成して、合成画像を生成する。これにより、長露光効果を得るため又はS/N比を向上させる等のために動画像を構成する複数のフレーム画像を合成する際に、簡素な構成にて動画像のブレ補正も同時に行い、合成画像を新たなフレーム画像とする動きが滑らかな動画像を得ることができる。
位置設定部105は、複数の画像の中で、最も早い時刻に撮影された画像(即ち始端画像)から最も遅い時刻に撮影された画像(即ち終端画像)までの移動を示す移動ベクトル(gmvx,gmvy)に係数0.5を乗算することによって、基準移動量を計算する。これにより、位置設定部105は、簡単かつ好適に、画像の動きの最大振幅よりも小さい基準移動量(bvx[i],bvy[i])を設定できる。
位置設定部105は、複数の画像の中で、最も早い時刻に撮影された画像(即ち始端画像)から最も遅い時刻に撮影された画像(即ち終端画像)までの移動を示す移動ベクトルに係数αを乗算することによって、基準移動量を計算する。そして、位置設定部105は、複数の画像間の動きの振幅が所定の閾値よりも小さい場合に係数αを0.5に設定し、複数の画像の同一方向の移動が継続するほど係数αを1.0に近づける。これにより、位置設定部105は、画像処理装置のユーザのカメラワーク(撮影動作)に応じて合成画像の基準移動量(即ち合成画像のフレーム位置)を設定する。従って、画像処理装置は、ユーザのカメラワークに応じて、合成画像をフレームとする好適な動画像を取得できる。
[第二実施形態]
図6は、第二実施形態に係る画像処理装置200のブロック構成図を示す。画像処理装置200は、記録メディアから動画像データを取得し、画像表示装置に表示することができ、例えば、ビデオ再生装置、DVD(digital versatile disk)/BD(Blu-ray Disc)再生装置などの動画像再生装置である。
図6は、第二実施形態に係る画像処理装置200のブロック構成図を示す。画像処理装置200は、記録メディアから動画像データを取得し、画像表示装置に表示することができ、例えば、ビデオ再生装置、DVD(digital versatile disk)/BD(Blu-ray Disc)再生装置などの動画像再生装置である。
画像処理装置200は、画像入力装置201と、デコーダ202と、フレームバッファ203と、動き検出部204と、位置設定部205と、画像合成部206と、画像表示装置207と、これら各部を制御する制御部(図示しない)を備える。デコーダ202、動き検出部204、位置設定部205、画像合成部206、制御部のそれぞれ(又はこれら全体)は、ASIC、FPGAなどの論理回路から構成されてよい。或いは、これらの各部(又はこれら全体)は、データを格納するメモリ、演算プログラムを格納するメモリ、この演算プログラムを実行するCPU/DSP(中央演算処理装置/デジタルシグナルプロセッサ)等から構成されてもよい。
画像入力装置201は、記録メディアから動画像データを読み出し、画像処理装置200に入力する。動画データを記録した記録メディアは、例えば、磁気テープ、光ディスク、フラッシュメモリである。また、画像入力装置201は、画像処理装置200に内蔵されたハードディスクドライブなどの記憶装置でもよい。
デコーダ202は、記録メディアに記録された圧縮符号化データを非圧縮のフレーム画像に復元する。なお、記録された動画像データが非圧縮であればデコーダ202は不要である。フレームバッファ203は、復元されたフレーム画像を合成する枚数分格納するメモリ(例えばRAM)である。
動き検出部(動き検出手段)204は、第一実施形態における動き検出部104と同じ機能を有する。ただし、第二実施形態では、角速度センサ等は利用できないため、動き検出部104は、ブロックマッチングにより画像間の動きを検出する。
位置設定部(位置設定手段)205は、第一実施形態における位置設定部105と同じ機能を有する。ただし、第二実施形態では、第一実施形態で述べた係数αは固定値0.5を取る。これは、画像処理装置200は動画像再生装置であるため、ユーザの撮影動作に追従する必要が無いからである。
画像合成部(画像合成手段)206は、第一実施形態における画像合成部107と同じ機能を有する。画像合成部206で生成された合成画像は、画像表示装置207に送られる。画像表示装置207は、合成画像からなる動画像を表示し、例えば液晶ディスプレイである。
図7は、第二実施形態による画像処理装置200の処理を示すフローチャートである。なお、以下において、符号「S」はステップを意味する。なお、図7は、第二実施形態による画像処理装置の画像処理方法の一例である。
S200において、画像処理装置200の制御部は、初期設定として合成枚数nを設定し、入力フレーム番号iを初期化する。S201において、画像入力装置201から符号化データストリームが読み出され、デコーダ202は、フレーム画像I[i]を復元する。S202において、復元したフレーム画像I[i]は、フレームバッファ203に格納される。そして、フレーム番号iは、インクリメントされる。
S203において、フレームバッファ203に二枚以上の画像が格納されているか判断され(S203a)、判断が肯定の場合(i≧2の場合)に、動き検出部104は、画像I[i]と画像I[i-1]との間の動きを検出する(S203b)。判断が否定の場合(i<2の場合)に、ルーチンはS201に戻る。
S204において、フレームバッファ203にn枚以上の画像が格納されているか判断され(S204a)、判断が肯定の場合(i≧nの場合)に、(n−1)個の動きベクトル (mvx[i],mvy[i])〜(mvx[i-(n-1)],mvy[i-(n-1)])の情報がフレームバッファ203から読み出される。は、数式(3a)(3b)にしたがって合成画像I'[i]の基準移動量を計算し、ひいては合成画像I'[i]のフレーム位置を設定する(S204b)。判断が否定の場合(i<nの場合)に、ルーチンはS201に戻る。
ステップS205において、画像合成部206は、フレームバッファ203から合成対象となるn枚の画像I[i]〜I[i-(n-1)]を読み出し、数式(1)又は数式(2)にしたがって画素値I'[i](x,y)を計算し、合成画像I'[i]を生成する。
ステップS206において、画像表示装置207は、合成画像I'[i]を表示する。ステップS207において、ユーザ操作による再生停止信号を得るまでS201からの手順が繰り返えされる。
なお、画像処理装置200は、デコーダ202から画像合成部206までの画像処理をソフトウェア(プログラム)により実行する汎用コンピュータ(パーソナルコンピュータやワークステーション等)でもよい。汎用コンピュータは、CPUと、画像データを記憶するフレームバッファとなるRAM等の主記憶装置と、上記の画像処理を実現させるためのプログラムが記憶されたコンピュータ読み取り可能な記憶装置(又は非一時的な記録媒体)とを備えている。ここでは、このプログラムを画像処理プログラムと呼ぶ。そして、CPUが上記記憶媒体に記憶されている画像処理プログラムを読み出して、画像データの加工・演算処理を実行する。
ここで、コンピュータ読み取り可能な記憶装置(又は非一時的な記録媒体)とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、この画像処理プログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該画像処理プログラムを実行するようにしても良い。
第二実施形態によると、画像処理装置としての動画像再生装置において、第一実施形態と同じ効果が得られる。
[第三実施形態]
第三実施形態は、位置設定部105、205による基準移動量の計算方法(即ち、合成画像のフレーム位置の設定)が、第一と第二実施形態とは異なる。他の構成は、第一と第二実施形態と同じである。
第三実施形態は、位置設定部105、205による基準移動量の計算方法(即ち、合成画像のフレーム位置の設定)が、第一と第二実施形態とは異なる。他の構成は、第一と第二実施形態と同じである。
図8(a)(b)は、図3(a)(b)の場合において、位置設定部105(又は205)が合成画像の基準移動量ひいてはフレーム位置をどのように設定(計算)するかを示す。画像合成部107(又は206)は、I[0]〜I[3]の4枚の画像を合成してI'[3]を生成し、I[1]〜I[4]の4枚の画像を合成してI'[4]を生成する。
図8(a)を参照すると、位置設定部105(又は205)は、合成画像I'[3]の基準移動量(即ちフレーム位置)を求めるために、I[0]とI[1]との間のグローバルな移動ベクトル(fmvx[1],fmvy[1])と、I[0]とI[2]との間のグローバルな移動ベクトル(fmvx[2],fmvy[2])と、I[0]とI[3]との間のグローバルな移動ベクトル(fmvx[3],fmvy[3])を算出する。合成画像I'[3]の基準移動量(bvx[3],bvy[3])は、以下の数式(4a)(4b)のように、(fmvx[1],fmvy[1])と(fmvx[2],fmvy[2])と(fmvx[3],fmvy[3])の平均に設定される。
図8(b)を参照すると、位置設定部105(又は205)は、合成画像I'[4]の基準移動量(即ちフレーム位置)を求めるために、I[1]とI[2]との間のグローバルな移動ベクトル(fmvx'[2],fmvy'[2])と、I[1]とI[3]との間のグローバルな移動ベクトル(fmvx'[3],fmvy'[3]) と、 I[1]とI[4]との間のグローバルな移動ベクトル(fmvx'[4],fmvy'[4])を算出する。合成画像I'[4]の基準移動量(bvx[4],bvy[4])は、以下の数式(5a)(5b)のように、(fmvx'[2],fmvy'[2])と(fmvx'[3],fmvy'[3])と(fmvx'[4],fmvy'[4])の平均に設定される。
以上の位置設定部105(又は205)の処理を一般化すると、I[i-(n-1)]からI[i] までの画像を合成して得る合成画像I'[i]に対して、フレーム位置を決める基準移動量(bvx[i],bvy[i])は、以下の数式(6a)(6b)で表される。
ここで、nは、合成される画像の枚数、(mvx[k],mvy[k])は、任意のフレーム番号kに対応する画像I[k]と画像I[k-1]との間の動きベクトルである。なお、画像I[i-(n-1)] に対する動きベクトル(mvx[i-(n-1)],mvy[i-(n-1)])は、(0,0)に設定される。
数式(6a)(6b)において、画像I[i-(n-1)]に対するフレーム画像I[i-(n-2)]、・・・、I[i-1]、I[i]の移動ベクトルは、隣接フレーム間の動きベクトルを累積加算することによって、(Σmvx[k],Σmvy[k])として求められる。そして、フレーム画像I[i-(n-2)]、・・・、I[i-1]、I[i]の移動ベクトルの平均が、基準移動量(bvx[i],bvy[i])として求められている。
なお、本実施形態ではフレーム画像I[i-(n-1)]を基準とする動きベクトルを求めたが、基準とするフレーム画像を他のフレーム画像I[i-(n-2)]からI[i]のいずれかとしてもよい。
なお、本実施形態ではフレーム画像I[i-(n-1)]を基準とする動きベクトルを求めたが、基準とするフレーム画像を他のフレーム画像I[i-(n-2)]からI[i]のいずれかとしてもよい。
数式(6a)(6b)のように平均化により定めた基準移動量(bvx[i],bvy[i])の大きさは、合成対象の複数の画像のうちの始端画像I[i-(n-1)]に対する他のフレーム画像I[i-(n-2)]、・・・I[i-1]、I[i]の動き(Σmvx[k],Σmvy[k])の最大振幅よりも小さくなる。このように求めた基準移動量(bvx[i],bvy[i])によって合成画像I'[i]のフレーム位置が規定されるため、合成画像をフレームとする動画像は、好適にブレが補正されて動きが滑らかになる。
以上のように、第三実施形態によると、位置設定部105は、複数の画像のうち最も早い時刻に撮影された画像に対して他の画像の移動を示す移動ベクトルを平均することによって、基準移動量を計算する。これにより、位置設定部105は、複数の画像のうちの一つの画像(例えば、始端画像I[i-(n-1)])に対する他の画像の動きを平均化して、他の画像の動きの最大振幅よりも小さい基準移動量(bvx[i],bvy[i])を設定できる。そして、画像処理装置は、動きが平均化されて好適にブレ補正された動画像を得ることができる。
本発明は上記の各実施形態に限定されずに、その技術的な思想の範囲内において種々の変更がなしうることは明白である。
100 画像処理装置
101 撮像素子
102 A/D変換部
103 前処理部
104 動き検出部
105 位置設定部
106 カメラ画像処理部
107 画像合成部
108 後処理部
109 液晶モニタ/ファインダ部
112 フラッシュメモリ
113 圧縮記録部
114 データバス
200 画像処理装置
201 画像入力装置
202 デコーダ
203 フレームバッファ
204 動き検出部
205 位置設定部
206 画像合成部
207 画像表示装置
101 撮像素子
102 A/D変換部
103 前処理部
104 動き検出部
105 位置設定部
106 カメラ画像処理部
107 画像合成部
108 後処理部
109 液晶モニタ/ファインダ部
112 フラッシュメモリ
113 圧縮記録部
114 データバス
200 画像処理装置
201 画像入力装置
202 デコーダ
203 フレームバッファ
204 動き検出部
205 位置設定部
206 画像合成部
207 画像表示装置
Claims (9)
- 時系列に撮影された複数の画像のうちの一つの画像に対する他の画像の動きを取得し、前記動きの振幅の中の最大振幅よりも小さい基準移動量だけ前記一つの画像から移動した位置を前記複数の画像の合成を行なうフレーム位置として設定する位置設定部と、
前記複数の画像を前記複数の画像の合成を行うフレーム位置に移動し、前記複数の画像の対応し合う画素の画素値を合成して、合成画像を生成する画像合成部と、
を備えることを特徴とする画像処理装置。 - 前記位置設定部は、前記複数の画像の中で、最も早い時刻に撮影された画像から最も遅い時刻に撮影された画像までの移動を示す移動ベクトルに係数αを乗算することによって、前記基準移動量を計算することを特徴とする請求項1に記載の画像処理装置。
- 前記位置設定部は、前記係数αを0.5に設定することを特徴とする請求項2に記載の画像処理装置。
- 前記位置設定部は、前記複数の画像の同一方向の移動が継続するほど係数αを1.0に近づけることを特徴とする請求項2に記載の画像処理装置。
- 前記位置設定部は、前記複数の画像間の動きの振幅が所定の閾値よりも小さい場合に前記係数αを0.5に設定し、前記複数の画像の同一方向の移動が継続するほど係数αを1.0に近づけることを特徴とする請求項2に記載の画像処理装置。
- 前記位置設定部は、前記複数の画像のうち基準となるフレーム画像に対して他の画像の移動を示す移動ベクトルを平均することによって、前記基準移動量を計算することを特徴とする請求項1に記載の画像処理装置。
- 請求項1から請求項6のいずれか一つに記載の画像処理装置を備えることを特徴とする電子機器。
- 時系列に撮影された複数の画像のうちの一つの画像に対する他の画像の動きを取得する取得ステップと、
前記動きの振幅の中の最大振幅よりも小さい基準移動量だけ前記一つの画像から移動した位置を前記複数の画像の合成を行なうフレーム位置として設定する位置設定ステップと、
前記複数の画像を前記複数の画像の合成を行うフレーム位置に移動し、前記複数の画像の対応し合う画素の画素値を合成して、合成画像を生成する画像合成ステップと、
を含むことを特徴とする画像処理方法。 - 時系列に撮影された複数の画像のうちの一つの画像に対する他の画像の動きを取得する取得手順と、
前記動きの振幅の中の最大振幅よりも小さい基準移動量だけ前記一つの画像から移動した位置を前記複数の画像の合成を行なうフレーム位置として設定する位置設定手順と、
前記複数の画像を前記複数の画像の合成を行うフレーム位置に移動し、前記複数の画像の対応し合う画素の画素値を合成して、合成画像を生成する画像合成手順と、
をコンピュータに実行させることを特徴とする画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012015057A JP2013157704A (ja) | 2012-01-27 | 2012-01-27 | 画像処理装置、画像処理方法、画像処理プログラム、及び、電子機器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012015057A JP2013157704A (ja) | 2012-01-27 | 2012-01-27 | 画像処理装置、画像処理方法、画像処理プログラム、及び、電子機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013157704A true JP2013157704A (ja) | 2013-08-15 |
Family
ID=49052536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012015057A Pending JP2013157704A (ja) | 2012-01-27 | 2012-01-27 | 画像処理装置、画像処理方法、画像処理プログラム、及び、電子機器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013157704A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017126036A1 (ja) * | 2016-01-19 | 2017-07-27 | オリンパス株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
-
2012
- 2012-01-27 JP JP2012015057A patent/JP2013157704A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017126036A1 (ja) * | 2016-01-19 | 2017-07-27 | オリンパス株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
JPWO2017126036A1 (ja) * | 2016-01-19 | 2018-11-08 | オリンパス株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4500875B2 (ja) | モーションブラー効果を除去する方法および装置 | |
JP5205337B2 (ja) | ターゲット追跡装置および画像追跡装置ならびにそれらの動作制御方法ならびにディジタル・カメラ | |
US8581992B2 (en) | Image capturing apparatus and camera shake correction method, and computer-readable medium | |
US9055217B2 (en) | Image compositing apparatus, image compositing method and program recording device | |
JP5453573B2 (ja) | 撮像装置、撮像方法およびプログラム | |
WO2012147719A1 (ja) | 画像処理装置、画像処理方法、および、画像処理プログラム | |
JP2013512626A (ja) | シーン内の正確な及び相対的な被写体距離を推定するためのアルゴリズム | |
JPWO2010116731A1 (ja) | 撮像装置、再生装置、撮像方法及び再生方法 | |
JP2016012811A (ja) | 撮像装置及びその制御方法、プログラム、記憶媒体 | |
JP2008258848A (ja) | ノイズ低減装置、ノイズ低減方法、及び電子機器 | |
JP2015204488A (ja) | 動き検出装置および動き検出方法 | |
JP5454622B2 (ja) | 撮像装置、合成画像生成方法、及び、プログラム | |
JP6282133B2 (ja) | 撮像装置、その制御方法、および制御プログラム | |
JP6178646B2 (ja) | 撮像装置及び像振れ補正処理方法 | |
JP2012257080A (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
JP2013157704A (ja) | 画像処理装置、画像処理方法、画像処理プログラム、及び、電子機器 | |
JP2009171341A (ja) | ぶれ補正装置及び撮像装置 | |
JP2015080157A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2018142983A (ja) | 画像処理装置及びその制御方法、プログラム、記憶媒体 | |
JP5179859B2 (ja) | 撮像装置及び撮像方法 | |
JP2012085205A (ja) | 画像処理装置、撮像装置、画像処理方法および画像処理プログラム | |
JP5182395B2 (ja) | 撮像装置、撮像方法および撮像プログラム | |
JP2017098636A (ja) | 画像評価装置、画像評価方法及びプログラム | |
US20130236055A1 (en) | Image analysis device for calculating vector for adjusting a composite position between images | |
WO2011033675A1 (ja) | 画像処理装置および画像表示装置 |