JP6655696B2 - 電子機器、制御方法およびプログラム - Google Patents

電子機器、制御方法およびプログラム Download PDF

Info

Publication number
JP6655696B2
JP6655696B2 JP2018210915A JP2018210915A JP6655696B2 JP 6655696 B2 JP6655696 B2 JP 6655696B2 JP 2018210915 A JP2018210915 A JP 2018210915A JP 2018210915 A JP2018210915 A JP 2018210915A JP 6655696 B2 JP6655696 B2 JP 6655696B2
Authority
JP
Japan
Prior art keywords
information
controller
image
overlay
captured image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018210915A
Other languages
English (en)
Other versions
JP2019149791A (ja
Inventor
正貴 田野
正貴 田野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Corp
Original Assignee
Kyocera Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Corp filed Critical Kyocera Corp
Priority to JP2018210915A priority Critical patent/JP6655696B2/ja
Publication of JP2019149791A publication Critical patent/JP2019149791A/ja
Application granted granted Critical
Publication of JP6655696B2 publication Critical patent/JP6655696B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本開示は、電子機器、制御方法およびプログラムに関する。
従来、画像とともに該画像に関連する日付情報を表示する電子機器が知られている。例えば、特許文献1には、表示部に画像を表示させるとともに、日付情報を表示部に表示させることが開示されている。
特開2011−193208号公報
電子機器が備える様々な機能ブロックによって検出された情報および画像を表示する技術には改善の余地がある。
かかる点に鑑みてなされた本開示の目的は、情報の表示について、利便性を高めることができる電子機器、制御方法およびプログラムを提供することにある。
本開示の電子機器は、カメラと、位置センサと、ディスプレイと、通信部と、コントローラとを備え、前記通信部は、有体物の名称情報と、当該有体物の位置を示す位置情報である第1位置情報と、当該有体物の特徴点に関する情報である第1特徴点情報とを含むデータベースを外部から取得し、前記コントローラは、前記カメラが撮像した撮像画像に基づいて、自機から前記撮像画像に含まれる特定の被写体までの距離を示す距離情報と、前記特定の被写体の特徴点に関する情報である第2特徴点情報とを含む画像認識情報を生成し、当該画像認識情報と、前記データベースと、前記位置センサが取得した自機の位置情報である第2位置情報とに基づいて、前記撮像画像に含まれる前記特定の被写体の名称を特定し、前記名称を前記撮像画像にオーバーレイ表示したオーバーレイ画像を前記ディスプレイに表示させる。
本開示の電子機器は、カメラと、位置センサと、ディスプレイと、ストレージと、コントローラとを備え、前記ストレージには、有体物の名称情報と、当該有体物の位置を示す位置情報である第1位置情報と、当該有体物の特徴点に関する情報である第1特徴点情報とを含むデータベースが記憶され、前記コントローラは、前記カメラが撮像した撮像画像に基づいて、自機から前記撮像画像に含まれる特定の被写体までの距離を示す距離情報と、前記特定の被写体の特徴点に関する情報である第2特徴点情報とを含む画像認識情報を生成し、当該画像認識情報と、前記データベースと、前記位置センサが取得した自機の位置情報である第2位置情報とに基づいて、前記撮像画像に含まれる前記特定の被写体の名称を特定し、前記名称を前記撮像画像にオーバーレイ表示したオーバーレイ画像を前記ディスプレイに表示させる。
本開示の制御方法は、カメラと、位置センサと、ディスプレイと、通信部と、コントローラとを備える電子機器の制御方法であって、前記コントローラが、前記通信部に、有体物の名称情報と、当該有体物の位置を示す位置情報である第1位置情報と、当該有体物の特徴点に関する情報である第1特徴点情報とを含むデータベースを外部から取得させるステップと、前記カメラが撮像した撮像画像に基づいて、自機から前記撮像画像に含まれる特定の被写体までの距離を示す距離情報と、前記特定の被写体の特徴点に関する情報である第2特徴点情報とを含む画像認識情報を生成するステップと、当該画像認識情報と、前記データベースと、前記位置センサが取得した自機の位置情報である第2位置情報とに基づいて、前記撮像画像に含まれる前記特定の被写体の名称を特定するステップと、前記名称を前記撮像画像にオーバーレイ表示したオーバーレイ画像を前記ディスプレイに表示させるステップと、を含む。
本開示のプログラムは、カメラと、位置センサと、ディスプレイと、通信部と、コントローラとを備える電子機器を制御するプログラムであって、前記コントローラに、前記通信部に、有体物の名称情報と、当該有体物の位置を示す位置情報である第1位置情報と、当該有体物の特徴点に関する情報である第1特徴点情報とを含むデータベースを外部から取得させるステップと、前記カメラが撮像した撮像画像に基づいて、自機から前記撮像画像に含まれる特定の被写体までの距離を示す距離情報と、前記特定の被写体の特徴点に関する情報である第2特徴点情報とを含む画像認識情報を生成するステップと、当該画像認識情報と、前記データベースと、前記位置センサが取得した自機の位置情報である第2位置情報とに基づいて、前記撮像画像に含まれる前記特定の被写体の名称を特定するステップと、前記名称を前記撮像画像にオーバーレイ表示したオーバーレイ画像を前記ディスプレイに表示させるステップと、を実行させる。
本開示の一実施形態に係る電子機器、制御方法およびプログラムによれば、情報の表示について、利便性を高めることができる。
一実施形態に係る電子機器の概略構成を示す機能ブロック図である。 図1に示す電子機器の外観図である。 図1に示す電子機器の別の方向からの外観図である。 図1に示す電子機器の自転車への装着を例示する図である。 図1に示す電子機器のウォーキング中のユーザによる使用例を示す図である。 設定画面を例示する図である。 運動とオーバーレイされるセンサ情報との対応を例示する図である。 別の設定画面を例示する図である。 表示部に表示されるオーバーレイ画像の例を示す図である。 表示部に表示されるオーバーレイ画像の別の例を示す図である。 表示部に表示されるオーバーレイ画像の別の例を示す図である。 所定の範囲に含まれる有体物を例示する図である。 データベースの構成例を示す図である。 電子機器を制御する処理(制御方法)を説明するフローチャートである。 表示部に表示される設定途中のオーバーレイ画像の例を示す図である。 表示部に表示されるオーバーレイ画像の別の例を示す図である。 電子機器を制御する処理(制御方法)を説明するフローチャートである。 表示部に表示されるオーバーレイ画像の別の例を示す図である。 表示部に表示されるオーバーレイ画像の別の例を示す図である。 電子機器を制御する処理(制御方法)を説明するフローチャートである。 オーバーレイ画像が表示された後の処理を説明するフローチャートである。
図1は、本実施形態に係る電子機器1の概略構成を示す機能ブロック図である。電子機器1は、図1に示すように、タッチスクリーンディスプレイ3と、通信部4と、撮像部5と、コントローラ6と、センサ7と、ストレージ8と、を備える。これらの機能部を構成する部品は、後述するハウジング2に収納または固定される。
タッチスクリーンディスプレイ3は、表示された画面に接触することによって、データの入力が可能な装置である。タッチスクリーンディスプレイ3は、表示部3Aと、入力部3Bとを有する。表示部3Aは、液晶ディスプレイ(Liquid Crystal Display)、有機ELパネル(Organic Electro−Luminescence Panel)、または無機ELパネル(Inorganic Electro−Luminescence Panel)等の表示デバイスを備える。表示部3Aは、文字、画像、記号、または図形等を表示する。表示部3Aにおいて表示を行うために必要な情報は、コントローラ6から送信される。また、表示部3Aは、適宜、バックライトなどを含んで構成してよい。
入力部3Bは、タッチスクリーンディスプレイ3を操作するユーザの指、またはスタイラスペン等の接触を検出するタッチセンサである。入力部3Bは、指、またはスタイラスペン等が入力部3Bに接触した位置を検出することができる。入力部3Bの検出方式は、静電容量方式、抵抗膜方式、表面弾性波方式(または超音波方式)、赤外線方式、電磁誘導方式、および荷重検出方式等の任意の方式とすることができる。入力部3Bが検出した信号は、コントローラ6に出力される。
通信部4は、通信ネットワークを介して、情報を送受信する。通信部4による情報の送受信に用いられる通信方式は、無線通信規格である。例えば、無線通信規格として、2G(2nd Generation)、3G(3rd Generation)、4G(4th Generation)等の規格がある。例えば、無線通信規格として、LTE(Long Term Evolution)、W−CDMA、CDMA2000、PDC、GSM(登録商標)、PHS(Personal Handy−phone System)等がある。例えば、無線通信規格として、WiFi(The Standard for Wireless Fidelity)、WiMAX(Worldwide Interoperability for Microwave Access)、IEEE802.11、Bluetooth(登録商標)、IrDA(Infrared Data Association)、NFC(Near Field radio Communication)等がある。通信部4は、上述した通信規格の1つ以上をサポートしていてよい。
通信部4は、外部のサーバ等から、電子機器1の位置における風速を示す風速情報を取得し、風速情報をコントローラ6に出力し得る。また、通信部4は、天気情報、地図情報、山天気情報、海天気/波関連情報、雪関連情報、日出/日入情報、潮汐情報等を取得し、コントローラ6に出力してよい。コントローラ6は、これらの情報を、センサ7から出力された他の情報と同様に扱うために、ストレージ8にセンサ情報8Cとして記憶してよい。
また、通信部4は、後述するデータベース11を取得して、ストレージ8に記憶させるためにコントローラ6に出力し得る。後述するように、コントローラ6は、ストレージ8に記憶されたデータベース11に基づいて被写体の名称を得ることが可能である。コントローラ6は、得られた名称を、センサ7から出力された他の情報と同様に扱うために、ストレージ8にセンサ情報8Cとして記憶してよい。名称は、後述するようにオーバーレイ処理で用いられる。
撮像部5は、撮像画像を撮像するカメラである。撮像部5は、少なくとも光学系と撮像素子とを含んで構成される。撮像素子は、光学系を介して受光面上に結像される被写体の像を画像信号に変換することにより撮像画像を撮像する。撮像素子としては、例えば、CCD(Charge Coupled Device)イメージセンサまたはCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等が用いられる。また、撮像部5が撮像した撮像画像は、コントローラ6に出力される。後述するように、コントローラ6は、撮像画像に基づいてサイズ情報を得ることが可能である。コントローラ6は、得られたサイズ情報を、センサ7から出力された他の情報と同様に扱うために、ストレージ8にセンサ情報8Cとして記憶してよい。サイズ情報は、後述するようにオーバーレイ処理で用いられる。
センサ7は、検出対象の情報を検出する。センサ7は、連続的に検出対象を検出することによって検出対象の変化を検出することができる。また、センサ7は、検出値をコントローラ6に出力する。ここで、少なくとも一部の検出値は後述するセンサ情報8Cであり得る。つまり、少なくとも一部のセンサ7は、検出対象の情報をセンサ情報8Cとしてコントローラ6に出力する。
センサ7は、位置センサ7Bと、方位センサ7Cと、加速度センサ7Dと、気圧センサ7Eと、温度センサ7Fと、を含む。ここで、センサ7は、これらのセンサの一部を含まなくてよい。例えば、センサ7は、温度センサ7Fを含まなくてよい。また、センサ7は、更に別のセンサを含み得る。
位置センサ7Bは、電子機器1の位置を示す位置情報を取得する。位置センサ7Bは、例えば、GPS衛星からGPS衛星の位置、信号の発信時刻等を示すGPS信号を受信し、GPS信号に基づいて電子機器1の位置を示す位置情報を取得する。また、位置センサ7Bは、位置情報を連続的に取得して、位置情報が示す位置の履歴に基づいて移動経路情報を取得する。また、位置センサ7Bは、単位時間当たりの位置の変化を電子機器1の速度として算出し、算出した速度を示す速度情報を取得する。また、位置センサ7Bは、位置の変化に基づいて算出した電子機器1の移動距離を示す距離情報を取得する。また、位置センサ7Bは、取得した位置情報、移動経路情報、速度情報、および距離情報をそれぞれセンサ情報8Cとしてコントローラ6に出力する。
方位センサ7Cは、例えば、磁気センサまたはジャイロセンサ等である。方位センサ7Cは、地磁気の変化に基づいて方位を示す方位情報を取得する。また、方位センサ7Cは、取得した方位情報をコントローラ6に出力する。
加速度センサ7Dは、電子機器1の重力方向の加速度を示す重力加速度情報を取得する。また、加速度センサ7Dは、重力加速度情報をセンサ情報8Cとしてコントローラ6に出力する。
気圧センサ7Eは、電子機器1の周囲環境の気圧を示す気圧情報を取得する。気圧センサ7Eは、気圧情報をセンサ情報8Cとしてコントローラ6に出力する。
温度センサ7Fは、電子機器1の周囲環境の温度を示す温度情報を取得する。また、温度センサ7Fは、温度情報をセンサ情報8Cとしてコントローラ6に出力する。
ストレージ8は、プログラム8A、設定情報8B、センサ情報8Cおよび画像情報8Dを記憶する記憶部である。また、ストレージ8は、コントローラ6の処理結果を一時的に記憶する作業領域としても利用される。ストレージ8は、半導体記憶デバイスおよび磁気記憶デバイス等の任意の記憶デバイスを含んでよい。また、ストレージ8は、複数の種類の記憶デバイスを含んでよい。また、ストレージ8は、メモリカード等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。
プログラム8Aは、電子機器1を制御するプログラムである。コントローラ6がプログラム8Aに従うことによって、電子機器1は各種機能を実行する。プログラム8Aは、通信部4による無線通信、または記憶媒体を介してストレージ8にインストールされてよい。プログラム8Aは、コントローラ6がオーバーレイ(重畳)処理を行うためのアプリケーションであるオーバーレイアプリケーションを含む。ここで、オーバーレイ処理は、撮像部5によって撮像された撮像画像にセンサ情報8Cをオーバーレイしたオーバーレイ画像を生成する処理を含む。また、オーバーレイ処理は、設定情報8Bに基づいて、オーバーレイ画像をストレージ8に画像情報8Dとして記憶する処理を含む。また、本明細書において、「アプリケーション」はアプリケーションプログラムの略記である。
設定情報8Bは、ユーザによって指定されたオーバーレイ処理に関する設定の情報である。設定情報8Bは、例えば後述するテーブルを含む。
センサ情報8Cは、コントローラ6がセンサ7から取得した情報、および、コントローラ6がセンサ7から取得した情報に基づいて生成した情報である。センサ情報8Cは、電子機器1の状態(例えば周囲環境)の変化によって時間とともに変化し得る情報を含む。センサ情報8Cは、例えば、位置情報、移動経路情報、速度情報、距離情報、方位情報、重力加速度情報、気圧情報、高度情報、温度情報、サイズ情報および名称等である。また、センサ情報8Cは、上述の情報に限られず、例えば、風速情報、天気情報、地図情報、山天気情報、海天気/波関連情報、雪関連情報、日出/日入情報および潮汐情報等の少なくとも1つをさらに含んでよい。
画像情報8Dは、オーバーレイ処理を行った画像の情報である。画像情報8Dは、静止画像および動画像を含む。コントローラ6は、例えば、ストレージ8から画像情報8D(例えばオーバーレイ処理を行った動画)を読み出して、タッチスクリーンディスプレイ3に表示させることが可能である。
コントローラ6は、例えば、CPU(Central Processing Unit)である。コントローラ6は、通信部4等の他の構成要素が統合されたSoC(System−on−a−Chip)等の集積回路であってよい。コントローラ6は、複数の集積回路を組み合わせて構成されていてよい。コントローラ6は、電子機器1の各機能部を制御するとともに、電子機器1の動作を統括的に制御して各種の機能を実現する。本実施形態におけるコントローラ6の動作の詳細は後述する。
本実施形態に係る電子機器1は、センサ情報8Cを撮像画像にオーバーレイさせた画像(オーバーレイ画像)を生成し、プレビュー画像としてディスプレイに表示する。また、本実施形態に係る電子機器1は、表示部3Aに表示されたオーバーレイ画像をストレージ8に記憶することができる。本実施形態に係る電子機器1は、撮像画像が撮像されたときに、撮像画像にセンサ情報8Cをオーバーレイさせる。さらに、本実施形態に係る電子機器1は、センサ情報8Cがオーバーレイされた画像を記憶する。したがって、本実施形態に係る電子機器1によれば、ユーザは、センサ情報8Cが所望の形(位置、大きさ等)でオーバーレイされた撮像画像を視認したうえで、撮像画像をリアルタイムで確実に記憶させることができる。
図2は電子機器1の外観図である。電子機器1は、例えば、スマートフォンとすることができるが、この限りではない。電子機器1は、例えばフィーチャーフォンタイプの携帯電話またはタブレット等としてよい。また、電子機器1は、例えば、デジタルカメラまたはアクションカメラなど、センサを搭載した撮像装置であってよい。
図2は、電子機器1のタッチスクリーンディスプレイ3が設けられた正面を示す。ハウジング2は、タッチスクリーンディスプレイ3等の電子機器1の部品を収納または固定して保護する、電子機器1の外郭である。図2に示すように、電子機器1の正面には撮像部5の一部(例えばインカメラ)が設けられる。ここで、電子機器1の正面には、撮像部5が設けられない構成であってよい。
図3は、電子機器1の正面とは反対側の面である背面を示す。図3に示すように、電子機器1の背面には撮像部5の一部(例えばアウトカメラ)が設けられる。
電子機器1は、例えば、図4に示すように、自転車100のハンドルに取り付けられた状態で用いられてよい。この場合、電子機器1は、撮像部5が、ユーザが所望する任意の方向、例えば自転車100の進行方向を撮像するように取り付けられる。また、電子機器1は、ユーザがタッチスクリーンディスプレイ3を視認することができるように取り付けられる。これにより、ユーザは、自転車100に乗りながら、撮像部5が撮像した撮像画像をリアルタイムで視認することができる。
また、電子機器1は、運動するユーザが所持する状態で用いられてよい。例えば、図5に示すように、ウォーキング中のユーザは、電子機器1を把持することで、電子機器1を使用することができる。ここで、ユーザは、電子機器1が取り付けられた補助装置を把持することで、電子機器1を使用することも可能である。電子機器1は、撮像部5がユーザの所望の方向を撮像するように把持される。例えば、図5に示すように、ユーザは、電子機器1の撮像部5がユーザの進行方向を撮像するように電子機器1を把持すれば、電子機器1のタッチスクリーンディスプレイ3を視認することができる。これにより、ユーザは、運動中に、撮像部5が撮像した撮像画像をリアルタイムで視認することができる。
ここで、上記のように、オーバーレイアプリケーションによってコントローラ6はオーバーレイ処理を行う。オーバーレイ処理によって、表示部3Aには、撮像部5が撮像した撮像画像にセンサ情報8Cがオーバーレイされたオーバーレイ画像が表示される。また、オーバーレイ処理によって、オーバーレイ画像はストレージ8に記憶される。撮像画像にオーバーレイされるセンサ情報8Cは、以下に説明する設定画面を用いてユーザによって選択され得る。
図6は設定画面を例示する図である。ユーザは、コントローラ6がオーバーレイ処理を開始する前に、図6の設定画面で撮像画像にオーバーレイされるセンサ情報8Cを選択する。図6の設定画面は、例えば電子機器1の初期画面(トップ画面)においてメニューから選択することによって表示され得る。
図6の設定画面は、電子機器1が使用される場面を選択させる。具体的には、ユーザがどのような運動をしているときに、電子機器1が使用されるかを選択させる。図6の設定画面で選択可能な運動は、「サーフィン・マリンスポーツ」、「登山」、「スキー・スノーボード」、「自転車」、「釣り」、「トレッキング」および「ウォーキング」である。ユーザは、いずれか1つの運動をラジオボタンへタッチすることによって選択する。選択された運動は、設定情報8Bの一つとしてストレージ8に記憶される。
図7は運動(用途)と撮像画像にオーバーレイされるセンサ情報8Cとの対応を例示する図である。図7のテーブルにおいて、各運動と各センサ情報8Cとが対応している場合に丸のマークが示されている。図7のテーブルは、設定情報8Bの一つとしてストレージ8に記憶される。
コントローラ6は、設定情報8Bからユーザによって選択された運動を読み出す。そして、コントローラ6は、設定情報8Bから図7に示されるテーブルを読み出して、選択された運動に対応するセンサ情報8Cを決定する。例えばユーザによって選択された運動がサーフィン・マリンスポーツである場合に、コントローラ6は、撮像画像にオーバーレイされるセンサ情報8Cを、速度情報、距離情報、重力加速度情報、風速情報および温度情報に決定する。つまり、コントローラ6は、速度情報、距離情報、重力加速度情報、風速情報および温度情報を撮像画像にオーバーレイしたオーバーレイ画像を表示する。また、コントローラ6は、ユーザから指示があった場合には、オーバーレイ画像の記憶を実行する。
運動と撮像画像にオーバーレイされるセンサ情報8Cとを対応させたテーブルに基づいて、ユーザが選択した運動に応じてセンサ情報8Cが自動的に決定される。そのため、ユーザは電子機器1が使用される場面(本実施形態ではユーザが行う運動)を選択するだけで、容易にセンサ情報8Cを決定することができる。
ここで、設定画面は、ラジオボタンの代わりにチェックボックスを用いてよい。このとき、ユーザは1つ以上の運動を選択することができる。このとき、コントローラ6は、選択された1つ以上の運動に対応する全てのセンサ情報8Cを撮像画像にオーバーレイする。
また、撮像画像にオーバーレイされるセンサ情報8Cは、上記のテーブルのセンサ情報8Cの項目(速度情報、距離情報、高度情報、重力加速度情報、気圧情報、移動経路情報、風速情報、方位情報、温度情報、サイズ情報および名称)に限定されなくてよい。コントローラ6は、ユーザによって選択された運動に関わらず、さらに現在日時情報を撮像画像にオーバーレイしてよい。また、コントローラ6は、ユーザによって選択された運動に関わらず、さらに位置情報を撮像画像にオーバーレイしてよい。また、コントローラ6は、ユーザによって選択された運動に関わらず、さらに、動画像であるオーバーレイ画像を記憶し始めてからの経過時間情報を撮像画像にオーバーレイしてよい。
ここで、図8は別の設定画面を例示する図である。別の例として、設定画面はユーザにセンサ情報8Cを個別に選択させるものであり得る。図8に示すように、設定画面には、各センサ情報8Cがチェックボックスと共に表示される。ユーザは、撮像画像にオーバーレイさせる1つ以上のセンサ情報8Cを、チェックボックスへタッチすることによって選択する。選択されたセンサ情報8Cは、設定情報8Bの一つとしてストレージ8に記憶される。コントローラ6は、設定情報8Bからユーザによって選択されたセンサ情報8Cを読み出す。そして、コントローラ6は、選択されたセンサ情報8Cをオーバーレイしたオーバーレイ画像を表示する。また、コントローラ6は、ユーザから指示があった場合には、オーバーレイ画像の記憶を実行する。
図8の設定画面が使用される場合、ユーザは撮像画像にオーバーレイさせるセンサ情報8Cを個別に設定可能である。そのため、ユーザは好みに合わせて、オーバーレイ画像をカスタマイズすることが可能になる。
ここで、更に別の例として、図6の設定画面(以下、第1の設定画面)と図8の設定画面(以下、第2の設定画面)が共に使用されてよい。ユーザは、例えば電子機器1の初期画面のメニューによって、第1の設定画面および第2の設定画面を順に表示させることが可能である。ユーザは、まず第1の設定画面で運動を選択する。選択された運動は、設定情報8Bの一つとしてストレージ8に記憶される。コントローラ6は、設定情報8Bからユーザによって選択された運動を読み出す。そして、コントローラ6は、設定情報8Bから図7に示されるテーブルを読み出して、選択された運動に対応するセンサ情報8Cを把握する。コントローラ6は、選択された運動に対応するセンサ情報8Cについて、第2の設定画面のチェックボックスがデフォルトで選択された状態であるように設定する。つまり、コントローラ6は、選択された運動に基づく第2の設定画面のチェックボックスの初期値を、設定情報8Bの一つとして記憶させる。そして、ユーザは第2の設定画面でチェックボックスをタッチすることによってセンサ情報8Cを選択または非選択する。つまり、ユーザは第2の設定画面でセンサ情報8Cを調整することができる。
例えば、ユーザは第1の設定画面でサーフィン・マリンスポーツを選択する。コントローラ6は、図7に示されるテーブルを読み出して、速度情報、距離情報、重力加速度情報、風速情報および温度情報を、第2の設定画面で最初から(デフォルトで)選択された状態に設定する。そして、コントローラ6は、ユーザの操作に従って、第2の設定画面を表示する。このとき、第2の設定画面では、速度情報、距離情報、重力加速度情報、風速情報および温度情報のチェックボックスが選択された状態になっている。ユーザは第2の設定画面で、センサ情報8Cの追加の選択および非選択(選択の解除)が可能である。一例として、ユーザが重力加速度情報、風速情報および温度情報を非選択にすると、速度情報および距離情報の選択だけが残る。このように、ユーザは、第1の設定画面で選択した運動に応じたセンサ情報8Cを、第2の設定画面で調整することができる。そのため、ユーザは、撮像画像にオーバーレイされるセンサ情報8Cを、容易にカスタマイズすることが可能である。
コントローラ6は、撮像画像にオーバーレイされるセンサ情報8Cが設定された後で、ユーザがオーバーレイ処理の開始を命令する所定の操作を行うと、オーバーレイ処理を実行する。ここで、所定の操作は、一例としてタッチスクリーンディスプレイ3に表示される所定のオブジェクトへのタッチである。
オーバーレイ処理の開始が命令されると、コントローラ6は、ストレージ8から撮像画像にオーバーレイされるセンサ情報8Cを取得する。そして、コントローラ6は、センサ情報8Cを撮像画像にオーバーレイしたオーバーレイ画像を生成する。コントローラ6は、生成されたオーバーレイ画像を表示部3Aに表示する。
図9は表示部3Aに表示されるオーバーレイ画像の例を示す。図9の例では、ユーザは自転車100に乗っている。また、電子機器1は、自転車100のハンドルに取り付けられた状態で用いられている。
コントローラ6は、撮像画像に、各種の情報(速度情報D1、距離情報D2、重力加速度情報D4、現在日時情報D5、温度情報D11および高度情報D12)をオーバーレイしたオーバーレイ画像を表示している。図9に示すように、撮像画像にオーバーレイされた各種の情報のそれぞれはセンサ情報8Cであり、数値情報を含み得る。また、撮像画像にオーバーレイされた各種の情報はセンサ情報8Cであり、テキスト情報を含み得る。テキスト情報は数値情報の具体的な内容を示す。
例えば、図9に示される重力加速度情報D4は、センサ情報8Cの1つである。重力加速度情報D4は、数値情報である「1.2(G)」を含む。また、重力加速度情報D4は、テキスト情報である「G−FORCE」を含む。重力加速度情報D4について、数値情報である「1.2(G)」は、時間とともに変化する。また、テキスト情報である「G−FORCE」は、「1.2(G)」が重力方向の加速度の値であることを示す。また、例えば、図9に示される温度情報D11も、センサ情報8Cの1つである。温度情報D11は、数値情報である「31(℃)」を含む。また、温度情報D11は、テキスト情報である「気温」を含む。また、テキスト情報である「気温」は、「31(℃)」が気温であることを示す。
コントローラ6は、各種の情報(速度情報D1、距離情報D2、重力加速度情報D4、現在日時情報D5、温度情報D11および高度情報D12)を、ユーザの運動を妨げないように適切な位置に配置してよい。図9の例では、ユーザは自転車100に乗っている。そのため、進行方向の道路を表示している表示部3Aの中央部分および中央部分の上方に各種の情報をオーバーレイすることは好ましくない。そこで、図9に示すように、撮像画像の下部または左右端近傍に各種の情報を表示することが好ましい。
また、オーバーレイ画像には、ユーザ操作のためのオブジェクトが表示される。例えば、コントローラ6は、静止画像記憶オブジェクトO1をタッチスクリーンディスプレイ3に表示させる。ユーザが静止画像記憶オブジェクトO1をタッチすることで、オーバーレイ画像は静止画像として記憶される。また、例えば、コントローラ6は、動画像記憶オブジェクトO2をタッチスクリーンディスプレイ3に表示させる。ユーザが動画像記憶オブジェクトO2をタッチすることで、オーバーレイ画像は動画像として記憶される。また、例えば、コントローラ6は、動画像の記憶が開始されると、終了オブジェクトO3をタッチスクリーンディスプレイ3に表示させる。ユーザが終了オブジェクトO3をタッチすることで、動画像の記憶が終了する。終了オブジェクトO3は、静止画像記憶オブジェクトO1および動画像記憶オブジェクトO2に代えて表示されてよい。
ここで、コントローラ6は、ストレージ8に画像情報8Dとして記憶されたオーバーレイ画像をタッチスクリーンディスプレイ3に表示(再生)し得る。ただし、ユーザ操作のためのオブジェクトは、撮像画像にオーバーレイされた各種の情報(例えば速度情報D1等)と異なり、ストレージ8に記憶されない。つまり、再生の場合に、例えば速度情報D1および距離情報D2等の情報は表示される。しかし、再生の場合に、オブジェクトは表示されない。ストレージ8に画像情報8Dとして記憶されたオーバーレイ画像は、外部の機器から取得されたものであってもよい。つまり、コントローラ6は、通信部4を介して外部の機器から取得したオーバーレイ画像をタッチスクリーンディスプレイ3に表示(再生)してもよい。
図10は表示部3Aに表示されるオーバーレイ画像の別の例を示す。図10は、図9の状態から時間が経過した後に表示されるオーバーレイ画像を示す。図10に示すように、時間が経過すると撮像画像にオーバーレイされる情報が変化(この例では増加)してよい。コントローラ6は、オーバーレイ画像(動画像)の記憶を開始してからの経過時間である経過時間情報D6を撮像画像にオーバーレイしてよい。また、コントローラ6は、オーバーレイ画像の記憶を開始してから得られた最高速度である最高速度情報D7を撮像画像にオーバーレイしてよい。また、コントローラ6は、オーバーレイ画像の記憶を開始してから得られた最大の重力方向の加速度である最大重力加速度情報D8を撮像画像にオーバーレイしてよい。また、コントローラ6は、位置情報に基づいて、実空間での位置の履歴(移動経路)を所定の領域Rに表示可能なように縮小したオブジェクトを含む移動経路情報D9を撮像画像にオーバーレイしてよい。
図11は表示部3Aに表示されるオーバーレイ画像の別の例を示す。図11の例では、ユーザはウォーキングをしている。図11は、ユーザのウォーキング中に撮像部5で撮像した周囲の撮像画像に情報がオーバーレイされたオーバーレイ画像を示す。図11のオーバーレイ画像は、所定の領域Rに表示された移動経路情報D9、温度情報D11および名称D14を含む。移動経路情報D9は、上記の通り、ユーザの実空間での移動経路を縮小したオブジェクトで示したものである。温度情報D11は、温度センサ7Fによって測定された電子機器1の周囲環境の温度を示す。また、名称D14は、撮像画像に含まれる特定の被写体の名前を示す。図11の例では、名称D14はビルAおよびビルBである。上述したように、オーバーレイ画像には、静止画像記憶オブジェクトO1および動画像記憶オブジェクトO2などのユーザ操作のためのオブジェクトが表示される。
ここで、図11の撮像画像が含む多くのビルのうち、名称D14が示される特定の被写体はビルAおよびビルBである。特定の被写体は、例えば次のように決定される。
通信部4は、コントローラ6の指示に従って、データベース11を外部から取得する。外部は例えば電子機器1とインターネット等のネットワークを介して接続される外部のサーバである。図13に示すように、データベース11は、有体物の名称情報110と、有体物の位置を示す位置情報である第1位置情報111と、有体物の特徴点に関する情報である第1特徴点情報112と、を含む。有体物は、物理的に空間の一部を占める有形の物である。有体物は例えばビル等の人工物を含む。また、有体物は例えば魚および山等の自然物を含む。データベース11の有体物は、特定の被写体と対応づけられる。したがって、特定の被写体は人工物を含む。また、特定の被写体は自然物を含む。ここで、別の例として、データベース11は通信部4によって外部から取得されるのではなく、ストレージ8に予め記憶されていてよい。
名称情報110は、複数の有体物の名称を含む。例えば、有体物がビルを含む場合に、ビルA、ビルB等の個々の名称を含み得る。また、例えば有体物が魚である場合に、ハマチ、サンマ等の種類の名称を含み得る。また、例えば有体物が山である場合に、X山、Y岳等の個々の名称を含み得る。名称情報110は、その地域で有名な建物、よく釣れる魚の種類および有名な山の名称だけを含んでよい。
第1位置情報111は、名称情報110に含まれる複数の有体物の位置の情報を含む。例えば、有体物がビルを含む場合に、ビルAの座標、ビルBの座標等の個々の位置(座標)を含み得る。また、例えば、有体物が魚を含む場合に、ハマチの生息域である水深100m程度の海の領域、サンマの生息域である北太平洋の領域等の分布の位置(座標範囲)を含み得る。また、例えば有体物が山である場合に、X山の座標、Y岳の座標等の個々の位置(座標)を含み得る。
第1特徴点情報112は、名称情報110に含まれる複数の有体物の特徴点に関する情報である。第1特徴点情報112は、例えば各天候での見え方、季節または時間(例えば朝、昼、夜等)による見え方、様々な角度(方向)からの見え方(形状)等を含む。本実施形態において、第1特徴点情報112は、名称情報110に含まれる複数の有体物のそれぞれについて、これらの特徴点を示す画像を含む。
コントローラ6は、撮像部5が撮像した撮像画像に基づいて、自機から撮像画像に含まれる特定の被写体までの距離を示す距離情報を取得する。図11の例では、タッチスクリーンディスプレイ3に多くのビルを含む撮像画像(プレビュー画像)が表示される。ユーザはビルAをタッチすることでビルAを特定の被写体に指定する。別の例として、ユーザはビルAが画面の中心部分に含まれるように電子機器1の向きを変更して、オートフォーカス機能によってビルAが特定の被写体であるとコントローラ6が判定できるようにしてよい。つまり、ユーザはタッチスクリーンディスプレイ3をタッチしなくても特定の被写体の設定が可能である。コントローラ6は、撮像部5が備える例えば赤外線レーザー等を用いる公知のフォーカス調整機能によって、特定の被写体までの距離を示す距離情報を取得する。例えば、撮像部5は、赤外線レーザーを照射して、特定の被写体で反射された赤外線レーザーを受光素子で受け取る。このとき、コントローラ6は、撮像部5から赤外線レーザーを受け取るまでの時間等を取得し、距離情報を演算で求め得る。また、コントローラ6は、撮像部5が演算した距離情報を取得し得る。
ここで、図12は、図11の例におけるビルAの位置Pa、ビルBの位置Pbおよび自機(電子機器1)の位置P0の関係の概要を示す上面図である。コントローラ6は、位置センサ7Bから自機の位置情報である第2位置情報を取得している。第2位置情報は例えば自機の位置P0の座標である。コントローラ6は、第2位置情報が示す位置P0から距離情報が示す距離までの第1範囲R0に含まれる第1位置情報111を特定することで、第1範囲R0に含まれる有体物を特定する。ここで、第2位置情報が示す位置P0から距離情報が示す距離は、図11の例でビルAの位置Paと自機の位置P0との直線距離に対応する。そして、自機の位置P0を中心に、位置Paと自機の位置P0との直線距離で円を描き、撮像画像の画角で区切った扇形の部分が第1範囲R0に対応する。このとき、コントローラ6は、方位センサ7Cが示す方位の情報を用いてよい。撮像方向と方位センサが示す方位とは略一致する蓋然性が高い。つまり、コントローラは、方位センサが示す方位の情報(撮像方向と略一致する方向)と撮像画像の画角の情報とに基づき、撮像画像の画角で区切った第1範囲R0を算出してもよい。コントローラ6は、撮像画像の画角とは関係なく、第1範囲R0を設定してもよい。例えば、コントローラ6は、方位センサが示す方位に対応するベクトルを基準として左右に所定の角度(例えば15°ずつ)幅を持たせた範囲を第1範囲R0としてもよい。コントローラ6は、データベース11の第1位置情報111のうち、第1範囲R0に含まれるものを特定する。例えば、図12の例では、位置Paだけでなく、ビルBの位置Pbが第1範囲R0に含まれる。しかし、自機の位置P0から離れたビルの位置Pcおよび撮像画像の画角の範囲に入らないビルの位置Pdは、第1範囲R0に含まれない。コントローラ6は、第1範囲R0に位置Paおよび位置Pbが含まれると判定して、名称情報110から対応する有体物(ビルAおよびビルB)を特定する。つまり、図11の例では、ビルAおよびビルBが特定の被写体となる。
そして、コントローラ6は、撮像部5が撮像した撮像画像に基づいて、特定の被写体の特徴点に関する情報である第2特徴点情報を含む画像認識情報を生成する。コントローラ6は、撮像画像の特定の被写体の特徴点を抽出し、必要なセンサ情報8Cを取得して、第2特徴点情報を生成する。ここで、第2特徴点情報は、第1特徴点情報112と対比可能であるように生成される。例えば、第2特徴点情報は、撮影時の天候、季節または時間での見え方、方位センサ7Cが検出した撮影の向きでの見え方(形状)を特定できる情報である。一例として、コントローラ6は、撮像画像の特定の被写体(図11の例ではビルAおよびビルB)の輪郭を抽出する。そして、コントローラ6は、抽出した輪郭の情報と、例えば撮像画像の撮影時の天気情報、撮像画像の向きの情報等を合わせて第2特徴点情報を生成する。
コントローラ6は、第2特徴点情報そのものを画像認識情報としてよい。また、コントローラ6は、本実施形態のように、第2特徴点情報に付加情報を加えて画像認識情報を生成してよい。例えば画像認識情報が含む付加情報は、撮像画像の全体に対して特定の有体物が占める比率情報であってよい。例えば比率情報は、オーバーレイ表示の内容を変化させ得る。例えばコントローラ6は、見易さのために、決められた閾値(例えば5%)を下回る比率情報を有する特定の被写体の名称を、撮像画像にオーバーレイ表示させなくてよい。また、例えば画像認識情報が含む付加情報は、撮像画像に含まれる範囲の三次元地図情報であってよい。三次元地図情報は、例えば特定の被写体だけでなく、撮像画像に含まれる固定物(例えば建物)および移動体(例えば自動車)の位置、高さおよび奥行き方向の前後関係を明確にするものである。例えば三次元地図情報は、オーバーレイ表示の内容を変化させ得る。コントローラ6は、三次元地図情報に基づいて、オーバーレイ画像内の特定の被写体の位置が移動したか否かを判定し、特定の被写体の位置が移動したと判定すると、撮像画像にオーバーレイ表示される名称の位置を変更し得る。例えば、コントローラ6は、オーバーレイ画像内の特定の被写体が移動体であって、その位置が移動したと判定した場合に、オーバーレイ画像内の名称の表示位置を、特定の被写体(移動体)に対する相対的な表示位置を変更することなく移動させてよい。つまり、コントローラ6は、三次元地図情報に基づいて、名称の表示が特定の被写体に追従して動くように、オーバーレイ画像を生成し得る。
コントローラ6は、画像認識情報と、データベース11と、位置センサ7Bが取得した自機の位置情報である上記の第2位置情報とに基づいて、撮像画像に含まれる特定の被写体の名称を特定し、名称を撮像画像にオーバーレイ表示したオーバーレイ画像をタッチスクリーンディスプレイ3に表示させる。ここで、コントローラ6は、第2位置情報を、上記のように第1範囲R0の特定に用いる。また、コントローラ6は、画像認識情報と、データベース11と、を詳細には以下のように用いる。
コントローラ6は、データベース11の第1特徴点情報112から、第1範囲R0に含まれる有体物が有する第1特徴点情報112を取得する。そして、コントローラ6は、取得した第1特徴点情報112の中から、画像認識情報が含む第2特徴点情報と一致するものを特定することで、特定の被写体を示す有体物を特定する。例えば、コントローラ6が取得する第1範囲R0に含まれる有体物が有する第1特徴点情報112は、ビルAおよびビルBの第1特徴点情報112だけでなく、その他の建物の第1特徴点情報112を含み得る。コントローラ6は、第2特徴点情報との比較によって、特定の被写体を特定する。ここで、本実施形態において、第2特徴点情報との比較は、ある角度(撮像の向き)における形状比較が用いられるが、これに限定されない。コントローラ6は、形状比較による一致または不一致の判定について公知の手法を使用し得る。
コントローラ6は、形状比較の結果で一致したものを特定の被写体を示す有体物と特定し、その名称を撮像画像にオーバーレイ表示したオーバーレイ画像をディスプレイに表示させる。図11の例では、このような形状比較の結果で一致した位置Paおよび位置Pbにある建物の名称D14(ビルAおよびビルB)が表示されている。図11に示すように、名称D14は特定の被写体の周辺にオーバーレイされてよい。コントローラ6は、形状比較の結果で一致するものがなかった場合、撮像画像に被写体の名称をオーバーレイ表示しなくてもよい。上記の実施形態によれば、ユーザは、撮像画像に表示された特定の被写体の名称を簡単に把握ことができる。また、上記のいくつかの実施形態によれば、電子機器1は、処理負担を軽減しつつ、高い確度で被写体の名称を特定することができる。また、上記のいくつかの実施形態によれば、特定の被写体の名称が表示されるか否かは適宜取捨選択されるため、被写体の名称を撮像画像にオーバーレイする際の利便性がより向上する。
図14は、本実施形態に係る電子機器1の特定の被写体の名称がオーバーレイされたオーバーレイ画像を表示する場合の制御方法を例示するフローチャートである。
コントローラ6は、撮像部5(カメラ)が起動されるまで待機する(ステップS1のNo)。
コントローラ6は、撮像部5(カメラ)が起動されると(ステップS1のYes)、データベース11を取得する(ステップS2)。
コントローラ6は、位置センサ7Bから自機の位置情報を取得する(ステップS3)。
コントローラ6は、ユーザによる特定の被写体を指示するためのタッチを検知するまで待機する(ステップS4のNo)。
コントローラ6は、タッチを検知すると(ステップS4のYes)、フォーカス調整のための処理(フォーカス処理)を実行する(ステップS5)。
コントローラ6は、上記のように、自機から撮像画像に含まれる特定の被写体までの距離を示す距離情報を取得する(ステップS6)。
コントローラ6は、データベース11の検索範囲を決定する(ステップS7)。つまり、コントローラ6は、上記の第1範囲R0を定めることによって、データベース11の検索の対象を第1範囲R0に含まれる有体物に限定する。
コントローラ6は、特定の被写体の特徴点に関する情報である第2特徴点情報を含む画像認識情報を生成する(ステップS8)。
コントローラ6は、上記のように、形状比較により特定の被写体の名称を特定する(ステップS9)。
コントローラ6は、例えば図11のように、名称D14を含むオーバーレイ画像をディスプレイに表示させる(ステップS10)。
上述したように、センサ情報8Cは、例えば、位置情報、移動経路情報、速度情報、距離情報、方位情報、重力加速度情報、気圧情報、高度情報、温度情報、サイズ情報および名称等である。ここで、各センサ情報は、2つ以上が組み合わせて撮像画像にオーバーレイ表示されることで、電子機器1の利便性がさらに向上し得る。以下に、本開示の電子機器1が、被写体の名称およびサイズ情報を他のセンサ情報と組合せて撮像画像にオーバーレイ表示する例について説明する。
図15は表示部3Aに表示される設定途中のオーバーレイ画像の例を示す。図15の例では、ユーザは釣りをしている。図15は、撮像部5で撮像したユーザが釣った魚の撮像画像に情報がオーバーレイされたオーバーレイ画像を示す。ただし、図15は、サイズ情報がまだオーバーレイされていない。図15のオーバーレイ画像は、温度情報D11、風速情報D13、気圧情報D16および位置情報D17を含む。ここで、位置情報D17は電子機器1の現在位置、すなわち、ユーザが釣りをしている位置を示す。風速情報D13は、通信部4が取得した、位置情報D17で示される位置における現在の風速を示す。また、気圧情報D16は、気圧センサ7Eによって検出された、位置情報D17で示される位置における現在の気圧を示す。
また、図15のオーバーレイ画像には、ユーザ操作のためのオブジェクトが表示される。図15の例では、静止画像記憶オブジェクトO1、動画像記憶オブジェクトO2およびフォーカスオブジェクトO4が表示されている。静止画像記憶オブジェクトO1および動画像記憶オブジェクトO2は、上記に説明したように、ストレージ8への記憶を実行させるためのオブジェクトである。つまり、ユーザが静止画像記憶オブジェクトO1をタッチすることで(第2操作の一例)、オーバーレイ画像は静止画像としてストレージ8に記憶される。また、ユーザが動画像記憶オブジェクトO2をタッチすることで(第3操作の一例)、オーバーレイ画像は動画像としてストレージ8に記憶される。ここで、動画像の記憶は、上記のように、動画像記憶オブジェクトO2に代わって表示される終了オブジェクトO3がタッチされること(第4操作の一例)で終了する。
フォーカスオブジェクトO4は、フォーカス処理を開始させるためのオブジェクトである。つまり、ユーザがフォーカスオブジェクトO4をタッチすることで、コントローラ6は、ユーザが続いてタッチする場所にあるオブジェクト(図15の例では魚)を特定の被写体としてピントを合わせる。ユーザは、例えば撮像画像における特定の被写体の一部であるポイントR1をタッチする。コントローラ6は、撮像部5が備える例えば赤外線レーザー等を用いる公知のフォーカス調整機能によって、特定の被写体までの距離を示す距離情報を取得する。その後に、ユーザはサイズを測定したい部分の両端を指定する。図15の例では、撮像画像における特定の被写体のポイントR2(図15の例では魚の頭)とポイントR3(図15の例では魚の尾)をタッチする。コントローラ6は、例えば三角測量と同様の手法でポイントR2とポイントR3との間の実際の長さを計算するサイズ情報の検出処理を開始する。例えば、コントローラ6は、撮像部5が有する撮像画像の画角の情報を取得可能である。また、コントローラ6は、入力部3BからポイントR2およびポイントR3のタッチスクリーンディスプレイ3における座標を取得可能である。コントローラ6は、これらの情報に基づいて、撮像位置と特定の被写体の一端(例えばポイントR2に対応する端)と他端(例えばポイントR3に対応する端)とが成す角度を計算できる。そして、コントローラ6は、フォーカス調整の際に取得した特定の被写体までの距離情報を用いて実際の長さを計算できる。このように計算された長さがサイズ情報である。
図16は、図15の後に表示部3Aに表示されるオーバーレイ画像の例を示す。コントローラ6は、上記のように、ユーザによってサイズを測定したい部分の両端を指定する操作(一定の撮像範囲が撮像された撮像画像内で測定範囲を規定する操作の一例)が行われると、サイズ情報を撮像画像にオーバーレイする。コントローラ6は、特定の被写体を含む撮像画像に、サイズ情報を示すオブジェクトをオーバーレイしたオーバーレイ画像を表示部3Aに表示する。図15の例では、オブジェクトはゲージD15である。ゲージD15は所定の幅を有する線分の画像を含む。また、ゲージD15は長さを示す数値および単位(cm)を含む。また、コントローラ6は、オーバーレイ画像に、オブジェクトとは異なる態様でサイズ情報をさらに表示してよい。図15の例で、オーバーレイ画像はサイズ情報である測定結果表示D18を含む。
このように、コントローラ6は、撮像部5が撮像した撮像画像に基づいて、撮像画像に含まれる特定の被写体に関するサイズ情報を測定し、サイズ情報(例えばゲージD15)およびセンサ7の検出結果に基づくセンサ情報8C(例えば位置情報D17)の双方を撮像画像にオーバーレイしたオーバーレイ画像を表示部3Aに表示する。また、コントローラ6は、撮像部5が撮像した撮像画像に基づいて、撮像画像に含まれる特定の被写体に関するサイズ情報を測定し、サイズ情報(例えばゲージD15)および通信部4が取得した情報(例えば温度情報D11、風速情報D13、気圧情報D16)の双方を撮像画像にオーバーレイしたオーバーレイ画像を表示部3Aに表示する。なお、上述したように、通信部4が取得した情報はセンサ情報8Cとして扱ってもよい。図15の例で、コントローラ6は、特定の被写体の全体に関するサイズ情報を測定し、特定の被写体の全体を含む撮像画像に、サイズ情報を示すオブジェクトをオーバーレイしたオーバーレイ画像を表示部3Aに表示する。ここで、コントローラ6は、特定の被写体の少なくとも一部分のサイズ情報を測定することができる。ユーザは、サイズを測定したい部分の両端を指定するが、特定の被写体の全体でなく、一部分を指定してよい。
また、コントローラ6は、撮像部5の動作に基づいてオーバーレイ画像を表示部3Aに表示させてよい。例えば、ユーザによってカメラを起動させる操作(例えばメインメニューでカメラのアイコンをタッチする操作、第1操作の一例)が行われると、コントローラ6は、オーバーレイ画像を表示部3Aに表示させてよい。そして、上記のように、コントローラ6は、オーバーレイ画像を表示部3Aに表示させた後に、ユーザによって静止画像記憶オブジェクトO1がタッチされると、ストレージ8にオーバーレイ画像を静止画として記憶する。
また、コントローラ6は、ユーザによってカメラを起動させる操作が行われると、センサ情報8C(例えば位置情報D17)を、所定の時間の間のみ撮像画像にオーバーレイしてよい。また、コントローラ6は、ユーザによってカメラを起動させる操作が行われると、サイズ情報に関連する画像(例えばゲージD15の所定の幅を有する線分の画像)を、所定の時間の間のみ撮像画像にオーバーレイしてよい。サイズ情報に関連する画像が表示されることにより、ユーザはサイズ情報を測定することが可能であることを認識できる。
また、コントローラ6は、上記のように、ユーザによってサイズを測定したい部分の両端を指定する操作が行われた後、ユーザによって静止画像記憶オブジェクトO1がタッチされると、ストレージ8にサイズ情報がオーバーレイされたオーバーレイ画像を静止画として記憶してもよい。つまり、コントローラ6は、ユーザによってサイズを測定したい部分の両端を指定する操作が行われた時点では、サイズ情報を撮像画像にオーバーレイせず、ユーザによって静止画像記憶オブジェクトO1がタッチされることにより、ストレージ8にオーバーレイ画像を静止画として記憶する際に、サイズ情報を撮像画像にオーバーレイしてもよい。
上記の実施形態において、特定の被写体は、同種の個体が複数存在するものであって、サイズに個体差があるものであってもよい。特定の被写体は、人工物であってもよいし、自然物であってもよい。特定の被写体は生物であってもよいし、無生物であってもよい。無生物である特定の被写体は、建造物および家具を含む。生物である特定の被写体は魚に限定されず、植物および動物を含む。
上記の実施形態によれば、ユーザは、撮像画像に表示された特定の被写体のサイズを簡単に把握ことができる。また、上記の実施形態によれば、例えばユーザは、どのような環境においてどの程度のサイズの生物を捕獲できるのか、またはどの程度のサイズの生物を発見できるのかなどを把握することができる。また、上記のいくつかの実施形態によれば、例えばユーザは、どのような環境においてどの程度のサイズの生物を捕獲したか、またはどの程度のサイズの生物に発見できたかなどを、撮像後にあらためて確認または回想することができる。被写体のサイズは、周囲環境と因果関係を有する可能性がある。例えば、不特定多数の場所のうち、特定の場所において大きなサイズの魚が釣れやすい可能性がある。また、気温、風速、または気圧は時間帯および時期によって変化するが、特定の気温、風速、または気圧下において大きなサイズの魚が釣れやすい可能性がある。よって例えば、ユーザは、どのような環境においてどの程度のサイズの生物が生息する蓋然性が高いのかを、記録するとともに学ぶことができる。このように、ユーザが釣った魚を撮像する場合、撮像画像に釣った魚のサイズまたは名称等が表示されることは有益となり得る。また、上記のいくつかの実施形態によれば、特定の被写体に関するサイズ情報をオーバーレイするに当たり、電子機器1の操作性が向上する。
図17は、本実施形態に係る電子機器1の特定の被写体のサイズ情報がオーバーレイされたオーバーレイ画像を表示する場合の制御方法を例示するフローチャートである。
コントローラ6は、撮像部5(カメラ)が起動されるまで待機する(ステップS101のNo)。
コントローラ6は、撮像部5(カメラ)が起動されると(ステップS101のYes)、ステップS102の処理に進む。
コントローラ6は、ユーザによる特定の被写体を指示するためのタッチを検知するまで待機する(ステップS102のNo)。
コントローラ6は、タッチを検知すると(ステップS102のYes)、フォーカス調整のための処理(フォーカス処理)を実行する(ステップS103)。上記の例では、入力部3BからユーザがフォーカスオブジェクトO4をタッチしたとの情報を取得することによって、コントローラ6はタッチを検知する。
コントローラ6は、上記のように、特定の被写体の少なくとも一部分のサイズ情報を測定する(ステップS104)。
コントローラ6は、例えば図16のように、ゲージD15および測定結果表示D18を含むオーバーレイ画像をディスプレイに表示させる(ステップS105)。
コントローラ6は、特定の被写体の名称およびサイズ情報をオーバーレイ画像に含めることができる。図18は表示部3Aに表示されるオーバーレイ画像の例を示す。図18の例では、ユーザはウォーキングをしている。図18のオーバーレイ画像は、図11と比較すると、さらにゲージD15および測定結果表示D18を含む。上記と同様の手法で、ユーザはビルAの底部および最上部を指定して、コントローラ6に長さ(すなわちビルAの高さ)を測定させている。図18の例では、ビルAの高さは55mである。このように、コントローラ6は、カメラが撮像した撮像画像に基づいて撮像画像に含まれる特定の被写体(ビルA)の少なくとも一部分に関するサイズ情報を測定し、サイズ情報および名称情報の双方を撮像画像にオーバーレイしたオーバーレイ画像を表示する。ここで、名称D14は通信部4が取得した有体物の名称情報110に基づいて特定される。よって、言い換えると、コントローラ6は、カメラが撮像した撮像画像に基づいて撮像画像に含まれる特定の被写体(ビルA)の少なくとも一部分に関するサイズ情報を測定し、サイズ情報および通信部4が取得した情報(名称D14)の双方を撮像画像にオーバーレイしたオーバーレイ画像を表示する。
図19は、表示部3Aに表示されるオーバーレイ画像の例を示す。図19の例では、ユーザは釣りをしている。図19のオーバーレイ画像は、図16と比較すると、さらに名称D14を含む。図19の例では、名称D14はユーザが釣った魚の種類である「ハマチ」である。コントローラ6は、オーバーレイ画像に特定の被写体に共通する情報(名称D14)および特定の被写体の個別の大きさの情報(ゲージD15および測定結果表示D18)の少なくとも1つを含める。コントローラ6は、特定の被写体に共通する情報を例えば以下のように特定する。まず、コントローラ6は、位置センサ7Bから自機の位置情報を取得する。また、コントローラ6は、特定の被写体が魚であることを公知の画像処理等によって判定する。コントローラ6は、自機の位置情報に近い海が第1位置情報111として示される生息域に含まれるか否かによって魚の種類の候補を選択する。そして、コントローラ6は、候補の魚の第1特徴点情報112と、撮像画像に含まれる魚の形状比較によって名称を特定する。図19に示すように、撮像画像には、撮像画像に含まれる特定の被写体の名称情報およびセンサ情報(通信部4が取得した情報)の双方がオーバーレイされてもよい。
上記のいくつかの実施形態によれば、名称情報およびサイズ情報の双方、または名称およびセンサ情報(通信部4が取得した情報)の双方が撮像画像にオーバーレイして記憶されるため、ユーザは、撮像画像とともに、名称だけでなくその他ユーザにとって必要な情報を、記憶後にあらためて確認または回想することができる。例えばユーザは、建設現場などにおいて、記録すべき建造物の画像、名称、および日付などの情報をまとめて記録し、後から確認することができる。
図20は、本実施形態に係る電子機器1の特定の被写体の名称およびサイズ情報がオーバーレイされたオーバーレイ画像を表示する場合の制御方法を例示するフローチャートである。
コントローラ6は、撮像部5(カメラ)が起動されるまで待機する(ステップS201のNo)。
コントローラ6は、撮像部5(カメラ)が起動されると(ステップS201のYes)、データベース11を取得する(ステップS202)。
コントローラ6は、位置センサ7Bから自機の位置情報を取得する(ステップS203)。
コントローラ6は、ユーザによる特定の被写体を指示するためのタッチを検知するまで待機する(ステップS204のNo)。
コントローラ6は、タッチを検知すると(ステップS204のYes)、フォーカス調整のための処理(フォーカス処理)を実行する(ステップS205)。
コントローラ6は、上記のように、自機から撮像画像に含まれる特定の被写体までの距離を示す距離情報を取得する(ステップS206)。
コントローラ6は、データベース11の検索範囲を決定する(ステップS207)。つまり、コントローラ6は、データベース11の検索の対象を自機の位置情報等に基づいて限定する。
コントローラ6は、特定の被写体の特徴点に関する情報である第2特徴点情報を含む画像認識情報を生成する(ステップS208)。
コントローラ6は、上記のように、形状比較により特定の被写体の名称を特定する(ステップS209)。
また、コントローラ6は、上記のように、特定の被写体の少なくとも一部分のサイズ情報を測定する(ステップS210)。
コントローラ6は、例えば図18または図19のように、名称D14、ゲージD15および測定結果表示D18を含むオーバーレイ画像をディスプレイに表示させる(ステップS211)。
以上のように、本実施形態に係る電子機器1は、上記のようなオーバーレイ画像をディスプレイに表示させて、情報の表示について、利便性を高めることができる。
続いて、図21に示すフローチャートを参照して、オーバーレイ画像が表示された後の処理の一例について説明する。
電子機器1は、オーバーレイ画像をディスプレイに表示する(ステップS1001)。
電子機器1は、静止画像記憶オブジェクトO1へのタッチを検出した場合に(ステップS1002のYes)、オーバーレイ静止画像を記憶する(ステップS1003)。
電子機器1は、静止画像記憶オブジェクトO1へのタッチを検出しない場合に(ステップS1002のNo)、ステップS1005の処理に進む。
電子機器1は、動画像記憶オブジェクトO2へのタッチを検出した場合に(ステップS1005のYes)、オーバーレイ動画像の記憶を開始する(ステップS1006)。
電子機器1は、動画像記憶オブジェクトO2へのタッチを検出しない場合に(ステップS1005のNo)、ステップS1004の処理に進む。
電子機器1は、オーバーレイ動画像の記憶を開始すると、終了オブジェクトO3へのタッチを検出するまで、オーバーレイ動画像を記憶しながら待機する(ステップS1007のNo)。
電子機器1は、終了オブジェクトO3へのタッチを検出した場合に(ステップS1007のYes)、オーバーレイ動画像の記憶を終了して(ステップS1008)、ステップS1004の処理に進む。
電子機器1は、オーバーレイ静止画像の記憶後に、動画像記憶オブジェクトO2へのタッチを検出しない場合に、または、オーバーレイ動画像の記憶の終了後に、終了操作を検出すると(ステップS1004のYes)、一連の処理を終了する。
電子機器1は、終了操作を検出しない場合に(ステップS1004のNo)、ステップS1001の処理に戻る。
本開示を図面および実施形態に基づき説明してきたが、当業者であれば本開示に基づき種々の変形および修正を行うことが容易であることに注意されたい。したがって、これらの変形および修正は本開示の範囲に含まれることに留意されたい。例えば、各手段または各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の手段またはステップなどを1つに組み合わせたり、或いは分割したりすることが可能である。
例えば、ユーザはオーバーレイ画像における名称D14の表示について、様々な指定を実行可能であってよい。例えば、ユーザは撮像画像で指定した有体物に名称D14がオーバーレイされないように指定してよい。例えば図18のように、ユーザが特定のビルを指定すると、その前に表示されていた「ビルB」の名称D14の一部がオーバーレイされないようになる。
また、ユーザの指定があった有体物についてだけ、名称D14がオーバーレイされてよい。つまり、コントローラ6は、撮像画像を表示部3Aに表示させ、撮像画像を表示部3Aに表示させた後に、少なくとも1つの特定の被写体を選択する操作を含む所定の操作が行われると、選択された特定の被写体の名称D14を撮像画像にオーバーレイ表示したオーバーレイ画像を表示部3Aに表示させてよい。このとき、ユーザはオーバーレイ画像に表示される名称D14を制御できるため、名称D14の表示が多すぎて見にくくなることを防止できる。コントローラ6は、形状比較の結果で一致するものがなかった場合、その旨を通知してもよい。例えば、コントローラ6は、形状比較の結果で一致するものがなかった場合、その旨を示すテキストまたはオブジェクトを撮像画像にオーバーレイ表示したオーバーレイ画像をディスプレイに表示させる。形状比較の結果で一致するものがなかったことを示すオブジェクトは、撮像画像に所定時間オーバーレイされた後、表示されなくなってもよい。形状比較の結果で一致するものがなかったことを示すテキストは、例えば、「名称不明」というテキストである。形状比較の結果で一致するものがなかったことを示すオブジェクトは、例えば「?」というオブジェクトである。このとき、ユーザは、撮像画像に名称がオーバーレイされない際に、その原因が、オーバーレイ処理が実行されていないためなのか、オーバーレイ処理は実行されたものの被写体の名称を特定することが不可能であるためかを判別することができる。
また、別の例として、次のような手法によって、ユーザの指定があった有体物についてだけ、名称D14がオーバーレイされてよい。コントローラ6は、図11の例のように、撮像画像に含まれる複数の特定の被写体の名称を特定すると、複数の特定の被写体を撮像画像にオーバーレイ表示した第1オーバーレイ画像をディスプレイに表示する。コントローラ6は、第1オーバーレイ画像を表示させた後に、ユーザによって少なくとも1つの特定の被写体を選択する操作を含む所定の操作が行われると、選択された特定の被写体の名称を非表示にした第2オーバーレイ画像をディスプレイに表示させる。ここで、所定の操作で選択された特定の被写体の情報は、入力部3Bによって検出されてコントローラ6に出力される。そして、コントローラ6は選択された特定の被写体の名称を非表示にする。
また、図15の例において、ユーザがフォーカスオブジェクトO4とポイントR1とをタッチした後に、フォーカスオブジェクトO4がオーバーレイ画像から消えてモードが切り替わったことをユーザに知らせてよい。つまり、コントローラ6は、撮像画像が表示されている間、所定の操作(例えばフォーカスオブジェクトO4へのタッチ)が行われると、フォーカス処理が可能な第1モードとサイズ情報の検出処理の開始が可能な第2モードとを切り替えてよい。
また、図12の例では、第1位置情報111に含まれる位置を有する有体物(ビルAおよびビルB)が、第1範囲R0に存在した。しかし、上述したように、コントローラ6が撮像画像の画角とは関係なく第1範囲R0を設定した場合、撮像画像の画角に合わせて第1範囲R0を設定した場合に比べて、第1範囲にそのような有体物が存在しない蓋然性が高まる。ここで、第1範囲R0にそのような有体物が存在しない場合に、コントローラ6は次のような処理をしてよい。第1範囲R0に含まれる有体物が存在しない場合、コントローラ6は、方位にかかわらず、第2位置情報(自機の位置P0)が示す位置から距離情報が示す距離までの第2範囲に含まれる第1位置情報111を特定する。つまり、コントローラ6は、自機の位置P0を中心に円を描いて、その円に含まれる領域(第2範囲)に含まれる有体物を特定する。第2範囲の一部が第1範囲R0に対応する。コントローラ6は、第2範囲に含まれる有体物が有する第1特徴点情報112の中から、第2特徴点情報と一致する第1特徴点情報112を特定することで、特定の被写体を示す有体物を特定する。そして、コントローラ6は、特定の被写体を示す有体物を表す名称を、撮像画像にオーバーレイ表示したオーバーレイ画像をディスプレイに表示させる。ここで、コントローラ6は、第1範囲R0に有体物が全く存在しない場合だけでなく、形状比較の処理において第2特徴点情報と一致する第1特徴点情報112が存在しない場合に(形状比較の処理で少なくとも1つの名称が不明である場合に)、このような処理を実行してよい。
いくつかの実施形態において、ユーザに新たな操作を求める場合等に、コントローラ6はユーザに操作を促すガイド表示をオーバーレイ画像に含めてよい。例えば、図15の例において、ユーザがフォーカスオブジェクトO4をタッチした後に、特定の被写体へのタップを促すように「タップした位置にフォーカスします」との表示を行ってよい。また、例えば、図15の例において、ユーザが特定の被写体である魚にタッチした後に、測定する長さの指定を促すように「魚の端と端をタップしてください」との表示を行ってよい。ユーザに次の操作を促す表示を実行することによって、電子機器1の利便性が更に向上する。
他の実施形態において、コントローラ6は、オーバーレイ画像を生成した後、オーバーレイ画像を表示部3Aに表示することなく、オーバーレイ画像をストレージ8に記憶してよい。言い換えると、コントローラ6は、オーバーレイ画像を生成しても、表示部3Aにはオーバーレイ処理がなされていない撮像画像を表示しつつ、オーバーレイ画像をストレージ8に記憶してよい。
電子機器1が備える機能は、複数の装置によって実現されてよい。例えば、電子機器1が備える機能は、少なくとも撮像部5を含む第1装置と、少なくとも表示部3Aを備える第2装置とによって実現されてよい。このとき、第1装置と第2装置とは、無線または有線で接続される。第1装置は、少なくとも撮像部5が撮像した撮像画像を、無線または有線で第2装置に送信する。撮像画像のオーバーレイ処理は、第1装置が行ってよいし、第2装置が行ってよい。第1装置がオーバーレイ処理を実行する場合、第1装置は、オーバーレイ画像を、無線または有線で第2装置に送信する。第2装置は、受信したオーバーレイ画像を表示部3Aに表示する。第2装置がオーバーレイ処理を実行する場合、第1装置は、オーバーレイ処理がなされていない撮像画像およびセンサ情報8Cを、無線または有線で第2装置に送信する。第2装置は、受信した撮像画像に対してオーバーレイ処理を実行し、表示部3Aにオーバーレイ画像を表示する。第1装置および第2装置は、例えば、アクションカメラおよびスマートフォン、アクションカメラおよびウェアラブルデバイスなどであるが、これらに限定されない。
1 電子機器
2 ハウジング
3 タッチスクリーンディスプレイ
3A 表示部
3B 入力部
4 通信部
5 撮像部
6 コントローラ
7 センサ
7B 位置センサ
7C 方位センサ
7D 加速度センサ
7E 気圧センサ
7F 温度センサ
8 ストレージ
8A プログラム
8B 設定情報
8C センサ情報
8D 画像情報
11 データベース
100 自転車
110 名称情報
111 第1位置情報
112 第1特徴点情報

Claims (1)

  1. カメラと、位置センサと、ディスプレイと、通信部と、コントローラとを備え、
    前記通信部は、有体物の名称情報と、当該有体物の位置を示す位置情報である第1位置情報と、当該有体物の特徴点に関する情報である第1特徴点情報とを含むデータベースを外部から取得し、
    前記コントローラは、
    前記カメラが撮像した撮像画像に基づいて、自機から前記撮像画像に含まれる特定の被写体までの距離を示す距離情報と、前記特定の被写体の特徴点に関する情報である第2特徴点情報と、前記撮像画像の全体に対して前記特定の有体物が占める比率情報を含む画像認識情報を生成し、
    当該画像認識情報と、前記データベースと、前記位置センサが取得した自機の位置情報である第2位置情報とに基づいて、前記撮像画像に含まれる前記特定の被写体の名称を特定し、
    前記名称を前記撮像画像にオーバーレイ表示したオーバーレイ画像を前記ディスプレイに表示させ
    決められた閾値を下回る比率情報を有する前記特定の被写体の前記名称は、前記撮像画像にオーバーレイ表示させない
    電子機器。
JP2018210915A 2018-11-08 2018-11-08 電子機器、制御方法およびプログラム Active JP6655696B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018210915A JP6655696B2 (ja) 2018-11-08 2018-11-08 電子機器、制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018210915A JP6655696B2 (ja) 2018-11-08 2018-11-08 電子機器、制御方法およびプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018032149A Division JP6434666B1 (ja) 2018-02-26 2018-02-26 電子機器、制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2019149791A JP2019149791A (ja) 2019-09-05
JP6655696B2 true JP6655696B2 (ja) 2020-02-26

Family

ID=67850902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018210915A Active JP6655696B2 (ja) 2018-11-08 2018-11-08 電子機器、制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6655696B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178804A (ja) * 2004-12-24 2006-07-06 Hitachi Eng Co Ltd 被写体オブジェクト情報提供方法および被写体オブジェクト情報提供サーバ
JP2007323382A (ja) * 2006-06-01 2007-12-13 Seiko Epson Corp 画像認識装置、画像認識方法、画像認識プログラム、及び記録媒体
JP5685390B2 (ja) * 2010-05-14 2015-03-18 株式会社Nttドコモ 物体認識装置、物体認識システムおよび物体認識方法
JP2013073309A (ja) * 2011-09-27 2013-04-22 Nec Casio Mobile Communications Ltd 画像注目領域抽出方法、並びに当該方法を実現する電子機器、システム、及びプログラム
JP2013165413A (ja) * 2012-02-13 2013-08-22 Nikon Corp 画像表示装置
JP5914714B2 (ja) * 2015-02-12 2016-05-11 オリンパス株式会社 撮影機器および撮影方法
WO2016157406A1 (ja) * 2015-03-31 2016-10-06 日立マクセル株式会社 画像取得装置および画像ファイル生成方法ならびに画像ファイル生成プログラム

Also Published As

Publication number Publication date
JP2019149791A (ja) 2019-09-05

Similar Documents

Publication Publication Date Title
JP6434666B1 (ja) 電子機器、制御方法およびプログラム
US10057485B2 (en) Imaging apparatus and methods for generating a guide display using imaging height posture information
KR101977703B1 (ko) 단말의 촬영 제어 방법 및 그 단말
US9836886B2 (en) Client terminal and server to determine an overhead view image
EP3734953A1 (en) Portable information acquisition system
JP2013186691A (ja) 画像処理装置及び画像処理方法並びにプログラム
US9635234B2 (en) Server, client terminal, system, and program
WO2015159775A1 (ja) 画像処理装置、通信システム及び通信方法並びに撮像装置
JP6987662B2 (ja) 電子機器、制御方法およびプログラム
JP5387723B2 (ja) 画像表示装置、及び画像表示方法、画像表示プログラム
JP6598897B2 (ja) 電子機器、制御方法およびプログラム
JP2012019374A (ja) 電子アルバム作成サーバー、情報処理装置、電子アルバム作成システム、及び、電子アルバム作成サーバーの制御方法
JP6655696B2 (ja) 電子機器、制御方法およびプログラム
JP2013021473A (ja) 情報処理装置、情報取得方法およびコンピュータプログラム
US10459315B2 (en) Electronic apparatus for displaying overlay images
JP2019148580A (ja) 電子機器、制御方法およびプログラム
JP4403336B2 (ja) 電子地図表示装置、ナビゲーション装置、記憶媒体、および電子地図表示方法
JP5432000B2 (ja) 情報提示システム及びプログラム
JP2009284123A (ja) 画像表示装置、及び画像表示方法、画像表示プログラム
JP2019016952A (ja) 情報処理装置及びプログラム
JP6346701B1 (ja) 電子機器、オーバーレイ方法、及びオーバーレイ用プログラム
JP6196746B1 (ja) 電子機器、オーバーレイ方法、及びオーバーレイ用プログラム
JP6243081B1 (ja) 電子機器、オーバーレイ方法、及びオーバーレイ用プログラム
JP2012227717A (ja) 表示装置、表示プログラムおよび表示方法
JP2015204037A (ja) 画像処理装置、通信システム及び通信方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200203

R150 Certificate of patent or registration of utility model

Ref document number: 6655696

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150