画像処理装置及び画像処理方法、撮像装置及びその制御方法、プログラム、並びに記憶媒体
【課題】補間後の画像に対して、必要最小限の領域にのみぼかし処理を施すことにより、補間画像の違和感を軽減することができる補間処理技術の実現。
【解決手段】画像中の不要なオブジェクトを消去する機能を有する画像処理装置であって、画像を所定の単位で分割した各領域の撮影位置からの距離情報を取得する取得手段と、前記画像中の不要なオブジェクトを指定するための指定手段と、前記指定手段により指定された不要なオブジェクトの領域に、周辺領域の画素値を用いて補間処理を施す補間手段と、前記補間手段により補間処理を施した画像を表示する表示手段と、前記画像中の特定の領域に対してぼかし処理を施す画像処理手段と、を有し、前記画像処理手段は、前記補間処理に利用した周辺領域の距離情報に応じて、前記ぼかし処理を施す領域を決定する。
【解決手段】画像中の不要なオブジェクトを消去する機能を有する画像処理装置であって、画像を所定の単位で分割した各領域の撮影位置からの距離情報を取得する取得手段と、前記画像中の不要なオブジェクトを指定するための指定手段と、前記指定手段により指定された不要なオブジェクトの領域に、周辺領域の画素値を用いて補間処理を施す補間手段と、前記補間手段により補間処理を施した画像を表示する表示手段と、前記画像中の特定の領域に対してぼかし処理を施す画像処理手段と、を有し、前記画像処理手段は、前記補間処理に利用した周辺領域の距離情報に応じて、前記ぼかし処理を施す領域を決定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像中から不要なオブジェクトを消去した領域の補間処理技術に関する。
【背景技術】
【0002】
従来、画像上のシミや汚れの除去や、欠損の補修などが行われている。また、シミや汚れではないが、ユーザが存在してほしくない柱や電線などのオブジェクトを除去してユーザ所望の画像に仕上げる処理なども行われている。これらの処理は、まず、除去や補修などの対象となる領域(以下、補間領域)を手動指定または自動検出により特定し、特定された補間領域の各画素に対して元の画素値の代わりとなる新たな画素値を求めて挿入する(以下、画像補間)ことによって実現される。
【0003】
画像補間方法としては、例えば、特許文献1のように、補間領域に属さない領域(以下、既知領域)内の画素の画素値を用いて補間領域内の画素の新たな画素値を求めることができる。具体的には、補間領域の縁辺上に所定のサイズ(例えば3画素×3画素)のパッチを配置し、配置されたパッチ内における既知領域の画素値の平均値を求めて、同じパッチ内における補間領域の画素の新たな画素値とするようにしている。
【0004】
一般的に、補間領域が小さく、補間領域の周辺領域が単純な構造である場合には、画像補間を実施した画像(以下、補間画像)は視覚的に自然である可能性が高い。一方、補間領域が大きく、補間領域の周辺領域における色や構造が複雑である場合には、誤推定する可能性が高くなり、その結果、視覚的に違和感のある画像が生成される可能性がある。
【0005】
ここで補間領域に対してぼかしなどの画像処理を施すことで、補間画像の違和感を軽減することが可能である。特許文献2では、カメラによる静止画撮影時に、撮影画像の任意の領域に対してカメラからの奥行き距離を求めておき、奥行き距離が閾値以上の領域に対し、ぼかし処理を施す方法が提案されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平7−114639号公報
【特許文献2】特開2000−244810号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記特許文献2では、どの奥行き距離を基準にぼかし処理を施すかが記述されていないため、ぼかさなくてもよい領域をぼかしたり、ぼかす必要がある領域をぼかし損ねたりするおそれがある。また、ユーザがぼかし結果を確認しながら閾値を決定する方法は、大変煩わしい操作をユーザに強いることになる。
【0008】
本発明は、上記課題に鑑みてなされ、その目的は、補間後の画像に対して、必要最小限の領域にのみぼかし処理を施すことにより、補間画像の違和感を軽減することができる補間処理技術を実現することである。
【課題を解決するための手段】
【0009】
上記課題を解決し、目的を達成するために、本発明の画像処理装置は、画像中の不要なオブジェクトを消去する機能を有する画像処理装置であって、画像を所定の単位で分割した各領域の撮影位置からの距離情報を取得する取得手段と、前記画像中の不要なオブジェクトを指定するための指定手段と、前記指定手段により指定された不要なオブジェクトの領域に、周辺領域の画素値を用いて補間処理を施す補間手段と、前記補間手段により補間処理を施した画像を表示する表示手段と、前記画像中の特定の領域に対してぼかし処理を施す画像処理手段と、を有し、前記画像処理手段は、前記補間処理に利用した周辺領域の距離情報に応じて、前記ぼかし処理を施す領域を決定する。
【発明の効果】
【0010】
本発明によれば、補間後の画像に対して、必要最小限の領域にのみぼかし処理を施すことにより、補間画像の違和感を軽減することができる。
【図面の簡単な説明】
【0011】
【図1】本発明に係る実施形態の撮像装置のブロック構成図。
【図2】本実施形態の撮像装置の外観を示す背面図(a)及び上面図(b)。
【図3】レンズ位置と被写体距離の関係を示す図。
【図4】実施形態1の被写体距離取得までの処理を示すフローチャート。
【図5】実施形態1の被写体距離取得処理の説明図。
【図6】実施形態1の不要オブジェクトを指定・抽出する処理を示すフローチャート。
【図7】図6の不要オブジェクトの指定処理の説明図。
【図8】実施形態1の補間領域に対する画像補間処理を示すフローチャート。
【図9】図8の画像補間処理の説明図。
【図10】補間画像を例示する図。
【図11】実施形態1の補間画像に対するぼかし処理を示すフローチャート。
【図12】図11のぼかし処理の説明図。
【図13】実施形態2の補間画像に対するぼかし処理の説明図。
【図14】実施形態2の補間画像に対するぼかし処理を示すフローチャート(a)及び距離とスケールパラメータの関係を示す図(b)、(c)。
【図15】実施形態3の複数の不要オブジェクトを自動抽出する処理の説明図。
【図16】実施形態3の複数の不要オブジェクトを自動抽出する処理を示すフローチャート。
【図17】実施形態4の信頼度算出処理を示すフローチャート。
【図18】実施形態4の信頼度算出処理の説明図。
【図19】実施形態4の信頼度算出処理の説明図。
【図20】実施形態5のシステム構成図(a)、撮像装置の構成図(b)、GPSユニットの構成図(c)、GPSユニットの出力データフォーマットを例示する図(d)、(e)。
【図21】実施形態5のサーバのブロック構成図。
【図22】実施形態5の撮像装置の動作を示すフローチャート。
【図23】実施形態5の不要オブジェクトを指定・抽出する処理を示すフローチャート。
【図24】実施形態5の撮像装置の画像補間処理を示すフローチャート。
【図25】実施形態5のサーバの動作を示すフローチャート。
【図26】実施形態6の撮像装置の画像補間処理を示すフローチャート。
【発明を実施するための形態】
【0012】
以下に、本発明を実施するための形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、後述する各実施形態の一部を適宜組み合わせて構成しても良い。
【0013】
以下に、本発明の画像処理装置又は撮像装置を、電子シャッター方式のコンパクトデジタルカメラ(以下、カメラ)により実現した例について説明する。
【0014】
[実施形態1]実施形態1は、画像から物体(不要オブジェクト)を消去するとともに、消去後の領域を周辺領域の画素値を利用して補間する際に、補間結果が自然でない状況を考慮して、カメラからの距離に応じて撮像画像中の特定領域をぼかす処理を行う。
【0015】
<カメラの構成>まず、図1を参照して、本実施形態のカメラの構成について説明する。
【0016】
図1において、システムコントローラ100はカメラ全体の制御を司る機能を有し、後述する各部を制御して、ユーザの設定と操作に応じて画像を撮影し処理する。
【0017】
光学レンズユニット101は、絞り、ズーム、フォーカス機能を備える。光学制御ユニット102は、システムコントローラ100からの指示に従い、光学レンズユニット101を制御する。具体的には、光学レンズユニット101の絞り、ズーム、フォーカスを変更することができる。撮像素子103は、光学レンズユニット101を通過した光(画像)を電気信号に変換するための、CCDイメージセンサやCMOSイメージセンサが適用される。本実施形態では、横3072画素、縦2304画素の撮像素子を用いる。
【0018】
撮像制御ユニット104は、システムコントローラ100からの指示に従い、撮像素子103を制御する。具体的には、撮像素子103の感度調整(ゲインコントロール)、シャッター秒時に従った撮像素子103からのデータの読み取りなどを行う。
【0019】
ここで、光学制御ユニット102は、撮像素子103から出力されるコントラスト電圧が最大になるようにフォーカスモータを駆動してオートフォーカス(AF)機能を実現する。詳述すると、このAF機能は、レンズユニット101を移動して焦点位置を移動させていくと、撮像される画像のコントラストが変化していき、合焦位置でコントラストが最大になるという性質を利用している。また、光学制御ユニット102は、例えば、図3に示すような、レンズユニット101のレンズ位置と、被写体距離との関係を示す数式が位置−距離テーブルとして格納している。これにより、撮像素子103から出力されるコントラスト電圧が最大となる場合のレンズユニット101のレンズ位置に対応する被写体距離を、システムコントローラ100に出力することが可能である。
【0020】
記録媒体105は、画像データなどを格納するデバイスであり、例えばSDメモリカード・コンパクトフラッシュカード(登録商標)やメモリスティックなどのカード型で取り外し可能なメモリが用いられる。記録媒体105には、撮像制御ユニット104が出力する画像データ(RAWデータ)や、当該RAWデータから生成された画像データ(JPEGデータあるいはEXIFデータ)が格納される。
【0021】
ROM106は後述する実施形態の処理を実現する制御プログラムやプログラムが使用するデータを格納する不揮発性メモリである。カメラに電源が投入されると、システムコントローラ100はROM106からプログラムを読み込み、カメラの制御を開始する。
【0022】
RAM107は後述する実施形態の処理を実現する制御プログラムが作業領域として使用するための書き換え可能なメモリである。また、撮像制御ユニット104から出力される画像データを一時的に記憶するバッファとしても使用される。
【0023】
NVRAM108は、後述するUIユニット109でユーザの指定した設定値や、本実施形態のカメラがパワーサイクルを超えて保持する必要のあるパラメータを保持するための書き換え可能なメモリである。
【0024】
UI(ユーザインタフェース)ユニット109は、ユーザの操作画面を生成し、ユーザの操作指示をシステムコントローラ100に伝達する。UIユニット109は複数のボタン、ダイヤル、タッチパネルにより構成される。UIユニット109を構成するボタン、ダイヤル、タッチパネルについては図2を参照して後述する。
【0025】
表示ユニット110は、システムコントローラ100からの指示に従い、画像を表示するための液晶表示パネル(LCD)のようなディスプレイデバイスとそれをコントロールするディスプレイドライバからなる。本実施形態では、横320画素、縦240画素のLCDを用いる。タッチパネルの分解能は、表示ユニット110の画素数(横320画素、縦240画素)と一致するものとする。
【0026】
表示ユニット110には、カメラの各種設定を行うためのメニュー、撮像制御ユニット104が出力する画像(構図決定用のファインダとしての利用)、撮影画像(撮影画像の確認としての利用)、記録媒体105に格納された画像(画像ビューアとしての利用)が表示される。それぞれの画像には任意のグラフィクス画像を重畳して表示することが可能である。本実施形態では、重畳するグラフィクス画像の画素数は、表示ユニット110の画素数と同じとする。
【0027】
<カメラの外観構成>図2を参照して、本実施形態のカメラの外観構成について説明する。
【0028】
図2において、撮影ボタン201は、ユーザが半分程度押し込むことによりフォーカスロックを、さらに押し込むことにより撮像処理の開始をカメラに指示をすることができる。
【0029】
ズームボタン202は、ユーザが左右にスライドさせ、それに従って光学制御ユニット102がレンズユニット101を調整し、所望のズームを実現する。
【0030】
モードダイヤル203は、ユーザがこのダイヤルを回転させることによって、撮影したいシーンに適した動作をするようにカメラに指示することができる。例えば、全自動のオートモード・人物に好適なポートレートモード・風景に好適な風景モード・動きが速いものに好適なスポーツモード・暗い場所での撮影に適した夜景モードなどがある。
【0031】
表示ユニット110の液晶表示パネル204はタッチパネル式となっており、ユーザはタッチパネルに表示されたメニュー画像やボタン画像にタッチすることによって、カメラに指示を入力することができる。
【0032】
メニューボタン205は、液晶表示パネル204にメニューを表示するためのボタンである。ユーザがメニューボタン205を押すことによりメニュー画面を表示し、カメラの設定を行うことができる。
【0033】
上下左右ボタン206は、液晶表示パネル204に表示されたメニューを選択したり、記録媒体105に格納された画像データの中から、液晶表示パネル204に再生する画像を選択したりするための上下左右の各ボタン群からなる。ユーザは、上下左右ボタン206を操作することで、メニューから操作したい項目を選択したり、パラメータを入力・選択したりすることができる。
【0034】
再生ボタン207は、カメラを撮像モードから再生モードに切り替えるためのボタンであり、記録媒体105に格納された画像を液晶表示パネル204に再生させる際に使用する。
【0035】
他のボタン208〜212は、フラッシュの設定やマクロモードの設定などの各種動作を迅速に行うためのボタンである。また、メニューボタン205で表示するメニュー項目をワンタッチで呼び出すショートカットボタンとしても機能する。これらの機能は、本実施形態との関連性があまりないので、詳細な説明は行わない。
【0036】
<動作説明>次に、図4〜図12を参照して、本実施形態のカメラの動作について説明する。
【0037】
以下に述べる処理を行うためのプログラムはROM106に予め格納されており、システムコントローラ100が適宜読み出して実行する。
【0038】
図4(a)は、実施形態1の被写体距離を取得する処理を示すフローチャートである。
【0039】
図4(a)において、ステップS401では、撮像制御ユニット104は、レンズユニット101から入力され、撮像素子103で光電変換された画像データをシステムコントローラ100に出力する。
【0040】
ステップS402では、システムコントローラ100は、ステップS401で取得した画像データを液晶表示パネル204に構図決定用(プレビュー用)の画像として表示する。このとき、ステップS401で撮像制御ユニット104から出力した画像データは、液晶表示パネル204の解像度(320×240)に調整して表示することになる。
【0041】
ステップS403では、システムコントローラ100は、合焦指示の有無を確認する。具体的には、ユーザが撮影ボタン201を半押しした場合を合焦指示とみなす。合焦指示がなされた場合はステップS404に進み、撮影指示がない場合にはステップS401に戻り、構図決定用(プレビュー)の画像を更新する。
【0042】
ステップS404では、システムコントローラ100は、主被写体に対して合焦する過程において、撮像対象に対する距離情報を取得し、保存する。
【0043】
(距離情報取得)ここで、図4(b)を参照して、ステップS404での距離情報取得方法について説明する。まず、撮像素子103の画素を、1ブロックL×L画素として、M(X座標)×N(Y座標)のブロックに分割し、これと対応させて取り込んだ画像を図5(a)のようにブロック化する(ステップS415)。次に、レンズユニット101を焦点位置が無限遠になる位置に移動させた後(ステップS416)、焦点位置が小さくなる方向へレンズユニット101を1ステップずつ移動させ(ステップS417)、各ブロックの高周波成分を記憶する(ステップS418)。主被写体に対する合焦が完了するまで(ステップS419)、上記ステップS417〜ステップS418を繰り返す。その後、ブロックごとに記憶した高周波成分がピークとなるレンズ位置を算出し(ステップS420)、図3のレンズ位置と被写体距離の関係から各ブロックにおける距離を算出する(ステップS421)。距離情報は、図5(b)のようにブロックの座標と対応させて記録媒体105に格納する(ステップS422)。この距離情報は、画像データのヘッダ部に格納してもよいし、別ファイルとして、画像データに対応付けて保存してもよい。ここではブロック単位で距離情報を算出したが、L=1として画素単位に距離情報を算出してもよい。
【0044】
図4(a)に戻り、システムコントローラ100は、撮影指示の有無を確認する(ステップS405)。具体的には、ユーザが撮影ボタン201を押下した場合、あるいは、セルフタイマーが完了した場合を撮影指示とみなす。撮影指示がなされた場合はステップS406に進み、撮影指示がない場合にはステップS401に戻り、構図決定用(プレビュー)の画像を更新する。
【0045】
ステップS406では、システムコントローラ100は、撮像制御ユニット104を介して撮影指示時の画像データを取得し、EXIFファイル形式にして記録媒体105に保存する。
【0046】
<不要オブジェクトの指定・抽出>図6を参照して、撮像画像から不要オブジェクトを指定・抽出する処理ついて説明する。
【0047】
図6において、まず、ユーザの再生ボタン207押下により、カメラは再生モードに遷移する(ステップS601)。再生モードにおいて、システムコントローラ100は記録媒体105に格納された画像データを液晶表示パネル204に表示させる。ユーザは、上下左右ボタン206を操作して、液晶表示パネル204に表示したい画像を選択する(ステップS602)。次に、ユーザのメニューボタン205押下により、システムコントローラ100は、図7(a)のように、液晶表示パネル204に現在表示されている画像700に重畳させて、メニュー群701を表示させる。ここで、上下左右ボタン206の操作により、メニュー群701から物体消去モードボタン702を選択することで、カメラは物体消去モードに遷移する(ステップS603)。物体消去モードでは、液晶表示パネル204上でタッチパネルが有効になり、ユーザは画像700中から消去したい物体(ここでは物体710)を指定できる(ステップS604)。ここで、システムコントローラ100は、記録媒体105に格納された画像700に対応する画像データを読み出し、ユーザによって指定されたポイントから、当該画像における対応する座標(X0,Y0)を算出してRAM107に格納する。この座標を元に、画像中から消去対象となる物体の領域、すなわち補間領域を抽出する(ステップS605)。物体抽出方法については周知の方法を利用する。例えば、画像における座標(X0,Y0)の画素と、隣接する画素との画素値の差分を計算し、予め定めた閾値以下であれば、同一の物体領域と判定し補間領域に含める。あるいは、記録媒体105に格納された距離情報を利用して、画像における座標(X0,Y0)の画素と隣接する画素の中で、距離が等しい画素を同一の物体領域と判定し補間領域に含める。ここで抽出された領域の座標情報がRAM107に格納される(ステップS606)。
【0048】
<画像補間>図8を参照して、補間領域に対して実施する画像補間処理について説明する。
【0049】
図8において、まず、補間領域の最も外側に位置し、多くの既知領域の画素に囲まれている画素pを選択する(ステップS801)。補間領域と既知領域が、例えば、図9(a)のような配置であった場合、画素p11が画素pとなる。
【0050】
次に、画素pを含むN×NブロックBを作成する(ステップS802)。図9(b)では、N=5とし、画素pをブロックBの中心に配置しているが、Nの値、及び画素pの配置については任意である。次に、画素pの近傍領域Rにおいて、先程作成したブロックBとのブロックマッチングを実施する(ステップS803)。具体的には、近傍領域R内にブロックBを配置し、重なり合う画素の画素値の差分をそれぞれ算出した後、それらの平均値Eを算出する。ただし、ブロックBにおける補間領域に属する画素については、上記の計算の対象に含めない。図9(c)では、近傍領域Rを図のように指定しているが、近傍領域Rの大きさや位置は任意である。近傍領域Rにおいて、全てのブロックマッチングを実施した後、平均値Eが最小となるときのブロックBの位置に対応するブロックをブロックTする。さらに、ブロックTにおける、ブロックBの画素pの位置に対応する画素qの画素値を画素pに与える(ステップS804)。例えば、図9(d)のようにブロックTを決定した場合、画素qの位置は図9(d)のようになる。次に、画素pにおける距離データを画素qにおける距離データで更新し、記録媒体105に保存する(ステップS805)。最後に、補間領域から画素pを除去する(ステップS806)。これを、補間領域が存在しなくなるまで繰り返す(ステップS807)。
【0051】
このようにして画像補間が完了し、図10のように、画像中の物体710が消去された補間画像が得られ、記録媒体105に保存される。このとき、記録媒体105のメモリ容量を考慮して、画像補間実施前の画像を記録媒体105から消去してもよい。
【0052】
<ぼかし処理>図11を参照して、補間画像に対するぼかし処理について説明する。
【0053】
画像補間が完了すると、システムコントローラ100は、図12(a)のように、補間画像の縮小画像1200と、選択メニュー1201を液晶表示パネル204に表示させる(ステップS1101)。ここで、ユーザは、上下左右ボタン206を操作して、補間画像にぼかし処理を施すか否かを決定する(ステップS1102)。ぼかし処理を実施しない場合(No)、処理を終了する。ぼかし処理をする場合(Yes)、上記画像補間処理において更新された距離データを記録媒体105から読み出す(ステップS1103)。読み出した距離データと補間画像の関係を図12(b)に示す。図12(b)では、補間画像に対し、距離データの一部をブロック毎に付記している。また、図12(b)の太線1202は、補間領域を含むブロック群である。本実施形態のぼかし処理では、まず、ブロック群1202が有する距離データの中で、ぼかし処理を施す基準となる距離Dを決定する(ステップS1104)。
【0054】
ここでは、距離D以上のブロックに対しぼかし処理を施すため、ブロック群1202が有する距離データの中から最小の距離(9m)を選択する。この距離Dを基準に、ブロック毎にぼかし処理を施す。ブロック毎のぼかし処理では、まず、ブロックの座標(X,Y)を初期値(0、0)に設定する(ステップS1105)。次に、距離データF(X,Y)と距離Dを比較し(ステップ1106)、距離データF(X,Y)が距離D以上の場合に、座標(X,Y)のブロックに対し、ぼかし処理を施す(ステップS1107)。具体的には、座標(X,Y)のブロックに対し、ローパスフィルタを適用する。このとき、距離が大きいブロックに対しては、ローパスフィルタのスケールパラメータをより大きく設定することにより、ぼかし処理の強度を強くする。これにより、カメラからの距離が遠いほど、ぼかしが強くなり、あたかも被写界深度の浅い画像が生成できる。一方、距離データF(X,Y)が距離Dより小さい場合は、ぼかし処理を行わずにステップS1108へ移行する。ステップS1108では、被写体のブロック(X,Y)のX座標をインクリメントして次の列に座標を移動する処理を行い、次いで、Xの値がM未満であるか否かを判断する(ステップS1109)。Xの値がM未満である場合はステップS1106に移行する一方、Xの値がM以上である場合には、ステップS1110に移行する。
【0055】
ステップS1110では、被写体のブロック(X,Y)のY座標をインクリメントして次の行に座標を移動する処理を行うと共に、Xの値を0として座標を列の先頭に指定する処理を行う。ステップS1111では、Yの値がN未満であるか否かを判断し、Yの値がN未満である場合は、ステップS1106に移行する一方、Yの値がN以上である場合には、本処理を終了する。
【0056】
上述したようにぼかし処理を施された画像は、新たに記録媒体105に格納される。このとき、記録媒体105のメモリ容量を考慮して、補間画像を記録媒体105から消去してもよい。
【0057】
このように、本実施形態によると、補間画像に対して、必要最小限の領域にのみぼかし処理を施すことにより、補間画像の違和感を軽減することが可能である。さらに、画像の距離情報に応じてぼかし処理の強度を変更することにより、あたかも被写界深度の浅い画像が生成可能である。
【0058】
[実施形態2]次に、実施形態2として、補間画像に対してぼかし処理を実施する例について説明する。
【0059】
実施形態1では、画像補間により挿入する画素値の算出に利用した領域が有する距離以上の距離を有する領域に対してぼかし処理を施した。一方、図13の画像1300のように、消去対象の物体1310(自動車)よりもカメラに近い位置に主被写体ではない物体1320(噴水)が存在する場合が考えられる。実施形態2では、物体1320の領域、つまり、画像補間により挿入する画素値の算出に利用した領域が有する距離以下の距離を有する領域に対してもぼかし処理を施すことで、ぼかし処理による画像の急激な変化を回避可能である。
【0060】
なお、本実施形態のカメラの構成や外観は、実施形態1と同様である。また、カメラにより撮像した画像から消去対象物体を選択し、その領域に画像補間を実施する方法も実施形態1と同様である。
【0061】
図14は、補間画像に対してぼかし処理を実施するフローチャートである。以下に述べる処理を行うためのプログラムはROM106に予め格納されており、システムコントローラ100が適宜読み出して実行する。
【0062】
図14のステップS1401〜S1405は、図11のステップS1101〜S1105と同様である。ステップS1406では、実施形態1における、距離Dのブロックに適用するローパスフィルタのスケールパラメータを基準に、図14(b)のようにスケールパラメータを変化させて各ブロックにローパスフィルタを適用する。ただし、図14(b)における距離D0は、主被写体を含むブロックの距離であり、主被写体に対してぼかし処理を実施しないようにする。ここでのスケールパラメータは、図14(c)のようにステップ状に変化させてもよい。その後の処理ステップS1407〜S1410は、図11のステップS1108〜S1111と同様である。
【0063】
このように、補間後の画像に対して、ぼかし処理による画像の急激な変化を抑えることにより、画像が不自然になるのを防ぐことが可能である。
【0064】
[実施形態3]次に、実施形態3として、複数の不要オブジェクトを自動抽出し消去する処理について説明する。
【0065】
実施形態1では、消去したい物体(不要オブジェクト)が1つであったが、図15のように、消去したい物体(1510、1511、1512、1513)が複数存在する場合も想定される。このため、実施形態3では、消去したい物体1510を1つ指定したときに、物体1510と同距離に存在する物体を全て消去したい物体として自動抽出することで、ユーザが不要オブジェクトを指定する手間を低減できる。
【0066】
なお、本実施形態のカメラの構成や外観は、実施形態1と同様である。
【0067】
図16は、複数の物体を自動抽出する処理を示すフローチャートである。以下に述べる処理を行うためのプログラムはROM106に予め格納されており、システムコントローラ100が適宜読み出して実行する。
【0068】
図16において、まず、1つ目の消去したい物体1510をユーザが指定する(ステップS1601)。この指定方法は、図6におけるステップS601〜S604と同様である。次に、カメラから物体1510までの距離Zを記録媒体105から読み出す(ステップS1602)。この距離Zと等しいブロックを物体領域として抽出する。物体抽出では、まず、ブロックの座標(X,Y)を初期値(0、0)に設定する(ステップS1603)。次に、距離データF(X,Y)と距離Zを比較し(ステップ1604)、距離データF(X,Y)が距離Zと等しい場合に、補間領域としてブロック(X,Y)の座標をRAM107に格納する(ステップS1605)。一方、距離データF(X,Y)が距離Zと異なる場合には、ステップS1606へ移行する。ステップS1606では、被写体のブロック(X,Y)のX座標をインクリメントして次の列に座標を移動する処理を行う。次に、Xの値がM未満であるか否かを判定する(ステップS1607)。Xの値がM未満である場合はステップS1604に移行する一方、Xの値がM以上である場合には、ステップS1608に移行する。ステップS1608では、被写体のブロック(X,Y)のY座標をインクリトして次の行に座標を移動する処理を行うと共に、Xの値を0として座標を列の先頭に指定する処理を行う。次に、ステップS1609で、Yの値がN未満であるか否かを判断し、Yの値がN未満である場合は、ステップS1604に移行する一方、Yの値がN以上である場合には、物体抽出を終了する。
【0069】
このように、同じ距離に存在する物体を全て不要オブジェクトとして抽出することで、ユーザの手間を低減することが可能である。
【0070】
[実施形態4]次に、実施形態4として、信頼度に応じてぼかし処理の実施の是非を判定する処理について説明する。
【0071】
実施形態4では、補間画像が視覚的に違和感があるかどうかをユーザに通知することができる。
【0072】
なお、本実施形態のカメラの構成や外観は、実施形態1と同様である。
【0073】
図17は、画像から信頼度を算出する処理を示すフローチャートである。以下に述べる処理を行うためのプログラムはROM106に予め格納されており、システムコントローラ100が適宜読み出して実行する。
【0074】
図17において、まず、補間領域の周辺領域の大きさを決定する(ステップS1701)。一般的に画像補間は、補間領域に隣接する領域の画素値を利用して補間を実施する。また、カメラから補間領域の本来の背景までの距離と、カメラから補間領域に隣接する領域の背景は一致する可能性が高いと考えられるため、画像補間に利用する領域は、補間領域に隣接する領域と同距離の領域であることが望ましい。このことから、本実施形態において特徴量を抽出する補間領域の周辺領域は、補間領域からの距離がL画素の範囲に存在し(Lは任意)、カメラからの距離が、補間領域に隣接する画素もしくはブロックが有する距離と同距離である領域とする。ここでは、図18における太線で囲まれた領域から補間領域(車の存在する領域)除いた領域とする。
【0075】
次に、信頼度算出に用いる特徴量として、補間領域の面積Sと、補間領域の周辺領域の乱雑度Nを抽出する(ステップS1702、S1703)。ここでは、補間領域の画素数を面積Sとし、補間領域の周辺領域から以下の方法で算出したエントロピーを乱雑度Nとする。まず、エッジ強度の閾値Tを0とし(ステップS1704)、補間領域の周辺領域における注目画素を中心とする3×3領域において、入力画像の各画素にガウシアン関数の水平方向1次微分フィルタ
【0076】
【数1】
【0077】
と、垂直方向1次微分フィルタ
【0078】
【数2】
【0079】
を畳み込み処理することで、エッジ強度とエッジ方向を抽出する(ステップS1705)。ただし、式1,式2において、iは水平方向の画素位置、jは垂直方向の画素位置である。次に、注目画素を中心とする3×3領域内で、各画素のエッジ強度が閾値Tより大きい場合に、縦軸が頻度値で、横軸が角度であり22.5度を1単位としている頻度値グラフを生成する(ステップS1706)。この頻度値グラフの分布の特徴をエントロピー(式3)によって求める(ステップS1707)。
【0080】
【数3】
【0081】
ただし、式3において、Hはエントロピー量、p(xi)はヒストグラムにおける各範囲xiの確率である。次に、エントロピーHが0か否かを判定し(ステップS1708)、エントロピーHが0ではない場合、エントロピーHと閾値Tの値を保存した後、閾値Tの値を増加させてステップS1705に戻る。一方、Hが0の場合、縦軸がエントロピー量、横軸が閾値Tのグラフを生成し、このグラフに対する積分値を計算する。以上の計算を周辺領域の全画素において行い(ステップS1711)、各画素に対する積分値の合計を乱雑度Nとする(ステップS1712)。ここで求めた補間領域の面積Sと補間領域の周辺領域の乱雑度Nから、式4により信頼度Cを計算する(ステップS1713)。信頼度Cの値が大きいほど、補間画像が視覚的に自然である可能性が高いとする。
【0082】
【数4】
【0083】
式4において、P(S)は、図19(a)のように、Sの値に反比例する関数である。P(S)の関数形状は、補間領域の面積Sの値が小さいほど補間画像は視覚的に自然である可能性が高いという性質を考慮している。一方、Q(N)は、図19(b)のように、Nが所定の値N0のときにピーク値を取る関数である。Q(N)の関数形状は、乱雑度Nの値が小さい場合には、補間領域の周辺領域が有する色数は少なく、単純な構造で構成されている可能性が高いという性質を考慮している。また、乱雑度Nの値が大きい場合には、補間領域の周辺領域が、森や海のような、パターンは複雑ではあるが、一般的に画像補間結果が視覚的に自然になる領域である可能性が高いという性質を考慮している。
【0084】
最後に、信頼度Cが閾値Z以上であれば、補間画像が視覚的に自然なものになると判定する。一方、信頼度Cが閾値Z未満であれば、補間画像が視覚的に違和感あるものになると判定する。後者と判定された場合、液晶表示パネル204に「補間結果が不自然になる可能性があります」や「撮り直しをお勧めします」等のメッセージを表示する。
【0085】
ここでは、画素値から乱雑度を算出したが、画素値を輝度成分や彩度成分に分離した上で、各成分に対し乱雑度を算出してもよい。また、上述した例では信頼度算出に用いる画像の特徴量として、補間領域の面積と補間領域の周辺領域の乱雑度を挙げて説明したが、これに限られない。他の例として、補間領域の周辺領域の輝度分布、コントラスト、テクスチャの規則性、補間領域の面積と補間領域の周辺領域におけるテクスチャが規則的な領域の面積の比などを組み合わせて利用することができる。
【0086】
このように、実施形態4によれば、画像中の補間領域に対して実際に画像補間を実施せずに、画像補間結果が視覚的に違和感ある画像となるか否かをユーザに通知可能となる。
【0087】
[実施形態5]次に、実施形態5として、カメラ側で生成した補間画像をプレビュー表示するとともに、カメラに通信可能に接続されたサーバが画像処理装置として補間画像を生成し、カメラに送信する処理について説明する。
【0088】
実施形態5では、カメラ側で素早く補間画像をプレビュー表示できるとともに、補間領域が比較的大きい場合であっても、サーバ側で高品質な補間画像が生成可能となる。
【0089】
<システム構成>まず、図20を参照して、本実施形態のシステム及びカメラの構成について説明する。
【0090】
図20(a)において、カメラ2000が画像サーバ2100とネットワーク2200を介して接続され、画像データ等の送受信を行う。画像サーバ2100は、様々な時刻・場所で撮影された画像を格納すると共に、それらの画像を用いて、複数枚画像による画像補間を実施することが可能である。
【0091】
なお、本実施形態のカメラの構成や外観は、以下に説明する構成を除き、実施形態1と同様である。
【0092】
図20(b)において、通信ユニット111は、不図示のアンテナ、ベースバンド部、RF部からなる。システムコントローラ100は通信ユニット111を制御することにより、無線LAN規格に適合したパケットを送受信することが可能である。
【0093】
GPSユニット112は、GPS衛星から送信される信号に基づき、カメラの位置を算出(測位)する。GPSユニット112は、システムコントローラ100に対し、算出したカメラの緯度・経度・高度・対地速度・移動方向・測位時刻を出力する。
【0094】
図20(c)は、GPSユニットの構成図である。
【0095】
図20(c)において、アンテナ部121はGPS衛星からの信号を受信する。GPSRF処理部122はアンテナ部121により受信されたGPS衛星の信号(RF信号)からノイズ等を取り除き、周波数の高いRF信号を処理に適した低い周波数(ベースバンド)に変換して出力する。GPSベースバンド処理部123はGPSRF処理部122が出力するベースバンド信号をデコードし、緯度・経度などの情報を算出する。また、GPSベースバンド処理部123はシステムコントローラ100と通信するためのインターフェースを搭載し、システムコントローラ100からの要求に応じてGPSにかかわる情報を出力する。
【0096】
GPSベースバンド処理部123は上記情報を複数のフォーマットで出力することが可能であり、図20(d)、(e)はそのフォーマットを例示している。
【0097】
図20(d)において、131は測位した時刻の世界協定時(UTC)を示したもの、132は測位データが有効か無効かを示すステータス、133は緯度、134は経度、135は地面に対する移動速度である。また、136は真北を基準とした地面に対する進行方向、137は測位した日付を世界協定時(UTC)で示したもの、138はデータ131〜137が破損していないかどうかを検査するためのチェックサムである。
【0098】
図20(e)において、141は測位した時刻の世界協定時(UTC)を示したもの、142は緯度、143は経度、144は受信不能・単独測位・相対測位(DGPS)の3つで示される測位状態、145はGPS信号を受信している衛星の数である。また、146はHDOP(Horizonal Dilution of precision)と呼ばれる水平誤差を表す値である。さらに、147は海抜高度、148はジオイド体を基準とした高度、149は141〜148のデータが破損していないかどうかを検査するためのチェックサムである。
【0099】
図2において、本実施形態のカメラは、GPS受信部を有し、GPS信号を受信するアンテナ部121はGPS受信部内部に格納されており、GPS衛星から送信される信号を受信する。なお、無線LANアンテナはカメラに内蔵されており、図示していない。
【0100】
図21は画像サーバ2100の構成図である。
【0101】
図21において、システムコントローラ401は画像サーバ2100全体の制御を司り、後述する各部を制御して、ユーザの設定と操作に応じて画像を処理する。
【0102】
記録媒体402はハードディスクなどであり、システムコントローラ401からの指示に従い、データを保持する。記録媒体402には、様々な時刻・場所で撮影された画像が格納されている。
【0103】
RAM403は画像サーバ2100を制御するプログラムが作業領域として使用するための書き換え可能なメモリである。
【0104】
ROM404は画像サーバ2100を制御するプログラムとプログラムが使用するデータを格納する。画像サーバ2100に電源が投入されると、システムコントローラ401はROM404からプログラムを読み込み、画像サーバ2100の制御を開始する。
【0105】
システムコントローラ401は、ROM404に格納されたプログラムに従い、記録媒体402に格納された画像データを読み出し、複数枚画像による画像補間処理を実施する。
【0106】
NVRAM406は、画像サーバ2100がパワーサイクルを超えて保持する必要のあるパラメータを保持するための書き換え可能な不揮発性メモリである。
【0107】
通信部407は、イーサーネット(登録商標)等の有線LANネットワークに対し、イーサーネットケーブルを介して接続する。
【0108】
<動作説明(カメラ)>次に、図22〜図24を参照して、本実施形態のカメラの動作について説明する。
【0109】
以下に述べる処理を行うためのプログラムはROM106に予め格納されており、システムコントローラ100が適宜読み出して実行する。
【0110】
図22(a)において、ステップS2201では、カメラで被写体を撮影する。ステップS2202では、液晶表示パネル204に表示された画像から、ユーザが不要なオブジェクトを指定する。ステップS2203では、ステップS2202において指定された不要オブジェクト領域に対し、画像補間を実施する。
【0111】
図22(b)は、ステップS2201における画像撮影処理を示すフローチャートであるが、ステップS2211〜S2214は、図4(a)のステップS401〜S405と同様である。すなわち、ステップS2214で撮像指示がなされた場合、システムコントローラ100は、撮像制御ユニット104により撮影指示時の画像データを取得するとともに、GPSユニット112からGPS情報を取得する(ステップS2215)。その後、画像データとGPS情報をEXIFファイル形式にして記録媒体105に保存する(ステップS2216)。
【0112】
<不要オブジェクトの指定>図23を参照して、撮像画像から不要オブジェクトを指定する処理について説明する。
【0113】
図23は、図22(a)のステップS2202における不要オブジェクトを指定する処理を示すフローチャートであるが、ステップS2301〜S2307は、図6のステップS601〜S606と同様である。すなわち、システムコントローラ100は、図7に示す画像700の縮小前の画像を記録媒体105から読み出し、画像700中の(x0,y0)に対応する座標(X0,Y0)を算出してRAM107に格納する(ステップS2308)。具体的には、以下の式により(X0,Y0)は算出される。
【0114】
X0=x0×(3702/320)
Y0=y0×(2304/240)
システムコントローラ100は、この座標を元に、画像700の縮小前の画像からも、補間領域を抽出し(ステップS2309)、その座標情報をRAM107に別途格納する(ステップS2310)。
【0115】
<画像補間>図24を参照して、図22(a)の画像補間処理について説明する。
【0116】
ここでは、縮小前の画像を画像サーバ2100側で、縮小後の画像をカメラ2000側で、それぞれ異なる画像補間手段を用いて画像補間を実施する。
【0117】
図24は、カメラ2000から画像サーバ2100へ、補間領域を含む画像を送信する処理を示すフローチャートであり、画像サーバ2100のIPアドレスは既にカメラ2000側に設定されているものとする。カメラ2000に画像サーバ2100のIPアドレスを設定する方法としては、カメラのメニューボタン205を操作して画像サーバ2100のIPアドレスを設定する画面に遷移し、ボタン206でIPアドレスを直接入力してもよい。あるいは、画像サーバ2100の情報が記録されたパーソナルコンピュータ(PC)を、USBケーブルを介してカメラと接続し、画像サーバ2100のIPアドレスをPCからカメラへ転送するようにしてもよい。
【0118】
ステップS2401では、カメラ2000から画像サーバ2100へ、接続要求を送信する。
【0119】
ステップS2402では、カメラ2000のシステムコントローラ100は、画像サーバ2100から接続許可を受信したか否かを判定する。ここで、カメラ2000が画像サーバ2100から接続許可を受信した場合には、ステップS2403へ、一定時間経過しても接続許可を受信できなかった場合にはステップS2414へ進む。
【0120】
ステップS2403では、カメラ2000から画像サーバ2100へ、補間領域を含む画像を、補間領域の座標情報とともに送信する。画像サーバ側では、これらのデータを受信し、複数枚による画像補間処理を実施する。画像サーバ2100側の処理については後述する。
【0121】
ステップS2404では、システムコントローラ100は、表示用に縮小した画像に対し、1枚画像による画像補間を実施する。この1枚画像による画像補間処理は、図8で説明した通りである。なお、縮小前の画像における既知領域の情報は、縮小画像よりも情報量が豊富であるため、記録媒体105から縮小前の画像を読み出し、画像補間に利用してもよい。これにより、より視覚的に自然な補間画像が得られる。なお、一枚画像による画像補間は上記の方法のみに限定されず、他の公知の手段を用いても良い。
【0122】
ステップS2405では、ステップS2404において得られた補間画像を液晶表示パネル204に表示する。これにより、不要オブジェクトが削除された画像をユーザが閲覧することが可能になる。
【0123】
ステップS2406では、システムコントローラ100は、送信した補間画像を含む画像に対し、画像サーバ2100において複数枚画像による画像補間が実施された画像を、画像サーバ2100から受信したか否かを判定する。受信が完了している場合にはステップS2408へ進み、受信が完了していない場合には、ステップS2407へ進む。
【0124】
ステップS2407では、システムコントローラ100は補間画像の受信待ちを開始してから一定時間経過したか、または、画像サーバ2100から、画像補間が完了しなかった旨のメッセージを受信したか否かを判定する。この条件が成立した場合(Yes)には、ステップS2414へ進み、不成立の場合(No)には、ステップS2406へ進む。
【0125】
ステップS2408では、システムコントローラ100は、液晶表示パネル204に選択ダイアログを表示するなどして、受信した画像データを液晶表示パネル204に表示させるか否かをユーザに問い合わせする。ここで、ユーザがYesを選択した場合にはステップS2409へ進み、Noを選択した場合には本処理を終了する。
【0126】
ステップS2409では、システムコントローラ100は、受信した画像を、液晶表示パネル204に表示可能なサイズ(横320画素、縦240画素)に縮小する。
【0127】
ステップS2410では、ステップS2409で縮小した画像を液晶表示パネル204に表示することで、1枚画像による画像補間の補間結果を複数枚画像による画像補間の補間結果に置き換える。これにより、複数枚画像による画像補間の結果を、液晶表示パネル204を介してユーザに提示することができる。
【0128】
ステップS2411では、カメラは、液晶表示パネル204に選択ダイアログを表示するなどして、受信した画像データを記録媒体105へ保存するか否かをユーザに問い合わせする。ここで、ユーザがYesを選択した場合にはステップS2412へ進み、Noを選択した場合にはステップS2413へ進む。
【0129】
ステップS2412では、システムコントローラ100は、受信した画像データを記録媒体105へ保存する。このとき、記録媒体105の容量を圧迫しないために、画像サーバ2100へ送信した補間領域を含む画像を記録媒体105から削除してもよい。
【0130】
ステップS2413では、システムコントローラ100は、ステップS2404において得られた補間画像を液晶表示パネル204に再度表示し、本処理を終了する。
【0131】
一方、ステップS2414では、画像サーバ2100に接続できなかった旨や、補間画像を受信できなかった旨を液晶表示パネル204に表示することでユーザに通知し、本処理を終了する。
【0132】
なお、ユーザ負荷を軽減するため、ステップS2408、S2411におけるユーザの選択を省略し、受信した画像を自動的に表示、保存してもよい。
【0133】
<動作説明(画像サーバ)>次に、図25を参照して、本実施形態の画像サーバの動作について説明する。
【0134】
以下に述べる処理を行うためのプログラムはROM404に予め格納されており、システムコントローラ401が適宜読み出して実行する。
【0135】
図25において、ステップS2501では、システムコントローラ401はカメラ2000から接続要求を受信する。
【0136】
ステップS2502では、システムコントローラ401はカメラ2000に対し接続許可を送信する。
【0137】
ステップS2503では、システムコントローラ401は、カメラ2000から、補間領域を含む画像及び補間領域の座標情報を受信したか否かを判定する。ここで情報を受信した場合にはステップS2504へ進み、受信していない場合には、情報を受信するまで待つ。
【0138】
ステップS2504では、システムコントローラ401は、補間領域を含む画像のEXIF情報から、撮影日時情報と撮影位置情報を含む属性情報を取得する。
【0139】
ステップS2505では、システムコントローラ401は、記録媒体402に、ステップS2504において取得した撮影位置が一致又は重複する画像が存在するか否かを判定する。ここで画像が存在する場合、ステップS2506へ、存在しない場合、ステップS2510へ進む。
【0140】
ステップS2506では、システムコントローラ401は、ステップS2505において取得した画像から、更に撮影日時が近似した画像が存在するか否かを判定する。ここで画像が存在する場合、ステップS2507へ、存在しない場合、ステップS2510へ進む。
【0141】
ステップS2507では、システムコントローラ401は、ステップS2505、S2506において絞り込まれた画像、すなわち、補間領域を含む画像と撮影位置及び撮影日時が近似した複数枚の画像を用いて画像補間を実施する。複数枚画像による画像補間は、公知の方法を用いて実施する。例えば、複数枚画像から、特開2008−046750号公報に記載されているような、一般的な特徴点抽出方法であるHarrisオペレータ等を用いて特徴点を抽出し、画像間の特徴点の対応付けを行う。その後、特徴点の対応から射影変換行列を推定し、画像を変形することで画像の位置合わせを行う。ここで、補間領域を含まない画像から補間領域の座標に対応する座標の画素値を取得し、補間領域に挿入することで画像補間が実施できる。
【0142】
なお、複数枚画像による画像補間は上述した方法のみに限定されず、他の公知の手段を用いても良い。
【0143】
ステップS2508では、システムコントローラ401は、ステップS2507における画像補間の結果、補間領域の全画素に対し、画素値が挿入されたか否かを判定する。補間領域の全画素に画素値が挿入されていればステップS2509へ、補間領域の全画素に対し画素値が挿入されていなければ、ステップS2510へ進む。
【0144】
ステップS2509では、システムコントローラ401は、補間画像をカメラ2000へ送信し、本処理を終了する。
【0145】
また、ステップS2510では、システムコントローラ401は、現在画像サーバに存在する画像を用いても、画像補間が完了しなかった旨をカメラ2000へ送信し、本処理を終了する。
【0146】
なお、ステップS2508において、全画素に対する画像補間が完了しなかった場合においても、補間領域が小さくなることで、カメラ側で視覚的に自然な画像補間が達成できる可能性が高まることが考えられる。そのため、一部でも補間領域に画素が挿入された場合には、補間画像をカメラへ送信するようにしてもよい。
【0147】
また、本実施形態では、複数枚画像による画像補間に使用する画像を選択する際の条件として、撮影日時と撮影位置を用いたが、季節や天気などの情報も利用することで、より撮影時の環境に近い画像を抽出することが可能になる。これにより、より視覚的に自然な画像補間を実現できる。
【0148】
画像サーバから受信した補間画像についてユーザが気に入らなかった場合を考慮し、ステップS2406の後、補間画像を許容するか否かをユーザに問い合わせるようにしてもよい。またユーザがNoを選択した場合には、補間画像を記録媒体105に保存しないようにしてもよい。これにより、記録媒体105のメモリ容量を節約することができる。
【0149】
本実施形態によれば、カメラ側で素早く補間画像を表示できるとともに、不要オブジェクトの領域が比較的大きくても、高品質な補間画像が生成可能となる。
【0150】
[実施形態6]次に、実施形態6として、図17のように算出した信頼度が閾値以上であれば画像サーバへ画像を送信しない処理について説明する。
【0151】
実施形態5では、画像中の不要オブジェクトが指定された場合に、当該指定画像を画像サーバへ送信する場合について説明した。実施形態6では、画像中の補間領域が比較的小さく、1枚画像による画像補間でも視覚的に自然な画像が生成可能な場合など、指定画像の画像サーバへの送信を省略できる場合について説明する。
【0152】
なお、本実施形態の画像サーバやカメラの構成や外観は、実施形態5と同様である。
【0153】
以下に述べる処理を行うためのプログラムはROM106に予め格納されており、システムコントローラ100が適宜読み出して実行する。
【0154】
<動作説明(カメラ)>図26を参照して、補間領域を含む画像に対する補間処理について説明する(他の処理は実施形態5と同様であるため省略する)。
【0155】
図26において、補間領域を抽出した後、補間領域を含む画像の、画像サーバへの送信が不要と判定された場合、カメラ側でのみ画像補間を実施する。一方、補間領域を含む画像の、画像サーバへの送信が必要と判定された場合には、実施形態5と同様の処理を実施する。
【0156】
ステップS2601では、システムコントローラ100は、画像中の補間領域と、その周辺領域から抽出した特徴量を基に信頼度を算出する。画像から信頼度を算出する方法は、図17〜19で述べた通りである。
【0157】
ステップS2602ではシステムコントローラ100は、、ステップS2601において得られた信頼度と所定の閾値とを比較する。信頼度が所定の閾値以上の場合、1枚画像による画像補間でも視覚的に自然な画像が生成可能と判定し、ステップS2614へ進む。一方、信頼度が所定の閾値未満の場合、1枚画像による画像補間では、視覚的に自然な画像補間が達成できないと判定し、ステップS2603へ進む。
【0158】
ステップS2603〜S2616は、図24のステップS2401〜S2414と同様である。
【0159】
ステップS2617では、システムコントローラ100は、表示用に縮小する前の画像に対し、1枚画像による画像補間を実施する。画像補間の方法は実施形態5と同様である。
【0160】
ステップS2618では、システムコントローラ100は、ステップS2617において得られた補間画像を、液晶表示パネル204に表示可能なサイズ(横320画素、縦240画素)に縮小する。
【0161】
ステップS2619では、システムコントローラ100は、ステップS2618において縮小した画像を液晶表示パネル204に表示し、本処理を終了する。
【0162】
本実施形態によれば、不要オブジェクトとして指定された補間領域について信頼度を算出することにより、画像サーバへの不要な画像送信を抑制することが可能である。
【0163】
上述した各実施形態においては、本発明をカメラなどの撮像装置に適用した例にして説明したが、これに限定されない。すなわち、本発明は、撮像手段を持たず、表示用ディスプレイが小さいスマートフォンやPDA等の画像処理装置にも適用可能である。この場合には、既にGPS情報を有する画像がサーバ側に転送されており、図22のS2202、S2203の処理を実行することで、実施形態5,6と同等の効果が得られる。
【0164】
[他の実施形態]本発明は、以下の処理を実行することによっても実現される。即ち上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【技術分野】
【0001】
本発明は、画像中から不要なオブジェクトを消去した領域の補間処理技術に関する。
【背景技術】
【0002】
従来、画像上のシミや汚れの除去や、欠損の補修などが行われている。また、シミや汚れではないが、ユーザが存在してほしくない柱や電線などのオブジェクトを除去してユーザ所望の画像に仕上げる処理なども行われている。これらの処理は、まず、除去や補修などの対象となる領域(以下、補間領域)を手動指定または自動検出により特定し、特定された補間領域の各画素に対して元の画素値の代わりとなる新たな画素値を求めて挿入する(以下、画像補間)ことによって実現される。
【0003】
画像補間方法としては、例えば、特許文献1のように、補間領域に属さない領域(以下、既知領域)内の画素の画素値を用いて補間領域内の画素の新たな画素値を求めることができる。具体的には、補間領域の縁辺上に所定のサイズ(例えば3画素×3画素)のパッチを配置し、配置されたパッチ内における既知領域の画素値の平均値を求めて、同じパッチ内における補間領域の画素の新たな画素値とするようにしている。
【0004】
一般的に、補間領域が小さく、補間領域の周辺領域が単純な構造である場合には、画像補間を実施した画像(以下、補間画像)は視覚的に自然である可能性が高い。一方、補間領域が大きく、補間領域の周辺領域における色や構造が複雑である場合には、誤推定する可能性が高くなり、その結果、視覚的に違和感のある画像が生成される可能性がある。
【0005】
ここで補間領域に対してぼかしなどの画像処理を施すことで、補間画像の違和感を軽減することが可能である。特許文献2では、カメラによる静止画撮影時に、撮影画像の任意の領域に対してカメラからの奥行き距離を求めておき、奥行き距離が閾値以上の領域に対し、ぼかし処理を施す方法が提案されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平7−114639号公報
【特許文献2】特開2000−244810号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記特許文献2では、どの奥行き距離を基準にぼかし処理を施すかが記述されていないため、ぼかさなくてもよい領域をぼかしたり、ぼかす必要がある領域をぼかし損ねたりするおそれがある。また、ユーザがぼかし結果を確認しながら閾値を決定する方法は、大変煩わしい操作をユーザに強いることになる。
【0008】
本発明は、上記課題に鑑みてなされ、その目的は、補間後の画像に対して、必要最小限の領域にのみぼかし処理を施すことにより、補間画像の違和感を軽減することができる補間処理技術を実現することである。
【課題を解決するための手段】
【0009】
上記課題を解決し、目的を達成するために、本発明の画像処理装置は、画像中の不要なオブジェクトを消去する機能を有する画像処理装置であって、画像を所定の単位で分割した各領域の撮影位置からの距離情報を取得する取得手段と、前記画像中の不要なオブジェクトを指定するための指定手段と、前記指定手段により指定された不要なオブジェクトの領域に、周辺領域の画素値を用いて補間処理を施す補間手段と、前記補間手段により補間処理を施した画像を表示する表示手段と、前記画像中の特定の領域に対してぼかし処理を施す画像処理手段と、を有し、前記画像処理手段は、前記補間処理に利用した周辺領域の距離情報に応じて、前記ぼかし処理を施す領域を決定する。
【発明の効果】
【0010】
本発明によれば、補間後の画像に対して、必要最小限の領域にのみぼかし処理を施すことにより、補間画像の違和感を軽減することができる。
【図面の簡単な説明】
【0011】
【図1】本発明に係る実施形態の撮像装置のブロック構成図。
【図2】本実施形態の撮像装置の外観を示す背面図(a)及び上面図(b)。
【図3】レンズ位置と被写体距離の関係を示す図。
【図4】実施形態1の被写体距離取得までの処理を示すフローチャート。
【図5】実施形態1の被写体距離取得処理の説明図。
【図6】実施形態1の不要オブジェクトを指定・抽出する処理を示すフローチャート。
【図7】図6の不要オブジェクトの指定処理の説明図。
【図8】実施形態1の補間領域に対する画像補間処理を示すフローチャート。
【図9】図8の画像補間処理の説明図。
【図10】補間画像を例示する図。
【図11】実施形態1の補間画像に対するぼかし処理を示すフローチャート。
【図12】図11のぼかし処理の説明図。
【図13】実施形態2の補間画像に対するぼかし処理の説明図。
【図14】実施形態2の補間画像に対するぼかし処理を示すフローチャート(a)及び距離とスケールパラメータの関係を示す図(b)、(c)。
【図15】実施形態3の複数の不要オブジェクトを自動抽出する処理の説明図。
【図16】実施形態3の複数の不要オブジェクトを自動抽出する処理を示すフローチャート。
【図17】実施形態4の信頼度算出処理を示すフローチャート。
【図18】実施形態4の信頼度算出処理の説明図。
【図19】実施形態4の信頼度算出処理の説明図。
【図20】実施形態5のシステム構成図(a)、撮像装置の構成図(b)、GPSユニットの構成図(c)、GPSユニットの出力データフォーマットを例示する図(d)、(e)。
【図21】実施形態5のサーバのブロック構成図。
【図22】実施形態5の撮像装置の動作を示すフローチャート。
【図23】実施形態5の不要オブジェクトを指定・抽出する処理を示すフローチャート。
【図24】実施形態5の撮像装置の画像補間処理を示すフローチャート。
【図25】実施形態5のサーバの動作を示すフローチャート。
【図26】実施形態6の撮像装置の画像補間処理を示すフローチャート。
【発明を実施するための形態】
【0012】
以下に、本発明を実施するための形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、後述する各実施形態の一部を適宜組み合わせて構成しても良い。
【0013】
以下に、本発明の画像処理装置又は撮像装置を、電子シャッター方式のコンパクトデジタルカメラ(以下、カメラ)により実現した例について説明する。
【0014】
[実施形態1]実施形態1は、画像から物体(不要オブジェクト)を消去するとともに、消去後の領域を周辺領域の画素値を利用して補間する際に、補間結果が自然でない状況を考慮して、カメラからの距離に応じて撮像画像中の特定領域をぼかす処理を行う。
【0015】
<カメラの構成>まず、図1を参照して、本実施形態のカメラの構成について説明する。
【0016】
図1において、システムコントローラ100はカメラ全体の制御を司る機能を有し、後述する各部を制御して、ユーザの設定と操作に応じて画像を撮影し処理する。
【0017】
光学レンズユニット101は、絞り、ズーム、フォーカス機能を備える。光学制御ユニット102は、システムコントローラ100からの指示に従い、光学レンズユニット101を制御する。具体的には、光学レンズユニット101の絞り、ズーム、フォーカスを変更することができる。撮像素子103は、光学レンズユニット101を通過した光(画像)を電気信号に変換するための、CCDイメージセンサやCMOSイメージセンサが適用される。本実施形態では、横3072画素、縦2304画素の撮像素子を用いる。
【0018】
撮像制御ユニット104は、システムコントローラ100からの指示に従い、撮像素子103を制御する。具体的には、撮像素子103の感度調整(ゲインコントロール)、シャッター秒時に従った撮像素子103からのデータの読み取りなどを行う。
【0019】
ここで、光学制御ユニット102は、撮像素子103から出力されるコントラスト電圧が最大になるようにフォーカスモータを駆動してオートフォーカス(AF)機能を実現する。詳述すると、このAF機能は、レンズユニット101を移動して焦点位置を移動させていくと、撮像される画像のコントラストが変化していき、合焦位置でコントラストが最大になるという性質を利用している。また、光学制御ユニット102は、例えば、図3に示すような、レンズユニット101のレンズ位置と、被写体距離との関係を示す数式が位置−距離テーブルとして格納している。これにより、撮像素子103から出力されるコントラスト電圧が最大となる場合のレンズユニット101のレンズ位置に対応する被写体距離を、システムコントローラ100に出力することが可能である。
【0020】
記録媒体105は、画像データなどを格納するデバイスであり、例えばSDメモリカード・コンパクトフラッシュカード(登録商標)やメモリスティックなどのカード型で取り外し可能なメモリが用いられる。記録媒体105には、撮像制御ユニット104が出力する画像データ(RAWデータ)や、当該RAWデータから生成された画像データ(JPEGデータあるいはEXIFデータ)が格納される。
【0021】
ROM106は後述する実施形態の処理を実現する制御プログラムやプログラムが使用するデータを格納する不揮発性メモリである。カメラに電源が投入されると、システムコントローラ100はROM106からプログラムを読み込み、カメラの制御を開始する。
【0022】
RAM107は後述する実施形態の処理を実現する制御プログラムが作業領域として使用するための書き換え可能なメモリである。また、撮像制御ユニット104から出力される画像データを一時的に記憶するバッファとしても使用される。
【0023】
NVRAM108は、後述するUIユニット109でユーザの指定した設定値や、本実施形態のカメラがパワーサイクルを超えて保持する必要のあるパラメータを保持するための書き換え可能なメモリである。
【0024】
UI(ユーザインタフェース)ユニット109は、ユーザの操作画面を生成し、ユーザの操作指示をシステムコントローラ100に伝達する。UIユニット109は複数のボタン、ダイヤル、タッチパネルにより構成される。UIユニット109を構成するボタン、ダイヤル、タッチパネルについては図2を参照して後述する。
【0025】
表示ユニット110は、システムコントローラ100からの指示に従い、画像を表示するための液晶表示パネル(LCD)のようなディスプレイデバイスとそれをコントロールするディスプレイドライバからなる。本実施形態では、横320画素、縦240画素のLCDを用いる。タッチパネルの分解能は、表示ユニット110の画素数(横320画素、縦240画素)と一致するものとする。
【0026】
表示ユニット110には、カメラの各種設定を行うためのメニュー、撮像制御ユニット104が出力する画像(構図決定用のファインダとしての利用)、撮影画像(撮影画像の確認としての利用)、記録媒体105に格納された画像(画像ビューアとしての利用)が表示される。それぞれの画像には任意のグラフィクス画像を重畳して表示することが可能である。本実施形態では、重畳するグラフィクス画像の画素数は、表示ユニット110の画素数と同じとする。
【0027】
<カメラの外観構成>図2を参照して、本実施形態のカメラの外観構成について説明する。
【0028】
図2において、撮影ボタン201は、ユーザが半分程度押し込むことによりフォーカスロックを、さらに押し込むことにより撮像処理の開始をカメラに指示をすることができる。
【0029】
ズームボタン202は、ユーザが左右にスライドさせ、それに従って光学制御ユニット102がレンズユニット101を調整し、所望のズームを実現する。
【0030】
モードダイヤル203は、ユーザがこのダイヤルを回転させることによって、撮影したいシーンに適した動作をするようにカメラに指示することができる。例えば、全自動のオートモード・人物に好適なポートレートモード・風景に好適な風景モード・動きが速いものに好適なスポーツモード・暗い場所での撮影に適した夜景モードなどがある。
【0031】
表示ユニット110の液晶表示パネル204はタッチパネル式となっており、ユーザはタッチパネルに表示されたメニュー画像やボタン画像にタッチすることによって、カメラに指示を入力することができる。
【0032】
メニューボタン205は、液晶表示パネル204にメニューを表示するためのボタンである。ユーザがメニューボタン205を押すことによりメニュー画面を表示し、カメラの設定を行うことができる。
【0033】
上下左右ボタン206は、液晶表示パネル204に表示されたメニューを選択したり、記録媒体105に格納された画像データの中から、液晶表示パネル204に再生する画像を選択したりするための上下左右の各ボタン群からなる。ユーザは、上下左右ボタン206を操作することで、メニューから操作したい項目を選択したり、パラメータを入力・選択したりすることができる。
【0034】
再生ボタン207は、カメラを撮像モードから再生モードに切り替えるためのボタンであり、記録媒体105に格納された画像を液晶表示パネル204に再生させる際に使用する。
【0035】
他のボタン208〜212は、フラッシュの設定やマクロモードの設定などの各種動作を迅速に行うためのボタンである。また、メニューボタン205で表示するメニュー項目をワンタッチで呼び出すショートカットボタンとしても機能する。これらの機能は、本実施形態との関連性があまりないので、詳細な説明は行わない。
【0036】
<動作説明>次に、図4〜図12を参照して、本実施形態のカメラの動作について説明する。
【0037】
以下に述べる処理を行うためのプログラムはROM106に予め格納されており、システムコントローラ100が適宜読み出して実行する。
【0038】
図4(a)は、実施形態1の被写体距離を取得する処理を示すフローチャートである。
【0039】
図4(a)において、ステップS401では、撮像制御ユニット104は、レンズユニット101から入力され、撮像素子103で光電変換された画像データをシステムコントローラ100に出力する。
【0040】
ステップS402では、システムコントローラ100は、ステップS401で取得した画像データを液晶表示パネル204に構図決定用(プレビュー用)の画像として表示する。このとき、ステップS401で撮像制御ユニット104から出力した画像データは、液晶表示パネル204の解像度(320×240)に調整して表示することになる。
【0041】
ステップS403では、システムコントローラ100は、合焦指示の有無を確認する。具体的には、ユーザが撮影ボタン201を半押しした場合を合焦指示とみなす。合焦指示がなされた場合はステップS404に進み、撮影指示がない場合にはステップS401に戻り、構図決定用(プレビュー)の画像を更新する。
【0042】
ステップS404では、システムコントローラ100は、主被写体に対して合焦する過程において、撮像対象に対する距離情報を取得し、保存する。
【0043】
(距離情報取得)ここで、図4(b)を参照して、ステップS404での距離情報取得方法について説明する。まず、撮像素子103の画素を、1ブロックL×L画素として、M(X座標)×N(Y座標)のブロックに分割し、これと対応させて取り込んだ画像を図5(a)のようにブロック化する(ステップS415)。次に、レンズユニット101を焦点位置が無限遠になる位置に移動させた後(ステップS416)、焦点位置が小さくなる方向へレンズユニット101を1ステップずつ移動させ(ステップS417)、各ブロックの高周波成分を記憶する(ステップS418)。主被写体に対する合焦が完了するまで(ステップS419)、上記ステップS417〜ステップS418を繰り返す。その後、ブロックごとに記憶した高周波成分がピークとなるレンズ位置を算出し(ステップS420)、図3のレンズ位置と被写体距離の関係から各ブロックにおける距離を算出する(ステップS421)。距離情報は、図5(b)のようにブロックの座標と対応させて記録媒体105に格納する(ステップS422)。この距離情報は、画像データのヘッダ部に格納してもよいし、別ファイルとして、画像データに対応付けて保存してもよい。ここではブロック単位で距離情報を算出したが、L=1として画素単位に距離情報を算出してもよい。
【0044】
図4(a)に戻り、システムコントローラ100は、撮影指示の有無を確認する(ステップS405)。具体的には、ユーザが撮影ボタン201を押下した場合、あるいは、セルフタイマーが完了した場合を撮影指示とみなす。撮影指示がなされた場合はステップS406に進み、撮影指示がない場合にはステップS401に戻り、構図決定用(プレビュー)の画像を更新する。
【0045】
ステップS406では、システムコントローラ100は、撮像制御ユニット104を介して撮影指示時の画像データを取得し、EXIFファイル形式にして記録媒体105に保存する。
【0046】
<不要オブジェクトの指定・抽出>図6を参照して、撮像画像から不要オブジェクトを指定・抽出する処理ついて説明する。
【0047】
図6において、まず、ユーザの再生ボタン207押下により、カメラは再生モードに遷移する(ステップS601)。再生モードにおいて、システムコントローラ100は記録媒体105に格納された画像データを液晶表示パネル204に表示させる。ユーザは、上下左右ボタン206を操作して、液晶表示パネル204に表示したい画像を選択する(ステップS602)。次に、ユーザのメニューボタン205押下により、システムコントローラ100は、図7(a)のように、液晶表示パネル204に現在表示されている画像700に重畳させて、メニュー群701を表示させる。ここで、上下左右ボタン206の操作により、メニュー群701から物体消去モードボタン702を選択することで、カメラは物体消去モードに遷移する(ステップS603)。物体消去モードでは、液晶表示パネル204上でタッチパネルが有効になり、ユーザは画像700中から消去したい物体(ここでは物体710)を指定できる(ステップS604)。ここで、システムコントローラ100は、記録媒体105に格納された画像700に対応する画像データを読み出し、ユーザによって指定されたポイントから、当該画像における対応する座標(X0,Y0)を算出してRAM107に格納する。この座標を元に、画像中から消去対象となる物体の領域、すなわち補間領域を抽出する(ステップS605)。物体抽出方法については周知の方法を利用する。例えば、画像における座標(X0,Y0)の画素と、隣接する画素との画素値の差分を計算し、予め定めた閾値以下であれば、同一の物体領域と判定し補間領域に含める。あるいは、記録媒体105に格納された距離情報を利用して、画像における座標(X0,Y0)の画素と隣接する画素の中で、距離が等しい画素を同一の物体領域と判定し補間領域に含める。ここで抽出された領域の座標情報がRAM107に格納される(ステップS606)。
【0048】
<画像補間>図8を参照して、補間領域に対して実施する画像補間処理について説明する。
【0049】
図8において、まず、補間領域の最も外側に位置し、多くの既知領域の画素に囲まれている画素pを選択する(ステップS801)。補間領域と既知領域が、例えば、図9(a)のような配置であった場合、画素p11が画素pとなる。
【0050】
次に、画素pを含むN×NブロックBを作成する(ステップS802)。図9(b)では、N=5とし、画素pをブロックBの中心に配置しているが、Nの値、及び画素pの配置については任意である。次に、画素pの近傍領域Rにおいて、先程作成したブロックBとのブロックマッチングを実施する(ステップS803)。具体的には、近傍領域R内にブロックBを配置し、重なり合う画素の画素値の差分をそれぞれ算出した後、それらの平均値Eを算出する。ただし、ブロックBにおける補間領域に属する画素については、上記の計算の対象に含めない。図9(c)では、近傍領域Rを図のように指定しているが、近傍領域Rの大きさや位置は任意である。近傍領域Rにおいて、全てのブロックマッチングを実施した後、平均値Eが最小となるときのブロックBの位置に対応するブロックをブロックTする。さらに、ブロックTにおける、ブロックBの画素pの位置に対応する画素qの画素値を画素pに与える(ステップS804)。例えば、図9(d)のようにブロックTを決定した場合、画素qの位置は図9(d)のようになる。次に、画素pにおける距離データを画素qにおける距離データで更新し、記録媒体105に保存する(ステップS805)。最後に、補間領域から画素pを除去する(ステップS806)。これを、補間領域が存在しなくなるまで繰り返す(ステップS807)。
【0051】
このようにして画像補間が完了し、図10のように、画像中の物体710が消去された補間画像が得られ、記録媒体105に保存される。このとき、記録媒体105のメモリ容量を考慮して、画像補間実施前の画像を記録媒体105から消去してもよい。
【0052】
<ぼかし処理>図11を参照して、補間画像に対するぼかし処理について説明する。
【0053】
画像補間が完了すると、システムコントローラ100は、図12(a)のように、補間画像の縮小画像1200と、選択メニュー1201を液晶表示パネル204に表示させる(ステップS1101)。ここで、ユーザは、上下左右ボタン206を操作して、補間画像にぼかし処理を施すか否かを決定する(ステップS1102)。ぼかし処理を実施しない場合(No)、処理を終了する。ぼかし処理をする場合(Yes)、上記画像補間処理において更新された距離データを記録媒体105から読み出す(ステップS1103)。読み出した距離データと補間画像の関係を図12(b)に示す。図12(b)では、補間画像に対し、距離データの一部をブロック毎に付記している。また、図12(b)の太線1202は、補間領域を含むブロック群である。本実施形態のぼかし処理では、まず、ブロック群1202が有する距離データの中で、ぼかし処理を施す基準となる距離Dを決定する(ステップS1104)。
【0054】
ここでは、距離D以上のブロックに対しぼかし処理を施すため、ブロック群1202が有する距離データの中から最小の距離(9m)を選択する。この距離Dを基準に、ブロック毎にぼかし処理を施す。ブロック毎のぼかし処理では、まず、ブロックの座標(X,Y)を初期値(0、0)に設定する(ステップS1105)。次に、距離データF(X,Y)と距離Dを比較し(ステップ1106)、距離データF(X,Y)が距離D以上の場合に、座標(X,Y)のブロックに対し、ぼかし処理を施す(ステップS1107)。具体的には、座標(X,Y)のブロックに対し、ローパスフィルタを適用する。このとき、距離が大きいブロックに対しては、ローパスフィルタのスケールパラメータをより大きく設定することにより、ぼかし処理の強度を強くする。これにより、カメラからの距離が遠いほど、ぼかしが強くなり、あたかも被写界深度の浅い画像が生成できる。一方、距離データF(X,Y)が距離Dより小さい場合は、ぼかし処理を行わずにステップS1108へ移行する。ステップS1108では、被写体のブロック(X,Y)のX座標をインクリメントして次の列に座標を移動する処理を行い、次いで、Xの値がM未満であるか否かを判断する(ステップS1109)。Xの値がM未満である場合はステップS1106に移行する一方、Xの値がM以上である場合には、ステップS1110に移行する。
【0055】
ステップS1110では、被写体のブロック(X,Y)のY座標をインクリメントして次の行に座標を移動する処理を行うと共に、Xの値を0として座標を列の先頭に指定する処理を行う。ステップS1111では、Yの値がN未満であるか否かを判断し、Yの値がN未満である場合は、ステップS1106に移行する一方、Yの値がN以上である場合には、本処理を終了する。
【0056】
上述したようにぼかし処理を施された画像は、新たに記録媒体105に格納される。このとき、記録媒体105のメモリ容量を考慮して、補間画像を記録媒体105から消去してもよい。
【0057】
このように、本実施形態によると、補間画像に対して、必要最小限の領域にのみぼかし処理を施すことにより、補間画像の違和感を軽減することが可能である。さらに、画像の距離情報に応じてぼかし処理の強度を変更することにより、あたかも被写界深度の浅い画像が生成可能である。
【0058】
[実施形態2]次に、実施形態2として、補間画像に対してぼかし処理を実施する例について説明する。
【0059】
実施形態1では、画像補間により挿入する画素値の算出に利用した領域が有する距離以上の距離を有する領域に対してぼかし処理を施した。一方、図13の画像1300のように、消去対象の物体1310(自動車)よりもカメラに近い位置に主被写体ではない物体1320(噴水)が存在する場合が考えられる。実施形態2では、物体1320の領域、つまり、画像補間により挿入する画素値の算出に利用した領域が有する距離以下の距離を有する領域に対してもぼかし処理を施すことで、ぼかし処理による画像の急激な変化を回避可能である。
【0060】
なお、本実施形態のカメラの構成や外観は、実施形態1と同様である。また、カメラにより撮像した画像から消去対象物体を選択し、その領域に画像補間を実施する方法も実施形態1と同様である。
【0061】
図14は、補間画像に対してぼかし処理を実施するフローチャートである。以下に述べる処理を行うためのプログラムはROM106に予め格納されており、システムコントローラ100が適宜読み出して実行する。
【0062】
図14のステップS1401〜S1405は、図11のステップS1101〜S1105と同様である。ステップS1406では、実施形態1における、距離Dのブロックに適用するローパスフィルタのスケールパラメータを基準に、図14(b)のようにスケールパラメータを変化させて各ブロックにローパスフィルタを適用する。ただし、図14(b)における距離D0は、主被写体を含むブロックの距離であり、主被写体に対してぼかし処理を実施しないようにする。ここでのスケールパラメータは、図14(c)のようにステップ状に変化させてもよい。その後の処理ステップS1407〜S1410は、図11のステップS1108〜S1111と同様である。
【0063】
このように、補間後の画像に対して、ぼかし処理による画像の急激な変化を抑えることにより、画像が不自然になるのを防ぐことが可能である。
【0064】
[実施形態3]次に、実施形態3として、複数の不要オブジェクトを自動抽出し消去する処理について説明する。
【0065】
実施形態1では、消去したい物体(不要オブジェクト)が1つであったが、図15のように、消去したい物体(1510、1511、1512、1513)が複数存在する場合も想定される。このため、実施形態3では、消去したい物体1510を1つ指定したときに、物体1510と同距離に存在する物体を全て消去したい物体として自動抽出することで、ユーザが不要オブジェクトを指定する手間を低減できる。
【0066】
なお、本実施形態のカメラの構成や外観は、実施形態1と同様である。
【0067】
図16は、複数の物体を自動抽出する処理を示すフローチャートである。以下に述べる処理を行うためのプログラムはROM106に予め格納されており、システムコントローラ100が適宜読み出して実行する。
【0068】
図16において、まず、1つ目の消去したい物体1510をユーザが指定する(ステップS1601)。この指定方法は、図6におけるステップS601〜S604と同様である。次に、カメラから物体1510までの距離Zを記録媒体105から読み出す(ステップS1602)。この距離Zと等しいブロックを物体領域として抽出する。物体抽出では、まず、ブロックの座標(X,Y)を初期値(0、0)に設定する(ステップS1603)。次に、距離データF(X,Y)と距離Zを比較し(ステップ1604)、距離データF(X,Y)が距離Zと等しい場合に、補間領域としてブロック(X,Y)の座標をRAM107に格納する(ステップS1605)。一方、距離データF(X,Y)が距離Zと異なる場合には、ステップS1606へ移行する。ステップS1606では、被写体のブロック(X,Y)のX座標をインクリメントして次の列に座標を移動する処理を行う。次に、Xの値がM未満であるか否かを判定する(ステップS1607)。Xの値がM未満である場合はステップS1604に移行する一方、Xの値がM以上である場合には、ステップS1608に移行する。ステップS1608では、被写体のブロック(X,Y)のY座標をインクリトして次の行に座標を移動する処理を行うと共に、Xの値を0として座標を列の先頭に指定する処理を行う。次に、ステップS1609で、Yの値がN未満であるか否かを判断し、Yの値がN未満である場合は、ステップS1604に移行する一方、Yの値がN以上である場合には、物体抽出を終了する。
【0069】
このように、同じ距離に存在する物体を全て不要オブジェクトとして抽出することで、ユーザの手間を低減することが可能である。
【0070】
[実施形態4]次に、実施形態4として、信頼度に応じてぼかし処理の実施の是非を判定する処理について説明する。
【0071】
実施形態4では、補間画像が視覚的に違和感があるかどうかをユーザに通知することができる。
【0072】
なお、本実施形態のカメラの構成や外観は、実施形態1と同様である。
【0073】
図17は、画像から信頼度を算出する処理を示すフローチャートである。以下に述べる処理を行うためのプログラムはROM106に予め格納されており、システムコントローラ100が適宜読み出して実行する。
【0074】
図17において、まず、補間領域の周辺領域の大きさを決定する(ステップS1701)。一般的に画像補間は、補間領域に隣接する領域の画素値を利用して補間を実施する。また、カメラから補間領域の本来の背景までの距離と、カメラから補間領域に隣接する領域の背景は一致する可能性が高いと考えられるため、画像補間に利用する領域は、補間領域に隣接する領域と同距離の領域であることが望ましい。このことから、本実施形態において特徴量を抽出する補間領域の周辺領域は、補間領域からの距離がL画素の範囲に存在し(Lは任意)、カメラからの距離が、補間領域に隣接する画素もしくはブロックが有する距離と同距離である領域とする。ここでは、図18における太線で囲まれた領域から補間領域(車の存在する領域)除いた領域とする。
【0075】
次に、信頼度算出に用いる特徴量として、補間領域の面積Sと、補間領域の周辺領域の乱雑度Nを抽出する(ステップS1702、S1703)。ここでは、補間領域の画素数を面積Sとし、補間領域の周辺領域から以下の方法で算出したエントロピーを乱雑度Nとする。まず、エッジ強度の閾値Tを0とし(ステップS1704)、補間領域の周辺領域における注目画素を中心とする3×3領域において、入力画像の各画素にガウシアン関数の水平方向1次微分フィルタ
【0076】
【数1】
【0077】
と、垂直方向1次微分フィルタ
【0078】
【数2】
【0079】
を畳み込み処理することで、エッジ強度とエッジ方向を抽出する(ステップS1705)。ただし、式1,式2において、iは水平方向の画素位置、jは垂直方向の画素位置である。次に、注目画素を中心とする3×3領域内で、各画素のエッジ強度が閾値Tより大きい場合に、縦軸が頻度値で、横軸が角度であり22.5度を1単位としている頻度値グラフを生成する(ステップS1706)。この頻度値グラフの分布の特徴をエントロピー(式3)によって求める(ステップS1707)。
【0080】
【数3】
【0081】
ただし、式3において、Hはエントロピー量、p(xi)はヒストグラムにおける各範囲xiの確率である。次に、エントロピーHが0か否かを判定し(ステップS1708)、エントロピーHが0ではない場合、エントロピーHと閾値Tの値を保存した後、閾値Tの値を増加させてステップS1705に戻る。一方、Hが0の場合、縦軸がエントロピー量、横軸が閾値Tのグラフを生成し、このグラフに対する積分値を計算する。以上の計算を周辺領域の全画素において行い(ステップS1711)、各画素に対する積分値の合計を乱雑度Nとする(ステップS1712)。ここで求めた補間領域の面積Sと補間領域の周辺領域の乱雑度Nから、式4により信頼度Cを計算する(ステップS1713)。信頼度Cの値が大きいほど、補間画像が視覚的に自然である可能性が高いとする。
【0082】
【数4】
【0083】
式4において、P(S)は、図19(a)のように、Sの値に反比例する関数である。P(S)の関数形状は、補間領域の面積Sの値が小さいほど補間画像は視覚的に自然である可能性が高いという性質を考慮している。一方、Q(N)は、図19(b)のように、Nが所定の値N0のときにピーク値を取る関数である。Q(N)の関数形状は、乱雑度Nの値が小さい場合には、補間領域の周辺領域が有する色数は少なく、単純な構造で構成されている可能性が高いという性質を考慮している。また、乱雑度Nの値が大きい場合には、補間領域の周辺領域が、森や海のような、パターンは複雑ではあるが、一般的に画像補間結果が視覚的に自然になる領域である可能性が高いという性質を考慮している。
【0084】
最後に、信頼度Cが閾値Z以上であれば、補間画像が視覚的に自然なものになると判定する。一方、信頼度Cが閾値Z未満であれば、補間画像が視覚的に違和感あるものになると判定する。後者と判定された場合、液晶表示パネル204に「補間結果が不自然になる可能性があります」や「撮り直しをお勧めします」等のメッセージを表示する。
【0085】
ここでは、画素値から乱雑度を算出したが、画素値を輝度成分や彩度成分に分離した上で、各成分に対し乱雑度を算出してもよい。また、上述した例では信頼度算出に用いる画像の特徴量として、補間領域の面積と補間領域の周辺領域の乱雑度を挙げて説明したが、これに限られない。他の例として、補間領域の周辺領域の輝度分布、コントラスト、テクスチャの規則性、補間領域の面積と補間領域の周辺領域におけるテクスチャが規則的な領域の面積の比などを組み合わせて利用することができる。
【0086】
このように、実施形態4によれば、画像中の補間領域に対して実際に画像補間を実施せずに、画像補間結果が視覚的に違和感ある画像となるか否かをユーザに通知可能となる。
【0087】
[実施形態5]次に、実施形態5として、カメラ側で生成した補間画像をプレビュー表示するとともに、カメラに通信可能に接続されたサーバが画像処理装置として補間画像を生成し、カメラに送信する処理について説明する。
【0088】
実施形態5では、カメラ側で素早く補間画像をプレビュー表示できるとともに、補間領域が比較的大きい場合であっても、サーバ側で高品質な補間画像が生成可能となる。
【0089】
<システム構成>まず、図20を参照して、本実施形態のシステム及びカメラの構成について説明する。
【0090】
図20(a)において、カメラ2000が画像サーバ2100とネットワーク2200を介して接続され、画像データ等の送受信を行う。画像サーバ2100は、様々な時刻・場所で撮影された画像を格納すると共に、それらの画像を用いて、複数枚画像による画像補間を実施することが可能である。
【0091】
なお、本実施形態のカメラの構成や外観は、以下に説明する構成を除き、実施形態1と同様である。
【0092】
図20(b)において、通信ユニット111は、不図示のアンテナ、ベースバンド部、RF部からなる。システムコントローラ100は通信ユニット111を制御することにより、無線LAN規格に適合したパケットを送受信することが可能である。
【0093】
GPSユニット112は、GPS衛星から送信される信号に基づき、カメラの位置を算出(測位)する。GPSユニット112は、システムコントローラ100に対し、算出したカメラの緯度・経度・高度・対地速度・移動方向・測位時刻を出力する。
【0094】
図20(c)は、GPSユニットの構成図である。
【0095】
図20(c)において、アンテナ部121はGPS衛星からの信号を受信する。GPSRF処理部122はアンテナ部121により受信されたGPS衛星の信号(RF信号)からノイズ等を取り除き、周波数の高いRF信号を処理に適した低い周波数(ベースバンド)に変換して出力する。GPSベースバンド処理部123はGPSRF処理部122が出力するベースバンド信号をデコードし、緯度・経度などの情報を算出する。また、GPSベースバンド処理部123はシステムコントローラ100と通信するためのインターフェースを搭載し、システムコントローラ100からの要求に応じてGPSにかかわる情報を出力する。
【0096】
GPSベースバンド処理部123は上記情報を複数のフォーマットで出力することが可能であり、図20(d)、(e)はそのフォーマットを例示している。
【0097】
図20(d)において、131は測位した時刻の世界協定時(UTC)を示したもの、132は測位データが有効か無効かを示すステータス、133は緯度、134は経度、135は地面に対する移動速度である。また、136は真北を基準とした地面に対する進行方向、137は測位した日付を世界協定時(UTC)で示したもの、138はデータ131〜137が破損していないかどうかを検査するためのチェックサムである。
【0098】
図20(e)において、141は測位した時刻の世界協定時(UTC)を示したもの、142は緯度、143は経度、144は受信不能・単独測位・相対測位(DGPS)の3つで示される測位状態、145はGPS信号を受信している衛星の数である。また、146はHDOP(Horizonal Dilution of precision)と呼ばれる水平誤差を表す値である。さらに、147は海抜高度、148はジオイド体を基準とした高度、149は141〜148のデータが破損していないかどうかを検査するためのチェックサムである。
【0099】
図2において、本実施形態のカメラは、GPS受信部を有し、GPS信号を受信するアンテナ部121はGPS受信部内部に格納されており、GPS衛星から送信される信号を受信する。なお、無線LANアンテナはカメラに内蔵されており、図示していない。
【0100】
図21は画像サーバ2100の構成図である。
【0101】
図21において、システムコントローラ401は画像サーバ2100全体の制御を司り、後述する各部を制御して、ユーザの設定と操作に応じて画像を処理する。
【0102】
記録媒体402はハードディスクなどであり、システムコントローラ401からの指示に従い、データを保持する。記録媒体402には、様々な時刻・場所で撮影された画像が格納されている。
【0103】
RAM403は画像サーバ2100を制御するプログラムが作業領域として使用するための書き換え可能なメモリである。
【0104】
ROM404は画像サーバ2100を制御するプログラムとプログラムが使用するデータを格納する。画像サーバ2100に電源が投入されると、システムコントローラ401はROM404からプログラムを読み込み、画像サーバ2100の制御を開始する。
【0105】
システムコントローラ401は、ROM404に格納されたプログラムに従い、記録媒体402に格納された画像データを読み出し、複数枚画像による画像補間処理を実施する。
【0106】
NVRAM406は、画像サーバ2100がパワーサイクルを超えて保持する必要のあるパラメータを保持するための書き換え可能な不揮発性メモリである。
【0107】
通信部407は、イーサーネット(登録商標)等の有線LANネットワークに対し、イーサーネットケーブルを介して接続する。
【0108】
<動作説明(カメラ)>次に、図22〜図24を参照して、本実施形態のカメラの動作について説明する。
【0109】
以下に述べる処理を行うためのプログラムはROM106に予め格納されており、システムコントローラ100が適宜読み出して実行する。
【0110】
図22(a)において、ステップS2201では、カメラで被写体を撮影する。ステップS2202では、液晶表示パネル204に表示された画像から、ユーザが不要なオブジェクトを指定する。ステップS2203では、ステップS2202において指定された不要オブジェクト領域に対し、画像補間を実施する。
【0111】
図22(b)は、ステップS2201における画像撮影処理を示すフローチャートであるが、ステップS2211〜S2214は、図4(a)のステップS401〜S405と同様である。すなわち、ステップS2214で撮像指示がなされた場合、システムコントローラ100は、撮像制御ユニット104により撮影指示時の画像データを取得するとともに、GPSユニット112からGPS情報を取得する(ステップS2215)。その後、画像データとGPS情報をEXIFファイル形式にして記録媒体105に保存する(ステップS2216)。
【0112】
<不要オブジェクトの指定>図23を参照して、撮像画像から不要オブジェクトを指定する処理について説明する。
【0113】
図23は、図22(a)のステップS2202における不要オブジェクトを指定する処理を示すフローチャートであるが、ステップS2301〜S2307は、図6のステップS601〜S606と同様である。すなわち、システムコントローラ100は、図7に示す画像700の縮小前の画像を記録媒体105から読み出し、画像700中の(x0,y0)に対応する座標(X0,Y0)を算出してRAM107に格納する(ステップS2308)。具体的には、以下の式により(X0,Y0)は算出される。
【0114】
X0=x0×(3702/320)
Y0=y0×(2304/240)
システムコントローラ100は、この座標を元に、画像700の縮小前の画像からも、補間領域を抽出し(ステップS2309)、その座標情報をRAM107に別途格納する(ステップS2310)。
【0115】
<画像補間>図24を参照して、図22(a)の画像補間処理について説明する。
【0116】
ここでは、縮小前の画像を画像サーバ2100側で、縮小後の画像をカメラ2000側で、それぞれ異なる画像補間手段を用いて画像補間を実施する。
【0117】
図24は、カメラ2000から画像サーバ2100へ、補間領域を含む画像を送信する処理を示すフローチャートであり、画像サーバ2100のIPアドレスは既にカメラ2000側に設定されているものとする。カメラ2000に画像サーバ2100のIPアドレスを設定する方法としては、カメラのメニューボタン205を操作して画像サーバ2100のIPアドレスを設定する画面に遷移し、ボタン206でIPアドレスを直接入力してもよい。あるいは、画像サーバ2100の情報が記録されたパーソナルコンピュータ(PC)を、USBケーブルを介してカメラと接続し、画像サーバ2100のIPアドレスをPCからカメラへ転送するようにしてもよい。
【0118】
ステップS2401では、カメラ2000から画像サーバ2100へ、接続要求を送信する。
【0119】
ステップS2402では、カメラ2000のシステムコントローラ100は、画像サーバ2100から接続許可を受信したか否かを判定する。ここで、カメラ2000が画像サーバ2100から接続許可を受信した場合には、ステップS2403へ、一定時間経過しても接続許可を受信できなかった場合にはステップS2414へ進む。
【0120】
ステップS2403では、カメラ2000から画像サーバ2100へ、補間領域を含む画像を、補間領域の座標情報とともに送信する。画像サーバ側では、これらのデータを受信し、複数枚による画像補間処理を実施する。画像サーバ2100側の処理については後述する。
【0121】
ステップS2404では、システムコントローラ100は、表示用に縮小した画像に対し、1枚画像による画像補間を実施する。この1枚画像による画像補間処理は、図8で説明した通りである。なお、縮小前の画像における既知領域の情報は、縮小画像よりも情報量が豊富であるため、記録媒体105から縮小前の画像を読み出し、画像補間に利用してもよい。これにより、より視覚的に自然な補間画像が得られる。なお、一枚画像による画像補間は上記の方法のみに限定されず、他の公知の手段を用いても良い。
【0122】
ステップS2405では、ステップS2404において得られた補間画像を液晶表示パネル204に表示する。これにより、不要オブジェクトが削除された画像をユーザが閲覧することが可能になる。
【0123】
ステップS2406では、システムコントローラ100は、送信した補間画像を含む画像に対し、画像サーバ2100において複数枚画像による画像補間が実施された画像を、画像サーバ2100から受信したか否かを判定する。受信が完了している場合にはステップS2408へ進み、受信が完了していない場合には、ステップS2407へ進む。
【0124】
ステップS2407では、システムコントローラ100は補間画像の受信待ちを開始してから一定時間経過したか、または、画像サーバ2100から、画像補間が完了しなかった旨のメッセージを受信したか否かを判定する。この条件が成立した場合(Yes)には、ステップS2414へ進み、不成立の場合(No)には、ステップS2406へ進む。
【0125】
ステップS2408では、システムコントローラ100は、液晶表示パネル204に選択ダイアログを表示するなどして、受信した画像データを液晶表示パネル204に表示させるか否かをユーザに問い合わせする。ここで、ユーザがYesを選択した場合にはステップS2409へ進み、Noを選択した場合には本処理を終了する。
【0126】
ステップS2409では、システムコントローラ100は、受信した画像を、液晶表示パネル204に表示可能なサイズ(横320画素、縦240画素)に縮小する。
【0127】
ステップS2410では、ステップS2409で縮小した画像を液晶表示パネル204に表示することで、1枚画像による画像補間の補間結果を複数枚画像による画像補間の補間結果に置き換える。これにより、複数枚画像による画像補間の結果を、液晶表示パネル204を介してユーザに提示することができる。
【0128】
ステップS2411では、カメラは、液晶表示パネル204に選択ダイアログを表示するなどして、受信した画像データを記録媒体105へ保存するか否かをユーザに問い合わせする。ここで、ユーザがYesを選択した場合にはステップS2412へ進み、Noを選択した場合にはステップS2413へ進む。
【0129】
ステップS2412では、システムコントローラ100は、受信した画像データを記録媒体105へ保存する。このとき、記録媒体105の容量を圧迫しないために、画像サーバ2100へ送信した補間領域を含む画像を記録媒体105から削除してもよい。
【0130】
ステップS2413では、システムコントローラ100は、ステップS2404において得られた補間画像を液晶表示パネル204に再度表示し、本処理を終了する。
【0131】
一方、ステップS2414では、画像サーバ2100に接続できなかった旨や、補間画像を受信できなかった旨を液晶表示パネル204に表示することでユーザに通知し、本処理を終了する。
【0132】
なお、ユーザ負荷を軽減するため、ステップS2408、S2411におけるユーザの選択を省略し、受信した画像を自動的に表示、保存してもよい。
【0133】
<動作説明(画像サーバ)>次に、図25を参照して、本実施形態の画像サーバの動作について説明する。
【0134】
以下に述べる処理を行うためのプログラムはROM404に予め格納されており、システムコントローラ401が適宜読み出して実行する。
【0135】
図25において、ステップS2501では、システムコントローラ401はカメラ2000から接続要求を受信する。
【0136】
ステップS2502では、システムコントローラ401はカメラ2000に対し接続許可を送信する。
【0137】
ステップS2503では、システムコントローラ401は、カメラ2000から、補間領域を含む画像及び補間領域の座標情報を受信したか否かを判定する。ここで情報を受信した場合にはステップS2504へ進み、受信していない場合には、情報を受信するまで待つ。
【0138】
ステップS2504では、システムコントローラ401は、補間領域を含む画像のEXIF情報から、撮影日時情報と撮影位置情報を含む属性情報を取得する。
【0139】
ステップS2505では、システムコントローラ401は、記録媒体402に、ステップS2504において取得した撮影位置が一致又は重複する画像が存在するか否かを判定する。ここで画像が存在する場合、ステップS2506へ、存在しない場合、ステップS2510へ進む。
【0140】
ステップS2506では、システムコントローラ401は、ステップS2505において取得した画像から、更に撮影日時が近似した画像が存在するか否かを判定する。ここで画像が存在する場合、ステップS2507へ、存在しない場合、ステップS2510へ進む。
【0141】
ステップS2507では、システムコントローラ401は、ステップS2505、S2506において絞り込まれた画像、すなわち、補間領域を含む画像と撮影位置及び撮影日時が近似した複数枚の画像を用いて画像補間を実施する。複数枚画像による画像補間は、公知の方法を用いて実施する。例えば、複数枚画像から、特開2008−046750号公報に記載されているような、一般的な特徴点抽出方法であるHarrisオペレータ等を用いて特徴点を抽出し、画像間の特徴点の対応付けを行う。その後、特徴点の対応から射影変換行列を推定し、画像を変形することで画像の位置合わせを行う。ここで、補間領域を含まない画像から補間領域の座標に対応する座標の画素値を取得し、補間領域に挿入することで画像補間が実施できる。
【0142】
なお、複数枚画像による画像補間は上述した方法のみに限定されず、他の公知の手段を用いても良い。
【0143】
ステップS2508では、システムコントローラ401は、ステップS2507における画像補間の結果、補間領域の全画素に対し、画素値が挿入されたか否かを判定する。補間領域の全画素に画素値が挿入されていればステップS2509へ、補間領域の全画素に対し画素値が挿入されていなければ、ステップS2510へ進む。
【0144】
ステップS2509では、システムコントローラ401は、補間画像をカメラ2000へ送信し、本処理を終了する。
【0145】
また、ステップS2510では、システムコントローラ401は、現在画像サーバに存在する画像を用いても、画像補間が完了しなかった旨をカメラ2000へ送信し、本処理を終了する。
【0146】
なお、ステップS2508において、全画素に対する画像補間が完了しなかった場合においても、補間領域が小さくなることで、カメラ側で視覚的に自然な画像補間が達成できる可能性が高まることが考えられる。そのため、一部でも補間領域に画素が挿入された場合には、補間画像をカメラへ送信するようにしてもよい。
【0147】
また、本実施形態では、複数枚画像による画像補間に使用する画像を選択する際の条件として、撮影日時と撮影位置を用いたが、季節や天気などの情報も利用することで、より撮影時の環境に近い画像を抽出することが可能になる。これにより、より視覚的に自然な画像補間を実現できる。
【0148】
画像サーバから受信した補間画像についてユーザが気に入らなかった場合を考慮し、ステップS2406の後、補間画像を許容するか否かをユーザに問い合わせるようにしてもよい。またユーザがNoを選択した場合には、補間画像を記録媒体105に保存しないようにしてもよい。これにより、記録媒体105のメモリ容量を節約することができる。
【0149】
本実施形態によれば、カメラ側で素早く補間画像を表示できるとともに、不要オブジェクトの領域が比較的大きくても、高品質な補間画像が生成可能となる。
【0150】
[実施形態6]次に、実施形態6として、図17のように算出した信頼度が閾値以上であれば画像サーバへ画像を送信しない処理について説明する。
【0151】
実施形態5では、画像中の不要オブジェクトが指定された場合に、当該指定画像を画像サーバへ送信する場合について説明した。実施形態6では、画像中の補間領域が比較的小さく、1枚画像による画像補間でも視覚的に自然な画像が生成可能な場合など、指定画像の画像サーバへの送信を省略できる場合について説明する。
【0152】
なお、本実施形態の画像サーバやカメラの構成や外観は、実施形態5と同様である。
【0153】
以下に述べる処理を行うためのプログラムはROM106に予め格納されており、システムコントローラ100が適宜読み出して実行する。
【0154】
<動作説明(カメラ)>図26を参照して、補間領域を含む画像に対する補間処理について説明する(他の処理は実施形態5と同様であるため省略する)。
【0155】
図26において、補間領域を抽出した後、補間領域を含む画像の、画像サーバへの送信が不要と判定された場合、カメラ側でのみ画像補間を実施する。一方、補間領域を含む画像の、画像サーバへの送信が必要と判定された場合には、実施形態5と同様の処理を実施する。
【0156】
ステップS2601では、システムコントローラ100は、画像中の補間領域と、その周辺領域から抽出した特徴量を基に信頼度を算出する。画像から信頼度を算出する方法は、図17〜19で述べた通りである。
【0157】
ステップS2602ではシステムコントローラ100は、、ステップS2601において得られた信頼度と所定の閾値とを比較する。信頼度が所定の閾値以上の場合、1枚画像による画像補間でも視覚的に自然な画像が生成可能と判定し、ステップS2614へ進む。一方、信頼度が所定の閾値未満の場合、1枚画像による画像補間では、視覚的に自然な画像補間が達成できないと判定し、ステップS2603へ進む。
【0158】
ステップS2603〜S2616は、図24のステップS2401〜S2414と同様である。
【0159】
ステップS2617では、システムコントローラ100は、表示用に縮小する前の画像に対し、1枚画像による画像補間を実施する。画像補間の方法は実施形態5と同様である。
【0160】
ステップS2618では、システムコントローラ100は、ステップS2617において得られた補間画像を、液晶表示パネル204に表示可能なサイズ(横320画素、縦240画素)に縮小する。
【0161】
ステップS2619では、システムコントローラ100は、ステップS2618において縮小した画像を液晶表示パネル204に表示し、本処理を終了する。
【0162】
本実施形態によれば、不要オブジェクトとして指定された補間領域について信頼度を算出することにより、画像サーバへの不要な画像送信を抑制することが可能である。
【0163】
上述した各実施形態においては、本発明をカメラなどの撮像装置に適用した例にして説明したが、これに限定されない。すなわち、本発明は、撮像手段を持たず、表示用ディスプレイが小さいスマートフォンやPDA等の画像処理装置にも適用可能である。この場合には、既にGPS情報を有する画像がサーバ側に転送されており、図22のS2202、S2203の処理を実行することで、実施形態5,6と同等の効果が得られる。
【0164】
[他の実施形態]本発明は、以下の処理を実行することによっても実現される。即ち上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【特許請求の範囲】
【請求項1】
画像中の不要なオブジェクトを消去する機能を有する画像処理装置であって、
画像を所定の単位で分割した各領域の撮影位置からの距離情報を取得する取得手段と、
前記画像中の不要なオブジェクトを指定するための指定手段と、
前記指定手段により指定された不要なオブジェクトの領域に、周辺領域の画素値を用いて補間処理を施す補間手段と、
前記補間手段により補間処理を施した画像を表示する表示手段と、
前記画像中の特定の領域に対してぼかし処理を施す画像処理手段と、を有し、
前記画像処理手段は、前記補間処理に利用した周辺領域の距離情報に応じて、前記ぼかし処理を施す領域を決定することを特徴とする画像処理装置。
【請求項2】
前記画像処理手段は、前記補間処理に利用した周辺領域の距離以上の距離情報を有する領域を、前記ぼかし処理を施す領域とすることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記画像処理手段は、前記補間処理に利用した周辺領域の距離以下の距離情報を有する領域を、前記ぼかし処理を施す領域とすることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
ユーザによる前記ぼかし処理を実施するか否かの指示を受け付ける操作手段を更に有することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記補間処理を施した領域の特徴量と前記補間処理に利用した周辺領域の特徴量とから前記補間処理を施した画像の信頼度を算出する算出手段と、
前記算出手段により算出された信頼度に応じて前記ぼかし処理を実施するか否かを決定する手段と、を更に有することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項6】
前記指定手段は、前記不要なオブジェクトの領域と同じ距離情報を有する画像中の全てのオブジェクトを不要なオブジェクトとして指定することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
前記画像処理手段は、前記ぼかし処理を施す領域の距離情報に応じて、前記ぼかし処理の強度を変更することを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
被写体を撮像して画像データを生成する撮像手段と、
前記撮像手段により生成された画像データを記憶する記憶手段と、
前記記憶手段に記憶された画像データを再生する再生手段と、を更に有し、
前記指定手段は、前記再生手段により再生された画像中から不要なオブジェクトの指定を行い、
前記画像処理手段は、前記ぼかし処理を施した画像データを前記記憶手段に記憶することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
【請求項9】
被写体を撮像して画像データを生成する撮像装置と通信する通信手段と、
前記通信手段を介して前記撮像装置から複数の画像データと各画像データの属性情報を受信する受信手段と、
前記受信手段により受信した画像データに前記補間手段により補間処理を施した画像データを前記撮像装置に送信する送信手段と、を更に有することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
【請求項10】
前記撮像装置は、画像中の不要なオブジェクトを消去する機能を有することを特徴とする請求項9に記載の画像処理装置。
【請求項11】
前記属性情報は、画像の撮影日時情報と撮影位置情報を含み、
前記補間手段は、前記受信手段により受信した画像データのうち、撮影日時と撮影位置が近似している複数の画像データを用いて前記補間処理を実施することを特徴とする請求項9又は10に記載の画像処理装置。
【請求項12】
被写体を撮像して画像データを生成する撮像手段と、
前記撮像手段により生成された画像データを所定の単位で分割した各領域の撮影位置からの距離情報を取得する取得手段と、
前記撮像手段により生成された画像データを記憶する記憶手段と、
前記記憶手段に記憶された画像データを再生する再生手段と、
前記再生手段により再生された画像中の不要なオブジェクトを指定するための指定手段と、
前記指定手段により指定された不要なオブジェクトの領域に、周辺領域の画素値を用いて補間処理を施す補間手段と、
前記補間手段により補間処理を施した画像を表示する表示手段と、
前記画像中の特定の領域に対してぼかし処理を施す画像処理手段と、を有し、
前記画像処理手段は、前記補間処理に利用した周辺領域の距離情報に応じて、前記ぼかし処理を施す領域を決定することを特徴とする撮像装置。
【請求項13】
画像中の不要なオブジェクトを消去する機能を有する画像処理装置と通信する通信手段と、
前記通信手段を介して前記画像処理装置へ複数の画像データと各画像データの属性情報を送信する送信手段と、
前記通信手段を介して前記画像処理装置から補間処理が施された画像データを受信する受信手段と、を更に有することを特徴とする請求項12に記載の撮像装置。
【請求項14】
前記補間処理を施した領域の特徴量と前記補間処理に利用した周辺領域の特徴量とから前記補間処理を施した画像の信頼度を算出する算出手段と、
前記算出手段により算出された信頼度に応じて画像処理装置に補間処理を施すための画像データを送信するか否かを決定する手段と、を更に有することを特徴とする請求項12又は13に記載の撮像装置。
【請求項15】
画像中の不要なオブジェクトを消去する機能を有する画像処理装置における画像処理方法であって、
取得手段が、画像を所定の単位で分割した各領域の撮影位置からの距離情報を取得する取得工程と、
指定手段が、前記画像中の不要なオブジェクトを指定するための指定工程と、
補間手段が、前記指定された不要なオブジェクトの領域に、周辺領域の画素値を用いて補間処理を施す補間工程と、
表示手段が、前記補間処理を施した画像を表示する表示工程と、
画像処理手段が、前記画像中の特定の領域に対してぼかし処理を施す画像処理工程と、を有し、
前記画像処理工程では、前記補間処理に利用した周辺領域の距離情報に応じて、前記ぼかし処理を施す領域を決定することを特徴とする画像処理方法。
【請求項16】
被写体を撮像して画像データを生成する撮像手段と、
前記撮像手段により生成された画像データを所定の単位で分割した各領域の撮影位置からの距離情報を取得する取得手段と、
前記撮像手段により生成された画像データを記憶する記憶手段と、
前記記憶手段に記憶された画像データを再生する再生手段と、を有する撮像装置の制御方法であって、
前記再生手段により再生された画像中の不要なオブジェクトを指定するための指定工程と、
前記指定工程にて指定された不要なオブジェクトの領域に、周辺領域の画素値を用いて補間処理を施す補間工程と、
前記補間工程にて補間処理を施した画像を表示する表示工程と、
前記画像中の特定の領域に対してぼかし処理を施す画像処理工程と、を有し、
前記画像処理工程では、前記補間処理に利用した周辺領域の距離情報に応じて、前記ぼかし処理を施す領域を決定することを特徴とする制御方法。
【請求項17】
コンピュータを、請求項1乃至11のいずれか1項に記載の画像処理装置、もしくは請求項12乃至14のいずれか1項に記載の撮像装置の各手段として機能させるためのプログラム。
【請求項18】
コンピュータを、請求項1乃至11のいずれか1項に記載の画像処理装置、もしくは請求項12乃至14のいずれか1項に記載の撮像装置の各手段として機能させるためのプログラムを記憶したコンピュータによる読み取りが可能な記憶媒体。
【請求項1】
画像中の不要なオブジェクトを消去する機能を有する画像処理装置であって、
画像を所定の単位で分割した各領域の撮影位置からの距離情報を取得する取得手段と、
前記画像中の不要なオブジェクトを指定するための指定手段と、
前記指定手段により指定された不要なオブジェクトの領域に、周辺領域の画素値を用いて補間処理を施す補間手段と、
前記補間手段により補間処理を施した画像を表示する表示手段と、
前記画像中の特定の領域に対してぼかし処理を施す画像処理手段と、を有し、
前記画像処理手段は、前記補間処理に利用した周辺領域の距離情報に応じて、前記ぼかし処理を施す領域を決定することを特徴とする画像処理装置。
【請求項2】
前記画像処理手段は、前記補間処理に利用した周辺領域の距離以上の距離情報を有する領域を、前記ぼかし処理を施す領域とすることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記画像処理手段は、前記補間処理に利用した周辺領域の距離以下の距離情報を有する領域を、前記ぼかし処理を施す領域とすることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
ユーザによる前記ぼかし処理を実施するか否かの指示を受け付ける操作手段を更に有することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記補間処理を施した領域の特徴量と前記補間処理に利用した周辺領域の特徴量とから前記補間処理を施した画像の信頼度を算出する算出手段と、
前記算出手段により算出された信頼度に応じて前記ぼかし処理を実施するか否かを決定する手段と、を更に有することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項6】
前記指定手段は、前記不要なオブジェクトの領域と同じ距離情報を有する画像中の全てのオブジェクトを不要なオブジェクトとして指定することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
前記画像処理手段は、前記ぼかし処理を施す領域の距離情報に応じて、前記ぼかし処理の強度を変更することを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
被写体を撮像して画像データを生成する撮像手段と、
前記撮像手段により生成された画像データを記憶する記憶手段と、
前記記憶手段に記憶された画像データを再生する再生手段と、を更に有し、
前記指定手段は、前記再生手段により再生された画像中から不要なオブジェクトの指定を行い、
前記画像処理手段は、前記ぼかし処理を施した画像データを前記記憶手段に記憶することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
【請求項9】
被写体を撮像して画像データを生成する撮像装置と通信する通信手段と、
前記通信手段を介して前記撮像装置から複数の画像データと各画像データの属性情報を受信する受信手段と、
前記受信手段により受信した画像データに前記補間手段により補間処理を施した画像データを前記撮像装置に送信する送信手段と、を更に有することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
【請求項10】
前記撮像装置は、画像中の不要なオブジェクトを消去する機能を有することを特徴とする請求項9に記載の画像処理装置。
【請求項11】
前記属性情報は、画像の撮影日時情報と撮影位置情報を含み、
前記補間手段は、前記受信手段により受信した画像データのうち、撮影日時と撮影位置が近似している複数の画像データを用いて前記補間処理を実施することを特徴とする請求項9又は10に記載の画像処理装置。
【請求項12】
被写体を撮像して画像データを生成する撮像手段と、
前記撮像手段により生成された画像データを所定の単位で分割した各領域の撮影位置からの距離情報を取得する取得手段と、
前記撮像手段により生成された画像データを記憶する記憶手段と、
前記記憶手段に記憶された画像データを再生する再生手段と、
前記再生手段により再生された画像中の不要なオブジェクトを指定するための指定手段と、
前記指定手段により指定された不要なオブジェクトの領域に、周辺領域の画素値を用いて補間処理を施す補間手段と、
前記補間手段により補間処理を施した画像を表示する表示手段と、
前記画像中の特定の領域に対してぼかし処理を施す画像処理手段と、を有し、
前記画像処理手段は、前記補間処理に利用した周辺領域の距離情報に応じて、前記ぼかし処理を施す領域を決定することを特徴とする撮像装置。
【請求項13】
画像中の不要なオブジェクトを消去する機能を有する画像処理装置と通信する通信手段と、
前記通信手段を介して前記画像処理装置へ複数の画像データと各画像データの属性情報を送信する送信手段と、
前記通信手段を介して前記画像処理装置から補間処理が施された画像データを受信する受信手段と、を更に有することを特徴とする請求項12に記載の撮像装置。
【請求項14】
前記補間処理を施した領域の特徴量と前記補間処理に利用した周辺領域の特徴量とから前記補間処理を施した画像の信頼度を算出する算出手段と、
前記算出手段により算出された信頼度に応じて画像処理装置に補間処理を施すための画像データを送信するか否かを決定する手段と、を更に有することを特徴とする請求項12又は13に記載の撮像装置。
【請求項15】
画像中の不要なオブジェクトを消去する機能を有する画像処理装置における画像処理方法であって、
取得手段が、画像を所定の単位で分割した各領域の撮影位置からの距離情報を取得する取得工程と、
指定手段が、前記画像中の不要なオブジェクトを指定するための指定工程と、
補間手段が、前記指定された不要なオブジェクトの領域に、周辺領域の画素値を用いて補間処理を施す補間工程と、
表示手段が、前記補間処理を施した画像を表示する表示工程と、
画像処理手段が、前記画像中の特定の領域に対してぼかし処理を施す画像処理工程と、を有し、
前記画像処理工程では、前記補間処理に利用した周辺領域の距離情報に応じて、前記ぼかし処理を施す領域を決定することを特徴とする画像処理方法。
【請求項16】
被写体を撮像して画像データを生成する撮像手段と、
前記撮像手段により生成された画像データを所定の単位で分割した各領域の撮影位置からの距離情報を取得する取得手段と、
前記撮像手段により生成された画像データを記憶する記憶手段と、
前記記憶手段に記憶された画像データを再生する再生手段と、を有する撮像装置の制御方法であって、
前記再生手段により再生された画像中の不要なオブジェクトを指定するための指定工程と、
前記指定工程にて指定された不要なオブジェクトの領域に、周辺領域の画素値を用いて補間処理を施す補間工程と、
前記補間工程にて補間処理を施した画像を表示する表示工程と、
前記画像中の特定の領域に対してぼかし処理を施す画像処理工程と、を有し、
前記画像処理工程では、前記補間処理に利用した周辺領域の距離情報に応じて、前記ぼかし処理を施す領域を決定することを特徴とする制御方法。
【請求項17】
コンピュータを、請求項1乃至11のいずれか1項に記載の画像処理装置、もしくは請求項12乃至14のいずれか1項に記載の撮像装置の各手段として機能させるためのプログラム。
【請求項18】
コンピュータを、請求項1乃至11のいずれか1項に記載の画像処理装置、もしくは請求項12乃至14のいずれか1項に記載の撮像装置の各手段として機能させるためのプログラムを記憶したコンピュータによる読み取りが可能な記憶媒体。
【図1】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図2】
【図9】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図2】
【図9】
【公開番号】特開2013−38468(P2013−38468A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−170445(P2011−170445)
【出願日】平成23年8月3日(2011.8.3)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願日】平成23年8月3日(2011.8.3)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]