以下、本発明の実施形態について、図面を参照しながら説明を行う。
[第1の実施形態]
図1は、本発明の実施形態における情報処理装置100のハードウェア構成を説明する構成図である。尚、図1に示すハードウェア構成はあくまで一例である。
情報処理装置100は、タッチパネルを備える装置である。本実施形態では、いわゆるスマートフォンやタブレット端末のような装置を想定して説明を行うが、特にこれに限らない。タッチパネルを備える装置であれば、パーソナルコンピュータであってもよい。
CPU101は、システムバスを介してメモリやコントローラを統括的に制御する。ROM102あるいはフラッシュメモリ114には、CPU101の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステム33が記憶されている。更には、情報処理装置100が実行する機能を実現するために必要な、後述する各種プログラム等が記憶されている。
RAM103は、CPU101の主メモリ、ワークエリア等として機能する。CPU101は、処理の実行に際して必要なプログラム等をRAM103にロードして、プログラムを実行することで各種動作を実現するものである。
ディスプレイコントローラ104は、ディスプレイ110(表示部)等の表示装置への表示を制御する。ディスプレイ110は例えば液晶ディスプレイである。また、ディスプレイ110の表面にはタッチパネル111が備えられている。タッチパネル111に対するタッチ操作の検知をタッチパネルコントローラ105が制御する。タッチパネルコントローラ105は、タッチパネル111に対する複数の箇所に対するタッチ操作(以下、マルチタッチという。)も検知することが可能である。
カメラコントローラ106は、カメラ112における撮影(撮像)を制御する。カメラ112はデジタルカメラであり、カメラコントローラ106からの制御で撮影した画像を撮影素子でデジタルデータに変換する。カメラ112は静止画と動画を撮影することが可能である。
センサコントローラ107は、情報処理装置100が備えるGPS(global positioning system)センサ113からの入力を制御する。GPSセンサ113を介して、GPS情報を取得することができる。
ネットワークコントローラ108は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
フラッシュメモリコントローラ109は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するフラッシュメモリ114へのアクセスを制御する。本実施形態においては、フラッシュメモリとして説明を行うが、ハードディスクやフレキシブルディスク、或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の記憶媒体であってもよい。
前述したCPU101、各メモリ、各コントローラは、1つのチップ115に統合されている。いわゆるSoC(System on Chip)の形態で情報処理装置100の内部に備えられている。
尚、CPU101は、例えばRAM103内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ110での表示を可能としている。
本発明の情報処理装置100が後述する各種処理を実行するために用いられる各種プログラム等はフラッシュメモリ114に記録されており、必要に応じてRAM103にロードされることによりCPU101によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルはフラッシュメモリ114に格納されている。以上が、本実施形態における情報処理装置100のハードウェア構成である。
次に図2を用いて、本発明の実施形態における画像データを撮影する撮影装置200のハードウェア構成を説明する。
撮影装置200は、いわゆるデジタルカメラ等であり、撮影用のレンズ10000、撮影素子(以下、「CCD」と称する)2、アナログ−デジタルコンバータ(以下、「ADC」と称する)3、画像処理部40000、コントローラ10、バッファメモリ11、フラッシュROM12、インターフェース回路(以下、「I/F回路」と称する)13、カードホルダ14、メモリーカード15、ディスプレイドライバ16、USBドライバ18、および操作部20を備える。
レンズ10000は、対物レンズ、ズームレンズ、およびフォーカスレンズなどで構成される。ズームレンズおよびフォーカスレンズについては、不図示の駆動機構により光軸方向へ駆動される。CCD20000は、レンズ10000を介して入射される光学画像を結像し、電気信号(アナログ信号)に変換して出力するCCDイメージセンサで構成される。ADC30000は、CCD20000から出力される電気信号(アナログ信号)をデジタル信号に変換する機能を有する。
画像処理部40000は、前処理部50000、YC処理部60000、電子ズーム処理部70000、圧縮部8、および伸長部9を備え、ADC30000から出力されるデジタル信号から画像データを生成し、各種画像処理を行う機能を有する。
前処理部50000は、入力される画像データに基づく画像のホワイトバランスを調整するホワイトバランス処理や画像のガンマ補正処理を行う機能を有する。ホワイトバランス処理は、画像の色合いを、実物の色合いに近くなるように調整したり、光源(蛍光灯や太陽光など)に合った適正な色に調整したりする処理である。ガンマ補正処理は、画像のコントラストを調整する処理である。なお、前処理部50000は、ホワイトバランス処理およびガンマ補正処理以外の画像処理を実行することも可能である。
YC処理部60000は、入力される画像データに基づく画像を、輝度情報「Y」と、輝度信号と青色の色差情報「Cb」と、輝度信号と赤色の色差情報「Cr」とに分離する機能を有する。電子ズーム処理部70000は、画像の一部(例えば中央部)を所定の大きさでトリミングし、トリミングした画像を信号処理で元画像の大きさに拡大する機能を有する。電子ズーム処理部70000は、例えば、撮影された1600×1200ドットの画像から中央の1024×768ドットの画像を切り出し、データ補間を行いながら1600×1200ドットのサイズに拡大することができる。
圧縮部8は、画像データをJPEG(Joint Photographic Expert Group)方式などの圧縮形式によって圧縮する機能を有する。伸長部9は、圧縮されている画像データを伸長する機能を有する。例えば、画像データをJPEG方式で圧縮する場合、まず、画像データの高周波成分と低周波成分の割合を数値化する離散コサイン変換処理が行われる(DCT処理)。次に、画像の階調やグラデーションを表現する段階を数値(量子化ビット数)で表現する量子化処理が行われる。最後に、ハフマン符号化処理で画像データが圧縮される。具体的には、画像データの信号文字列が一定のビット毎に区切られ、出現頻度が高い文字列に対してより短い符号が与えてられていく。なお、圧縮処理を行わないで画像データを記録する方式の場合は、圧縮部8および伸長部9を省略することができる。また、画像データの圧縮形式は、JPEG方式に限らず、GIF(Graphical Interchange Format)形式などであっても、同様に処理を行うことができる。
コントローラ10は、画像処理部40000、バッファメモリ11、フラッシュROM12、I/F回路13、ディスプレイドライバ16、USBドライバ18、および操作部20に接続されている。また、コントローラ10は、機能的な構成として、操作部20からの入力信号に応じて各部を動作制御するための制御信号を出力する制御部(不図示)と、ユーザに関する認識を行う認識部(不図示)とを備える。
バッファメモリ11には、画像処理部40000において画像処理が行われる際に、一時的に画像データが保存される。フラッシュROM12には、撮影装置200の各種設定情報が保存される。I/F回路13は、コントローラ10から出力される画像データを、メモリーカード15に記録可能なデータ形式に変換する。また、I/F回路13は、メモリーカード15から読み出された画像データ等を、コントローラ10で処理可能なデータ形式に変換する。
カードホルダ14は、記憶媒体であるメモリーカード15を撮影装置200に着脱可能にする機構を備えると共に、メモリーカード15との間でデータ通信が可能な電気接点を備える。また、カードホルダ14は、撮影装置200で利用される記憶媒体の種類に応じた構造を有する。メモリーカード15は、フラッシュメモリなどの半導体記憶素子を内蔵し、カードホルダ14に着脱可能なカード型の記憶媒体である。メモリーカード15には、撮影装置200で撮影された画像データを記録することができる。尚、本実施例では撮影装置200のみの構成として説明をするが、撮影装置200と通信可能な情報処理装置等に備えられた記憶手段をメモリーカード15の代わりとしてもよい。撮影装置200と情報処理装置との通信方法は特に問わない。有線でも無線でもよい。この場合、撮影装置200が通信インターフェースコントローラを備え、通信インターフェースコントローラを通じて情報処理装置と通信する。
ディスプレイドライバ16は、コントローラ10から出力される画像データを液晶ディスプレイ17で表示可能な信号に変換する。具体的には、ディスプレイドライバ16は、コントローラ10から出力されるデジタルの画像データをアナログ画像信号に変換する処理を行い、次に画像サイズを液晶ディスプレイ17の表示可能エリアのサイズに適したサイズに変換する処理を行う。
操作部20は、電源スイッチ21、モードダイヤル22、撮影ボタン23、カーソルキー24、ズームボタン25、および閲覧(再生)ボタン26を備え、ユーザからの操作入力を受け付けて、操作内容に応じた信号をコントローラ10に出力する。なお、操作部20には、図示の操作ボタン以外の操作ボタン類も含まれるが、それらの説明は省略する。
モードダイヤル22は、撮影動作のモードを切り替えるための回転可能なダイヤルである。ユーザはモードダイヤル22を回転操作することで、複数の撮影動作モードを選択することが可能である。
撮影動作モードとは、例えば、予め撮影装置200が保持している撮影設定(ホワイトバランスやシャッタースピード等)をユーザに選択しやすく表したAutoモードや夜景モード、風景モードやポートレートモード、或いはユーザが任意に撮影設定を設定することができるマニュアルモードなどである。
閲覧ボタン26は、撮影した画像データを閲覧する閲覧モード(画像再生モード)に切り替えるためのボタンである。閲覧ボタン26が押下されると、撮影モードから閲覧モードに移行する。なお、閲覧モードへの切替方法については、閲覧ボタン26の押下に限定されず、液晶ディスプレイ17上のタッチパネル(不図示)などによる移行方法であってもよい。
閲覧モードでは、コントローラ10が、I/F回路13を介して、カードホルダ14に装着されているメモリーカード15から設定情報と画像データを読み出す。設定情報は、現在装着されているメモリーカード15に記録されている画像の枚数および記録されている画像データの容量などである。読み出される画像データは、例えば、画像1枚分の画像データまたはサムネイルデータである。なお、メモリーカード15から読み出される画像データは、上述したように所定の圧縮形式で圧縮されている。
メモリーカード15から読み出された画像データは、I/F回路13およびコントローラ10を介して、ディスプレイドライバ16へ入力される。ディスプレイドライバ16は、入力された画像データを液晶ディスプレイ17に表示させる。
カーソルキー24は、ユーザが撮影装置に対する所定の指示や機能選択を行うためのキーである。ユーザは、カーソルキー24により、撮影装置200に対する各種設定情報やユーザ認識情報などの操作入力を行うことができる。また、カーソルキー24により、液晶ディスプレイ17にメニュー画面を表示させたり、撮影装置200が有する所定の機能を選択させたりすることができる。
次に図3に示す機能ブロック図を用いて、情報処理装置100と撮影装置200の機能構成について説明する。
情報処理装置100は記憶部9111、表示部9112、操作検知部9113、位置情報取得部9114、受信部9115としての機能を備える。記憶部9111は、本発明に必要となるデータ等を記憶する。表示部9112はディスプレイ110の表示を制御する。操作検知部9113はユーザにより受け付けた操作を検知する。位置情報取得部9114は情報処理装置100のGPS情報を取得する。受信部9115は撮影装置から送信される画像データを受信する。
マップアプリ150が起動されている場合には、情報処理装置100は、管理部151、生成部152、受付部153、決定部154、表示制御部155、取得部156としての機能を備える。管理部151は、位置情報の取得開始から取得終了までの取得期間に取得された位置情報を、当該位置情報が取得された時刻と対応付けて管理する。生成部152は位置情報と前記時刻とを用いて、取得期間に対応する経路図を生成する。受付部153は、経路図上に表示するコメントを、コメントを付す位置を特定する情報としてコメント時刻とともに受け付ける。決定部154は、コメントを付す経路図上の位置を、管理される位置情報及び時刻と、コメント時刻とに基づいて決定する。表示制御部155は、決定部で決定された位置に、コメントが表示されるように制御する、取得部156は、記憶部9111に記憶された画像データを取得する。
撮影装置200は、撮影部211、記憶部212、送信部213を備える。撮影部211は撮影を行うことにより撮影時刻を含む画像データを生成する。記憶部212は、撮影部211で撮影された撮影時刻を含む画像データを記憶する。送信部213は、記憶部212で記憶される画像データを、例えばUSBインターフェース19やネットワークを介して情報処理装置100に送信する。なお、本実施形態では画像データは、スマートフォンやタブレット端末等の情報処理装置100は別の機器で撮影された場合を例に説明するが、情報処理装置100自身のカメラ1 12を用いて撮影された画像データを用いてもよい。
以上で情報処理装置100と撮影装置200の機能構成の説明を終了する。
次に本発明の第1の実施形態における全体の処理の流れを、図4に示すフローチャートを用いて説明する。このような処理は、情報処理装置100のCPU101が記憶されている制御プログラムを読み出して実行することにより実現される。
ステップS401では、情報処理装置100のCPU101が、本発明に係る機能を含むアプリケーションであるマップアプリを起動する。
ステップS402では、情報処理装置100のCPU101が、メイン画面500をディスプレイ110に表示する。図5はこのようなメイン画面500の一例である。
ステップS403では、情報処理装置100のCPU101が、メイン画面500に設けられた、位置情報の取得間隔等の位置情報取得条件を設定するための設定ボタン503が押下されたか否かを判定する。設定ボタン503が押下されたと判定した場合は処理をステップS404に進める。
ステップS404では、情報処理装置100のCPU101が、情報処理装置100で位置情報のログを取得する時間間隔の設定を行う処理である設定受け付け処理を実行する。
一報、ステップS403で設定ボタンが押下されない場合には、ステップS405に進み、予め決められた初期設定の時間間隔で位置情報のログを取得されることになる。尚、ステップS403〜404は必須の構成ではなく、このような判定処理を行うことなく予め決められた初期設定の時間間隔で位置情報のログの取得が行われるようにしてもよい。
ステップS404の設定受け付け処理の詳細を図6に示すフローチャートを用いて説明する。このような処理は、情報処理装置100のCPU101が記憶されている制御プログラムを読み出して実行することにより実現される。
ステップS601では、情報処理装置100のCPU101が、図7に示す設定画面700を表示する。設定画面700は情報処理装置100の位置情報(ログデータ)の取得間隔を設定可能な画面である。
ステップS602では、情報処理装置100のCPU101が、設定画面700で間隔(t)の指定を受け付ける。図7では、「2分」が選択されたため、選択されたことを示すチェックマーク701が該当する位置に表示されている。
ステップS603では、情報処理装置100のCPU101が、設定画面700の保存ボタン702が押下されたか否かを判定する。保存ボタン702が押下された場合には処理をステップS604に進め、そうでない場合には保存ボタン702が押下されるまで待機する。
ステップS604では、情報処理装置100のCPU101が、ステップS602で指定された間隔(t)をフラッシュメモリ114に保存する。
以上で設定受け付け処理の詳細な処理の説明を終了する。なお、本実施形態では、位置情報を取得するタイミングを所定の間隔で行う例を用いて説明するが、位置情報を取得するタイミングはランダムとしてもよい。
図4の説明に戻る。
ステップS405では、情報処理装置100のCPU101が、メイン画面500のログ取得ボタン501の押下を受け付けたか否かを判定する。ログ取得ボタン501の押下を受け付けたと判定する場合は処理をステップS406に進め、そうでない場合にはログ取得ボタン501の押下を受け付けるまで処理を待機する。
ステップS406では、情報処理装置100のCPU101が、情報処理装置100のログデータを取得するログデータ取得処理を行う。ログデータとは、情報処理装置100の位置情報を示すGPS(Global Positioning System)情報と、位置情報を取得した時刻とが対応付けられたデータのことである。
ログデータ取得処理の詳細を図8に示すフローチャートで説明を行う。このような処理は、情報処理装置100のCPU101が記憶されている制御プログラムを読み出して実行することにより実現される。
ステップS801では、情報処理装置100のCPU101が、情報処理装置100内に設けられたGPSセンサ113を用いてGPS情報を取得する。なお、情報処理装置100外のGPS機器からGPS情報を取得してもよい。
ステップS802では、情報処理装置100のCPU101が、フラッシュメモリ114等の記憶手段に記憶される地図データを取得する。なお、地図データは外部のサーバから取得してもよい。
ステップS803では、情報処理装置100のCPU101が、図9に示すログ取得画面900をディスプレイ110に表示する。ログ取得画面にはログ取得の開始を指示する開始ボタン901、ログ取得の終了を指示する終了ボタン902、ステップS801で取得したGPS情報が示す位置の地図データ903が表示されている。
ステップS804では、情報処理装置100のCPU101が、開始ボタン901の押下を受け付けたか否かを判定する。開始ボタン901の押下を受け付けたと判定した場合には処理をステップS805に進め、そうでない場合には開始ボタン901が押下されるまで待機する。
ステップS805では、情報処理装置100のCPU101が、ステップS604で保存された設定(t)を読み込む。
ステップS806では、情報処理装置100のCPU101が、GPS情報とGPS情報が取得された時刻を取得する。ここで取得される時刻がログ取得時刻の開始時刻となる。
ステップS807では、情報処理装置100のCPU101が、ステップS806で取得したGPS情報とGPS情報が取得された時刻を対応付けてログデータテーブル1000に記憶する(管理手段に相当する)。例えば図10に示すログデータテーブル1000である。ログデータテーブル1000には、取得したGPS情報を格納する位置情報1001と、GPS情報の取得された時刻を格納する時刻1002とが対応付けて記憶されている。
ステップS808では、情報処理装置100のCPU101が、ステップS806で取得した時刻(ステップS811からの再帰処理であればステップS809で取得した時刻)から(t)が経過したか否かを判定する。(t)が経過したと判定された場合には処理をステップS809に進め、そうでない場合には(t)が経過するまで待機する。
ステップS809では、情報処理装置100のCPU101が、GPS情報とGPS情報が取得された時刻を取得する。
ステップS810では、情報処理装置100のCPU101が、ステップS809で取得されたGPS情報とGPS情報が取得された時刻をログデータテーブル1000に対応付けて記憶する(管理手段に相当する)。
ステップS811では、情報処理装置100のCPU101が、終了ボタン902の押下を受け付けたか否かを判定する。終了ボタン902の押下を受け付けたと判定された場合にはログデータの取得が完了したとして処理を終了させ、そうでない場合には、処理をステップS808に戻す。すなわち、終了ボタン902が押下される直前に取得されたログデータの時刻が終了時刻となる。
以上で図8に示すフローチャートの説明を終了する。
図4の説明に戻る。
ステップS407では、情報処理装置100のCPU101が、マップ表示ボタン502の押下を受け付けたか否かを判定する。マップ表示ボタン502の押下を受け付けたと判定した場合には処理をステップS408に処理を進め、そうでない場合にはマップ表示ボタン502の押下を受け付けるまで待機する。
ステップS408では、情報処理装置100のCPU101が、マップ表示処理を行う。マップ表示処理の詳細については、図11のフローチャートを用いて説明する。このような処理は、撮影装置200のコントローラ10が設定された処理を実行する、若しくは、情報処理装置100のCPU101が記憶されている制御プログラムを読み出して実行することにより実現される。
図11は、マップ表示処理の詳細を説明するフローチャートである。
ステップS1114では、撮影装置200のコントローラ10が、メモリーカード15に記憶された画像データを取得する。
ステップS1115では、撮影装置200のコントローラ10が、ステップS1114で取得された画像データを情報処理装置100に対してUSBインターフェース19を介して送信する。画像データの送信方法はこれに限定されず、ネットワークを介して情報処理装置100に送信してもよい。また、このような送信処理は、ユーザの指示に応じて行ってもよいが、所定の時刻に自動で送信されるようにしてもよい。
ステップS1101では、情報処理装置100のCPU101が、ステップS1115で送信された画像データを受信する。受信した画像データは、画像データテーブル1200で管理される。図12に示す画像データテーブル1200には、画像データのファイル名を格納する画像データ1201と、画像データのメタデータに含まれる画像データの撮影された時刻を示す撮影時刻1202とが対応付けて管理されている。尚、画像データの受信は必ずしもこのタイミングで行う必要は無く、予め画像データを受信しておいてもよい。
ステップS1102では、情報処理装置100のCPU101が、ログデータテーブル1000を取得する。
ステップS1103では、情報処理装置100のCPU101が、画像データテーブル1200を取得する。
ステップS1104では、情報処理装置100のCPU101が、開始ボタン901が押下されてから終了ボタン902が押下されるまでのログデータの取得期間(ログデータテーブル1000の時刻1002が示す範囲)の撮影時刻1202の画像データを抽出する。本実施形態では、IMG3.jpg〜IMG7.jpgが抽出される。
ステップS1105では、情報処理装置100のCPU101が、ステップS1104で抽出された画像データの選択を受け付けることの可能な画面である図26に示す画像データ選択画面2600をディスプレイ110に表示する。
ステップS1106では、情報処理装置100のCPU101が、ステップS1105で表示された画像データ選択画面2600に表示されたサムネイル画像の選択を受け付けることにより、ユーザが地図上に表示させたい画像データの選択を受け付ける。画像データの選択を受け付けると、選択されたことを示すチェック2601が表示される。完了ボタン2602が押下されると、ステップS1107に処理を移す。
なお、ステップS1105、S1106は、必須の構成ではなく、ステップS1104で抽出された画像データを地図上に表示させてもよい。
ステップS1107では、情報処理装置100のCPU101が、フラッシュメモリ114等の記憶手段に記憶された地図データを取得する。地図データは外部のサーバから取得する構成にしてもよい。
ステップS1108では、情報処理装置100のCPU101が、ログデータテーブル1000のログデータを地図データ上にプロットする。
ステップS1109〜1112、S1116は、ステップS1106で選択を受け付けた画像データすべてに対して処理を行う。ステップS1106で選択を受け付けた画像データすべてに対して処理を行うとステップS1113に処理を進める。
ステップS1109では、情報処理装置100のCPU101が、画像データの撮影時刻1202を取得する。
ステップS1116では、ステップS1109で取得した撮影時刻1202と同じ時刻1002のログデータがあるか否かを判定する。同じ時刻のログデータがあると判定された場合は処理をステップS1112に進め、そうでない場合は処理をステップS1110に進める。
ステップS1110では、情報処理装置100のCPU101が、ステップS1109で取得した撮影時刻1202の直前直後の2点のログデータを特定する。
例えば、取得した撮影時刻1202が「201511121505」(2015年11月12日15時05分を示している)であれば、図10のログデータテーブル1000により、直前のログデータが、「GPS情報3」、直後のログデータが、「GPS情報4」として特定される。
ステップS1111では、情報処理装置100のCPU101が、ステップS1110で特定された2点のログデータの時刻1002と位置情報1001とを元にして、地図データ上の画像データの位置情報を決定する。
図13の図を用いて説明する。図13は、模擬的に地図上にGPS情報3、GPS情報4、GPS情報5がプロットされており、時間順で続くようにプロット同士に線が引かれている。
図13に示す例では、画像データの撮影時刻が「15:05」であり、GPS情報3の取得された時刻「15:04」、GPS情報4の取得された時刻「15:06」であるため、時刻の比によって、GPS情報3とGPS情報4とのちょうど中間地点が、画像データがプロットされる位置であると決定される。なお、時刻の比としなくともS1904で同じ時刻のログデータが無い場合には、常に中間地点に表示されるようにしてもよい。
ステップS1112では、情報処理装置100のCPU101が、同じ時刻1002の位置情報1001を画像データの表示位置として決定する。
ステップS1113では、ステップS1107で取得した地図データ上に、ステップS1108でプロットされたログデータと、ステップS1111及びステップS1112で決定された位置座標に画像データとを表示させる。プロットされたログデータ(経路図)は、時間順で続くようにプロット同士に線が引かれている(生成手段に相当する)。例えば図14に示すマップ表示画面1400である。
マップ表示画面1400には、編集ボタン1401とプロット1402と、プロット間に引かれる線1403と、ステップS1111及びステップS1112で決定された位置座標に表示される画像データ1404と画像データの一覧1405とが表示されている。
図11に続いて、マップ表示処理の詳細を図15に示すフローチャートで説明する。このような処理は、情報処理装置100のCPU101が記憶されている制御プログラムを読み出して実行することにより実現される。
ステップS1501では、情報処理装置100のCPU101が、ステップS1113で表示された地図データの拡大縮小指示を受け付けたか否かを判定する。具体的にはタッチパネル上でピンチイン・ピンチアウト操作を受け付けたか否かを判定する。拡大縮小指示を受け付けたと判定された場合には処理をステップS1502に進め、そうでない場合には処理をステップS1503に進める。
ステップS1502では、情報処理装置100のCPU101が、受け付けた拡大縮小の指示に応じて、ステップS1113で表示された地図データを再描画することで拡大・縮小を行う。これにより、ユーザのログデータが示す経路図の全体像を見たり、ログデータが示す経路図の一部分を拡大して表示することが可能となる。
ステップS1503では、情報処理装置100のCPU101が、編集ボタン1401が押下されたか否かを判定する。編集ボタン1401が押下されたと判定した場合は処理をステップS1504に進め、そうでない場合は編集ボタンが押下されるまで待機する。
ステップS1504では、情報処理装置100のCPU101が、メニューを表示する。図16に示すように、コメントの追加メニュー1601、音声コメントの追加メニュー1602、画像データの追加メニュー1603、キャンセル1604のメニューが地図データの上に重畳して表示される。メニューの選択を受け付けることでそれぞれメニューに対応する処理を実行することができる。
ステップS1505では、情報処理装置100のCPU101が、ステップS1504で表示されたメニューのうちいずれのメニューが押下されたかを判定する。コメントの追加メニュー1601の押下を受け付けた場合には処理をステップS1507に進め、それ以外のメニューの場合は、処理をステップS1506に進める。
ステップS1506では、情報処理装置100のCPU101が、押下されたメニューに対応する処理を実行する。処理を実行した後、フローを終了する。
ステップS1507では、情報処理装置100のCPU101が、ログデータテーブル1000に記憶されるログデータが最初に取得された時刻1002(取得開始時刻に相当する)と最後にログデータを取得された時刻1002(取得終了時刻に相当する)とを取得する。
ステップS1508では、情報処理装置100のCPU101が、図17に示すテキスト入力画面1700をディスプレイ110に表示する。テキスト入力画面1700にはテキストを保存するためのボタンである保存ボタン1701、コメントの時間を設定するための領域である時刻領域1702、コメントの入力欄であるコメント入力領域1703とが設けられている。
ステップS1509では、情報処理装置100のCPU101が、テキスト入力画面に設けられた時刻領域1702とコメント入力領域1703のうちいずれの領域が選択されたかを判定する。時刻領域1702が選択されたと判定された場合は処理をステップS1510に進め、コメント入力領域1703が選択されたと判定された場合は処理をステップS1512に進める。
ステップS1510では、情報処理装置100のCPU101が、ステップS1507で取得した、ログデータが最初に取得された時刻1002と最後にログデータを取得された時刻1002の範囲内(取得期間)の時刻が選択可能な時刻選択画面1800を表示する。時刻選択画面1800は、コメントの時刻の初期値としてログデータが最初に取得された時刻1002(取得開始の時刻)が表示されている。時刻選択画面1800には、時刻設定領域1801が設けられている。時刻設定領域1801は、項目ごとに値を変更することができる領域であり、例えば日付の領域を画面に対して下方向にフリックすると「12日」が「13日」に変更される。
時刻設定領域1801は、ログデータが最初に取得された時刻1002と最後にログデータを取得された時刻1002との範囲内で時刻が選択可能に設定されているため、例えば時刻をログデータが最初に取得された時刻1002より前の11月12日木14:00として設定すべくフリックしたとしても、当該時刻は選択が不可能な時刻であるため、選択可能な時刻である11月12日木15:00に戻るように制御されている。一方、図18の時刻を最後にログデータが取得された時刻1002より後の11月13日木15:00として設定すべくフリックしたとしても、当該時刻は選択が不可能な時刻であるため、最後にログデータが取得された時刻1002である11月12日木15:24に戻るように制御されている。
このように位置情報を最初に取得した取得開始時刻と位置情報を最後に取得した取得終了時刻との間以外の時刻が設定できないように制御することによって、コメントの時刻をユーザが設定する手間を軽減することができる。なお、コメント時刻の設定方法は、このような画面フリックによる方法のみならず、数字を入力させるようにしてもよい。
ステップS1511では、情報処理装置100のCPU101が、時刻設定領域1801でユーザによりコメント時刻の指定を受け付ける(入力受付手段に相当する)。コメント時刻の指定を受け付けた後、処理を図19のステップS1901に処理を進める。
ステップS1512では、情報処理装置100のCPU101が、コメント入力UI1704(ユーザインタフェース)をテキスト入力画面1700に表示する。
ステップS1513では、情報処理装置100のCPU101が、ステップS1512で表示されたコメント入力UI1704を介してコメントの入力を受け付ける(入力受付手段に相当する)。コメントの入力を受け付けた後、処理を図19のステップS1901に処理を進める。
以上で図15に示すフローチャートの説明を終了する。図15に引き続いて図19のフローチャートの説明を開始する。このような処理は、情報処理装置100のCPU101が記憶されている制御プログラムを読み出して実行することにより実現される。
ステップS1901では、情報処理装置100のCPU101が、保存ボタン1701の押下を受け付けたか否かを判定する。保存ボタン1701の押下を受け付けたと判定した場合は処理をステップS1902に進め、そうでない場合には処理を図15のステップS1507に戻す。
ステップS1902では、情報処理装置100のCPU101が、ステップS1509で指定を受け付けたコメント時刻を図20に示すコメントテーブル2000のコメント時刻2002に、ステップS1511で入力を受け付けたコメントをコメントテーブル2000のコメント2001にそれぞれ対応付けて保存する。
ステップS1903では、情報処理装置100のCPU101が、ログデータテーブル1000を取得する。
ステップS1904では、情報処理装置100のCPU101が、ステップS1903で取得したログデータテーブル1000に、ステップS1902で保存したコメント時刻2002と同じ時刻1002のログデータがあるか否かを判定する。同じ時刻のログデータがあると判定された場合は処理をステップS1905に進め、そうでない場合は処理をステップS1906に進める。
ステップS1905では、情報処理装置100のCPU101が、同じ時刻1002であると判定された位置情報1001をコメントの表示位置として決定する。
ステップS1906では、情報処理装置100のCPU101が、ステップS1902で保存したコメント時刻2002の直前直後(前後)の2点のログデータを特定する。なお、必ずしも直前直後の2点である必要はなく、前後複数のログデータを特定するようにして、位置情報決定に資してもよい。
例えば、コメント時刻2002が「201511121507」(2015年11月12日15時07分を示している)であれば、図10のログデータテーブル1000により、直前のログデータが、「GPS情報4」、直後のログデータが、「GPS情報5」として特定される。
ステップS1907では、情報処理装置100のCPU101が、ステップS1906で特定された2点のログデータの時刻1002と位置情報1001とを元にして、地図データ上のコメントの位置情報を決定する(位置決定手段に相当する)。
図21の図を用いて説明する。図21は、模擬的に地図データ上にGPS情報4、GPS情報5、GPS情報6がプロットされており、時間順で続くようにプロット同士に線が引かれている。
図21に示す例では、コメント時刻2002が「15:07」であり、GPS情報4の取得された時刻「15:06」、GPS情報5の取得された時刻「15:08」であるため、時刻の比によって、GPS情報4とGPS情報5とのちょうど中間地点が、コメントがプロットされる位置であると決定される。なお、時刻の比としなくともS1904で同じ時刻のログデータが無い場合には、常に中間地点に表示されるようにしてもよい。
ステップS1908では、情報処理装置100のCPU101が、ステップS1905又はステップS1908で決定された地図データ上の位置にコメントを表示する(表示制御手段に相当する)。コメントが表示された例が図22に示すコメント表示画面2200である。コメントを表示する吹き出し2201(アノテーション)が、地図データの経路図上の位置に表示されている。なお、コメント自体を表示させなくともよく、コメント表示画面2200にアノテーション(コメントに対応する情報)のみを表示させておき、アノテーションがユーザによって選択された際に、コメントが表示されるようにしてもよい。
以上で図19に示すフローチャートの説明を終了する。
以上のように、コメントを付すべき経路図上の位置を、GPSセンサ113で取得された位置情報及び当該取得時の時刻と、コメント時刻とに基づいて決定できるようにすることで、ユーザは、コメント時刻を指定するだけで簡便にコメントを登録したい経路図上の位置を指定することができる。そして、これにより経路図上にコメントに対応する情報が表示されるようになるため、旅行の際の経路図とともに思い出などをコメントに残しておくことができる。
なお、本実施形態では、写真が表示されているマップ上にコメントを付す例を用いて説明を行ったが、写真を表示させていないマップ上にコメントを付してもよい。
以上で、本発明の第1の実施形態の説明を終了する。
[第2の実施形態]
次に本発明の第2の実施形態の説明を開始する。
第1の実施形態では、コメントとともに指定するコメント時刻の初期設定がログデータを最初に取得した時刻となる例であったが、第2の実施形態では、ユーザから選択を受け付けた画像データの撮影時間をコメント時刻の初期設定とする例を説明する。
第1の実施形態と、図15のフローチャート以外の、ハードウェア構成、機能構成、フローチャート、データテーブル等は共通であるため説明を省略する。図15が図23のフローチャートに変更している。第1の実施形態と共通な部分については説明を省略し、第1の実施形態と処理が異なる部分についてのみ、説明を行う。
図23は、図11に続く部分のフローチャートである。このような処理は、情報処理装置100のCPU101が記憶されている制御プログラムを読み出して実行することにより実現される。
ステップS2301〜ステップS2302は、図15のステップS1501〜ステップS1502と処理が同様であるため説明を省略する。
ステップS2302では、情報処理装置100のCPU101が、地図データ上に表示される画像データの選択を受け付けたか否かを判定する。例えば、図14の画面において、IMG5.jpgの画像データ1404の選択を受け付ける。画像データの選択を受け付けたと判定した場合は処理をステップS2304に進め、そうでない場合は画像データの選択を受け付けるまで待機する。
ステップS2304〜ステップS2306までの処理はステップS1504〜ステップS1506までの処理と同様のため説明を省略する。
ステップS2307では、情報処理装置100のCPU101が、ステップS2303で選択されたと判定した画像データの撮影時刻1202(撮像時刻に相当する)を取得する。例えばIMG5.jpgの画像データ1404の選択を受け付けた場合には、「201511121505」を取得する。
ステップS2308〜ステップS2309までの処理は、ステップS1508〜ステップS1509までの処理と同様であるため説明を省略する。
ステップS2310では、情報処理装置100のCPU101が、ステップS2307で取得した撮影時刻1202が初期設定として設定された時刻選択画面1800が表示される。このようにすることで、ユーザが画像データを選択するだけで、画像データに対応する位置にコメントを追加することが可能な画面を表示でき、時刻を設定するというユーザの手間を軽減するという効果を奏する。
ステップS2311〜ステップS2313までの処理はステップS1511〜ステップS1513までの処理と同様であるため説明を省略する。
以上で、本発明の第2の実施形態の説明を終了する。初期設定として画像データの撮影時刻1202が設定された時刻選択画面1800を表示させることでユーザが変更可能な仕組みにしたが、ユーザの変更ができないよう画像データの撮影時刻1202でコメントの時刻を固定するようにしてもよい。
[第3の実施形態]
次に本発明の第3の実施形態について説明する。第3の実施形態では、ディスプレイ110で表示させている地図データ上のプロットの時刻の範囲内の時刻を、コメントに設定する時刻として設定可能な画面が表示される。
第1の実施形態と、図15のフローチャート以外の、ハードウェア構成、機能構成、フローチャート、データテーブル等は共通であるため説明を省略する。図15が図24のフローチャートに変更している。第1の実施形態と共通な部分については説明を省略し、第1の実施形態と処理が異なる部分についてのみ、説明を行う。このような処理は、情報処理装置100のCPU101が記憶されている制御プログラムを読み出して実行することにより実現される。
ステップS2401〜ステップS2406は、図15のステップS1501〜ステップS1502と処理が同様であるため説明を省略する。
ステップS2407では、情報処理装置100のCPU101が、表示している地図データの範囲内にあるプロットの時刻1002を取得する。図25のイメージ図で説明する。地図データが表示される範囲にあるプロットは、GPS情報2〜6までが該当する。該当するGPS情報2〜6の時刻1002を取得する。取得された時刻1002のうちもっとも時刻が早い時刻を開始点、最も時刻が遅い時刻を終了点として特定する。図25であれば、GPS情報2の時刻1002を開始点、GPS情報6の時刻1002を終了点として特定することができる。
ステップS2308〜ステップS2309までの処理は、ステップS1508〜ステップS1509までの処理と同様であるため説明を省略する。
ステップS2410では、情報処理装置100のCPU101が、地図データ上にあるプロットの間の時刻(取得された時刻1002のうちもっとも時刻が早い時刻1002〜最も時刻が遅い時刻1002)が選択可能な、時刻選択画面1800を表示する。つまり、図25の例であれば、GPS情報2の時刻1002〜GPS情報6の時刻1002までの範囲で選択が可能な時刻選択画面1800を表示する。
ステップS2311〜ステップS2313までの処理はステップS1511〜ステップS1513までの処理と同−様であるため説明を省略する。
以上で本発明の第3の実施形態の説明を終了する。第3の実施形態によれば、表示させている地図データにあるプロットの範囲内で、コメントに設定する時刻を設定可能な画面が表示される。コメントに時刻を設定する際に、不要な時刻を省いて表示する為ユーザの使い勝手が向上するという効果がある。
以上で第3の実施形態の説明を終了する。
[第4の実施形態]
次に、第4の実施形態の説明を開始する。
第4の実施形態は、地図上に付加する付加情報についてPDFファイルを例として説明する実施形態である。すなわち、第1の実施形態におけるコメントがPDFファイルに変更となったのが第4の実施形態である。なお、第2、第3の実施形態においてもコメントをPDFファイルに変更するようにしても構わないものとする。なお、電子文書データの例としてPDFファイルを挙げて本実施形態で説明をしているが、PDFファイル以外の電子文書データ(例えばXPSファイルなど)であっても構わないものとする。
第1の実施形態とは以下の点を除いてハードウェア構成、機能構成、フローチャート、データテーブル等は共通であるため説明を省略する。第1の実施形態からの変更点は、図15のフローチャートが図27のフローチャートに、図16が図28に、図18が図30に、図19のフローチャートが図31のフローチャートに、図22が図32に変更となった点である。
図27は第4の実施形態における処理の流れを説明するフローチャートである。
ステップS1501からステップS1503については第1の実施形態と処理の内容は同様であるため説明を省略する。
ステップS2701では、情報処理装置100のCPU101が、メニューを表示する。図28に示すように、コメントの追加メニュー1601、音声コメントの追加メニュー1602、画像データの追加メニュー1603、PDFファイルの追加メニュー1605、キャンセル1604のメニューが地図データの上に重畳して表示されている。メニューの選択を受け付けることで、それぞれメニューに対応する処理を実行することができる。
ステップS2702では、情報処理装置100のCPU101が、ステップS2701で表示されたメニューのうち、いずれのメニューが押下されたかを判定する。PDFファイルの追加メニュー1605の押下を受け付けた場合には処理をステップS1507に進め、それ以外のメニューの押下を受け付けたと判定された場合には処理をステップS1506に進める。
ステップS1506からステップS1507については第1の実施形態と処理の内容は同様であるため説明を省略する。
ステップS2703では、情報処理装置100のCPU101がPDFファイル選択画面2900をディスプレイ110に表示させる。例えば図29に示すPDFファイル選択画面2900である。PDFファイル選択画面2900には、PDFデータのサムネイル画像2901とPDFデータのファイル名2902と完了ボタン2903が設けられている。ユーザからはタッチパネル111を介してファイル名2902の選択を受け付けることが可能である。
ステップS2704では、情報処理装置100のCPU101が、ステップS2703で表示されたPDFファイル選択画面2900でファイル名2902の選択を受け付けたか否かを判定する。ファイル名2902の選択を受け付けたと判定された場合には処理をステップS2705に進め、そうでない場合はファイル名2902の選択を受け付けるまで待機する。本実施形態では、PDFファイルは情報処理装置100のフラッシュメモリ114に記憶されているものとするが、ネットワークで接続された外部サーバからPFデータを取得するようにしてもよい。
ステップS2705では、情報処理装置100のCPU101が、時刻選択画面3000をディスプレイ110に表示させる。例えば図30に示す時刻選択画面3000である。時刻選択画面3000は、ステップS1507で取得された、ログデータが最初に取得された時刻1002と最後にログデータが取得された時刻1002の範囲内(取得期間)で、PDFファイルに設定する時刻を選択可能な画面である。時刻選択画面3000は、図18と同様に、PDFファイルに設定する時刻の初期値としてログデータが最初に取得された時刻1002(取得開始の時刻)が表示されている。このように取得開始の時刻がデフォルトで表示されていることにより、ユーザが時刻の設定をしやすいという効果がある。時刻選択画面1800には、時刻設定領域1801が設けられている。時刻設定領域1801は、月、日、時間ごとに値を変更することができる領域であり、例えば、日付の領域を画面に対して下方向にフリックすると、「12日」が「13日」に変更することができる。なお、変更の方法はフリック以外の方法でも構わない。
時刻設定領域1801は、ログデータが最初に取得された時刻1002と最後にログデータを取得された時刻1002との範囲内で時刻が選択可能に設定されているため、例えば時刻をログデータが最初に取得された時刻1002より前の11月12日木14:00として設定すべくフリックしたとしても、当該時刻は選択が不可能な時刻であるため、選択可能な時刻である11月12日木15:00に戻るように制御されている。一方、図18の時刻を最後にログデータが取得された時刻1002より後の11月13日木15:00として設定すべくフリックしたとしても、当該時刻は選択が不可能な時刻であるため、最後にログデータが取得された時刻1002である11月12日木15:24に戻るように制御されている。
ステップS2706では、ステップS2705で表示された時刻選択画面3000の時刻設定領域1801でユーザによりPDFファイルに対して設定する設定時刻の指定を受け付けたか否かを判定する。設定時刻の指定を受け付けたと判定された場合には処理をステップS1901に進め、そうでない場合には設定時刻の指定を受け付けるまで待機する。
以上で図27に示すフローチャートの詳細な処理の流れの説明を終了する。
次に図31のフローチャートの説明を行う。図31のフローチャートは図27のフローチャートに引き続き、第3の実施形態の詳細な処理の流れを説明するフローチャートである。
ステップS1901からステップS1907までは図19に示すフローチャートと処理は同様であるため説明を省略する。
ステップS3101では、情報処理装置100のCPU101が、ステップS2704で選択を受け付けたPDFファイルのサムネイル画像を地図データ上に表示する。具体的に説明する。ステップS1906で特定された2点のログデータの時刻1002と位置情報1001とをもとに、地図データ上のPDFファイルのサムネイル画像の表示する位置情報を決定する。位置情報の決定手法については、ステップS1907で説明した手法と同様であるため説明を省略する。
地図上にPDFファイルのサムネイル画像が表示された例が、図32に示すコメント表示画面3200である。PDFファイルのサムネイル画像3201、3202が、地図データ上に表示されることにより、経路図上のどの場所で受け取った書類であるのかをユーザは一目で把握することができるようになる。なお、PDFファイルのサムネイル画像の選択を受け付けると、サムネイル画像に対応するPDFファイルを読み出して、閲覧することが可能なように設けられている。そのため、PDFファイルの詳細を確認する際には地図上のサムネイル画像を選択するだけで詳細を確認することが可能である。
以上、第4の実施形態の説明を終了する。本実施形態によれば、例えばユーザが物品を購入したときに受領したレシートや領収書などの書類をスキャンして電子文書化した場合に、その電子文書がどの場所で受領されたのかを示す記録を残すことが可能となる。
本発明によれば、ユーザは付加情報時刻とともに付加情報を入力するだけで、付加情報を登録したい経路図上の位置を指定することができ、当該指定された経路上の位置に付加情報を表示することの可能な仕組みを提供することが可能となる。
なお、本実施形態は付加情報として文字コメントやPDFファイルの例を用いて説明をしたが、図14に示す音声コメントの追加メニュー1602の場合にも付加情報時刻が指定した状態で入力を受け付けることができ、同様に対応する位置に音声コメント(付加情報)の再生指示を行えるアノテーション等のマークを表示させることができる。
なお、本実施形態においては、地図データ上に経路を表示させるようにしたが、経路のみを表示させるようにしてもよい。
本実施形態においては、情報処理装置100が位置情報を取得可能なGPSセンサ113を設ける構成で説明を行った。本発明は必ずしもこの構成である必要はなく、情報処理装置100がGPSセンサを備えないサーバ装置であり、このサーバ装置とは別筐体のGPSセンサを備える携帯端末が位置情報を取得する。取得された位置情報と当該位置情報を取得した時刻とを、携帯端末がサーバ装置(情報処理装置)に対して送信し、受信した位置情報に基づいてサーバ装置が上述した処理を実現するようにしても構わない。この場合、携帯端末からサーバ装置に対して地図の表示指示を行うと、サーバ装置側で地図上にコメントや画像データ、PDFデータ等の情報が配置された地図の画面を生成し、携帯端末に地図の画面(例えば図22)を送付する。このように情報処理装置とは異なる筐体の装置が位置情報を取得するような構成を持つ情報処理システムも本発明に含まれるものである。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置の情報処理装置が前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理を情報処理装置で実現するために、前記情報処理装置にインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理を情報処理装置で実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行して情報処理装置にインストールさせて実現することも可能である。
また、情報処理装置が、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、情報処理装置上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、情報処理装置に挿入された機能拡張ボードや情報処理装置に接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。