説明

画像処理装置、その制御方法及びプログラム

【課題】 撮影の際の位置情報に関して、より精度の高い位置情報を提供することである。
【解決手段】 画像の撮影位置を示す位置情報を取得する第1の取得手段(115)と、
前記画像の撮影に関する撮影情報を取得する第2の取得手段(105、109)と、
前記第1の取得手段により取得された位置情報が前記画像が表すコンテンツの撮影位置を示しているか否かの指標である信頼度を、前記第2の取得手段により取得した撮影情報に基づき決定する決定手段(112)と、
前記決定手段により決定された信頼度と前記画像とを対応づける対応付け手段(107)とを備えることを特徴とする画像処理装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像を撮影した位置を示す位置情報を、該画像に対応づける画像処理装置、その制御方法及びプログラムに関するものである。
【背景技術】
【0002】
従来、撮影された位置が不明な画像データを入力すると、類似する画像データの検索を行い、類似画像データが撮影された位置情報を出力するシステムに関する技術が知られている。これにより、利用者は撮影位置が不明な撮影画像データの撮影位置を把握することが可能になる。
【0003】
例えば、特許文献1では撮影装置で撮影した画像データを入力すると、撮影画像データから特徴成分を抽出し、抽出された特徴成分に基づきデータベースから類似画像検索を行い、検索結果である位置情報を利用者に通知する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−191339号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述の特許文献に開示された従来技術では、検索対象となるデータベース内の類似画像データの位置情報が正しいものであるか否かが考慮されていない。そのため類似画像データベース中の画像データに誤った位置情報が含まれる画像データが存在すると、誤った位置情報を出力してしまう可能性があった。
【0006】
そこで本発明は、上述した課題に鑑みてなされたものであり、その目的は撮影した画像データに対応付けられる、位置情報に関して、より精度の高い位置情報を提供することである。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明は、画像データの撮影位置を示す位置情報を取得する第1の取得手段と、前記画像データの撮影に関する撮影情報を取得する第2の取得手段と、前記第1の取得手段により取得された位置情報が前記画像データが表すコンテンツの撮影位置を示しているか否かの指標である信頼度を、前記第2の取得手段により取得した撮影情報に基づき決定する決定手段と、前記決定手段により決定された信頼度と前記画像データとを対応づける対応付け手段とを備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、撮影画像データの位置情報に関して、より精度の高い位置情報を提供することが可能となる。
【図面の簡単な説明】
【0009】
【図1】本発明に係るシステム図の一例である。
【図2】(a)は第1の実施形態におけるカメラ100である。(b)はカメラ300の構成を示すブロック図である。
【図3】第1の実施形態におけるサーバ200の構成を示すブロック図である。
【図4】(a)、(b)は第1の実施形態におけるカメラ100の動作を示すフローチャートである。
【図5】本発明における被写体と撮影者の関係を示す図である。
【図6】第1の実施形態における信頼度を算出する動作を示すフローチャートである。
【図7】第1の実施形態における被写体距離情報と輝度評価値に係る図である。
【図8】第1の実施形態において付加されるメタデータを示す図である。
【図9】第1の実施形態におけるサーバ200の動作を示すフローチャートである。
【図10】第1の実施形態におけるカメラ300の動作を示すフローチャートである。
【図11】本発明における画像データベース構築の動作を示すフローチャートである。
【図12】第2の実施形態におけるカメラ100の動作を示すフローチャートである。
【図13】第3の実施形態におけるサーバ200の動作を示すフローチャートである。
【図14】第3の実施形態における被写体距離情報を用いて信頼度を算出する動作を示すフローチャートである。
【図15】第4の実施形態における輝度評価値を用いて信頼度を算出する方法に係る図である。
【図16】第4の実施形態における輝度評価値を用いて信頼度を算出する動作を示すフローチャートである。
【図17】第4の実施形態における画像データベースから検索された複数の類似画像データにそれぞれ付加された位置情報の分布を示す図である。
【図18】第4の実施形態における位置情報分布を用いて信頼度を算出する動作を示すフローチャートである。
【図19】第4の実施形態におけるコントラスト情報を用いて信頼度を算出する動作を示すフローチャートである。
【図20】第4の実施形態におけるフリッカ検出・走査線検出を用いて信頼度を算出する動作を示すフローチャートである。
【図21】第4の実施形態におけるフォーカスレンズの状態を用いて信頼度を算出する動作を示すフローチャートである。
【図22】第5の実施形態におけるカメラ100の信頼度の付加の動作を示すフローチャートである。
【図23】第5の実施形態におけるカメラ100の信頼度の付加の動作を示すフローチャートである。
【図24】第5の実施形態におけるカメラ100の表示部113に表示される表示画面の一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。なお、以下に説明する各実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施の形態は適宜組み合わされることも可能である。
【0011】
図1に、本発明が適用されるシステムの一例を示す。
【0012】
図1において、100はGPS(Global Positioning System)を搭載している画像処理装置の一例であるカメラである。200はカメラと情報のやり取りを行うサーバ、300はGPSを搭載していないカメラである。
【0013】
400はカメラ100で撮影する被写体(家)、500はカメラ300で撮影する被写体(本)である。
【0014】
以下、図面を参照して本発明の各実施形態におけるカメラ100、サーバ200、カメラ300の動作を説明する。
【0015】
[第1の実施形態]
第1の実施形態では、図1のシステムにおいて、カメラ100で撮影して得た画像データを保存する際に、カメラ100の位置を示す位置情報の信頼度を決定し、画像データに付加する例について述べる。
【0016】
本実施形態におけるカメラ100の構成例のブロック図を図2(a)に示す。
【0017】
図2(a)において101は被写体からの光束を結像するレンズ、102はアイリスである。
【0018】
103は、レンズ101及びアイリス102を介して入射した光を光電変換し、入力画像信号として出力する撮影素子である。104は、撮影素子103からの信号を適正レベルに増幅するAGCアンプであり、撮影素子103から出力された画像信号を適正レベルに増幅し、カメラ信号処理部105に出力する。105は、撮影素子103で生成された信号に対して、ガンマや輪郭強調などの補正を行うカメラ信号処理部で、処理した画像信号を符号化部106へ出力する。106は、カメラ信号処理部105で処理した画像信号を圧縮符号化する符号化部で、画像信号を、例えばJPEGやMPEGなどの規格に基づき圧縮符号化し、符号化した画像データを記録制御部107に送信する。107は、符号化部106で符号化された画像データの記録メディアへの記録を制御する記録制御部、108は記録メディアである。記録メディア108は画像データを記録する記録媒体の一種であって、カメラ100に着脱可能なよう構成してもよいし、カメラ100に内蔵してもよい。また、109は、被写体距離を測定する測距部で、距離センサとその制御部から構成される。測距部109は、被写体の複数点に関して距離を測定し、カメラ100と被写体との距離を示す被写体距離情報を出力する。ここで、本実施形態における被写体距離情報の取得方法について図7を用いて説明する。図7(b)は測距部109が被写体との距離を測定する測距点を示した図である。図7において701は撮影する被写体の範囲を示しており、702は測距点を示している。本実施形態における測距点702は3×3の9箇所である。測距部109は、この9箇所の点について被写体とカメラとの距離を算出する。被写体距離の算出方法は既知のどのような方法でもかまわないが、例えば、外測位相差検出方式によって行う。この場合、被写体から受けた光束を2分割し、該2分割した光束をラインセンサによりそれぞれ受光する。そして測距部109は、ラインセンサ上に形成された像のずれ量、すなわち位相差を検出し、該位相差から三角測量法を用いて被写体距離を算出する。以上が被写体距離情報の具体的な取得方法である。図2(a)の説明に戻る。110はメモリ部であり、RAM及びEEPROMを含む。メモリ部110には後述のシステム制御部112の動作用のプログラムが記憶され、また読み出したプログラムを展開する。ここでいうプログラムとは、本発明にて後述する各種フローチャートを実行するためのプログラムである。112はシステム全体を制御する処理を行うシステム制御部であり、各部からの入力信号やプログラムに基づき、カメラ100の動作を制御する。例えば、レンズ101のフォーカスレンズを駆動させ、被写体にフォーカスが合うように制御したり、後述の信頼度を算出するなど、各部の制御を行う。なお、カメラ100の制御は、1つのハードウェアで行ってもよいし、複数のハードウェアが処理を分担しながら行ってもよい。113は液晶パネルなどからなる表示部であり、記録メディア108に記録された画像データの閲覧や、撮影の際のスルー画像の表示などを行うよう、システム制御部112により制御される。114はユーザからの操作を受け付ける操作部、115はGPS衛星からの信号を受け取り、撮影情報である位置情報を取得するGPS、116は外部の装置と通信を行う通信部であり、システム制御部112によって制御される。
【0019】
次に、本実施形態におけるサーバ200の構成例のブロック図を図3に示す。図3において201は、外部機器と通信を行う通信部である。202はシステム全体を制御するシステム制御部であり、各部からの入力信号やプログラムに基づき、サーバ200の動作を制御する。例えば、後述の画像記録部204に記録された画像データを後述の画像データベース(以下、画像DB)205へ登録する処理や、後述の類似画像検索の処理等、各部の制御を行う。
【0020】
203はメモリ部でありRAM及びEEPROMを含む。メモリ部203にはシステム制御部202の動作用のプログラムが記憶され、また読み出したプログラムを展開する。ここでいうプログラムとは、本発明にて後述する各種フローチャートを実行するためのプログラムである。
【0021】
204は、画像データを記録する画像記録部で、カメラ100から通信部201を介して受け取った画像データを記録するようシステム制御部202により制御される。この画像記録部204に記録された画像データは、不特定多数のユーザが任意に閲覧可能である。本実施形態においては、例えば、表示部と操作部と通信部とを有する不図示の外部情報処理装置を用いて閲覧する。外部情報処理装置の表示部には、通信部を介して取得された、画像記録部204に保存されている画像データのリストが表示される。そして、操作部を介してあるユーザが該画像データを選択することで、画像記録部204に保存された画像データが表示部に表示される。これにより該ユーザは任意の画像データを閲覧することができる。
【0022】
205は大容量HDD等の記録装置から成る画像DBである。画像DB205は、システム制御部202によって、画像記録部204に保存されている画像データのうち、特定の画像データのみが登録される。本実施形態では、画像DB205に、画像記録部204に記録された画像データとそのメタデータとが保存されることにより画像データが登録される。なお、画像記録部204に記録されている画像データの保存場所のリストを保存するようにしてもよい。本実施形態では、システム制御部202は、この画像DB205に登録された画像データの中からカメラ300より受信した画像データと類似した画像データを検索する。
【0023】
次に、本実施形態におけるカメラ300の構成例のブロック図を図2(b)に示す。カメラ300の構成はカメラ100からGPS115を削除した構成となっている。その他の構成についてはカメラ100と同様のため説明は省略する。
【0024】
本実施形態における本システムの基本的な動作の概要を、図1〜3を用いて説明する。
【0025】
本実施形態では、カメラ300のユーザが、被写体(本)500に載っている被写体(家)400の写真の記事を見て、被写体(家)400が実際に存在する位置を知りたいシーンを想定する。このようなシーンの解決策として、カメラ300とは別のカメラからサーバ200に送信された画像データが登録された画像DB205を用意する。そして、画像DB205に登録された画像データ中から、被写体(家)400が写っている画像データを検索し、その画像データに付加されている位置情報を用いて、カメラ300に被写体(家)400の位置情報を提供することで解決する。
【0026】
まず、カメラ100で撮影した画像データを画像DB205に登録する流れを以下に説明する。
【0027】
カメラ100が被写体(家)400を撮影すると、記録制御部107は符号化部106からより撮像した画像データを受信する。さらに、測距部109は被写体距離情報を算出する。そして、システム制御部112はGPS115を用いて撮影の際のカメラ100の位置を示す位置情報を取得し、当該位置情報を記録制御部107へ出力する。さらに、撮影情報として測距部109は被写体距離情報をシステム制御部112へ出力する。さらに、撮影情報としてカメラ信号処理部105は輝度評価値をシステム制御部112へ出力する。システム制御部112は、カメラ100のカメラ信号処理部105から入力された輝度評価値と、測距部109から入力された被写体距離情報から信頼度を算出して記録制御部107へ出力する。記録制御部107は入力された信頼度を、位置情報とともに画像データに対応づけて記録メディア108に保存する。
【0028】
このようにして保存された画像データは、自動的に、あるいはユーザの操作によって、画像保存要求信号とともに通信部116を介してサーバ200へ送信される。画像保存要求信号とは、画像記録部204へ該信号とともに送信した画像データを保存するようサーバ200に要求するための信号である。これにより、カメラ100で撮影した画像データがサーバ200の画像記録部204に保存される。
【0029】
ここで信頼度について説明する。信頼度は、GPS115で取得した位置情報と、撮影された画像データが表すコンテンツとの関連性の度合いを示す。画像データが表すコンテンツとは、画像データが示す内容であり、例えば被写体500の写真が表すコンテンツは「家」である。この信頼度は、実物の被写体を撮影している場合は高くなり、雑誌や本などのような出力物を撮影している場合は低くなる。これは、雑誌や本などの出力物を撮影している場合は、撮影位置と撮影された画像データの内容との間の関連性が低くなるためである。これついて例をあげて説明する。
【0030】
図5(a)は実際の建物である被写体501と撮影者502、カメラ100を示している。このようにコンテンツとして実物の被写体501を撮影している場合、撮影された画像データに記録される位置情報は、少なくとも被写体501を撮影できる位置の位置情報が記録される。したがって、その位置情報は被写体501に関連したものであるため、信頼度は高くなる。一方で、図5(b)は本503に掲載された写真504をカメラ100で撮影する様子を示している。写真504は被写体501を撮影した写真である。この場合、撮影の際に記録される位置情報は本503の位置情報であるが、画像データの内容が示すのは被写体501の写真を撮影したものである。つまり、画像データが表すコンテンツ(被写体501)と、記録される位置情報(本503の位置情報)との関連性がない可能性が高くなる。そのため、信頼度は低くなる。以上が信頼度の説明である。
【0031】
カメラ100で撮影した画像データを画像DB205に登録する流れの説明に戻る。サーバ200はカメラ100からの画像データを受信し、画像記録部204に保存する。ここで、サーバ200は、画像記録部204に保存された画像データのうち、信頼度の高い画像データを画像DB205に登録する。このようにして多くの画像データが画像DB205に登録されていくことによって、画像DB205には信頼度の高い画像データが登録されることとなる。本実施形態では、これらの信頼度の高い画像データを用いて後述する類似画像検索を行うこととする。
【0032】
以上が、画像DB205に画像データを登録するまでの流れである。
【0033】
次に、カメラ300のユーザが被写体(家)400の実際に存在する位置をサーバ200から受け取るまでの流れを説明する。
【0034】
まず、カメラ300は被写体(本)500に載っている被写体(家)400の画像データを撮影し、サーバ200へ位置情報取得要求信号とともに送信する。位置情報要求信号とは、画像DB205に登録された画像データのうち、該信号とともに送信する画像データに類似した画像データをサーバ200に検索させるための信号である。
【0035】
サーバ200は、カメラ300からの位置情報取得要求信号とともに送信された画像データを受信すると、画像DB205に保存された画像データから類似画像検索を行う。本実施形態においては、サーバ200は受信した被写体(本)500に載っている被写体(家)400に類似している画像データを検索し、被写体(家)400の画像データを検索結果として得る。そして、被写体(家)400の画像データに対応づけられた位置情報を取得し、取得した位置情報をカメラ300に送信する。
【0036】
このように制御することによって、カメラ300は被写体(本)500に載っている被写体(家)400を撮影することで、被写体(家)400の位置情報をサーバ200から取得可能となる。
【0037】
以上が、カメラ300のユーザが被写体(家)400の実際に存在する位置をサーバ200から受け取るまでの流れである。
【0038】
以上の動作を、(1)カメラ100が画像データをサーバ200へ送信し、該画像データをサーバ200が画像DB205へ登録する動作、(2)カメラ300で撮影された画像に基づき、サーバ200が位置情報をカメラ300へ送信する動作、に分けて説明する。
【0039】
(1)カメラ100が画像データをサーバ200へ送信し、該画像データをサーバ200が画像DB205へ登録する動作
まず、前述のように構成されたカメラ100の動作について図4のカメラ動作フローを用いて説明する。このフローチャートにおける各処理は、カメラ100の動作を制御するプログラムをメモリ部110からシステム制御部112が読み出し・展開・実行することにより実現される。以下、カメラ100の動作を示す各フローチャートにおける各処理は同様の方法で実現される。
【0040】
図4(a)に示すフローは、操作部114を介して撮影指示が受け付けられたことに応じて開始される。
【0041】
撮影指示を受け付けると、ステップS401においてシステム制御部112は画像データの撮影を行う。さらに、測距部109は前述の被写体距離情報をシステム制御部へ出力する。
【0042】
ステップS402では、システム制御部112は、GPS115を用いて、カメラ100の位置を示す位置情報を求める。この処理はステップS401と並行して行ってもよい。
【0043】
さらに、ステップS403では、システム制御部112は、カメラ信号処理部105からは画像データの輝度信号を取得する。具体的には、カメラ信号処理部105は、画像データの輝度信号を図7(a)に示すような4×4=16のメッシュ枠に分割する。カメラ信号処理部105は、この16個のメッシュ枠ごとに輝度値を平均化し16個の輝度評価値を生成し、システム制御部112へ出力する。
【0044】
次に、ステップS404にて、システム制御部112は当該輝度信号と前記被写体距離情報から信頼度を算出する。この処理については後述する。
【0045】
ステップS405で、システム制御部112は記録制御部107により、被写体距離情報と、位置情報と、輝度評価値と、信頼度とを、ステップS401で得られた画像データのメタデータとして付加するよう制御する。
【0046】
被写体距離情報と位置情報と輝度評価値と信頼度は、それぞれステップS401、ステップS402、ステップS403、ステップS404で求めたものである。
【0047】
そして、ステップS406にてシステム制御部112は記録制御部107により、ステップS405でメタデータとして信頼度を付加された画像データを記録メディア108に記録するよう制御する。
【0048】
このようにして記録メディア108に記録された画像データは、自動的に、或いは操作部114を介して受け付けたユーザの操作によってサーバ200へ画像保存要求信号とともに送信される。図4(b)に示すフローは画像保存要求信号とともに画像データを送信する命令を受け付けることで開始される。
画像保存要求信号とともに画像データを送信する命令を受け付けると、ステップS407にて、システム制御部112は、記録メディア108に保存されている送信対象の画像データを、通信部116を介して画像保存要求信号とともにサーバ200に送信する。
【0049】
ここで、ステップS404の、信頼度を算出する際のカメラ100の動作について説明する。
【0050】
システム制御部112は実物を撮影している状況なのか、本やテレビなどの出力物を撮影しているのかを判断し、信頼度を算出する。本実施形態では、システム制御部112は、カメラ信号処理部105から出力された輝度信号と、測距部109から出力された、距離情報に基づき信頼度を算出する。以下、この信頼度の算出方法について詳しく説明する。
【0051】
図6は、図4におけるステップS403の信頼度算出処理におけるカメラ100の動作を示すフローチャートである。
【0052】
図6のステップS600において、システム制御部112は、カメラ信号処理部105から取得した16個の輝度評価値から、その分散値を算出する。分散値の算出方法は一般的な方法でかまわない。
【0053】
ステップS601では、システム制御部112は測距部109から取得した9個の被写体距離情報の平均値と分散値を算出する。
【0054】
ステップS602でシステム制御部112は、ステップS601で算出した被写体距離の平均値が閾値A以上であるか判断する。閾値A以上であると判断された場合は、被写体との距離が遠く、近くの本などを撮影している可能性が低いと判断し、ステップS603へ進む。閾値Aよりも小さいと判断された場合はステップS604へ進む。
【0055】
ステップS603にて、システム制御部112は、画像データに付加する信頼度を上げるよう設定する。具体的には、画像データに付加する信頼度(本実施形態では初期値0.5をとることとする)に一定の値(ここでは+0.5)を加算した値に設定する(本実施形態では信頼度の最大値は1.0とする)。
【0056】
一方、ステップS604では、システム制御部112は、被写体距離の分散値が所定の閾値B以上であるか否かを判断する。被写体距離の分散値が閾値B以上であると判断された場合は、被写体距離がばらついているということであり、実物の被写体である可能性が高いと判断し、ステップS603へ進む。一方、被写体距離の分散値が閾値Bよりも小さいと判断された場合は、被写体距離が均一であり、本などの平坦な被写体を撮影している可能性があるとして、ステップS605へ進む。
【0057】
ステップS605では、システム制御部112は輝度評価値の分散値が閾値C以上であるか判断する。輝度評価値の分散値が閾値C以上と判断された場合は、輝度評価値の分散値が高くばらついているにも関わらず、距離の分散値が低い(S604より)ということなので、本などの平坦な被写体を撮影している可能性が高いと判断し、ステップS606へ進む。一方、輝度評価値の分散値が閾値Cよりも小さいと判断された場合は、ステップS607へ進む。
【0058】
ステップS606では、画像データに付加する信頼度を下げるよう設定する。具体的には、信頼度に一定の値(ここでは−0.5)を加算した値に設定する(本実施形態では信頼度の最低値は0.0)。ステップS607では、信頼度を、距離の分散値に基づき設定する。具体的には、被写体距離の分散値が閾値Bに近づくほど、信頼度を最大値(1.0)に近づけ、被写体距離の分散値が0に近づくほど信頼度を最小値(0.0)に近づけるように設定する。ここでは、被写体距離の分散値が閾値Bに近づくほど信頼度の初期値に加える値を+0.5に近づけ、被写体距離の分散値が0に近づくほど信頼度の初期値に加える値を−0.5に近づける。
【0059】
以上、システム制御部112における信頼度の算出フローについて説明した。ここで求められる信頼度は、上述の図4におけるステップS405にて、画像データのメタデータとして付加される。画像データに付加するメタデータの例を図8に示す。図8において801が位置情報、802が信頼度を示している。
【0060】
以上、本実施形態におけるカメラ100の動作について説明した。
【0061】
次に、カメラ100から画像データを受信したサーバ200の動作について図9のサーバの動作フローを用いて説明する。このフローチャートにおける各処理は、サーバ200の動作を制御するプログラムをメモリ部203からシステム制御部202が読み出し・展開・実行することにより実現される。以下、サーバ200の動作を示す各フローチャートにおける各処理は同様の方法で実現される。
【0062】
まず、ステップS900にて、サーバ200は通信部201を介して、カメラ100から画像データとともに前述した画像保存要求信号または位置情報要求信号を受信する。
【0063】
そして、ステップS901にて、システム制御部202は、サーバ200が画像データとともに受信した信号が、画像保存要求信号であるか位置情報要求信号であるかを判断する。
【0064】
ここでは、ステップS900にてサーバ200が受信した信号が、ステップS901にて画像保存要求信号であると判断され、ステップS902に進む場合について説明する。ステップS904に進む場合については後述する。
【0065】
ステップS900にて受信した信号が画像保存要求信号であると判断された場合、ステップS902に進む。
【0066】
ステップS902にてシステム制御部202は、画像保存要求信号とともに受信した画像データを画像記録部204に保存するよう制御する。
【0067】
ステップS903では、システム制御部202は、ステップS902にて保存された画像データを用いて、画像DB205を構築する。具体的には、サーバ200は、画像記録部204に保存された画像データのうち、信頼度が一定値以上の画像データを画像DB205に登録する。
【0068】
ここで、ステップS903の画像DB205の構築におけるサーバの動作について図11を用いて説明する。
【0069】
図11は、画像DB205を構築する際のサーバ200の動きを示したフローチャートである。
【0070】
ステップS1101において、システム制御部202は画像記録部204に記録された画像データを取得する。本実施形態では画像データのコピーをメモリ部203に生成する。
【0071】
ステップS1102では、システム制御部202は、取得した画像データから図8に示したようなメタデータを抽出する。
【0072】
ステップS1103では、システム制御部202が、抽出したメタデータから位置情報と信頼度を取得する。
【0073】
ステップS1104では、システム制御部202が、メタデータから位置情報および信頼度を取得できたかどうか、すなわちメタデータに位置情報および信頼度が記録されていたかを判断する。位置情報および信頼度が記録されていると判断された場合は、ステップS1105に進み、位置情報および信頼度が記録されていないと判断された場合はステップS1107に進む。
【0074】
ステップS1105では、システム制御部202は信頼度が閾値D以上であるか判断する。信頼度が閾値D以上と判断されればステップS1106へ進み、閾値D未満と判断された場合はステップS1107へ進む。
【0075】
ステップS1106では、システム制御部202が、画像データを画像DB205へ登録する。本実施形態ではメモリ部203に生成された画像データのコピーを、画像DB205を構成するHDDに保存する。
【0076】
ステップS1107では、システム制御部202が、画像データを画像DB205へ登録せずに処理を終了する。メモリ部203に生成された画像データのコピーは破棄される。
【0077】
以上が、システム制御部202が画像DB205を構築する際の動作である。このように制御することにより、位置情報が記録されており、かつ信頼度が高い画像データのみを画像DB205に登録することが可能となる。
【0078】
(2)カメラ300が撮影した画像データをサーバ200へ送信し、該画像データに応じてサーバ200が位置情報をカメラ300へ送信する動作
次に、カメラ300が撮影した画像データを位置情報要求信号とともにサーバ200に送り、サーバ200が類似画像検索を行い、類似画像データに付加された位置情報をカメラ300に送信する際の処理について図9と図10を用いて説明する。
【0079】
図10はカメラ300がサーバ200へ画像データとともに位置情報要求信号を送り、サーバ200から位置情報を受信する動作を示すフローチャートである。本フローは、自動的に、或いは操作部114を介して受け付けたユーザの操作によってサーバ200へ画像保存要求信号とともに画像データを送信する命令を受け付けることで開始される。
【0080】
ステップS1000にて、システム制御部112は画像データとともに位置情報要求信号を、通信部116を介してサーバ200へ送信する。
【0081】
次に、カメラ300から位置情報要求信号を受信したサーバ200の動作の説明に移る。
【0082】
ここでは、図9のステップS901にてサーバ200が受信した信号が位置情報要求信号であると判断された場合について説明する。この場合、ステップS904に進む。
【0083】
ステップS904にて、システム制御部202は画像DB205を参照し、位置情報要求信号とともに受信した画像データの被写体と特徴が類似する画像を画像DB205に登録された画像データから検索する。
【0084】
ステップS904で類似する画像データが無い場合、ステップS905へ進む。ステップS905では、システム制御部202は、類似する画像データが無かった旨をカメラ300へ通知し、処理を終了する。
【0085】
一方、ステップS904で類似する画像データがあった場合、ステップS906にてシステム制御部202は、最も類似する画像データに付加された位置情報を、通信部201を介してカメラ300に送信し、処理を終了する。
【0086】
処理の説明を図10のカメラ300の動作に戻す。カメラ300はステップS1000にて位置情報要求信号とともに画像データを送信した後、システム制御部112はステップS1001にてサーバ200からの信号受信を受信したか否かを判断する。受信していないと判断した場合、システム制御部112はステップS1001の処理を繰り返す。この処理は一定回数あるいは一定時間の経過によって処理を終了するよう制御してもよい。
【0087】
システム制御部112がステップS1001にてサーバ200からの信号を受信したと判断した場合、処理はステップS1002へ進む。ステップS1002では、システム制御部112は、受信した信号が、図9のステップS905にてサーバ200から送信された類似画像データが無い旨の通知であるか、図9のステップS906にてサーバ200から送信された位置情報であるかを判断する。ステップS1002にて受信した信号が、類似画像データがない旨の通知であると判断された場合、処理はステップS1004へ進む。ステップS1004では、システム制御部112は受信した通知に基づいて、サーバ200の画像DB205には類似画像データが存在してない旨をユーザに通知する。本実施形態ではシステム制御部112が表示部113に「類似画像がありませんでした」等のメッセージを表示させることでユーザに通知することとする。もちろんこの通知方法はこれに限るものではない。
【0088】
一方、ステップS1002にて受信した信号が、位置情報であると判断された場合、処理はステップS1003へ進む。ステップS1003では、システム制御部112は、受信した位置情報を表示部113へ表示する。本実施形態では、システム制御部112が、カメラ300からサーバ200へ送信した画像データとともに「この画像の位置情報はXXXXです」等というメッセージを表示させることとする。もちろんこの通知方法はこれに限るものではない。さらに、該画像データのメタデータとして、サーバ200から得た位置情報を付加してもよい。
【0089】
以上が、カメラ300が撮影した画像データを位置情報要求信号とともにサーバ200に送り、サーバ200が類似画像検索を行い、類似画像データに付加された位置情報をカメラ300に送信する際のカメラ300とサーバ200の動作の説明である。
【0090】
以上、述べたように本実施形態のシステムでは、カメラ100は、撮影の際のカメラ100の位置を示す位置情報と撮影された画像データの内容との関連性の度合いを示す信頼度を生成し、メタデータとして記録する構成とした。また、サーバ200は、信頼度が一定値よりも高い画像データを利用して画像データベースを構築する構成とした。これにより、カメラ300が類似画像データを用いて位置情報を検索する際に精度の高い位置情報が提供できる。
【0091】
なお、カメラ100からサーバ200に画像保存要求信号とともに画像データを送信する際に、画像データに対応づけられた信頼度を用いて送信するか否か判断する構成にしてもよい。例えば、画像データに対応づけられた信頼度が高ければサーバ200に送信し、画像データに対応づけられた信頼度が低ければ送信しないよう制御してもよい。こうすることで、画像DB205には信頼度の高い画像データのみが登録されることとなり、類似画像データを用いて位置情報を検索する際に精度の高い位置情報を得ることができる。
【0092】
また、サーバ200が類似画像検索を行う際に、信頼度を用いて検索対象とするか否かを判断する構成にしてもよい。例えば、画像データに対応づけられた信頼度が一定値よりも高ければ検索対象とし、画像データに対応づけられた信頼度が低ければ検索対象としないよう制御してもよい。これにより、カメラ300へ精度の高い位置情報を提供できる。
【0093】
以上が、第1の実施形態の説明である。
【0094】
[第2の実施形態]
第1の実施形態では、図1のシステムにおいて、カメラ100で位置情報の信頼度を画像データのメタデータとして付加する例について述べた。
【0095】
これに対し、第2の実施形態では、図1のシステムにおいて、カメラ100からサーバ200への画像データ送信の際に位置情報の信頼度を画像データのメタデータとして付加する例について述べる。
【0096】
本実施形態のカメラ100、サーバ200とカメラ300の構成は第1の実施形態と同様のため説明は省略する。
【0097】
本実施形態が第1の実施形態と異なるのは、撮影後に画像データを保存する際に信頼度を算出・対応付けを行わずに、記録メディア108に保存された画像データをカメラ外部に送信する際に該画像データに対して信頼度の算出・対応付けを行う点である。
【0098】
本実施形態におけるシステムの基本的な動作の概要を、図1〜3を用いて説明する。
【0099】
カメラ100が被写体(家)400を撮影すると、記録制御部107は、受信した画像データのメタデータとして、位置情報と被写体距離情報と輝度評価値とを付加して記録メディア108に保存する。
【0100】
こうして保存された画像データをサーバ200へ送信する送信命令を受け付けた場合、システム制御部112は、送信する画像データのメタデータから被写体距離情報と輝度評価値とを取得し、信頼度を計算する。
【0101】
そして、システム制御部112は算出した信頼度を、送信する画像データのメタデータとして付加してから、該画像データを、通信部116を介してサーバ200へ送信するよう制御する。
【0102】
以降のサーバ200の動作や、カメラ300で撮影された画像データに基づき、サーバ200が位置情報をカメラ300へ送信する動作については第1の実施形態と同様であるため説明は省略する。
【0103】
図12は、本実施形態の処理を行うカメラ100の動作を示すものである。上記カメラ100の動作を図12に示すフローチャートを用いて説明する。図12(a)は撮影した画像データを保存する動作、図12(b)は保存された画像データをサーバ200へ送信する際に信頼度を対応づけてから送信する動作を示すフローチャートである。
【0104】
図12(a)のフローは操作部114を介して撮影指示が受け付けられたことに応じて開始される。
【0105】
ステップS1201〜ステップS1203、は、図4のステップS401〜ステップS403と同様の処理を行う。
【0106】
ステップS1204で、システム制御部112は、取得した位置情報と被写体距離情報と輝度評価値とを、ステップS1201で得られた画像データにメタデータとして付加する。ステップS1205にて、システム制御部112は、該画像データを記録メディア108に保存する。
【0107】
こうして保存された画像データは、所定のタイミングで、或いは操作部114を介して受け付けたユーザの操作によってサーバ200へ画像保存要求信号とともに送信される。図12(b)のフローは、画像保存要求信号とともに画像データを送信する命令を受け付けることで開始される。図12(b)は図4(b)のステップS407の前に、ステップS1206〜ステップS1208の処理を行う。ステップS1209は図4(b)のステップS407と同様の処理を行う。
【0108】
画像保存要求信号とともに画像データを送信する命令を受け付けると、ステップS1206にて、システム制御部112は、送信する画像データに付加された被写体距離情報と輝度評価値を、記録制御部107を介して取得する。次に、ステップS1207にて、システム制御部112は、ステップS1206にて取得した被写体距離情報と輝度評価値とを用いて信頼度を求める。この処理は図4のステップS404、図7の処理と同様である。ステップS1208にてシステム制御部112は、記録制御部107により、ステップS1207で求められた信頼度を、送信する画像データにメタデータとして付加する。
【0109】
最後に、ステップS1209にて、システム制御部112は、信頼度がメタデータとして付加された画像データを、画像保存要求信号とともに通信部116を介してサーバ200へ送信するよう制御する。
【0110】
以上、本実施形態における信頼度算出の際の動作について説明した。
【0111】
以上の動作により、撮影した画像データが記録メディア108に記録されている状態、つまりカメラを所持している者だけが画像データを利用する可能性が高い状態では、信頼度を算出・付加を行わなくなる。これによりカメラ100の負荷を減少することができる。また、撮影した画像データに対応づけられる位置情報の信頼度がカメラ外部に送信されるときに付加されることとなり、位置情報がカメラを所持している者以外の者が利用しやすくなる前に信頼度を付加することができる。
【0112】
[第3の実施形態]
第2の実施形態では、図1のシステムにおいて、カメラ100から画像データを送信する際に信頼度を画像データに付加する例について述べた。これに対し、第3の実施形態では、図1のシステムにおいて、サーバ200で位置情報の信頼度を画像データのメタデータとして付加する例について述べる。
【0113】
本実施形態のカメラ100、サーバ200とカメラ300の構成は第1の実施形態と同様である。ただし、本実施形態ではカメラ100のシステム制御部112は信頼度の算出(図6の処理)を行わず、サーバ200のシステム制御部202が信頼度の算出を行う点が第1の実施形態と異なる。
【0114】
第3の実施形態における本システムの基本的な動作の概要を、図1〜3を用いて説明する。
【0115】
カメラ100が被写体(家)400を撮影すると、記録制御部107は、受け取った画像データに、位置情報と被写体距離情報と輝度評価値とをメタデータとして付加し、該画像データを記録メディア108に保存する。
【0116】
こうして保存された、被写体距離情報と輝度評価値とがメタデータとして付加された画像データを、サーバ200へ送信する送信命令を受け付けた場合、該画像データを、通信部116を介してサーバ200へ送信する。
【0117】
次に、サーバ200はカメラ100から送信された画像データを受信し、画像記録部204に保存する。その際、システム制御部202は受信した画像データのメタデータから被写体距離情報と輝度評価値を取得し、信頼度を算出する。そして、算出された信頼度をメタデータとして付加された受信画像データが、画像記録部204に保存される。そして、第1の実施形態と同様にサーバ200は、画像記録部204に保存された画像データのうち、信頼度が一定値よりも高い画像データを画像DB205に登録する。
【0118】
これ以降の、カメラ300で撮影された画像データに基づきサーバ200が位置情報を送信する動作については第1の実施形態と同様のため省略する。
【0119】
本実施形態におけるカメラ100の動作は、図12(a)に示される動作、及び図4(b)に示される動作と同様である。
【0120】
図12(a)の動作により記録メディア108に保存された画像データは、自動的に、或いは操作部114を介して受け付けたユーザの操作によって、図4(b)の動作によりサーバ200へ画像保存要求信号とともに送信される。
【0121】
次に、前記画像保存要求信号とともに送信された画像データを受信したサーバ200の動作について図13のサーバの動作フローを用いて説明する。
【0122】
図13は、図9のステップS902とステップS903の間に、ステップS1303〜S1305の処理を行う。それ以外のステップでは図9と同様の処理を行う。
【0123】
まず、ステップS1300にて、サーバ200は通信部201を介して、カメラ100から画像データとともに画像保存要求信号または位置情報要求信号を受信する。
【0124】
ステップS1301にて、システム制御部202は、サーバ200が画像データとともに受信した信号が、画像保存要求信号であるか位置情報要求信号であるかを判断する。
【0125】
ここでは、ステップS1301にて、サーバ200が受信した信号が画像保存要求信号であると判断され、ステップS1302に進む場合について説明する。ステップS1306に進む場合については第1の実施形態と同様のため説明は省略する。
【0126】
ステップS1301にて受信した信号が画像保存要求信号であると判断された場合、ステップS1302に進む。ステップS1302にてシステム制御部202は、画像保存要求信号とともに受信した画像データを画像記録部204に保存するよう制御する。
【0127】
ステップS1303において、システム制御部202は、画像記録部204に保存された画像データのメタデータから被写体距離情報と輝度評価値とを取得する。
【0128】
ステップS1304では、図4のステップS404、図6の処理と同様の処理によって信頼度を求める。
【0129】
ステップS1305では、システム制御部112はステップS1304で求められた信頼度をステップS1300で受信した画像データにメタデータとして付加して、該画像データを画像記録部204に保存する。
【0130】
ステップS1306以降は図9と同様なので説明は省略する。
【0131】
以上のようにサーバにより画像データに信頼度を付加する構成とすることで、カメラ100が信頼度を算出する機能を持たずとも画像データに信頼度を付加することができる。
【0132】
以上、第3の実施形態では、サーバ側で信頼度を生成する場合について述べた。
【0133】
[第4の実施形態]
上述の実施形態では、被写体距離情報及び輝度評価値を用いて信頼度を算出していた。本実施形態ではそれとは別に、以下の6つの方法で信頼度を算出する方法についてそれぞれ説明する。
(1)被写体距離情報を用いて信頼度を算出する方法
(2)輝度評価値を用いて信頼度を算出する方法
(3)位置情報分布を用いて信頼度を算出する方法
(4)コントラスト情報を用いて信頼度を算出する方法
(5)フリッカ検出・走査線検出を用いて信頼度を算出する方法
(6)フォーカスレンズの状態を用いて信頼度を算出する方法
これらの信頼度算出の処理は図6を用いて説明した信頼度算出のフローにとってかわる、あるいは組み合わせて用いられるものである。
【0134】
(1)被写体距離情報を用いて信頼度を算出する方法
ここでは、信頼度を算出する方法として、被写体距離情報と輝度評価値のうち、被写体距離情報を用いた算出方法について説明する。被写体距離情報を用いる場合、被写体との距離が遠いか、距離の分散値が大きい場合は信頼度を高くし、被写体距離が近く、距離の分散値が小さい場合は信頼度を低くする。
【0135】
図14を用いて、被写体距離情報を用いて信頼度を算出する処理の流れについて説明する。
【0136】
図14のフローチャートは、図6におけるステップS600を削除し、ステップS605〜ステップS607の代わりにS1405の処理を行うものである。ステップS1401〜ステップS1404は図6のステップS601〜ステップS604と同様の処理を行う。
【0137】
ステップS1401〜S1404については図6と同様の処理なので説明を省略する。
【0138】
ステップS1404にて被写体距離の分散値が閾値B以上であると判断された場合、ステップS1403へ進み、システム制御部112あるいはシステム制御部202は、ステップS1403にて信頼度を上げるよう設定する。具体的には信頼度(本実施形態では初期値0.5をとることとする)に一定の値(ここでは+0.5)を加算した値に設定する。
【0139】
ステップS1404にて被写体距離の分散値が閾値B以上でないと判断された場合、ステップS1405に進む。
【0140】
ステップS1405では、システム制御部112あるいはシステム制御部202は、被写体距離の分散値の値に応じて信頼度を設定する。本実施形態では、分散値が閾値Bに近づくにつれて信頼度を高く設定し、分散値が0に近づくにつれて信頼度を低く設定する。本実施形態では、分散値が閾値Bに近づくほど信頼度に加える値を+0.5に近づけ、分散値が0に近づくほど信頼度に加える値を−0.5に近づける。
【0141】
以上、被写体距離情報を用いて信頼度を算出する方法について説明した。これにより、被写体とカメラ100との距離が近く、かつ被写体距離の分散値が低い(被写体が平坦である)場合は、被写体が印刷物である可能性が高いと判断して信頼度を低く設定することができる。
【0142】
(2)輝度評価値を用いて信頼度を算出する方法
ここでは、信頼度を算出する方法として、被写体距離情報と輝度評価値のうち、輝度評価値を用いた算出方法について説明する。この場合、撮影情報である撮影範囲内の輝度分布において、本の用紙と画像領域との境界で急峻な輝度の変化が生じることを利用する。図15(a)は本に掲載された写真を撮影するケースでの、本と撮影範囲の関係を示している。図15(a)において、1501は本全体、1502は撮影範囲を示している。また、図15(b)は撮影された画像データを示している。図15(c)は撮影画像データ(図15(b))の1503の1ピクセル幅のラインでの輝度波形を示した図である。図15(c)の縦軸は輝度をとり、横軸は、ピクセルをとる。本などを撮影した際には、1504に示すような波形で、印刷物において生じる可能性が高い急峻な輝度の変化が生じる場合がある。これは、画像領域と本の用紙との境界である。このような急峻な輝度の変化が輝度信号に含まれるか否かを判断し、急峻な輝度の変化を検出した場合には、実被写体を撮影していない可能性が高いとみなして、信頼度を低くする。本実施形態では、図15(c)に示す輝度波形において、あるピクセル位置の輝度と、隣接するピクセルの輝度との差が一定の値以上であった場合に、急峻な輝度の変化があったと判断する。
【0143】
図16を用いて、輝度評価値を用いて信頼度を算出する処理の流れについて説明する。図16は輝度評価値を用いた信頼度の算出方法のフローチャートである。
【0144】
ステップS1601にてシステム制御部112あるいはシステム制御部202は、信頼度を付加する画像データから、図15(c)に示すような任意のラインの画像データの輝度波形を取得する。
【0145】
ステップS1602にてシステム制御部112あるいはシステム制御部202は、輝度波形に急峻な輝度の変化の有無を判断する。
【0146】
ステップS1602にて急峻な輝度の変化があると判断された場合、システム制御部112あるいはシステム制御部202は、ステップS1603にて信頼度を下げるよう設定する。本実施形態では、信頼度に加算する値を−0.5とする。
【0147】
ステップS1602にて急峻な輝度の変化がないと判断された場合、システム制御部112あるいはシステム制御部202は、信頼度を変更せずに処理を終了する。
【0148】
以上、輝度評価値を用いて信頼度を算出する方法について説明した。これにより、画像データの輝度値に急峻な変化がみられた場合は被写体が印刷物である可能性が高いと判断して信頼度を低く設定できる。
【0149】
(3)位置情報分布を用いて信頼度を算出する方法
ここでは、信頼度を算出する方法として位置情報分布を用いて信頼度を算出する方法について説明する。位置情報分布とは、サーバ200の画像DB205に登録されている画像データのうち、カメラ100から受信した画像データ(受信画像データ)に類似した画像データ(類似画像データ)に対応づけられた位置情報の分布である。図17は複数の類似画像データにそれぞれ対応づけられた位置情報の分布を示すヒストグラムの一例である。図17において横軸は類似画像データに対応づけられた位置情報を示し、縦軸は類似画像データの数を表す度数を示している。本実施形態では、位置情報が緯度と経度で付加されることとし、図17の横軸は緯度又は経度の階級をとることとする。階級の取り方は任意の方法でかまわない。以後、階級のことを位置と呼ぶ。ある位置での度数が多いということは、その位置の緯度又は経度に対応づけられた類似画像データが多く存在するということを示している。
【0150】
位置情報がメタデータとして付加された画像データがカメラ100からサーバ200へ送信されると、システム制御部202は画像DB205に登録されている画像データのなかから、受信画像データに類似した画像データの検索を行う。類似画像データが存在する場合、システム制御部202は、検索された類似画像データに対応づけられた位置情報から、図17に示すような、類似画像データに対応づけられた位置情報の分布を示すヒストグラムを算出する。さらに、システム制御部202は該ヒストグラムから、ヒストグラムのピークを示す位置(ピーク位置)を算出し、ピーク位置と、ピーク位置の度数と、受信した画像データに対応づけられた位置情報が示す位置(画像データ位置)とを用いて信頼度を算出する。本実施形態では、ピーク位置とは、ある位置の度数から右隣の位置の度数を引いた差をとり、その差が負から正になる位置とする。もちろんピーク位置を定める方法はこれに限るものではない。図17の例では、位置P1がピーク位置となる。
【0151】
信頼度の算出においては、このピーク位置P1の度数が一定値以上であり、ピーク位置P1が画像データ位置P0の一定距離内にある場合には、受信画像データに類似した画像データが一定距離以内で多く撮影されていたということなので、信頼度は高く設定される。一方、ピーク位置が存在しない場合や、全てのピーク位置の度数が一定値未満であった場合は、ヒストグラムからは判断できないため信頼度は変更されない。さらに、ピーク位置P1の度数が一定値以上であるが、ピーク位置P1が、画像データ位置P0の一定距離外にある場合には、受信画像データに類似した画像データが離れた場所で多く撮影されていたということなので、信頼度は低く設定される。
【0152】
図18を用いて、位置情報分布を用いて信頼度を算出する処理の流れについて説明する。図18は位置情報分布を用いた信頼度の算出方法のフローチャートである。
【0153】
図18に位置情報分布を用いた信頼度算出のフローチャートを示す。
【0154】
ステップS1801にて、システム制御部202は信頼度を付加する画像データと類似する画像データを、画像DB205に登録された画像データから検索する。
【0155】
ステップS1801にて類似する画像データが無いと判断された場合、システム制御部202は信頼度を変更せずに処理を終了する。
【0156】
一方、ステップS1801にて複数の類似する画像データがあると判断された場合、ステップS1802に進む。
【0157】
ステップS1802では、システム制御部202は複数のまたは一つの類似する画像データにそれぞれ付加された位置情報の分布におけるピークが存在するか否かを判断する。
【0158】
ステップS1802にてピークが存在しないと判断された場合、システム制御部202は信頼度を変更せずに処理を終了する。
【0159】
ステップS1802でピークが一つ、または複数存在すると判断された場合、システム制御部202はステップS1803にて、各ピークの度数が一定値以上であるか判断する。ステップS2003にて全てのピークの度数が一定値未満であると判断された場合、システム制御部202は信頼度を変更せずに処理を終了する。ステップS1803にて一つ以上のピークの度数が一定値以上であると判断された場合、ステップS1804へ進む。ステップS1804では、システム制御部202は信頼度を付加する画像データに対応づけられた位置情報の示す位置P0と、度数が一定値以上のピークの位置との距離を算出する。そしてP0から一定距離よりも近い、度数が一定値以上のピークの位置が存在するか否かを判断する。
【0160】
S1804にてP0から一定距離よりも近い、度数が一定値以上のピークの位置が存在すると判断された場合、システム制御部202はステップS1804にて信頼度を上げるよう設定する。本実施形態では信頼度に0.5の値を加算する。
【0161】
ステップS1803にてP0から一定距離よりも近い、度数が一定値以上のピークの位置が存在しないと判断された場合、システム制御部202はステップS1805にて信頼度を下げるよう設定する。本実施形態では信頼度に−0.5の値を加算する。
【0162】
以上、位置情報分布を用いて信頼度を算出する方法について説明した。これにより、過去に撮影された類似画像データの位置情報を用いて、より精度の高い信頼度を算出することができる。
【0163】
(4)コントラストを用いて信頼度を算出する方法
ここでは、信頼度を算出する方法として撮影情報であるコントラストを用いて信頼度を算出する方法について説明する。この場合、本を撮影した場合には実被写体を撮影した場合よりもコントラストが低くなる傾向があることを利用する。画像データから、コントラスト情報を取得し、得られたコントラストが一定の値よりも低い場合は信頼度を低く設定する。一方、得られたコントラストが一定の値よりも高い場合は信頼度を高く設定する。
【0164】
図19を用いて、コントラストを用いて信頼度を算出する処理の流れについて説明する。図19はコントラストを用いた信頼度の算出方法のフローチャートである。
【0165】
図19にコントラストを用いた信頼度の算出方法のフローチャートを示す。
【0166】
ステップS1901にてシステム制御部112あるいはシステム制御部202は、信頼度を付加する画像データからコントラスト情報を取得する。
【0167】
ステップS1902にて、システム制御部112あるいはシステム制御部202は、ステップS1901にて得られたコントラストの値が一定値以上であるかどうか判断する。
【0168】
ステップS1902にてコントラストの値が一定値以上であると判断された場合、システム制御部112あるいはシステム制御部202は、ステップS1903にて信頼度を上げるよう設定する。本実施形態では信頼度に加算する値を0.5とする。
【0169】
ステップS1902にてコントラストの値が一定値以上でないと判断された場合、システム制御部112あるいはシステム制御部202は、ステップS1904にて信頼度を下げるよう設定する。本実施形態では信頼度に加算する値を−0.5とする。
【0170】
以上、コントラスト情報を用いて信頼度を算出する方法について説明した。これにより、コントラストが低い場合は被写体が印刷物である可能性が高いと判断して信頼度を低く設定できる。
【0171】
(5)フリッカ検出を用いて信頼度を算出する方法
上述の実施形態では被写体(本)500のような印刷物を撮影しているのかどうかを判断する方法について説明したが、テレビの映像を撮影した場合についても同様の課題が生じる。これを解決する手段として、撮影の際のフリッカと走査線を検出し、その検出結果を撮影情報として用いることで信頼度を算出する例を挙げる。
【0172】
フリッカとは、テレビ映像のちらつきのことであり、テレビ画面に表示される画像を一定間隔(リフレッシュレート)で更新する際に生じ得る。特に表示する画像を縦に分けた列である走査線を、奇数列と偶数列とに分けて表示するインターレース方式ではフリッカが生じやすい。本実施形態におけるフリッカの検出では、撮影の際に複数の画像を撮影し、それぞれの撮影で得られた画像における輝度評価値の平均値の差が一定以上であれば、フリッカが存在すると判断される。また、本実施形態における走査線の検出では、画像の各ピクセルの輝度値において、一定の間隔で帯状の一定の輝度値を持つ領域が存在するか否かによって走査線を検出し得る。また、画像の各ピクセルの輝度値において、一定の輝度値を持つ一定の領域が存在するか否かを判断することによっても走査線を検出し得る。本実施形態における走査線の検出においては、これらのうちいずれか一つを用いてもよいし、組み合わせてもよい。
【0173】
以下に、図20を用いてフリッカ検出と走査線検出を利用して信頼度を設定する方法について説明する。図20はフリッカ検出と走査線検出を利用して信頼度を設定するフローチャートである。
【0174】
ステップS2001にてシステム制御部112あるいはシステム制御部202は、信頼度を付加する画像データに対してフリッカ検出を行い、フリッカが検出されたか否かを判断する。
【0175】
ステップS2001にてフリッカが検出された場合、ステップS2003に進む。
【0176】
ステップS2001にてフリッカが検出されなかった場合、システム制御部112あるいはシステム制御部202は、ステップS2002にて画像データに対して走査線検出を行い、走査線が検出されたか否かを判断する。
【0177】
ステップS2002にて走査線が検出されなかった場合、システム制御部112あるいはシステム制御部202は、信頼度を変更せずに処理を終了する。
【0178】
ステップS2002にて走査線が検出された場合、ステップS2003に進む。
【0179】
ステップS2003では、システム制御部112あるいはシステム制御部202は、信頼度を下げるよう設定する。本実施形態では信頼度に加算する値を−0.5とする。
【0180】
以上、フリッカ検出・走査線検出を用いて信頼度を算出する方法について説明した。これにより、フリッカ、あるいは走査線が検出された場合は被写体がテレビ映像の出力物である可能性が高いと判断して信頼度を低く設定できる。
【0181】
(6)フォーカスレンズの状態を用いて信頼度を算出する方法
ここでは、信頼度を算出する方法として撮影情報であるフォーカスレンズの状態を用いて信頼度を算出する方法について説明する。この場合、本や雑誌等の出力物を撮影するときはレンズのフォーカス位置がマクロ撮影位置になっている場合が多いことを利用する。
【0182】
図21を用いて、フォーカスレンズの状態を用いて信頼度を算出する処理の流れについて説明する。図21はフォーカスレンズの状態を用いた信頼度の算出方法のフローチャートである。
【0183】
ステップS2101にてシステム制御部112あるいはシステム制御部202は、カメラ、あるいは撮影された画像データのメタデータからレンズのフォーカス位置を取得する。
【0184】
ステップS2102にてシステム制御部112あるいはシステム制御部202は、取得したフォーカス位置がマクロ撮影位置になっているか否かを判断する。
【0185】
ステップS2102にてフォーカス位置がマクロ撮影位置になっていると判断された場合、システム制御部112あるいはシステム制御部202は、ステップS2103にて信頼度を下げるよう設定する。本実施形態では信頼度に加算する値を−0.5とする。
【0186】
ステップS2102にてフォーカス位置がマクロ撮影位置になっていないと判断された場合、システム制御部112あるいはシステム制御部202は、信頼度を変更せずに終了する。
【0187】
以上、フォーカスレンズの状態を用いて信頼度を算出する方法について説明した。これにより、フォーカス位置がマクロ撮影位置になっている場合は被写体が実物でない可能性が高いと判断して信頼度を低く設定できる。
【0188】
本実施形態では、信頼度算出について様々な方法を説明した。以上の方法は、それぞれ単独で用いてもいいし、実施形態1〜3のように組み合わせて信頼度を算出してもよい。これにより、より正確に信頼度を算出でき、したがってカメラ300へのより精度の高い位置情報の提供が可能となる。
【0189】
[第5の実施形態]
上記実施形態では、画像データのメタデータに信頼度を自動で記録するよう制御する例を示したが、自動で信頼度を算出する場合、意図した結果が得られない場合がある。例えば、撮影可能な美術館にて壁一面の絵画等を撮影するようなシーンを考える。絵画という実物の被写体を撮影する場合、近距離であること、平坦であること、室内ではコントラストが高くなりにくいこと等から被写体が実物ではない可能性が高いと判断して信頼度を低く設定してしまうことが考えられる。
【0190】
これを解決するために、信頼度が低く設定される場合、その信頼度は意図した結果ではない可能性があるため、信頼度が低く設定される場合には、信頼度をユーザが任意に変更可能なよう構成する。これにより、意図した信頼度が算出されなかった可能性がある場合にも、ユーザが修正することで正しい信頼度を付加することができる。
【0191】
以下に、信頼度を変更する方法について(1)信頼度を画像データのメタデータに記録する際に変更可能にする。(2)信頼度が付加された画像データがカメラ100からサーバ200へ送信される際に信頼度を変更可能にする。(3)信頼度の付加された画像データを閲覧している際に信頼度を変更可能にする。の三つの例を挙げて説明する。
【0192】
(1)信頼度を画像データのメタデータに記録する際に変更可能にする。
【0193】
まず、信頼度を画像データのメタデータに記録する際に、記録する信頼度が一定値以下であった場合にはユーザにその旨を通知して、信頼度を変更可能にするよう制御する例について説明する。
【0194】
図22は図4のステップS405、図12のステップS1207、または図13のステップS1305にて、信頼度を画像データのメタデータに記録する際の処理を示すフローチャートである。
【0195】
まず、ステップS2201にて、システム制御部112またはシステム制御部202は、算出された信頼度が閾値E未満であるか否か判断する。ステップS2201にて閾値E未満であると判断された場合、ステップS2202へ進む。一方ステップS2201にて閾値E以上であると判断された場合、ステップS2206に進む。
【0196】
ステップS2202では、システム制御部112またはシステム制御部202は、ユーザに、信頼度が閾値E未満であることを通知する。例えば、カメラ100では、表示部113を介して、「この画像の位置情報の信頼度は閾値未満です」などのようなメッセージを表示することによりユーザに通知する。
【0197】
次にステップS2203にて、システム制御部112またはシステム制御部202は、ユーザからの操作により信頼度を変更するか否かの選択を受け付ける。例えばカメラ100においては、表示部113には「信頼度を変更しますか?」などのようなメッセージが表示され、ユーザは操作部114の操作により、信頼度を変更するか否かを選択することができる。
【0198】
ステップS2203にて信頼度を変更しないことが選択された場合、ステップS2206に進む。
【0199】
一方、ステップS2203にて信頼度を変更することが選択された場合、システム制御部112またはシステム制御部202は、ステップS2204にて、ユーザから任意の信頼度の値の入力を受け付ける。例えばカメラ100においては、表示部113に「信頼度を入力してください」などのようなメッセージが表示され、ユーザは操作部114の操作により、信頼度の値を入力することができる。
【0200】
そして、ステップS2205にて、システム制御部112またはシステム制御部202は、信頼度を受け付けた信頼度の値に設定する。
【0201】
ステップS2206では、ステップS2205にて設定された信頼度を画像データのメタデータとして付加する。
【0202】
以上が信頼度を画像データのメタデータとして付加する際に信頼度を変更可能なよう制御する例である。
【0203】
これにより、意図した信頼度が算出されなかった場合にも、ユーザが修正することで正しい信頼度を付加することができる。
【0204】
(2)信頼度が付加された画像データがカメラ100からサーバ200へ送信される際に信頼度を変更可能にする。
【0205】
次に、信頼度が既にメタデータとして記録された画像データをカメラ100からサーバ200へ送信する際に、記録されている信頼度が一定値以下であった場合にはユーザにその旨を通知して、信頼度を変更可能なよう制御する例について説明する。
【0206】
この場合は、図4(b)のステップS407、または図12(b)のステップS1208の代わりに、図23のフローチャートに示す処理を行うよう制御される。
【0207】
図23のフローチャートは、すでにメタデータとして信頼度が付加されている画像データの信頼度を変更してから送信することができる処理を示す。ここで、図22のステップS2201の前にステップS2300を行い、ステップS2206の後にステップS2307を行う。ステップS2301〜ステップS2306については、図22のステップS2201〜ステップS2206と同様の動作を行う。図22と同様の動作を行うステップについては説明を省略する。
【0208】
まず、ステップS2300にて、システム制御部112は信頼度がメタデータとして付加されている画像データから信頼度を取得する。
【0209】
次にステップS2301〜ステップS2306にて、システム制御部112は図22と同様の処理を行う。
【0210】
そして、ステップS2307にてシステム制御部112は、ステップS2306にて信頼度が付加された画像データを、サーバ200へ送信するよう制御する。
【0211】
以上が、信頼度が付加された画像データを外部装置に送信する際に信頼度を変更可能なよう制御する例である。
【0212】
これにより、画像データのメタデータに記録された位置情報の信頼度がカメラ外部に送信されるときに信頼度が変更可能となる。
【0213】
(3)信頼度の付加された画像データを閲覧している際に変更可能にする。
【0214】
最後に、信頼度が既にメタデータとして記録された画像データをカメラ100あるいはサーバ200を用いてユーザが閲覧しているときに信頼度を変更可能なようにする例について説明する。ここでは、カメラ100にてユーザが画像データを閲覧する場合の例について説明する。
【0215】
図24はカメラ100で、記録メディア108に記録されている画像データを閲覧しているときの表示部113に表示される表示画面の一例である。2401は表示画面で、記録メディア108に記録されている画像データ(画像1〜9)を表示している。画像データ2401の右上にはアイコン2402が表示されている。これは、画像データに付加されている信頼度が閾値E未満であることを示すものである。ここでは、画像1と画像8に付加されている信頼度が閾値E未満であることを示している。このアイコンが操作部114を介して選択されると該画像データのメタデータから信頼度を取得して、(1)で説明した図22のフローチャートのステップS2202以下に示す処理を行うよう制御される。
【0216】
これにより画像データのメタデータとして記録された信頼度が閾値E未満である場合、その画像データを閲覧できるタイミングで信頼度を変更可能になり、撮影した後にも信頼度を修正することができる。
【0217】
なお、ここではカメラ100で記録メディア108に記録されている画像データを閲覧しているときの例を示したが、サーバ200の画像記録部204に保存されている画像データを閲覧するときにも同様である。
【0218】
以上、本実施形態では、算出された信頼度を変更することができる構成について説明した。
【0219】
[他の実施形態]
以上、上述の実施形態では、撮影の際のカメラ100の位置を示す位置情報と撮影された画像データの内容との関連性の度合いを示す信頼度を生成し、メタデータとして記録する構成とした。これにより、より精度の高い位置情報の提供が可能となる。
【0220】
なお、上述の実施形態における信頼度の算出方法はこれらに限られるものではなく、実物を撮影しているか否かが判断できればどのような方法でもかまわない。
【0221】
なお、上述の実施形態では信頼度の初期値を0.5とし、各算出方法にて+0.5〜−0.5の値を加算する方法を示したが、初期値や加算値はこの数値に限らずともよい。また、上述の実施形態では信頼度の初期値から各算出方法にて一定値を加算していく方法を示したが、各算出方法にて所定の値の信頼度を設定するようにしてもよい。さらに、上述の実施形態では信頼度を最大値1.0、最低値0.0としたが、数値はこれに限られるものではなく、また、数値以外の指標を用いてもかまわない。
【0222】
なお、上述の実施形態における測距方法について測距点が9点の場合について説明したが、これに限定するものではない。測距点は9点よりも少なくてもかまわないし、画像データの画素の解像度に相当する領域ごとに距離を算出してもかまわない。
【0223】
なお、上述の実施形態では、サーバ200のデータベースに、収集した画像データを蓄積する例を説明したが、必ずしもデータベースに画像データを蓄積する必要はない。例えば、画像データから抽出した特徴量と画像データのパスのみをデータベースに蓄積する構成をとることも可能である。
【0224】
なお、上述の実施形態では信頼度をメタデータとして画像データに直接記録する例について説明したが、画像データと対応が取れる形態であれば、別データ(ファイル)として管理してもかまわない。
【0225】
また、上述の実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
画像の撮影位置を示す位置情報を取得する第1の取得手段と、
前記画像の撮影に関する撮影情報を取得する第2の取得手段と、
前記第1の取得手段により取得された位置情報が前記画像が表すコンテンツの撮影位置を示しているか否かの指標である信頼度を、前記第2の取得手段により取得した撮影情報に基づき決定する決定手段と、
前記決定手段により決定された信頼度と前記画像とを対応づける対応付け手段と
を有することを特徴とする画像処理装置。
【請求項2】
前記画像を撮影する撮影手段と、
前記対応付け手段により信頼度と対応づけられた画像を記録媒体に記録する記録制御手段を更に有し、
前記第1の取得手段は、前記画像の撮影位置を測位して位置情報を取得する測位手段であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
記録媒体から、信頼度と位置情報と撮影情報とが対応づけられた画像を読み出す第3の取得手段を有し、
前記第1の取得手段は、第3の取得手段により取得された画像から前記画像に対応づけられた位置情報を取得し、
前記第2の取得手段は、第3の取得手段により取得された画像から前記画像に対応づけられた撮影情報を取得することを特徴とする請求項1に記載の画像処理装置。
【請求項4】
画像の撮影位置を示す位置情報と前記画像の撮影に関する撮影情報とが対応づけられた画像を、外部装置から取得する受信手段と、
前記受信手段により取得された画像を記録媒体に記録するよう制御する記録制御手段と、
前記記録制御手段により記録された画像から、前記撮影情報を取得する抽出手段と、
前記位置情報が前記画像が表すコンテンツの撮影位置を示しているか否かの指標である信頼度を、前記抽出手段により取得した撮影情報に基づき決定する決定手段とを有することを特徴とする情報処理装置。
【請求項5】
前記撮影情報とは、被写体の位置と、前記被写体を撮影したときの前記画像処理装置の位置との距離を表す被写体距離情報であることを特徴とする請求項1〜4のいずれか1項に記載の画像処理装置。
【請求項6】
前記撮影情報とは、画像の輝度分布であることを特徴とする請求項1〜5のいずれか1項に記載の画像処理装置。
【請求項7】
前記撮影情報とは、フリッカの有無を示す情報であることを特徴とする請求項1〜6のいずれか1項に記載の画像処理装置。
【請求項8】
前記撮影情報とは、走査線の有無を示す情報であることを特徴とする請求項1〜7のいずれか1項に記載の画像処理装置。
【請求項9】
前記撮影情報とは、画像のコントラストであることを特徴とする請求項1〜8のいずれか1項に記載の画像処理装置。
【請求項10】
前記撮影情報とは、レンズのフォーカス位置であることを特徴とする請求項1〜9のいずれか1項に記載の画像処理装置。
【請求項11】
前記撮影情報とは、画像を撮影したときの前記画像処理装置の位置を示す位置情報であることを特徴とする請求項1〜10のいずれか1項に記載の画像処理装置。
【請求項12】
前記決定手段にて決定された信頼度を変更する変更手段を備えることを特徴とする請求項1〜11のいずれか1項に記載の画像処理装置。
【請求項13】
前記変更手段は、信頼度が所定の値未満である場合に信頼度を変更可能とすることを特徴とする請求項12に記載の画像処理装置。
【請求項14】
画像の撮影位置を示す位置情報を取得する第1の取得工程と、
前記画像の撮影に関する撮影情報を取得する第2の取得工程と、
前記第1の取得工程において取得された位置情報が前記画像が表すコンテンツの撮影位置を示しているか否かの指標である信頼度を、前記第2の取得工程において取得された撮影情報に基づき決定する決定工程と、
前記決定工程において決定された信頼度と前記画像とを対応づける対応付け工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項15】
請求項14に記載の制御方法をコンピュータに実行させるためのコンピュータが読み取り可能なプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2012−54754(P2012−54754A)
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願番号】特願2010−195634(P2010−195634)
【出願日】平成22年9月1日(2010.9.1)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】