(57)【要約】【課題】ピント振動映像に対し、簡単にボケ補正画像処理を行うことができるようにする。【解決手段】一度合ったピントが一旦外れて、再びピントが合うようなピントが振動している映像に対し、ピントが合っているフレームを基準フレーム画像と指定し、この基準フレーム画像を基準としてピントが合った後に一度ボケて再度ピントが合うフレーム画像までの期間をボケ映像期間と設定する。設定されたボケ映像期間において、基準フレーム画像を基に各フレームのボケ特性を算出する。算出されたボケ特性を用いてボケ映像期間の各フレームのボケ補正を行い、ボケが修正された映像を出力できるようにする。【選択図】図３
2012169772.tif 000002
【特許請求の範囲】
【請求項１】
入力された映像を選択して表示装置に表示する表示手段と、
前記表示装置に表示された映像からピントが合っているフレームを基準フレーム画像として指定する基準フレーム指定手段と、
前記基準フレーム画像から、ピントが振動しているフレーム期間をボケ期間として検出するボケ期間検出手段と、
前記ボケ期間検出手段で検出した、ボケているフレーム期間に対し、前記基準フレーム画像を基に前記ボケ期間の各フレームのボケ特性を算出するボケ特性算出手段と、
前記ボケ特性算出手段で算出された各フレームのボケ特性を基に、各フレームのボケ補正を行うボケ補正処理手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記基準フレームのピント領域を推定するピント領域推定手段を有し、
前記ピント領域推定手段は、前記基準フレームのピント領域を明示的に表示し、ユーザーにピント推定の領域を表示することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記ピント領域推定手段は、ユーザーによって推定領域を変更する変更手段を有することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
基準フレーム画像を指定するとともに、ピント振動期間が終了となるフレームを記憶媒体に記憶する記憶手段を有することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
入力された映像を選択して表示装置に表示する表示工程と、
前記表示装置に表示された映像からピントが合っているフレームを基準フレーム画像として指定する基準フレーム指定工程と、
前記基準フレーム画像から、ピントが振動しているフレーム期間をボケ期間として検出するボケ期間検出工程と、
前記ボケ期間検出工程で検出した、ボケているフレーム期間に対し、前記基準フレーム画像を基に前記ボケ期間の各フレームのボケ特性を算出するボケ特性算出工程と、
前記ボケ特性算出工程で算出された各フレームのボケ特性を基に、各フレームのボケ補正を行うボケ補正処理工程と
を備えることを特徴とする画像処理方法。
【請求項６】
入力された映像を選択して表示装置に表示する表示工程と、
前記表示装置に表示された映像からピントが合っているフレームを基準フレーム画像として指定する基準フレーム指定工程と、
前記基準フレーム画像から、ピントが振動しているフレーム期間をボケ期間として検出するボケ期間検出工程と、
前記ボケ期間検出工程で検出した、ボケているフレーム期間に対し、前記基準フレーム画像を基に前記ボケ期間の各フレームのボケ特性を算出するボケ特性算出工程と、
前記ボケ特性算出工程で算出された各フレームのボケ特性を基に、各フレームのボケ補正を行うボケ補正処理工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項７】
請求項６に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置及び画像処理方法に関し、特に、カメラでフォーカスレンズを操作し、撮影した際に生じるピントが振動した映像を簡単に補正するために用いて好適な技術に関する。
【背景技術】
【０００２】
デジタルスチルカメラやビデオカメラにおいて、フォーカスレンズをマニュアルで操作して撮影する際、ビューファインダー等に表示される被写体を見ながら行う場合には、表示面積が小さいので被写体にピントを合わせることが難しい。このため、フォーカスレンズを操作しながら被写体にピントを合わせる際、ピントが適正な状態から一度ピントが外れ、ピントを再修正する場合がある。このとき映像は、適正ピントの画像から一旦被写体がボケ、再度ピントが合うというように変化する（以下、ピント振動あるいはピント振動映像と呼ぶ）。
【０００３】
これに対する従来技術として、同一被写体の合焦点画像とボケ画像からボケ補正関数を計算し、ボケ補正を行う技術（例えば、特許文献１）がある。本技術は、同一被写体の合焦点画像とボケ画像からボケ補正関数（詳細フォーカス関数）を計算し、さらにこのボケ補正関数に対して教育データを与えてボケ補正用のスマートフォーカス関数を計算するものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２０８４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら特許文献１によれば、ボケ補正用のスマートフォーカス関数を計算するため、あらかじめ同一被写体の合焦点画像とボケ画像を準備しておく必要がある。また、補正対象が映像である場合は対象フレームを総て指定しなければならず、ユーザーの手間がかかるという課題があった。
本発明は前述の問題点に鑑み、ピント振動映像に対し、簡単にボケ補正画像処理を行うことができるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の画像処理装置は、入力された映像を選択して表示装置に表示する表示手段と、前記表示装置に表示された映像からピントが合っているフレームを基準フレーム画像として指定する基準フレームの指定手段と、前記基準フレーム画像から、ピントが振動しているボケているフレーム期間を検出するボケ期間検出手段と、前記ボケ期間検出手段で検出した、ボケている映像期間に対し、前記基準フレーム画像を基に前記ボケ期間の各フレームのボケ特性を算出するボケ特性算出手段と、前記ボケ特性算出手段で算出された各フレームのボケ特性を基に、各フレームのボケ補正を行うボケ補正処理手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ピントを合わすためのフォーカスサポート機能があっても取り除くことが出来ないピントが振動している映像を、ボケ補正することにより、編集などの素材映像に用いることが可能となる効果を奏する。
また本発明は、マニュアルフォーカス時だけでなくオートフォーカス時において発生するピント振動映像への適用も可能である。オートフォーカスには超音波や赤外線を用いてオートフォーカスを行うアクティブ方式や、撮像画像のコントラストや位相差に基づいてオートフォーカスを行うパッシブ方式が存在する。被写体との位置関係や明るさ等の影響によりオートフォーカスが不安定となりピントが振動するような映像となる場合があるが、このような課題に対しても本発明は適用できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１の実施形態の画像処理装置の構成例を示すブロック図である。
【図２】映像編集を行うユーザーインターフェースの一例を示す図である。
【図３】第１の実施形態の全体処理を示すフローチャートである。
【図４】第１の実施形態のピント領域指定処理を示すフローチャートである。
【図５】ピント領域の修正を行う際に領域を指定する様子を説明する模式図である。
【図６】第１の実施形態のボケ期間検出処理の一例を示すフローチャートである。
【図７】第１の実施形態の類似度算出処理を示すフローチャートである。
【図８】類似度算出処理における有効周波数領域、直線近似の関係を示す図である。
【図９】ボケ期間におけるボケ特性算出処理を示すフローチャートである。
【図１０】ボケ期間におけるボケ補正処理を示すフローチャートである。
【図１１】ピントが振動する様子を説明する図である。
【図１２】ピントが振動している期間に行うボケ補正の様子を説明する図である。
【発明を実施するための形態】
【０００９】
（第１の実施形態）
以下、本発明の第１の実施形態による画像処理装置について図面を参照して説明する。
本発明はピントが振動している映像を編集アプリケーションによりボケ補正を行うものである。編集アプリケーションを動作させる画像処理装置システムの全体構成について、図１の構成図を用いて説明する。
【００１０】
ボケ画像を補正する画像処理装置１０１は、映像を入出力する外部記録インターフェース（Ｉ／Ｆ）１０２、ユーザーの制御を指定するユーザーインターフェース（Ｉ／Ｆ）１０３を備えている。また、ネットワークに接続するためのネットワークインターフェースカード（ＮＩＣ）１０４、ディスプレイに画像を表示する表示インターフェース（Ｉ／Ｆ）１０５を備えている。また更に、プログラムの演算・制御処理を行うＣＰＵ１０６、実行するプログラムや各種データを格納するＲＯＭ１０７、映像データや実行プログラムを展開するＲＡＭ１０８を備えている。
【００１１】
以下では、ボケ補正するために用いる編集アプリケーションのユーザーインターフェースの例について、図２を用いて説明する。
映像編集ウィンドウ２０１は、映像編集アプリケーションの全体を表す。複数の映像から編集する映像を選択する映像選択画面２０２、編集映像のフレームを表示するプレビュー画面２０３を備えている。また、時間軸に映像、音声などを配置したタイムライン編集画面２０４、タイムライン上から編集対象フレームを選択する編集対象フレーム設定部２０５を備えている。
【００１２】
以下では、図３のフローチャートを用いて、編集アプリケーションにおいてピントが振動している映像に対しボケ補正を行う部分のアルゴリズムを説明する。ここでは、各ステップの概略を説明し、詳細処理についてはＳ３０１を除いて後述で説明する。
【００１３】
処理が開始されると、入力映像を選択し、ディスプレイ（表示装置）に表示する（Ｓ３０１）。
次に、ピントの合っている基準フレームをユーザーが選択するのを待機する（Ｓ３０２）。
次に、選択された基準フレーム画像に対し、周波数解析処理を行い、ピントの合っている被写体領域を抽出する（Ｓ３０３）。
周波数解析の結果、抽出されたピント被写体領域を画面上に表示する。ユーザーの意図と異なっている場合はピント領域を指定する仕組みを有する（Ｓ３０４）。
【００１４】
Ｓ３０２で選択された基準フレームの周波数成分と各フレームの周波数成分とから類似度を算出し、ピントが振動してボケているフレーム期間を検出するピント振動期間を算出する（Ｓ３０５）。
次に、ピント振動期間の各フレームに対し、ボケのＰＳＦ関数を算出する（Ｓ３０６）。
次に、各フレームに対し、ＰＳＦ関数に基づいてボケ補正処理を行う（Ｓ３０７）。
次に、修正した映像を外部記録インターフェース１０２から記録媒体に記録する（Ｓ３０８）。
【００１５】
以下では、Ｓ３０２における基準フレーム指定方法について、図２を用いて説明する。
ボケ補正したい映像を映像選択画面２０２で選択し、タイムライン編集画面２０４に配置された映像に対し、編集対象フレーム設定部２０５において、ピントの合っているフレームを検索する。検索方法はタイムライン編集画面２０４において、マウスなどのポインティングデバイスを操作することにより、編集対象フレーム設定部２０５でプレビュー画面２０３に表示されるフレームを変更する。プレビュー画面２０３で表示される画像を確認しながら、ピントの合っているフレームを確認する。この際、フレームを時間軸で過去、未来と動かしながら、最もピントが合っているフレームを選択する。選択したフレームを基準フレームとする。
【００１６】
以下では、Ｓ３０３における基準フレームの被写体領域抽出について図４のフローチャートを用いて説明する。
Ｓ３０２で指定した基準フレーム画像全体に指定したフレームの画像に二次微分フィルターを施し、二次微分画像を取得する処理を行う（Ｓ４０１）。
次に、所定のしきい値を用いて二次微分画像を２値化し、２値画像を生成する２値画像生成処理を行う（Ｓ４０２）。
【００１７】
２値化画像からさらに所定面積以下の孤立点を除去し、エッジ画像を生成するエッジ画像生成処理を行う（Ｓ４０３）。
次に、総てのエッジに外接する方形領域を求め、ピント領域と推定するピント領域推定処理を行う（Ｓ４０４）。
【００１８】
以下では、Ｓ３０４における被写体領域の表示について図５を用いて説明する。Ｓ３０３で求めたピントの合っている被写体領域５０１を、図２のプレビュー画面２０３に表示する。
図５（ａ）の太い線で囲まれたピント推定領域５０３のように、ピント領域が分かりやすくなるよう、明示的に領域を線で囲む処理を行う。
また、図５（ｂ）のピント推定量領域５０４のように囲まれた領域に対して色を付けて明示的にピント領域の表示処理を行い、確認する。
【００１９】
一方、図５の（ｃ）のように、検出されたピント推定領域５０３がユーザーの意図と異なり、被写体５０２の領域５０６がユーザーの所望する領域である場合は、マウスなどのユーザーインターフェースでユーザーが所望する領域を指定する機能を有する。指定方法としては、ポインティングカーソル５０７で設定したいピント領域をペンの様なツールで囲み方形に領域を設定する方法や、予め囲まれた方形の領域を呼び出し、囲む方法などが挙げられる。
【００２０】
以下では、Ｓ３０５におけるボケ期間検出処理について、図６のフローチャートを用いて説明する。
Ｓ３０４で得られた基準フレームのピント領域を取得する（Ｓ６０１）。
次に、検索対象フレームを基準フレームの前のフレームに変更し、初期化する（Ｓ６０２）。
次に、検索対象フレームを過去へ１フレーム移動する（Ｓ６０３）。
次に、検索対象フレームに対し、基準フレームとの位置合わせ処理を行う（Ｓ６０４）。位置合わせ処理に関しては、位相限定相関法を用いた処理を用いてもよい。基準フレームの二次元フーリエ変換をＩ1とし、検索対象フレームの二次元フーリエ変換をＩ2とすると、位相限定相関は、以下の（１式）を逆フーリエ変換することで算出される。
【００２１】
【数１】
2012169772.tif 000003
【００２２】
この結果、相関ピーク座標からシフト量が求まる。位置合わせ処理は他の処理でもよく、処理方法を限定するものではない。
【００２３】
次に、位置合わせ後のフレームからピント領域を取得する（Ｓ６０５）。
次に、検索対象フレームと基準フレームのピント領域から類似度の算出を行う（Ｓ６０６）。算出処理の詳細は後述する。
次に、Ｓ６０６で算出した類似度が、ある所定値より大きいか否かを判定する（Ｓ６０７）。大きい場合は、類似度が高いとし、所定値以下の場合は類似度が低いとする。類似度が低い場合にはＳ６０８に移行し、フレーム移動量を判断する。高い場合はＳ６１０に移行する。
【００２４】
次に、フレーム移動量を判断する。検索するピント振動期間（ボケ期間）がある所定値以上である場合、今回想定しているピント振動区間の検出ではなく全体にボケている場合や、意図的に長くぼやかしている区間に対して処理を行ってしまう。また、映像フレームの先端や終端に辿り着いた場合も閾値以上と判断する（Ｓ６０８）。閾値以下となる場合にはＳ６０３に移行し、閾値より大きい場合は、類似度判定の閾値の再設定を行う（Ｓ６０９）。
【００２５】
その後、Ｓ６０２に移行し、検索対象フレームの初期化を行う。また、再設定を行う際には、自動的に再設定処理を行うだけでなく、表示画面上に「再設定を行う」ことを警告し、ユーザーに再設定処理を行っていることを認知させてもよい。
【００２６】
一方、類似度判定の閾値を再設定ではなく、基準フレームからのピント振動している映像区間が無い場合となるため、基準フレームを再選択してもよい。この場合も表示画面上に「ピント振動区間が見つからない」旨の警告を出し、基準フレームの再選択を促す表示を行い、図３のフローチャートのＳ３０２に移行し、再処理を行う。
Ｓ６１０においては、基準フレームと類似度の高いフレームからピント振動期間を算出し、算出したピント振動期間のフレーム数、ピント振動期間が終了となるフレームを記憶する。
【００２７】
以下では、Ｓ６０６における類似度の算出について、図７のフローチャートを用いて説明する。
基準フレームのピント領域と検索対象フレームにおける対応する領域に対し、窓関数を乗ずる（Ｓ７０１）。窓関数はハミング窓関数を用いるが、これに限定されるものではない。窓関数を乗じた画像にフーリエ変換を施し、周波数成分を取得する（Ｓ７０２）。
【００２８】
周波数成分を１次元データに変換する（Ｓ７０３）。変換方法は円周方向の周波数毎に周波数成分を積算する。周波数成分の円周方向の成分を積算してもよく、あるいは垂直成分や水平成分を積算してもよい。
基準フレームのピント領域から類似度算出に使用するための有効周波数領域を算出する（Ｓ７０４）。基準フレームのピント領域をフーリエ変換して絶対値をとり、周波数振幅成分が所定のしきい値となる領域を有効周波数領域とする。
【００２９】
検索対象フレームの周波数成分の１次元データと基準フレームの周波数成分の１次元データで除し、ボケ周波数情報を取得する（Ｓ７０５）。
ボケ周波数情報と有効周波数領域とをＰＳＦ算出用情報として記憶する（Ｓ７０６）。ここで、ＰＳＦは点像分布関数（point spread function）であり、ボケ特性をデータとして表す方法として用いる。
有効周波数領域内のボケ周波数情報を用い、所定区間を直線に近似し、近似した直線の傾きを類似度情報とする（Ｓ７０７）。所定区間は、有効周波数領域における相対位置から定める。
【００３０】
図８（ａ）に、画像の周波数成分の１次元データ、有効周波数領域を示す。また、図８（ｂ）に、ボケ周波数情報、直線近似区間の関係を模式図として示す。
【００３１】
以下では、Ｓ３０６におけるボケ関数算出処理（ボケ特性算出処理）について、図９のフローチャートを用いて説明する。ボケ特性算出処理においては、ピント振動期間のフレーム数を上限とし、上限まで繰り返し処理を行う。
まず、検索対象フレームの初期化を行う（Ｓ９０１）。
次に、対象フレームのＰＳＦ算出用情報を取得する（Ｓ９０２）。
次に、有効周波数領域において、ボケ周波数情報を近似するガウス関数を求める（Ｓ９０３）。
【００３２】
次に、近似したガウス関数に逆フーリエ変換をかけ、算出された係数をＰＳＦとする（Ｓ９０４）。
次に、算出されたＰＳＦを記憶し、対象フレームを次フレームへ更新する（Ｓ９０５）。
次に、更新されたフレームが補正期間のフレーム数を超えるかを判別する（Ｓ９０６）。超えない場合はＳ９０２へ移行し、超えた場合はボケ特性算出処理を終了する。
【００３３】
次に、Ｓ３０７におけるボケ補正処理を説明する。本実施形態では、ＭＡＰ推定法に基づいてボケ補正処理を行う。（２式）は、ＭＡＰ推定法において最小化すべき評価関数である。
【００３４】
【数２】
2012169772.tif 000004
【００３５】
ここで、xは補正画像を、yはフレーム画像を１次元表現で表したものである。また、行列Ｐはボケモデルであり、ＰＳＦのコンボリューションを行列表現で表したものである。ここで、画像サイズを横Ｗ画素、縦Ｈ画素とすると、xとyはＨ×Ｗ行の列ベクトルであり、Ｐは（Ｈ×Ｗ）×（Ｈ×Ｗ）の正方行列である。
【００３６】
（２式）の右辺第一項は、補正画像xを行列Ｐでぼかした画像とフレーム画像yとの二乗誤差であり、条件付け確率に対応する。σはフレーム画像のノイズ量の標準偏差である。右辺第二項は画像の滑らかさの評価値であり、非エッジの事前確率に対応する。
∇2xm,nは画像の二次微分に相当し、以下の（３式）によって計算することができる。なお、αは係数である。
【００３７】
【数３】
2012169772.tif 000005
【００３８】
以下、前述したＭＡＰ推定法を用いたボケ補正期間に対するボケ補正処理を、図１０のフローチャートを用いて説明する。なお、本実施形態では評価関数最小化に最急降下法を用いる。
まず、ボケ期間の映像に対し、ボケ補正を行う対象フレームを基準フレームの一つ過去のフレームに設定し、初期化する（Ｓ１００１）。
【００３９】
次に、対象フレームに対応するＰＳＦを取得し、行列Ｐを更新する（Ｓ１００２）。
次に、補正画像xを対象フレーム画像で初期設定する（Ｓ１００３）。
次に、以下の（４式）及び（５式）により、画像の更新量を算出する（Ｓ１００４）。
【００４０】
【数４】
2012169772.tif 000006
次に、補正画像の各画素に更新量の各画素を足す（Ｓ１００５）。t回の繰り返し処理が行われた補正画像をx(t)とすると、x(t+1)とは下記の（６式）より計算される。
【００４１】
【数５】
2012169772.tif 000007
【００４２】
ここで、εは更新の幅であり、値が大きいと収束に早く近づくが、大き過ぎると誤差が大きくなったり、発散したりする。
次に、処理回数が所定値以上かを判定し（Ｓ１００６）、判定が真であればＳ１００７に移行し、偽であればＳ１００４に移行して補正画像の修正処理を続行する。
【００４３】
処理回数が所定値以上の場合、ボケ補正を施したフレームを記憶する（Ｓ１００７）。次に、補正対象フレームを次のフレームへ移動させる（Ｓ１００８）。
次に、移動させたボケ補正対象フレームがボケ補正期間の処理フレームを超えているかを判定する（Ｓ１００９）。処理フレーム数を超えていない場合はＳ１００２に移行し、繰り返し処理を行う。一方、処理フレーム数を超えている場合は、ボケ補正処理を終了する。
【００４４】
本実施形態のボケ補正処理は、ＭＡＰ推定法を用いた処理の例であるが、これに限定するものではなく、ＰＳＦに基づく逆フィルターやウィナーフィルターなどその他の手法を用いてもよい。
【００４５】
また、ボケ特性の算出処理とボケ補正処理をそれぞれの処理ブロック毎に切り分けて記載したが、フレーム毎に順次処理を行ってもよい。また、本実施形態では、コンピュータ上で動作するアプリケーションの様な実施形態を説明したが、デジタルスチルカメラやビデオカメラの様な撮影機器内に実装されても動作する形態であっても構わない。
【００４６】
また、本実施形態では、ピント振動期間の指定について、始点となる基準フレームを設定し、終点を自動で求めている。しかし、ユーザーが終点となるフレームの指定を行ってもよい。また、本実施形態では、ピント振動期間を補正する映像に関して、外部の記録媒体を用いる記載となっているが、入力映像・出力映像のどちらか、もしくは両方がネットワーク経由であっても構わない。
【００４７】
以上、説明したように、本発明によれば、図１１のように撮影時に被写体へフォーカスを合わせる際に、ピントが振動してしまった映像に対して、ピントが合っているフレームを指定することにより、ボケている映像期間を自動で検出する。そして、ピントが振動しているボケ期間に対し、フレーム毎のボケ特性を算出し、図１２のように、その特性を利用してボケ補正を行い、修正した映像を出力することができる。
【００４８】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００４９】
１０１  画像処理装置、１０２  外部記録インターフェース、１０３  ユーザーインターフェース、１０４  ネットワークインターフェースカード、１０５  表示インターフェース、１０６  ＣＰＵ、１０７  ＲＯＭ、１０８  ＲＡＭ
【図１】
2012169772.tif 000008
【図２】
2012169772.tif 000009
【図３】
2012169772.tif 000010
【図４】
2012169772.tif 000011
【図５】
2012169772.tif 000012
【図６】
2012169772.tif 000013
【図７】
2012169772.tif 000014
【図８】
2012169772.tif 000015
【図９】
2012169772.tif 000016
【図１０】
2012169772.tif 000017
【図１１】
2012169772.tif 000018
【図１２】
2012169772.tif 000019